From bc5fcb630aa4434bf2c89f10863aeb2c1a09180b Mon Sep 17 00:00:00 2001 From: James Krieger Date: Thu, 22 Aug 2024 20:17:22 +0200 Subject: [PATCH 01/95] better insty tests --- prody/tests/proteins/test_insty.py | 109 +++++++++++++++++------------ 1 file changed, 63 insertions(+), 46 deletions(-) diff --git a/prody/tests/proteins/test_insty.py b/prody/tests/proteins/test_insty.py index 0fd6a47ac..1a2dfa46b 100644 --- a/prody/tests/proteins/test_insty.py +++ b/prody/tests/proteins/test_insty.py @@ -29,44 +29,37 @@ def setUp(self): self.HPH_INTERACTIONS = parseDatafile('2k39_hph') self.HPH_INTERACTIONS2 = parseDatafile('2k39_hph2') self.DISU_INTERACTIONS = parseDatafile('2k39_disu') - - self.INTERACTIONS_ALL = InteractionsTrajectory() - self.data_all = self.INTERACTIONS_ALL.calcProteinInteractionsTrajectory(self.ATOMS) - np.save('test_2k39_all.npy', self.data_all, allow_pickle=True) - - self.data_hbs = calcHydrogenBondsTrajectory(self.ATOMS) - np.save('test_2k39_hbs.npy', np.array(self.data_hbs, dtype=object), allow_pickle=True) - - self.data_sbs = calcSaltBridgesTrajectory(self.ATOMS) - np.save('test_2k39_sbs.npy', np.array(self.data_sbs, dtype=object), allow_pickle=True) - - self.data_rib = calcRepulsiveIonicBondingTrajectory(self.ATOMS) - np.save('test_2k39_rib.npy', np.array(self.data_rib, dtype=object), allow_pickle=True) - - self.data_PiStack = calcPiStackingTrajectory(self.ATOMS) - np.save('test_2k39_PiStack.npy', np.array(self.data_PiStack, dtype=object), allow_pickle=True) - self.data_PiCat = calcPiCationTrajectory(self.ATOMS) - np.save('test_2k39_PiCat.npy', np.array(self.data_PiCat, dtype=object), allow_pickle=True) + def testAllInteractionsCalc(self): + """Test for calculating all types of interactions.""" - self.data_hph = calcHydrophobicTrajectory(self.ATOMS) - np.save('test_2k39_hph.npy', np.array(self.data_hph, dtype=object), allow_pickle=True) + if prody.PY3K: + self.INTERACTIONS_ALL = InteractionsTrajectory() + self.data_all = self.INTERACTIONS_ALL.calcProteinInteractionsTrajectory(self.ATOMS) - self.data_disu = calcDisulfideBondsTrajectory(self.ATOMS) - np.save('test_2k39_disu.npy', np.array(self.data_disu, dtype=object), allow_pickle=True) + try: + assert_equal(self.data_all, self.ALL_INTERACTIONS2, + 'failed to get correct interactions without hpb.so from calculation') + except AssertionError: + assert_equal(self.data_all, self.ALL_INTERACTIONS, + 'failed to get correct interactions with hpb.so from calculation') + + def testAllInteractionsSave(self): + """Test for saving and loading all types of interactions.""" + if prody.PY3K: + self.INTERACTIONS_ALL = InteractionsTrajectory() + self.data_all = self.INTERACTIONS_ALL.calcProteinInteractionsTrajectory(self.ATOMS) - def testAllInsteractions(self): - """Test for all types of interactions.""" + np.save('test_2k39_all.npy', np.array(self.data_all, dtype=object), allow_pickle=True) - if prody.PY3K: data_test = np.load('test_2k39_all.npy', allow_pickle=True) try: assert_equal(data_test, self.ALL_INTERACTIONS2, - 'failed to get correct interactions without hpb.so') - except: + 'failed to get correct interactions without hpb.so from saving and loading') + except AssertionError: assert_equal(data_test, self.ALL_INTERACTIONS, - 'failed to get correct interactions with hpb.so') + 'failed to get correct interactions with hpb.so from saving and loading') def testHydrogenBonds(self): """Test for hydrogen bonds. @@ -74,23 +67,37 @@ def testHydrogenBonds(self): order can be also different in the interactions""" if prody.PY3K: - data_test = np.load('test_2k39_hbs.npy', allow_pickle=True) + data_test = calcHydrogenBondsTrajectory(self.ATOMS) assert_equal(sorted([i[-1][-1] for i in data_test]), sorted([i[-1][-1] for i in self.HBS_INTERACTIONS]), 'failed to get correct hydrogen bonds') - def testSaltBridges(self): - """Test for salt bridges.""" + def testSaltBridgesCalc(self): + """Test for salt bridges without saving and loading.""" if prody.PY3K: + self.data_sbs = calcSaltBridgesTrajectory(self.ATOMS) + assert_equal(sorted([i[-1][-1] for i in self.data_sbs]), sorted([i[-1][-1] for i in self.SBS_INTERACTIONS]), + 'failed to get correct salt bridges') + + + def testSaltBridgesSave(self): + """Test for salt bridges with saving and loading (one type with results).""" + + if prody.PY3K: + self.data_sbs = calcSaltBridgesTrajectory(self.ATOMS) + + np.save('test_2k39_sbs.npy', np.array(self.data_sbs, dtype=object), allow_pickle=True) + data_test = np.load('test_2k39_sbs.npy', allow_pickle=True) - assert_equal(sorted([i[-1][-1] for i in data_test]), sorted([i[-1][-1] for i in self.SBS_INTERACTIONS]), - 'failed to get correct salt bridges') + assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.SBS_INTERACTIONS if i]), + 'failed to get correct salt bridges from saving and loading') + def testRepulsiveIonicBonding(self): """Test for repulsive ionic bonding.""" if prody.PY3K: - data_test = np.load('test_2k39_rib.npy', allow_pickle=True) + data_test = calcRepulsiveIonicBondingTrajectory(self.ATOMS) assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.RIB_INTERACTIONS if i]), 'failed to get correct repulsive ionic bonding') @@ -98,7 +105,7 @@ def testPiStacking(self): """Test for pi-stacking interactions.""" if prody.PY3K: - data_test = np.load('test_2k39_PiStack.npy', allow_pickle=True) + data_test = calcPiStackingTrajectory(self.ATOMS) assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.PISTACK_INTERACTIONS if i]), 'failed to get correct pi-stacking interactions') @@ -106,7 +113,7 @@ def testPiCation(self): """Test for pi-stacking interactions.""" if prody.PY3K: - data_test = np.load('test_2k39_PiCat.npy', allow_pickle=True) + data_test = calcPiCationTrajectory(self.ATOMS) assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.PICAT_INTERACTIONS if i]), 'failed to get correct pi-cation interactions') @@ -115,21 +122,31 @@ def testHydrophobicInteractions(self): """Test for hydrophobic interactions.""" if prody.PY3K: - data_test = np.load('test_2k39_hph.npy', allow_pickle=True) + data_test = calcHydrophobicTrajectory(self.ATOMS) try: assert_equal(sorted([i[-1][-1] for i in data_test]), sorted([i[-1][-1] for i in self.HPH_INTERACTIONS2]), 'failed to get correct hydrophobic interactions without hpb.so') - except: + except AssertionError: assert_equal(sorted([i[-1][-1] for i in data_test]), sorted([i[-1][-1] for i in self.HPH_INTERACTIONS]), 'failed to get correct hydrophobic interactions with hpb.so') - def testDisulfideBonds(self): - """Test for disulfide bonds interactions.""" - - if prody.PY3K: - data_test = np.load('test_2k39_disu.npy', allow_pickle=True) - assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if i]), - 'failed to get correct disulfide bonds') + def testDisulfideBondsCalc(self): + """Test for disulfide bonds interactions without saving and loading.""" + if prody.PY3K: + data_test = calcDisulfideBondsTrajectory(self.ATOMS) + assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if i]), + 'failed to get correct disulfide bonds from calculation') - + def testDisulfideBondsSave(self): + """Test for disulfide bonds interactions with saving and loading (one type of interactions with 0).""" + if prody.PY3K: + data_test = calcDisulfideBondsTrajectory(self.ATOMS) + assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if i]), + 'failed to get correct disulfide bonds from calculation') + + np.save('test_2k39_disu.npy', np.array(data_test, dtype=object), allow_pickle=True) + + data_test = np.load('test_2k39_disu.npy', allow_pickle=True) + assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if i]), + 'failed to get correct disulfide bonds from saving and loading') From f8cca17a7832e8ed93ad502025e7aa64b0a3fa37 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Thu, 22 Aug 2024 20:24:17 +0200 Subject: [PATCH 02/95] remove insty test outputs --- prody/tests/proteins/test_insty.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/prody/tests/proteins/test_insty.py b/prody/tests/proteins/test_insty.py index 1a2dfa46b..5e518badf 100644 --- a/prody/tests/proteins/test_insty.py +++ b/prody/tests/proteins/test_insty.py @@ -150,3 +150,10 @@ def testDisulfideBondsSave(self): data_test = np.load('test_2k39_disu.npy', allow_pickle=True) assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if i]), 'failed to get correct disulfide bonds from saving and loading') + + @classmethod + def tearDownClass(cls): + if prody.PY3K: + import os + for filename in ['test_2k39_all.npy', 'test_2k39_sbs.npy', 'test_2k39_disu.npy']: + os.remove(filename) From 0c6e55e2cb9b99ba7c16612223d887dd84063bd0 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Mon, 30 Sep 2024 15:44:07 +0200 Subject: [PATCH 03/95] update getDataPath to importlib --- prody/utilities/misctools.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/prody/utilities/misctools.py b/prody/utilities/misctools.py index 5dd0c92fc..af7446802 100644 --- a/prody/utilities/misctools.py +++ b/prody/utilities/misctools.py @@ -422,8 +422,9 @@ def pystr(a): return b def getDataPath(filename): - import pkg_resources - return pkg_resources.resource_filename('prody.utilities', 'datafiles/%s'%filename) + import importlib + path = importlib.util.find_spec('prody.utilities.datafiles').submodule_search_locations[0] + return '%s/%s' %(path, filename) def openData(filename, mode='r'): return open(getDataPath(filename), mode) From e0edf04be3ea9db97f88a94a91a7faa5632fee17 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Mon, 30 Sep 2024 15:50:48 +0200 Subject: [PATCH 04/95] more stable test for non empty lists --- prody/tests/proteins/test_insty.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/prody/tests/proteins/test_insty.py b/prody/tests/proteins/test_insty.py index d637fab73..305f69fa6 100644 --- a/prody/tests/proteins/test_insty.py +++ b/prody/tests/proteins/test_insty.py @@ -1,7 +1,6 @@ """This module contains unit tests for :mod:`~prody.proteins.interactions`.""" import numpy as np -from numpy import arange from prody import * from prody.tests import unittest from prody.tests.datafiles import * @@ -91,7 +90,7 @@ def testSaltBridgesSave(self): np.save('test_2k39_sbs.npy', np.array(self.data_sbs, dtype=object), allow_pickle=True) data_test = np.load('test_2k39_sbs.npy', allow_pickle=True) - assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.SBS_INTERACTIONS if i]), + assert_equal(sorted([i[-1][-1] for i in data_test if len(i) > 0]), sorted([i[-1][-1] for i in self.SBS_INTERACTIONS if len(i) > 0]), 'failed to get correct salt bridges from saving and loading') @@ -100,7 +99,7 @@ def testRepulsiveIonicBonding(self): if prody.PY3K: data_test = calcRepulsiveIonicBondingTrajectory(self.ATOMS) - assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.RIB_INTERACTIONS if i]), + assert_equal(sorted([i[-1][-1] for i in data_test if len(i) > 0]), sorted([i[-1][-1] for i in self.RIB_INTERACTIONS if len(i) > 0]), 'failed to get correct repulsive ionic bonding') def testPiStacking(self): @@ -108,7 +107,7 @@ def testPiStacking(self): if prody.PY3K: data_test = calcPiStackingTrajectory(self.ATOMS) - assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.PISTACK_INTERACTIONS if i]), + assert_equal(sorted([i[-1][-1] for i in data_test if len(i) > 0]), sorted([i[-1][-1] for i in self.PISTACK_INTERACTIONS if len(i) > 0]), 'failed to get correct pi-stacking interactions') def testPiCation(self): @@ -116,7 +115,7 @@ def testPiCation(self): if prody.PY3K: data_test = calcPiCationTrajectory(self.ATOMS) - assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.PICAT_INTERACTIONS if i]), + assert_equal(sorted([i[-1][-1] for i in data_test if len(i) > 0]), sorted([i[-1][-1] for i in self.PICAT_INTERACTIONS if len(i) > 0]), 'failed to get correct pi-cation interactions') @@ -137,20 +136,20 @@ def testDisulfideBondsCalc(self): """Test for disulfide bonds interactions without saving and loading.""" if prody.PY3K: data_test = calcDisulfideBondsTrajectory(self.ATOMS) - assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if i]), + assert_equal(sorted([i[-1][-1] for i in data_test if len(i) > 0]), sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if len(i) > 0]), 'failed to get correct disulfide bonds from calculation') def testDisulfideBondsSave(self): """Test for disulfide bonds interactions with saving and loading (one type of interactions with 0).""" if prody.PY3K: data_test = calcDisulfideBondsTrajectory(self.ATOMS) - assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if i]), + assert_equal(sorted([i[-1][-1] for i in data_test if len(i) > 0]), sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if len(i) > 0]), 'failed to get correct disulfide bonds from calculation') np.save('test_2k39_disu.npy', np.array(data_test, dtype=object), allow_pickle=True) data_test = np.load('test_2k39_disu.npy', allow_pickle=True) - assert_equal(sorted([i[-1][-1] for i in data_test if i]), sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if i]), + assert_equal(sorted([i[-1][-1] for i in data_test if len(i) > 0]), sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if len(i) > 0]), 'failed to get correct disulfide bonds from saving and loading') def testImportHpb(self): From c674ed493c5c783dd229734ec647943e26bbdc16 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Mon, 30 Sep 2024 15:52:41 +0200 Subject: [PATCH 05/95] keep python 2 getDataPath --- prody/utilities/misctools.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/prody/utilities/misctools.py b/prody/utilities/misctools.py index af7446802..63a006c85 100644 --- a/prody/utilities/misctools.py +++ b/prody/utilities/misctools.py @@ -422,9 +422,12 @@ def pystr(a): return b def getDataPath(filename): - import importlib - path = importlib.util.find_spec('prody.utilities.datafiles').submodule_search_locations[0] - return '%s/%s' %(path, filename) + if PY3K: + import importlib + path = importlib.util.find_spec('prody.utilities.datafiles').submodule_search_locations[0] + return '%s/%s' %(path, filename) + import pkg_resources + return pkg_resources.resource_filename('prody.utilities', 'datafiles/%s'%filename) def openData(filename, mode='r'): return open(getDataPath(filename), mode) From f4ac2086159af3422cabee13a4bb315ddfd774a9 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Mon, 30 Sep 2024 16:14:29 +0200 Subject: [PATCH 06/95] add 3o21 disu test --- prody/tests/datafiles/3o21_disu.npy | Bin 0 -> 1028 bytes prody/tests/datafiles/__init__.py | 5 ++- prody/tests/proteins/test_insty.py | 49 ++++++++++++++++++++-------- 3 files changed, 40 insertions(+), 14 deletions(-) create mode 100644 prody/tests/datafiles/3o21_disu.npy diff --git a/prody/tests/datafiles/3o21_disu.npy b/prody/tests/datafiles/3o21_disu.npy new file mode 100644 index 0000000000000000000000000000000000000000..3f132d62e88f0a2661a9edbcd11e2ee3fb26296e GIT binary patch literal 1028 zcmbV}T~E_c0ERop$Ee?;h@VUpH*^lRwW9-cgCSMQHaKHiVhriFnwgAkZ&yqRm>7vg zu8p@Q-Wc!v3nX59qsCu=f500r^&DoClO^7GE}EW?JkN95*V#g5am6D%6*dE9vstnN z6aK(fE)enu9@j0~GHR=Jt8B96IiuP%>3XwbG)y`VN+G{867oOu|Nju5drP(TwZ=xc zRJY9V+IrP~Vpx{3A+B0xsa|W^)_TbnA+%13wQ_409!+?Oj(qP> zy8j+6+Zzp2M33Gf2trPQZ}-&>dI`j!=G8rPZ3~C8+3fspIu0IM(#GN9?jsxt>Rog{ zy^@c|a8&Q1?|F4KE+xir>>stwl2J7*5yvYnUm=1M%y*KY&-G2=6!p`UvW4ZRrt1EAmzLjV8( literal 0 HcmV?d00001 diff --git a/prody/tests/datafiles/__init__.py b/prody/tests/datafiles/__init__.py index 54f7c00de..8de8f0955 100644 --- a/prody/tests/datafiles/__init__.py +++ b/prody/tests/datafiles/__init__.py @@ -358,7 +358,10 @@ }, '2k39_disu': { 'file': '2k39_disu.npy' - }, + }, + '3o21_disu': { + 'file': '3o21_disu.npy' + }, '2k39_all': { 'file': '2k39_all.npy' }, diff --git a/prody/tests/proteins/test_insty.py b/prody/tests/proteins/test_insty.py index 305f69fa6..247710413 100644 --- a/prody/tests/proteins/test_insty.py +++ b/prody/tests/proteins/test_insty.py @@ -19,7 +19,7 @@ def setUp(self): """Generating new data to compare it with the existing one""" if prody.PY3K: - self.ATOMS = parseDatafile('2k39_insty') + self.ATOMS = parseDatafile('2k39_insty') # no disulfides self.ALL_INTERACTIONS = parseDatafile('2k39_all') self.ALL_INTERACTIONS2 = parseDatafile('2k39_all2') self.HBS_INTERACTIONS = parseDatafile('2k39_hbs') @@ -31,6 +31,9 @@ def setUp(self): self.HPH_INTERACTIONS2 = parseDatafile('2k39_hph2') self.DISU_INTERACTIONS = parseDatafile('2k39_disu') + self.ATOMS_3O21 = parseDatafile('3o21') # has disulfides & not traj + self.DISU_INTERACTIONS_3O21 = parseDatafile('3o21_disu') + def testAllInteractionsCalc(self): """Test for calculating all types of interactions.""" @@ -132,26 +135,46 @@ def testHydrophobicInteractions(self): 'failed to get correct hydrophobic interactions with hpb.so') - def testDisulfideBondsCalc(self): + def testDisulfideBondsCalcNone(self): """Test for disulfide bonds interactions without saving and loading.""" if prody.PY3K: data_test = calcDisulfideBondsTrajectory(self.ATOMS) - assert_equal(sorted([i[-1][-1] for i in data_test if len(i) > 0]), sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if len(i) > 0]), - 'failed to get correct disulfide bonds from calculation') - - def testDisulfideBondsSave(self): + assert_equal(sorted([i[-1][-1] for i in data_test if len(i) > 0]), + sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if len(i) > 0]), + 'failed to get correct disulfide bonds from 2k39 (None) from calculation') + + def testDisulfideBondsSaveNone(self): """Test for disulfide bonds interactions with saving and loading (one type of interactions with 0).""" if prody.PY3K: data_test = calcDisulfideBondsTrajectory(self.ATOMS) - assert_equal(sorted([i[-1][-1] for i in data_test if len(i) > 0]), sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if len(i) > 0]), - 'failed to get correct disulfide bonds from calculation') - - np.save('test_2k39_disu.npy', np.array(data_test, dtype=object), allow_pickle=True) + np.save('test_2k39_disu.npy', np.array(data_test, dtype=object), + allow_pickle=True) data_test = np.load('test_2k39_disu.npy', allow_pickle=True) - assert_equal(sorted([i[-1][-1] for i in data_test if len(i) > 0]), sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if len(i) > 0]), - 'failed to get correct disulfide bonds from saving and loading') - + assert_equal(sorted([i[-1][-1] for i in data_test if len(i) > 0]), + sorted([i[-1][-1] for i in self.DISU_INTERACTIONS if len(i) > 0]), + 'failed to get correct disulfide bonds from 2k39 (None) from saving and loading') + + def testDisulfideBondsCalcSomeNotTraj(self): + """Test for disulfide bonds interactions without saving and loading.""" + if prody.PY3K: + data_test = calcDisulfideBonds(self.ATOMS_3O21) + assert_equal(sorted([i[-1] for i in data_test if len(i) > 0]), + sorted([i[-1] for i in self.DISU_INTERACTIONS_3O21 if len(i) > 0]), + 'failed to get correct disulfide bonds from 3o21 from calculation') + + def testDisulfideBondsSaveSomeNotTraj(self): + """Test for disulfide bonds interactions with saving and loading (one type of interactions with 0).""" + if prody.PY3K: + data_test = calcDisulfideBonds(self.ATOMS_3O21) + np.save('test_3o21_disu.npy', np.array(data_test, dtype=object), + allow_pickle=True) + + data_test = np.load('test_3o21_disu.npy', allow_pickle=True) + assert_equal(sorted([i[-1] for i in data_test if len(i) > 0]), + sorted([i[-1] for i in self.DISU_INTERACTIONS_3O21 if len(i) > 0]), + 'failed to get correct disulfide bonds from 3o21 from saving and loading') + def testImportHpb(self): try: From 66906b2027142ec9358da6cc5c790a61e046bafc Mon Sep 17 00:00:00 2001 From: James Krieger Date: Wed, 23 Oct 2024 13:00:31 +0100 Subject: [PATCH 07/95] getDihedral from multi coordsets --- prody/measure/measure.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/prody/measure/measure.py b/prody/measure/measure.py index 4d8678fd2..285e9a18a 100644 --- a/prody/measure/measure.py +++ b/prody/measure/measure.py @@ -5,7 +5,7 @@ from numpy import ndarray, power, sqrt, array, zeros, arccos, dot from numpy import sign, tile, concatenate, pi, cross, subtract, var -from numpy import unique, where +from numpy import unique, where, divide, power from prody.atomic import Atomic, Residue, Atom, extendAtomicData from prody.kdtree import KDTree @@ -207,12 +207,12 @@ def getDihedral(coords1, coords2, coords3, coords4, radian=False): a3 = coords4 - coords3 v1 = cross(a1, a2) - v1 = v1 / (v1 * v1).sum(-1)**0.5 + v1 = divide(v1, power((v1 * v1).sum(-1), 0.5).reshape(-1,1)) v2 = cross(a2, a3) - v2 = v2 / (v2 * v2).sum(-1)**0.5 + v2 = divide(v2, power((v2 * v2).sum(-1), 0.5).reshape(-1,1)) porm = sign((v1 * a3).sum(-1)) rad = arccos((v1*v2).sum(-1) / ((v1**2).sum(-1) * (v2**2).sum(-1))**0.5) - if not porm == 0: + if not all(porm == 0): rad = rad * porm if radian: return rad From d40131686c428ba399dfb8cdfaa11afb63d99d0f Mon Sep 17 00:00:00 2001 From: James Krieger Date: Wed, 23 Oct 2024 13:03:56 +0100 Subject: [PATCH 08/95] extract single --- prody/measure/measure.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/prody/measure/measure.py b/prody/measure/measure.py index 285e9a18a..89e77114a 100644 --- a/prody/measure/measure.py +++ b/prody/measure/measure.py @@ -214,6 +214,10 @@ def getDihedral(coords1, coords2, coords3, coords4, radian=False): rad = arccos((v1*v2).sum(-1) / ((v1**2).sum(-1) * (v2**2).sum(-1))**0.5) if not all(porm == 0): rad = rad * porm + + if rad.shape[0] == 1: + rad = rad[0] + if radian: return rad else: From 9fa61d3b080e626a8e8d58d8ba10c2404b898b25 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Tue, 29 Oct 2024 17:10:52 +0000 Subject: [PATCH 09/95] add clustenm to dynamics init docs --- prody/dynamics/__init__.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/prody/dynamics/__init__.py b/prody/dynamics/__init__.py index fe56a1a7a..2b73543ed 100644 --- a/prody/dynamics/__init__.py +++ b/prody/dynamics/__init__.py @@ -119,6 +119,13 @@ * :class:`.AdaptiveANM` - generate transitions between two conformers using best overlapping modes +ENM-MD hybrid methods +=================== + +The following classes and their functions can be used to generate conformers using ENM-MD hybrid methods: + + * :class:`.ClustENM` - generate conformers by exploring combinations of modes and clustering + Essential Site Scanning Analysis (ESSA) ======================================== From e8bef582fd4aa5fe3fdd63a81f6920a16dbbb409 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Tue, 29 Oct 2024 18:18:46 +0000 Subject: [PATCH 10/95] add anmd --- prody/dynamics/__init__.py | 9 +- prody/dynamics/anmd.py | 222 +++++++++++++++++++++++++++++++++++++ 2 files changed, 229 insertions(+), 2 deletions(-) create mode 100755 prody/dynamics/anmd.py diff --git a/prody/dynamics/__init__.py b/prody/dynamics/__init__.py index 2b73543ed..6f5c84129 100644 --- a/prody/dynamics/__init__.py +++ b/prody/dynamics/__init__.py @@ -122,9 +122,10 @@ ENM-MD hybrid methods =================== -The following classes and their functions can be used to generate conformers using ENM-MD hybrid methods: +The following classes and functions can be used to generate conformers using ENM-MD hybrid methods: - * :class:`.ClustENM` - generate conformers by exploring combinations of modes and clustering + * :class:`.ClustENM` - generate conformers by exploring combinations of modes and clustering, using minimisation and optionally MD + * :function:`.ANMD` - generate conformers by traversing a number of individual modes, applying minimisation to each conformer Essential Site Scanning Analysis (ESSA) ======================================== @@ -374,3 +375,7 @@ from . import logistic from .logistic import * __all__.extend(logistic.__all__) + +from . import anmd +from .anmd import * +__all__.extend(anmd.__all__) \ No newline at end of file diff --git a/prody/dynamics/anmd.py b/prody/dynamics/anmd.py new file mode 100755 index 000000000..8b4882b2c --- /dev/null +++ b/prody/dynamics/anmd.py @@ -0,0 +1,222 @@ +# -*- coding: utf-8 -*- +''' +Copyright (c) 2020-2022 Burak Kaynak, Pemra Doruker. + +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. +''' + +__author__ = 'Anupam Banerjee' +__credits__ = ['James Krieger'] +__email__ = ['anupam.banerjee@stonybrook.edu', 'jamesmkrieger@gmail.com'] + +from numbers import Number +import os + +from prody import LOGGER +from prody.atomic.atomic import Atomic +from prody.ensemble.ensemble import Ensemble +from prody.proteins.pdbfile import parsePDB, writePDB + +from .anm import ANM +from .clustenm import ClustENM +from .editing import extendModel +from .sampling import traverseMode + + +__all__ = ['runANMD'] + +def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, + tolerance=10.0, solvent='imp', force_field=None): + """Runs the ANMD hybrid simulation method ([CM22]_), which generates conformations + along single modes and minimises them. The first non-zero mode is scaled to *max_rmsd* + and the remaining modes are scaled accordingly using their eigenvalues. + + :arg atoms: an object with atom and coordinate data + :type atoms: :class:`.Atomic` + + :arg num_modes: number of modes to analyse + :type num_modes: int + + :arg max_rmsd: maximum rmsd for non-zero mode 1 + :type max_rmsd: float + + :arg num_steps: number of conformers in each direction for each mode + :type num_steps: int + + :arg tolerance: tolerance for energy minimisation in OpenMM + in kilojoule_per_mole. Default is 10 + :type tolerance: float + + :arg solvent: Solvent model to be used. If it is set to 'imp' (default), + implicit solvent model will be used, whereas 'exp' stands for explicit solvent model. + Warning: In the case of nucleotide chains, explicit solvent model is automatically set. + :type solvent: str + + :arg force_field: Implicit solvent force field is ('amber99sbildn.xml', 'amber99_obc.xml'). + Explicit solvent force field is ('amber14-all.xml', 'amber14/tip3pfb.xml'). + Experimental feature: Forcefields already implemented in OpenMM can be used. + :type force_field: tuple of strings + + .. [CM22] Mary Hongying Cheng, James M Krieger, Anupam Banerjee, Yufei Xiang, + Burak Kaynak, Yi Shi, Moshe Arditi, Ivet Bahar. + Impact of new variants on SARS-CoV-2 infectivity and neutralization: + A molecular assessment of the alterations in the spike-host protein + interactions. *iScience* **2022** 25(3):103939. + """ + try: + from simtk.openmm.app import PDBFile, ForceField, \ + Simulation, HBonds, NoCutoff + from simtk.openmm import LangevinIntegrator + from simtk.unit import nanometer, kelvin, picosecond, picoseconds, \ + angstrom + except ImportError: + raise ImportError('Please install PDBFixer and OpenMM to use ANMD') + + if not isinstance(atoms, Atomic): + raise TypeError('atoms should be an Atomic object') + + if not isinstance(num_modes, int): + raise TypeError('num_modes should be an integer') + + if not isinstance(max_rmsd, Number): + raise TypeError('max_rmsd should be a float') + + if not isinstance(tolerance, Number): + raise TypeError('tolerance should be a float') + + if not isinstance(solvent, str): + raise TypeError('solvent should be a string') + if solvent not in ['imp', 'exp']: + raise ValueError('solvent should be "imp" or "exp"') + + if not isinstance(force_field, (type(None), tuple)): + raise TypeError('force_field should be None or a tuple') + if force_field is not None: + if len(force_field) != 2: + raise ValueError('force_field tuple should have 2 elements') + if not isinstance(force_field[0], str) or not isinstance(force_field[1], str): + raise TypeError('force_field tuple entries should be strings') + + pdb_name=atoms.getTitle().replace(' ', '_') + + fix_name = pdb_name + '_fixed.pdb' + if os.path.exists(fix_name): + LOGGER.info('\nFixed structure found') + else: + clustenm=ClustENM() + clustenm.setAtoms(atoms) + clustenm.writePDBFixed() + pdb_fix = PDBFile(fix_name) + + fixmin_name=pdb_name + '_fixedmin.pdb' + if os.path.exists(fixmin_name): + LOGGER.info('\nMinimised fixed structure found') + else: + LOGGER.info('\nMinimising fixed structure ...') + LOGGER.timeit('_anmd_min') + + forcefield = ForceField("amber99sbildn.xml", "amber99_obc.xml") + system = forcefield.createSystem(pdb_fix.topology, + nonbondedMethod=NoCutoff, + nonbondedCutoff=1*nanometer, + constraints=HBonds) + integrator = LangevinIntegrator(300*kelvin, 1/picosecond, + 0.003*picoseconds) + simulation = Simulation(pdb_fix.topology, system, integrator) + simulation.context.setPositions(pdb_fix.positions) + simulation.minimizeEnergy(tolerance=tolerance) + positions = simulation.context.getState(getPositions=True).getPositions() + PDBFile.writeFile(simulation.topology, positions, open(fixmin_name, 'w')) + LOGGER.report('The fixed structure was minimised in %.2fs.\n', + label='_anmd_min') + + pdb_fixed=parsePDB(fixmin_name, compressed=False) + calphas=pdb_fixed.select('calpha') + anm=ANM() + anm.buildHessian(calphas) + anm.calcModes(n_modes=num_modes) + anm_ex, atoms_all = extendModel(anm, calphas, pdb_fixed) + eval_0=anm[0].getEigval() + + ensembles = [] + for i in range(num_modes): + ip1 = i+1 + + LOGGER.info('\nGenerating conformers for mode {0} ...'.format(ip1)) + eval_i=anm[i].getEigval() + sc_rmsd=((1/eval_i)**0.5/(1/eval_0)**0.5)*max_rmsd + traj_aa=traverseMode(anm_ex[i], atoms_all, n_steps=num_steps, rmsd=sc_rmsd) + traj_aa.setAtoms(atoms_all) + + target_ensemble = Ensemble('mode {0} ensemble'.format(ip1)) + target_ensemble.setAtoms(atoms_all) + target_ensemble.setCoords(atoms_all) + + for j in range(2*num_steps+1): + jp1 = j+1 + writePDB('temp1.pdb', traj_aa[j]) + pdb = PDBFile('temp1.pdb') + os.remove("temp1.pdb") + + LOGGER.info('\nMinimising structure {0} along mode {1} ...'.format(jp1, ip1)) + LOGGER.timeit('_anmd_min') + forcefield = ForceField("amber99sbildn.xml", "amber99_obc.xml") + system = forcefield.createSystem(pdb.topology, + nonbondedMethod=NoCutoff, + nonbondedCutoff=1*nanometer, + constraints=HBonds) + integrator = LangevinIntegrator(300*kelvin, 1/picosecond, \ + 0.003*picoseconds) + simulation = Simulation(pdb.topology, system, integrator) + simulation.context.setPositions(pdb.positions) + simulation.minimizeEnergy(tolerance=tolerance) + positions = simulation.context.getState(getPositions=True).getPositions( + asNumpy=True).value_in_unit(angstrom)[:pdb.topology.getNumAtoms()] + + target_ensemble.addCoordset(positions) + + LOGGER.report('The structure was minimised in %.2fs.', + label='_anmd_min') + + ensembles.append(target_ensemble) + + os.remove(fix_name) + os.remove(fixmin_name) + + return ensembles + + +if __name__=='__main__': + import sys + from prody.tests.datafiles import pathDatafile + pdb_name=sys.argv[1] if len(sys.argv) > 1 else pathDatafile('1ubi') + num_modes=int(sys.argv[2]) if len(sys.argv) > 2 else 2 + max_rmsd=float(sys.argv[3]) if len(sys.argv) > 3 else 2. + num_steps = int(sys.argv[5]) if len(sys.argv) > 5 else 2 + tol=float(sys.argv[4]) if len(sys.argv) > 4 else 10. + + pdb_name_ext = pdb_name + if pdb_name_ext.endswith('.pdb'): + pdb_name = pdb_name_ext[:-4] + else: + pdb_name_ext += '.pdb' + + pdb = parsePDB(pdb_name_ext, compressed=False) + + x = runANMD(pdb, num_modes, max_rmsd, num_steps, tol) From 43194f382772d2314aa5b595fe081899adfad09b Mon Sep 17 00:00:00 2001 From: James Krieger Date: Tue, 29 Oct 2024 18:46:18 +0000 Subject: [PATCH 11/95] add anmd tests --- prody/dynamics/anmd.py | 5 +- prody/tests/datafiles/1ubi_anmd_mode1_ens.pdb | 6172 +++++++++++++++++ prody/tests/datafiles/__init__.py | 6 + prody/tests/dynamics/test_anmd.py | 105 + 4 files changed, 6286 insertions(+), 2 deletions(-) create mode 100644 prody/tests/datafiles/1ubi_anmd_mode1_ens.pdb create mode 100644 prody/tests/dynamics/test_anmd.py diff --git a/prody/dynamics/anmd.py b/prody/dynamics/anmd.py index 8b4882b2c..9f80b0d2c 100755 --- a/prody/dynamics/anmd.py +++ b/prody/dynamics/anmd.py @@ -157,8 +157,9 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, ensembles = [] for i in range(num_modes): ip1 = i+1 + num_confs = 2*num_steps+1 - LOGGER.info('\nGenerating conformers for mode {0} ...'.format(ip1)) + LOGGER.info('\nGenerating {0} conformers for mode {1} ...'.format(num_confs, ip1)) eval_i=anm[i].getEigval() sc_rmsd=((1/eval_i)**0.5/(1/eval_0)**0.5)*max_rmsd traj_aa=traverseMode(anm_ex[i], atoms_all, n_steps=num_steps, rmsd=sc_rmsd) @@ -168,7 +169,7 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, target_ensemble.setAtoms(atoms_all) target_ensemble.setCoords(atoms_all) - for j in range(2*num_steps+1): + for j in range(num_confs): jp1 = j+1 writePDB('temp1.pdb', traj_aa[j]) pdb = PDBFile('temp1.pdb') diff --git a/prody/tests/datafiles/1ubi_anmd_mode1_ens.pdb b/prody/tests/datafiles/1ubi_anmd_mode1_ens.pdb new file mode 100644 index 000000000..795202a29 --- /dev/null +++ b/prody/tests/datafiles/1ubi_anmd_mode1_ens.pdb @@ -0,0 +1,6172 @@ +REMARK Ensemble mode 1 ensemble +MODEL 1 +ATOM 1 N MET A 1 26.794 23.107 2.277 1.00 0.00 N +ATOM 2 H MET A 1 27.496 23.353 1.594 1.00 0.00 H +ATOM 3 H2 MET A 1 27.277 22.835 3.121 1.00 0.00 H +ATOM 4 H3 MET A 1 26.293 22.299 1.936 1.00 0.00 H +ATOM 5 CA MET A 1 25.868 24.259 2.532 1.00 0.00 C +ATOM 6 HA MET A 1 25.431 24.543 1.574 1.00 0.00 H +ATOM 7 C MET A 1 26.633 25.485 3.039 1.00 0.00 C +ATOM 8 O MET A 1 27.774 25.348 3.460 1.00 0.00 O +ATOM 9 CB MET A 1 24.694 23.891 3.483 1.00 0.00 C +ATOM 10 HB2 MET A 1 23.982 24.717 3.478 1.00 0.00 H +ATOM 11 HB3 MET A 1 24.170 23.022 3.084 1.00 0.00 H +ATOM 12 CG MET A 1 25.057 23.605 4.953 1.00 0.00 C +ATOM 13 HG2 MET A 1 25.664 24.423 5.342 1.00 0.00 H +ATOM 14 HG3 MET A 1 25.634 22.682 5.006 1.00 0.00 H +ATOM 15 SD MET A 1 23.619 23.413 6.042 1.00 0.00 S +ATOM 16 CE MET A 1 24.434 23.331 7.661 1.00 0.00 C +ATOM 17 HE1 MET A 1 24.937 24.276 7.867 1.00 0.00 H +ATOM 18 HE2 MET A 1 23.686 23.152 8.434 1.00 0.00 H +ATOM 19 HE3 MET A 1 25.163 22.521 7.671 1.00 0.00 H +ATOM 20 N GLN A 2 26.019 26.672 3.067 1.00 0.00 N +ATOM 21 H GLN A 2 25.083 26.763 2.698 1.00 0.00 H +ATOM 22 CA GLN A 2 26.606 27.866 3.705 1.00 0.00 C +ATOM 23 HA GLN A 2 27.632 27.646 4.001 1.00 0.00 H +ATOM 24 C GLN A 2 25.831 28.251 4.973 1.00 0.00 C +ATOM 25 O GLN A 2 24.604 28.189 4.994 1.00 0.00 O +ATOM 26 CB GLN A 2 26.665 29.020 2.686 1.00 0.00 C +ATOM 27 HB2 GLN A 2 27.153 28.657 1.781 1.00 0.00 H +ATOM 28 HB3 GLN A 2 25.651 29.323 2.426 1.00 0.00 H +ATOM 29 CG GLN A 2 27.447 30.245 3.196 1.00 0.00 C +ATOM 30 HG2 GLN A 2 26.967 30.651 4.086 1.00 0.00 H +ATOM 31 HG3 GLN A 2 28.461 29.943 3.459 1.00 0.00 H +ATOM 32 CD GLN A 2 27.523 31.349 2.143 1.00 0.00 C +ATOM 33 OE1 GLN A 2 28.489 31.471 1.401 1.00 0.00 O +ATOM 34 NE2 GLN A 2 26.514 32.193 2.035 1.00 0.00 N +ATOM 35 HE21 GLN A 2 26.565 32.907 1.323 1.00 0.00 H +ATOM 36 HE22 GLN A 2 25.702 32.120 2.631 1.00 0.00 H +ATOM 37 N ILE A 3 26.546 28.694 6.008 1.00 0.00 N +ATOM 38 H ILE A 3 27.551 28.708 5.912 1.00 0.00 H +ATOM 39 CA ILE A 3 25.991 29.370 7.195 1.00 0.00 C +ATOM 40 HA ILE A 3 24.934 29.578 7.027 1.00 0.00 H +ATOM 41 C ILE A 3 26.671 30.728 7.389 1.00 0.00 C +ATOM 42 O ILE A 3 27.684 31.013 6.750 1.00 0.00 O +ATOM 43 CB ILE A 3 26.086 28.479 8.459 1.00 0.00 C +ATOM 44 HB ILE A 3 25.575 28.997 9.270 1.00 0.00 H +ATOM 45 CG1 ILE A 3 27.544 28.236 8.913 1.00 0.00 C +ATOM 46 HG12 ILE A 3 28.076 27.661 8.155 1.00 0.00 H +ATOM 47 HG13 ILE A 3 28.046 29.197 9.024 1.00 0.00 H +ATOM 48 CG2 ILE A 3 25.336 27.158 8.219 1.00 0.00 C +ATOM 49 HG21 ILE A 3 25.876 26.528 7.512 1.00 0.00 H +ATOM 50 HG22 ILE A 3 25.200 26.620 9.157 1.00 0.00 H +ATOM 51 HG23 ILE A 3 24.349 27.373 7.808 1.00 0.00 H +ATOM 52 CD1 ILE A 3 27.655 27.517 10.265 1.00 0.00 C +ATOM 53 HD11 ILE A 3 27.246 26.509 10.206 1.00 0.00 H +ATOM 54 HD12 ILE A 3 28.704 27.451 10.555 1.00 0.00 H +ATOM 55 HD13 ILE A 3 27.112 28.082 11.023 1.00 0.00 H +ATOM 56 N PHE A 4 26.153 31.548 8.297 1.00 0.00 N +ATOM 57 H PHE A 4 25.320 31.260 8.791 1.00 0.00 H +ATOM 58 CA PHE A 4 26.786 32.798 8.716 1.00 0.00 C +ATOM 59 HA PHE A 4 27.677 32.964 8.111 1.00 0.00 H +ATOM 60 C PHE A 4 27.222 32.736 10.181 1.00 0.00 C +ATOM 61 O PHE A 4 26.655 31.988 10.977 1.00 0.00 O +ATOM 62 CB PHE A 4 25.836 33.979 8.483 1.00 0.00 C +ATOM 63 HB2 PHE A 4 26.366 34.906 8.698 1.00 0.00 H +ATOM 64 HB3 PHE A 4 25.013 33.902 9.195 1.00 0.00 H +ATOM 65 CG PHE A 4 25.254 34.071 7.086 1.00 0.00 C +ATOM 66 CD1 PHE A 4 26.025 34.590 6.029 1.00 0.00 C +ATOM 67 HD1 PHE A 4 27.037 34.921 6.209 1.00 0.00 H +ATOM 68 CD2 PHE A 4 23.930 33.658 6.851 1.00 0.00 C +ATOM 69 HD2 PHE A 4 23.331 33.275 7.664 1.00 0.00 H +ATOM 70 CE1 PHE A 4 25.468 34.697 4.740 1.00 0.00 C +ATOM 71 HE1 PHE A 4 26.048 35.114 3.931 1.00 0.00 H +ATOM 72 CE2 PHE A 4 23.375 33.766 5.564 1.00 0.00 C +ATOM 73 HE2 PHE A 4 22.349 33.476 5.393 1.00 0.00 H +ATOM 74 CZ PHE A 4 24.144 34.283 4.508 1.00 0.00 C +ATOM 75 HZ PHE A 4 23.713 34.378 3.522 1.00 0.00 H +ATOM 76 N VAL A 5 28.192 33.565 10.567 1.00 0.00 N +ATOM 77 H VAL A 5 28.639 34.134 9.862 1.00 0.00 H +ATOM 78 CA VAL A 5 28.526 33.814 11.981 1.00 0.00 C +ATOM 79 HA VAL A 5 27.696 33.463 12.593 1.00 0.00 H +ATOM 80 C VAL A 5 28.668 35.317 12.211 1.00 0.00 C +ATOM 81 O VAL A 5 29.316 35.987 11.412 1.00 0.00 O +ATOM 82 CB VAL A 5 29.782 33.037 12.428 1.00 0.00 C +ATOM 83 HB VAL A 5 30.658 33.422 11.906 1.00 0.00 H +ATOM 84 CG1 VAL A 5 30.026 33.190 13.931 1.00 0.00 C +ATOM 85 HG11 VAL A 5 29.149 32.877 14.498 1.00 0.00 H +ATOM 86 HG12 VAL A 5 30.880 32.584 14.232 1.00 0.00 H +ATOM 87 HG13 VAL A 5 30.251 34.233 14.156 1.00 0.00 H +ATOM 88 CG2 VAL A 5 29.670 31.541 12.113 1.00 0.00 C +ATOM 89 HG21 VAL A 5 29.687 31.392 11.033 1.00 0.00 H +ATOM 90 HG22 VAL A 5 28.739 31.137 12.508 1.00 0.00 H +ATOM 91 HG23 VAL A 5 30.510 30.999 12.549 1.00 0.00 H +ATOM 92 N LYS A 6 28.070 35.850 13.282 1.00 0.00 N +ATOM 93 H LYS A 6 27.547 35.226 13.880 1.00 0.00 H +ATOM 94 CA LYS A 6 28.068 37.282 13.638 1.00 0.00 C +ATOM 95 HA LYS A 6 28.662 37.824 12.903 1.00 0.00 H +ATOM 96 C LYS A 6 28.717 37.519 15.004 1.00 0.00 C +ATOM 97 O LYS A 6 28.534 36.717 15.913 1.00 0.00 O +ATOM 98 CB LYS A 6 26.623 37.811 13.557 1.00 0.00 C +ATOM 99 HB2 LYS A 6 25.997 37.272 14.268 1.00 0.00 H +ATOM 100 HB3 LYS A 6 26.244 37.612 12.554 1.00 0.00 H +ATOM 101 CG LYS A 6 26.515 39.321 13.832 1.00 0.00 C +ATOM 102 HG2 LYS A 6 26.735 39.516 14.881 1.00 0.00 H +ATOM 103 HG3 LYS A 6 27.243 39.853 13.219 1.00 0.00 H +ATOM 104 CD LYS A 6 25.107 39.843 13.509 1.00 0.00 C +ATOM 105 HD2 LYS A 6 24.881 39.640 12.462 1.00 0.00 H +ATOM 106 HD3 LYS A 6 24.380 39.325 14.135 1.00 0.00 H +ATOM 107 CE LYS A 6 25.027 41.357 13.765 1.00 0.00 C +ATOM 108 HE2 LYS A 6 25.294 41.553 14.803 1.00 0.00 H +ATOM 109 HE3 LYS A 6 25.763 41.855 13.134 1.00 0.00 H +ATOM 110 NZ LYS A 6 23.663 41.903 13.478 1.00 0.00 N +ATOM 111 HZ1 LYS A 6 23.392 41.754 12.517 1.00 0.00 H +ATOM 112 HZ2 LYS A 6 22.957 41.484 14.066 1.00 0.00 H +ATOM 113 HZ3 LYS A 6 23.627 42.899 13.643 1.00 0.00 H +ATOM 114 N THR A 7 29.467 38.608 15.163 1.00 0.00 N +ATOM 115 H THR A 7 29.582 39.229 14.376 1.00 0.00 H +ATOM 116 CA THR A 7 30.229 38.925 16.389 1.00 0.00 C +ATOM 117 HA THR A 7 30.321 38.028 17.002 1.00 0.00 H +ATOM 118 C THR A 7 29.553 40.001 17.246 1.00 0.00 C +ATOM 119 O THR A 7 28.749 40.790 16.749 1.00 0.00 O +ATOM 120 CB THR A 7 31.647 39.391 16.033 1.00 0.00 C +ATOM 121 HB THR A 7 32.228 39.497 16.949 1.00 0.00 H +ATOM 122 OG1 THR A 7 31.554 40.640 15.393 1.00 0.00 O +ATOM 123 HG1 THR A 7 32.363 41.128 15.564 1.00 0.00 H +ATOM 124 CG2 THR A 7 32.387 38.458 15.081 1.00 0.00 C +ATOM 125 HG21 THR A 7 31.909 38.460 14.101 1.00 0.00 H +ATOM 126 HG22 THR A 7 32.391 37.445 15.483 1.00 0.00 H +ATOM 127 HG23 THR A 7 33.415 38.803 14.970 1.00 0.00 H +ATOM 128 N LEU A 8 29.953 40.124 18.523 1.00 0.00 N +ATOM 129 H LEU A 8 30.547 39.409 18.918 1.00 0.00 H +ATOM 130 CA LEU A 8 29.568 41.278 19.366 1.00 0.00 C +ATOM 131 HA LEU A 8 28.484 41.385 19.337 1.00 0.00 H +ATOM 132 C LEU A 8 30.138 42.621 18.857 1.00 0.00 C +ATOM 133 O LEU A 8 29.555 43.674 19.119 1.00 0.00 O +ATOM 134 CB LEU A 8 30.002 41.049 20.828 1.00 0.00 C +ATOM 135 HB2 LEU A 8 31.084 40.921 20.857 1.00 0.00 H +ATOM 136 HB3 LEU A 8 29.766 41.953 21.389 1.00 0.00 H +ATOM 137 CG LEU A 8 29.345 39.860 21.553 1.00 0.00 C +ATOM 138 HG LEU A 8 29.680 38.929 21.095 1.00 0.00 H +ATOM 139 CD1 LEU A 8 29.786 39.874 23.017 1.00 0.00 C +ATOM 140 HD11 LEU A 8 29.323 39.047 23.556 1.00 0.00 H +ATOM 141 HD12 LEU A 8 29.485 40.808 23.490 1.00 0.00 H +ATOM 142 HD13 LEU A 8 30.870 39.778 23.078 1.00 0.00 H +ATOM 143 CD2 LEU A 8 27.817 39.903 21.519 1.00 0.00 C +ATOM 144 HD21 LEU A 8 27.461 40.856 21.911 1.00 0.00 H +ATOM 145 HD22 LEU A 8 27.461 39.771 20.497 1.00 0.00 H +ATOM 146 HD23 LEU A 8 27.411 39.093 22.124 1.00 0.00 H +ATOM 147 N THR A 9 31.238 42.592 18.088 1.00 0.00 N +ATOM 148 H THR A 9 31.714 41.712 17.947 1.00 0.00 H +ATOM 149 CA THR A 9 31.792 43.769 17.381 1.00 0.00 C +ATOM 150 HA THR A 9 31.747 44.626 18.053 1.00 0.00 H +ATOM 151 C THR A 9 30.992 44.168 16.127 1.00 0.00 C +ATOM 152 O THR A 9 31.309 45.174 15.490 1.00 0.00 O +ATOM 153 CB THR A 9 33.270 43.548 17.026 1.00 0.00 C +ATOM 154 HB THR A 9 33.631 44.371 16.409 1.00 0.00 H +ATOM 155 OG1 THR A 9 33.416 42.331 16.330 1.00 0.00 O +ATOM 156 HG1 THR A 9 34.336 42.260 16.067 1.00 0.00 H +ATOM 157 CG2 THR A 9 34.144 43.442 18.271 1.00 0.00 C +ATOM 158 HG21 THR A 9 35.189 43.350 17.973 1.00 0.00 H +ATOM 159 HG22 THR A 9 34.031 44.341 18.877 1.00 0.00 H +ATOM 160 HG23 THR A 9 33.864 42.569 18.861 1.00 0.00 H +ATOM 161 N GLY A 10 29.934 43.419 15.775 1.00 0.00 N +ATOM 162 H GLY A 10 29.720 42.598 16.323 1.00 0.00 H +ATOM 163 CA GLY A 10 29.024 43.725 14.663 1.00 0.00 C +ATOM 164 HA2 GLY A 10 28.854 44.801 14.617 1.00 0.00 H +ATOM 165 HA3 GLY A 10 28.068 43.240 14.860 1.00 0.00 H +ATOM 166 C GLY A 10 29.509 43.255 13.284 1.00 0.00 C +ATOM 167 O GLY A 10 28.941 43.666 12.270 1.00 0.00 O +ATOM 168 N LYS A 11 30.541 42.399 13.231 1.00 0.00 N +ATOM 169 H LYS A 11 30.896 42.041 14.106 1.00 0.00 H +ATOM 170 CA LYS A 11 31.063 41.793 11.993 1.00 0.00 C +ATOM 171 HA LYS A 11 30.923 42.500 11.175 1.00 0.00 H +ATOM 172 C LYS A 11 30.272 40.525 11.681 1.00 0.00 C +ATOM 173 O LYS A 11 29.971 39.767 12.596 1.00 0.00 O +ATOM 174 CB LYS A 11 32.574 41.523 12.162 1.00 0.00 C +ATOM 175 HB2 LYS A 11 33.022 42.384 12.658 1.00 0.00 H +ATOM 176 HB3 LYS A 11 32.722 40.654 12.804 1.00 0.00 H +ATOM 177 CG LYS A 11 33.308 41.312 10.825 1.00 0.00 C +ATOM 178 HG2 LYS A 11 33.158 42.196 10.205 1.00 0.00 H +ATOM 179 HG3 LYS A 11 32.896 40.444 10.309 1.00 0.00 H +ATOM 180 CD LYS A 11 34.817 41.105 11.050 1.00 0.00 C +ATOM 181 HD2 LYS A 11 34.993 40.118 11.478 1.00 0.00 H +ATOM 182 HD3 LYS A 11 35.165 41.845 11.771 1.00 0.00 H +ATOM 183 CE LYS A 11 35.660 41.285 9.774 1.00 0.00 C +ATOM 184 HE2 LYS A 11 35.406 42.242 9.317 1.00 0.00 H +ATOM 185 HE3 LYS A 11 36.707 41.340 10.071 1.00 0.00 H +ATOM 186 NZ LYS A 11 35.497 40.179 8.783 1.00 0.00 N +ATOM 187 HZ1 LYS A 11 35.811 39.297 9.163 1.00 0.00 H +ATOM 188 HZ2 LYS A 11 34.544 40.078 8.463 1.00 0.00 H +ATOM 189 HZ3 LYS A 11 36.067 40.345 7.966 1.00 0.00 H +ATOM 190 N THR A 12 29.966 40.264 10.410 1.00 0.00 N +ATOM 191 H THR A 12 30.244 40.926 9.699 1.00 0.00 H +ATOM 192 CA THR A 12 29.320 39.007 9.973 1.00 0.00 C +ATOM 193 HA THR A 12 29.298 38.316 10.816 1.00 0.00 H +ATOM 194 C THR A 12 30.132 38.347 8.859 1.00 0.00 C +ATOM 195 O THR A 12 30.589 39.025 7.938 1.00 0.00 O +ATOM 196 CB THR A 12 27.859 39.221 9.538 1.00 0.00 C +ATOM 197 HB THR A 12 27.828 39.808 8.620 1.00 0.00 H +ATOM 198 OG1 THR A 12 27.151 39.904 10.547 1.00 0.00 O +ATOM 199 HG1 THR A 12 27.339 40.842 10.466 1.00 0.00 H +ATOM 200 CG2 THR A 12 27.109 37.906 9.323 1.00 0.00 C +ATOM 201 HG21 THR A 12 26.063 38.120 9.102 1.00 0.00 H +ATOM 202 HG22 THR A 12 27.162 37.293 10.223 1.00 0.00 H +ATOM 203 HG23 THR A 12 27.534 37.358 8.482 1.00 0.00 H +ATOM 204 N ILE A 13 30.319 37.026 8.952 1.00 0.00 N +ATOM 205 H ILE A 13 29.906 36.548 9.740 1.00 0.00 H +ATOM 206 CA ILE A 13 31.128 36.211 8.028 1.00 0.00 C +ATOM 207 HA ILE A 13 31.431 36.835 7.188 1.00 0.00 H +ATOM 208 C ILE A 13 30.296 35.064 7.452 1.00 0.00 C +ATOM 209 O ILE A 13 29.366 34.593 8.102 1.00 0.00 O +ATOM 210 CB ILE A 13 32.428 35.702 8.714 1.00 0.00 C +ATOM 211 HB ILE A 13 33.118 35.393 7.929 1.00 0.00 H +ATOM 212 CG1 ILE A 13 32.168 34.472 9.615 1.00 0.00 C +ATOM 213 HG12 ILE A 13 31.352 34.713 10.296 1.00 0.00 H +ATOM 214 HG13 ILE A 13 31.856 33.635 8.991 1.00 0.00 H +ATOM 215 CG2 ILE A 13 33.104 36.833 9.512 1.00 0.00 C +ATOM 216 HG21 ILE A 13 32.541 37.059 10.418 1.00 0.00 H +ATOM 217 HG22 ILE A 13 34.114 36.534 9.794 1.00 0.00 H +ATOM 218 HG23 ILE A 13 33.177 37.730 8.896 1.00 0.00 H +ATOM 219 CD1 ILE A 13 33.362 33.986 10.448 1.00 0.00 C +ATOM 220 HD11 ILE A 13 34.238 33.851 9.813 1.00 0.00 H +ATOM 221 HD12 ILE A 13 33.106 33.031 10.908 1.00 0.00 H +ATOM 222 HD13 ILE A 13 33.588 34.699 11.240 1.00 0.00 H +ATOM 223 N THR A 14 30.678 34.555 6.282 1.00 0.00 N +ATOM 224 H THR A 14 31.435 34.995 5.779 1.00 0.00 H +ATOM 225 CA THR A 14 30.172 33.287 5.721 1.00 0.00 C +ATOM 226 HA THR A 14 29.155 33.100 6.065 1.00 0.00 H +ATOM 227 C THR A 14 31.049 32.122 6.159 1.00 0.00 C +ATOM 228 O THR A 14 32.255 32.293 6.312 1.00 0.00 O +ATOM 229 CB THR A 14 30.171 33.340 4.185 1.00 0.00 C +ATOM 230 HB THR A 14 29.934 32.353 3.787 1.00 0.00 H +ATOM 231 OG1 THR A 14 31.446 33.739 3.727 1.00 0.00 O +ATOM 232 HG1 THR A 14 31.424 33.779 2.769 1.00 0.00 H +ATOM 233 CG2 THR A 14 29.155 34.344 3.651 1.00 0.00 C +ATOM 234 HG21 THR A 14 29.383 35.346 4.013 1.00 0.00 H +ATOM 235 HG22 THR A 14 28.158 34.053 3.981 1.00 0.00 H +ATOM 236 HG23 THR A 14 29.176 34.341 2.561 1.00 0.00 H +ATOM 237 N LEU A 15 30.491 30.920 6.300 1.00 0.00 N +ATOM 238 H LEU A 15 29.486 30.846 6.239 1.00 0.00 H +ATOM 239 CA LEU A 15 31.249 29.664 6.402 1.00 0.00 C +ATOM 240 HA LEU A 15 32.269 29.816 6.048 1.00 0.00 H +ATOM 241 C LEU A 15 30.592 28.608 5.509 1.00 0.00 C +ATOM 242 O LEU A 15 29.371 28.485 5.515 1.00 0.00 O +ATOM 243 CB LEU A 15 31.276 29.159 7.862 1.00 0.00 C +ATOM 244 HB2 LEU A 15 30.246 28.969 8.164 1.00 0.00 H +ATOM 245 HB3 LEU A 15 31.804 28.206 7.888 1.00 0.00 H +ATOM 246 CG LEU A 15 31.910 30.086 8.915 1.00 0.00 C +ATOM 247 HG LEU A 15 31.389 31.043 8.923 1.00 0.00 H +ATOM 248 CD1 LEU A 15 31.768 29.436 10.291 1.00 0.00 C +ATOM 249 HD11 LEU A 15 32.331 28.503 10.331 1.00 0.00 H +ATOM 250 HD12 LEU A 15 32.147 30.116 11.054 1.00 0.00 H +ATOM 251 HD13 LEU A 15 30.718 29.228 10.498 1.00 0.00 H +ATOM 252 CD2 LEU A 15 33.403 30.319 8.687 1.00 0.00 C +ATOM 253 HD21 LEU A 15 33.576 30.791 7.720 1.00 0.00 H +ATOM 254 HD22 LEU A 15 33.800 30.971 9.465 1.00 0.00 H +ATOM 255 HD23 LEU A 15 33.934 29.367 8.711 1.00 0.00 H +ATOM 256 N GLU A 16 31.378 27.808 4.790 1.00 0.00 N +ATOM 257 H GLU A 16 32.379 27.939 4.825 1.00 0.00 H +ATOM 258 CA GLU A 16 30.868 26.638 4.056 1.00 0.00 C +ATOM 259 HA GLU A 16 29.797 26.751 3.886 1.00 0.00 H +ATOM 260 C GLU A 16 31.072 25.376 4.898 1.00 0.00 C +ATOM 261 O GLU A 16 32.175 25.120 5.381 1.00 0.00 O +ATOM 262 CB GLU A 16 31.529 26.523 2.675 1.00 0.00 C +ATOM 263 HB2 GLU A 16 32.613 26.512 2.787 1.00 0.00 H +ATOM 264 HB3 GLU A 16 31.216 25.587 2.214 1.00 0.00 H +ATOM 265 CG GLU A 16 31.121 27.683 1.756 1.00 0.00 C +ATOM 266 HG2 GLU A 16 30.033 27.727 1.703 1.00 0.00 H +ATOM 267 HG3 GLU A 16 31.468 28.623 2.184 1.00 0.00 H +ATOM 268 CD GLU A 16 31.707 27.500 0.339 1.00 0.00 C +ATOM 269 OE1 GLU A 16 32.833 27.988 0.073 1.00 0.00 O +ATOM 270 OE2 GLU A 16 31.043 26.870 -0.521 1.00 0.00 O +ATOM 271 N VAL A 17 29.997 24.621 5.127 1.00 0.00 N +ATOM 272 H VAL A 17 29.145 24.848 4.634 1.00 0.00 H +ATOM 273 CA VAL A 17 29.914 23.511 6.096 1.00 0.00 C +ATOM 274 HA VAL A 17 30.888 23.033 6.194 1.00 0.00 H +ATOM 275 C VAL A 17 28.917 22.456 5.619 1.00 0.00 C +ATOM 276 O VAL A 17 28.039 22.758 4.816 1.00 0.00 O +ATOM 277 CB VAL A 17 29.467 24.020 7.486 1.00 0.00 C +ATOM 278 HB VAL A 17 29.353 23.161 8.147 1.00 0.00 H +ATOM 279 CG1 VAL A 17 30.493 24.957 8.136 1.00 0.00 C +ATOM 280 HG11 VAL A 17 30.567 25.893 7.582 1.00 0.00 H +ATOM 281 HG12 VAL A 17 30.191 25.179 9.159 1.00 0.00 H +ATOM 282 HG13 VAL A 17 31.467 24.468 8.155 1.00 0.00 H +ATOM 283 CG2 VAL A 17 28.122 24.762 7.434 1.00 0.00 C +ATOM 284 HG21 VAL A 17 27.339 24.093 7.076 1.00 0.00 H +ATOM 285 HG22 VAL A 17 28.185 25.629 6.778 1.00 0.00 H +ATOM 286 HG23 VAL A 17 27.850 25.095 8.436 1.00 0.00 H +ATOM 287 N GLU A 18 28.971 21.247 6.161 1.00 0.00 N +ATOM 288 H GLU A 18 29.722 21.060 6.810 1.00 0.00 H +ATOM 289 CA GLU A 18 27.895 20.249 6.072 1.00 0.00 C +ATOM 290 HA GLU A 18 27.120 20.629 5.407 1.00 0.00 H +ATOM 291 C GLU A 18 27.252 20.011 7.456 1.00 0.00 C +ATOM 292 O GLU A 18 27.931 20.177 8.471 1.00 0.00 O +ATOM 293 CB GLU A 18 28.425 18.935 5.477 1.00 0.00 C +ATOM 294 HB2 GLU A 18 27.703 18.140 5.661 1.00 0.00 H +ATOM 295 HB3 GLU A 18 29.353 18.664 5.980 1.00 0.00 H +ATOM 296 CG GLU A 18 28.678 19.016 3.963 1.00 0.00 C +ATOM 297 HG2 GLU A 18 29.328 19.864 3.746 1.00 0.00 H +ATOM 298 HG3 GLU A 18 29.211 18.116 3.658 1.00 0.00 H +ATOM 299 CD GLU A 18 27.360 19.124 3.163 1.00 0.00 C +ATOM 300 OE1 GLU A 18 26.692 18.083 2.949 1.00 0.00 O +ATOM 301 OE2 GLU A 18 26.989 20.247 2.741 1.00 0.00 O +ATOM 302 N PRO A 19 25.966 19.602 7.551 1.00 0.00 N +ATOM 303 CA PRO A 19 25.285 19.407 8.841 1.00 0.00 C +ATOM 304 HA PRO A 19 25.222 20.375 9.338 1.00 0.00 H +ATOM 305 C PRO A 19 25.968 18.411 9.799 1.00 0.00 C +ATOM 306 O PRO A 19 25.806 18.518 11.012 1.00 0.00 O +ATOM 307 CB PRO A 19 23.867 18.943 8.489 1.00 0.00 C +ATOM 308 HB2 PRO A 19 23.134 19.307 9.209 1.00 0.00 H +ATOM 309 HB3 PRO A 19 23.830 17.855 8.425 1.00 0.00 H +ATOM 310 CG PRO A 19 23.630 19.535 7.102 1.00 0.00 C +ATOM 311 HG2 PRO A 19 22.887 18.968 6.540 1.00 0.00 H +ATOM 312 HG3 PRO A 19 23.325 20.577 7.195 1.00 0.00 H +ATOM 313 CD PRO A 19 25.013 19.453 6.457 1.00 0.00 C +ATOM 314 HD2 PRO A 19 25.107 20.244 5.713 1.00 0.00 H +ATOM 315 HD3 PRO A 19 25.145 18.478 5.988 1.00 0.00 H +ATOM 316 N SER A 20 26.748 17.463 9.277 1.00 0.00 N +ATOM 317 H SER A 20 26.864 17.422 8.274 1.00 0.00 H +ATOM 318 CA SER A 20 27.531 16.497 10.060 1.00 0.00 C +ATOM 319 HA SER A 20 26.930 16.177 10.911 1.00 0.00 H +ATOM 320 C SER A 20 28.847 17.058 10.636 1.00 0.00 C +ATOM 321 O SER A 20 29.509 16.370 11.419 1.00 0.00 O +ATOM 322 CB SER A 20 27.801 15.258 9.196 1.00 0.00 C +ATOM 323 HB2 SER A 20 26.859 14.739 9.020 1.00 0.00 H +ATOM 324 HB3 SER A 20 28.476 14.582 9.721 1.00 0.00 H +ATOM 325 OG SER A 20 28.362 15.637 7.946 1.00 0.00 O +ATOM 326 HG SER A 20 28.550 14.841 7.443 1.00 0.00 H +ATOM 327 N ASP A 21 29.237 18.290 10.291 1.00 0.00 N +ATOM 328 H ASP A 21 28.667 18.814 9.643 1.00 0.00 H +ATOM 329 CA ASP A 21 30.426 18.950 10.836 1.00 0.00 C +ATOM 330 HA ASP A 21 31.254 18.248 10.741 1.00 0.00 H +ATOM 331 C ASP A 21 30.296 19.299 12.326 1.00 0.00 C +ATOM 332 O ASP A 21 29.232 19.703 12.806 1.00 0.00 O +ATOM 333 CB ASP A 21 30.812 20.203 10.034 1.00 0.00 C +ATOM 334 HB2 ASP A 21 29.992 20.919 10.095 1.00 0.00 H +ATOM 335 HB3 ASP A 21 31.670 20.663 10.524 1.00 0.00 H +ATOM 336 CG ASP A 21 31.176 19.967 8.550 1.00 0.00 C +ATOM 337 OD1 ASP A 21 31.442 18.813 8.130 1.00 0.00 O +ATOM 338 OD2 ASP A 21 31.322 20.985 7.832 1.00 0.00 O +ATOM 339 N THR A 22 31.411 19.177 13.055 1.00 0.00 N +ATOM 340 H THR A 22 32.264 18.871 12.610 1.00 0.00 H +ATOM 341 CA THR A 22 31.502 19.512 14.482 1.00 0.00 C +ATOM 342 HA THR A 22 30.592 19.167 14.972 1.00 0.00 H +ATOM 343 C THR A 22 31.627 21.013 14.717 1.00 0.00 C +ATOM 344 O THR A 22 32.144 21.751 13.876 1.00 0.00 O +ATOM 345 CB THR A 22 32.684 18.803 15.153 1.00 0.00 C +ATOM 346 HB THR A 22 32.772 19.144 16.184 1.00 0.00 H +ATOM 347 OG1 THR A 22 33.865 19.132 14.453 1.00 0.00 O +ATOM 348 HG1 THR A 22 34.563 18.530 14.720 1.00 0.00 H +ATOM 349 CG2 THR A 22 32.529 17.286 15.159 1.00 0.00 C +ATOM 350 HG21 THR A 22 31.620 17.016 15.698 1.00 0.00 H +ATOM 351 HG22 THR A 22 32.477 16.901 14.141 1.00 0.00 H +ATOM 352 HG23 THR A 22 33.378 16.834 15.672 1.00 0.00 H +ATOM 353 N ILE A 23 31.245 21.481 15.906 1.00 0.00 N +ATOM 354 H ILE A 23 30.813 20.844 16.559 1.00 0.00 H +ATOM 355 CA ILE A 23 31.528 22.856 16.340 1.00 0.00 C +ATOM 356 HA ILE A 23 31.149 23.541 15.582 1.00 0.00 H +ATOM 357 C ILE A 23 33.041 23.100 16.430 1.00 0.00 C +ATOM 358 O ILE A 23 33.486 24.203 16.141 1.00 0.00 O +ATOM 359 CB ILE A 23 30.806 23.161 17.668 1.00 0.00 C +ATOM 360 HB ILE A 23 31.182 22.452 18.406 1.00 0.00 H +ATOM 361 CG1 ILE A 23 29.277 22.961 17.587 1.00 0.00 C +ATOM 362 HG12 ILE A 23 29.059 21.914 17.375 1.00 0.00 H +ATOM 363 HG13 ILE A 23 28.859 23.166 18.572 1.00 0.00 H +ATOM 364 CG2 ILE A 23 31.119 24.579 18.184 1.00 0.00 C +ATOM 365 HG21 ILE A 23 30.533 24.789 19.078 1.00 0.00 H +ATOM 366 HG22 ILE A 23 30.895 25.323 17.419 1.00 0.00 H +ATOM 367 HG23 ILE A 23 32.172 24.659 18.456 1.00 0.00 H +ATOM 368 CD1 ILE A 23 28.543 23.815 16.541 1.00 0.00 C +ATOM 369 HD11 ILE A 23 28.717 24.876 16.718 1.00 0.00 H +ATOM 370 HD12 ILE A 23 27.472 23.621 16.609 1.00 0.00 H +ATOM 371 HD13 ILE A 23 28.877 23.552 15.537 1.00 0.00 H +ATOM 372 N GLU A 24 33.860 22.085 16.713 1.00 0.00 N +ATOM 373 H GLU A 24 33.460 21.214 17.029 1.00 0.00 H +ATOM 374 CA GLU A 24 35.320 22.169 16.567 1.00 0.00 C +ATOM 375 HA GLU A 24 35.689 22.967 17.212 1.00 0.00 H +ATOM 376 C GLU A 24 35.735 22.513 15.126 1.00 0.00 C +ATOM 377 O GLU A 24 36.561 23.401 14.926 1.00 0.00 O +ATOM 378 CB GLU A 24 35.960 20.846 17.018 1.00 0.00 C +ATOM 379 HB2 GLU A 24 35.689 20.052 16.323 1.00 0.00 H +ATOM 380 HB3 GLU A 24 35.575 20.580 18.003 1.00 0.00 H +ATOM 381 CG GLU A 24 37.488 20.944 17.108 1.00 0.00 C +ATOM 382 HG2 GLU A 24 37.896 21.154 16.120 1.00 0.00 H +ATOM 383 HG3 GLU A 24 37.749 21.778 17.759 1.00 0.00 H +ATOM 384 CD GLU A 24 38.096 19.634 17.656 1.00 0.00 C +ATOM 385 OE1 GLU A 24 38.358 18.701 16.857 1.00 0.00 O +ATOM 386 OE2 GLU A 24 38.329 19.535 18.886 1.00 0.00 O +ATOM 387 N ASN A 25 35.118 21.893 14.113 1.00 0.00 N +ATOM 388 H ASN A 25 34.439 21.175 14.319 1.00 0.00 H +ATOM 389 CA ASN A 25 35.383 22.208 12.705 1.00 0.00 C +ATOM 390 HA ASN A 25 36.462 22.201 12.555 1.00 0.00 H +ATOM 391 C ASN A 25 34.886 23.616 12.329 1.00 0.00 C +ATOM 392 O ASN A 25 35.562 24.332 11.596 1.00 0.00 O +ATOM 393 CB ASN A 25 34.762 21.102 11.834 1.00 0.00 C +ATOM 394 HB2 ASN A 25 35.007 20.127 12.256 1.00 0.00 H +ATOM 395 HB3 ASN A 25 33.676 21.200 11.829 1.00 0.00 H +ATOM 396 CG ASN A 25 35.298 21.107 10.409 1.00 0.00 C +ATOM 397 OD1 ASN A 25 36.494 21.022 10.174 1.00 0.00 O +ATOM 398 ND2 ASN A 25 34.444 21.192 9.411 1.00 0.00 N +ATOM 399 HD21 ASN A 25 34.805 21.039 8.480 1.00 0.00 H +ATOM 400 HD22 ASN A 25 33.447 21.248 9.567 1.00 0.00 H +ATOM 401 N VAL A 26 33.760 24.070 12.897 1.00 0.00 N +ATOM 402 H VAL A 26 33.227 23.422 13.459 1.00 0.00 H +ATOM 403 CA VAL A 26 33.293 25.470 12.773 1.00 0.00 C +ATOM 404 HA VAL A 26 33.220 25.728 11.716 1.00 0.00 H +ATOM 405 C VAL A 26 34.311 26.430 13.393 1.00 0.00 C +ATOM 406 O VAL A 26 34.737 27.374 12.734 1.00 0.00 O +ATOM 407 CB VAL A 26 31.898 25.652 13.407 1.00 0.00 C +ATOM 408 HB VAL A 26 31.942 25.349 14.454 1.00 0.00 H +ATOM 409 CG1 VAL A 26 31.396 27.101 13.359 1.00 0.00 C +ATOM 410 HG11 VAL A 26 32.053 27.753 13.935 1.00 0.00 H +ATOM 411 HG12 VAL A 26 30.400 27.159 13.798 1.00 0.00 H +ATOM 412 HG13 VAL A 26 31.350 27.451 12.328 1.00 0.00 H +ATOM 413 CG2 VAL A 26 30.847 24.789 12.701 1.00 0.00 C +ATOM 414 HG21 VAL A 26 31.148 23.742 12.675 1.00 0.00 H +ATOM 415 HG22 VAL A 26 29.911 24.854 13.256 1.00 0.00 H +ATOM 416 HG23 VAL A 26 30.693 25.137 11.679 1.00 0.00 H +ATOM 417 N LYS A 27 34.787 26.158 14.614 1.00 0.00 N +ATOM 418 H LYS A 27 34.406 25.363 15.106 1.00 0.00 H +ATOM 419 CA LYS A 27 35.829 26.962 15.279 1.00 0.00 C +ATOM 420 HA LYS A 27 35.491 27.997 15.326 1.00 0.00 H +ATOM 421 C LYS A 27 37.138 26.980 14.492 1.00 0.00 C +ATOM 422 O LYS A 27 37.751 28.037 14.385 1.00 0.00 O +ATOM 423 CB LYS A 27 36.082 26.456 16.711 1.00 0.00 C +ATOM 424 HB2 LYS A 27 36.229 25.376 16.701 1.00 0.00 H +ATOM 425 HB3 LYS A 27 37.005 26.916 17.065 1.00 0.00 H +ATOM 426 CG LYS A 27 34.966 26.810 17.710 1.00 0.00 C +ATOM 427 HG2 LYS A 27 34.799 27.887 17.701 1.00 0.00 H +ATOM 428 HG3 LYS A 27 34.035 26.316 17.434 1.00 0.00 H +ATOM 429 CD LYS A 27 35.387 26.379 19.124 1.00 0.00 C +ATOM 430 HD2 LYS A 27 36.401 26.733 19.312 1.00 0.00 H +ATOM 431 HD3 LYS A 27 35.386 25.290 19.182 1.00 0.00 H +ATOM 432 CE LYS A 27 34.476 26.956 20.217 1.00 0.00 C +ATOM 433 HE2 LYS A 27 34.416 28.038 20.104 1.00 0.00 H +ATOM 434 HE3 LYS A 27 33.473 26.545 20.099 1.00 0.00 H +ATOM 435 NZ LYS A 27 35.009 26.623 21.572 1.00 0.00 N +ATOM 436 HZ1 LYS A 27 34.972 25.624 21.716 1.00 0.00 H +ATOM 437 HZ2 LYS A 27 34.448 27.046 22.298 1.00 0.00 H +ATOM 438 HZ3 LYS A 27 35.959 26.943 21.689 1.00 0.00 H +ATOM 439 N ALA A 28 37.536 25.865 13.883 1.00 0.00 N +ATOM 440 H ALA A 28 37.031 25.012 14.077 1.00 0.00 H +ATOM 441 CA ALA A 28 38.715 25.791 13.017 1.00 0.00 C +ATOM 442 HA ALA A 28 39.574 26.184 13.562 1.00 0.00 H +ATOM 443 C ALA A 28 38.552 26.641 11.743 1.00 0.00 C +ATOM 444 O ALA A 28 39.459 27.389 11.387 1.00 0.00 O +ATOM 445 CB ALA A 28 38.993 24.318 12.694 1.00 0.00 C +ATOM 446 HB1 ALA A 28 39.117 23.753 13.618 1.00 0.00 H +ATOM 447 HB2 ALA A 28 38.169 23.891 12.122 1.00 0.00 H +ATOM 448 HB3 ALA A 28 39.909 24.237 12.109 1.00 0.00 H +ATOM 449 N LYS A 29 37.372 26.627 11.103 1.00 0.00 N +ATOM 450 H LYS A 29 36.672 25.967 11.411 1.00 0.00 H +ATOM 451 CA LYS A 29 37.067 27.504 9.949 1.00 0.00 C +ATOM 452 HA LYS A 29 37.863 27.407 9.210 1.00 0.00 H +ATOM 453 C LYS A 29 37.046 28.988 10.341 1.00 0.00 C +ATOM 454 O LYS A 29 37.587 29.820 9.620 1.00 0.00 O +ATOM 455 CB LYS A 29 35.744 27.062 9.298 1.00 0.00 C +ATOM 456 HB2 LYS A 29 34.965 27.008 10.059 1.00 0.00 H +ATOM 457 HB3 LYS A 29 35.456 27.806 8.554 1.00 0.00 H +ATOM 458 CG LYS A 29 35.863 25.714 8.566 1.00 0.00 C +ATOM 459 HG2 LYS A 29 36.368 24.986 9.201 1.00 0.00 H +ATOM 460 HG3 LYS A 29 36.465 25.857 7.669 1.00 0.00 H +ATOM 461 CD LYS A 29 34.476 25.163 8.188 1.00 0.00 C +ATOM 462 HD2 LYS A 29 33.943 24.932 9.110 1.00 0.00 H +ATOM 463 HD3 LYS A 29 33.902 25.915 7.647 1.00 0.00 H +ATOM 464 CE LYS A 29 34.576 23.874 7.350 1.00 0.00 C +ATOM 465 HE2 LYS A 29 33.646 23.317 7.470 1.00 0.00 H +ATOM 466 HE3 LYS A 29 35.381 23.257 7.750 1.00 0.00 H +ATOM 467 NZ LYS A 29 34.795 24.141 5.890 1.00 0.00 N +ATOM 468 HZ1 LYS A 29 35.629 24.683 5.712 1.00 0.00 H +ATOM 469 HZ2 LYS A 29 34.892 23.278 5.374 1.00 0.00 H +ATOM 470 HZ3 LYS A 29 34.004 24.625 5.490 1.00 0.00 H +ATOM 471 N ILE A 30 36.522 29.324 11.524 1.00 0.00 N +ATOM 472 H ILE A 30 36.046 28.603 12.047 1.00 0.00 H +ATOM 473 CA ILE A 30 36.615 30.685 12.096 1.00 0.00 C +ATOM 474 HA ILE A 30 36.234 31.403 11.370 1.00 0.00 H +ATOM 475 C ILE A 30 38.077 31.068 12.366 1.00 0.00 C +ATOM 476 O ILE A 30 38.489 32.172 12.025 1.00 0.00 O +ATOM 477 CB ILE A 30 35.750 30.791 13.373 1.00 0.00 C +ATOM 478 HB ILE A 30 36.030 29.974 14.039 1.00 0.00 H +ATOM 479 CG1 ILE A 30 34.251 30.648 13.028 1.00 0.00 C +ATOM 480 HG12 ILE A 30 34.107 29.803 12.355 1.00 0.00 H +ATOM 481 HG13 ILE A 30 33.912 31.545 12.509 1.00 0.00 H +ATOM 482 CG2 ILE A 30 35.988 32.123 14.112 1.00 0.00 C +ATOM 483 HG21 ILE A 30 35.403 32.142 15.032 1.00 0.00 H +ATOM 484 HG22 ILE A 30 35.702 32.967 13.484 1.00 0.00 H +ATOM 485 HG23 ILE A 30 37.031 32.230 14.409 1.00 0.00 H +ATOM 486 CD1 ILE A 30 33.356 30.413 14.251 1.00 0.00 C +ATOM 487 HD11 ILE A 30 33.356 31.283 14.906 1.00 0.00 H +ATOM 488 HD12 ILE A 30 32.333 30.230 13.920 1.00 0.00 H +ATOM 489 HD13 ILE A 30 33.708 29.541 14.802 1.00 0.00 H +ATOM 490 N GLN A 31 38.895 30.168 12.914 1.00 0.00 N +ATOM 491 H GLN A 31 38.522 29.273 13.197 1.00 0.00 H +ATOM 492 CA GLN A 31 40.329 30.421 13.106 1.00 0.00 C +ATOM 493 HA GLN A 31 40.437 31.335 13.690 1.00 0.00 H +ATOM 494 C GLN A 31 41.048 30.638 11.758 1.00 0.00 C +ATOM 495 O GLN A 31 41.917 31.500 11.666 1.00 0.00 O +ATOM 496 CB GLN A 31 40.946 29.266 13.912 1.00 0.00 C +ATOM 497 HB2 GLN A 31 40.340 29.089 14.801 1.00 0.00 H +ATOM 498 HB3 GLN A 31 40.940 28.362 13.303 1.00 0.00 H +ATOM 499 CG GLN A 31 42.389 29.565 14.360 1.00 0.00 C +ATOM 500 HG2 GLN A 31 43.002 29.803 13.491 1.00 0.00 H +ATOM 501 HG3 GLN A 31 42.382 30.433 15.019 1.00 0.00 H +ATOM 502 CD GLN A 31 43.059 28.398 15.091 1.00 0.00 C +ATOM 503 OE1 GLN A 31 42.548 27.291 15.194 1.00 0.00 O +ATOM 504 NE2 GLN A 31 44.244 28.604 15.630 1.00 0.00 N +ATOM 505 HE21 GLN A 31 44.711 29.495 15.542 1.00 0.00 H +ATOM 506 HE22 GLN A 31 44.699 27.828 16.089 1.00 0.00 H +ATOM 507 N ASP A 32 40.653 29.930 10.697 1.00 0.00 N +ATOM 508 H ASP A 32 39.992 29.180 10.841 1.00 0.00 H +ATOM 509 CA ASP A 32 41.253 30.065 9.365 1.00 0.00 C +ATOM 510 HA ASP A 32 42.333 29.964 9.474 1.00 0.00 H +ATOM 511 C ASP A 32 40.992 31.434 8.695 1.00 0.00 C +ATOM 512 O ASP A 32 41.922 31.981 8.092 1.00 0.00 O +ATOM 513 CB ASP A 32 40.776 28.912 8.473 1.00 0.00 C +ATOM 514 HB2 ASP A 32 39.697 28.986 8.334 1.00 0.00 H +ATOM 515 HB3 ASP A 32 40.985 27.965 8.970 1.00 0.00 H +ATOM 516 CG ASP A 32 41.479 28.927 7.101 1.00 0.00 C +ATOM 517 OD1 ASP A 32 42.692 28.607 7.041 1.00 0.00 O +ATOM 518 OD2 ASP A 32 40.817 29.232 6.080 1.00 0.00 O +ATOM 519 N LYS A 33 39.777 32.013 8.820 1.00 0.00 N +ATOM 520 H LYS A 33 39.052 31.481 9.280 1.00 0.00 H +ATOM 521 CA LYS A 33 39.436 33.318 8.194 1.00 0.00 C +ATOM 522 HA LYS A 33 40.254 33.570 7.520 1.00 0.00 H +ATOM 523 C LYS A 33 39.378 34.544 9.125 1.00 0.00 C +ATOM 524 O LYS A 33 39.520 35.665 8.639 1.00 0.00 O +ATOM 525 CB LYS A 33 38.212 33.199 7.265 1.00 0.00 C +ATOM 526 HB2 LYS A 33 38.129 34.138 6.717 1.00 0.00 H +ATOM 527 HB3 LYS A 33 38.413 32.414 6.537 1.00 0.00 H +ATOM 528 CG LYS A 33 36.860 32.913 7.946 1.00 0.00 C +ATOM 529 HG2 LYS A 33 36.766 33.529 8.840 1.00 0.00 H +ATOM 530 HG3 LYS A 33 36.820 31.866 8.247 1.00 0.00 H +ATOM 531 CD LYS A 33 35.665 33.224 7.018 1.00 0.00 C +ATOM 532 HD2 LYS A 33 35.680 34.288 6.783 1.00 0.00 H +ATOM 533 HD3 LYS A 33 34.741 33.015 7.557 1.00 0.00 H +ATOM 534 CE LYS A 33 35.679 32.410 5.707 1.00 0.00 C +ATOM 535 HE2 LYS A 33 35.585 31.351 5.950 1.00 0.00 H +ATOM 536 HE3 LYS A 33 36.639 32.545 5.210 1.00 0.00 H +ATOM 537 NZ LYS A 33 34.579 32.824 4.773 1.00 0.00 N +ATOM 538 HZ1 LYS A 33 33.667 32.711 5.191 1.00 0.00 H +ATOM 539 HZ2 LYS A 33 34.591 32.271 3.928 1.00 0.00 H +ATOM 540 HZ3 LYS A 33 34.670 33.788 4.486 1.00 0.00 H +ATOM 541 N GLU A 34 39.225 34.361 10.439 1.00 0.00 N +ATOM 542 H GLU A 34 39.057 33.421 10.769 1.00 0.00 H +ATOM 543 CA GLU A 34 39.206 35.447 11.444 1.00 0.00 C +ATOM 544 HA GLU A 34 39.348 36.404 10.942 1.00 0.00 H +ATOM 545 C GLU A 34 40.351 35.374 12.479 1.00 0.00 C +ATOM 546 O GLU A 34 40.546 36.323 13.240 1.00 0.00 O +ATOM 547 CB GLU A 34 37.836 35.500 12.148 1.00 0.00 C +ATOM 548 HB2 GLU A 34 37.893 36.173 13.003 1.00 0.00 H +ATOM 549 HB3 GLU A 34 37.588 34.512 12.537 1.00 0.00 H +ATOM 550 CG GLU A 34 36.691 35.981 11.243 1.00 0.00 C +ATOM 551 HG2 GLU A 34 35.767 35.939 11.820 1.00 0.00 H +ATOM 552 HG3 GLU A 34 36.581 35.285 10.412 1.00 0.00 H +ATOM 553 CD GLU A 34 36.885 37.425 10.713 1.00 0.00 C +ATOM 554 OE1 GLU A 34 37.379 38.308 11.455 1.00 0.00 O +ATOM 555 OE2 GLU A 34 36.496 37.704 9.553 1.00 0.00 O +ATOM 556 N GLY A 35 41.131 34.284 12.520 1.00 0.00 N +ATOM 557 H GLY A 35 40.962 33.538 11.861 1.00 0.00 H +ATOM 558 CA GLY A 35 42.329 34.164 13.372 1.00 0.00 C +ATOM 559 HA2 GLY A 35 42.940 33.337 13.012 1.00 0.00 H +ATOM 560 HA3 GLY A 35 42.921 35.074 13.270 1.00 0.00 H +ATOM 561 C GLY A 35 42.073 33.940 14.871 1.00 0.00 C +ATOM 562 O GLY A 35 43.025 33.941 15.651 1.00 0.00 O +ATOM 563 N ILE A 36 40.813 33.755 15.296 1.00 0.00 N +ATOM 564 H ILE A 36 40.083 33.744 14.598 1.00 0.00 H +ATOM 565 CA ILE A 36 40.429 33.694 16.721 1.00 0.00 C +ATOM 566 HA ILE A 36 40.993 34.466 17.245 1.00 0.00 H +ATOM 567 C ILE A 36 40.777 32.310 17.300 1.00 0.00 C +ATOM 568 O ILE A 36 40.313 31.313 16.747 1.00 0.00 O +ATOM 569 CB ILE A 36 38.924 34.015 16.928 1.00 0.00 C +ATOM 570 HB ILE A 36 38.342 33.178 16.542 1.00 0.00 H +ATOM 571 CG1 ILE A 36 38.470 35.292 16.179 1.00 0.00 C +ATOM 572 HG12 ILE A 36 38.941 36.166 16.628 1.00 0.00 H +ATOM 573 HG13 ILE A 36 38.784 35.242 15.136 1.00 0.00 H +ATOM 574 CG2 ILE A 36 38.631 34.172 18.440 1.00 0.00 C +ATOM 575 HG21 ILE A 36 38.943 33.292 19.004 1.00 0.00 H +ATOM 576 HG22 ILE A 36 37.564 34.308 18.617 1.00 0.00 H +ATOM 577 HG23 ILE A 36 39.159 35.039 18.836 1.00 0.00 H +ATOM 578 CD1 ILE A 36 36.948 35.494 16.151 1.00 0.00 C +ATOM 579 HD11 ILE A 36 36.557 35.659 17.155 1.00 0.00 H +ATOM 580 HD12 ILE A 36 36.466 34.621 15.711 1.00 0.00 H +ATOM 581 HD13 ILE A 36 36.713 36.368 15.543 1.00 0.00 H +ATOM 582 N PRO A 37 41.498 32.190 18.432 1.00 0.00 N +ATOM 583 CA PRO A 37 41.801 30.891 19.048 1.00 0.00 C +ATOM 584 HA PRO A 37 42.372 30.308 18.325 1.00 0.00 H +ATOM 585 C PRO A 37 40.546 30.126 19.506 1.00 0.00 C +ATOM 586 O PRO A 37 39.725 30.709 20.211 1.00 0.00 O +ATOM 587 CB PRO A 37 42.725 31.205 20.234 1.00 0.00 C +ATOM 588 HB2 PRO A 37 42.142 31.404 21.134 1.00 0.00 H +ATOM 589 HB3 PRO A 37 43.442 30.404 20.414 1.00 0.00 H +ATOM 590 CG PRO A 37 43.420 32.491 19.790 1.00 0.00 C +ATOM 591 HG2 PRO A 37 43.811 33.059 20.634 1.00 0.00 H +ATOM 592 HG3 PRO A 37 44.217 32.253 19.086 1.00 0.00 H +ATOM 593 CD PRO A 37 42.300 33.233 19.063 1.00 0.00 C +ATOM 594 HD2 PRO A 37 41.686 33.787 19.774 1.00 0.00 H +ATOM 595 HD3 PRO A 37 42.740 33.914 18.335 1.00 0.00 H +ATOM 596 N PRO A 38 40.375 28.827 19.184 1.00 0.00 N +ATOM 597 CA PRO A 38 39.187 28.034 19.549 1.00 0.00 C +ATOM 598 HA PRO A 38 38.335 28.424 18.992 1.00 0.00 H +ATOM 599 C PRO A 38 38.807 28.016 21.036 1.00 0.00 C +ATOM 600 O PRO A 38 37.624 27.911 21.347 1.00 0.00 O +ATOM 601 CB PRO A 38 39.495 26.617 19.047 1.00 0.00 C +ATOM 602 HB2 PRO A 38 40.095 26.078 19.780 1.00 0.00 H +ATOM 603 HB3 PRO A 38 38.593 26.053 18.811 1.00 0.00 H +ATOM 604 CG PRO A 38 40.335 26.878 17.801 1.00 0.00 C +ATOM 605 HG2 PRO A 38 40.947 26.017 17.535 1.00 0.00 H +ATOM 606 HG3 PRO A 38 39.689 27.165 16.971 1.00 0.00 H +ATOM 607 CD PRO A 38 41.186 28.071 18.230 1.00 0.00 C +ATOM 608 HD2 PRO A 38 42.098 27.720 18.713 1.00 0.00 H +ATOM 609 HD3 PRO A 38 41.429 28.665 17.349 1.00 0.00 H +ATOM 610 N ASP A 39 39.767 28.182 21.953 1.00 0.00 N +ATOM 611 H ASP A 39 40.731 28.178 21.652 1.00 0.00 H +ATOM 612 CA ASP A 39 39.487 28.305 23.398 1.00 0.00 C +ATOM 613 HA ASP A 39 38.792 27.521 23.698 1.00 0.00 H +ATOM 614 C ASP A 39 38.842 29.654 23.758 1.00 0.00 C +ATOM 615 O ASP A 39 37.928 29.706 24.581 1.00 0.00 O +ATOM 616 CB ASP A 39 40.798 28.102 24.171 1.00 0.00 C +ATOM 617 HB2 ASP A 39 41.520 28.849 23.841 1.00 0.00 H +ATOM 618 HB3 ASP A 39 41.202 27.121 23.924 1.00 0.00 H +ATOM 619 CG ASP A 39 40.610 28.203 25.698 1.00 0.00 C +ATOM 620 OD1 ASP A 39 41.114 29.187 26.293 1.00 0.00 O +ATOM 621 OD2 ASP A 39 40.001 27.284 26.298 1.00 0.00 O +ATOM 622 N GLN A 40 39.248 30.745 23.090 1.00 0.00 N +ATOM 623 H GLN A 40 39.956 30.643 22.378 1.00 0.00 H +ATOM 624 CA GLN A 40 38.622 32.063 23.278 1.00 0.00 C +ATOM 625 HA GLN A 40 38.380 32.183 24.334 1.00 0.00 H +ATOM 626 C GLN A 40 37.289 32.184 22.528 1.00 0.00 C +ATOM 627 O GLN A 40 36.442 32.964 22.946 1.00 0.00 O +ATOM 628 CB GLN A 40 39.597 33.197 22.912 1.00 0.00 C +ATOM 629 HB2 GLN A 40 39.929 33.085 21.880 1.00 0.00 H +ATOM 630 HB3 GLN A 40 39.068 34.146 23.002 1.00 0.00 H +ATOM 631 CG GLN A 40 40.816 33.231 23.855 1.00 0.00 C +ATOM 632 HG2 GLN A 40 40.482 33.075 24.881 1.00 0.00 H +ATOM 633 HG3 GLN A 40 41.498 32.421 23.598 1.00 0.00 H +ATOM 634 CD GLN A 40 41.571 34.563 23.800 1.00 0.00 C +ATOM 635 OE1 GLN A 40 41.565 35.357 24.732 1.00 0.00 O +ATOM 636 NE2 GLN A 40 42.259 34.866 22.716 1.00 0.00 N +ATOM 637 HE21 GLN A 40 42.314 34.231 21.933 1.00 0.00 H +ATOM 638 HE22 GLN A 40 42.757 35.745 22.707 1.00 0.00 H +ATOM 639 N GLN A 41 37.051 31.389 21.475 1.00 0.00 N +ATOM 640 H GLN A 41 37.795 30.783 21.159 1.00 0.00 H +ATOM 641 CA GLN A 41 35.756 31.358 20.773 1.00 0.00 C +ATOM 642 HA GLN A 41 35.471 32.379 20.519 1.00 0.00 H +ATOM 643 C GLN A 41 34.637 30.753 21.635 1.00 0.00 C +ATOM 644 O GLN A 41 34.687 29.579 21.999 1.00 0.00 O +ATOM 645 CB GLN A 41 35.860 30.548 19.466 1.00 0.00 C +ATOM 646 HB2 GLN A 41 36.231 29.549 19.695 1.00 0.00 H +ATOM 647 HB3 GLN A 41 34.854 30.445 19.058 1.00 0.00 H +ATOM 648 CG GLN A 41 36.754 31.176 18.382 1.00 0.00 C +ATOM 649 HG2 GLN A 41 37.781 31.234 18.740 1.00 0.00 H +ATOM 650 HG3 GLN A 41 36.400 32.182 18.153 1.00 0.00 H +ATOM 651 CD GLN A 41 36.715 30.361 17.099 1.00 0.00 C +ATOM 652 OE1 GLN A 41 35.663 29.960 16.645 1.00 0.00 O +ATOM 653 NE2 GLN A 41 37.827 30.057 16.467 1.00 0.00 N +ATOM 654 HE21 GLN A 41 37.750 29.463 15.653 1.00 0.00 H +ATOM 655 HE22 GLN A 41 38.726 30.426 16.742 1.00 0.00 H +ATOM 656 N ARG A 42 33.563 31.508 21.873 1.00 0.00 N +ATOM 657 H ARG A 42 33.615 32.486 21.626 1.00 0.00 H +ATOM 658 CA ARG A 42 32.264 31.022 22.389 1.00 0.00 C +ATOM 659 HA ARG A 42 32.327 29.959 22.620 1.00 0.00 H +ATOM 660 C ARG A 42 31.216 31.203 21.285 1.00 0.00 C +ATOM 661 O ARG A 42 31.176 32.258 20.669 1.00 0.00 O +ATOM 662 CB ARG A 42 31.964 31.800 23.695 1.00 0.00 C +ATOM 663 HB2 ARG A 42 32.702 31.506 24.442 1.00 0.00 H +ATOM 664 HB3 ARG A 42 32.115 32.864 23.515 1.00 0.00 H +ATOM 665 CG ARG A 42 30.554 31.613 24.285 1.00 0.00 C +ATOM 666 HG2 ARG A 42 30.357 30.553 24.439 1.00 0.00 H +ATOM 667 HG3 ARG A 42 29.817 32.015 23.588 1.00 0.00 H +ATOM 668 CD ARG A 42 30.426 32.356 25.626 1.00 0.00 C +ATOM 669 HD2 ARG A 42 30.821 33.366 25.512 1.00 0.00 H +ATOM 670 HD3 ARG A 42 31.025 31.833 26.370 1.00 0.00 H +ATOM 671 NE ARG A 42 29.016 32.445 26.083 1.00 0.00 N +ATOM 672 HE ARG A 42 28.294 32.098 25.466 1.00 0.00 H +ATOM 673 CZ ARG A 42 28.601 32.976 27.230 1.00 0.00 C +ATOM 674 NH1 ARG A 42 29.431 33.460 28.116 1.00 0.00 N +ATOM 675 HH11 ARG A 42 30.427 33.435 27.953 1.00 0.00 H +ATOM 676 HH12 ARG A 42 29.082 33.855 28.978 1.00 0.00 H +ATOM 677 NH2 ARG A 42 27.326 33.035 27.514 1.00 0.00 N +ATOM 678 HH21 ARG A 42 26.627 32.707 26.863 1.00 0.00 H +ATOM 679 HH22 ARG A 42 27.022 33.439 28.388 1.00 0.00 H +ATOM 680 N LEU A 43 30.382 30.195 21.026 1.00 0.00 N +ATOM 681 H LEU A 43 30.430 29.365 21.600 1.00 0.00 H +ATOM 682 CA LEU A 43 29.368 30.220 19.954 1.00 0.00 C +ATOM 683 HA LEU A 43 29.341 31.213 19.506 1.00 0.00 H +ATOM 684 C LEU A 43 27.970 29.954 20.516 1.00 0.00 C +ATOM 685 O LEU A 43 27.822 29.179 21.455 1.00 0.00 O +ATOM 686 CB LEU A 43 29.734 29.186 18.865 1.00 0.00 C +ATOM 687 HB2 LEU A 43 30.001 28.252 19.359 1.00 0.00 H +ATOM 688 HB3 LEU A 43 28.856 28.994 18.248 1.00 0.00 H +ATOM 689 CG LEU A 43 30.882 29.607 17.930 1.00 0.00 C +ATOM 690 HG LEU A 43 31.712 29.995 18.519 1.00 0.00 H +ATOM 691 CD1 LEU A 43 31.373 28.396 17.134 1.00 0.00 C +ATOM 692 HD11 LEU A 43 32.203 28.691 16.492 1.00 0.00 H +ATOM 693 HD12 LEU A 43 31.730 27.627 17.819 1.00 0.00 H +ATOM 694 HD13 LEU A 43 30.568 27.991 16.522 1.00 0.00 H +ATOM 695 CD2 LEU A 43 30.424 30.672 16.930 1.00 0.00 C +ATOM 696 HD21 LEU A 43 30.099 31.572 17.453 1.00 0.00 H +ATOM 697 HD22 LEU A 43 31.254 30.936 16.274 1.00 0.00 H +ATOM 698 HD23 LEU A 43 29.601 30.295 16.323 1.00 0.00 H +ATOM 699 N ILE A 44 26.945 30.581 19.938 1.00 0.00 N +ATOM 700 H ILE A 44 27.154 31.235 19.197 1.00 0.00 H +ATOM 701 CA ILE A 44 25.542 30.500 20.385 1.00 0.00 C +ATOM 702 HA ILE A 44 25.423 29.616 21.011 1.00 0.00 H +ATOM 703 C ILE A 44 24.617 30.350 19.165 1.00 0.00 C +ATOM 704 O ILE A 44 24.816 31.026 18.157 1.00 0.00 O +ATOM 705 CB ILE A 44 25.168 31.754 21.226 1.00 0.00 C +ATOM 706 HB ILE A 44 25.207 32.621 20.566 1.00 0.00 H +ATOM 707 CG1 ILE A 44 26.171 32.009 22.381 1.00 0.00 C +ATOM 708 HG12 ILE A 44 27.173 32.123 21.968 1.00 0.00 H +ATOM 709 HG13 ILE A 44 26.175 31.151 23.054 1.00 0.00 H +ATOM 710 CG2 ILE A 44 23.733 31.647 21.785 1.00 0.00 C +ATOM 711 HG21 ILE A 44 23.665 30.829 22.503 1.00 0.00 H +ATOM 712 HG22 ILE A 44 23.448 32.575 22.281 1.00 0.00 H +ATOM 713 HG23 ILE A 44 23.009 31.489 20.986 1.00 0.00 H +ATOM 714 CD1 ILE A 44 25.905 33.283 23.195 1.00 0.00 C +ATOM 715 HD11 ILE A 44 26.747 33.469 23.861 1.00 0.00 H +ATOM 716 HD12 ILE A 44 25.794 34.137 22.525 1.00 0.00 H +ATOM 717 HD13 ILE A 44 25.006 33.173 23.801 1.00 0.00 H +ATOM 718 N PHE A 45 23.587 29.503 19.259 1.00 0.00 N +ATOM 719 H PHE A 45 23.497 28.955 20.102 1.00 0.00 H +ATOM 720 CA PHE A 45 22.470 29.429 18.298 1.00 0.00 C +ATOM 721 HA PHE A 45 22.270 30.425 17.902 1.00 0.00 H +ATOM 722 C PHE A 45 21.197 28.939 19.000 1.00 0.00 C +ATOM 723 O PHE A 45 21.290 28.193 19.968 1.00 0.00 O +ATOM 724 CB PHE A 45 22.853 28.509 17.126 1.00 0.00 C +ATOM 725 HB2 PHE A 45 23.190 27.549 17.517 1.00 0.00 H +ATOM 726 HB3 PHE A 45 23.694 28.963 16.603 1.00 0.00 H +ATOM 727 CG PHE A 45 21.751 28.242 16.117 1.00 0.00 C +ATOM 728 CD1 PHE A 45 21.437 29.206 15.141 1.00 0.00 C +ATOM 729 HD1 PHE A 45 21.975 30.142 15.114 1.00 0.00 H +ATOM 730 CD2 PHE A 45 21.034 27.030 16.155 1.00 0.00 C +ATOM 731 HD2 PHE A 45 21.261 26.284 16.903 1.00 0.00 H +ATOM 732 CE1 PHE A 45 20.419 28.956 14.204 1.00 0.00 C +ATOM 733 HE1 PHE A 45 20.170 29.704 13.466 1.00 0.00 H +ATOM 734 CE2 PHE A 45 20.026 26.775 15.209 1.00 0.00 C +ATOM 735 HE2 PHE A 45 19.485 25.840 15.235 1.00 0.00 H +ATOM 736 CZ PHE A 45 19.718 27.738 14.232 1.00 0.00 C +ATOM 737 HZ PHE A 45 18.938 27.544 13.512 1.00 0.00 H +ATOM 738 N ALA A 46 20.010 29.356 18.542 1.00 0.00 N +ATOM 739 H ALA A 46 19.995 29.946 17.722 1.00 0.00 H +ATOM 740 CA ALA A 46 18.702 28.921 19.072 1.00 0.00 C +ATOM 741 HA ALA A 46 17.966 29.648 18.728 1.00 0.00 H +ATOM 742 C ALA A 46 18.596 28.939 20.619 1.00 0.00 C +ATOM 743 O ALA A 46 18.097 27.993 21.236 1.00 0.00 O +ATOM 744 CB ALA A 46 18.330 27.580 18.419 1.00 0.00 C +ATOM 745 HB1 ALA A 46 19.041 26.808 18.714 1.00 0.00 H +ATOM 746 HB2 ALA A 46 17.325 27.285 18.720 1.00 0.00 H +ATOM 747 HB3 ALA A 46 18.348 27.685 17.334 1.00 0.00 H +ATOM 748 N GLY A 47 19.131 29.990 21.257 1.00 0.00 N +ATOM 749 H GLY A 47 19.504 30.744 20.699 1.00 0.00 H +ATOM 750 CA GLY A 47 19.135 30.160 22.721 1.00 0.00 C +ATOM 751 HA2 GLY A 47 18.131 29.973 23.101 1.00 0.00 H +ATOM 752 HA3 GLY A 47 19.390 31.195 22.950 1.00 0.00 H +ATOM 753 C GLY A 47 20.109 29.260 23.504 1.00 0.00 C +ATOM 754 O GLY A 47 20.033 29.226 24.734 1.00 0.00 O +ATOM 755 N LYS A 48 21.009 28.527 22.823 1.00 0.00 N +ATOM 756 H LYS A 48 21.025 28.610 21.817 1.00 0.00 H +ATOM 757 CA LYS A 48 21.927 27.529 23.411 1.00 0.00 C +ATOM 758 HA LYS A 48 21.847 27.553 24.498 1.00 0.00 H +ATOM 759 C LYS A 48 23.385 27.826 23.056 1.00 0.00 C +ATOM 760 O LYS A 48 23.680 28.237 21.937 1.00 0.00 O +ATOM 761 CB LYS A 48 21.517 26.125 22.921 1.00 0.00 C +ATOM 762 HB2 LYS A 48 21.436 26.135 21.834 1.00 0.00 H +ATOM 763 HB3 LYS A 48 22.289 25.407 23.196 1.00 0.00 H +ATOM 764 CG LYS A 48 20.186 25.670 23.547 1.00 0.00 C +ATOM 765 HG2 LYS A 48 20.338 25.560 24.621 1.00 0.00 H +ATOM 766 HG3 LYS A 48 19.418 26.429 23.398 1.00 0.00 H +ATOM 767 CD LYS A 48 19.686 24.327 22.988 1.00 0.00 C +ATOM 768 HD2 LYS A 48 20.513 23.617 22.993 1.00 0.00 H +ATOM 769 HD3 LYS A 48 18.922 23.933 23.658 1.00 0.00 H +ATOM 770 CE LYS A 48 19.104 24.406 21.562 1.00 0.00 C +ATOM 771 HE2 LYS A 48 19.827 24.880 20.898 1.00 0.00 H +ATOM 772 HE3 LYS A 48 18.962 23.386 21.208 1.00 0.00 H +ATOM 773 NZ LYS A 48 17.791 25.129 21.510 1.00 0.00 N +ATOM 774 HZ1 LYS A 48 17.363 25.036 20.600 1.00 0.00 H +ATOM 775 HZ2 LYS A 48 17.131 24.756 22.177 1.00 0.00 H +ATOM 776 HZ3 LYS A 48 17.890 26.119 21.683 1.00 0.00 H +ATOM 777 N GLN A 49 24.310 27.588 23.989 1.00 0.00 N +ATOM 778 H GLN A 49 24.009 27.229 24.884 1.00 0.00 H +ATOM 779 CA GLN A 49 25.755 27.649 23.716 1.00 0.00 C +ATOM 780 HA GLN A 49 25.935 28.482 23.037 1.00 0.00 H +ATOM 781 C GLN A 49 26.218 26.353 23.026 1.00 0.00 C +ATOM 782 O GLN A 49 25.780 25.260 23.391 1.00 0.00 O +ATOM 783 CB GLN A 49 26.533 27.921 25.017 1.00 0.00 C +ATOM 784 HB2 GLN A 49 26.588 27.004 25.605 1.00 0.00 H +ATOM 785 HB3 GLN A 49 25.992 28.668 25.597 1.00 0.00 H +ATOM 786 CG GLN A 49 27.953 28.451 24.742 1.00 0.00 C +ATOM 787 HG2 GLN A 49 28.464 27.781 24.051 1.00 0.00 H +ATOM 788 HG3 GLN A 49 27.881 29.432 24.275 1.00 0.00 H +ATOM 789 CD GLN A 49 28.814 28.571 26.003 1.00 0.00 C +ATOM 790 OE1 GLN A 49 29.929 28.072 26.067 1.00 0.00 O +ATOM 791 NE2 GLN A 49 28.367 29.266 27.030 1.00 0.00 N +ATOM 792 HE21 GLN A 49 28.953 29.316 27.851 1.00 0.00 H +ATOM 793 HE22 GLN A 49 27.435 29.657 27.048 1.00 0.00 H +ATOM 794 N LEU A 50 27.096 26.475 22.026 1.00 0.00 N +ATOM 795 H LEU A 50 27.465 27.392 21.819 1.00 0.00 H +ATOM 796 CA LEU A 50 27.509 25.360 21.165 1.00 0.00 C +ATOM 797 HA LEU A 50 26.761 24.572 21.241 1.00 0.00 H +ATOM 798 C LEU A 50 28.845 24.758 21.638 1.00 0.00 C +ATOM 799 O LEU A 50 29.784 25.491 21.946 1.00 0.00 O +ATOM 800 CB LEU A 50 27.533 25.814 19.691 1.00 0.00 C +ATOM 801 HB2 LEU A 50 28.428 26.413 19.525 1.00 0.00 H +ATOM 802 HB3 LEU A 50 27.599 24.923 19.068 1.00 0.00 H +ATOM 803 CG LEU A 50 26.312 26.632 19.224 1.00 0.00 C +ATOM 804 HG LEU A 50 26.297 27.585 19.752 1.00 0.00 H +ATOM 805 CD1 LEU A 50 26.428 26.921 17.726 1.00 0.00 C +ATOM 806 HD11 LEU A 50 27.390 27.384 17.505 1.00 0.00 H +ATOM 807 HD12 LEU A 50 26.341 25.996 17.155 1.00 0.00 H +ATOM 808 HD13 LEU A 50 25.634 27.605 17.427 1.00 0.00 H +ATOM 809 CD2 LEU A 50 24.985 25.919 19.472 1.00 0.00 C +ATOM 810 HD21 LEU A 50 24.155 26.573 19.206 1.00 0.00 H +ATOM 811 HD22 LEU A 50 24.937 25.008 18.875 1.00 0.00 H +ATOM 812 HD23 LEU A 50 24.866 25.666 20.525 1.00 0.00 H +ATOM 813 N GLU A 51 28.928 23.427 21.693 1.00 0.00 N +ATOM 814 H GLU A 51 28.130 22.885 21.395 1.00 0.00 H +ATOM 815 CA GLU A 51 30.036 22.677 22.301 1.00 0.00 C +ATOM 816 HA GLU A 51 30.692 23.369 22.830 1.00 0.00 H +ATOM 817 C GLU A 51 30.873 21.946 21.245 1.00 0.00 C +ATOM 818 O GLU A 51 30.324 21.254 20.394 1.00 0.00 O +ATOM 819 CB GLU A 51 29.459 21.699 23.339 1.00 0.00 C +ATOM 820 HB2 GLU A 51 28.807 20.984 22.839 1.00 0.00 H +ATOM 821 HB3 GLU A 51 28.862 22.266 24.054 1.00 0.00 H +ATOM 822 CG GLU A 51 30.543 20.931 24.107 1.00 0.00 C +ATOM 823 HG2 GLU A 51 31.238 21.647 24.546 1.00 0.00 H +ATOM 824 HG3 GLU A 51 31.105 20.307 23.413 1.00 0.00 H +ATOM 825 CD GLU A 51 29.921 20.052 25.215 1.00 0.00 C +ATOM 826 OE1 GLU A 51 29.720 20.551 26.350 1.00 0.00 O +ATOM 827 OE2 GLU A 51 29.645 18.852 24.965 1.00 0.00 O +ATOM 828 N ASP A 52 32.203 22.066 21.321 1.00 0.00 N +ATOM 829 H ASP A 52 32.572 22.709 22.007 1.00 0.00 H +ATOM 830 CA ASP A 52 33.168 21.623 20.300 1.00 0.00 C +ATOM 831 HA ASP A 52 33.114 22.327 19.469 1.00 0.00 H +ATOM 832 C ASP A 52 32.916 20.217 19.722 1.00 0.00 C +ATOM 833 O ASP A 52 32.976 20.038 18.505 1.00 0.00 O +ATOM 834 CB ASP A 52 34.607 21.703 20.853 1.00 0.00 C +ATOM 835 HB2 ASP A 52 34.721 20.928 21.611 1.00 0.00 H +ATOM 836 HB3 ASP A 52 35.299 21.472 20.043 1.00 0.00 H +ATOM 837 CG ASP A 52 35.034 23.047 21.482 1.00 0.00 C +ATOM 838 OD1 ASP A 52 34.221 23.997 21.567 1.00 0.00 O +ATOM 839 OD2 ASP A 52 36.215 23.175 21.877 1.00 0.00 O +ATOM 840 N GLY A 53 32.608 19.227 20.570 1.00 0.00 N +ATOM 841 H GLY A 53 32.556 19.443 21.556 1.00 0.00 H +ATOM 842 CA GLY A 53 32.397 17.832 20.154 1.00 0.00 C +ATOM 843 HA2 GLY A 53 32.522 17.188 21.025 1.00 0.00 H +ATOM 844 HA3 GLY A 53 33.160 17.561 19.425 1.00 0.00 H +ATOM 845 C GLY A 53 31.022 17.519 19.538 1.00 0.00 C +ATOM 846 O GLY A 53 30.835 16.421 19.008 1.00 0.00 O +ATOM 847 N ARG A 54 30.061 18.454 19.595 1.00 0.00 N +ATOM 848 H ARG A 54 30.309 19.358 19.970 1.00 0.00 H +ATOM 849 CA ARG A 54 28.714 18.316 19.002 1.00 0.00 C +ATOM 850 HA ARG A 54 28.448 17.260 18.977 1.00 0.00 H +ATOM 851 C ARG A 54 28.707 18.784 17.545 1.00 0.00 C +ATOM 852 O ARG A 54 29.622 19.477 17.109 1.00 0.00 O +ATOM 853 CB ARG A 54 27.691 19.075 19.873 1.00 0.00 C +ATOM 854 HB2 ARG A 54 26.750 19.187 19.336 1.00 0.00 H +ATOM 855 HB3 ARG A 54 28.079 20.076 20.063 1.00 0.00 H +ATOM 856 CG ARG A 54 27.416 18.401 21.232 1.00 0.00 C +ATOM 857 HG2 ARG A 54 27.203 19.179 21.964 1.00 0.00 H +ATOM 858 HG3 ARG A 54 28.301 17.862 21.572 1.00 0.00 H +ATOM 859 CD ARG A 54 26.210 17.448 21.206 1.00 0.00 C +ATOM 860 HD2 ARG A 54 25.311 18.039 21.032 1.00 0.00 H +ATOM 861 HD3 ARG A 54 26.101 16.979 22.184 1.00 0.00 H +ATOM 862 NE ARG A 54 26.314 16.428 20.143 1.00 0.00 N +ATOM 863 HE ARG A 54 25.971 16.683 19.228 1.00 0.00 H +ATOM 864 CZ ARG A 54 26.780 15.194 20.210 1.00 0.00 C +ATOM 865 NH1 ARG A 54 27.276 14.671 21.299 1.00 0.00 N +ATOM 866 HH11 ARG A 54 27.619 13.721 21.300 1.00 0.00 H +ATOM 867 HH12 ARG A 54 27.310 15.211 22.152 1.00 0.00 H +ATOM 868 NH2 ARG A 54 26.752 14.472 19.126 1.00 0.00 N +ATOM 869 HH21 ARG A 54 27.088 13.519 19.124 1.00 0.00 H +ATOM 870 HH22 ARG A 54 26.360 14.883 18.291 1.00 0.00 H +ATOM 871 N THR A 55 27.686 18.404 16.779 1.00 0.00 N +ATOM 872 H THR A 55 26.957 17.839 17.191 1.00 0.00 H +ATOM 873 CA THR A 55 27.571 18.692 15.337 1.00 0.00 C +ATOM 874 HA THR A 55 28.485 19.189 15.013 1.00 0.00 H +ATOM 875 C THR A 55 26.436 19.656 15.007 1.00 0.00 C +ATOM 876 O THR A 55 25.489 19.811 15.780 1.00 0.00 O +ATOM 877 CB THR A 55 27.442 17.413 14.493 1.00 0.00 C +ATOM 878 HB THR A 55 27.425 17.693 13.440 1.00 0.00 H +ATOM 879 OG1 THR A 55 26.251 16.724 14.783 1.00 0.00 O +ATOM 880 HG1 THR A 55 26.195 16.602 15.734 1.00 0.00 H +ATOM 881 CG2 THR A 55 28.612 16.451 14.702 1.00 0.00 C +ATOM 882 HG21 THR A 55 28.661 16.114 15.737 1.00 0.00 H +ATOM 883 HG22 THR A 55 28.488 15.585 14.051 1.00 0.00 H +ATOM 884 HG23 THR A 55 29.542 16.951 14.434 1.00 0.00 H +ATOM 885 N LEU A 56 26.517 20.312 13.847 1.00 0.00 N +ATOM 886 H LEU A 56 27.315 20.132 13.255 1.00 0.00 H +ATOM 887 CA LEU A 56 25.515 21.287 13.397 1.00 0.00 C +ATOM 888 HA LEU A 56 25.479 22.103 14.119 1.00 0.00 H +ATOM 889 C LEU A 56 24.090 20.699 13.351 1.00 0.00 C +ATOM 890 O LEU A 56 23.139 21.382 13.736 1.00 0.00 O +ATOM 891 CB LEU A 56 25.937 21.840 12.020 1.00 0.00 C +ATOM 892 HB2 LEU A 56 25.109 22.414 11.603 1.00 0.00 H +ATOM 893 HB3 LEU A 56 26.119 21.000 11.350 1.00 0.00 H +ATOM 894 CG LEU A 56 27.195 22.727 12.016 1.00 0.00 C +ATOM 895 HG LEU A 56 28.045 22.179 12.422 1.00 0.00 H +ATOM 896 CD1 LEU A 56 27.518 23.147 10.583 1.00 0.00 C +ATOM 897 HD11 LEU A 56 27.688 22.259 9.974 1.00 0.00 H +ATOM 898 HD12 LEU A 56 26.694 23.723 10.161 1.00 0.00 H +ATOM 899 HD13 LEU A 56 28.428 23.746 10.574 1.00 0.00 H +ATOM 900 CD2 LEU A 56 26.984 24.006 12.827 1.00 0.00 C +ATOM 901 HD21 LEU A 56 26.943 23.776 13.891 1.00 0.00 H +ATOM 902 HD22 LEU A 56 26.058 24.487 12.510 1.00 0.00 H +ATOM 903 HD23 LEU A 56 27.804 24.704 12.656 1.00 0.00 H +ATOM 904 N SER A 57 23.929 19.433 12.956 1.00 0.00 N +ATOM 905 H SER A 57 24.733 18.921 12.622 1.00 0.00 H +ATOM 906 CA SER A 57 22.634 18.740 12.947 1.00 0.00 C +ATOM 907 HA SER A 57 21.908 19.399 12.471 1.00 0.00 H +ATOM 908 C SER A 57 22.094 18.418 14.350 1.00 0.00 C +ATOM 909 O SER A 57 20.876 18.449 14.531 1.00 0.00 O +ATOM 910 CB SER A 57 22.709 17.467 12.096 1.00 0.00 C +ATOM 911 HB2 SER A 57 21.726 16.996 12.069 1.00 0.00 H +ATOM 912 HB3 SER A 57 22.996 17.731 11.078 1.00 0.00 H +ATOM 913 OG SER A 57 23.654 16.560 12.629 1.00 0.00 O +ATOM 914 HG SER A 57 23.677 15.771 12.082 1.00 0.00 H +ATOM 915 N ASP A 58 22.947 18.212 15.364 1.00 0.00 N +ATOM 916 H ASP A 58 23.937 18.220 15.164 1.00 0.00 H +ATOM 917 CA ASP A 58 22.506 18.071 16.764 1.00 0.00 C +ATOM 918 HA ASP A 58 21.775 17.263 16.805 1.00 0.00 H +ATOM 919 C ASP A 58 21.817 19.344 17.289 1.00 0.00 C +ATOM 920 O ASP A 58 20.826 19.263 18.020 1.00 0.00 O +ATOM 921 CB ASP A 58 23.665 17.694 17.704 1.00 0.00 C +ATOM 922 HB2 ASP A 58 24.345 18.542 17.777 1.00 0.00 H +ATOM 923 HB3 ASP A 58 23.256 17.530 18.701 1.00 0.00 H +ATOM 924 CG ASP A 58 24.463 16.446 17.299 1.00 0.00 C +ATOM 925 OD1 ASP A 58 23.862 15.387 17.005 1.00 0.00 O +ATOM 926 OD2 ASP A 58 25.716 16.499 17.400 1.00 0.00 O +ATOM 927 N TYR A 59 22.301 20.517 16.862 1.00 0.00 N +ATOM 928 H TYR A 59 23.141 20.497 16.302 1.00 0.00 H +ATOM 929 CA TYR A 59 21.682 21.823 17.124 1.00 0.00 C +ATOM 930 HA TYR A 59 21.191 21.784 18.097 1.00 0.00 H +ATOM 931 C TYR A 59 20.593 22.208 16.103 1.00 0.00 C +ATOM 932 O TYR A 59 20.023 23.295 16.191 1.00 0.00 O +ATOM 933 CB TYR A 59 22.789 22.881 17.202 1.00 0.00 C +ATOM 934 HB2 TYR A 59 23.325 22.894 16.253 1.00 0.00 H +ATOM 935 HB3 TYR A 59 22.341 23.865 17.346 1.00 0.00 H +ATOM 936 CG TYR A 59 23.764 22.643 18.335 1.00 0.00 C +ATOM 937 CD1 TYR A 59 23.327 22.788 19.666 1.00 0.00 C +ATOM 938 HD1 TYR A 59 22.308 23.081 19.874 1.00 0.00 H +ATOM 939 CD2 TYR A 59 25.095 22.272 18.066 1.00 0.00 C +ATOM 940 HD2 TYR A 59 25.431 22.150 17.047 1.00 0.00 H +ATOM 941 CE1 TYR A 59 24.212 22.543 20.733 1.00 0.00 C +ATOM 942 HE1 TYR A 59 23.873 22.646 21.753 1.00 0.00 H +ATOM 943 CE2 TYR A 59 25.987 22.043 19.132 1.00 0.00 C +ATOM 944 HE2 TYR A 59 27.008 21.755 18.935 1.00 0.00 H +ATOM 945 CZ TYR A 59 25.542 22.161 20.465 1.00 0.00 C +ATOM 946 OH TYR A 59 26.401 21.918 21.489 1.00 0.00 O +ATOM 947 HH TYR A 59 25.967 21.965 22.344 1.00 0.00 H +ATOM 948 N ASN A 60 20.306 21.330 15.133 1.00 0.00 N +ATOM 949 H ASN A 60 20.779 20.439 15.168 1.00 0.00 H +ATOM 950 CA ASN A 60 19.397 21.558 14.006 1.00 0.00 C +ATOM 951 HA ASN A 60 19.610 20.758 13.296 1.00 0.00 H +ATOM 952 C ASN A 60 19.688 22.871 13.229 1.00 0.00 C +ATOM 953 O ASN A 60 18.774 23.559 12.770 1.00 0.00 O +ATOM 954 CB ASN A 60 17.940 21.377 14.485 1.00 0.00 C +ATOM 955 HB2 ASN A 60 17.883 20.518 15.153 1.00 0.00 H +ATOM 956 HB3 ASN A 60 17.629 22.262 15.041 1.00 0.00 H +ATOM 957 CG ASN A 60 16.957 21.133 13.347 1.00 0.00 C +ATOM 958 OD1 ASN A 60 16.020 21.888 13.122 1.00 0.00 O +ATOM 959 ND2 ASN A 60 17.127 20.064 12.594 1.00 0.00 N +ATOM 960 HD21 ASN A 60 16.459 19.895 11.855 1.00 0.00 H +ATOM 961 HD22 ASN A 60 17.834 19.376 12.810 1.00 0.00 H +ATOM 962 N ILE A 61 20.973 23.215 13.075 1.00 0.00 N +ATOM 963 H ILE A 61 21.673 22.592 13.454 1.00 0.00 H +ATOM 964 CA ILE A 61 21.448 24.342 12.256 1.00 0.00 C +ATOM 965 HA ILE A 61 20.823 25.210 12.463 1.00 0.00 H +ATOM 966 C ILE A 61 21.285 23.988 10.766 1.00 0.00 C +ATOM 967 O ILE A 61 21.549 22.853 10.362 1.00 0.00 O +ATOM 968 CB ILE A 61 22.904 24.700 12.646 1.00 0.00 C +ATOM 969 HB ILE A 61 23.507 23.793 12.593 1.00 0.00 H +ATOM 970 CG1 ILE A 61 22.952 25.255 14.090 1.00 0.00 C +ATOM 971 HG12 ILE A 61 22.262 24.702 14.726 1.00 0.00 H +ATOM 972 HG13 ILE A 61 22.629 26.296 14.077 1.00 0.00 H +ATOM 973 CG2 ILE A 61 23.503 25.744 11.684 1.00 0.00 C +ATOM 974 HG21 ILE A 61 23.562 25.350 10.670 1.00 0.00 H +ATOM 975 HG22 ILE A 61 22.886 26.642 11.693 1.00 0.00 H +ATOM 976 HG23 ILE A 61 24.513 26.020 11.987 1.00 0.00 H +ATOM 977 CD1 ILE A 61 24.327 25.180 14.765 1.00 0.00 C +ATOM 978 HD11 ILE A 61 25.063 25.771 14.220 1.00 0.00 H +ATOM 979 HD12 ILE A 61 24.248 25.568 15.780 1.00 0.00 H +ATOM 980 HD13 ILE A 61 24.661 24.143 14.809 1.00 0.00 H +ATOM 981 N GLN A 62 20.851 24.953 9.947 1.00 0.00 N +ATOM 982 H GLN A 62 20.718 25.883 10.317 1.00 0.00 H +ATOM 983 CA GLN A 62 20.484 24.760 8.537 1.00 0.00 C +ATOM 984 HA GLN A 62 20.755 23.753 8.218 1.00 0.00 H +ATOM 985 C GLN A 62 21.231 25.737 7.612 1.00 0.00 C +ATOM 986 O GLN A 62 21.952 26.626 8.067 1.00 0.00 O +ATOM 987 CB GLN A 62 18.956 24.919 8.381 1.00 0.00 C +ATOM 988 HB2 GLN A 62 18.688 24.780 7.334 1.00 0.00 H +ATOM 989 HB3 GLN A 62 18.669 25.930 8.670 1.00 0.00 H +ATOM 990 CG GLN A 62 18.145 23.915 9.214 1.00 0.00 C +ATOM 991 HG2 GLN A 62 18.295 24.118 10.275 1.00 0.00 H +ATOM 992 HG3 GLN A 62 18.493 22.903 9.005 1.00 0.00 H +ATOM 993 CD GLN A 62 16.650 24.009 8.913 1.00 0.00 C +ATOM 994 OE1 GLN A 62 15.910 24.781 9.513 1.00 0.00 O +ATOM 995 NE2 GLN A 62 16.146 23.250 7.959 1.00 0.00 N +ATOM 996 HE21 GLN A 62 15.158 23.319 7.765 1.00 0.00 H +ATOM 997 HE22 GLN A 62 16.726 22.598 7.450 1.00 0.00 H +ATOM 998 N LYS A 63 21.047 25.594 6.291 1.00 0.00 N +ATOM 999 H LYS A 63 20.475 24.830 5.960 1.00 0.00 H +ATOM 1000 CA LYS A 63 21.566 26.567 5.314 1.00 0.00 C +ATOM 1001 HA LYS A 63 22.648 26.600 5.438 1.00 0.00 H +ATOM 1002 C LYS A 63 21.034 27.985 5.605 1.00 0.00 C +ATOM 1003 O LYS A 63 19.880 28.159 6.003 1.00 0.00 O +ATOM 1004 CB LYS A 63 21.279 26.093 3.876 1.00 0.00 C +ATOM 1005 HB2 LYS A 63 21.573 25.048 3.779 1.00 0.00 H +ATOM 1006 HB3 LYS A 63 21.897 26.678 3.194 1.00 0.00 H +ATOM 1007 CG LYS A 63 19.808 26.243 3.451 1.00 0.00 C +ATOM 1008 HG2 LYS A 63 19.164 25.702 4.145 1.00 0.00 H +ATOM 1009 HG3 LYS A 63 19.535 27.297 3.483 1.00 0.00 H +ATOM 1010 CD LYS A 63 19.571 25.709 2.029 1.00 0.00 C +ATOM 1011 HD2 LYS A 63 20.369 26.035 1.363 1.00 0.00 H +ATOM 1012 HD3 LYS A 63 19.580 24.619 2.064 1.00 0.00 H +ATOM 1013 CE LYS A 63 18.216 26.182 1.477 1.00 0.00 C +ATOM 1014 HE2 LYS A 63 17.475 26.144 2.276 1.00 0.00 H +ATOM 1015 HE3 LYS A 63 17.894 25.485 0.703 1.00 0.00 H +ATOM 1016 NZ LYS A 63 18.293 27.560 0.901 1.00 0.00 N +ATOM 1017 HZ1 LYS A 63 18.682 28.231 1.548 1.00 0.00 H +ATOM 1018 HZ2 LYS A 63 17.382 27.894 0.622 1.00 0.00 H +ATOM 1019 HZ3 LYS A 63 18.881 27.583 0.080 1.00 0.00 H +ATOM 1020 N GLU A 64 21.892 28.987 5.430 1.00 0.00 N +ATOM 1021 H GLU A 64 22.814 28.741 5.099 1.00 0.00 H +ATOM 1022 CA GLU A 64 21.650 30.396 5.779 1.00 0.00 C +ATOM 1023 HA GLU A 64 22.604 30.904 5.639 1.00 0.00 H +ATOM 1024 C GLU A 64 21.296 30.681 7.267 1.00 0.00 C +ATOM 1025 O GLU A 64 20.935 31.814 7.596 1.00 0.00 O +ATOM 1026 CB GLU A 64 20.664 31.067 4.792 1.00 0.00 C +ATOM 1027 HB2 GLU A 64 20.496 32.092 5.121 1.00 0.00 H +ATOM 1028 HB3 GLU A 64 19.697 30.564 4.822 1.00 0.00 H +ATOM 1029 CG GLU A 64 21.166 31.160 3.342 1.00 0.00 C +ATOM 1030 HG2 GLU A 64 22.230 31.396 3.347 1.00 0.00 H +ATOM 1031 HG3 GLU A 64 20.660 32.000 2.867 1.00 0.00 H +ATOM 1032 CD GLU A 64 20.884 29.890 2.506 1.00 0.00 C +ATOM 1033 OE1 GLU A 64 19.695 29.603 2.213 1.00 0.00 O +ATOM 1034 OE2 GLU A 64 21.850 29.207 2.087 1.00 0.00 O +ATOM 1035 N SER A 65 21.441 29.719 8.195 1.00 0.00 N +ATOM 1036 H SER A 65 21.666 28.777 7.909 1.00 0.00 H +ATOM 1037 CA SER A 65 21.401 30.001 9.641 1.00 0.00 C +ATOM 1038 HA SER A 65 20.472 30.522 9.872 1.00 0.00 H +ATOM 1039 C SER A 65 22.578 30.897 10.068 1.00 0.00 C +ATOM 1040 O SER A 65 23.684 30.758 9.542 1.00 0.00 O +ATOM 1041 CB SER A 65 21.453 28.707 10.463 1.00 0.00 C +ATOM 1042 HB2 SER A 65 22.332 28.138 10.159 1.00 0.00 H +ATOM 1043 HB3 SER A 65 21.557 28.954 11.520 1.00 0.00 H +ATOM 1044 OG SER A 65 20.294 27.903 10.296 1.00 0.00 O +ATOM 1045 HG SER A 65 19.508 28.409 10.514 1.00 0.00 H +ATOM 1046 N THR A 66 22.367 31.765 11.066 1.00 0.00 N +ATOM 1047 H THR A 66 21.435 31.852 11.446 1.00 0.00 H +ATOM 1048 CA THR A 66 23.417 32.635 11.637 1.00 0.00 C +ATOM 1049 HA THR A 66 24.323 32.537 11.039 1.00 0.00 H +ATOM 1050 C THR A 66 23.745 32.227 13.072 1.00 0.00 C +ATOM 1051 O THR A 66 22.865 32.237 13.932 1.00 0.00 O +ATOM 1052 CB THR A 66 23.024 34.123 11.596 1.00 0.00 C +ATOM 1053 HB THR A 66 22.151 34.286 12.228 1.00 0.00 H +ATOM 1054 OG1 THR A 66 22.706 34.494 10.273 1.00 0.00 O +ATOM 1055 HG1 THR A 66 22.275 35.351 10.290 1.00 0.00 H +ATOM 1056 CG2 THR A 66 24.162 35.042 12.058 1.00 0.00 C +ATOM 1057 HG21 THR A 66 24.352 34.896 13.121 1.00 0.00 H +ATOM 1058 HG22 THR A 66 25.072 34.829 11.498 1.00 0.00 H +ATOM 1059 HG23 THR A 66 23.881 36.083 11.904 1.00 0.00 H +ATOM 1060 N LEU A 67 25.012 31.903 13.347 1.00 0.00 N +ATOM 1061 H LEU A 67 25.678 31.911 12.587 1.00 0.00 H +ATOM 1062 CA LEU A 67 25.517 31.686 14.710 1.00 0.00 C +ATOM 1063 HA LEU A 67 24.703 31.320 15.336 1.00 0.00 H +ATOM 1064 C LEU A 67 26.002 33.015 15.304 1.00 0.00 C +ATOM 1065 O LEU A 67 26.490 33.873 14.573 1.00 0.00 O +ATOM 1066 CB LEU A 67 26.642 30.628 14.736 1.00 0.00 C +ATOM 1067 HB2 LEU A 67 26.755 30.283 15.764 1.00 0.00 H +ATOM 1068 HB3 LEU A 67 27.576 31.115 14.455 1.00 0.00 H +ATOM 1069 CG LEU A 67 26.462 29.404 13.820 1.00 0.00 C +ATOM 1070 HG LEU A 67 26.463 29.734 12.782 1.00 0.00 H +ATOM 1071 CD1 LEU A 67 27.633 28.438 14.017 1.00 0.00 C +ATOM 1072 HD11 LEU A 67 27.509 27.566 13.374 1.00 0.00 H +ATOM 1073 HD12 LEU A 67 28.568 28.933 13.755 1.00 0.00 H +ATOM 1074 HD13 LEU A 67 27.681 28.104 15.054 1.00 0.00 H +ATOM 1075 CD2 LEU A 67 25.165 28.643 14.085 1.00 0.00 C +ATOM 1076 HD21 LEU A 67 24.304 29.309 14.022 1.00 0.00 H +ATOM 1077 HD22 LEU A 67 25.197 28.176 15.070 1.00 0.00 H +ATOM 1078 HD23 LEU A 67 25.047 27.876 13.320 1.00 0.00 H +ATOM 1079 N HIS A 68 25.940 33.175 16.623 1.00 0.00 N +ATOM 1080 H HIS A 68 25.558 32.427 17.183 1.00 0.00 H +ATOM 1081 CA HIS A 68 26.490 34.344 17.319 1.00 0.00 C +ATOM 1082 HA HIS A 68 26.730 35.121 16.592 1.00 0.00 H +ATOM 1083 C HIS A 68 27.796 33.975 18.029 1.00 0.00 C +ATOM 1084 O HIS A 68 27.905 32.884 18.583 1.00 0.00 O +ATOM 1085 CB HIS A 68 25.432 34.936 18.258 1.00 0.00 C +ATOM 1086 HB2 HIS A 68 25.900 35.684 18.898 1.00 0.00 H +ATOM 1087 HB3 HIS A 68 25.029 34.149 18.896 1.00 0.00 H +ATOM 1088 CG HIS A 68 24.295 35.591 17.510 1.00 0.00 C +ATOM 1089 ND1 HIS A 68 24.085 36.947 17.371 1.00 0.00 N +ATOM 1090 HD1 HIS A 68 24.636 37.688 17.781 1.00 0.00 H +ATOM 1091 CD2 HIS A 68 23.293 34.957 16.823 1.00 0.00 C +ATOM 1092 HD2 HIS A 68 23.169 33.888 16.728 1.00 0.00 H +ATOM 1093 CE1 HIS A 68 22.980 37.121 16.624 1.00 0.00 C +ATOM 1094 HE1 HIS A 68 22.560 38.081 16.360 1.00 0.00 H +ATOM 1095 NE2 HIS A 68 22.463 35.935 16.262 1.00 0.00 N +ATOM 1096 N LEU A 69 28.790 34.864 17.996 1.00 0.00 N +ATOM 1097 H LEU A 69 28.625 35.726 17.495 1.00 0.00 H +ATOM 1098 CA LEU A 69 30.163 34.625 18.457 1.00 0.00 C +ATOM 1099 HA LEU A 69 30.225 33.620 18.873 1.00 0.00 H +ATOM 1100 C LEU A 69 30.538 35.638 19.550 1.00 0.00 C +ATOM 1101 O LEU A 69 30.450 36.849 19.348 1.00 0.00 O +ATOM 1102 CB LEU A 69 31.096 34.701 17.226 1.00 0.00 C +ATOM 1103 HB2 LEU A 69 31.272 35.749 16.983 1.00 0.00 H +ATOM 1104 HB3 LEU A 69 30.558 34.264 16.385 1.00 0.00 H +ATOM 1105 CG LEU A 69 32.447 33.962 17.300 1.00 0.00 C +ATOM 1106 HG LEU A 69 32.264 32.889 17.352 1.00 0.00 H +ATOM 1107 CD1 LEU A 69 33.250 34.257 16.033 1.00 0.00 C +ATOM 1108 HD11 LEU A 69 32.686 33.961 15.148 1.00 0.00 H +ATOM 1109 HD12 LEU A 69 34.181 33.692 16.055 1.00 0.00 H +ATOM 1110 HD13 LEU A 69 33.487 35.319 15.971 1.00 0.00 H +ATOM 1111 CD2 LEU A 69 33.318 34.357 18.489 1.00 0.00 C +ATOM 1112 HD21 LEU A 69 32.916 33.907 19.397 1.00 0.00 H +ATOM 1113 HD22 LEU A 69 33.353 35.443 18.580 1.00 0.00 H +ATOM 1114 HD23 LEU A 69 34.331 33.975 18.361 1.00 0.00 H +ATOM 1115 N VAL A 70 30.996 35.123 20.693 1.00 0.00 N +ATOM 1116 H VAL A 70 31.065 34.117 20.750 1.00 0.00 H +ATOM 1117 CA VAL A 70 31.480 35.882 21.860 1.00 0.00 C +ATOM 1118 HA VAL A 70 31.456 36.950 21.645 1.00 0.00 H +ATOM 1119 C VAL A 70 32.932 35.479 22.127 1.00 0.00 C +ATOM 1120 O VAL A 70 33.291 34.331 21.891 1.00 0.00 O +ATOM 1121 CB VAL A 70 30.560 35.604 23.073 1.00 0.00 C +ATOM 1122 HB VAL A 70 30.602 34.540 23.305 1.00 0.00 H +ATOM 1123 CG1 VAL A 70 30.970 36.377 24.332 1.00 0.00 C +ATOM 1124 HG11 VAL A 70 30.242 36.208 25.125 1.00 0.00 H +ATOM 1125 HG12 VAL A 70 31.938 36.031 24.694 1.00 0.00 H +ATOM 1126 HG13 VAL A 70 31.023 37.445 24.124 1.00 0.00 H +ATOM 1127 CG2 VAL A 70 29.095 35.934 22.756 1.00 0.00 C +ATOM 1128 HG21 VAL A 70 29.004 36.967 22.419 1.00 0.00 H +ATOM 1129 HG22 VAL A 70 28.718 35.273 21.976 1.00 0.00 H +ATOM 1130 HG23 VAL A 70 28.477 35.790 23.642 1.00 0.00 H +ATOM 1131 N LEU A 71 33.782 36.382 22.620 1.00 0.00 N +ATOM 1132 H LEU A 71 33.455 37.320 22.801 1.00 0.00 H +ATOM 1133 CA LEU A 71 35.142 36.033 23.066 1.00 0.00 C +ATOM 1134 HA LEU A 71 35.426 35.071 22.639 1.00 0.00 H +ATOM 1135 C LEU A 71 35.178 35.890 24.599 1.00 0.00 C +ATOM 1136 O LEU A 71 34.737 36.795 25.312 1.00 0.00 O +ATOM 1137 CB LEU A 71 36.169 37.076 22.572 1.00 0.00 C +ATOM 1138 HB2 LEU A 71 35.738 38.074 22.650 1.00 0.00 H +ATOM 1139 HB3 LEU A 71 37.030 37.042 23.241 1.00 0.00 H +ATOM 1140 CG LEU A 71 36.701 36.849 21.144 1.00 0.00 C +ATOM 1141 HG LEU A 71 37.185 35.873 21.101 1.00 0.00 H +ATOM 1142 CD1 LEU A 71 35.612 36.897 20.073 1.00 0.00 C +ATOM 1143 HD11 LEU A 71 34.961 36.030 20.180 1.00 0.00 H +ATOM 1144 HD12 LEU A 71 36.064 36.865 19.082 1.00 0.00 H +ATOM 1145 HD13 LEU A 71 35.030 37.814 20.168 1.00 0.00 H +ATOM 1146 CD2 LEU A 71 37.743 37.912 20.803 1.00 0.00 C +ATOM 1147 HD21 LEU A 71 38.551 37.885 21.534 1.00 0.00 H +ATOM 1148 HD22 LEU A 71 37.286 38.901 20.809 1.00 0.00 H +ATOM 1149 HD23 LEU A 71 38.162 37.716 19.816 1.00 0.00 H +ATOM 1150 N ARG A 72 35.742 34.781 25.105 1.00 0.00 N +ATOM 1151 H ARG A 72 36.071 34.088 24.448 1.00 0.00 H +ATOM 1152 CA ARG A 72 36.057 34.592 26.538 1.00 0.00 C +ATOM 1153 HA ARG A 72 35.494 35.333 27.105 1.00 0.00 H +ATOM 1154 C ARG A 72 37.539 34.856 26.838 1.00 0.00 C +ATOM 1155 O ARG A 72 38.399 34.562 26.010 1.00 0.00 O +ATOM 1156 CB ARG A 72 35.592 33.208 27.052 1.00 0.00 C +ATOM 1157 HB2 ARG A 72 34.551 33.052 26.768 1.00 0.00 H +ATOM 1158 HB3 ARG A 72 35.637 33.219 28.141 1.00 0.00 H +ATOM 1159 CG ARG A 72 36.439 32.023 26.546 1.00 0.00 C +ATOM 1160 HG2 ARG A 72 36.266 31.891 25.478 1.00 0.00 H +ATOM 1161 HG3 ARG A 72 37.497 32.236 26.700 1.00 0.00 H +ATOM 1162 CD ARG A 72 36.154 30.709 27.288 1.00 0.00 C +ATOM 1163 HD2 ARG A 72 36.894 29.966 26.990 1.00 0.00 H +ATOM 1164 HD3 ARG A 72 36.289 30.875 28.357 1.00 0.00 H +ATOM 1165 NE ARG A 72 34.792 30.188 27.041 1.00 0.00 N +ATOM 1166 HE ARG A 72 34.139 30.253 27.809 1.00 0.00 H +ATOM 1167 CZ ARG A 72 34.366 29.564 25.954 1.00 0.00 C +ATOM 1168 NH1 ARG A 72 35.138 29.388 24.910 1.00 0.00 N +ATOM 1169 HH11 ARG A 72 36.124 29.601 24.969 1.00 0.00 H +ATOM 1170 HH12 ARG A 72 34.776 29.053 24.029 1.00 0.00 H +ATOM 1171 NH2 ARG A 72 33.137 29.121 25.896 1.00 0.00 N +ATOM 1172 HH21 ARG A 72 32.833 28.532 25.134 1.00 0.00 H +ATOM 1173 HH22 ARG A 72 32.535 29.188 26.703 1.00 0.00 H +ATOM 1174 N LEU A 73 37.822 35.328 28.053 1.00 0.00 N +ATOM 1175 H LEU A 73 37.042 35.550 28.655 1.00 0.00 H +ATOM 1176 CA LEU A 73 39.141 35.260 28.706 1.00 0.00 C +ATOM 1177 HA LEU A 73 39.883 34.873 28.008 1.00 0.00 H +ATOM 1178 C LEU A 73 39.068 34.260 29.885 1.00 0.00 C +ATOM 1179 O LEU A 73 37.975 33.902 30.333 1.00 0.00 O +ATOM 1180 CB LEU A 73 39.588 36.669 29.161 1.00 0.00 C +ATOM 1181 HB2 LEU A 73 40.344 36.547 29.938 1.00 0.00 H +ATOM 1182 HB3 LEU A 73 38.744 37.188 29.616 1.00 0.00 H +ATOM 1183 CG LEU A 73 40.208 37.565 28.067 1.00 0.00 C +ATOM 1184 HG LEU A 73 41.018 37.024 27.577 1.00 0.00 H +ATOM 1185 CD1 LEU A 73 39.212 38.034 27.006 1.00 0.00 C +ATOM 1186 HD11 LEU A 73 38.909 37.190 26.385 1.00 0.00 H +ATOM 1187 HD12 LEU A 73 39.682 38.771 26.354 1.00 0.00 H +ATOM 1188 HD13 LEU A 73 38.338 38.479 27.481 1.00 0.00 H +ATOM 1189 CD2 LEU A 73 40.796 38.821 28.713 1.00 0.00 C +ATOM 1190 HD21 LEU A 73 40.011 39.387 29.214 1.00 0.00 H +ATOM 1191 HD22 LEU A 73 41.560 38.540 29.438 1.00 0.00 H +ATOM 1192 HD23 LEU A 73 41.259 39.447 27.950 1.00 0.00 H +ATOM 1193 N ARG A 74 40.225 33.798 30.390 1.00 0.00 N +ATOM 1194 H ARG A 74 41.087 34.181 30.030 1.00 0.00 H +ATOM 1195 CA ARG A 74 40.290 32.899 31.567 1.00 0.00 C +ATOM 1196 HA ARG A 74 39.426 32.234 31.537 1.00 0.00 H +ATOM 1197 C ARG A 74 40.149 33.690 32.883 1.00 0.00 C +ATOM 1198 O ARG A 74 40.427 34.891 32.929 1.00 0.00 O +ATOM 1199 CB ARG A 74 41.559 32.015 31.540 1.00 0.00 C +ATOM 1200 HB2 ARG A 74 41.672 31.555 32.521 1.00 0.00 H +ATOM 1201 HB3 ARG A 74 42.443 32.632 31.374 1.00 0.00 H +ATOM 1202 CG ARG A 74 41.509 30.859 30.519 1.00 0.00 C +ATOM 1203 HG2 ARG A 74 40.542 30.362 30.602 1.00 0.00 H +ATOM 1204 HG3 ARG A 74 42.270 30.128 30.795 1.00 0.00 H +ATOM 1205 CD ARG A 74 41.746 31.237 29.049 1.00 0.00 C +ATOM 1206 HD2 ARG A 74 41.075 32.041 28.747 1.00 0.00 H +ATOM 1207 HD3 ARG A 74 41.486 30.364 28.450 1.00 0.00 H +ATOM 1208 NE ARG A 74 43.158 31.619 28.805 1.00 0.00 N +ATOM 1209 HE ARG A 74 43.568 32.295 29.432 1.00 0.00 H +ATOM 1210 CZ ARG A 74 43.978 31.116 27.889 1.00 0.00 C +ATOM 1211 NH1 ARG A 74 43.589 30.274 26.971 1.00 0.00 N +ATOM 1212 HH11 ARG A 74 44.250 29.903 26.305 1.00 0.00 H +ATOM 1213 HH12 ARG A 74 42.619 29.999 26.908 1.00 0.00 H +ATOM 1214 NH2 ARG A 74 45.238 31.462 27.878 1.00 0.00 N +ATOM 1215 HH21 ARG A 74 45.868 31.080 27.187 1.00 0.00 H +ATOM 1216 HH22 ARG A 74 45.601 32.109 28.564 1.00 0.00 H +ATOM 1217 N GLY A 75 39.716 33.007 33.947 1.00 0.00 N +ATOM 1218 H GLY A 75 39.538 32.020 33.831 1.00 0.00 H +ATOM 1219 CA GLY A 75 39.306 33.609 35.228 1.00 0.00 C +ATOM 1220 HA2 GLY A 75 39.745 34.601 35.341 1.00 0.00 H +ATOM 1221 HA3 GLY A 75 39.682 32.990 36.042 1.00 0.00 H +ATOM 1222 C GLY A 75 37.780 33.730 35.390 1.00 0.00 C +ATOM 1223 O GLY A 75 37.011 33.301 34.521 1.00 0.00 O +ATOM 1224 N GLY A 76 37.342 34.293 36.525 1.00 0.00 N +ATOM 1225 H GLY A 76 38.034 34.628 37.180 1.00 0.00 H +ATOM 1226 CA GLY A 76 35.940 34.270 36.983 1.00 0.00 C +ATOM 1227 HA2 GLY A 76 35.773 35.068 37.706 1.00 0.00 H +ATOM 1228 HA3 GLY A 76 35.275 34.441 36.136 1.00 0.00 H +ATOM 1229 C GLY A 76 35.556 32.936 37.637 1.00 0.00 C +ATOM 1230 O GLY A 76 34.563 32.318 37.193 1.00 0.00 O +ATOM 1231 OXT GLY A 76 36.243 32.524 38.601 1.00 0.00 O +TER 1232 GLY A 76 +ENDMDL +MODEL 2 +ATOM 2 N MET A 1 27.063 23.328 2.146 1.00 0.00 N +ATOM 3 H MET A 1 27.783 23.592 1.489 1.00 0.00 H +ATOM 4 H2 MET A 1 27.523 23.035 2.996 1.00 0.00 H +ATOM 5 H3 MET A 1 26.574 22.529 1.770 1.00 0.00 H +ATOM 6 CA MET A 1 26.128 24.472 2.405 1.00 0.00 C +ATOM 7 HA MET A 1 25.717 24.780 1.443 1.00 0.00 H +ATOM 8 C MET A 1 26.877 25.685 2.965 1.00 0.00 C +ATOM 9 O MET A 1 28.004 25.537 3.415 1.00 0.00 O +ATOM 10 CB MET A 1 24.929 24.077 3.313 1.00 0.00 C +ATOM 11 HB2 MET A 1 24.214 24.899 3.304 1.00 0.00 H +ATOM 12 HB3 MET A 1 24.421 23.215 2.879 1.00 0.00 H +ATOM 13 CG MET A 1 25.249 23.760 4.786 1.00 0.00 C +ATOM 14 HG2 MET A 1 25.830 24.576 5.215 1.00 0.00 H +ATOM 15 HG3 MET A 1 25.837 22.843 4.837 1.00 0.00 H +ATOM 16 SD MET A 1 23.777 23.521 5.820 1.00 0.00 S +ATOM 17 CE MET A 1 24.537 23.409 7.465 1.00 0.00 C +ATOM 18 HE1 MET A 1 25.026 24.352 7.709 1.00 0.00 H +ATOM 19 HE2 MET A 1 23.765 23.207 8.207 1.00 0.00 H +ATOM 20 HE3 MET A 1 25.271 22.603 7.481 1.00 0.00 H +ATOM 21 N GLN A 2 26.262 26.872 3.004 1.00 0.00 N +ATOM 22 H GLN A 2 25.338 26.973 2.610 1.00 0.00 H +ATOM 23 CA GLN A 2 26.832 28.049 3.687 1.00 0.00 C +ATOM 24 HA GLN A 2 27.851 27.822 4.002 1.00 0.00 H +ATOM 25 C GLN A 2 26.027 28.399 4.947 1.00 0.00 C +ATOM 26 O GLN A 2 24.801 28.327 4.940 1.00 0.00 O +ATOM 27 CB GLN A 2 26.915 29.231 2.702 1.00 0.00 C +ATOM 28 HB2 GLN A 2 27.427 28.894 1.800 1.00 0.00 H +ATOM 29 HB3 GLN A 2 25.907 29.539 2.425 1.00 0.00 H +ATOM 30 CG GLN A 2 27.681 30.442 3.265 1.00 0.00 C +ATOM 31 HG2 GLN A 2 27.179 30.822 4.155 1.00 0.00 H +ATOM 32 HG3 GLN A 2 28.689 30.135 3.544 1.00 0.00 H +ATOM 33 CD GLN A 2 27.780 31.579 2.249 1.00 0.00 C +ATOM 34 OE1 GLN A 2 28.772 31.737 1.549 1.00 0.00 O +ATOM 35 NE2 GLN A 2 26.764 32.411 2.128 1.00 0.00 N +ATOM 36 HE21 GLN A 2 26.831 33.147 1.439 1.00 0.00 H +ATOM 37 HE22 GLN A 2 25.930 32.308 2.689 1.00 0.00 H +ATOM 38 N ILE A 3 26.716 28.826 6.007 1.00 0.00 N +ATOM 39 H ILE A 3 27.723 28.850 5.932 1.00 0.00 H +ATOM 40 CA ILE A 3 26.130 29.469 7.196 1.00 0.00 C +ATOM 41 HA ILE A 3 25.076 29.676 7.008 1.00 0.00 H +ATOM 42 C ILE A 3 26.796 30.826 7.440 1.00 0.00 C +ATOM 43 O ILE A 3 27.835 31.125 6.850 1.00 0.00 O +ATOM 44 CB ILE A 3 26.200 28.549 8.441 1.00 0.00 C +ATOM 45 HB ILE A 3 25.674 29.049 9.254 1.00 0.00 H +ATOM 46 CG1 ILE A 3 27.650 28.297 8.914 1.00 0.00 C +ATOM 47 HG12 ILE A 3 28.197 27.741 8.152 1.00 0.00 H +ATOM 48 HG13 ILE A 3 28.148 29.256 9.057 1.00 0.00 H +ATOM 49 CG2 ILE A 3 25.456 27.234 8.156 1.00 0.00 C +ATOM 50 HG21 ILE A 3 26.003 26.625 7.436 1.00 0.00 H +ATOM 51 HG22 ILE A 3 25.312 26.668 9.077 1.00 0.00 H +ATOM 52 HG23 ILE A 3 24.472 27.459 7.743 1.00 0.00 H +ATOM 53 CD1 ILE A 3 27.742 27.546 10.250 1.00 0.00 C +ATOM 54 HD11 ILE A 3 27.337 26.538 10.161 1.00 0.00 H +ATOM 55 HD12 ILE A 3 28.786 27.476 10.555 1.00 0.00 H +ATOM 56 HD13 ILE A 3 27.184 28.092 11.011 1.00 0.00 H +ATOM 57 N PHE A 4 26.237 31.629 8.338 1.00 0.00 N +ATOM 58 H PHE A 4 25.386 31.329 8.793 1.00 0.00 H +ATOM 59 CA PHE A 4 26.843 32.877 8.802 1.00 0.00 C +ATOM 60 HA PHE A 4 27.747 33.069 8.223 1.00 0.00 H +ATOM 61 C PHE A 4 27.244 32.784 10.275 1.00 0.00 C +ATOM 62 O PHE A 4 26.654 32.021 11.041 1.00 0.00 O +ATOM 63 CB PHE A 4 25.882 34.049 8.574 1.00 0.00 C +ATOM 64 HB2 PHE A 4 26.394 34.979 8.822 1.00 0.00 H +ATOM 65 HB3 PHE A 4 25.045 33.945 9.264 1.00 0.00 H +ATOM 66 CG PHE A 4 25.333 34.165 7.166 1.00 0.00 C +ATOM 67 CD1 PHE A 4 26.137 34.676 6.130 1.00 0.00 C +ATOM 68 HD1 PHE A 4 27.151 34.986 6.337 1.00 0.00 H +ATOM 69 CD2 PHE A 4 24.007 33.778 6.897 1.00 0.00 C +ATOM 70 HD2 PHE A 4 23.382 33.399 7.693 1.00 0.00 H +ATOM 71 CE1 PHE A 4 25.612 34.803 4.830 1.00 0.00 C +ATOM 72 HE1 PHE A 4 26.219 35.214 4.037 1.00 0.00 H +ATOM 73 CE2 PHE A 4 23.484 33.908 5.599 1.00 0.00 C +ATOM 74 HE2 PHE A 4 22.456 33.639 5.403 1.00 0.00 H +ATOM 75 CZ PHE A 4 24.287 34.416 4.564 1.00 0.00 C +ATOM 76 HZ PHE A 4 23.880 34.528 3.570 1.00 0.00 H +ATOM 77 N VAL A 5 28.204 33.603 10.704 1.00 0.00 N +ATOM 78 H VAL A 5 28.673 34.184 10.023 1.00 0.00 H +ATOM 79 CA VAL A 5 28.500 33.819 12.132 1.00 0.00 C +ATOM 80 HA VAL A 5 27.657 33.448 12.714 1.00 0.00 H +ATOM 81 C VAL A 5 28.627 35.316 12.402 1.00 0.00 C +ATOM 82 O VAL A 5 29.322 36.003 11.659 1.00 0.00 O +ATOM 83 CB VAL A 5 29.750 33.040 12.595 1.00 0.00 C +ATOM 84 HB VAL A 5 30.640 33.461 12.128 1.00 0.00 H +ATOM 85 CG1 VAL A 5 29.932 33.143 14.111 1.00 0.00 C +ATOM 86 HG11 VAL A 5 29.040 32.795 14.632 1.00 0.00 H +ATOM 87 HG12 VAL A 5 30.787 32.544 14.424 1.00 0.00 H +ATOM 88 HG13 VAL A 5 30.127 34.182 14.378 1.00 0.00 H +ATOM 89 CG2 VAL A 5 29.678 31.556 12.218 1.00 0.00 C +ATOM 90 HG21 VAL A 5 29.734 31.451 11.134 1.00 0.00 H +ATOM 91 HG22 VAL A 5 28.741 31.120 12.565 1.00 0.00 H +ATOM 92 HG23 VAL A 5 30.513 31.014 12.660 1.00 0.00 H +ATOM 93 N LYS A 6 27.965 35.824 13.448 1.00 0.00 N +ATOM 94 H LYS A 6 27.415 35.184 14.004 1.00 0.00 H +ATOM 95 CA LYS A 6 27.941 37.247 13.840 1.00 0.00 C +ATOM 96 HA LYS A 6 28.549 37.813 13.135 1.00 0.00 H +ATOM 97 C LYS A 6 28.552 37.452 15.228 1.00 0.00 C +ATOM 98 O LYS A 6 28.352 36.624 16.109 1.00 0.00 O +ATOM 99 CB LYS A 6 26.494 37.767 13.733 1.00 0.00 C +ATOM 100 HB2 LYS A 6 25.852 37.198 14.405 1.00 0.00 H +ATOM 101 HB3 LYS A 6 26.147 37.601 12.713 1.00 0.00 H +ATOM 102 CG LYS A 6 26.362 39.265 14.057 1.00 0.00 C +ATOM 103 HG2 LYS A 6 26.561 39.426 15.117 1.00 0.00 H +ATOM 104 HG3 LYS A 6 27.095 39.827 13.477 1.00 0.00 H +ATOM 105 CD LYS A 6 24.954 39.783 13.729 1.00 0.00 C +ATOM 106 HD2 LYS A 6 24.753 39.626 12.669 1.00 0.00 H +ATOM 107 HD3 LYS A 6 24.221 39.228 14.314 1.00 0.00 H +ATOM 108 CE LYS A 6 24.848 41.283 14.052 1.00 0.00 C +ATOM 109 HE2 LYS A 6 25.086 41.433 15.105 1.00 0.00 H +ATOM 110 HE3 LYS A 6 25.593 41.819 13.465 1.00 0.00 H +ATOM 111 NZ LYS A 6 23.484 41.826 13.758 1.00 0.00 N +ATOM 112 HZ1 LYS A 6 23.240 41.721 12.783 1.00 0.00 H +ATOM 113 HZ2 LYS A 6 22.769 41.370 14.306 1.00 0.00 H +ATOM 114 HZ3 LYS A 6 23.431 42.812 13.970 1.00 0.00 H +ATOM 115 N THR A 7 29.290 38.541 15.436 1.00 0.00 N +ATOM 116 H THR A 7 29.421 39.184 14.668 1.00 0.00 H +ATOM 117 CA THR A 7 30.027 38.825 16.685 1.00 0.00 C +ATOM 118 HA THR A 7 30.106 37.912 17.276 1.00 0.00 H +ATOM 119 C THR A 7 29.335 39.879 17.558 1.00 0.00 C +ATOM 120 O THR A 7 28.542 40.682 17.067 1.00 0.00 O +ATOM 121 CB THR A 7 31.453 39.299 16.370 1.00 0.00 C +ATOM 122 HB THR A 7 32.016 39.374 17.300 1.00 0.00 H +ATOM 123 OG1 THR A 7 31.374 40.567 15.769 1.00 0.00 O +ATOM 124 HG1 THR A 7 32.182 41.046 15.966 1.00 0.00 H +ATOM 125 CG2 THR A 7 32.209 38.397 15.402 1.00 0.00 C +ATOM 126 HG21 THR A 7 31.754 38.437 14.413 1.00 0.00 H +ATOM 127 HG22 THR A 7 32.199 37.369 15.767 1.00 0.00 H +ATOM 128 HG23 THR A 7 33.241 38.739 15.327 1.00 0.00 H +ATOM 129 N LEU A 8 29.713 39.967 18.844 1.00 0.00 N +ATOM 130 H LEU A 8 30.295 39.238 19.232 1.00 0.00 H +ATOM 131 CA LEU A 8 29.321 41.101 19.711 1.00 0.00 C +ATOM 132 HA LEU A 8 28.238 41.213 19.671 1.00 0.00 H +ATOM 133 C LEU A 8 29.902 42.455 19.242 1.00 0.00 C +ATOM 134 O LEU A 8 29.315 43.501 19.516 1.00 0.00 O +ATOM 135 CB LEU A 8 29.740 40.835 21.171 1.00 0.00 C +ATOM 136 HB2 LEU A 8 30.819 40.684 21.204 1.00 0.00 H +ATOM 137 HB3 LEU A 8 29.519 41.733 21.748 1.00 0.00 H +ATOM 138 CG LEU A 8 29.053 39.647 21.868 1.00 0.00 C +ATOM 139 HG LEU A 8 29.364 38.718 21.390 1.00 0.00 H +ATOM 140 CD1 LEU A 8 29.492 39.617 23.332 1.00 0.00 C +ATOM 141 HD11 LEU A 8 29.005 38.793 23.854 1.00 0.00 H +ATOM 142 HD12 LEU A 8 29.215 40.550 23.825 1.00 0.00 H +ATOM 143 HD13 LEU A 8 30.573 39.490 23.393 1.00 0.00 H +ATOM 144 CD2 LEU A 8 27.526 39.732 21.834 1.00 0.00 C +ATOM 145 HD21 LEU A 8 27.196 40.689 22.239 1.00 0.00 H +ATOM 146 HD22 LEU A 8 27.168 39.624 20.810 1.00 0.00 H +ATOM 147 HD23 LEU A 8 27.097 38.925 22.427 1.00 0.00 H +ATOM 148 N THR A 9 31.017 42.441 18.494 1.00 0.00 N +ATOM 149 H THR A 9 31.493 41.564 18.340 1.00 0.00 H +ATOM 150 CA THR A 9 31.588 43.635 17.830 1.00 0.00 C +ATOM 151 HA THR A 9 31.532 44.474 18.523 1.00 0.00 H +ATOM 152 C THR A 9 30.813 44.070 16.571 1.00 0.00 C +ATOM 153 O THR A 9 31.151 45.088 15.963 1.00 0.00 O +ATOM 154 CB THR A 9 33.072 43.420 17.499 1.00 0.00 C +ATOM 155 HB THR A 9 33.448 44.256 16.910 1.00 0.00 H +ATOM 156 OG1 THR A 9 33.230 42.219 16.777 1.00 0.00 O +ATOM 157 HG1 THR A 9 34.156 42.152 16.532 1.00 0.00 H +ATOM 158 CG2 THR A 9 33.921 43.281 18.758 1.00 0.00 C +ATOM 159 HG21 THR A 9 34.971 43.193 18.479 1.00 0.00 H +ATOM 160 HG22 THR A 9 33.798 44.166 19.383 1.00 0.00 H +ATOM 161 HG23 THR A 9 33.626 42.395 19.321 1.00 0.00 H +ATOM 162 N GLY A 10 29.756 43.340 16.183 1.00 0.00 N +ATOM 163 H GLY A 10 29.524 42.509 16.709 1.00 0.00 H +ATOM 164 CA GLY A 10 28.873 43.679 15.059 1.00 0.00 C +ATOM 165 HA2 GLY A 10 28.705 44.755 15.039 1.00 0.00 H +ATOM 166 HA3 GLY A 10 27.912 43.190 15.219 1.00 0.00 H +ATOM 167 C GLY A 10 29.391 43.246 13.680 1.00 0.00 C +ATOM 168 O GLY A 10 28.856 43.694 12.663 1.00 0.00 O +ATOM 169 N LYS A 11 30.416 42.381 13.630 1.00 0.00 N +ATOM 170 H LYS A 11 30.742 41.994 14.504 1.00 0.00 H +ATOM 171 CA LYS A 11 30.970 41.806 12.390 1.00 0.00 C +ATOM 172 HA LYS A 11 30.849 42.532 11.586 1.00 0.00 H +ATOM 173 C LYS A 11 30.189 40.544 12.028 1.00 0.00 C +ATOM 174 O LYS A 11 29.857 39.770 12.919 1.00 0.00 O +ATOM 175 CB LYS A 11 32.476 41.535 12.592 1.00 0.00 C +ATOM 176 HB2 LYS A 11 32.912 42.390 13.110 1.00 0.00 H +ATOM 177 HB3 LYS A 11 32.610 40.658 13.225 1.00 0.00 H +ATOM 178 CG LYS A 11 33.243 41.342 11.270 1.00 0.00 C +ATOM 179 HG2 LYS A 11 33.111 42.235 10.660 1.00 0.00 H +ATOM 180 HG3 LYS A 11 32.841 40.483 10.731 1.00 0.00 H +ATOM 181 CD LYS A 11 34.745 41.125 11.528 1.00 0.00 C +ATOM 182 HD2 LYS A 11 34.906 40.135 11.955 1.00 0.00 H +ATOM 183 HD3 LYS A 11 35.080 41.860 12.260 1.00 0.00 H +ATOM 184 CE LYS A 11 35.617 41.306 10.272 1.00 0.00 C +ATOM 185 HE2 LYS A 11 35.376 42.265 9.813 1.00 0.00 H +ATOM 186 HE3 LYS A 11 36.658 41.356 10.592 1.00 0.00 H +ATOM 187 NZ LYS A 11 35.472 40.203 9.274 1.00 0.00 N +ATOM 188 HZ1 LYS A 11 35.774 39.318 9.656 1.00 0.00 H +ATOM 189 HZ2 LYS A 11 34.527 40.108 8.932 1.00 0.00 H +ATOM 190 HZ3 LYS A 11 36.062 40.370 8.471 1.00 0.00 H +ATOM 191 N THR A 12 29.931 40.304 10.743 1.00 0.00 N +ATOM 192 H THR A 12 30.231 40.980 10.055 1.00 0.00 H +ATOM 193 CA THR A 12 29.313 39.049 10.262 1.00 0.00 C +ATOM 194 HA THR A 12 29.268 38.344 11.091 1.00 0.00 H +ATOM 195 C THR A 12 30.172 38.415 9.168 1.00 0.00 C +ATOM 196 O THR A 12 30.661 39.112 8.279 1.00 0.00 O +ATOM 197 CB THR A 12 27.867 39.258 9.779 1.00 0.00 C +ATOM 198 HB THR A 12 27.860 39.872 8.878 1.00 0.00 H +ATOM 199 OG1 THR A 12 27.113 39.899 10.783 1.00 0.00 O +ATOM 200 HG1 THR A 12 27.286 40.842 10.734 1.00 0.00 H +ATOM 201 CG2 THR A 12 27.143 37.940 9.498 1.00 0.00 C +ATOM 202 HG21 THR A 12 26.103 38.147 9.246 1.00 0.00 H +ATOM 203 HG22 THR A 12 27.172 37.301 10.381 1.00 0.00 H +ATOM 204 HG23 THR A 12 27.605 37.423 8.657 1.00 0.00 H +ATOM 205 N ILE A 13 30.364 37.094 9.244 1.00 0.00 N +ATOM 206 H ILE A 13 29.927 36.600 10.009 1.00 0.00 H +ATOM 207 CA ILE A 13 31.225 36.301 8.348 1.00 0.00 C +ATOM 208 HA ILE A 13 31.570 36.948 7.541 1.00 0.00 H +ATOM 209 C ILE A 13 30.420 35.173 7.698 1.00 0.00 C +ATOM 210 O ILE A 13 29.461 34.684 8.290 1.00 0.00 O +ATOM 211 CB ILE A 13 32.495 35.783 9.089 1.00 0.00 C +ATOM 212 HB ILE A 13 33.267 35.613 8.339 1.00 0.00 H +ATOM 213 CG1 ILE A 13 32.247 34.433 9.804 1.00 0.00 C +ATOM 214 HG12 ILE A 13 31.347 34.531 10.411 1.00 0.00 H +ATOM 215 HG13 ILE A 13 32.067 33.664 9.052 1.00 0.00 H +ATOM 216 CG2 ILE A 13 33.034 36.834 10.081 1.00 0.00 C +ATOM 217 HG21 ILE A 13 32.383 36.914 10.952 1.00 0.00 H +ATOM 218 HG22 ILE A 13 34.031 36.550 10.418 1.00 0.00 H +ATOM 219 HG23 ILE A 13 33.108 37.805 9.592 1.00 0.00 H +ATOM 220 CD1 ILE A 13 33.386 33.921 10.697 1.00 0.00 C +ATOM 221 HD11 ILE A 13 34.325 33.913 10.144 1.00 0.00 H +ATOM 222 HD12 ILE A 13 33.153 32.905 11.016 1.00 0.00 H +ATOM 223 HD13 ILE A 13 33.486 34.546 11.584 1.00 0.00 H +ATOM 224 N THR A 14 30.854 34.697 6.532 1.00 0.00 N +ATOM 225 H THR A 14 31.634 35.148 6.077 1.00 0.00 H +ATOM 226 CA THR A 14 30.358 33.458 5.901 1.00 0.00 C +ATOM 227 HA THR A 14 29.335 33.256 6.216 1.00 0.00 H +ATOM 228 C THR A 14 31.223 32.271 6.300 1.00 0.00 C +ATOM 229 O THR A 14 32.430 32.426 6.460 1.00 0.00 O +ATOM 230 CB THR A 14 30.383 33.586 4.369 1.00 0.00 C +ATOM 231 HB THR A 14 30.161 32.618 3.920 1.00 0.00 H +ATOM 232 OG1 THR A 14 31.661 34.018 3.950 1.00 0.00 O +ATOM 233 HG1 THR A 14 31.654 34.099 2.994 1.00 0.00 H +ATOM 234 CG2 THR A 14 29.366 34.606 3.869 1.00 0.00 C +ATOM 235 HG21 THR A 14 29.575 35.591 4.288 1.00 0.00 H +ATOM 236 HG22 THR A 14 28.366 34.288 4.165 1.00 0.00 H +ATOM 237 HG23 THR A 14 29.406 34.662 2.782 1.00 0.00 H +ATOM 238 N LEU A 15 30.653 31.071 6.410 1.00 0.00 N +ATOM 239 H LEU A 15 29.648 31.005 6.342 1.00 0.00 H +ATOM 240 CA LEU A 15 31.401 29.808 6.509 1.00 0.00 C +ATOM 241 HA LEU A 15 32.431 29.958 6.188 1.00 0.00 H +ATOM 242 C LEU A 15 30.766 28.768 5.583 1.00 0.00 C +ATOM 243 O LEU A 15 29.547 28.642 5.558 1.00 0.00 O +ATOM 244 CB LEU A 15 31.381 29.278 7.961 1.00 0.00 C +ATOM 245 HB2 LEU A 15 30.340 29.111 8.237 1.00 0.00 H +ATOM 246 HB3 LEU A 15 31.882 28.311 7.982 1.00 0.00 H +ATOM 247 CG LEU A 15 32.016 30.169 9.043 1.00 0.00 C +ATOM 248 HG LEU A 15 31.512 31.135 9.068 1.00 0.00 H +ATOM 249 CD1 LEU A 15 31.849 29.488 10.402 1.00 0.00 C +ATOM 250 HD11 LEU A 15 32.404 28.550 10.427 1.00 0.00 H +ATOM 251 HD12 LEU A 15 32.222 30.148 11.185 1.00 0.00 H +ATOM 252 HD13 LEU A 15 30.795 29.285 10.589 1.00 0.00 H +ATOM 253 CD2 LEU A 15 33.515 30.379 8.829 1.00 0.00 C +ATOM 254 HD21 LEU A 15 33.698 30.919 7.900 1.00 0.00 H +ATOM 255 HD22 LEU A 15 33.934 30.958 9.652 1.00 0.00 H +ATOM 256 HD23 LEU A 15 34.017 29.413 8.775 1.00 0.00 H +ATOM 257 N GLU A 16 31.572 27.978 4.873 1.00 0.00 N +ATOM 258 H GLU A 16 32.572 28.111 4.935 1.00 0.00 H +ATOM 259 CA GLU A 16 31.084 26.819 4.106 1.00 0.00 C +ATOM 260 HA GLU A 16 30.018 26.935 3.909 1.00 0.00 H +ATOM 261 C GLU A 16 31.267 25.543 4.933 1.00 0.00 C +ATOM 262 O GLU A 16 32.357 25.282 5.443 1.00 0.00 O +ATOM 263 CB GLU A 16 31.784 26.728 2.744 1.00 0.00 C +ATOM 264 HB2 GLU A 16 32.865 26.707 2.887 1.00 0.00 H +ATOM 265 HB3 GLU A 16 31.479 25.802 2.255 1.00 0.00 H +ATOM 266 CG GLU A 16 31.410 27.907 1.835 1.00 0.00 C +ATOM 267 HG2 GLU A 16 30.325 27.958 1.749 1.00 0.00 H +ATOM 268 HG3 GLU A 16 31.748 28.837 2.293 1.00 0.00 H +ATOM 269 CD GLU A 16 32.042 27.750 0.435 1.00 0.00 C +ATOM 270 OE1 GLU A 16 33.175 28.245 0.213 1.00 0.00 O +ATOM 271 OE2 GLU A 16 31.406 27.135 -0.458 1.00 0.00 O +ATOM 272 N VAL A 17 30.188 24.781 5.116 1.00 0.00 N +ATOM 273 H VAL A 17 29.349 25.016 4.604 1.00 0.00 H +ATOM 274 CA VAL A 17 30.082 23.649 6.057 1.00 0.00 C +ATOM 275 HA VAL A 17 31.056 23.173 6.172 1.00 0.00 H +ATOM 276 C VAL A 17 29.104 22.599 5.529 1.00 0.00 C +ATOM 277 O VAL A 17 28.250 22.914 4.705 1.00 0.00 O +ATOM 278 CB VAL A 17 29.594 24.123 7.445 1.00 0.00 C +ATOM 279 HB VAL A 17 29.473 23.249 8.085 1.00 0.00 H +ATOM 280 CG1 VAL A 17 30.591 25.058 8.140 1.00 0.00 C +ATOM 281 HG11 VAL A 17 30.665 26.007 7.609 1.00 0.00 H +ATOM 282 HG12 VAL A 17 30.261 25.254 9.161 1.00 0.00 H +ATOM 283 HG13 VAL A 17 31.571 24.582 8.174 1.00 0.00 H +ATOM 284 CG2 VAL A 17 28.240 24.848 7.374 1.00 0.00 C +ATOM 285 HG21 VAL A 17 27.475 24.178 6.983 1.00 0.00 H +ATOM 286 HG22 VAL A 17 28.309 25.730 6.736 1.00 0.00 H +ATOM 287 HG23 VAL A 17 27.939 25.158 8.375 1.00 0.00 H +ATOM 288 N GLU A 18 29.148 21.381 6.049 1.00 0.00 N +ATOM 289 H GLU A 18 29.880 21.184 6.716 1.00 0.00 H +ATOM 290 CA GLU A 18 28.080 20.381 5.911 1.00 0.00 C +ATOM 291 HA GLU A 18 27.318 20.773 5.237 1.00 0.00 H +ATOM 292 C GLU A 18 27.406 20.107 7.273 1.00 0.00 C +ATOM 293 O GLU A 18 28.058 20.255 8.308 1.00 0.00 O +ATOM 294 CB GLU A 18 28.632 19.084 5.297 1.00 0.00 C +ATOM 295 HB2 GLU A 18 27.911 18.280 5.447 1.00 0.00 H +ATOM 296 HB3 GLU A 18 29.550 18.806 5.815 1.00 0.00 H +ATOM 297 CG GLU A 18 28.917 19.204 3.792 1.00 0.00 C +ATOM 298 HG2 GLU A 18 29.569 20.060 3.611 1.00 0.00 H +ATOM 299 HG3 GLU A 18 29.461 18.314 3.475 1.00 0.00 H +ATOM 300 CD GLU A 18 27.617 19.328 2.966 1.00 0.00 C +ATOM 301 OE1 GLU A 18 26.946 18.294 2.729 1.00 0.00 O +ATOM 302 OE2 GLU A 18 27.261 20.457 2.547 1.00 0.00 O +ATOM 303 N PRO A 19 26.121 19.687 7.327 1.00 0.00 N +ATOM 304 CA PRO A 19 25.410 19.458 8.596 1.00 0.00 C +ATOM 305 HA PRO A 19 25.328 20.413 9.114 1.00 0.00 H +ATOM 306 C PRO A 19 26.078 18.444 9.545 1.00 0.00 C +ATOM 307 O PRO A 19 25.890 18.521 10.756 1.00 0.00 O +ATOM 308 CB PRO A 19 24.004 18.992 8.198 1.00 0.00 C +ATOM 309 HB2 PRO A 19 23.251 19.338 8.907 1.00 0.00 H +ATOM 310 HB3 PRO A 19 23.975 17.906 8.113 1.00 0.00 H +ATOM 311 CG PRO A 19 23.797 19.609 6.817 1.00 0.00 C +ATOM 312 HG2 PRO A 19 23.074 19.048 6.226 1.00 0.00 H +ATOM 313 HG3 PRO A 19 23.481 20.647 6.923 1.00 0.00 H +ATOM 314 CD PRO A 19 25.196 19.552 6.206 1.00 0.00 C +ATOM 315 HD2 PRO A 19 25.303 20.358 5.481 1.00 0.00 H +ATOM 316 HD3 PRO A 19 25.349 18.587 5.723 1.00 0.00 H +ATOM 317 N SER A 20 26.876 17.513 9.017 1.00 0.00 N +ATOM 318 H SER A 20 27.014 17.498 8.016 1.00 0.00 H +ATOM 319 CA SER A 20 27.647 16.531 9.792 1.00 0.00 C +ATOM 320 HA SER A 20 27.025 16.178 10.615 1.00 0.00 H +ATOM 321 C SER A 20 28.941 17.087 10.422 1.00 0.00 C +ATOM 322 O SER A 20 29.585 16.383 11.205 1.00 0.00 O +ATOM 323 CB SER A 20 27.955 15.324 8.896 1.00 0.00 C +ATOM 324 HB2 SER A 20 27.024 14.800 8.680 1.00 0.00 H +ATOM 325 HB3 SER A 20 28.626 14.640 9.416 1.00 0.00 H +ATOM 326 OG SER A 20 28.542 15.749 7.673 1.00 0.00 O +ATOM 327 HG SER A 20 28.753 14.973 7.150 1.00 0.00 H +ATOM 328 N ASP A 21 29.330 18.331 10.123 1.00 0.00 N +ATOM 329 H ASP A 21 28.775 18.869 9.472 1.00 0.00 H +ATOM 330 CA ASP A 21 30.500 18.983 10.716 1.00 0.00 C +ATOM 331 HA ASP A 21 31.334 18.285 10.629 1.00 0.00 H +ATOM 332 C ASP A 21 30.328 19.296 12.210 1.00 0.00 C +ATOM 333 O ASP A 21 29.249 19.682 12.671 1.00 0.00 O +ATOM 334 CB ASP A 21 30.905 20.254 9.953 1.00 0.00 C +ATOM 335 HB2 ASP A 21 30.083 20.968 10.010 1.00 0.00 H +ATOM 336 HB3 ASP A 21 31.751 20.702 10.473 1.00 0.00 H +ATOM 337 CG ASP A 21 31.304 20.050 8.473 1.00 0.00 C +ATOM 338 OD1 ASP A 21 31.594 18.908 8.038 1.00 0.00 O +ATOM 339 OD2 ASP A 21 31.452 21.083 7.775 1.00 0.00 O +ATOM 340 N THR A 22 31.423 19.162 12.968 1.00 0.00 N +ATOM 341 H THR A 22 32.290 18.871 12.539 1.00 0.00 H +ATOM 342 CA THR A 22 31.471 19.462 14.405 1.00 0.00 C +ATOM 343 HA THR A 22 30.549 19.099 14.860 1.00 0.00 H +ATOM 344 C THR A 22 31.578 20.958 14.679 1.00 0.00 C +ATOM 345 O THR A 22 32.120 21.718 13.874 1.00 0.00 O +ATOM 346 CB THR A 22 32.638 18.744 15.093 1.00 0.00 C +ATOM 347 HB THR A 22 32.694 19.061 16.135 1.00 0.00 H +ATOM 348 OG1 THR A 22 33.836 19.096 14.437 1.00 0.00 O +ATOM 349 HG1 THR A 22 34.529 18.488 14.707 1.00 0.00 H +ATOM 350 CG2 THR A 22 32.491 17.226 15.059 1.00 0.00 C +ATOM 351 HG21 THR A 22 31.570 16.939 15.567 1.00 0.00 H +ATOM 352 HG22 THR A 22 32.470 16.866 14.031 1.00 0.00 H +ATOM 353 HG23 THR A 22 33.330 16.767 15.584 1.00 0.00 H +ATOM 354 N ILE A 23 31.150 21.394 15.864 1.00 0.00 N +ATOM 355 H ILE A 23 30.702 20.737 16.486 1.00 0.00 H +ATOM 356 CA ILE A 23 31.402 22.761 16.341 1.00 0.00 C +ATOM 357 HA ILE A 23 31.044 23.460 15.586 1.00 0.00 H +ATOM 358 C ILE A 23 32.910 23.016 16.491 1.00 0.00 C +ATOM 359 O ILE A 23 33.356 24.127 16.237 1.00 0.00 O +ATOM 360 CB ILE A 23 30.627 23.024 17.648 1.00 0.00 C +ATOM 361 HB ILE A 23 30.985 22.301 18.382 1.00 0.00 H +ATOM 362 CG1 ILE A 23 29.104 22.806 17.506 1.00 0.00 C +ATOM 363 HG12 ILE A 23 28.908 21.760 17.268 1.00 0.00 H +ATOM 364 HG13 ILE A 23 28.646 22.987 18.478 1.00 0.00 H +ATOM 365 CG2 ILE A 23 30.903 24.433 18.209 1.00 0.00 C +ATOM 366 HG21 ILE A 23 30.287 24.609 19.091 1.00 0.00 H +ATOM 367 HG22 ILE A 23 30.689 25.193 17.458 1.00 0.00 H +ATOM 368 HG23 ILE A 23 31.945 24.521 18.515 1.00 0.00 H +ATOM 369 CD1 ILE A 23 28.398 23.668 16.449 1.00 0.00 C +ATOM 370 HD11 ILE A 23 28.550 24.728 16.651 1.00 0.00 H +ATOM 371 HD12 ILE A 23 27.328 23.459 16.473 1.00 0.00 H +ATOM 372 HD13 ILE A 23 28.773 23.429 15.454 1.00 0.00 H +ATOM 373 N GLU A 24 33.726 22.001 16.784 1.00 0.00 N +ATOM 374 H GLU A 24 33.319 21.122 17.072 1.00 0.00 H +ATOM 375 CA GLU A 24 35.190 22.092 16.695 1.00 0.00 C +ATOM 376 HA GLU A 24 35.533 22.872 17.374 1.00 0.00 H +ATOM 377 C GLU A 24 35.655 22.477 15.280 1.00 0.00 C +ATOM 378 O GLU A 24 36.475 23.381 15.133 1.00 0.00 O +ATOM 379 CB GLU A 24 35.816 20.757 17.129 1.00 0.00 C +ATOM 380 HB2 GLU A 24 35.562 19.981 16.407 1.00 0.00 H +ATOM 381 HB3 GLU A 24 35.406 20.466 18.096 1.00 0.00 H +ATOM 382 CG GLU A 24 37.342 20.847 17.261 1.00 0.00 C +ATOM 383 HG2 GLU A 24 37.776 21.084 16.290 1.00 0.00 H +ATOM 384 HG3 GLU A 24 37.588 21.663 17.942 1.00 0.00 H +ATOM 385 CD GLU A 24 37.933 19.521 17.788 1.00 0.00 C +ATOM 386 OE1 GLU A 24 38.230 18.616 16.969 1.00 0.00 O +ATOM 387 OE2 GLU A 24 38.119 19.381 19.022 1.00 0.00 O +ATOM 388 N ASN A 25 35.088 21.872 14.228 1.00 0.00 N +ATOM 389 H ASN A 25 34.411 21.140 14.390 1.00 0.00 H +ATOM 390 CA ASN A 25 35.409 22.222 12.841 1.00 0.00 C +ATOM 391 HA ASN A 25 36.494 22.229 12.737 1.00 0.00 H +ATOM 392 C ASN A 25 34.913 23.633 12.476 1.00 0.00 C +ATOM 393 O ASN A 25 35.609 24.369 11.782 1.00 0.00 O +ATOM 394 CB ASN A 25 34.838 21.131 11.917 1.00 0.00 C +ATOM 395 HB2 ASN A 25 35.081 20.149 12.322 1.00 0.00 H +ATOM 396 HB3 ASN A 25 33.752 21.215 11.872 1.00 0.00 H +ATOM 397 CG ASN A 25 35.430 21.185 10.516 1.00 0.00 C +ATOM 398 OD1 ASN A 25 36.636 21.128 10.326 1.00 0.00 O +ATOM 399 ND2 ASN A 25 34.615 21.283 9.486 1.00 0.00 N +ATOM 400 HD21 ASN A 25 35.017 21.167 8.567 1.00 0.00 H +ATOM 401 HD22 ASN A 25 33.612 21.313 9.605 1.00 0.00 H +ATOM 402 N VAL A 26 33.764 24.067 13.011 1.00 0.00 N +ATOM 403 H VAL A 26 33.216 23.404 13.540 1.00 0.00 H +ATOM 404 CA VAL A 26 33.291 25.466 12.894 1.00 0.00 C +ATOM 405 HA VAL A 26 33.262 25.742 11.840 1.00 0.00 H +ATOM 406 C VAL A 26 34.273 26.422 13.573 1.00 0.00 C +ATOM 407 O VAL A 26 34.715 27.383 12.950 1.00 0.00 O +ATOM 408 CB VAL A 26 31.868 25.624 13.468 1.00 0.00 C +ATOM 409 HB VAL A 26 31.865 25.296 14.507 1.00 0.00 H +ATOM 410 CG1 VAL A 26 31.360 27.072 13.431 1.00 0.00 C +ATOM 411 HG11 VAL A 26 31.979 27.711 14.060 1.00 0.00 H +ATOM 412 HG12 VAL A 26 30.341 27.113 13.814 1.00 0.00 H +ATOM 413 HG13 VAL A 26 31.371 27.450 12.408 1.00 0.00 H +ATOM 414 CG2 VAL A 26 30.860 24.772 12.691 1.00 0.00 C +ATOM 415 HG21 VAL A 26 31.167 23.727 12.659 1.00 0.00 H +ATOM 416 HG22 VAL A 26 29.895 24.821 13.197 1.00 0.00 H +ATOM 417 HG23 VAL A 26 30.757 25.140 11.670 1.00 0.00 H +ATOM 418 N LYS A 27 34.706 26.131 14.806 1.00 0.00 N +ATOM 419 H LYS A 27 34.316 25.323 15.269 1.00 0.00 H +ATOM 420 CA LYS A 27 35.718 26.933 15.519 1.00 0.00 C +ATOM 421 HA LYS A 27 35.374 27.965 15.569 1.00 0.00 H +ATOM 422 C LYS A 27 37.056 26.968 14.782 1.00 0.00 C +ATOM 423 O LYS A 27 37.672 28.028 14.723 1.00 0.00 O +ATOM 424 CB LYS A 27 35.924 26.409 16.952 1.00 0.00 C +ATOM 425 HB2 LYS A 27 36.093 25.332 16.932 1.00 0.00 H +ATOM 426 HB3 LYS A 27 36.823 26.883 17.345 1.00 0.00 H +ATOM 427 CG LYS A 27 34.767 26.727 17.917 1.00 0.00 C +ATOM 428 HG2 LYS A 27 34.570 27.799 17.910 1.00 0.00 H +ATOM 429 HG3 LYS A 27 33.859 26.209 17.608 1.00 0.00 H +ATOM 430 CD LYS A 27 35.158 26.293 19.339 1.00 0.00 C +ATOM 431 HD2 LYS A 27 36.159 26.664 19.556 1.00 0.00 H +ATOM 432 HD3 LYS A 27 35.177 25.205 19.388 1.00 0.00 H +ATOM 433 CE LYS A 27 34.211 26.842 20.417 1.00 0.00 C +ATOM 434 HE2 LYS A 27 34.141 27.926 20.318 1.00 0.00 H +ATOM 435 HE3 LYS A 27 33.218 26.420 20.267 1.00 0.00 H +ATOM 436 NZ LYS A 27 34.714 26.492 21.780 1.00 0.00 N +ATOM 437 HZ1 LYS A 27 34.671 25.490 21.905 1.00 0.00 H +ATOM 438 HZ2 LYS A 27 34.138 26.904 22.501 1.00 0.00 H +ATOM 439 HZ3 LYS A 27 35.662 26.806 21.925 1.00 0.00 H +ATOM 440 N ALA A 28 37.478 25.868 14.162 1.00 0.00 N +ATOM 441 H ALA A 28 36.968 25.010 14.320 1.00 0.00 H +ATOM 442 CA ALA A 28 38.687 25.815 13.336 1.00 0.00 C +ATOM 443 HA ALA A 28 39.523 26.206 13.915 1.00 0.00 H +ATOM 444 C ALA A 28 38.561 26.680 12.068 1.00 0.00 C +ATOM 445 O ALA A 28 39.478 27.433 11.749 1.00 0.00 O +ATOM 446 CB ALA A 28 38.989 24.349 13.002 1.00 0.00 C +ATOM 447 HB1 ALA A 28 39.084 23.771 13.922 1.00 0.00 H +ATOM 448 HB2 ALA A 28 38.190 23.924 12.394 1.00 0.00 H +ATOM 449 HB3 ALA A 28 39.926 24.284 12.449 1.00 0.00 H +ATOM 450 N LYS A 29 37.401 26.674 11.393 1.00 0.00 N +ATOM 451 H LYS A 29 36.695 26.006 11.667 1.00 0.00 H +ATOM 452 CA LYS A 29 37.129 27.571 10.246 1.00 0.00 C +ATOM 453 HA LYS A 29 37.948 27.491 9.531 1.00 0.00 H +ATOM 454 C LYS A 29 37.088 29.048 10.664 1.00 0.00 C +ATOM 455 O LYS A 29 37.644 29.895 9.973 1.00 0.00 O +ATOM 456 CB LYS A 29 35.829 27.137 9.545 1.00 0.00 C +ATOM 457 HB2 LYS A 29 35.028 27.059 10.279 1.00 0.00 H +ATOM 458 HB3 LYS A 29 35.562 27.898 8.812 1.00 0.00 H +ATOM 459 CG LYS A 29 35.978 25.809 8.781 1.00 0.00 C +ATOM 460 HG2 LYS A 29 36.458 25.064 9.414 1.00 0.00 H +ATOM 461 HG3 LYS A 29 36.614 25.978 7.912 1.00 0.00 H +ATOM 462 CD LYS A 29 34.606 25.271 8.332 1.00 0.00 C +ATOM 463 HD2 LYS A 29 34.044 24.998 9.225 1.00 0.00 H +ATOM 464 HD3 LYS A 29 34.047 26.043 7.805 1.00 0.00 H +ATOM 465 CE LYS A 29 34.740 24.019 7.443 1.00 0.00 C +ATOM 466 HE2 LYS A 29 33.814 23.449 7.515 1.00 0.00 H +ATOM 467 HE3 LYS A 29 35.542 23.393 7.835 1.00 0.00 H +ATOM 468 NZ LYS A 29 34.992 24.351 6.001 1.00 0.00 N +ATOM 469 HZ1 LYS A 29 35.821 24.913 5.867 1.00 0.00 H +ATOM 470 HZ2 LYS A 29 35.117 23.512 5.453 1.00 0.00 H +ATOM 471 HZ3 LYS A 29 34.203 24.838 5.600 1.00 0.00 H +ATOM 472 N ILE A 30 36.530 29.359 11.838 1.00 0.00 N +ATOM 473 H ILE A 30 36.041 28.627 12.333 1.00 0.00 H +ATOM 474 CA ILE A 30 36.604 30.709 12.439 1.00 0.00 C +ATOM 475 HA ILE A 30 36.243 31.440 11.716 1.00 0.00 H +ATOM 476 C ILE A 30 38.058 31.088 12.757 1.00 0.00 C +ATOM 477 O ILE A 30 38.480 32.195 12.442 1.00 0.00 O +ATOM 478 CB ILE A 30 35.701 30.791 13.692 1.00 0.00 C +ATOM 479 HB ILE A 30 35.963 29.964 14.352 1.00 0.00 H +ATOM 480 CG1 ILE A 30 34.213 30.652 13.300 1.00 0.00 C +ATOM 481 HG12 ILE A 30 34.091 29.816 12.612 1.00 0.00 H +ATOM 482 HG13 ILE A 30 33.889 31.556 12.784 1.00 0.00 H +ATOM 483 CG2 ILE A 30 35.913 32.111 14.461 1.00 0.00 C +ATOM 484 HG21 ILE A 30 35.305 32.112 15.365 1.00 0.00 H +ATOM 485 HG22 ILE A 30 35.641 32.964 13.839 1.00 0.00 H +ATOM 486 HG23 ILE A 30 36.949 32.217 14.785 1.00 0.00 H +ATOM 487 CD1 ILE A 30 33.280 30.399 14.492 1.00 0.00 C +ATOM 488 HD11 ILE A 30 33.254 31.264 15.155 1.00 0.00 H +ATOM 489 HD12 ILE A 30 32.270 30.213 14.126 1.00 0.00 H +ATOM 490 HD13 ILE A 30 33.619 29.525 15.047 1.00 0.00 H +ATOM 491 N GLN A 31 38.860 30.179 13.315 1.00 0.00 N +ATOM 492 H GLN A 31 38.477 29.282 13.578 1.00 0.00 H +ATOM 493 CA GLN A 31 40.288 30.426 13.550 1.00 0.00 C +ATOM 494 HA GLN A 31 40.383 31.324 14.161 1.00 0.00 H +ATOM 495 C GLN A 31 41.043 30.675 12.227 1.00 0.00 C +ATOM 496 O GLN A 31 41.913 31.540 12.179 1.00 0.00 O +ATOM 497 CB GLN A 31 40.883 29.249 14.342 1.00 0.00 C +ATOM 498 HB2 GLN A 31 40.258 29.055 15.213 1.00 0.00 H +ATOM 499 HB3 GLN A 31 40.885 28.360 13.712 1.00 0.00 H +ATOM 500 CG GLN A 31 42.319 29.526 14.826 1.00 0.00 C +ATOM 501 HG2 GLN A 31 42.952 29.782 13.977 1.00 0.00 H +ATOM 502 HG3 GLN A 31 42.304 30.378 15.506 1.00 0.00 H +ATOM 503 CD GLN A 31 42.966 28.336 15.540 1.00 0.00 C +ATOM 504 OE1 GLN A 31 42.459 27.223 15.576 1.00 0.00 O +ATOM 505 NE2 GLN A 31 44.122 28.528 16.142 1.00 0.00 N +ATOM 506 HE21 GLN A 31 44.587 29.425 16.109 1.00 0.00 H +ATOM 507 HE22 GLN A 31 44.562 27.737 16.590 1.00 0.00 H +ATOM 508 N ASP A 32 40.680 29.988 11.141 1.00 0.00 N +ATOM 509 H ASP A 32 40.017 29.234 11.252 1.00 0.00 H +ATOM 510 CA ASP A 32 41.318 30.148 9.830 1.00 0.00 C +ATOM 511 HA ASP A 32 42.394 30.046 9.968 1.00 0.00 H +ATOM 512 C ASP A 32 41.076 31.529 9.178 1.00 0.00 C +ATOM 513 O ASP A 32 42.026 32.093 8.623 1.00 0.00 O +ATOM 514 CB ASP A 32 40.868 29.012 8.903 1.00 0.00 C +ATOM 515 HB2 ASP A 32 39.794 29.087 8.734 1.00 0.00 H +ATOM 516 HB3 ASP A 32 41.063 28.056 9.388 1.00 0.00 H +ATOM 517 CG ASP A 32 41.612 29.054 7.553 1.00 0.00 C +ATOM 518 OD1 ASP A 32 42.824 28.728 7.521 1.00 0.00 O +ATOM 519 OD2 ASP A 32 40.982 29.386 6.520 1.00 0.00 O +ATOM 520 N LYS A 33 39.853 32.099 9.264 1.00 0.00 N +ATOM 521 H LYS A 33 39.114 31.555 9.685 1.00 0.00 H +ATOM 522 CA LYS A 33 39.530 33.412 8.648 1.00 0.00 C +ATOM 523 HA LYS A 33 40.374 33.682 8.013 1.00 0.00 H +ATOM 524 C LYS A 33 39.425 34.622 9.596 1.00 0.00 C +ATOM 525 O LYS A 33 39.566 35.752 9.134 1.00 0.00 O +ATOM 526 CB LYS A 33 38.346 33.304 7.666 1.00 0.00 C +ATOM 527 HB2 LYS A 33 38.282 34.252 7.131 1.00 0.00 H +ATOM 528 HB3 LYS A 33 38.581 32.533 6.933 1.00 0.00 H +ATOM 529 CG LYS A 33 36.969 33.000 8.286 1.00 0.00 C +ATOM 530 HG2 LYS A 33 36.842 33.589 9.195 1.00 0.00 H +ATOM 531 HG3 LYS A 33 36.917 31.945 8.553 1.00 0.00 H +ATOM 532 CD LYS A 33 35.811 33.343 7.325 1.00 0.00 C +ATOM 533 HD2 LYS A 33 35.833 34.415 7.128 1.00 0.00 H +ATOM 534 HD3 LYS A 33 34.867 33.117 7.821 1.00 0.00 H +ATOM 535 CE LYS A 33 35.876 32.576 5.987 1.00 0.00 C +ATOM 536 HE2 LYS A 33 35.779 31.509 6.189 1.00 0.00 H +ATOM 537 HE3 LYS A 33 36.853 32.734 5.531 1.00 0.00 H +ATOM 538 NZ LYS A 33 34.808 33.018 5.029 1.00 0.00 N +ATOM 539 HZ1 LYS A 33 33.882 32.880 5.407 1.00 0.00 H +ATOM 540 HZ2 LYS A 33 34.858 32.499 4.164 1.00 0.00 H +ATOM 541 HZ3 LYS A 33 34.900 33.993 4.784 1.00 0.00 H +ATOM 542 N GLU A 34 39.236 34.414 10.902 1.00 0.00 N +ATOM 543 H GLU A 34 39.070 33.467 11.212 1.00 0.00 H +ATOM 544 CA GLU A 34 39.181 35.483 11.924 1.00 0.00 C +ATOM 545 HA GLU A 34 39.315 36.451 11.440 1.00 0.00 H +ATOM 546 C GLU A 34 40.308 35.411 12.977 1.00 0.00 C +ATOM 547 O GLU A 34 40.478 36.351 13.754 1.00 0.00 O +ATOM 548 CB GLU A 34 37.797 35.503 12.604 1.00 0.00 C +ATOM 549 HB2 GLU A 34 37.825 36.174 13.462 1.00 0.00 H +ATOM 550 HB3 GLU A 34 37.565 34.508 12.985 1.00 0.00 H +ATOM 551 CG GLU A 34 36.658 35.960 11.680 1.00 0.00 C +ATOM 552 HG2 GLU A 34 35.724 35.887 12.238 1.00 0.00 H +ATOM 553 HG3 GLU A 34 36.584 35.269 10.841 1.00 0.00 H +ATOM 554 CD GLU A 34 36.821 37.413 11.164 1.00 0.00 C +ATOM 555 OE1 GLU A 34 37.298 38.300 11.912 1.00 0.00 O +ATOM 556 OE2 GLU A 34 36.423 37.696 10.008 1.00 0.00 O +ATOM 557 N GLY A 35 41.101 34.330 13.016 1.00 0.00 N +ATOM 558 H GLY A 35 40.950 33.590 12.345 1.00 0.00 H +ATOM 559 CA GLY A 35 42.280 34.206 13.892 1.00 0.00 C +ATOM 560 HA2 GLY A 35 42.913 33.398 13.526 1.00 0.00 H +ATOM 561 HA3 GLY A 35 42.860 35.127 13.829 1.00 0.00 H +ATOM 562 C GLY A 35 41.990 33.939 15.378 1.00 0.00 C +ATOM 563 O GLY A 35 42.925 33.914 16.179 1.00 0.00 O +ATOM 564 N ILE A 36 40.721 33.743 15.770 1.00 0.00 N +ATOM 565 H ILE A 36 40.006 33.751 15.056 1.00 0.00 H +ATOM 566 CA ILE A 36 40.308 33.635 17.184 1.00 0.00 C +ATOM 567 HA ILE A 36 40.864 34.384 17.747 1.00 0.00 H +ATOM 568 C ILE A 36 40.637 32.228 17.717 1.00 0.00 C +ATOM 569 O ILE A 36 40.178 31.256 17.117 1.00 0.00 O +ATOM 570 CB ILE A 36 38.799 33.952 17.371 1.00 0.00 C +ATOM 571 HB ILE A 36 38.224 33.129 16.946 1.00 0.00 H +ATOM 572 CG1 ILE A 36 38.356 35.254 16.657 1.00 0.00 C +ATOM 573 HG12 ILE A 36 38.793 36.116 17.162 1.00 0.00 H +ATOM 574 HG13 ILE A 36 38.714 35.256 15.627 1.00 0.00 H +ATOM 575 CG2 ILE A 36 38.478 34.061 18.881 1.00 0.00 C +ATOM 576 HG21 ILE A 36 38.770 33.160 19.420 1.00 0.00 H +ATOM 577 HG22 ILE A 36 37.409 34.204 19.043 1.00 0.00 H +ATOM 578 HG23 ILE A 36 39.005 34.910 19.316 1.00 0.00 H +ATOM 579 CD1 ILE A 36 36.833 35.432 16.576 1.00 0.00 C +ATOM 580 HD11 ILE A 36 36.397 35.538 17.569 1.00 0.00 H +ATOM 581 HD12 ILE A 36 36.385 34.575 16.072 1.00 0.00 H +ATOM 582 HD13 ILE A 36 36.607 36.331 16.002 1.00 0.00 H +ATOM 583 N PRO A 37 41.334 32.060 18.858 1.00 0.00 N +ATOM 584 CA PRO A 37 41.610 30.735 19.429 1.00 0.00 C +ATOM 585 HA PRO A 37 42.181 30.168 18.694 1.00 0.00 H +ATOM 586 C PRO A 37 40.333 29.981 19.841 1.00 0.00 C +ATOM 587 O PRO A 37 39.511 30.561 20.545 1.00 0.00 O +ATOM 588 CB PRO A 37 42.517 30.992 20.642 1.00 0.00 C +ATOM 589 HB2 PRO A 37 41.922 31.138 21.544 1.00 0.00 H +ATOM 590 HB3 PRO A 37 43.236 30.186 20.789 1.00 0.00 H +ATOM 591 CG PRO A 37 43.212 32.304 20.285 1.00 0.00 C +ATOM 592 HG2 PRO A 37 43.569 32.832 21.170 1.00 0.00 H +ATOM 593 HG3 PRO A 37 44.034 32.109 19.596 1.00 0.00 H +ATOM 594 CD PRO A 37 42.110 33.075 19.562 1.00 0.00 C +ATOM 595 HD2 PRO A 37 41.472 33.587 20.282 1.00 0.00 H +ATOM 596 HD3 PRO A 37 42.566 33.794 18.882 1.00 0.00 H +ATOM 597 N PRO A 38 40.145 28.693 19.486 1.00 0.00 N +ATOM 598 CA PRO A 38 38.945 27.908 19.830 1.00 0.00 C +ATOM 599 HA PRO A 38 38.097 28.316 19.279 1.00 0.00 H +ATOM 600 C PRO A 38 38.568 27.870 21.318 1.00 0.00 C +ATOM 601 O PRO A 38 37.385 27.792 21.637 1.00 0.00 O +ATOM 602 CB PRO A 38 39.242 26.495 19.307 1.00 0.00 C +ATOM 603 HB2 PRO A 38 39.828 25.937 20.037 1.00 0.00 H +ATOM 604 HB3 PRO A 38 38.337 25.943 19.052 1.00 0.00 H +ATOM 605 CG PRO A 38 40.101 26.767 18.076 1.00 0.00 C +ATOM 606 HG2 PRO A 38 40.706 25.902 17.802 1.00 0.00 H +ATOM 607 HG3 PRO A 38 39.471 27.078 17.243 1.00 0.00 H +ATOM 608 CD PRO A 38 40.964 27.939 18.539 1.00 0.00 C +ATOM 609 HD2 PRO A 38 41.857 27.564 19.038 1.00 0.00 H +ATOM 610 HD3 PRO A 38 41.236 28.543 17.674 1.00 0.00 H +ATOM 611 N ASP A 39 39.543 27.997 22.223 1.00 0.00 N +ATOM 612 H ASP A 39 40.501 27.975 21.903 1.00 0.00 H +ATOM 613 CA ASP A 39 39.306 28.094 23.677 1.00 0.00 C +ATOM 614 HA ASP A 39 38.614 27.310 23.982 1.00 0.00 H +ATOM 615 C ASP A 39 38.689 29.444 24.088 1.00 0.00 C +ATOM 616 O ASP A 39 37.846 29.497 24.983 1.00 0.00 O +ATOM 617 CB ASP A 39 40.647 27.858 24.387 1.00 0.00 C +ATOM 618 HB2 ASP A 39 41.357 28.614 24.050 1.00 0.00 H +ATOM 619 HB3 ASP A 39 41.035 26.886 24.081 1.00 0.00 H +ATOM 620 CG ASP A 39 40.547 27.888 25.925 1.00 0.00 C +ATOM 621 OD1 ASP A 39 41.292 28.682 26.549 1.00 0.00 O +ATOM 622 OD2 ASP A 39 39.776 27.086 26.506 1.00 0.00 O +ATOM 623 N GLN A 40 39.032 30.538 23.389 1.00 0.00 N +ATOM 624 H GLN A 40 39.681 30.440 22.622 1.00 0.00 H +ATOM 625 CA GLN A 40 38.415 31.856 23.618 1.00 0.00 C +ATOM 626 HA GLN A 40 38.166 31.941 24.675 1.00 0.00 H +ATOM 627 C GLN A 40 37.087 32.030 22.866 1.00 0.00 C +ATOM 628 O GLN A 40 36.288 32.874 23.257 1.00 0.00 O +ATOM 629 CB GLN A 40 39.412 32.990 23.316 1.00 0.00 C +ATOM 630 HB2 GLN A 40 39.741 32.932 22.279 1.00 0.00 H +ATOM 631 HB3 GLN A 40 38.904 33.943 23.464 1.00 0.00 H +ATOM 632 CG GLN A 40 40.632 32.934 24.259 1.00 0.00 C +ATOM 633 HG2 GLN A 40 40.300 32.650 25.257 1.00 0.00 H +ATOM 634 HG3 GLN A 40 41.328 32.172 23.905 1.00 0.00 H +ATOM 635 CD GLN A 40 41.370 34.272 24.376 1.00 0.00 C +ATOM 636 OE1 GLN A 40 41.454 34.879 25.437 1.00 0.00 O +ATOM 637 NE2 GLN A 40 41.954 34.780 23.307 1.00 0.00 N +ATOM 638 HE21 GLN A 40 41.926 34.307 22.415 1.00 0.00 H +ATOM 639 HE22 GLN A 40 42.447 35.655 23.413 1.00 0.00 H +ATOM 640 N GLN A 41 36.801 31.216 21.840 1.00 0.00 N +ATOM 641 H GLN A 41 37.503 30.550 21.551 1.00 0.00 H +ATOM 642 CA GLN A 41 35.508 31.238 21.131 1.00 0.00 C +ATOM 643 HA GLN A 41 35.244 32.273 20.917 1.00 0.00 H +ATOM 644 C GLN A 41 34.372 30.618 21.962 1.00 0.00 C +ATOM 645 O GLN A 41 34.457 29.463 22.377 1.00 0.00 O +ATOM 646 CB GLN A 41 35.608 30.478 19.793 1.00 0.00 C +ATOM 647 HB2 GLN A 41 35.943 29.460 19.991 1.00 0.00 H +ATOM 648 HB3 GLN A 41 34.608 30.424 19.363 1.00 0.00 H +ATOM 649 CG GLN A 41 36.545 31.109 18.745 1.00 0.00 C +ATOM 650 HG2 GLN A 41 37.561 31.149 19.138 1.00 0.00 H +ATOM 651 HG3 GLN A 41 36.212 32.121 18.518 1.00 0.00 H +ATOM 652 CD GLN A 41 36.543 30.308 17.451 1.00 0.00 C +ATOM 653 OE1 GLN A 41 35.508 29.893 16.972 1.00 0.00 O +ATOM 654 NE2 GLN A 41 37.672 30.029 16.835 1.00 0.00 N +ATOM 655 HE21 GLN A 41 37.619 29.442 16.015 1.00 0.00 H +ATOM 656 HE22 GLN A 41 38.561 30.407 17.129 1.00 0.00 H +ATOM 657 N ARG A 42 33.251 31.330 22.104 1.00 0.00 N +ATOM 658 H ARG A 42 33.275 32.301 21.827 1.00 0.00 H +ATOM 659 CA ARG A 42 31.945 30.811 22.573 1.00 0.00 C +ATOM 660 HA ARG A 42 32.019 29.742 22.777 1.00 0.00 H +ATOM 661 C ARG A 42 30.921 31.007 21.450 1.00 0.00 C +ATOM 662 O ARG A 42 30.898 32.068 20.843 1.00 0.00 O +ATOM 663 CB ARG A 42 31.598 31.547 23.892 1.00 0.00 C +ATOM 664 HB2 ARG A 42 32.315 31.238 24.653 1.00 0.00 H +ATOM 665 HB3 ARG A 42 31.745 32.618 23.748 1.00 0.00 H +ATOM 666 CG ARG A 42 30.172 31.336 24.435 1.00 0.00 C +ATOM 667 HG2 ARG A 42 29.981 30.271 24.570 1.00 0.00 H +ATOM 668 HG3 ARG A 42 29.453 31.740 23.722 1.00 0.00 H +ATOM 669 CD ARG A 42 29.995 32.061 25.780 1.00 0.00 C +ATOM 670 HD2 ARG A 42 30.392 33.072 25.692 1.00 0.00 H +ATOM 671 HD3 ARG A 42 30.568 31.529 26.539 1.00 0.00 H +ATOM 672 NE ARG A 42 28.569 32.142 26.188 1.00 0.00 N +ATOM 673 HE ARG A 42 27.874 31.765 25.560 1.00 0.00 H +ATOM 674 CZ ARG A 42 28.112 32.696 27.309 1.00 0.00 C +ATOM 675 NH1 ARG A 42 28.908 33.212 28.208 1.00 0.00 N +ATOM 676 HH11 ARG A 42 29.910 33.189 28.079 1.00 0.00 H +ATOM 677 HH12 ARG A 42 28.529 33.624 29.048 1.00 0.00 H +ATOM 678 NH2 ARG A 42 26.829 32.746 27.551 1.00 0.00 N +ATOM 679 HH21 ARG A 42 26.154 32.390 26.889 1.00 0.00 H +ATOM 680 HH22 ARG A 42 26.493 33.167 28.406 1.00 0.00 H +ATOM 681 N LEU A 43 30.087 30.006 21.162 1.00 0.00 N +ATOM 682 H LEU A 43 30.117 29.171 21.729 1.00 0.00 H +ATOM 683 CA LEU A 43 29.104 30.043 20.061 1.00 0.00 C +ATOM 684 HA LEU A 43 29.080 31.045 19.633 1.00 0.00 H +ATOM 685 C LEU A 43 27.691 29.750 20.571 1.00 0.00 C +ATOM 686 O LEU A 43 27.521 28.945 21.482 1.00 0.00 O +ATOM 687 CB LEU A 43 29.512 29.036 18.962 1.00 0.00 C +ATOM 688 HB2 LEU A 43 29.773 28.094 19.445 1.00 0.00 H +ATOM 689 HB3 LEU A 43 28.654 28.848 18.316 1.00 0.00 H +ATOM 690 CG LEU A 43 30.682 29.482 18.068 1.00 0.00 C +ATOM 691 HG LEU A 43 31.495 29.859 18.689 1.00 0.00 H +ATOM 692 CD1 LEU A 43 31.200 28.293 17.256 1.00 0.00 C +ATOM 693 HD11 LEU A 43 32.049 28.605 16.648 1.00 0.00 H +ATOM 694 HD12 LEU A 43 31.537 27.505 17.930 1.00 0.00 H +ATOM 695 HD13 LEU A 43 30.415 27.903 16.608 1.00 0.00 H +ATOM 696 CD2 LEU A 43 30.248 30.569 17.081 1.00 0.00 C +ATOM 697 HD21 LEU A 43 29.906 31.455 17.616 1.00 0.00 H +ATOM 698 HD22 LEU A 43 31.094 30.851 16.454 1.00 0.00 H +ATOM 699 HD23 LEU A 43 29.442 30.205 16.443 1.00 0.00 H +ATOM 700 N ILE A 44 26.680 30.386 19.979 1.00 0.00 N +ATOM 701 H ILE A 44 26.906 31.061 19.263 1.00 0.00 H +ATOM 702 CA ILE A 44 25.263 30.281 20.376 1.00 0.00 C +ATOM 703 HA ILE A 44 25.131 29.378 20.974 1.00 0.00 H +ATOM 704 C ILE A 44 24.379 30.157 19.123 1.00 0.00 C +ATOM 705 O ILE A 44 24.606 30.861 18.141 1.00 0.00 O +ATOM 706 CB ILE A 44 24.849 31.507 21.239 1.00 0.00 C +ATOM 707 HB ILE A 44 24.897 32.392 20.604 1.00 0.00 H +ATOM 708 CG1 ILE A 44 25.816 31.742 22.428 1.00 0.00 C +ATOM 709 HG12 ILE A 44 26.825 31.893 22.046 1.00 0.00 H +ATOM 710 HG13 ILE A 44 25.822 30.860 23.070 1.00 0.00 H +ATOM 711 CG2 ILE A 44 23.400 31.370 21.752 1.00 0.00 C +ATOM 712 HG21 ILE A 44 23.322 30.536 22.450 1.00 0.00 H +ATOM 713 HG22 ILE A 44 23.088 32.284 22.258 1.00 0.00 H +ATOM 714 HG23 ILE A 44 22.701 31.219 20.929 1.00 0.00 H +ATOM 715 CD1 ILE A 44 25.499 32.979 23.282 1.00 0.00 C +ATOM 716 HD11 ILE A 44 26.322 33.160 23.974 1.00 0.00 H +ATOM 717 HD12 ILE A 44 25.383 33.853 22.642 1.00 0.00 H +ATOM 718 HD13 ILE A 44 24.590 32.823 23.862 1.00 0.00 H +ATOM 719 N PHE A 45 23.351 29.303 19.163 1.00 0.00 N +ATOM 720 H PHE A 45 23.239 28.732 19.988 1.00 0.00 H +ATOM 721 CA PHE A 45 22.262 29.250 18.168 1.00 0.00 C +ATOM 722 HA PHE A 45 22.069 30.255 17.793 1.00 0.00 H +ATOM 723 C PHE A 45 20.973 28.736 18.822 1.00 0.00 C +ATOM 724 O PHE A 45 21.042 27.970 19.777 1.00 0.00 O +ATOM 725 CB PHE A 45 22.684 28.362 16.985 1.00 0.00 C +ATOM 726 HB2 PHE A 45 23.012 27.393 17.362 1.00 0.00 H +ATOM 727 HB3 PHE A 45 23.539 28.832 16.501 1.00 0.00 H +ATOM 728 CG PHE A 45 21.616 28.118 15.935 1.00 0.00 C +ATOM 729 CD1 PHE A 45 21.332 29.104 14.974 1.00 0.00 C +ATOM 730 HD1 PHE A 45 21.866 30.043 14.987 1.00 0.00 H +ATOM 731 CD2 PHE A 45 20.903 26.903 15.920 1.00 0.00 C +ATOM 732 HD2 PHE A 45 21.107 26.139 16.656 1.00 0.00 H +ATOM 733 CE1 PHE A 45 20.347 28.874 13.995 1.00 0.00 C +ATOM 734 HE1 PHE A 45 20.121 29.639 13.267 1.00 0.00 H +ATOM 735 CE2 PHE A 45 19.928 26.668 14.933 1.00 0.00 C +ATOM 736 HE2 PHE A 45 19.392 25.731 14.917 1.00 0.00 H +ATOM 737 CZ PHE A 45 19.651 27.653 13.970 1.00 0.00 C +ATOM 738 HZ PHE A 45 18.897 27.474 13.217 1.00 0.00 H +ATOM 739 N ALA A 46 19.796 29.152 18.336 1.00 0.00 N +ATOM 740 H ALA A 46 19.801 29.759 17.530 1.00 0.00 H +ATOM 741 CA ALA A 46 18.478 28.694 18.817 1.00 0.00 C +ATOM 742 HA ALA A 46 17.744 29.418 18.463 1.00 0.00 H +ATOM 743 C ALA A 46 18.323 28.684 20.360 1.00 0.00 C +ATOM 744 O ALA A 46 17.814 27.724 20.945 1.00 0.00 O +ATOM 745 CB ALA A 46 18.141 27.360 18.131 1.00 0.00 C +ATOM 746 HB1 ALA A 46 18.851 26.591 18.437 1.00 0.00 H +ATOM 747 HB2 ALA A 46 17.130 27.049 18.396 1.00 0.00 H +ATOM 748 HB3 ALA A 46 18.192 27.483 17.049 1.00 0.00 H +ATOM 749 N GLY A 47 18.830 29.728 21.033 1.00 0.00 N +ATOM 750 H GLY A 47 19.214 30.494 20.499 1.00 0.00 H +ATOM 751 CA GLY A 47 18.790 29.872 22.499 1.00 0.00 C +ATOM 752 HA2 GLY A 47 17.776 29.675 22.846 1.00 0.00 H +ATOM 753 HA3 GLY A 47 19.035 30.903 22.754 1.00 0.00 H +ATOM 754 C GLY A 47 19.744 28.960 23.294 1.00 0.00 C +ATOM 755 O GLY A 47 19.632 28.905 24.521 1.00 0.00 O +ATOM 756 N LYS A 48 20.665 28.241 22.627 1.00 0.00 N +ATOM 757 H LYS A 48 20.712 28.343 21.623 1.00 0.00 H +ATOM 758 CA LYS A 48 21.565 27.232 23.224 1.00 0.00 C +ATOM 759 HA LYS A 48 21.454 27.240 24.308 1.00 0.00 H +ATOM 760 C LYS A 48 23.033 27.533 22.917 1.00 0.00 C +ATOM 761 O LYS A 48 23.361 27.967 21.816 1.00 0.00 O +ATOM 762 CB LYS A 48 21.166 25.837 22.702 1.00 0.00 C +ATOM 763 HB2 LYS A 48 21.115 25.863 21.613 1.00 0.00 H +ATOM 764 HB3 LYS A 48 21.929 25.113 22.987 1.00 0.00 H +ATOM 765 CG LYS A 48 19.818 25.376 23.285 1.00 0.00 C +ATOM 766 HG2 LYS A 48 19.938 25.258 24.362 1.00 0.00 H +ATOM 767 HG3 LYS A 48 19.054 26.135 23.118 1.00 0.00 H +ATOM 768 CD LYS A 48 19.336 24.036 22.703 1.00 0.00 C +ATOM 769 HD2 LYS A 48 20.161 23.324 22.735 1.00 0.00 H +ATOM 770 HD3 LYS A 48 18.547 23.641 23.343 1.00 0.00 H +ATOM 771 CE LYS A 48 18.807 24.121 21.257 1.00 0.00 C +ATOM 772 HE2 LYS A 48 19.557 24.592 20.620 1.00 0.00 H +ATOM 773 HE3 LYS A 48 18.672 23.102 20.895 1.00 0.00 H +ATOM 774 NZ LYS A 48 17.501 24.852 21.157 1.00 0.00 N +ATOM 775 HZ1 LYS A 48 17.109 24.766 20.231 1.00 0.00 H +ATOM 776 HZ2 LYS A 48 16.814 24.478 21.796 1.00 0.00 H +ATOM 777 HZ3 LYS A 48 17.598 25.841 21.341 1.00 0.00 H +ATOM 778 N GLN A 49 23.929 27.272 23.872 1.00 0.00 N +ATOM 779 H GLN A 49 23.600 26.894 24.749 1.00 0.00 H +ATOM 780 CA GLN A 49 25.381 27.343 23.646 1.00 0.00 C +ATOM 781 HA GLN A 49 25.582 28.196 22.998 1.00 0.00 H +ATOM 782 C GLN A 49 25.871 26.069 22.934 1.00 0.00 C +ATOM 783 O GLN A 49 25.424 24.965 23.253 1.00 0.00 O +ATOM 784 CB GLN A 49 26.115 27.579 24.979 1.00 0.00 C +ATOM 785 HB2 GLN A 49 26.140 26.649 25.548 1.00 0.00 H +ATOM 786 HB3 GLN A 49 25.561 28.319 25.557 1.00 0.00 H +ATOM 787 CG GLN A 49 27.549 28.099 24.768 1.00 0.00 C +ATOM 788 HG2 GLN A 49 28.082 27.434 24.089 1.00 0.00 H +ATOM 789 HG3 GLN A 49 27.506 29.088 24.312 1.00 0.00 H +ATOM 790 CD GLN A 49 28.356 28.191 26.066 1.00 0.00 C +ATOM 791 OE1 GLN A 49 29.439 27.637 26.189 1.00 0.00 O +ATOM 792 NE2 GLN A 49 27.892 28.916 27.067 1.00 0.00 N +ATOM 793 HE21 GLN A 49 28.442 28.948 27.913 1.00 0.00 H +ATOM 794 HE22 GLN A 49 26.979 29.345 27.038 1.00 0.00 H +ATOM 795 N LEU A 50 26.781 26.222 21.968 1.00 0.00 N +ATOM 796 H LEU A 50 27.151 27.147 21.800 1.00 0.00 H +ATOM 797 CA LEU A 50 27.228 25.135 21.091 1.00 0.00 C +ATOM 798 HA LEU A 50 26.480 24.342 21.115 1.00 0.00 H +ATOM 799 C LEU A 50 28.547 24.522 21.596 1.00 0.00 C +ATOM 800 O LEU A 50 29.485 25.247 21.927 1.00 0.00 O +ATOM 801 CB LEU A 50 27.304 25.636 19.634 1.00 0.00 C +ATOM 802 HB2 LEU A 50 28.191 26.260 19.527 1.00 0.00 H +ATOM 803 HB3 LEU A 50 27.419 24.767 18.986 1.00 0.00 H +ATOM 804 CG LEU A 50 26.085 26.440 19.144 1.00 0.00 C +ATOM 805 HG LEU A 50 26.027 27.377 19.698 1.00 0.00 H +ATOM 806 CD1 LEU A 50 26.249 26.776 17.661 1.00 0.00 C +ATOM 807 HD11 LEU A 50 27.207 27.266 17.489 1.00 0.00 H +ATOM 808 HD12 LEU A 50 26.204 25.867 17.060 1.00 0.00 H +ATOM 809 HD13 LEU A 50 25.452 27.451 17.352 1.00 0.00 H +ATOM 810 CD2 LEU A 50 24.767 25.691 19.319 1.00 0.00 C +ATOM 811 HD21 LEU A 50 23.932 26.324 19.019 1.00 0.00 H +ATOM 812 HD22 LEU A 50 24.773 24.786 18.710 1.00 0.00 H +ATOM 813 HD23 LEU A 50 24.604 25.422 20.363 1.00 0.00 H +ATOM 814 N GLU A 51 28.617 23.190 21.653 1.00 0.00 N +ATOM 815 H GLU A 51 27.821 22.654 21.338 1.00 0.00 H +ATOM 816 CA GLU A 51 29.713 22.430 22.272 1.00 0.00 C +ATOM 817 HA GLU A 51 30.341 23.110 22.847 1.00 0.00 H +ATOM 818 C GLU A 51 30.592 21.747 21.219 1.00 0.00 C +ATOM 819 O GLU A 51 30.079 21.073 20.331 1.00 0.00 O +ATOM 820 CB GLU A 51 29.115 21.408 23.254 1.00 0.00 C +ATOM 821 HB2 GLU A 51 28.493 20.700 22.707 1.00 0.00 H +ATOM 822 HB3 GLU A 51 28.482 21.940 23.965 1.00 0.00 H +ATOM 823 CG GLU A 51 30.184 20.633 24.035 1.00 0.00 C +ATOM 824 HG2 GLU A 51 30.852 21.344 24.521 1.00 0.00 H +ATOM 825 HG3 GLU A 51 30.780 20.041 23.341 1.00 0.00 H +ATOM 826 CD GLU A 51 29.540 19.708 25.093 1.00 0.00 C +ATOM 827 OE1 GLU A 51 29.284 20.170 26.233 1.00 0.00 O +ATOM 828 OE2 GLU A 51 29.303 18.510 24.799 1.00 0.00 O +ATOM 829 N ASP A 52 31.917 21.883 21.338 1.00 0.00 N +ATOM 830 H ASP A 52 32.258 22.510 22.053 1.00 0.00 H +ATOM 831 CA ASP A 52 32.916 21.477 20.333 1.00 0.00 C +ATOM 832 HA ASP A 52 32.872 22.195 19.514 1.00 0.00 H +ATOM 833 C ASP A 52 32.700 20.077 19.723 1.00 0.00 C +ATOM 834 O ASP A 52 32.802 19.919 18.506 1.00 0.00 O +ATOM 835 CB ASP A 52 34.339 21.567 20.925 1.00 0.00 C +ATOM 836 HB2 ASP A 52 34.445 20.780 21.671 1.00 0.00 H +ATOM 837 HB3 ASP A 52 35.055 21.361 20.129 1.00 0.00 H +ATOM 838 CG ASP A 52 34.730 22.906 21.587 1.00 0.00 C +ATOM 839 OD1 ASP A 52 33.918 23.860 21.621 1.00 0.00 O +ATOM 840 OD2 ASP A 52 35.882 23.024 22.063 1.00 0.00 O +ATOM 841 N GLY A 53 32.377 19.070 20.544 1.00 0.00 N +ATOM 842 H GLY A 53 32.291 19.268 21.531 1.00 0.00 H +ATOM 843 CA GLY A 53 32.195 17.679 20.099 1.00 0.00 C +ATOM 844 HA2 GLY A 53 32.293 17.023 20.964 1.00 0.00 H +ATOM 845 HA3 GLY A 53 32.989 17.427 19.395 1.00 0.00 H +ATOM 846 C GLY A 53 30.848 17.363 19.425 1.00 0.00 C +ATOM 847 O GLY A 53 30.696 16.274 18.865 1.00 0.00 O +ATOM 848 N ARG A 54 29.872 18.283 19.467 1.00 0.00 N +ATOM 849 H ARG A 54 30.095 19.181 19.872 1.00 0.00 H +ATOM 850 CA ARG A 54 28.550 18.141 18.822 1.00 0.00 C +ATOM 851 HA ARG A 54 28.299 17.082 18.765 1.00 0.00 H +ATOM 852 C ARG A 54 28.589 18.640 17.375 1.00 0.00 C +ATOM 853 O ARG A 54 29.520 19.340 16.982 1.00 0.00 O +ATOM 854 CB ARG A 54 27.486 18.865 19.674 1.00 0.00 C +ATOM 855 HB2 ARG A 54 26.564 18.982 19.104 1.00 0.00 H +ATOM 856 HB3 ARG A 54 27.854 19.864 19.905 1.00 0.00 H +ATOM 857 CG ARG A 54 27.168 18.150 21.003 1.00 0.00 C +ATOM 858 HG2 ARG A 54 26.922 18.907 21.748 1.00 0.00 H +ATOM 859 HG3 ARG A 54 28.044 17.609 21.359 1.00 0.00 H +ATOM 860 CD ARG A 54 25.972 17.190 20.908 1.00 0.00 C +ATOM 861 HD2 ARG A 54 25.074 17.779 20.721 1.00 0.00 H +ATOM 862 HD3 ARG A 54 25.833 16.692 21.868 1.00 0.00 H +ATOM 863 NE ARG A 54 26.119 16.202 19.820 1.00 0.00 N +ATOM 864 HE ARG A 54 25.806 16.482 18.902 1.00 0.00 H +ATOM 865 CZ ARG A 54 26.591 14.968 19.867 1.00 0.00 C +ATOM 866 NH1 ARG A 54 27.054 14.417 20.956 1.00 0.00 N +ATOM 867 HH11 ARG A 54 27.402 13.469 20.940 1.00 0.00 H +ATOM 868 HH12 ARG A 54 27.058 14.932 21.824 1.00 0.00 H +ATOM 869 NH2 ARG A 54 26.601 14.278 18.762 1.00 0.00 N +ATOM 870 HH21 ARG A 54 26.941 13.327 18.744 1.00 0.00 H +ATOM 871 HH22 ARG A 54 26.231 14.711 17.928 1.00 0.00 H +ATOM 872 N THR A 55 27.592 18.279 16.569 1.00 0.00 N +ATOM 873 H THR A 55 26.850 17.706 16.945 1.00 0.00 H +ATOM 874 CA THR A 55 27.521 18.602 15.132 1.00 0.00 C +ATOM 875 HA THR A 55 28.441 19.113 14.849 1.00 0.00 H +ATOM 876 C THR A 55 26.389 19.565 14.790 1.00 0.00 C +ATOM 877 O THR A 55 25.418 19.696 15.536 1.00 0.00 O +ATOM 878 CB THR A 55 27.430 17.344 14.252 1.00 0.00 C +ATOM 879 HB THR A 55 27.446 17.651 13.206 1.00 0.00 H +ATOM 880 OG1 THR A 55 26.235 16.640 14.484 1.00 0.00 O +ATOM 881 HG1 THR A 55 26.143 16.499 15.429 1.00 0.00 H +ATOM 882 CG2 THR A 55 28.599 16.384 14.474 1.00 0.00 C +ATOM 883 HG21 THR A 55 28.616 16.021 15.502 1.00 0.00 H +ATOM 884 HG22 THR A 55 28.503 15.534 13.798 1.00 0.00 H +ATOM 885 HG23 THR A 55 29.534 16.897 14.250 1.00 0.00 H +ATOM 886 N LEU A 56 26.501 20.249 13.648 1.00 0.00 N +ATOM 887 H LEU A 56 27.318 20.087 13.076 1.00 0.00 H +ATOM 888 CA LEU A 56 25.509 21.229 13.190 1.00 0.00 C +ATOM 889 HA LEU A 56 25.443 22.026 13.932 1.00 0.00 H +ATOM 890 C LEU A 56 24.089 20.635 13.081 1.00 0.00 C +ATOM 891 O LEU A 56 23.122 21.306 13.445 1.00 0.00 O +ATOM 892 CB LEU A 56 25.975 21.821 11.843 1.00 0.00 C +ATOM 893 HB2 LEU A 56 25.157 22.397 11.410 1.00 0.00 H +ATOM 894 HB3 LEU A 56 26.190 21.000 11.160 1.00 0.00 H +ATOM 895 CG LEU A 56 27.224 22.720 11.910 1.00 0.00 C +ATOM 896 HG LEU A 56 28.060 22.172 12.344 1.00 0.00 H +ATOM 897 CD1 LEU A 56 27.605 23.167 10.500 1.00 0.00 C +ATOM 898 HD11 LEU A 56 27.817 22.291 9.887 1.00 0.00 H +ATOM 899 HD12 LEU A 56 26.791 23.735 10.049 1.00 0.00 H +ATOM 900 HD13 LEU A 56 28.504 23.781 10.541 1.00 0.00 H +ATOM 901 CD2 LEU A 56 26.963 23.981 12.733 1.00 0.00 C +ATOM 902 HD21 LEU A 56 26.873 23.730 13.790 1.00 0.00 H +ATOM 903 HD22 LEU A 56 26.050 24.462 12.381 1.00 0.00 H +ATOM 904 HD23 LEU A 56 27.784 24.688 12.616 1.00 0.00 H +ATOM 905 N SER A 57 23.949 19.377 12.656 1.00 0.00 N +ATOM 906 H SER A 57 24.766 18.875 12.341 1.00 0.00 H +ATOM 907 CA SER A 57 22.659 18.678 12.588 1.00 0.00 C +ATOM 908 HA SER A 57 21.945 19.342 12.100 1.00 0.00 H +ATOM 909 C SER A 57 22.073 18.324 13.965 1.00 0.00 C +ATOM 910 O SER A 57 20.849 18.343 14.104 1.00 0.00 O +ATOM 911 CB SER A 57 22.770 17.422 11.717 1.00 0.00 C +ATOM 912 HB2 SER A 57 21.793 16.944 11.651 1.00 0.00 H +ATOM 913 HB3 SER A 57 23.088 17.706 10.714 1.00 0.00 H +ATOM 914 OG SER A 57 23.705 16.512 12.264 1.00 0.00 O +ATOM 915 HG SER A 57 23.753 15.734 11.704 1.00 0.00 H +ATOM 916 N ASP A 58 22.892 18.103 15.003 1.00 0.00 N +ATOM 917 H ASP A 58 23.888 18.122 14.837 1.00 0.00 H +ATOM 918 CA ASP A 58 22.405 17.921 16.382 1.00 0.00 C +ATOM 919 HA ASP A 58 21.680 17.108 16.377 1.00 0.00 H +ATOM 920 C ASP A 58 21.688 19.175 16.918 1.00 0.00 C +ATOM 921 O ASP A 58 20.673 19.066 17.610 1.00 0.00 O +ATOM 922 CB ASP A 58 23.535 17.527 17.349 1.00 0.00 C +ATOM 923 HB2 ASP A 58 24.206 18.378 17.468 1.00 0.00 H +ATOM 924 HB3 ASP A 58 23.096 17.333 18.328 1.00 0.00 H +ATOM 925 CG ASP A 58 24.355 16.296 16.935 1.00 0.00 C +ATOM 926 OD1 ASP A 58 23.771 15.239 16.600 1.00 0.00 O +ATOM 927 OD2 ASP A 58 25.605 16.357 17.070 1.00 0.00 O +ATOM 928 N TYR A 59 22.176 20.362 16.538 1.00 0.00 N +ATOM 929 H TYR A 59 23.036 20.364 16.009 1.00 0.00 H +ATOM 930 CA TYR A 59 21.535 21.656 16.809 1.00 0.00 C +ATOM 931 HA TYR A 59 21.005 21.587 17.759 1.00 0.00 H +ATOM 932 C TYR A 59 20.486 22.058 15.752 1.00 0.00 C +ATOM 933 O TYR A 59 19.903 23.139 15.842 1.00 0.00 O +ATOM 934 CB TYR A 59 22.628 22.721 16.960 1.00 0.00 C +ATOM 935 HB2 TYR A 59 23.199 22.768 16.033 1.00 0.00 H +ATOM 936 HB3 TYR A 59 22.165 23.695 17.117 1.00 0.00 H +ATOM 937 CG TYR A 59 23.562 22.457 18.122 1.00 0.00 C +ATOM 938 CD1 TYR A 59 23.081 22.579 19.440 1.00 0.00 C +ATOM 939 HD1 TYR A 59 22.056 22.869 19.618 1.00 0.00 H +ATOM 940 CD2 TYR A 59 24.902 22.089 17.892 1.00 0.00 C +ATOM 941 HD2 TYR A 59 25.273 21.985 16.883 1.00 0.00 H +ATOM 942 CE1 TYR A 59 23.930 22.315 20.531 1.00 0.00 C +ATOM 943 HE1 TYR A 59 23.557 22.402 21.541 1.00 0.00 H +ATOM 944 CE2 TYR A 59 25.758 21.844 18.983 1.00 0.00 C +ATOM 945 HE2 TYR A 59 26.787 21.563 18.815 1.00 0.00 H +ATOM 946 CZ TYR A 59 25.269 21.940 20.302 1.00 0.00 C +ATOM 947 OH TYR A 59 26.095 21.682 21.350 1.00 0.00 O +ATOM 948 HH TYR A 59 25.633 21.717 22.191 1.00 0.00 H +ATOM 949 N ASN A 60 20.248 21.202 14.751 1.00 0.00 N +ATOM 950 H ASN A 60 20.727 20.313 14.786 1.00 0.00 H +ATOM 951 CA ASN A 60 19.386 21.445 13.591 1.00 0.00 C +ATOM 952 HA ASN A 60 19.647 20.672 12.869 1.00 0.00 H +ATOM 953 C ASN A 60 19.683 22.785 12.867 1.00 0.00 C +ATOM 954 O ASN A 60 18.775 23.482 12.409 1.00 0.00 O +ATOM 955 CB ASN A 60 17.912 21.220 13.997 1.00 0.00 C +ATOM 956 HB2 ASN A 60 17.843 20.333 14.626 1.00 0.00 H +ATOM 957 HB3 ASN A 60 17.561 22.076 14.573 1.00 0.00 H +ATOM 958 CG ASN A 60 16.986 21.008 12.806 1.00 0.00 C +ATOM 959 OD1 ASN A 60 16.040 21.750 12.577 1.00 0.00 O +ATOM 960 ND2 ASN A 60 17.217 19.983 12.009 1.00 0.00 N +ATOM 961 HD21 ASN A 60 16.588 19.835 11.233 1.00 0.00 H +ATOM 962 HD22 ASN A 60 17.933 19.302 12.222 1.00 0.00 H +ATOM 963 N ILE A 61 20.969 23.142 12.756 1.00 0.00 N +ATOM 964 H ILE A 61 21.663 22.512 13.133 1.00 0.00 H +ATOM 965 CA ILE A 61 21.457 24.296 11.985 1.00 0.00 C +ATOM 966 HA ILE A 61 20.817 25.152 12.197 1.00 0.00 H +ATOM 967 C ILE A 61 21.340 23.983 10.481 1.00 0.00 C +ATOM 968 O ILE A 61 21.619 22.860 10.054 1.00 0.00 O +ATOM 969 CB ILE A 61 22.896 24.655 12.428 1.00 0.00 C +ATOM 970 HB ILE A 61 23.507 23.754 12.371 1.00 0.00 H +ATOM 971 CG1 ILE A 61 22.891 25.171 13.887 1.00 0.00 C +ATOM 972 HG12 ILE A 61 22.179 24.601 14.484 1.00 0.00 H +ATOM 973 HG13 ILE A 61 22.566 26.212 13.889 1.00 0.00 H +ATOM 974 CG2 ILE A 61 23.517 25.727 11.513 1.00 0.00 C +ATOM 975 HG21 ILE A 61 23.614 25.359 10.492 1.00 0.00 H +ATOM 976 HG22 ILE A 61 22.892 26.620 11.522 1.00 0.00 H +ATOM 977 HG23 ILE A 61 24.514 26.004 11.857 1.00 0.00 H +ATOM 978 CD1 ILE A 61 24.240 25.079 14.609 1.00 0.00 C +ATOM 979 HD11 ILE A 61 24.993 25.689 14.110 1.00 0.00 H +ATOM 980 HD12 ILE A 61 24.123 25.434 15.632 1.00 0.00 H +ATOM 981 HD13 ILE A 61 24.575 24.042 14.633 1.00 0.00 H +ATOM 982 N GLN A 62 20.926 24.968 9.677 1.00 0.00 N +ATOM 983 H GLN A 62 20.779 25.888 10.067 1.00 0.00 H +ATOM 984 CA GLN A 62 20.593 24.810 8.254 1.00 0.00 C +ATOM 985 HA GLN A 62 20.872 23.811 7.919 1.00 0.00 H +ATOM 986 C GLN A 62 21.362 25.807 7.371 1.00 0.00 C +ATOM 987 O GLN A 62 22.073 26.684 7.864 1.00 0.00 O +ATOM 988 CB GLN A 62 19.069 24.970 8.066 1.00 0.00 C +ATOM 989 HB2 GLN A 62 18.825 24.843 7.012 1.00 0.00 H +ATOM 990 HB3 GLN A 62 18.775 25.978 8.361 1.00 0.00 H +ATOM 991 CG GLN A 62 18.242 23.955 8.871 1.00 0.00 C +ATOM 992 HG2 GLN A 62 18.359 24.155 9.936 1.00 0.00 H +ATOM 993 HG3 GLN A 62 18.603 22.947 8.668 1.00 0.00 H +ATOM 994 CD GLN A 62 16.755 24.038 8.528 1.00 0.00 C +ATOM 995 OE1 GLN A 62 15.988 24.788 9.120 1.00 0.00 O +ATOM 996 NE2 GLN A 62 16.289 23.291 7.545 1.00 0.00 N +ATOM 997 HE21 GLN A 62 15.305 23.352 7.324 1.00 0.00 H +ATOM 998 HE22 GLN A 62 16.892 22.657 7.041 1.00 0.00 H +ATOM 999 N LYS A 63 21.211 25.693 6.043 1.00 0.00 N +ATOM 1000 H LYS A 63 20.645 24.939 5.681 1.00 0.00 H +ATOM 1001 CA LYS A 63 21.756 26.686 5.101 1.00 0.00 C +ATOM 1002 HA LYS A 63 22.834 26.720 5.256 1.00 0.00 H +ATOM 1003 C LYS A 63 21.213 28.097 5.408 1.00 0.00 C +ATOM 1004 O LYS A 63 20.047 28.261 5.774 1.00 0.00 O +ATOM 1005 CB LYS A 63 21.509 26.241 3.646 1.00 0.00 C +ATOM 1006 HB2 LYS A 63 21.835 25.208 3.528 1.00 0.00 H +ATOM 1007 HB3 LYS A 63 22.121 26.861 2.991 1.00 0.00 H +ATOM 1008 CG LYS A 63 20.041 26.356 3.200 1.00 0.00 C +ATOM 1009 HG2 LYS A 63 19.410 25.750 3.850 1.00 0.00 H +ATOM 1010 HG3 LYS A 63 19.723 27.395 3.292 1.00 0.00 H +ATOM 1011 CD LYS A 63 19.840 25.902 1.745 1.00 0.00 C +ATOM 1012 HD2 LYS A 63 20.630 26.299 1.108 1.00 0.00 H +ATOM 1013 HD3 LYS A 63 19.887 24.814 1.712 1.00 0.00 H +ATOM 1014 CE LYS A 63 18.470 26.364 1.219 1.00 0.00 C +ATOM 1015 HE2 LYS A 63 17.733 26.245 2.013 1.00 0.00 H +ATOM 1016 HE3 LYS A 63 18.171 25.714 0.397 1.00 0.00 H +ATOM 1017 NZ LYS A 63 18.497 27.782 0.744 1.00 0.00 N +ATOM 1018 HZ1 LYS A 63 18.980 28.396 1.384 1.00 0.00 H +ATOM 1019 HZ2 LYS A 63 17.565 28.147 0.616 1.00 0.00 H +ATOM 1020 HZ3 LYS A 63 18.973 27.865 -0.143 1.00 0.00 H +ATOM 1021 N GLU A 64 22.075 29.105 5.286 1.00 0.00 N +ATOM 1022 H GLU A 64 23.009 28.868 4.983 1.00 0.00 H +ATOM 1023 CA GLU A 64 21.815 30.506 5.653 1.00 0.00 C +ATOM 1024 HA GLU A 64 22.771 31.021 5.559 1.00 0.00 H +ATOM 1025 C GLU A 64 21.404 30.757 7.133 1.00 0.00 C +ATOM 1026 O GLU A 64 21.009 31.876 7.472 1.00 0.00 O +ATOM 1027 CB GLU A 64 20.864 31.192 4.643 1.00 0.00 C +ATOM 1028 HB2 GLU A 64 20.690 32.215 4.977 1.00 0.00 H +ATOM 1029 HB3 GLU A 64 19.895 30.694 4.636 1.00 0.00 H +ATOM 1030 CG GLU A 64 21.414 31.296 3.211 1.00 0.00 C +ATOM 1031 HG2 GLU A 64 22.473 31.549 3.252 1.00 0.00 H +ATOM 1032 HG3 GLU A 64 20.909 32.128 2.719 1.00 0.00 H +ATOM 1033 CD GLU A 64 21.182 30.024 2.365 1.00 0.00 C +ATOM 1034 OE1 GLU A 64 20.006 29.708 2.054 1.00 0.00 O +ATOM 1035 OE2 GLU A 64 22.173 29.373 1.955 1.00 0.00 O +ATOM 1036 N SER A 65 21.537 29.777 8.044 1.00 0.00 N +ATOM 1037 H SER A 65 21.789 28.847 7.743 1.00 0.00 H +ATOM 1038 CA SER A 65 21.451 30.024 9.494 1.00 0.00 C +ATOM 1039 HA SER A 65 20.511 30.531 9.709 1.00 0.00 H +ATOM 1040 C SER A 65 22.606 30.917 9.978 1.00 0.00 C +ATOM 1041 O SER A 65 23.729 30.802 9.481 1.00 0.00 O +ATOM 1042 CB SER A 65 21.491 28.710 10.285 1.00 0.00 C +ATOM 1043 HB2 SER A 65 22.381 28.154 9.990 1.00 0.00 H +ATOM 1044 HB3 SER A 65 21.566 28.931 11.350 1.00 0.00 H +ATOM 1045 OG SER A 65 20.341 27.904 10.069 1.00 0.00 O +ATOM 1046 HG SER A 65 19.547 28.396 10.289 1.00 0.00 H +ATOM 1047 N THR A 66 22.358 31.754 10.995 1.00 0.00 N +ATOM 1048 H THR A 66 21.416 31.820 11.350 1.00 0.00 H +ATOM 1049 CA THR A 66 23.382 32.622 11.616 1.00 0.00 C +ATOM 1050 HA THR A 66 24.305 32.551 11.041 1.00 0.00 H +ATOM 1051 C THR A 66 23.675 32.181 13.049 1.00 0.00 C +ATOM 1052 O THR A 66 22.775 32.165 13.888 1.00 0.00 O +ATOM 1053 CB THR A 66 22.967 34.104 11.601 1.00 0.00 C +ATOM 1054 HB THR A 66 22.074 34.238 12.211 1.00 0.00 H +ATOM 1055 OG1 THR A 66 22.681 34.501 10.278 1.00 0.00 O +ATOM 1056 HG1 THR A 66 22.231 35.348 10.302 1.00 0.00 H +ATOM 1057 CG2 THR A 66 24.075 35.029 12.115 1.00 0.00 C +ATOM 1058 HG21 THR A 66 24.249 34.853 13.177 1.00 0.00 H +ATOM 1059 HG22 THR A 66 25.000 34.855 11.566 1.00 0.00 H +ATOM 1060 HG23 THR A 66 23.775 36.070 11.990 1.00 0.00 H +ATOM 1061 N LEU A 67 24.937 31.855 13.346 1.00 0.00 N +ATOM 1062 H LEU A 67 25.621 31.886 12.603 1.00 0.00 H +ATOM 1063 CA LEU A 67 25.412 31.606 14.714 1.00 0.00 C +ATOM 1064 HA LEU A 67 24.589 31.213 15.310 1.00 0.00 H +ATOM 1065 C LEU A 67 25.867 32.922 15.356 1.00 0.00 C +ATOM 1066 O LEU A 67 26.374 33.801 14.663 1.00 0.00 O +ATOM 1067 CB LEU A 67 26.550 30.562 14.733 1.00 0.00 C +ATOM 1068 HB2 LEU A 67 26.661 30.205 15.757 1.00 0.00 H +ATOM 1069 HB3 LEU A 67 27.479 31.064 14.462 1.00 0.00 H +ATOM 1070 CG LEU A 67 26.391 29.349 13.799 1.00 0.00 C +ATOM 1071 HG LEU A 67 26.404 29.693 12.765 1.00 0.00 H +ATOM 1072 CD1 LEU A 67 27.566 28.388 14.002 1.00 0.00 C +ATOM 1073 HD11 LEU A 67 27.456 27.522 13.348 1.00 0.00 H +ATOM 1074 HD12 LEU A 67 28.501 28.892 13.759 1.00 0.00 H +ATOM 1075 HD13 LEU A 67 27.602 28.043 15.036 1.00 0.00 H +ATOM 1076 CD2 LEU A 67 25.097 28.576 14.036 1.00 0.00 C +ATOM 1077 HD21 LEU A 67 24.232 29.235 13.963 1.00 0.00 H +ATOM 1078 HD22 LEU A 67 25.116 28.100 15.017 1.00 0.00 H +ATOM 1079 HD23 LEU A 67 24.997 27.814 13.263 1.00 0.00 H +ATOM 1080 N HIS A 68 25.759 33.047 16.676 1.00 0.00 N +ATOM 1081 H HIS A 68 25.361 32.283 17.203 1.00 0.00 H +ATOM 1082 CA HIS A 68 26.276 34.202 17.419 1.00 0.00 C +ATOM 1083 HA HIS A 68 26.524 35.002 16.722 1.00 0.00 H +ATOM 1084 C HIS A 68 27.566 33.826 18.153 1.00 0.00 C +ATOM 1085 O HIS A 68 27.665 32.731 18.700 1.00 0.00 O +ATOM 1086 CB HIS A 68 25.186 34.752 18.349 1.00 0.00 C +ATOM 1087 HB2 HIS A 68 25.628 35.491 19.017 1.00 0.00 H +ATOM 1088 HB3 HIS A 68 24.783 33.943 18.958 1.00 0.00 H +ATOM 1089 CG HIS A 68 24.054 35.406 17.593 1.00 0.00 C +ATOM 1090 ND1 HIS A 68 23.807 36.761 17.508 1.00 0.00 N +ATOM 1091 HD1 HIS A 68 24.321 37.498 17.969 1.00 0.00 H +ATOM 1092 CD2 HIS A 68 23.091 34.775 16.848 1.00 0.00 C +ATOM 1093 HD2 HIS A 68 23.002 33.709 16.703 1.00 0.00 H +ATOM 1094 CE1 HIS A 68 22.722 36.937 16.733 1.00 0.00 C +ATOM 1095 HE1 HIS A 68 22.283 37.895 16.496 1.00 0.00 H +ATOM 1096 NE2 HIS A 68 22.251 35.754 16.303 1.00 0.00 N +ATOM 1097 N LEU A 69 28.558 34.719 18.149 1.00 0.00 N +ATOM 1098 H LEU A 69 28.401 35.585 17.654 1.00 0.00 H +ATOM 1099 CA LEU A 69 29.919 34.483 18.647 1.00 0.00 C +ATOM 1100 HA LEU A 69 29.981 33.468 19.038 1.00 0.00 H +ATOM 1101 C LEU A 69 30.243 35.471 19.777 1.00 0.00 C +ATOM 1102 O LEU A 69 30.155 36.686 19.601 1.00 0.00 O +ATOM 1103 CB LEU A 69 30.892 34.606 17.452 1.00 0.00 C +ATOM 1104 HB2 LEU A 69 31.071 35.662 17.252 1.00 0.00 H +ATOM 1105 HB3 LEU A 69 30.383 34.197 16.579 1.00 0.00 H +ATOM 1106 CG LEU A 69 32.243 33.870 17.543 1.00 0.00 C +ATOM 1107 HG LEU A 69 32.065 32.795 17.544 1.00 0.00 H +ATOM 1108 CD1 LEU A 69 33.086 34.223 16.316 1.00 0.00 C +ATOM 1109 HD11 LEU A 69 32.549 33.969 15.402 1.00 0.00 H +ATOM 1110 HD12 LEU A 69 34.017 33.657 16.341 1.00 0.00 H +ATOM 1111 HD13 LEU A 69 33.323 35.286 16.312 1.00 0.00 H +ATOM 1112 CD2 LEU A 69 33.068 34.221 18.777 1.00 0.00 C +ATOM 1113 HD21 LEU A 69 32.633 33.740 19.654 1.00 0.00 H +ATOM 1114 HD22 LEU A 69 33.099 35.302 18.908 1.00 0.00 H +ATOM 1115 HD23 LEU A 69 34.085 33.842 18.673 1.00 0.00 H +ATOM 1116 N VAL A 70 30.660 34.930 20.922 1.00 0.00 N +ATOM 1117 H VAL A 70 30.738 33.924 20.956 1.00 0.00 H +ATOM 1118 CA VAL A 70 31.099 35.666 22.122 1.00 0.00 C +ATOM 1119 HA VAL A 70 31.065 36.739 21.935 1.00 0.00 H +ATOM 1120 C VAL A 70 32.547 35.276 22.417 1.00 0.00 C +ATOM 1121 O VAL A 70 32.924 34.135 22.173 1.00 0.00 O +ATOM 1122 CB VAL A 70 30.152 35.338 23.300 1.00 0.00 C +ATOM 1123 HB VAL A 70 30.186 34.264 23.483 1.00 0.00 H +ATOM 1124 CG1 VAL A 70 30.538 36.049 24.601 1.00 0.00 C +ATOM 1125 HG11 VAL A 70 29.791 35.849 25.370 1.00 0.00 H +ATOM 1126 HG12 VAL A 70 31.495 35.678 24.968 1.00 0.00 H +ATOM 1127 HG13 VAL A 70 30.605 37.125 24.444 1.00 0.00 H +ATOM 1128 CG2 VAL A 70 28.697 35.691 22.965 1.00 0.00 C +ATOM 1129 HG21 VAL A 70 28.619 36.741 22.682 1.00 0.00 H +ATOM 1130 HG22 VAL A 70 28.337 35.073 22.143 1.00 0.00 H +ATOM 1131 HG23 VAL A 70 28.059 35.504 23.829 1.00 0.00 H +ATOM 1132 N LEU A 71 33.373 36.181 22.944 1.00 0.00 N +ATOM 1133 H LEU A 71 33.029 37.109 23.141 1.00 0.00 H +ATOM 1134 CA LEU A 71 34.723 35.833 23.419 1.00 0.00 C +ATOM 1135 HA LEU A 71 35.024 34.880 22.984 1.00 0.00 H +ATOM 1136 C LEU A 71 34.730 35.664 24.946 1.00 0.00 C +ATOM 1137 O LEU A 71 34.171 36.495 25.665 1.00 0.00 O +ATOM 1138 CB LEU A 71 35.760 36.891 22.979 1.00 0.00 C +ATOM 1139 HB2 LEU A 71 35.316 37.884 23.044 1.00 0.00 H +ATOM 1140 HB3 LEU A 71 36.592 36.862 23.683 1.00 0.00 H +ATOM 1141 CG LEU A 71 36.359 36.679 21.577 1.00 0.00 C +ATOM 1142 HG LEU A 71 36.872 35.717 21.553 1.00 0.00 H +ATOM 1143 CD1 LEU A 71 35.308 36.697 20.468 1.00 0.00 C +ATOM 1144 HD11 LEU A 71 34.680 35.811 20.553 1.00 0.00 H +ATOM 1145 HD12 LEU A 71 35.796 36.679 19.493 1.00 0.00 H +ATOM 1146 HD13 LEU A 71 34.697 37.596 20.543 1.00 0.00 H +ATOM 1147 CD2 LEU A 71 37.382 37.775 21.286 1.00 0.00 C +ATOM 1148 HD21 LEU A 71 38.157 37.769 22.052 1.00 0.00 H +ATOM 1149 HD22 LEU A 71 36.894 38.749 21.276 1.00 0.00 H +ATOM 1150 HD23 LEU A 71 37.850 37.597 20.317 1.00 0.00 H +ATOM 1151 N ARG A 72 35.432 34.632 25.438 1.00 0.00 N +ATOM 1152 H ARG A 72 35.839 33.992 24.770 1.00 0.00 H +ATOM 1153 CA ARG A 72 35.867 34.532 26.846 1.00 0.00 C +ATOM 1154 HA ARG A 72 35.314 35.271 27.427 1.00 0.00 H +ATOM 1155 C ARG A 72 37.349 34.899 26.966 1.00 0.00 C +ATOM 1156 O ARG A 72 38.150 34.454 26.147 1.00 0.00 O +ATOM 1157 CB ARG A 72 35.525 33.152 27.459 1.00 0.00 C +ATOM 1158 HB2 ARG A 72 34.463 32.959 27.307 1.00 0.00 H +ATOM 1159 HB3 ARG A 72 35.699 33.209 28.533 1.00 0.00 H +ATOM 1160 CG ARG A 72 36.335 31.966 26.901 1.00 0.00 C +ATOM 1161 HG2 ARG A 72 36.116 31.847 25.840 1.00 0.00 H +ATOM 1162 HG3 ARG A 72 37.400 32.168 27.017 1.00 0.00 H +ATOM 1163 CD ARG A 72 36.054 30.644 27.633 1.00 0.00 C +ATOM 1164 HD2 ARG A 72 36.791 29.903 27.327 1.00 0.00 H +ATOM 1165 HD3 ARG A 72 36.190 30.799 28.703 1.00 0.00 H +ATOM 1166 NE ARG A 72 34.690 30.126 27.382 1.00 0.00 N +ATOM 1167 HE ARG A 72 34.029 30.207 28.141 1.00 0.00 H +ATOM 1168 CZ ARG A 72 34.264 29.500 26.294 1.00 0.00 C +ATOM 1169 NH1 ARG A 72 35.041 29.307 25.257 1.00 0.00 N +ATOM 1170 HH11 ARG A 72 36.031 29.490 25.330 1.00 0.00 H +ATOM 1171 HH12 ARG A 72 34.679 28.967 24.378 1.00 0.00 H +ATOM 1172 NH2 ARG A 72 33.032 29.065 26.228 1.00 0.00 N +ATOM 1173 HH21 ARG A 72 32.732 28.481 25.460 1.00 0.00 H +ATOM 1174 HH22 ARG A 72 32.426 29.141 27.031 1.00 0.00 H +ATOM 1175 N LEU A 73 37.713 35.668 27.993 1.00 0.00 N +ATOM 1176 H LEU A 73 36.994 35.986 28.627 1.00 0.00 H +ATOM 1177 CA LEU A 73 39.110 35.870 28.411 1.00 0.00 C +ATOM 1178 HA LEU A 73 39.777 35.490 27.637 1.00 0.00 H +ATOM 1179 C LEU A 73 39.366 35.029 29.674 1.00 0.00 C +ATOM 1180 O LEU A 73 38.487 34.885 30.526 1.00 0.00 O +ATOM 1181 CB LEU A 73 39.424 37.371 28.596 1.00 0.00 C +ATOM 1182 HB2 LEU A 73 40.261 37.457 29.289 1.00 0.00 H +ATOM 1183 HB3 LEU A 73 38.570 37.873 29.051 1.00 0.00 H +ATOM 1184 CG LEU A 73 39.829 38.105 27.298 1.00 0.00 C +ATOM 1185 HG LEU A 73 40.711 37.618 26.882 1.00 0.00 H +ATOM 1186 CD1 LEU A 73 38.738 38.129 26.225 1.00 0.00 C +ATOM 1187 HD11 LEU A 73 38.593 37.126 25.825 1.00 0.00 H +ATOM 1188 HD12 LEU A 73 39.043 38.772 25.400 1.00 0.00 H +ATOM 1189 HD13 LEU A 73 37.804 38.501 26.646 1.00 0.00 H +ATOM 1190 CD2 LEU A 73 40.196 39.554 27.616 1.00 0.00 C +ATOM 1191 HD21 LEU A 73 39.328 40.085 28.006 1.00 0.00 H +ATOM 1192 HD22 LEU A 73 40.998 39.578 28.355 1.00 0.00 H +ATOM 1193 HD23 LEU A 73 40.546 40.051 26.712 1.00 0.00 H +ATOM 1194 N ARG A 74 40.553 34.417 29.775 1.00 0.00 N +ATOM 1195 H ARG A 74 41.257 34.640 29.086 1.00 0.00 H +ATOM 1196 CA ARG A 74 40.805 33.258 30.657 1.00 0.00 C +ATOM 1197 HA ARG A 74 39.860 32.731 30.786 1.00 0.00 H +ATOM 1198 C ARG A 74 41.223 33.663 32.084 1.00 0.00 C +ATOM 1199 O ARG A 74 42.323 33.362 32.548 1.00 0.00 O +ATOM 1200 CB ARG A 74 41.743 32.288 29.911 1.00 0.00 C +ATOM 1201 HB2 ARG A 74 42.749 32.706 29.870 1.00 0.00 H +ATOM 1202 HB3 ARG A 74 41.380 32.190 28.888 1.00 0.00 H +ATOM 1203 CG ARG A 74 41.776 30.880 30.530 1.00 0.00 C +ATOM 1204 HG2 ARG A 74 40.756 30.546 30.719 1.00 0.00 H +ATOM 1205 HG3 ARG A 74 42.320 30.900 31.475 1.00 0.00 H +ATOM 1206 CD ARG A 74 42.437 29.874 29.578 1.00 0.00 C +ATOM 1207 HD2 ARG A 74 41.844 29.845 28.664 1.00 0.00 H +ATOM 1208 HD3 ARG A 74 42.409 28.881 30.027 1.00 0.00 H +ATOM 1209 NE ARG A 74 43.837 30.238 29.277 1.00 0.00 N +ATOM 1210 HE ARG A 74 44.394 30.588 30.043 1.00 0.00 H +ATOM 1211 CZ ARG A 74 44.447 30.128 28.108 1.00 0.00 C +ATOM 1212 NH1 ARG A 74 43.852 29.654 27.047 1.00 0.00 N +ATOM 1213 HH11 ARG A 74 44.353 29.556 26.176 1.00 0.00 H +ATOM 1214 HH12 ARG A 74 42.890 29.349 27.098 1.00 0.00 H +ATOM 1215 NH2 ARG A 74 45.692 30.501 27.987 1.00 0.00 N +ATOM 1216 HH21 ARG A 74 46.171 30.418 27.102 1.00 0.00 H +ATOM 1217 HH22 ARG A 74 46.192 30.873 28.783 1.00 0.00 H +ATOM 1218 N GLY A 75 40.318 34.363 32.771 1.00 0.00 N +ATOM 1219 H GLY A 75 39.462 34.603 32.292 1.00 0.00 H +ATOM 1220 CA GLY A 75 40.438 34.778 34.174 1.00 0.00 C +ATOM 1221 HA2 GLY A 75 40.771 33.929 34.770 1.00 0.00 H +ATOM 1222 HA3 GLY A 75 41.189 35.564 34.255 1.00 0.00 H +ATOM 1223 C GLY A 75 39.122 35.312 34.768 1.00 0.00 C +ATOM 1224 O GLY A 75 38.133 35.493 34.049 1.00 0.00 O +ATOM 1225 N GLY A 76 39.123 35.574 36.083 1.00 0.00 N +ATOM 1226 H GLY A 76 39.975 35.392 36.595 1.00 0.00 H +ATOM 1227 CA GLY A 76 37.959 36.043 36.861 1.00 0.00 C +ATOM 1228 HA2 GLY A 76 38.304 36.495 37.791 1.00 0.00 H +ATOM 1229 HA3 GLY A 76 37.429 36.810 36.297 1.00 0.00 H +ATOM 1230 C GLY A 76 36.967 34.925 37.205 1.00 0.00 C +ATOM 1231 O GLY A 76 35.867 34.896 36.608 1.00 0.00 O +ATOM 1232 OXT GLY A 76 37.290 34.093 38.084 1.00 0.00 O +TER 1233 GLY A 76 +ENDMDL +MODEL 3 +ATOM 3 N MET A 1 27.294 23.580 1.999 1.00 0.00 N +ATOM 4 H MET A 1 27.999 23.862 1.333 1.00 0.00 H +ATOM 5 H2 MET A 1 27.771 23.278 2.837 1.00 0.00 H +ATOM 6 H3 MET A 1 26.804 22.783 1.619 1.00 0.00 H +ATOM 7 CA MET A 1 26.355 24.712 2.294 1.00 0.00 C +ATOM 8 HA MET A 1 25.946 25.052 1.342 1.00 0.00 H +ATOM 9 C MET A 1 27.104 25.904 2.897 1.00 0.00 C +ATOM 10 O MET A 1 28.232 25.740 3.343 1.00 0.00 O +ATOM 11 CB MET A 1 25.152 24.284 3.182 1.00 0.00 C +ATOM 12 HB2 MET A 1 24.432 25.102 3.191 1.00 0.00 H +ATOM 13 HB3 MET A 1 24.653 23.433 2.718 1.00 0.00 H +ATOM 14 CG MET A 1 25.457 23.925 4.649 1.00 0.00 C +ATOM 15 HG2 MET A 1 26.023 24.735 5.109 1.00 0.00 H +ATOM 16 HG3 MET A 1 26.056 23.015 4.679 1.00 0.00 H +ATOM 17 SD MET A 1 23.975 23.635 5.653 1.00 0.00 S +ATOM 18 CE MET A 1 24.705 23.507 7.310 1.00 0.00 C +ATOM 19 HE1 MET A 1 25.156 24.459 7.587 1.00 0.00 H +ATOM 20 HE2 MET A 1 23.925 23.260 8.031 1.00 0.00 H +ATOM 21 HE3 MET A 1 25.465 22.725 7.322 1.00 0.00 H +ATOM 22 N GLN A 2 26.491 27.089 2.974 1.00 0.00 N +ATOM 23 H GLN A 2 25.567 27.205 2.584 1.00 0.00 H +ATOM 24 CA GLN A 2 27.060 28.240 3.699 1.00 0.00 C +ATOM 25 HA GLN A 2 28.071 27.994 4.025 1.00 0.00 H +ATOM 26 C GLN A 2 26.236 28.559 4.955 1.00 0.00 C +ATOM 27 O GLN A 2 25.011 28.465 4.932 1.00 0.00 O +ATOM 28 CB GLN A 2 27.171 29.447 2.747 1.00 0.00 C +ATOM 29 HB2 GLN A 2 27.683 29.125 1.840 1.00 0.00 H +ATOM 30 HB3 GLN A 2 26.170 29.780 2.472 1.00 0.00 H +ATOM 31 CG GLN A 2 27.955 30.629 3.347 1.00 0.00 C +ATOM 32 HG2 GLN A 2 27.453 30.995 4.242 1.00 0.00 H +ATOM 33 HG3 GLN A 2 28.955 30.295 3.623 1.00 0.00 H +ATOM 34 CD GLN A 2 28.085 31.787 2.360 1.00 0.00 C +ATOM 35 OE1 GLN A 2 29.089 31.948 1.679 1.00 0.00 O +ATOM 36 NE2 GLN A 2 27.082 32.637 2.245 1.00 0.00 N +ATOM 37 HE21 GLN A 2 27.169 33.386 1.572 1.00 0.00 H +ATOM 38 HE22 GLN A 2 26.238 32.530 2.789 1.00 0.00 H +ATOM 39 N ILE A 3 26.907 28.975 6.030 1.00 0.00 N +ATOM 40 H ILE A 3 27.915 29.011 5.969 1.00 0.00 H +ATOM 41 CA ILE A 3 26.299 29.587 7.224 1.00 0.00 C +ATOM 42 HA ILE A 3 25.245 29.783 7.028 1.00 0.00 H +ATOM 43 C ILE A 3 26.945 30.947 7.505 1.00 0.00 C +ATOM 44 O ILE A 3 28.004 31.263 6.958 1.00 0.00 O +ATOM 45 CB ILE A 3 26.370 28.645 8.452 1.00 0.00 C +ATOM 46 HB ILE A 3 25.855 29.137 9.277 1.00 0.00 H +ATOM 47 CG1 ILE A 3 27.821 28.375 8.910 1.00 0.00 C +ATOM 48 HG12 ILE A 3 28.359 27.829 8.136 1.00 0.00 H +ATOM 49 HG13 ILE A 3 28.323 29.330 9.065 1.00 0.00 H +ATOM 50 CG2 ILE A 3 25.606 27.344 8.152 1.00 0.00 C +ATOM 51 HG21 ILE A 3 26.130 26.750 7.404 1.00 0.00 H +ATOM 52 HG22 ILE A 3 25.478 26.757 9.061 1.00 0.00 H +ATOM 53 HG23 ILE A 3 24.615 27.589 7.769 1.00 0.00 H +ATOM 54 CD1 ILE A 3 27.920 27.605 10.234 1.00 0.00 C +ATOM 55 HD11 ILE A 3 27.511 26.599 10.133 1.00 0.00 H +ATOM 56 HD12 ILE A 3 28.966 27.527 10.531 1.00 0.00 H +ATOM 57 HD13 ILE A 3 27.371 28.142 11.007 1.00 0.00 H +ATOM 58 N PHE A 4 26.339 31.733 8.387 1.00 0.00 N +ATOM 59 H PHE A 4 25.478 31.412 8.807 1.00 0.00 H +ATOM 60 CA PHE A 4 26.910 32.979 8.896 1.00 0.00 C +ATOM 61 HA PHE A 4 27.823 33.202 8.344 1.00 0.00 H +ATOM 62 C PHE A 4 27.274 32.852 10.377 1.00 0.00 C +ATOM 63 O PHE A 4 26.674 32.062 11.107 1.00 0.00 O +ATOM 64 CB PHE A 4 25.930 34.138 8.672 1.00 0.00 C +ATOM 65 HB2 PHE A 4 26.419 35.072 8.950 1.00 0.00 H +ATOM 66 HB3 PHE A 4 25.082 34.003 9.343 1.00 0.00 H +ATOM 67 CG PHE A 4 25.405 34.277 7.256 1.00 0.00 C +ATOM 68 CD1 PHE A 4 26.249 34.737 6.227 1.00 0.00 C +ATOM 69 HD1 PHE A 4 27.276 34.989 6.444 1.00 0.00 H +ATOM 70 CD2 PHE A 4 24.061 33.968 6.972 1.00 0.00 C +ATOM 71 HD2 PHE A 4 23.405 33.629 7.760 1.00 0.00 H +ATOM 72 CE1 PHE A 4 25.747 34.886 4.920 1.00 0.00 C +ATOM 73 HE1 PHE A 4 26.386 35.257 4.132 1.00 0.00 H +ATOM 74 CE2 PHE A 4 23.562 34.121 5.667 1.00 0.00 C +ATOM 75 HE2 PHE A 4 22.523 33.909 5.461 1.00 0.00 H +ATOM 76 CZ PHE A 4 24.405 34.576 4.640 1.00 0.00 C +ATOM 77 HZ PHE A 4 24.017 34.704 3.640 1.00 0.00 H +ATOM 78 N VAL A 5 28.212 33.671 10.854 1.00 0.00 N +ATOM 79 H VAL A 5 28.699 34.268 10.201 1.00 0.00 H +ATOM 80 CA VAL A 5 28.477 33.845 12.295 1.00 0.00 C +ATOM 81 HA VAL A 5 27.638 33.431 12.854 1.00 0.00 H +ATOM 82 C VAL A 5 28.565 35.335 12.613 1.00 0.00 C +ATOM 83 O VAL A 5 29.282 36.049 11.918 1.00 0.00 O +ATOM 84 CB VAL A 5 29.747 33.097 12.751 1.00 0.00 C +ATOM 85 HB VAL A 5 30.627 33.585 12.331 1.00 0.00 H +ATOM 86 CG1 VAL A 5 29.884 33.133 14.274 1.00 0.00 C +ATOM 87 HG11 VAL A 5 28.991 32.730 14.753 1.00 0.00 H +ATOM 88 HG12 VAL A 5 30.750 32.548 14.584 1.00 0.00 H +ATOM 89 HG13 VAL A 5 30.035 34.163 14.596 1.00 0.00 H +ATOM 90 CG2 VAL A 5 29.757 31.631 12.300 1.00 0.00 C +ATOM 91 HG21 VAL A 5 29.822 31.579 11.213 1.00 0.00 H +ATOM 92 HG22 VAL A 5 28.847 31.127 12.625 1.00 0.00 H +ATOM 93 HG23 VAL A 5 30.623 31.116 12.716 1.00 0.00 H +ATOM 94 N LYS A 6 27.854 35.806 13.643 1.00 0.00 N +ATOM 95 H LYS A 6 27.290 35.147 14.160 1.00 0.00 H +ATOM 96 CA LYS A 6 27.805 37.218 14.074 1.00 0.00 C +ATOM 97 HA LYS A 6 28.432 37.806 13.404 1.00 0.00 H +ATOM 98 C LYS A 6 28.371 37.391 15.487 1.00 0.00 C +ATOM 99 O LYS A 6 28.170 36.525 16.332 1.00 0.00 O +ATOM 100 CB LYS A 6 26.359 37.734 13.932 1.00 0.00 C +ATOM 101 HB2 LYS A 6 25.699 37.141 14.565 1.00 0.00 H +ATOM 102 HB3 LYS A 6 26.047 37.600 12.896 1.00 0.00 H +ATOM 103 CG LYS A 6 26.213 39.220 14.303 1.00 0.00 C +ATOM 104 HG2 LYS A 6 26.410 39.348 15.367 1.00 0.00 H +ATOM 105 HG3 LYS A 6 26.940 39.806 13.740 1.00 0.00 H +ATOM 106 CD LYS A 6 24.802 39.739 13.995 1.00 0.00 C +ATOM 107 HD2 LYS A 6 24.616 39.660 12.924 1.00 0.00 H +ATOM 108 HD3 LYS A 6 24.070 39.133 14.530 1.00 0.00 H +ATOM 109 CE LYS A 6 24.678 41.209 14.435 1.00 0.00 C +ATOM 110 HE2 LYS A 6 24.914 41.277 15.497 1.00 0.00 H +ATOM 111 HE3 LYS A 6 25.419 41.798 13.893 1.00 0.00 H +ATOM 112 NZ LYS A 6 23.309 41.759 14.183 1.00 0.00 N +ATOM 113 HZ1 LYS A 6 23.061 41.717 13.205 1.00 0.00 H +ATOM 114 HZ2 LYS A 6 22.601 41.262 14.704 1.00 0.00 H +ATOM 115 HZ3 LYS A 6 23.251 42.729 14.461 1.00 0.00 H +ATOM 116 N THR A 7 29.069 38.494 15.754 1.00 0.00 N +ATOM 117 H THR A 7 29.200 39.168 15.014 1.00 0.00 H +ATOM 118 CA THR A 7 29.789 38.740 17.022 1.00 0.00 C +ATOM 119 HA THR A 7 29.848 37.813 17.593 1.00 0.00 H +ATOM 120 C THR A 7 29.106 39.786 17.913 1.00 0.00 C +ATOM 121 O THR A 7 28.323 40.609 17.436 1.00 0.00 O +ATOM 122 CB THR A 7 31.225 39.199 16.735 1.00 0.00 C +ATOM 123 HB THR A 7 31.780 39.243 17.673 1.00 0.00 H +ATOM 124 OG1 THR A 7 31.166 40.483 16.167 1.00 0.00 O +ATOM 125 HG1 THR A 7 31.982 40.947 16.372 1.00 0.00 H +ATOM 126 CG2 THR A 7 31.979 38.314 15.750 1.00 0.00 C +ATOM 127 HG21 THR A 7 31.541 38.396 14.755 1.00 0.00 H +ATOM 128 HG22 THR A 7 31.942 37.275 16.080 1.00 0.00 H +ATOM 129 HG23 THR A 7 33.019 38.637 15.702 1.00 0.00 H +ATOM 130 N LEU A 8 29.481 39.843 19.203 1.00 0.00 N +ATOM 131 H LEU A 8 30.050 39.097 19.575 1.00 0.00 H +ATOM 132 CA LEU A 8 29.107 40.964 20.096 1.00 0.00 C +ATOM 133 HA LEU A 8 28.025 41.095 20.058 1.00 0.00 H +ATOM 134 C LEU A 8 29.711 42.319 19.663 1.00 0.00 C +ATOM 135 O LEU A 8 29.143 43.368 19.972 1.00 0.00 O +ATOM 136 CB LEU A 8 29.521 40.654 21.549 1.00 0.00 C +ATOM 137 HB2 LEU A 8 30.594 40.463 21.575 1.00 0.00 H +ATOM 138 HB3 LEU A 8 29.336 41.547 22.146 1.00 0.00 H +ATOM 139 CG LEU A 8 28.791 39.479 22.226 1.00 0.00 C +ATOM 140 HG LEU A 8 29.043 38.551 21.714 1.00 0.00 H +ATOM 141 CD1 LEU A 8 29.261 39.384 23.678 1.00 0.00 C +ATOM 142 HD11 LEU A 8 28.739 38.575 24.189 1.00 0.00 H +ATOM 143 HD12 LEU A 8 29.049 40.316 24.202 1.00 0.00 H +ATOM 144 HD13 LEU A 8 30.334 39.195 23.710 1.00 0.00 H +ATOM 145 CD2 LEU A 8 27.271 39.643 22.234 1.00 0.00 C +ATOM 146 HD21 LEU A 8 27.000 40.600 22.681 1.00 0.00 H +ATOM 147 HD22 LEU A 8 26.883 39.591 21.217 1.00 0.00 H +ATOM 148 HD23 LEU A 8 26.815 38.838 22.809 1.00 0.00 H +ATOM 149 N THR A 9 30.822 42.310 18.910 1.00 0.00 N +ATOM 150 H THR A 9 31.283 41.430 18.727 1.00 0.00 H +ATOM 151 CA THR A 9 31.405 43.514 18.277 1.00 0.00 C +ATOM 152 HA THR A 9 31.357 44.336 18.991 1.00 0.00 H +ATOM 153 C THR A 9 30.637 43.987 17.028 1.00 0.00 C +ATOM 154 O THR A 9 30.988 45.013 16.441 1.00 0.00 O +ATOM 155 CB THR A 9 32.889 43.295 17.942 1.00 0.00 C +ATOM 156 HB THR A 9 33.275 44.152 17.390 1.00 0.00 H +ATOM 157 OG1 THR A 9 33.034 42.125 17.171 1.00 0.00 O +ATOM 158 HG1 THR A 9 33.957 42.066 16.914 1.00 0.00 H +ATOM 159 CG2 THR A 9 33.734 43.092 19.196 1.00 0.00 C +ATOM 160 HG21 THR A 9 34.784 43.019 18.915 1.00 0.00 H +ATOM 161 HG22 THR A 9 33.608 43.943 19.866 1.00 0.00 H +ATOM 162 HG23 THR A 9 33.438 42.178 19.710 1.00 0.00 H +ATOM 163 N GLY A 10 29.570 43.277 16.626 1.00 0.00 N +ATOM 164 H GLY A 10 29.327 42.441 17.137 1.00 0.00 H +ATOM 165 CA GLY A 10 28.697 43.641 15.501 1.00 0.00 C +ATOM 166 HA2 GLY A 10 28.533 44.719 15.501 1.00 0.00 H +ATOM 167 HA3 GLY A 10 27.734 43.152 15.645 1.00 0.00 H +ATOM 168 C GLY A 10 29.225 43.232 14.119 1.00 0.00 C +ATOM 169 O GLY A 10 28.698 43.699 13.105 1.00 0.00 O +ATOM 170 N LYS A 11 30.252 42.370 14.061 1.00 0.00 N +ATOM 171 H LYS A 11 30.571 41.966 14.931 1.00 0.00 H +ATOM 172 CA LYS A 11 30.827 41.828 12.816 1.00 0.00 C +ATOM 173 HA LYS A 11 30.716 42.574 12.029 1.00 0.00 H +ATOM 174 C LYS A 11 30.060 40.572 12.403 1.00 0.00 C +ATOM 175 O LYS A 11 29.675 39.794 13.268 1.00 0.00 O +ATOM 176 CB LYS A 11 32.332 41.559 13.036 1.00 0.00 C +ATOM 177 HB2 LYS A 11 32.762 42.418 13.551 1.00 0.00 H +ATOM 178 HB3 LYS A 11 32.459 40.686 13.676 1.00 0.00 H +ATOM 179 CG LYS A 11 33.108 41.354 11.722 1.00 0.00 C +ATOM 180 HG2 LYS A 11 32.981 42.242 11.102 1.00 0.00 H +ATOM 181 HG3 LYS A 11 32.711 40.490 11.189 1.00 0.00 H +ATOM 182 CD LYS A 11 34.609 41.137 11.987 1.00 0.00 C +ATOM 183 HD2 LYS A 11 34.765 40.166 12.457 1.00 0.00 H +ATOM 184 HD3 LYS A 11 34.951 41.903 12.683 1.00 0.00 H +ATOM 185 CE LYS A 11 35.473 41.254 10.716 1.00 0.00 C +ATOM 186 HE2 LYS A 11 35.240 42.197 10.222 1.00 0.00 H +ATOM 187 HE3 LYS A 11 36.517 41.302 11.025 1.00 0.00 H +ATOM 188 NZ LYS A 11 35.301 40.113 9.764 1.00 0.00 N +ATOM 189 HZ1 LYS A 11 35.601 39.240 10.173 1.00 0.00 H +ATOM 190 HZ2 LYS A 11 34.349 40.017 9.439 1.00 0.00 H +ATOM 191 HZ3 LYS A 11 35.880 40.245 8.947 1.00 0.00 H +ATOM 192 N THR A 12 29.879 40.341 11.102 1.00 0.00 N +ATOM 193 H THR A 12 30.220 41.023 10.439 1.00 0.00 H +ATOM 194 CA THR A 12 29.305 39.085 10.569 1.00 0.00 C +ATOM 195 HA THR A 12 29.221 38.370 11.388 1.00 0.00 H +ATOM 196 C THR A 12 30.234 38.471 9.519 1.00 0.00 C +ATOM 197 O THR A 12 30.789 39.188 8.686 1.00 0.00 O +ATOM 198 CB THR A 12 27.886 39.286 10.010 1.00 0.00 C +ATOM 199 HB THR A 12 27.923 39.927 9.128 1.00 0.00 H +ATOM 200 OG1 THR A 12 27.067 39.888 10.987 1.00 0.00 O +ATOM 201 HG1 THR A 12 27.250 40.831 10.996 1.00 0.00 H +ATOM 202 CG2 THR A 12 27.193 37.971 9.649 1.00 0.00 C +ATOM 203 HG21 THR A 12 26.169 38.178 9.338 1.00 0.00 H +ATOM 204 HG22 THR A 12 27.174 37.309 10.515 1.00 0.00 H +ATOM 205 HG23 THR A 12 27.710 37.481 8.824 1.00 0.00 H +ATOM 206 N ILE A 13 30.417 37.146 9.570 1.00 0.00 N +ATOM 207 H ILE A 13 29.932 36.637 10.296 1.00 0.00 H +ATOM 208 CA ILE A 13 31.338 36.369 8.718 1.00 0.00 C +ATOM 209 HA ILE A 13 31.733 37.035 7.952 1.00 0.00 H +ATOM 210 C ILE A 13 30.566 35.266 7.984 1.00 0.00 C +ATOM 211 O ILE A 13 29.588 34.747 8.517 1.00 0.00 O +ATOM 212 CB ILE A 13 32.566 35.832 9.525 1.00 0.00 C +ATOM 213 HB ILE A 13 33.428 35.877 8.859 1.00 0.00 H +ATOM 214 CG1 ILE A 13 32.416 34.350 9.952 1.00 0.00 C +ATOM 215 HG12 ILE A 13 31.453 34.222 10.446 1.00 0.00 H +ATOM 216 HG13 ILE A 13 32.418 33.728 9.057 1.00 0.00 H +ATOM 217 CG2 ILE A 13 32.893 36.719 10.747 1.00 0.00 C +ATOM 218 HG21 ILE A 13 32.141 36.594 11.526 1.00 0.00 H +ATOM 219 HG22 ILE A 13 33.867 36.452 11.156 1.00 0.00 H +ATOM 220 HG23 ILE A 13 32.939 37.766 10.449 1.00 0.00 H +ATOM 221 CD1 ILE A 13 33.513 33.795 10.874 1.00 0.00 C +ATOM 222 HD11 ILE A 13 34.496 33.982 10.442 1.00 0.00 H +ATOM 223 HD12 ILE A 13 33.373 32.720 10.986 1.00 0.00 H +ATOM 224 HD13 ILE A 13 33.451 34.252 11.861 1.00 0.00 H +ATOM 225 N THR A 14 31.040 34.848 6.810 1.00 0.00 N +ATOM 226 H THR A 14 31.831 35.325 6.401 1.00 0.00 H +ATOM 227 CA THR A 14 30.563 33.646 6.094 1.00 0.00 C +ATOM 228 HA THR A 14 29.535 33.422 6.376 1.00 0.00 H +ATOM 229 C THR A 14 31.421 32.436 6.434 1.00 0.00 C +ATOM 230 O THR A 14 32.632 32.576 6.586 1.00 0.00 O +ATOM 231 CB THR A 14 30.620 33.864 4.573 1.00 0.00 C +ATOM 232 HB THR A 14 30.465 32.913 4.063 1.00 0.00 H +ATOM 233 OG1 THR A 14 31.881 34.390 4.211 1.00 0.00 O +ATOM 234 HG1 THR A 14 31.891 34.522 3.260 1.00 0.00 H +ATOM 235 CG2 THR A 14 29.555 34.849 4.106 1.00 0.00 C +ATOM 236 HG21 THR A 14 29.669 35.805 4.618 1.00 0.00 H +ATOM 237 HG22 THR A 14 28.569 34.434 4.320 1.00 0.00 H +ATOM 238 HG23 THR A 14 29.641 35.002 3.030 1.00 0.00 H +ATOM 239 N LEU A 15 30.840 31.238 6.506 1.00 0.00 N +ATOM 240 H LEU A 15 29.834 31.183 6.442 1.00 0.00 H +ATOM 241 CA LEU A 15 31.577 29.967 6.591 1.00 0.00 C +ATOM 242 HA LEU A 15 32.613 30.115 6.284 1.00 0.00 H +ATOM 243 C LEU A 15 30.952 28.939 5.644 1.00 0.00 C +ATOM 244 O LEU A 15 29.733 28.806 5.613 1.00 0.00 O +ATOM 245 CB LEU A 15 31.534 29.418 8.034 1.00 0.00 C +ATOM 246 HB2 LEU A 15 30.487 29.299 8.314 1.00 0.00 H +ATOM 247 HB3 LEU A 15 31.987 28.426 8.039 1.00 0.00 H +ATOM 248 CG LEU A 15 32.222 30.261 9.120 1.00 0.00 C +ATOM 249 HG LEU A 15 31.759 31.247 9.172 1.00 0.00 H +ATOM 250 CD1 LEU A 15 32.051 29.567 10.471 1.00 0.00 C +ATOM 251 HD11 LEU A 15 32.587 28.618 10.483 1.00 0.00 H +ATOM 252 HD12 LEU A 15 32.440 30.212 11.259 1.00 0.00 H +ATOM 253 HD13 LEU A 15 30.993 29.384 10.664 1.00 0.00 H +ATOM 254 CD2 LEU A 15 33.721 30.412 8.862 1.00 0.00 C +ATOM 255 HD21 LEU A 15 33.895 31.074 8.014 1.00 0.00 H +ATOM 256 HD22 LEU A 15 34.221 30.832 9.734 1.00 0.00 H +ATOM 257 HD23 LEU A 15 34.152 29.438 8.628 1.00 0.00 H +ATOM 258 N GLU A 16 31.766 28.165 4.928 1.00 0.00 N +ATOM 259 H GLU A 16 32.764 28.301 5.000 1.00 0.00 H +ATOM 260 CA GLU A 16 31.291 27.012 4.145 1.00 0.00 C +ATOM 261 HA GLU A 16 30.232 27.136 3.920 1.00 0.00 H +ATOM 262 C GLU A 16 31.447 25.729 4.967 1.00 0.00 C +ATOM 263 O GLU A 16 32.516 25.471 5.522 1.00 0.00 O +ATOM 264 CB GLU A 16 32.028 26.920 2.802 1.00 0.00 C +ATOM 265 HB2 GLU A 16 33.104 26.885 2.977 1.00 0.00 H +ATOM 266 HB3 GLU A 16 31.727 26.001 2.299 1.00 0.00 H +ATOM 267 CG GLU A 16 31.697 28.108 1.888 1.00 0.00 C +ATOM 268 HG2 GLU A 16 30.615 28.171 1.768 1.00 0.00 H +ATOM 269 HG3 GLU A 16 32.031 29.032 2.360 1.00 0.00 H +ATOM 270 CD GLU A 16 32.373 27.949 0.509 1.00 0.00 C +ATOM 271 OE1 GLU A 16 33.539 28.385 0.342 1.00 0.00 O +ATOM 272 OE2 GLU A 16 31.740 27.391 -0.422 1.00 0.00 O +ATOM 273 N VAL A 17 30.369 24.954 5.090 1.00 0.00 N +ATOM 274 H VAL A 17 29.550 25.189 4.547 1.00 0.00 H +ATOM 275 CA VAL A 17 30.239 23.796 5.997 1.00 0.00 C +ATOM 276 HA VAL A 17 31.210 23.319 6.127 1.00 0.00 H +ATOM 277 C VAL A 17 29.280 22.758 5.411 1.00 0.00 C +ATOM 278 O VAL A 17 28.460 23.089 4.558 1.00 0.00 O +ATOM 279 CB VAL A 17 29.710 24.230 7.385 1.00 0.00 C +ATOM 280 HB VAL A 17 29.578 23.337 7.996 1.00 0.00 H +ATOM 281 CG1 VAL A 17 30.682 25.150 8.134 1.00 0.00 C +ATOM 282 HG11 VAL A 17 30.763 26.115 7.634 1.00 0.00 H +ATOM 283 HG12 VAL A 17 30.323 25.311 9.151 1.00 0.00 H +ATOM 284 HG13 VAL A 17 31.664 24.679 8.179 1.00 0.00 H +ATOM 285 CG2 VAL A 17 28.354 24.948 7.297 1.00 0.00 C +ATOM 286 HG21 VAL A 17 27.604 24.279 6.875 1.00 0.00 H +ATOM 287 HG22 VAL A 17 28.431 25.842 6.679 1.00 0.00 H +ATOM 288 HG23 VAL A 17 28.028 25.235 8.297 1.00 0.00 H +ATOM 289 N GLU A 18 29.301 21.530 5.912 1.00 0.00 N +ATOM 290 H GLU A 18 30.007 21.321 6.603 1.00 0.00 H +ATOM 291 CA GLU A 18 28.230 20.540 5.728 1.00 0.00 C +ATOM 292 HA GLU A 18 27.474 20.960 5.064 1.00 0.00 H +ATOM 293 C GLU A 18 27.545 20.218 7.074 1.00 0.00 C +ATOM 294 O GLU A 18 28.186 20.339 8.120 1.00 0.00 O +ATOM 295 CB GLU A 18 28.781 19.264 5.070 1.00 0.00 C +ATOM 296 HB2 GLU A 18 28.061 18.456 5.195 1.00 0.00 H +ATOM 297 HB3 GLU A 18 29.700 18.969 5.577 1.00 0.00 H +ATOM 298 CG GLU A 18 29.064 19.433 3.569 1.00 0.00 C +ATOM 299 HG2 GLU A 18 29.714 20.294 3.415 1.00 0.00 H +ATOM 300 HG3 GLU A 18 29.606 18.553 3.223 1.00 0.00 H +ATOM 301 CD GLU A 18 27.762 19.582 2.749 1.00 0.00 C +ATOM 302 OE1 GLU A 18 27.065 18.563 2.521 1.00 0.00 O +ATOM 303 OE2 GLU A 18 27.431 20.716 2.326 1.00 0.00 O +ATOM 304 N PRO A 19 26.263 19.789 7.101 1.00 0.00 N +ATOM 305 CA PRO A 19 25.539 19.524 8.355 1.00 0.00 C +ATOM 306 HA PRO A 19 25.449 20.466 8.896 1.00 0.00 H +ATOM 307 C PRO A 19 26.199 18.488 9.287 1.00 0.00 C +ATOM 308 O PRO A 19 25.990 18.532 10.496 1.00 0.00 O +ATOM 309 CB PRO A 19 24.138 19.068 7.930 1.00 0.00 C +ATOM 310 HB2 PRO A 19 23.378 19.393 8.640 1.00 0.00 H +ATOM 311 HB3 PRO A 19 24.112 17.985 7.812 1.00 0.00 H +ATOM 312 CG PRO A 19 23.944 19.726 6.566 1.00 0.00 C +ATOM 313 HG2 PRO A 19 23.227 19.183 5.952 1.00 0.00 H +ATOM 314 HG3 PRO A 19 23.627 20.760 6.701 1.00 0.00 H +ATOM 315 CD PRO A 19 25.349 19.687 5.968 1.00 0.00 C +ATOM 316 HD2 PRO A 19 25.462 20.513 5.267 1.00 0.00 H +ATOM 317 HD3 PRO A 19 25.507 18.736 5.458 1.00 0.00 H +ATOM 318 N SER A 20 27.012 17.577 8.749 1.00 0.00 N +ATOM 319 H SER A 20 27.169 17.587 7.752 1.00 0.00 H +ATOM 320 CA SER A 20 27.776 16.583 9.517 1.00 0.00 C +ATOM 321 HA SER A 20 27.137 16.197 10.311 1.00 0.00 H +ATOM 322 C SER A 20 29.043 17.136 10.202 1.00 0.00 C +ATOM 323 O SER A 20 29.673 16.417 10.982 1.00 0.00 O +ATOM 324 CB SER A 20 28.127 15.406 8.597 1.00 0.00 C +ATOM 325 HB2 SER A 20 27.211 14.871 8.344 1.00 0.00 H +ATOM 326 HB3 SER A 20 28.797 14.719 9.115 1.00 0.00 H +ATOM 327 OG SER A 20 28.735 15.873 7.401 1.00 0.00 O +ATOM 328 HG SER A 20 28.970 15.114 6.862 1.00 0.00 H +ATOM 329 N ASP A 21 29.426 18.394 9.953 1.00 0.00 N +ATOM 330 H ASP A 21 28.886 18.944 9.300 1.00 0.00 H +ATOM 331 CA ASP A 21 30.579 19.035 10.591 1.00 0.00 C +ATOM 332 HA ASP A 21 31.417 18.344 10.506 1.00 0.00 H +ATOM 333 C ASP A 21 30.372 19.310 12.089 1.00 0.00 C +ATOM 334 O ASP A 21 29.282 19.687 12.532 1.00 0.00 O +ATOM 335 CB ASP A 21 30.995 20.325 9.865 1.00 0.00 C +ATOM 336 HB2 ASP A 21 30.172 21.037 9.927 1.00 0.00 H +ATOM 337 HB3 ASP A 21 31.833 20.760 10.409 1.00 0.00 H +ATOM 338 CG ASP A 21 31.416 20.155 8.386 1.00 0.00 C +ATOM 339 OD1 ASP A 21 31.736 19.026 7.938 1.00 0.00 O +ATOM 340 OD2 ASP A 21 31.552 21.200 7.705 1.00 0.00 O +ATOM 341 N THR A 22 31.446 19.153 12.872 1.00 0.00 N +ATOM 342 H THR A 22 32.324 18.871 12.460 1.00 0.00 H +ATOM 343 CA THR A 22 31.453 19.412 14.319 1.00 0.00 C +ATOM 344 HA THR A 22 30.522 19.029 14.737 1.00 0.00 H +ATOM 345 C THR A 22 31.539 20.900 14.641 1.00 0.00 C +ATOM 346 O THR A 22 32.099 21.687 13.874 1.00 0.00 O +ATOM 347 CB THR A 22 32.605 18.683 15.023 1.00 0.00 C +ATOM 348 HB THR A 22 32.624 18.967 16.075 1.00 0.00 H +ATOM 349 OG1 THR A 22 33.820 19.067 14.420 1.00 0.00 O +ATOM 350 HG1 THR A 22 34.511 18.462 14.698 1.00 0.00 H +ATOM 351 CG2 THR A 22 32.481 17.165 14.938 1.00 0.00 C +ATOM 352 HG21 THR A 22 31.558 16.849 15.423 1.00 0.00 H +ATOM 353 HG22 THR A 22 32.480 16.838 13.898 1.00 0.00 H +ATOM 354 HG23 THR A 22 33.318 16.701 15.459 1.00 0.00 H +ATOM 355 N ILE A 23 31.071 21.300 15.824 1.00 0.00 N +ATOM 356 H ILE A 23 30.612 20.622 16.416 1.00 0.00 H +ATOM 357 CA ILE A 23 31.291 22.660 16.340 1.00 0.00 C +ATOM 358 HA ILE A 23 30.955 23.371 15.585 1.00 0.00 H +ATOM 359 C ILE A 23 32.789 22.924 16.554 1.00 0.00 C +ATOM 360 O ILE A 23 33.236 24.044 16.339 1.00 0.00 O +ATOM 361 CB ILE A 23 30.465 22.895 17.621 1.00 0.00 C +ATOM 362 HB ILE A 23 30.824 22.187 18.368 1.00 0.00 H +ATOM 363 CG1 ILE A 23 28.954 22.627 17.435 1.00 0.00 C +ATOM 364 HG12 ILE A 23 28.800 21.572 17.208 1.00 0.00 H +ATOM 365 HG13 ILE A 23 28.458 22.805 18.389 1.00 0.00 H +ATOM 366 CG2 ILE A 23 30.678 24.313 18.186 1.00 0.00 C +ATOM 367 HG21 ILE A 23 30.039 24.466 19.056 1.00 0.00 H +ATOM 368 HG22 ILE A 23 30.453 25.067 17.432 1.00 0.00 H +ATOM 369 HG23 ILE A 23 31.710 24.439 18.514 1.00 0.00 H +ATOM 370 CD1 ILE A 23 28.257 23.451 16.343 1.00 0.00 C +ATOM 371 HD11 ILE A 23 28.368 24.518 16.535 1.00 0.00 H +ATOM 372 HD12 ILE A 23 27.195 23.207 16.334 1.00 0.00 H +ATOM 373 HD13 ILE A 23 28.674 23.211 15.365 1.00 0.00 H +ATOM 374 N GLU A 24 33.599 21.909 16.861 1.00 0.00 N +ATOM 375 H GLU A 24 33.186 21.022 17.113 1.00 0.00 H +ATOM 376 CA GLU A 24 35.065 22.006 16.826 1.00 0.00 C +ATOM 377 HA GLU A 24 35.383 22.768 17.538 1.00 0.00 H +ATOM 378 C GLU A 24 35.578 22.427 15.439 1.00 0.00 C +ATOM 379 O GLU A 24 36.398 23.338 15.344 1.00 0.00 O +ATOM 380 CB GLU A 24 35.680 20.659 17.245 1.00 0.00 C +ATOM 381 HB2 GLU A 24 35.433 19.899 16.504 1.00 0.00 H +ATOM 382 HB3 GLU A 24 35.253 20.352 18.200 1.00 0.00 H +ATOM 383 CG GLU A 24 37.204 20.737 17.402 1.00 0.00 C +ATOM 384 HG2 GLU A 24 37.655 20.999 16.445 1.00 0.00 H +ATOM 385 HG3 GLU A 24 37.445 21.531 18.109 1.00 0.00 H +ATOM 386 CD GLU A 24 37.783 19.393 17.896 1.00 0.00 C +ATOM 387 OE1 GLU A 24 38.062 18.502 17.056 1.00 0.00 O +ATOM 388 OE2 GLU A 24 37.978 19.225 19.126 1.00 0.00 O +ATOM 389 N ASN A 25 35.055 21.843 14.354 1.00 0.00 N +ATOM 390 H ASN A 25 34.376 21.104 14.472 1.00 0.00 H +ATOM 391 CA ASN A 25 35.431 22.223 12.989 1.00 0.00 C +ATOM 392 HA ASN A 25 36.520 22.246 12.936 1.00 0.00 H +ATOM 393 C ASN A 25 34.935 23.634 12.629 1.00 0.00 C +ATOM 394 O ASN A 25 35.650 24.387 11.973 1.00 0.00 O +ATOM 395 CB ASN A 25 34.921 21.142 12.020 1.00 0.00 C +ATOM 396 HB2 ASN A 25 35.170 20.156 12.412 1.00 0.00 H +ATOM 397 HB3 ASN A 25 33.836 21.205 11.933 1.00 0.00 H +ATOM 398 CG ASN A 25 35.568 21.241 10.645 1.00 0.00 C +ATOM 399 OD1 ASN A 25 36.782 21.236 10.505 1.00 0.00 O +ATOM 400 ND2 ASN A 25 34.791 21.322 9.585 1.00 0.00 N +ATOM 401 HD21 ASN A 25 35.235 21.241 8.681 1.00 0.00 H +ATOM 402 HD22 ASN A 25 33.785 21.305 9.665 1.00 0.00 H +ATOM 403 N VAL A 26 33.764 24.052 13.129 1.00 0.00 N +ATOM 404 H VAL A 26 33.199 23.377 13.625 1.00 0.00 H +ATOM 405 CA VAL A 26 33.293 25.452 13.022 1.00 0.00 C +ATOM 406 HA VAL A 26 33.309 25.751 11.974 1.00 0.00 H +ATOM 407 C VAL A 26 34.242 26.396 13.763 1.00 0.00 C +ATOM 408 O VAL A 26 34.697 27.377 13.180 1.00 0.00 O +ATOM 409 CB VAL A 26 31.845 25.597 13.536 1.00 0.00 C +ATOM 410 HB VAL A 26 31.792 25.237 14.563 1.00 0.00 H +ATOM 411 CG1 VAL A 26 31.345 27.048 13.515 1.00 0.00 C +ATOM 412 HG11 VAL A 26 31.924 27.659 14.207 1.00 0.00 H +ATOM 413 HG12 VAL A 26 30.303 27.083 13.832 1.00 0.00 H +ATOM 414 HG13 VAL A 26 31.427 27.463 12.511 1.00 0.00 H +ATOM 415 CG2 VAL A 26 30.874 24.770 12.685 1.00 0.00 C +ATOM 416 HG21 VAL A 26 31.178 23.724 12.647 1.00 0.00 H +ATOM 417 HG22 VAL A 26 29.883 24.813 13.137 1.00 0.00 H +ATOM 418 HG23 VAL A 26 30.830 25.161 11.669 1.00 0.00 H +ATOM 419 N LYS A 27 34.636 26.077 15.001 1.00 0.00 N +ATOM 420 H LYS A 27 34.238 25.256 15.432 1.00 0.00 H +ATOM 421 CA LYS A 27 35.619 26.871 15.763 1.00 0.00 C +ATOM 422 HA LYS A 27 35.267 27.902 15.814 1.00 0.00 H +ATOM 423 C LYS A 27 36.981 26.924 15.072 1.00 0.00 C +ATOM 424 O LYS A 27 37.588 27.990 15.044 1.00 0.00 O +ATOM 425 CB LYS A 27 35.772 26.330 17.196 1.00 0.00 C +ATOM 426 HB2 LYS A 27 35.947 25.255 17.169 1.00 0.00 H +ATOM 427 HB3 LYS A 27 36.652 26.805 17.631 1.00 0.00 H +ATOM 428 CG LYS A 27 34.575 26.631 18.116 1.00 0.00 C +ATOM 429 HG2 LYS A 27 34.377 27.703 18.120 1.00 0.00 H +ATOM 430 HG3 LYS A 27 33.682 26.118 17.758 1.00 0.00 H +ATOM 431 CD LYS A 27 34.902 26.174 19.547 1.00 0.00 C +ATOM 432 HD2 LYS A 27 35.886 26.554 19.822 1.00 0.00 H +ATOM 433 HD3 LYS A 27 34.932 25.085 19.575 1.00 0.00 H +ATOM 434 CE LYS A 27 33.892 26.688 20.586 1.00 0.00 C +ATOM 435 HE2 LYS A 27 33.816 27.773 20.510 1.00 0.00 H +ATOM 436 HE3 LYS A 27 32.912 26.261 20.369 1.00 0.00 H +ATOM 437 NZ LYS A 27 34.321 26.305 21.967 1.00 0.00 N +ATOM 438 HZ1 LYS A 27 34.290 25.300 22.060 1.00 0.00 H +ATOM 439 HZ2 LYS A 27 33.697 26.685 22.663 1.00 0.00 H +ATOM 440 HZ3 LYS A 27 35.254 26.631 22.176 1.00 0.00 H +ATOM 441 N ALA A 28 37.433 25.835 14.453 1.00 0.00 N +ATOM 442 H ALA A 28 36.925 24.972 14.582 1.00 0.00 H +ATOM 443 CA ALA A 28 38.666 25.805 13.661 1.00 0.00 C +ATOM 444 HA ALA A 28 39.483 26.191 14.270 1.00 0.00 H +ATOM 445 C ALA A 28 38.570 26.690 12.404 1.00 0.00 C +ATOM 446 O ALA A 28 39.493 27.449 12.119 1.00 0.00 O +ATOM 447 CB ALA A 28 38.987 24.346 13.311 1.00 0.00 C +ATOM 448 HB1 ALA A 28 39.057 23.752 14.222 1.00 0.00 H +ATOM 449 HB2 ALA A 28 38.211 23.929 12.669 1.00 0.00 H +ATOM 450 HB3 ALA A 28 39.942 24.297 12.787 1.00 0.00 H +ATOM 451 N LYS A 29 37.426 26.695 11.703 1.00 0.00 N +ATOM 452 H LYS A 29 36.717 26.018 11.948 1.00 0.00 H +ATOM 453 CA LYS A 29 37.174 27.611 10.568 1.00 0.00 C +ATOM 454 HA LYS A 29 38.004 27.543 9.865 1.00 0.00 H +ATOM 455 C LYS A 29 37.122 29.082 11.006 1.00 0.00 C +ATOM 456 O LYS A 29 37.679 29.943 10.333 1.00 0.00 O +ATOM 457 CB LYS A 29 35.885 27.187 9.843 1.00 0.00 C +ATOM 458 HB2 LYS A 29 35.077 27.075 10.565 1.00 0.00 H +ATOM 459 HB3 LYS A 29 35.616 27.972 9.136 1.00 0.00 H +ATOM 460 CG LYS A 29 36.056 25.890 9.032 1.00 0.00 C +ATOM 461 HG2 LYS A 29 36.542 25.128 9.641 1.00 0.00 H +ATOM 462 HG3 LYS A 29 36.695 26.100 8.175 1.00 0.00 H +ATOM 463 CD LYS A 29 34.694 25.352 8.554 1.00 0.00 C +ATOM 464 HD2 LYS A 29 34.129 25.037 9.431 1.00 0.00 H +ATOM 465 HD3 LYS A 29 34.128 26.136 8.051 1.00 0.00 H +ATOM 466 CE LYS A 29 34.852 24.136 7.617 1.00 0.00 C +ATOM 467 HE2 LYS A 29 33.932 23.553 7.659 1.00 0.00 H +ATOM 468 HE3 LYS A 29 35.657 23.505 7.996 1.00 0.00 H +ATOM 469 NZ LYS A 29 35.117 24.527 6.192 1.00 0.00 N +ATOM 470 HZ1 LYS A 29 35.943 25.099 6.091 1.00 0.00 H +ATOM 471 HZ2 LYS A 29 35.255 23.710 5.615 1.00 0.00 H +ATOM 472 HZ3 LYS A 29 34.329 25.022 5.800 1.00 0.00 H +ATOM 473 N ILE A 30 36.548 29.374 12.177 1.00 0.00 N +ATOM 474 H ILE A 30 36.056 28.634 12.657 1.00 0.00 H +ATOM 475 CA ILE A 30 36.605 30.718 12.793 1.00 0.00 C +ATOM 476 HA ILE A 30 36.275 31.457 12.063 1.00 0.00 H +ATOM 477 C ILE A 30 38.049 31.086 13.165 1.00 0.00 C +ATOM 478 O ILE A 30 38.485 32.198 12.886 1.00 0.00 O +ATOM 479 CB ILE A 30 35.655 30.793 14.011 1.00 0.00 C +ATOM 480 HB ILE A 30 35.897 29.966 14.679 1.00 0.00 H +ATOM 481 CG1 ILE A 30 34.183 30.646 13.563 1.00 0.00 C +ATOM 482 HG12 ILE A 30 34.094 29.818 12.860 1.00 0.00 H +ATOM 483 HG13 ILE A 30 33.868 31.554 13.048 1.00 0.00 H +ATOM 484 CG2 ILE A 30 35.830 32.115 14.785 1.00 0.00 C +ATOM 485 HG21 ILE A 30 35.182 32.121 15.661 1.00 0.00 H +ATOM 486 HG22 ILE A 30 35.584 32.966 14.149 1.00 0.00 H +ATOM 487 HG23 ILE A 30 36.851 32.223 15.152 1.00 0.00 H +ATOM 488 CD1 ILE A 30 33.211 30.364 14.716 1.00 0.00 C +ATOM 489 HD11 ILE A 30 33.167 31.209 15.403 1.00 0.00 H +ATOM 490 HD12 ILE A 30 32.213 30.192 14.312 1.00 0.00 H +ATOM 491 HD13 ILE A 30 33.529 29.472 15.255 1.00 0.00 H +ATOM 492 N GLN A 31 38.831 30.162 13.726 1.00 0.00 N +ATOM 493 H GLN A 31 38.437 29.262 13.958 1.00 0.00 H +ATOM 494 CA GLN A 31 40.255 30.395 14.001 1.00 0.00 C +ATOM 495 HA GLN A 31 40.339 31.278 14.634 1.00 0.00 H +ATOM 496 C GLN A 31 41.045 30.667 12.702 1.00 0.00 C +ATOM 497 O GLN A 31 41.926 31.521 12.696 1.00 0.00 O +ATOM 498 CB GLN A 31 40.823 29.197 14.781 1.00 0.00 C +ATOM 499 HB2 GLN A 31 40.173 28.985 15.630 1.00 0.00 H +ATOM 500 HB3 GLN A 31 40.839 28.322 14.131 1.00 0.00 H +ATOM 501 CG GLN A 31 42.245 29.458 15.309 1.00 0.00 C +ATOM 502 HG2 GLN A 31 42.903 29.722 14.481 1.00 0.00 H +ATOM 503 HG3 GLN A 31 42.217 30.300 16.000 1.00 0.00 H +ATOM 504 CD GLN A 31 42.867 28.255 16.023 1.00 0.00 C +ATOM 505 OE1 GLN A 31 42.367 27.138 16.009 1.00 0.00 O +ATOM 506 NE2 GLN A 31 43.994 28.440 16.680 1.00 0.00 N +ATOM 507 HE21 GLN A 31 44.453 29.339 16.687 1.00 0.00 H +ATOM 508 HE22 GLN A 31 44.422 27.641 17.125 1.00 0.00 H +ATOM 509 N ASP A 32 40.698 30.011 11.592 1.00 0.00 N +ATOM 510 H ASP A 32 40.024 29.263 11.672 1.00 0.00 H +ATOM 511 CA ASP A 32 41.366 30.190 10.298 1.00 0.00 C +ATOM 512 HA ASP A 32 42.438 30.073 10.457 1.00 0.00 H +ATOM 513 C ASP A 32 41.152 31.585 9.669 1.00 0.00 C +ATOM 514 O ASP A 32 42.122 32.158 9.161 1.00 0.00 O +ATOM 515 CB ASP A 32 40.923 29.077 9.340 1.00 0.00 C +ATOM 516 HB2 ASP A 32 39.852 29.162 9.157 1.00 0.00 H +ATOM 517 HB3 ASP A 32 41.105 28.109 9.807 1.00 0.00 H +ATOM 518 CG ASP A 32 41.684 29.143 8.001 1.00 0.00 C +ATOM 519 OD1 ASP A 32 42.893 28.806 7.977 1.00 0.00 O +ATOM 520 OD2 ASP A 32 41.070 29.504 6.968 1.00 0.00 O +ATOM 521 N LYS A 33 39.927 32.155 9.723 1.00 0.00 N +ATOM 522 H LYS A 33 39.172 31.605 10.107 1.00 0.00 H +ATOM 523 CA LYS A 33 39.626 33.480 9.118 1.00 0.00 C +ATOM 524 HA LYS A 33 40.499 33.765 8.530 1.00 0.00 H +ATOM 525 C LYS A 33 39.471 34.671 10.082 1.00 0.00 C +ATOM 526 O LYS A 33 39.599 35.812 9.641 1.00 0.00 O +ATOM 527 CB LYS A 33 38.493 33.385 8.077 1.00 0.00 C +ATOM 528 HB2 LYS A 33 38.462 34.337 7.547 1.00 0.00 H +ATOM 529 HB3 LYS A 33 38.759 32.618 7.350 1.00 0.00 H +ATOM 530 CG LYS A 33 37.085 33.086 8.626 1.00 0.00 C +ATOM 531 HG2 LYS A 33 36.923 33.657 9.540 1.00 0.00 H +ATOM 532 HG3 LYS A 33 37.007 32.026 8.867 1.00 0.00 H +ATOM 533 CD LYS A 33 35.979 33.468 7.619 1.00 0.00 C +ATOM 534 HD2 LYS A 33 36.022 34.544 7.450 1.00 0.00 H +ATOM 535 HD3 LYS A 33 35.009 33.241 8.063 1.00 0.00 H +ATOM 536 CE LYS A 33 36.100 32.734 6.264 1.00 0.00 C +ATOM 537 HE2 LYS A 33 35.997 31.663 6.435 1.00 0.00 H +ATOM 538 HE3 LYS A 33 37.096 32.905 5.854 1.00 0.00 H +ATOM 539 NZ LYS A 33 35.072 33.201 5.276 1.00 0.00 N +ATOM 540 HZ1 LYS A 33 34.131 33.051 5.611 1.00 0.00 H +ATOM 541 HZ2 LYS A 33 35.161 32.706 4.400 1.00 0.00 H +ATOM 542 HZ3 LYS A 33 35.171 34.183 5.063 1.00 0.00 H +ATOM 543 N GLU A 34 39.255 34.438 11.380 1.00 0.00 N +ATOM 544 H GLU A 34 39.095 33.485 11.672 1.00 0.00 H +ATOM 545 CA GLU A 34 39.180 35.490 12.418 1.00 0.00 C +ATOM 546 HA GLU A 34 39.303 36.467 11.950 1.00 0.00 H +ATOM 547 C GLU A 34 40.304 35.412 13.475 1.00 0.00 C +ATOM 548 O GLU A 34 40.468 36.346 14.261 1.00 0.00 O +ATOM 549 CB GLU A 34 37.795 35.482 13.093 1.00 0.00 C +ATOM 550 HB2 GLU A 34 37.803 36.166 13.942 1.00 0.00 H +ATOM 551 HB3 GLU A 34 37.590 34.488 13.490 1.00 0.00 H +ATOM 552 CG GLU A 34 36.643 35.892 12.162 1.00 0.00 C +ATOM 553 HG2 GLU A 34 35.712 35.791 12.720 1.00 0.00 H +ATOM 554 HG3 GLU A 34 36.595 35.189 11.330 1.00 0.00 H +ATOM 555 CD GLU A 34 36.751 37.344 11.628 1.00 0.00 C +ATOM 556 OE1 GLU A 34 37.260 38.246 12.337 1.00 0.00 O +ATOM 557 OE2 GLU A 34 36.274 37.612 10.498 1.00 0.00 O +ATOM 558 N GLY A 35 41.098 34.331 13.508 1.00 0.00 N +ATOM 559 H GLY A 35 40.953 33.598 12.828 1.00 0.00 H +ATOM 560 CA GLY A 35 42.258 34.191 14.405 1.00 0.00 C +ATOM 561 HA2 GLY A 35 42.906 33.399 14.029 1.00 0.00 H +ATOM 562 HA3 GLY A 35 42.832 35.118 14.383 1.00 0.00 H +ATOM 563 C GLY A 35 41.934 33.876 15.875 1.00 0.00 C +ATOM 564 O GLY A 35 42.845 33.859 16.702 1.00 0.00 O +ATOM 565 N ILE A 36 40.660 33.636 16.223 1.00 0.00 N +ATOM 566 H ILE A 36 39.966 33.638 15.489 1.00 0.00 H +ATOM 567 CA ILE A 36 40.206 33.490 17.622 1.00 0.00 C +ATOM 568 HA ILE A 36 40.751 34.218 18.222 1.00 0.00 H +ATOM 569 C ILE A 36 40.507 32.067 18.128 1.00 0.00 C +ATOM 570 O ILE A 36 40.044 31.115 17.500 1.00 0.00 O +ATOM 571 CB ILE A 36 38.696 33.822 17.773 1.00 0.00 C +ATOM 572 HB ILE A 36 38.124 33.034 17.284 1.00 0.00 H +ATOM 573 CG1 ILE A 36 38.302 35.172 17.123 1.00 0.00 C +ATOM 574 HG12 ILE A 36 38.704 35.994 17.715 1.00 0.00 H +ATOM 575 HG13 ILE A 36 38.730 35.247 16.123 1.00 0.00 H +ATOM 576 CG2 ILE A 36 38.326 33.856 19.275 1.00 0.00 C +ATOM 577 HG21 ILE A 36 38.573 32.917 19.771 1.00 0.00 H +ATOM 578 HG22 ILE A 36 37.257 34.023 19.408 1.00 0.00 H +ATOM 579 HG23 ILE A 36 38.862 34.662 19.776 1.00 0.00 H +ATOM 580 CD1 ILE A 36 36.788 35.364 16.953 1.00 0.00 C +ATOM 581 HD11 ILE A 36 36.282 35.369 17.918 1.00 0.00 H +ATOM 582 HD12 ILE A 36 36.379 34.566 16.334 1.00 0.00 H +ATOM 583 HD13 ILE A 36 36.601 36.318 16.460 1.00 0.00 H +ATOM 584 N PRO A 37 41.184 31.864 19.277 1.00 0.00 N +ATOM 585 CA PRO A 37 41.428 30.525 19.830 1.00 0.00 C +ATOM 586 HA PRO A 37 42.005 29.960 19.098 1.00 0.00 H +ATOM 587 C PRO A 37 40.131 29.787 20.206 1.00 0.00 C +ATOM 588 O PRO A 37 39.295 30.382 20.882 1.00 0.00 O +ATOM 589 CB PRO A 37 42.312 30.745 21.068 1.00 0.00 C +ATOM 590 HB2 PRO A 37 41.697 30.861 21.961 1.00 0.00 H +ATOM 591 HB3 PRO A 37 43.027 29.934 21.205 1.00 0.00 H +ATOM 592 CG PRO A 37 43.016 32.067 20.773 1.00 0.00 C +ATOM 593 HG2 PRO A 37 43.335 32.572 21.685 1.00 0.00 H +ATOM 594 HG3 PRO A 37 43.865 31.892 20.112 1.00 0.00 H +ATOM 595 CD PRO A 37 41.942 32.858 20.029 1.00 0.00 C +ATOM 596 HD2 PRO A 37 41.283 33.357 20.739 1.00 0.00 H +ATOM 597 HD3 PRO A 37 42.424 33.589 19.380 1.00 0.00 H +ATOM 598 N PRO A 38 39.937 28.501 19.853 1.00 0.00 N +ATOM 599 CA PRO A 38 38.712 27.737 20.155 1.00 0.00 C +ATOM 600 HA PRO A 38 37.890 28.167 19.582 1.00 0.00 H +ATOM 601 C PRO A 38 38.290 27.706 21.631 1.00 0.00 C +ATOM 602 O PRO A 38 37.095 27.701 21.914 1.00 0.00 O +ATOM 603 CB PRO A 38 38.994 26.321 19.632 1.00 0.00 C +ATOM 604 HB2 PRO A 38 39.540 25.743 20.377 1.00 0.00 H +ATOM 605 HB3 PRO A 38 38.086 25.795 19.339 1.00 0.00 H +ATOM 606 CG PRO A 38 39.903 26.583 18.433 1.00 0.00 C +ATOM 607 HG2 PRO A 38 40.498 25.707 18.174 1.00 0.00 H +ATOM 608 HG3 PRO A 38 39.309 26.914 17.581 1.00 0.00 H +ATOM 609 CD PRO A 38 40.773 27.734 18.933 1.00 0.00 C +ATOM 610 HD2 PRO A 38 41.642 27.341 19.460 1.00 0.00 H +ATOM 611 HD3 PRO A 38 41.084 28.337 18.080 1.00 0.00 H +ATOM 612 N ASP A 39 39.244 27.772 22.565 1.00 0.00 N +ATOM 613 H ASP A 39 40.208 27.696 22.273 1.00 0.00 H +ATOM 614 CA ASP A 39 38.972 27.890 24.013 1.00 0.00 C +ATOM 615 HA ASP A 39 38.294 27.094 24.322 1.00 0.00 H +ATOM 616 C ASP A 39 38.318 29.233 24.385 1.00 0.00 C +ATOM 617 O ASP A 39 37.452 29.288 25.258 1.00 0.00 O +ATOM 618 CB ASP A 39 40.303 27.718 24.762 1.00 0.00 C +ATOM 619 HB2 ASP A 39 40.999 28.481 24.414 1.00 0.00 H +ATOM 620 HB3 ASP A 39 40.725 26.747 24.503 1.00 0.00 H +ATOM 621 CG ASP A 39 40.159 27.809 26.296 1.00 0.00 C +ATOM 622 OD1 ASP A 39 40.775 28.722 26.898 1.00 0.00 O +ATOM 623 OD2 ASP A 39 39.484 26.938 26.897 1.00 0.00 O +ATOM 624 N GLN A 40 38.669 30.315 23.677 1.00 0.00 N +ATOM 625 H GLN A 40 39.331 30.206 22.922 1.00 0.00 H +ATOM 626 CA GLN A 40 38.089 31.648 23.897 1.00 0.00 C +ATOM 627 HA GLN A 40 37.812 31.731 24.948 1.00 0.00 H +ATOM 628 C GLN A 40 36.787 31.874 23.114 1.00 0.00 C +ATOM 629 O GLN A 40 36.056 32.808 23.428 1.00 0.00 O +ATOM 630 CB GLN A 40 39.147 32.739 23.645 1.00 0.00 C +ATOM 631 HB2 GLN A 40 39.483 32.701 22.609 1.00 0.00 H +ATOM 632 HB3 GLN A 40 38.692 33.713 23.822 1.00 0.00 H +ATOM 633 CG GLN A 40 40.354 32.565 24.594 1.00 0.00 C +ATOM 634 HG2 GLN A 40 40.007 32.160 25.545 1.00 0.00 H +ATOM 635 HG3 GLN A 40 41.051 31.847 24.160 1.00 0.00 H +ATOM 636 CD GLN A 40 41.106 33.864 24.899 1.00 0.00 C +ATOM 637 OE1 GLN A 40 41.295 34.246 26.047 1.00 0.00 O +ATOM 638 NE2 GLN A 40 41.598 34.576 23.902 1.00 0.00 N +ATOM 639 HE21 GLN A 40 41.476 34.296 22.940 1.00 0.00 H +ATOM 640 HE22 GLN A 40 42.109 35.416 24.134 1.00 0.00 H +ATOM 641 N GLN A 41 36.443 31.008 22.149 1.00 0.00 N +ATOM 642 H GLN A 41 37.076 30.248 21.943 1.00 0.00 H +ATOM 643 CA GLN A 41 35.167 31.075 21.415 1.00 0.00 C +ATOM 644 HA GLN A 41 34.922 32.120 21.226 1.00 0.00 H +ATOM 645 C GLN A 41 34.009 30.445 22.204 1.00 0.00 C +ATOM 646 O GLN A 41 34.083 29.282 22.601 1.00 0.00 O +ATOM 647 CB GLN A 41 35.290 30.356 20.057 1.00 0.00 C +ATOM 648 HB2 GLN A 41 35.570 29.318 20.234 1.00 0.00 H +ATOM 649 HB3 GLN A 41 34.310 30.365 19.580 1.00 0.00 H +ATOM 650 CG GLN A 41 36.308 30.975 19.081 1.00 0.00 C +ATOM 651 HG2 GLN A 41 37.301 30.958 19.531 1.00 0.00 H +ATOM 652 HG3 GLN A 41 36.031 32.008 18.867 1.00 0.00 H +ATOM 653 CD GLN A 41 36.351 30.213 17.764 1.00 0.00 C +ATOM 654 OE1 GLN A 41 35.332 29.812 17.240 1.00 0.00 O +ATOM 655 NE2 GLN A 41 37.500 29.953 17.180 1.00 0.00 N +ATOM 656 HE21 GLN A 41 37.476 29.387 16.344 1.00 0.00 H +ATOM 657 HE22 GLN A 41 38.380 30.317 17.517 1.00 0.00 H +ATOM 658 N ARG A 42 32.884 31.155 22.332 1.00 0.00 N +ATOM 659 H ARG A 42 32.911 32.129 22.069 1.00 0.00 H +ATOM 660 CA ARG A 42 31.573 30.624 22.774 1.00 0.00 C +ATOM 661 HA ARG A 42 31.647 29.555 22.974 1.00 0.00 H +ATOM 662 C ARG A 42 30.571 30.826 21.632 1.00 0.00 C +ATOM 663 O ARG A 42 30.523 31.911 21.070 1.00 0.00 O +ATOM 664 CB ARG A 42 31.197 31.353 24.090 1.00 0.00 C +ATOM 665 HB2 ARG A 42 31.917 31.066 24.857 1.00 0.00 H +ATOM 666 HB3 ARG A 42 31.317 32.426 23.944 1.00 0.00 H +ATOM 667 CG ARG A 42 29.773 31.103 24.622 1.00 0.00 C +ATOM 668 HG2 ARG A 42 29.615 30.035 24.770 1.00 0.00 H +ATOM 669 HG3 ARG A 42 29.049 31.474 23.897 1.00 0.00 H +ATOM 670 CD ARG A 42 29.559 31.840 25.956 1.00 0.00 C +ATOM 671 HD2 ARG A 42 29.937 32.858 25.864 1.00 0.00 H +ATOM 672 HD3 ARG A 42 30.130 31.330 26.732 1.00 0.00 H +ATOM 673 NE ARG A 42 28.124 31.896 26.337 1.00 0.00 N +ATOM 674 HE ARG A 42 27.450 31.487 25.706 1.00 0.00 H +ATOM 675 CZ ARG A 42 27.631 32.468 27.434 1.00 0.00 C +ATOM 676 NH1 ARG A 42 28.397 33.020 28.339 1.00 0.00 N +ATOM 677 HH11 ARG A 42 29.402 33.006 28.238 1.00 0.00 H +ATOM 678 HH12 ARG A 42 27.990 33.447 29.159 1.00 0.00 H +ATOM 679 NH2 ARG A 42 26.342 32.500 27.645 1.00 0.00 N +ATOM 680 HH21 ARG A 42 25.691 32.111 26.979 1.00 0.00 H +ATOM 681 HH22 ARG A 42 25.978 32.933 28.481 1.00 0.00 H +ATOM 682 N LEU A 43 29.788 29.806 21.275 1.00 0.00 N +ATOM 683 H LEU A 43 29.834 28.949 21.808 1.00 0.00 H +ATOM 684 CA LEU A 43 28.843 29.850 20.141 1.00 0.00 C +ATOM 685 HA LEU A 43 28.820 30.860 19.730 1.00 0.00 H +ATOM 686 C LEU A 43 27.417 29.528 20.596 1.00 0.00 C +ATOM 687 O LEU A 43 27.227 28.689 21.472 1.00 0.00 O +ATOM 688 CB LEU A 43 29.308 28.871 19.038 1.00 0.00 C +ATOM 689 HB2 LEU A 43 29.561 27.922 19.511 1.00 0.00 H +ATOM 690 HB3 LEU A 43 28.480 28.688 18.353 1.00 0.00 H +ATOM 691 CG LEU A 43 30.509 29.351 18.203 1.00 0.00 C +ATOM 692 HG LEU A 43 31.287 29.730 18.866 1.00 0.00 H +ATOM 693 CD1 LEU A 43 31.082 28.185 17.395 1.00 0.00 C +ATOM 694 HD11 LEU A 43 31.958 28.521 16.839 1.00 0.00 H +ATOM 695 HD12 LEU A 43 31.391 27.385 18.067 1.00 0.00 H +ATOM 696 HD13 LEU A 43 30.337 27.803 16.697 1.00 0.00 H +ATOM 697 CD2 LEU A 43 30.098 30.448 17.218 1.00 0.00 C +ATOM 698 HD21 LEU A 43 29.714 31.317 17.752 1.00 0.00 H +ATOM 699 HD22 LEU A 43 30.966 30.757 16.635 1.00 0.00 H +ATOM 700 HD23 LEU A 43 29.331 30.080 16.537 1.00 0.00 H +ATOM 701 N ILE A 44 26.418 30.178 19.999 1.00 0.00 N +ATOM 702 H ILE A 44 26.658 30.878 19.312 1.00 0.00 H +ATOM 703 CA ILE A 44 24.991 30.052 20.356 1.00 0.00 C +ATOM 704 HA ILE A 44 24.851 29.127 20.917 1.00 0.00 H +ATOM 705 C ILE A 44 24.137 29.971 19.079 1.00 0.00 C +ATOM 706 O ILE A 44 24.384 30.711 18.127 1.00 0.00 O +ATOM 707 CB ILE A 44 24.545 31.243 21.254 1.00 0.00 C +ATOM 708 HB ILE A 44 24.570 32.146 20.644 1.00 0.00 H +ATOM 709 CG1 ILE A 44 25.503 31.472 22.451 1.00 0.00 C +ATOM 710 HG12 ILE A 44 26.506 31.675 22.074 1.00 0.00 H +ATOM 711 HG13 ILE A 44 25.543 30.570 23.061 1.00 0.00 H +ATOM 712 CG2 ILE A 44 23.099 31.051 21.759 1.00 0.00 C +ATOM 713 HG21 ILE A 44 23.046 30.207 22.446 1.00 0.00 H +ATOM 714 HG22 ILE A 44 22.756 31.948 22.275 1.00 0.00 H +ATOM 715 HG23 ILE A 44 22.409 30.887 20.932 1.00 0.00 H +ATOM 716 CD1 ILE A 44 25.141 32.666 23.346 1.00 0.00 C +ATOM 717 HD11 ILE A 44 25.955 32.852 24.047 1.00 0.00 H +ATOM 718 HD12 ILE A 44 24.994 33.558 22.737 1.00 0.00 H +ATOM 719 HD13 ILE A 44 24.237 32.457 23.918 1.00 0.00 H +ATOM 720 N PHE A 45 23.115 29.109 19.063 1.00 0.00 N +ATOM 721 H PHE A 45 22.986 28.508 19.864 1.00 0.00 H +ATOM 722 CA PHE A 45 22.054 29.081 18.038 1.00 0.00 C +ATOM 723 HA PHE A 45 21.861 30.097 17.690 1.00 0.00 H +ATOM 724 C PHE A 45 20.751 28.537 18.640 1.00 0.00 C +ATOM 725 O PHE A 45 20.799 27.746 19.575 1.00 0.00 O +ATOM 726 CB PHE A 45 22.519 28.237 16.839 1.00 0.00 C +ATOM 727 HB2 PHE A 45 22.867 27.268 17.196 1.00 0.00 H +ATOM 728 HB3 PHE A 45 23.370 28.743 16.383 1.00 0.00 H +ATOM 729 CG PHE A 45 21.478 27.990 15.763 1.00 0.00 C +ATOM 730 CD1 PHE A 45 21.209 28.977 14.797 1.00 0.00 C +ATOM 731 HD1 PHE A 45 21.736 29.919 14.824 1.00 0.00 H +ATOM 732 CD2 PHE A 45 20.776 26.769 15.728 1.00 0.00 C +ATOM 733 HD2 PHE A 45 20.972 26.005 16.466 1.00 0.00 H +ATOM 734 CE1 PHE A 45 20.249 28.741 13.797 1.00 0.00 C +ATOM 735 HE1 PHE A 45 20.032 29.506 13.065 1.00 0.00 H +ATOM 736 CE2 PHE A 45 19.826 26.529 14.719 1.00 0.00 C +ATOM 737 HE2 PHE A 45 19.298 25.588 14.689 1.00 0.00 H +ATOM 738 CZ PHE A 45 19.562 27.515 13.753 1.00 0.00 C +ATOM 739 HZ PHE A 45 18.825 27.333 12.985 1.00 0.00 H +ATOM 740 N ALA A 46 19.584 28.959 18.134 1.00 0.00 N +ATOM 741 H ALA A 46 19.606 29.588 17.344 1.00 0.00 H +ATOM 742 CA ALA A 46 18.256 28.481 18.567 1.00 0.00 C +ATOM 743 HA ALA A 46 17.528 29.210 18.211 1.00 0.00 H +ATOM 744 C ALA A 46 18.059 28.433 20.105 1.00 0.00 C +ATOM 745 O ALA A 46 17.539 27.457 20.652 1.00 0.00 O +ATOM 746 CB ALA A 46 17.947 27.162 17.841 1.00 0.00 C +ATOM 747 HB1 ALA A 46 18.656 26.391 18.144 1.00 0.00 H +ATOM 748 HB2 ALA A 46 16.933 26.837 18.074 1.00 0.00 H +ATOM 749 HB3 ALA A 46 18.021 27.313 16.764 1.00 0.00 H +ATOM 750 N GLY A 47 18.542 29.462 20.816 1.00 0.00 N +ATOM 751 H GLY A 47 18.936 30.244 20.313 1.00 0.00 H +ATOM 752 CA GLY A 47 18.461 29.569 22.285 1.00 0.00 C +ATOM 753 HA2 GLY A 47 17.441 29.348 22.598 1.00 0.00 H +ATOM 754 HA3 GLY A 47 18.681 30.597 22.572 1.00 0.00 H +ATOM 755 C GLY A 47 19.406 28.651 23.083 1.00 0.00 C +ATOM 756 O GLY A 47 19.266 28.571 24.306 1.00 0.00 O +ATOM 757 N LYS A 48 20.348 27.953 22.423 1.00 0.00 N +ATOM 758 H LYS A 48 20.421 28.077 21.424 1.00 0.00 H +ATOM 759 CA LYS A 48 21.229 26.928 23.021 1.00 0.00 C +ATOM 760 HA LYS A 48 21.098 26.920 24.103 1.00 0.00 H +ATOM 761 C LYS A 48 22.707 27.220 22.749 1.00 0.00 C +ATOM 762 O LYS A 48 23.063 27.674 21.664 1.00 0.00 O +ATOM 763 CB LYS A 48 20.826 25.544 22.471 1.00 0.00 C +ATOM 764 HB2 LYS A 48 20.801 25.584 21.382 1.00 0.00 H +ATOM 765 HB3 LYS A 48 21.572 24.807 22.767 1.00 0.00 H +ATOM 766 CG LYS A 48 19.457 25.095 23.016 1.00 0.00 C +ATOM 767 HG2 LYS A 48 19.545 24.974 24.096 1.00 0.00 H +ATOM 768 HG3 LYS A 48 18.705 25.861 22.828 1.00 0.00 H +ATOM 769 CD LYS A 48 18.978 23.760 22.419 1.00 0.00 C +ATOM 770 HD2 LYS A 48 19.794 23.039 22.477 1.00 0.00 H +ATOM 771 HD3 LYS A 48 18.165 23.375 23.035 1.00 0.00 H +ATOM 772 CE LYS A 48 18.495 23.849 20.956 1.00 0.00 C +ATOM 773 HE2 LYS A 48 19.269 24.311 20.344 1.00 0.00 H +ATOM 774 HE3 LYS A 48 18.361 22.830 20.593 1.00 0.00 H +ATOM 775 NZ LYS A 48 17.199 24.592 20.817 1.00 0.00 N +ATOM 776 HZ1 LYS A 48 16.835 24.509 19.879 1.00 0.00 H +ATOM 777 HZ2 LYS A 48 16.489 24.226 21.435 1.00 0.00 H +ATOM 778 HZ3 LYS A 48 17.301 25.580 21.003 1.00 0.00 H +ATOM 779 N GLN A 49 23.579 26.939 23.719 1.00 0.00 N +ATOM 780 H GLN A 49 23.229 26.545 24.581 1.00 0.00 H +ATOM 781 CA GLN A 49 25.038 27.022 23.535 1.00 0.00 C +ATOM 782 HA GLN A 49 25.251 27.892 22.915 1.00 0.00 H +ATOM 783 C GLN A 49 25.555 25.768 22.806 1.00 0.00 C +ATOM 784 O GLN A 49 25.104 24.654 23.081 1.00 0.00 O +ATOM 785 CB GLN A 49 25.732 27.227 24.895 1.00 0.00 C +ATOM 786 HB2 GLN A 49 25.750 26.282 25.438 1.00 0.00 H +ATOM 787 HB3 GLN A 49 25.156 27.946 25.478 1.00 0.00 H +ATOM 788 CG GLN A 49 27.167 27.765 24.740 1.00 0.00 C +ATOM 789 HG2 GLN A 49 27.724 27.126 24.055 1.00 0.00 H +ATOM 790 HG3 GLN A 49 27.128 28.768 24.315 1.00 0.00 H +ATOM 791 CD GLN A 49 27.932 27.820 26.064 1.00 0.00 C +ATOM 792 OE1 GLN A 49 28.987 27.220 26.221 1.00 0.00 O +ATOM 793 NE2 GLN A 49 27.462 28.555 27.053 1.00 0.00 N +ATOM 794 HE21 GLN A 49 27.981 28.561 27.919 1.00 0.00 H +ATOM 795 HE22 GLN A 49 26.567 29.020 26.994 1.00 0.00 H +ATOM 796 N LEU A 50 26.495 25.950 21.874 1.00 0.00 N +ATOM 797 H LEU A 50 26.866 26.880 21.740 1.00 0.00 H +ATOM 798 CA LEU A 50 26.966 24.890 20.976 1.00 0.00 C +ATOM 799 HA LEU A 50 26.214 24.101 20.947 1.00 0.00 H +ATOM 800 C LEU A 50 28.265 24.253 21.502 1.00 0.00 C +ATOM 801 O LEU A 50 29.215 24.961 21.838 1.00 0.00 O +ATOM 802 CB LEU A 50 27.091 25.443 19.541 1.00 0.00 C +ATOM 803 HB2 LEU A 50 27.969 26.087 19.491 1.00 0.00 H +ATOM 804 HB3 LEU A 50 27.248 24.601 18.868 1.00 0.00 H +ATOM 805 CG LEU A 50 25.875 26.242 19.033 1.00 0.00 C +ATOM 806 HG LEU A 50 25.778 27.158 19.617 1.00 0.00 H +ATOM 807 CD1 LEU A 50 26.089 26.633 17.570 1.00 0.00 C +ATOM 808 HD11 LEU A 50 27.036 27.160 17.455 1.00 0.00 H +ATOM 809 HD12 LEU A 50 26.098 25.744 16.939 1.00 0.00 H +ATOM 810 HD13 LEU A 50 25.283 27.293 17.251 1.00 0.00 H +ATOM 811 CD2 LEU A 50 24.567 25.462 19.131 1.00 0.00 C +ATOM 812 HD21 LEU A 50 23.734 26.084 18.804 1.00 0.00 H +ATOM 813 HD22 LEU A 50 24.620 24.570 18.508 1.00 0.00 H +ATOM 814 HD23 LEU A 50 24.361 25.172 20.162 1.00 0.00 H +ATOM 815 N GLU A 51 28.303 22.921 21.575 1.00 0.00 N +ATOM 816 H GLU A 51 27.497 22.401 21.260 1.00 0.00 H +ATOM 817 CA GLU A 51 29.381 22.142 22.202 1.00 0.00 C +ATOM 818 HA GLU A 51 29.978 22.802 22.833 1.00 0.00 H +ATOM 819 C GLU A 51 30.311 21.514 21.157 1.00 0.00 C +ATOM 820 O GLU A 51 29.840 20.869 20.224 1.00 0.00 O +ATOM 821 CB GLU A 51 28.756 21.071 23.113 1.00 0.00 C +ATOM 822 HB2 GLU A 51 28.160 20.386 22.509 1.00 0.00 H +ATOM 823 HB3 GLU A 51 28.094 21.564 23.825 1.00 0.00 H +ATOM 824 CG GLU A 51 29.801 20.263 23.894 1.00 0.00 C +ATOM 825 HG2 GLU A 51 30.437 20.952 24.450 1.00 0.00 H +ATOM 826 HG3 GLU A 51 30.436 19.721 23.193 1.00 0.00 H +ATOM 827 CD GLU A 51 29.127 19.268 24.865 1.00 0.00 C +ATOM 828 OE1 GLU A 51 28.764 19.671 25.998 1.00 0.00 O +ATOM 829 OE2 GLU A 51 28.975 18.073 24.511 1.00 0.00 O +ATOM 830 N ASP A 52 31.629 21.658 21.334 1.00 0.00 N +ATOM 831 H ASP A 52 31.934 22.259 22.086 1.00 0.00 H +ATOM 832 CA ASP A 52 32.672 21.281 20.363 1.00 0.00 C +ATOM 833 HA ASP A 52 32.665 22.022 19.564 1.00 0.00 H +ATOM 834 C ASP A 52 32.488 19.896 19.707 1.00 0.00 C +ATOM 835 O ASP A 52 32.637 19.770 18.492 1.00 0.00 O +ATOM 836 CB ASP A 52 34.067 21.350 21.022 1.00 0.00 C +ATOM 837 HB2 ASP A 52 34.135 20.544 21.752 1.00 0.00 H +ATOM 838 HB3 ASP A 52 34.817 21.160 20.255 1.00 0.00 H +ATOM 839 CG ASP A 52 34.432 22.670 21.734 1.00 0.00 C +ATOM 840 OD1 ASP A 52 33.644 23.644 21.713 1.00 0.00 O +ATOM 841 OD2 ASP A 52 35.545 22.751 22.304 1.00 0.00 O +ATOM 842 N GLY A 53 32.141 18.867 20.491 1.00 0.00 N +ATOM 843 H GLY A 53 32.016 19.041 21.478 1.00 0.00 H +ATOM 844 CA GLY A 53 31.990 17.485 20.008 1.00 0.00 C +ATOM 845 HA2 GLY A 53 32.064 16.811 20.861 1.00 0.00 H +ATOM 846 HA3 GLY A 53 32.811 17.257 19.329 1.00 0.00 H +ATOM 847 C GLY A 53 30.672 17.172 19.279 1.00 0.00 C +ATOM 848 O GLY A 53 30.547 16.090 18.698 1.00 0.00 O +ATOM 849 N ARG A 54 29.691 18.087 19.299 1.00 0.00 N +ATOM 850 H ARG A 54 29.895 18.980 19.725 1.00 0.00 H +ATOM 851 CA ARG A 54 28.393 17.952 18.605 1.00 0.00 C +ATOM 852 HA ARG A 54 28.150 16.893 18.515 1.00 0.00 H +ATOM 853 C ARG A 54 28.483 18.485 17.173 1.00 0.00 C +ATOM 854 O ARG A 54 29.432 19.184 16.826 1.00 0.00 O +ATOM 855 CB ARG A 54 27.296 18.650 19.438 1.00 0.00 C +ATOM 856 HB2 ARG A 54 26.388 18.766 18.846 1.00 0.00 H +ATOM 857 HB3 ARG A 54 27.646 19.650 19.695 1.00 0.00 H +ATOM 858 CG ARG A 54 26.956 17.908 20.746 1.00 0.00 C +ATOM 859 HG2 ARG A 54 26.686 18.649 21.499 1.00 0.00 H +ATOM 860 HG3 ARG A 54 27.831 17.371 21.113 1.00 0.00 H +ATOM 861 CD ARG A 54 25.776 16.931 20.616 1.00 0.00 C +ATOM 862 HD2 ARG A 54 24.869 17.515 20.456 1.00 0.00 H +ATOM 863 HD3 ARG A 54 25.649 16.395 21.557 1.00 0.00 H +ATOM 864 NE ARG A 54 25.933 15.990 19.487 1.00 0.00 N +ATOM 865 HE ARG A 54 25.633 16.313 18.579 1.00 0.00 H +ATOM 866 CZ ARG A 54 26.386 14.748 19.485 1.00 0.00 C +ATOM 867 NH1 ARG A 54 26.831 14.139 20.552 1.00 0.00 N +ATOM 868 HH11 ARG A 54 27.167 13.188 20.490 1.00 0.00 H +ATOM 869 HH12 ARG A 54 26.846 14.616 21.442 1.00 0.00 H +ATOM 870 NH2 ARG A 54 26.400 14.103 18.354 1.00 0.00 N +ATOM 871 HH21 ARG A 54 26.722 13.148 18.298 1.00 0.00 H +ATOM 872 HH22 ARG A 54 26.059 14.582 17.533 1.00 0.00 H +ATOM 873 N THR A 55 27.509 18.153 16.328 1.00 0.00 N +ATOM 874 H THR A 55 26.752 17.575 16.665 1.00 0.00 H +ATOM 875 CA THR A 55 27.484 18.512 14.898 1.00 0.00 C +ATOM 876 HA THR A 55 28.406 19.044 14.662 1.00 0.00 H +ATOM 877 C THR A 55 26.350 19.469 14.543 1.00 0.00 C +ATOM 878 O THR A 55 25.351 19.563 15.258 1.00 0.00 O +ATOM 879 CB THR A 55 27.445 17.276 13.983 1.00 0.00 C +ATOM 880 HB THR A 55 27.495 17.609 12.947 1.00 0.00 H +ATOM 881 OG1 THR A 55 26.254 16.547 14.151 1.00 0.00 O +ATOM 882 HG1 THR A 55 26.127 16.384 15.088 1.00 0.00 H +ATOM 883 CG2 THR A 55 28.619 16.327 14.228 1.00 0.00 C +ATOM 884 HG21 THR A 55 28.595 15.927 15.241 1.00 0.00 H +ATOM 885 HG22 THR A 55 28.572 15.502 13.517 1.00 0.00 H +ATOM 886 HG23 THR A 55 29.554 16.864 14.068 1.00 0.00 H +ATOM 887 N LEU A 56 26.494 20.191 13.428 1.00 0.00 N +ATOM 888 H LEU A 56 27.334 20.060 12.884 1.00 0.00 H +ATOM 889 CA LEU A 56 25.507 21.177 12.968 1.00 0.00 C +ATOM 890 HA LEU A 56 25.415 21.953 13.728 1.00 0.00 H +ATOM 891 C LEU A 56 24.096 20.577 12.799 1.00 0.00 C +ATOM 892 O LEU A 56 23.114 21.230 13.156 1.00 0.00 O +ATOM 893 CB LEU A 56 26.008 21.808 11.651 1.00 0.00 C +ATOM 894 HB2 LEU A 56 25.197 22.387 11.209 1.00 0.00 H +ATOM 895 HB3 LEU A 56 26.252 21.006 10.955 1.00 0.00 H +ATOM 896 CG LEU A 56 27.245 22.717 11.774 1.00 0.00 C +ATOM 897 HG LEU A 56 28.072 22.169 12.225 1.00 0.00 H +ATOM 898 CD1 LEU A 56 27.666 23.195 10.386 1.00 0.00 C +ATOM 899 HD11 LEU A 56 27.907 22.333 9.763 1.00 0.00 H +ATOM 900 HD12 LEU A 56 26.862 23.765 9.920 1.00 0.00 H +ATOM 901 HD13 LEU A 56 28.558 23.816 10.466 1.00 0.00 H +ATOM 902 CD2 LEU A 56 26.944 23.960 12.612 1.00 0.00 C +ATOM 903 HD21 LEU A 56 26.821 23.689 13.660 1.00 0.00 H +ATOM 904 HD22 LEU A 56 26.039 24.440 12.239 1.00 0.00 H +ATOM 905 HD23 LEU A 56 27.763 24.676 12.537 1.00 0.00 H +ATOM 906 N SER A 57 23.977 19.333 12.326 1.00 0.00 N +ATOM 907 H SER A 57 24.808 18.846 12.021 1.00 0.00 H +ATOM 908 CA SER A 57 22.693 18.633 12.191 1.00 0.00 C +ATOM 909 HA SER A 57 21.994 19.310 11.701 1.00 0.00 H +ATOM 910 C SER A 57 22.065 18.231 13.534 1.00 0.00 C +ATOM 911 O SER A 57 20.838 18.232 13.632 1.00 0.00 O +ATOM 912 CB SER A 57 22.835 17.403 11.285 1.00 0.00 C +ATOM 913 HB2 SER A 57 21.857 16.941 11.155 1.00 0.00 H +ATOM 914 HB3 SER A 57 23.206 17.713 10.308 1.00 0.00 H +ATOM 915 OG SER A 57 23.729 16.463 11.849 1.00 0.00 O +ATOM 916 HG SER A 57 23.782 15.695 11.276 1.00 0.00 H +ATOM 917 N ASP A 58 22.853 17.984 14.590 1.00 0.00 N +ATOM 918 H ASP A 58 23.853 18.015 14.458 1.00 0.00 H +ATOM 919 CA ASP A 58 22.323 17.745 15.944 1.00 0.00 C +ATOM 920 HA ASP A 58 21.610 16.923 15.884 1.00 0.00 H +ATOM 921 C ASP A 58 21.572 18.969 16.501 1.00 0.00 C +ATOM 922 O ASP A 58 20.532 18.823 17.148 1.00 0.00 O +ATOM 923 CB ASP A 58 23.423 17.330 16.935 1.00 0.00 C +ATOM 924 HB2 ASP A 58 24.074 18.186 17.114 1.00 0.00 H +ATOM 925 HB3 ASP A 58 22.953 17.084 17.886 1.00 0.00 H +ATOM 926 CG ASP A 58 24.282 16.134 16.500 1.00 0.00 C +ATOM 927 OD1 ASP A 58 23.737 15.088 16.079 1.00 0.00 O +ATOM 928 OD2 ASP A 58 25.521 16.208 16.707 1.00 0.00 O +ATOM 929 N TYR A 59 22.062 20.176 16.190 1.00 0.00 N +ATOM 930 H TYR A 59 22.942 20.209 15.694 1.00 0.00 H +ATOM 931 CA TYR A 59 21.387 21.450 16.478 1.00 0.00 C +ATOM 932 HA TYR A 59 20.820 21.339 17.402 1.00 0.00 H +ATOM 933 C TYR A 59 20.377 21.870 15.390 1.00 0.00 C +ATOM 934 O TYR A 59 19.765 22.933 15.492 1.00 0.00 O +ATOM 935 CB TYR A 59 22.452 22.529 16.711 1.00 0.00 C +ATOM 936 HB2 TYR A 59 23.060 22.621 15.811 1.00 0.00 H +ATOM 937 HB3 TYR A 59 21.961 23.488 16.880 1.00 0.00 H +ATOM 938 CG TYR A 59 23.344 22.249 17.903 1.00 0.00 C +ATOM 939 CD1 TYR A 59 22.813 22.347 19.204 1.00 0.00 C +ATOM 940 HD1 TYR A 59 21.779 22.625 19.348 1.00 0.00 H +ATOM 941 CD2 TYR A 59 24.694 21.894 17.716 1.00 0.00 C +ATOM 942 HD2 TYR A 59 25.102 21.808 16.720 1.00 0.00 H +ATOM 943 CE1 TYR A 59 23.625 22.076 20.322 1.00 0.00 C +ATOM 944 HE1 TYR A 59 23.214 22.144 21.318 1.00 0.00 H +ATOM 945 CE2 TYR A 59 25.513 21.644 18.835 1.00 0.00 C +ATOM 946 HE2 TYR A 59 26.552 21.380 18.702 1.00 0.00 H +ATOM 947 CZ TYR A 59 24.975 21.717 20.137 1.00 0.00 C +ATOM 948 OH TYR A 59 25.766 21.452 21.210 1.00 0.00 O +ATOM 949 HH TYR A 59 25.274 21.478 22.034 1.00 0.00 H +ATOM 950 N ASN A 60 20.208 21.048 14.346 1.00 0.00 N +ATOM 951 H ASN A 60 20.702 20.168 14.376 1.00 0.00 H +ATOM 952 CA ASN A 60 19.409 21.316 13.147 1.00 0.00 C +ATOM 953 HA ASN A 60 19.745 20.586 12.410 1.00 0.00 H +ATOM 954 C ASN A 60 19.701 22.696 12.499 1.00 0.00 C +ATOM 955 O ASN A 60 18.797 23.392 12.035 1.00 0.00 O +ATOM 956 CB ASN A 60 17.923 21.020 13.444 1.00 0.00 C +ATOM 957 HB2 ASN A 60 17.847 20.095 14.014 1.00 0.00 H +ATOM 958 HB3 ASN A 60 17.507 21.829 14.044 1.00 0.00 H +ATOM 959 CG ASN A 60 17.083 20.850 12.184 1.00 0.00 C +ATOM 960 OD1 ASN A 60 16.121 21.568 11.943 1.00 0.00 O +ATOM 961 ND2 ASN A 60 17.408 19.892 11.338 1.00 0.00 N +ATOM 962 HD21 ASN A 60 16.834 19.774 10.515 1.00 0.00 H +ATOM 963 HD22 ASN A 60 18.136 19.226 11.552 1.00 0.00 H +ATOM 964 N ILE A 61 20.982 23.083 12.458 1.00 0.00 N +ATOM 965 H ILE A 61 21.673 22.452 12.838 1.00 0.00 H +ATOM 966 CA ILE A 61 21.477 24.266 11.737 1.00 0.00 C +ATOM 967 HA ILE A 61 20.818 25.108 11.951 1.00 0.00 H +ATOM 968 C ILE A 61 21.415 23.990 10.221 1.00 0.00 C +ATOM 969 O ILE A 61 21.728 22.882 9.778 1.00 0.00 O +ATOM 970 CB ILE A 61 22.895 24.628 12.241 1.00 0.00 C +ATOM 971 HB ILE A 61 23.521 23.739 12.172 1.00 0.00 H +ATOM 972 CG1 ILE A 61 22.839 25.091 13.718 1.00 0.00 C +ATOM 973 HG12 ILE A 61 22.111 24.498 14.271 1.00 0.00 H +ATOM 974 HG13 ILE A 61 22.509 26.130 13.747 1.00 0.00 H +ATOM 975 CG2 ILE A 61 23.528 25.742 11.387 1.00 0.00 C +ATOM 976 HG21 ILE A 61 23.653 25.418 10.354 1.00 0.00 H +ATOM 977 HG22 ILE A 61 22.896 26.630 11.418 1.00 0.00 H +ATOM 978 HG23 ILE A 61 24.514 26.011 11.767 1.00 0.00 H +ATOM 979 CD1 ILE A 61 24.165 24.979 14.480 1.00 0.00 C +ATOM 980 HD11 ILE A 61 24.933 25.603 14.022 1.00 0.00 H +ATOM 981 HD12 ILE A 61 24.015 25.308 15.508 1.00 0.00 H +ATOM 982 HD13 ILE A 61 24.500 23.942 14.488 1.00 0.00 H +ATOM 983 N GLN A 62 21.007 24.985 9.425 1.00 0.00 N +ATOM 984 H GLN A 62 20.836 25.895 9.828 1.00 0.00 H +ATOM 985 CA GLN A 62 20.710 24.847 7.990 1.00 0.00 C +ATOM 986 HA GLN A 62 20.992 23.850 7.651 1.00 0.00 H +ATOM 987 C GLN A 62 21.503 25.851 7.133 1.00 0.00 C +ATOM 988 O GLN A 62 22.230 26.702 7.649 1.00 0.00 O +ATOM 989 CB GLN A 62 19.192 25.017 7.761 1.00 0.00 C +ATOM 990 HB2 GLN A 62 18.975 24.856 6.705 1.00 0.00 H +ATOM 991 HB3 GLN A 62 18.903 26.038 8.011 1.00 0.00 H +ATOM 992 CG GLN A 62 18.323 24.046 8.575 1.00 0.00 C +ATOM 993 HG2 GLN A 62 18.381 24.309 9.631 1.00 0.00 H +ATOM 994 HG3 GLN A 62 18.694 23.029 8.450 1.00 0.00 H +ATOM 995 CD GLN A 62 16.857 24.103 8.144 1.00 0.00 C +ATOM 996 OE1 GLN A 62 16.051 24.863 8.668 1.00 0.00 O +ATOM 997 NE2 GLN A 62 16.457 23.325 7.156 1.00 0.00 N +ATOM 998 HE21 GLN A 62 15.488 23.369 6.875 1.00 0.00 H +ATOM 999 HE22 GLN A 62 17.094 22.685 6.704 1.00 0.00 H +ATOM 1000 N LYS A 63 21.352 25.775 5.802 1.00 0.00 N +ATOM 1001 H LYS A 63 20.773 25.040 5.421 1.00 0.00 H +ATOM 1002 CA LYS A 63 21.910 26.783 4.883 1.00 0.00 C +ATOM 1003 HA LYS A 63 22.989 26.798 5.038 1.00 0.00 H +ATOM 1004 C LYS A 63 21.391 28.196 5.223 1.00 0.00 C +ATOM 1005 O LYS A 63 20.224 28.372 5.579 1.00 0.00 O +ATOM 1006 CB LYS A 63 21.656 26.383 3.415 1.00 0.00 C +ATOM 1007 HB2 LYS A 63 22.013 25.366 3.256 1.00 0.00 H +ATOM 1008 HB3 LYS A 63 22.245 27.045 2.780 1.00 0.00 H +ATOM 1009 CG LYS A 63 20.183 26.468 2.976 1.00 0.00 C +ATOM 1010 HG2 LYS A 63 19.582 25.772 3.560 1.00 0.00 H +ATOM 1011 HG3 LYS A 63 19.814 27.478 3.159 1.00 0.00 H +ATOM 1012 CD LYS A 63 20.019 26.144 1.480 1.00 0.00 C +ATOM 1013 HD2 LYS A 63 20.768 26.680 0.897 1.00 0.00 H +ATOM 1014 HD3 LYS A 63 20.180 25.075 1.337 1.00 0.00 H +ATOM 1015 CE LYS A 63 18.617 26.512 0.960 1.00 0.00 C +ATOM 1016 HE2 LYS A 63 17.869 26.120 1.650 1.00 0.00 H +ATOM 1017 HE3 LYS A 63 18.467 26.018 0.000 1.00 0.00 H +ATOM 1018 NZ LYS A 63 18.446 27.988 0.784 1.00 0.00 N +ATOM 1019 HZ1 LYS A 63 18.643 28.500 1.632 1.00 0.00 H +ATOM 1020 HZ2 LYS A 63 17.508 28.220 0.489 1.00 0.00 H +ATOM 1021 HZ3 LYS A 63 19.082 28.354 0.091 1.00 0.00 H +ATOM 1022 N GLU A 64 22.275 29.188 5.134 1.00 0.00 N +ATOM 1023 H GLU A 64 23.209 28.939 4.844 1.00 0.00 H +ATOM 1024 CA GLU A 64 22.040 30.589 5.519 1.00 0.00 C +ATOM 1025 HA GLU A 64 23.009 31.083 5.457 1.00 0.00 H +ATOM 1026 C GLU A 64 21.599 30.818 6.993 1.00 0.00 C +ATOM 1027 O GLU A 64 21.199 31.932 7.343 1.00 0.00 O +ATOM 1028 CB GLU A 64 21.129 31.310 4.497 1.00 0.00 C +ATOM 1029 HB2 GLU A 64 20.936 32.320 4.859 1.00 0.00 H +ATOM 1030 HB3 GLU A 64 20.164 30.808 4.430 1.00 0.00 H +ATOM 1031 CG GLU A 64 21.737 31.469 3.094 1.00 0.00 C +ATOM 1032 HG2 GLU A 64 22.771 31.801 3.190 1.00 0.00 H +ATOM 1033 HG3 GLU A 64 21.195 32.266 2.585 1.00 0.00 H +ATOM 1034 CD GLU A 64 21.645 30.190 2.231 1.00 0.00 C +ATOM 1035 OE1 GLU A 64 20.513 29.803 1.846 1.00 0.00 O +ATOM 1036 OE2 GLU A 64 22.703 29.607 1.889 1.00 0.00 O +ATOM 1037 N SER A 65 21.706 29.821 7.887 1.00 0.00 N +ATOM 1038 H SER A 65 21.967 28.896 7.575 1.00 0.00 H +ATOM 1039 CA SER A 65 21.558 30.035 9.337 1.00 0.00 C +ATOM 1040 HA SER A 65 20.607 30.534 9.521 1.00 0.00 H +ATOM 1041 C SER A 65 22.686 30.922 9.890 1.00 0.00 C +ATOM 1042 O SER A 65 23.836 30.803 9.463 1.00 0.00 O +ATOM 1043 CB SER A 65 21.566 28.704 10.099 1.00 0.00 C +ATOM 1044 HB2 SER A 65 22.466 28.151 9.826 1.00 0.00 H +ATOM 1045 HB3 SER A 65 21.599 28.901 11.170 1.00 0.00 H +ATOM 1046 OG SER A 65 20.424 27.907 9.817 1.00 0.00 O +ATOM 1047 HG SER A 65 19.623 28.403 10.000 1.00 0.00 H +ATOM 1048 N THR A 66 22.378 31.762 10.887 1.00 0.00 N +ATOM 1049 H THR A 66 21.415 31.835 11.180 1.00 0.00 H +ATOM 1050 CA THR A 66 23.363 32.626 11.572 1.00 0.00 C +ATOM 1051 HA THR A 66 24.307 32.589 11.026 1.00 0.00 H +ATOM 1052 C THR A 66 23.616 32.143 12.998 1.00 0.00 C +ATOM 1053 O THR A 66 22.689 32.084 13.806 1.00 0.00 O +ATOM 1054 CB THR A 66 22.921 34.100 11.589 1.00 0.00 C +ATOM 1055 HB THR A 66 22.010 34.199 12.178 1.00 0.00 H +ATOM 1056 OG1 THR A 66 22.663 34.531 10.272 1.00 0.00 O +ATOM 1057 HG1 THR A 66 22.196 35.369 10.309 1.00 0.00 H +ATOM 1058 CG2 THR A 66 23.998 35.031 12.158 1.00 0.00 C +ATOM 1059 HG21 THR A 66 24.159 34.817 13.214 1.00 0.00 H +ATOM 1060 HG22 THR A 66 24.936 34.901 11.617 1.00 0.00 H +ATOM 1061 HG23 THR A 66 23.673 36.067 12.067 1.00 0.00 H +ATOM 1062 N LEU A 67 24.873 31.829 13.325 1.00 0.00 N +ATOM 1063 H LEU A 67 25.579 31.893 12.605 1.00 0.00 H +ATOM 1064 CA LEU A 67 25.313 31.542 14.697 1.00 0.00 C +ATOM 1065 HA LEU A 67 24.483 31.110 15.256 1.00 0.00 H +ATOM 1066 C LEU A 67 25.723 32.842 15.399 1.00 0.00 C +ATOM 1067 O LEU A 67 26.245 33.750 14.755 1.00 0.00 O +ATOM 1068 CB LEU A 67 26.475 30.526 14.705 1.00 0.00 C +ATOM 1069 HB2 LEU A 67 26.601 30.168 15.727 1.00 0.00 H +ATOM 1070 HB3 LEU A 67 27.389 31.050 14.427 1.00 0.00 H +ATOM 1071 CG LEU A 67 26.336 29.313 13.767 1.00 0.00 C +ATOM 1072 HG LEU A 67 26.356 29.659 12.733 1.00 0.00 H +ATOM 1073 CD1 LEU A 67 27.518 28.364 13.983 1.00 0.00 C +ATOM 1074 HD11 LEU A 67 27.423 27.497 13.329 1.00 0.00 H +ATOM 1075 HD12 LEU A 67 28.451 28.877 13.747 1.00 0.00 H +ATOM 1076 HD13 LEU A 67 27.547 28.021 15.017 1.00 0.00 H +ATOM 1077 CD2 LEU A 67 25.048 28.526 13.990 1.00 0.00 C +ATOM 1078 HD21 LEU A 67 24.176 29.172 13.886 1.00 0.00 H +ATOM 1079 HD22 LEU A 67 25.053 28.068 14.979 1.00 0.00 H +ATOM 1080 HD23 LEU A 67 24.975 27.749 13.229 1.00 0.00 H +ATOM 1081 N HIS A 68 25.560 32.921 16.716 1.00 0.00 N +ATOM 1082 H HIS A 68 25.152 32.135 17.202 1.00 0.00 H +ATOM 1083 CA HIS A 68 26.034 34.053 17.522 1.00 0.00 C +ATOM 1084 HA HIS A 68 26.283 34.888 16.867 1.00 0.00 H +ATOM 1085 C HIS A 68 27.312 33.670 18.275 1.00 0.00 C +ATOM 1086 O HIS A 68 27.416 32.555 18.782 1.00 0.00 O +ATOM 1087 CB HIS A 68 24.910 34.535 18.448 1.00 0.00 C +ATOM 1088 HB2 HIS A 68 25.320 35.244 19.167 1.00 0.00 H +ATOM 1089 HB3 HIS A 68 24.505 33.688 19.002 1.00 0.00 H +ATOM 1090 CG HIS A 68 23.784 35.210 17.701 1.00 0.00 C +ATOM 1091 ND1 HIS A 68 23.518 36.564 17.679 1.00 0.00 N +ATOM 1092 HD1 HIS A 68 24.013 37.285 18.184 1.00 0.00 H +ATOM 1093 CD2 HIS A 68 22.844 34.603 16.909 1.00 0.00 C +ATOM 1094 HD2 HIS A 68 22.772 33.544 16.711 1.00 0.00 H +ATOM 1095 CE1 HIS A 68 22.442 36.763 16.895 1.00 0.00 C +ATOM 1096 HE1 HIS A 68 21.992 37.724 16.700 1.00 0.00 H +ATOM 1097 NE2 HIS A 68 21.997 35.595 16.399 1.00 0.00 N +ATOM 1098 N LEU A 69 28.286 34.580 18.337 1.00 0.00 N +ATOM 1099 H LEU A 69 28.132 35.459 17.863 1.00 0.00 H +ATOM 1100 CA LEU A 69 29.633 34.350 18.873 1.00 0.00 C +ATOM 1101 HA LEU A 69 29.692 33.330 19.251 1.00 0.00 H +ATOM 1102 C LEU A 69 29.913 35.323 20.029 1.00 0.00 C +ATOM 1103 O LEU A 69 29.837 36.543 19.867 1.00 0.00 O +ATOM 1104 CB LEU A 69 30.641 34.497 17.710 1.00 0.00 C +ATOM 1105 HB2 LEU A 69 30.816 35.557 17.529 1.00 0.00 H +ATOM 1106 HB3 LEU A 69 30.164 34.095 16.816 1.00 0.00 H +ATOM 1107 CG LEU A 69 31.997 33.772 17.832 1.00 0.00 C +ATOM 1108 HG LEU A 69 31.831 32.696 17.788 1.00 0.00 H +ATOM 1109 CD1 LEU A 69 32.894 34.173 16.660 1.00 0.00 C +ATOM 1110 HD11 LEU A 69 32.405 33.941 15.713 1.00 0.00 H +ATOM 1111 HD12 LEU A 69 33.832 33.620 16.710 1.00 0.00 H +ATOM 1112 HD13 LEU A 69 33.115 35.240 16.699 1.00 0.00 H +ATOM 1113 CD2 LEU A 69 32.762 34.080 19.114 1.00 0.00 C +ATOM 1114 HD21 LEU A 69 32.285 33.569 19.950 1.00 0.00 H +ATOM 1115 HD22 LEU A 69 32.786 35.157 19.284 1.00 0.00 H +ATOM 1116 HD23 LEU A 69 33.783 33.705 19.045 1.00 0.00 H +ATOM 1117 N VAL A 70 30.280 34.765 21.182 1.00 0.00 N +ATOM 1118 H VAL A 70 30.349 33.758 21.203 1.00 0.00 H +ATOM 1119 CA VAL A 70 30.693 35.476 22.405 1.00 0.00 C +ATOM 1120 HA VAL A 70 30.653 36.553 22.247 1.00 0.00 H +ATOM 1121 C VAL A 70 32.143 35.088 22.708 1.00 0.00 C +ATOM 1122 O VAL A 70 32.530 33.957 22.434 1.00 0.00 O +ATOM 1123 CB VAL A 70 29.727 35.106 23.556 1.00 0.00 C +ATOM 1124 HB VAL A 70 29.737 34.023 23.680 1.00 0.00 H +ATOM 1125 CG1 VAL A 70 30.106 35.734 24.901 1.00 0.00 C +ATOM 1126 HG11 VAL A 70 29.347 35.500 25.648 1.00 0.00 H +ATOM 1127 HG12 VAL A 70 31.054 35.330 25.256 1.00 0.00 H +ATOM 1128 HG13 VAL A 70 30.189 36.817 24.809 1.00 0.00 H +ATOM 1129 CG2 VAL A 70 28.282 35.502 23.224 1.00 0.00 C +ATOM 1130 HG21 VAL A 70 28.217 36.572 23.028 1.00 0.00 H +ATOM 1131 HG22 VAL A 70 27.933 34.959 22.346 1.00 0.00 H +ATOM 1132 HG23 VAL A 70 27.626 35.249 24.056 1.00 0.00 H +ATOM 1133 N LEU A 71 32.958 35.979 23.273 1.00 0.00 N +ATOM 1134 H LEU A 71 32.606 36.899 23.497 1.00 0.00 H +ATOM 1135 CA LEU A 71 34.305 35.621 23.750 1.00 0.00 C +ATOM 1136 HA LEU A 71 34.609 34.684 23.282 1.00 0.00 H +ATOM 1137 C LEU A 71 34.314 35.384 25.269 1.00 0.00 C +ATOM 1138 O LEU A 71 33.673 36.121 26.022 1.00 0.00 O +ATOM 1139 CB LEU A 71 35.344 36.695 23.354 1.00 0.00 C +ATOM 1140 HB2 LEU A 71 34.872 37.678 23.345 1.00 0.00 H +ATOM 1141 HB3 LEU A 71 36.121 36.718 24.118 1.00 0.00 H +ATOM 1142 CG LEU A 71 36.047 36.441 22.009 1.00 0.00 C +ATOM 1143 HG LEU A 71 36.553 35.476 22.050 1.00 0.00 H +ATOM 1144 CD1 LEU A 71 35.076 36.435 20.831 1.00 0.00 C +ATOM 1145 HD11 LEU A 71 34.421 35.567 20.909 1.00 0.00 H +ATOM 1146 HD12 LEU A 71 35.630 36.366 19.895 1.00 0.00 H +ATOM 1147 HD13 LEU A 71 34.482 37.349 20.828 1.00 0.00 H +ATOM 1148 CD2 LEU A 71 37.100 37.520 21.763 1.00 0.00 C +ATOM 1149 HD21 LEU A 71 37.825 37.520 22.577 1.00 0.00 H +ATOM 1150 HD22 LEU A 71 36.626 38.500 21.702 1.00 0.00 H +ATOM 1151 HD23 LEU A 71 37.627 37.317 20.830 1.00 0.00 H +ATOM 1152 N ARG A 72 35.121 34.410 25.713 1.00 0.00 N +ATOM 1153 H ARG A 72 35.586 33.847 25.015 1.00 0.00 H +ATOM 1154 CA ARG A 72 35.610 34.311 27.103 1.00 0.00 C +ATOM 1155 HA ARG A 72 35.116 35.078 27.700 1.00 0.00 H +ATOM 1156 C ARG A 72 37.108 34.623 27.136 1.00 0.00 C +ATOM 1157 O ARG A 72 37.841 34.149 26.273 1.00 0.00 O +ATOM 1158 CB ARG A 72 35.243 32.951 27.740 1.00 0.00 C +ATOM 1159 HB2 ARG A 72 34.171 32.790 27.624 1.00 0.00 H +ATOM 1160 HB3 ARG A 72 35.455 33.005 28.808 1.00 0.00 H +ATOM 1161 CG ARG A 72 35.999 31.741 27.158 1.00 0.00 C +ATOM 1162 HG2 ARG A 72 35.768 31.649 26.096 1.00 0.00 H +ATOM 1163 HG3 ARG A 72 37.072 31.897 27.272 1.00 0.00 H +ATOM 1164 CD ARG A 72 35.659 30.425 27.873 1.00 0.00 C +ATOM 1165 HD2 ARG A 72 36.374 29.660 27.572 1.00 0.00 H +ATOM 1166 HD3 ARG A 72 35.783 30.566 28.947 1.00 0.00 H +ATOM 1167 NE ARG A 72 34.280 29.962 27.593 1.00 0.00 N +ATOM 1168 HE ARG A 72 33.606 30.082 28.336 1.00 0.00 H +ATOM 1169 CZ ARG A 72 33.856 29.338 26.503 1.00 0.00 C +ATOM 1170 NH1 ARG A 72 34.643 29.117 25.480 1.00 0.00 N +ATOM 1171 HH11 ARG A 72 35.635 29.286 25.564 1.00 0.00 H +ATOM 1172 HH12 ARG A 72 34.286 28.771 24.601 1.00 0.00 H +ATOM 1173 NH2 ARG A 72 32.614 28.932 26.423 1.00 0.00 N +ATOM 1174 HH21 ARG A 72 32.315 28.347 25.656 1.00 0.00 H +ATOM 1175 HH22 ARG A 72 32.001 29.026 27.220 1.00 0.00 H +ATOM 1176 N LEU A 73 37.562 35.403 28.117 1.00 0.00 N +ATOM 1177 H LEU A 73 36.906 35.740 28.807 1.00 0.00 H +ATOM 1178 CA LEU A 73 38.987 35.693 28.335 1.00 0.00 C +ATOM 1179 HA LEU A 73 39.572 35.335 27.488 1.00 0.00 H +ATOM 1180 C LEU A 73 39.463 34.929 29.579 1.00 0.00 C +ATOM 1181 O LEU A 73 38.836 35.009 30.638 1.00 0.00 O +ATOM 1182 CB LEU A 73 39.224 37.214 28.452 1.00 0.00 C +ATOM 1183 HB2 LEU A 73 40.139 37.367 29.025 1.00 0.00 H +ATOM 1184 HB3 LEU A 73 38.409 37.667 29.017 1.00 0.00 H +ATOM 1185 CG LEU A 73 39.402 37.955 27.110 1.00 0.00 C +ATOM 1186 HG LEU A 73 40.277 37.552 26.599 1.00 0.00 H +ATOM 1187 CD1 LEU A 73 38.202 37.851 26.167 1.00 0.00 C +ATOM 1188 HD11 LEU A 73 38.127 36.835 25.780 1.00 0.00 H +ATOM 1189 HD12 LEU A 73 38.338 38.521 25.318 1.00 0.00 H +ATOM 1190 HD13 LEU A 73 37.286 38.120 26.693 1.00 0.00 H +ATOM 1191 CD2 LEU A 73 39.652 39.437 27.386 1.00 0.00 C +ATOM 1192 HD21 LEU A 73 38.784 39.878 27.877 1.00 0.00 H +ATOM 1193 HD22 LEU A 73 40.525 39.551 28.028 1.00 0.00 H +ATOM 1194 HD23 LEU A 73 39.840 39.961 26.449 1.00 0.00 H +ATOM 1195 N ARG A 74 40.578 34.192 29.466 1.00 0.00 N +ATOM 1196 H ARG A 74 41.045 34.189 28.570 1.00 0.00 H +ATOM 1197 CA ARG A 74 41.094 33.287 30.521 1.00 0.00 C +ATOM 1198 HA ARG A 74 40.228 32.893 31.053 1.00 0.00 H +ATOM 1199 C ARG A 74 41.919 34.026 31.598 1.00 0.00 C +ATOM 1200 O ARG A 74 42.967 33.560 32.047 1.00 0.00 O +ATOM 1201 CB ARG A 74 41.793 32.085 29.848 1.00 0.00 C +ATOM 1202 HB2 ARG A 74 42.794 32.377 29.531 1.00 0.00 H +ATOM 1203 HB3 ARG A 74 41.227 31.808 28.958 1.00 0.00 H +ATOM 1204 CG ARG A 74 41.864 30.841 30.753 1.00 0.00 C +ATOM 1205 HG2 ARG A 74 40.865 30.610 31.121 1.00 0.00 H +ATOM 1206 HG3 ARG A 74 42.510 31.034 31.610 1.00 0.00 H +ATOM 1207 CD ARG A 74 42.390 29.613 29.998 1.00 0.00 C +ATOM 1208 HD2 ARG A 74 41.712 29.396 29.172 1.00 0.00 H +ATOM 1209 HD3 ARG A 74 42.370 28.758 30.673 1.00 0.00 H +ATOM 1210 NE ARG A 74 43.775 29.813 29.519 1.00 0.00 N +ATOM 1211 HE ARG A 74 44.468 30.020 30.224 1.00 0.00 H +ATOM 1212 CZ ARG A 74 44.220 29.730 28.274 1.00 0.00 C +ATOM 1213 NH1 ARG A 74 43.451 29.441 27.259 1.00 0.00 N +ATOM 1214 HH11 ARG A 74 43.836 29.382 26.327 1.00 0.00 H +ATOM 1215 HH12 ARG A 74 42.470 29.244 27.396 1.00 0.00 H +ATOM 1216 NH2 ARG A 74 45.484 29.946 28.022 1.00 0.00 N +ATOM 1217 HH21 ARG A 74 45.838 29.878 27.078 1.00 0.00 H +ATOM 1218 HH22 ARG A 74 46.121 30.178 28.770 1.00 0.00 H +ATOM 1219 N GLY A 75 41.446 35.212 31.982 1.00 0.00 N +ATOM 1220 H GLY A 75 40.569 35.501 31.573 1.00 0.00 H +ATOM 1221 CA GLY A 75 42.053 36.130 32.951 1.00 0.00 C +ATOM 1222 HA2 GLY A 75 42.014 35.682 33.944 1.00 0.00 H +ATOM 1223 HA3 GLY A 75 43.098 36.304 32.694 1.00 0.00 H +ATOM 1224 C GLY A 75 41.330 37.486 32.995 1.00 0.00 C +ATOM 1225 O GLY A 75 40.490 37.778 32.136 1.00 0.00 O +ATOM 1226 N GLY A 76 41.654 38.312 33.998 1.00 0.00 N +ATOM 1227 H GLY A 76 42.356 38.006 34.656 1.00 0.00 H +ATOM 1228 CA GLY A 76 41.077 39.653 34.209 1.00 0.00 C +ATOM 1229 HA2 GLY A 76 40.000 39.617 34.042 1.00 0.00 H +ATOM 1230 HA3 GLY A 76 41.506 40.350 33.489 1.00 0.00 H +ATOM 1231 C GLY A 76 41.330 40.206 35.613 1.00 0.00 C +ATOM 1232 O GLY A 76 40.341 40.505 36.319 1.00 0.00 O +ATOM 1233 OXT GLY A 76 42.515 40.335 35.998 1.00 0.00 O +TER 1234 GLY A 76 +ENDMDL +MODEL 4 +ATOM 4 N MET A 1 27.688 23.760 1.943 1.00 0.00 N +ATOM 5 H MET A 1 28.443 24.065 1.346 1.00 0.00 H +ATOM 6 H2 MET A 1 28.100 23.426 2.803 1.00 0.00 H +ATOM 7 H3 MET A 1 27.233 22.977 1.497 1.00 0.00 H +ATOM 8 CA MET A 1 26.724 24.879 2.204 1.00 0.00 C +ATOM 9 HA MET A 1 26.366 25.231 1.236 1.00 0.00 H +ATOM 10 C MET A 1 27.425 26.070 2.865 1.00 0.00 C +ATOM 11 O MET A 1 28.518 25.907 3.389 1.00 0.00 O +ATOM 12 CB MET A 1 25.479 24.427 3.018 1.00 0.00 C +ATOM 13 HB2 MET A 1 24.756 25.242 3.010 1.00 0.00 H +ATOM 14 HB3 MET A 1 25.009 23.584 2.512 1.00 0.00 H +ATOM 15 CG MET A 1 25.718 24.037 4.489 1.00 0.00 C +ATOM 16 HG2 MET A 1 26.259 24.838 4.993 1.00 0.00 H +ATOM 17 HG3 MET A 1 26.318 23.128 4.527 1.00 0.00 H +ATOM 18 SD MET A 1 24.193 23.722 5.420 1.00 0.00 S +ATOM 19 CE MET A 1 24.856 23.549 7.100 1.00 0.00 C +ATOM 20 HE1 MET A 1 25.306 24.490 7.416 1.00 0.00 H +ATOM 21 HE2 MET A 1 24.046 23.295 7.784 1.00 0.00 H +ATOM 22 HE3 MET A 1 25.607 22.759 7.124 1.00 0.00 H +ATOM 23 N GLN A 2 26.803 27.253 2.908 1.00 0.00 N +ATOM 24 H GLN A 2 25.907 27.366 2.456 1.00 0.00 H +ATOM 25 CA GLN A 2 27.321 28.405 3.669 1.00 0.00 C +ATOM 26 HA GLN A 2 28.320 28.171 4.038 1.00 0.00 H +ATOM 27 C GLN A 2 26.438 28.703 4.890 1.00 0.00 C +ATOM 28 O GLN A 2 25.214 28.627 4.807 1.00 0.00 O +ATOM 29 CB GLN A 2 27.459 29.624 2.736 1.00 0.00 C +ATOM 30 HB2 GLN A 2 28.031 29.322 1.859 1.00 0.00 H +ATOM 31 HB3 GLN A 2 26.469 29.937 2.405 1.00 0.00 H +ATOM 32 CG GLN A 2 28.177 30.817 3.393 1.00 0.00 C +ATOM 33 HG2 GLN A 2 27.607 31.170 4.252 1.00 0.00 H +ATOM 34 HG3 GLN A 2 29.161 30.500 3.739 1.00 0.00 H +ATOM 35 CD GLN A 2 28.354 31.982 2.420 1.00 0.00 C +ATOM 36 OE1 GLN A 2 29.405 32.173 1.824 1.00 0.00 O +ATOM 37 NE2 GLN A 2 27.340 32.802 2.223 1.00 0.00 N +ATOM 38 HE21 GLN A 2 27.461 33.557 1.563 1.00 0.00 H +ATOM 39 HE22 GLN A 2 26.457 32.670 2.695 1.00 0.00 H +ATOM 40 N ILE A 3 27.061 29.086 6.005 1.00 0.00 N +ATOM 41 H ILE A 3 28.071 29.120 5.989 1.00 0.00 H +ATOM 42 CA ILE A 3 26.405 29.663 7.191 1.00 0.00 C +ATOM 43 HA ILE A 3 25.357 29.856 6.962 1.00 0.00 H +ATOM 44 C ILE A 3 27.030 31.019 7.528 1.00 0.00 C +ATOM 45 O ILE A 3 28.100 31.357 7.021 1.00 0.00 O +ATOM 46 CB ILE A 3 26.441 28.689 8.396 1.00 0.00 C +ATOM 47 HB ILE A 3 25.877 29.147 9.208 1.00 0.00 H +ATOM 48 CG1 ILE A 3 27.876 28.435 8.912 1.00 0.00 C +ATOM 49 HG12 ILE A 3 28.454 27.906 8.153 1.00 0.00 H +ATOM 50 HG13 ILE A 3 28.361 29.393 9.100 1.00 0.00 H +ATOM 51 CG2 ILE A 3 25.727 27.379 8.024 1.00 0.00 C +ATOM 52 HG21 ILE A 3 26.307 26.813 7.296 1.00 0.00 H +ATOM 53 HG22 ILE A 3 25.561 26.768 8.912 1.00 0.00 H +ATOM 54 HG23 ILE A 3 24.754 27.610 7.589 1.00 0.00 H +ATOM 55 CD1 ILE A 3 27.928 27.646 10.227 1.00 0.00 C +ATOM 56 HD11 ILE A 3 27.523 26.642 10.099 1.00 0.00 H +ATOM 57 HD12 ILE A 3 28.963 27.564 10.560 1.00 0.00 H +ATOM 58 HD13 ILE A 3 27.353 28.173 10.989 1.00 0.00 H +ATOM 59 N PHE A 4 26.398 31.775 8.419 1.00 0.00 N +ATOM 60 H PHE A 4 25.528 31.441 8.807 1.00 0.00 H +ATOM 61 CA PHE A 4 26.953 33.008 8.977 1.00 0.00 C +ATOM 62 HA PHE A 4 27.886 33.240 8.464 1.00 0.00 H +ATOM 63 C PHE A 4 27.265 32.844 10.466 1.00 0.00 C +ATOM 64 O PHE A 4 26.629 32.049 11.157 1.00 0.00 O +ATOM 65 CB PHE A 4 25.988 34.177 8.747 1.00 0.00 C +ATOM 66 HB2 PHE A 4 26.477 35.102 9.050 1.00 0.00 H +ATOM 67 HB3 PHE A 4 25.121 34.039 9.394 1.00 0.00 H +ATOM 68 CG PHE A 4 25.502 34.334 7.320 1.00 0.00 C +ATOM 69 CD1 PHE A 4 26.355 34.862 6.333 1.00 0.00 C +ATOM 70 HD1 PHE A 4 27.360 35.159 6.591 1.00 0.00 H +ATOM 71 CD2 PHE A 4 24.187 33.963 6.983 1.00 0.00 C +ATOM 72 HD2 PHE A 4 23.525 33.570 7.740 1.00 0.00 H +ATOM 73 CE1 PHE A 4 25.890 35.019 5.013 1.00 0.00 C +ATOM 74 HE1 PHE A 4 26.535 35.440 4.256 1.00 0.00 H +ATOM 75 CE2 PHE A 4 23.724 34.124 5.666 1.00 0.00 C +ATOM 76 HE2 PHE A 4 22.704 33.866 5.419 1.00 0.00 H +ATOM 77 CZ PHE A 4 24.576 34.648 4.680 1.00 0.00 C +ATOM 78 HZ PHE A 4 24.216 34.781 3.670 1.00 0.00 H +ATOM 79 N VAL A 5 28.201 33.635 10.991 1.00 0.00 N +ATOM 80 H VAL A 5 28.712 34.245 10.369 1.00 0.00 H +ATOM 81 CA VAL A 5 28.417 33.773 12.442 1.00 0.00 C +ATOM 82 HA VAL A 5 27.539 33.379 12.955 1.00 0.00 H +ATOM 83 C VAL A 5 28.532 35.254 12.798 1.00 0.00 C +ATOM 84 O VAL A 5 29.251 35.981 12.119 1.00 0.00 O +ATOM 85 CB VAL A 5 29.632 32.955 12.930 1.00 0.00 C +ATOM 86 HB VAL A 5 30.549 33.374 12.516 1.00 0.00 H +ATOM 87 CG1 VAL A 5 29.744 32.991 14.456 1.00 0.00 C +ATOM 88 HG11 VAL A 5 28.825 32.632 14.919 1.00 0.00 H +ATOM 89 HG12 VAL A 5 30.576 32.369 14.783 1.00 0.00 H +ATOM 90 HG13 VAL A 5 29.938 34.015 14.777 1.00 0.00 H +ATOM 91 CG2 VAL A 5 29.549 31.487 12.492 1.00 0.00 C +ATOM 92 HG21 VAL A 5 29.658 31.421 11.410 1.00 0.00 H +ATOM 93 HG22 VAL A 5 28.587 31.059 12.774 1.00 0.00 H +ATOM 94 HG23 VAL A 5 30.348 30.909 12.956 1.00 0.00 H +ATOM 95 N LYS A 6 27.826 35.708 13.840 1.00 0.00 N +ATOM 96 H LYS A 6 27.252 35.042 14.336 1.00 0.00 H +ATOM 97 CA LYS A 6 27.767 37.114 14.287 1.00 0.00 C +ATOM 98 HA LYS A 6 28.414 37.711 13.644 1.00 0.00 H +ATOM 99 C LYS A 6 28.287 37.271 15.718 1.00 0.00 C +ATOM 100 O LYS A 6 28.020 36.420 16.559 1.00 0.00 O +ATOM 101 CB LYS A 6 26.325 37.629 14.109 1.00 0.00 C +ATOM 102 HB2 LYS A 6 25.646 37.023 14.708 1.00 0.00 H +ATOM 103 HB3 LYS A 6 26.049 37.513 13.062 1.00 0.00 H +ATOM 104 CG LYS A 6 26.159 39.107 14.501 1.00 0.00 C +ATOM 105 HG2 LYS A 6 26.278 39.213 15.580 1.00 0.00 H +ATOM 106 HG3 LYS A 6 26.928 39.702 14.007 1.00 0.00 H +ATOM 107 CD LYS A 6 24.775 39.635 14.098 1.00 0.00 C +ATOM 108 HD2 LYS A 6 24.653 39.535 13.020 1.00 0.00 H +ATOM 109 HD3 LYS A 6 24.005 39.047 14.598 1.00 0.00 H +ATOM 110 CE LYS A 6 24.634 41.116 14.493 1.00 0.00 C +ATOM 111 HE2 LYS A 6 24.789 41.209 15.568 1.00 0.00 H +ATOM 112 HE3 LYS A 6 25.419 41.685 13.995 1.00 0.00 H +ATOM 113 NZ LYS A 6 23.294 41.671 14.123 1.00 0.00 N +ATOM 114 HZ1 LYS A 6 23.126 41.618 13.128 1.00 0.00 H +ATOM 115 HZ2 LYS A 6 22.541 41.184 14.588 1.00 0.00 H +ATOM 116 HZ3 LYS A 6 23.218 42.644 14.382 1.00 0.00 H +ATOM 117 N THR A 7 29.018 38.346 16.007 1.00 0.00 N +ATOM 118 H THR A 7 29.200 39.013 15.270 1.00 0.00 H +ATOM 119 CA THR A 7 29.675 38.587 17.308 1.00 0.00 C +ATOM 120 HA THR A 7 29.737 37.649 17.861 1.00 0.00 H +ATOM 121 C THR A 7 28.917 39.589 18.187 1.00 0.00 C +ATOM 122 O THR A 7 28.137 40.401 17.690 1.00 0.00 O +ATOM 123 CB THR A 7 31.108 39.098 17.100 1.00 0.00 C +ATOM 124 HB THR A 7 31.613 39.142 18.065 1.00 0.00 H +ATOM 125 OG1 THR A 7 31.037 40.388 16.549 1.00 0.00 O +ATOM 126 HG1 THR A 7 31.828 40.867 16.806 1.00 0.00 H +ATOM 127 CG2 THR A 7 31.939 38.252 16.143 1.00 0.00 C +ATOM 128 HG21 THR A 7 31.547 38.333 15.129 1.00 0.00 H +ATOM 129 HG22 THR A 7 31.921 37.209 16.459 1.00 0.00 H +ATOM 130 HG23 THR A 7 32.968 38.611 16.151 1.00 0.00 H +ATOM 131 N LEU A 8 29.224 39.624 19.494 1.00 0.00 N +ATOM 132 H LEU A 8 29.794 38.884 19.879 1.00 0.00 H +ATOM 133 CA LEU A 8 28.775 40.713 20.390 1.00 0.00 C +ATOM 134 HA LEU A 8 27.693 40.813 20.302 1.00 0.00 H +ATOM 135 C LEU A 8 29.359 42.093 20.012 1.00 0.00 C +ATOM 136 O LEU A 8 28.741 43.118 20.299 1.00 0.00 O +ATOM 137 CB LEU A 8 29.128 40.383 21.854 1.00 0.00 C +ATOM 138 HB2 LEU A 8 30.204 40.231 21.930 1.00 0.00 H +ATOM 139 HB3 LEU A 8 28.879 41.254 22.460 1.00 0.00 H +ATOM 140 CG LEU A 8 28.411 39.165 22.466 1.00 0.00 C +ATOM 141 HG LEU A 8 28.732 38.259 21.951 1.00 0.00 H +ATOM 142 CD1 LEU A 8 28.800 39.056 23.940 1.00 0.00 C +ATOM 143 HD11 LEU A 8 28.284 38.215 24.403 1.00 0.00 H +ATOM 144 HD12 LEU A 8 28.520 39.967 24.469 1.00 0.00 H +ATOM 145 HD13 LEU A 8 29.877 38.909 24.030 1.00 0.00 H +ATOM 146 CD2 LEU A 8 26.888 39.265 22.384 1.00 0.00 C +ATOM 147 HD21 LEU A 8 26.550 40.203 22.825 1.00 0.00 H +ATOM 148 HD22 LEU A 8 26.564 39.210 21.345 1.00 0.00 H +ATOM 149 HD23 LEU A 8 26.433 38.433 22.922 1.00 0.00 H +ATOM 150 N THR A 9 30.511 42.128 19.324 1.00 0.00 N +ATOM 151 H THR A 9 31.010 41.266 19.159 1.00 0.00 H +ATOM 152 CA THR A 9 31.096 43.358 18.742 1.00 0.00 C +ATOM 153 HA THR A 9 30.988 44.164 19.467 1.00 0.00 H +ATOM 154 C THR A 9 30.383 43.836 17.464 1.00 0.00 C +ATOM 155 O THR A 9 30.737 44.883 16.918 1.00 0.00 O +ATOM 156 CB THR A 9 32.601 43.182 18.485 1.00 0.00 C +ATOM 157 HB THR A 9 32.992 44.049 17.952 1.00 0.00 H +ATOM 158 OG1 THR A 9 32.818 42.016 17.723 1.00 0.00 O +ATOM 159 HG1 THR A 9 33.757 41.976 17.526 1.00 0.00 H +ATOM 160 CG2 THR A 9 33.384 43.003 19.781 1.00 0.00 C +ATOM 161 HG21 THR A 9 34.448 42.938 19.555 1.00 0.00 H +ATOM 162 HG22 THR A 9 33.214 43.860 20.433 1.00 0.00 H +ATOM 163 HG23 THR A 9 33.072 42.092 20.292 1.00 0.00 H +ATOM 164 N GLY A 10 29.357 43.110 16.992 1.00 0.00 N +ATOM 165 H GLY A 10 29.111 42.255 17.469 1.00 0.00 H +ATOM 166 CA GLY A 10 28.527 43.485 15.838 1.00 0.00 C +ATOM 167 HA2 GLY A 10 28.343 44.559 15.857 1.00 0.00 H +ATOM 168 HA3 GLY A 10 27.568 42.976 15.928 1.00 0.00 H +ATOM 169 C GLY A 10 29.122 43.121 14.471 1.00 0.00 C +ATOM 170 O GLY A 10 28.631 43.604 13.448 1.00 0.00 O +ATOM 171 N LYS A 11 30.164 42.276 14.436 1.00 0.00 N +ATOM 172 H LYS A 11 30.452 41.856 15.309 1.00 0.00 H +ATOM 173 CA LYS A 11 30.795 41.769 13.205 1.00 0.00 C +ATOM 174 HA LYS A 11 30.701 42.528 12.429 1.00 0.00 H +ATOM 175 C LYS A 11 30.063 40.510 12.746 1.00 0.00 C +ATOM 176 O LYS A 11 29.717 39.682 13.581 1.00 0.00 O +ATOM 177 CB LYS A 11 32.295 41.520 13.475 1.00 0.00 C +ATOM 178 HB2 LYS A 11 32.682 42.362 14.050 1.00 0.00 H +ATOM 179 HB3 LYS A 11 32.414 40.621 14.079 1.00 0.00 H +ATOM 180 CG LYS A 11 33.135 41.397 12.191 1.00 0.00 C +ATOM 181 HG2 LYS A 11 33.009 42.308 11.606 1.00 0.00 H +ATOM 182 HG3 LYS A 11 32.790 40.547 11.602 1.00 0.00 H +ATOM 183 CD LYS A 11 34.627 41.215 12.525 1.00 0.00 C +ATOM 184 HD2 LYS A 11 34.797 40.217 12.927 1.00 0.00 H +ATOM 185 HD3 LYS A 11 34.899 41.935 13.298 1.00 0.00 H +ATOM 186 CE LYS A 11 35.562 41.467 11.326 1.00 0.00 C +ATOM 187 HE2 LYS A 11 35.310 42.429 10.880 1.00 0.00 H +ATOM 188 HE3 LYS A 11 36.580 41.546 11.707 1.00 0.00 H +ATOM 189 NZ LYS A 11 35.515 40.390 10.290 1.00 0.00 N +ATOM 190 HZ1 LYS A 11 35.824 39.506 10.667 1.00 0.00 H +ATOM 191 HZ2 LYS A 11 34.595 40.273 9.890 1.00 0.00 H +ATOM 192 HZ3 LYS A 11 36.146 40.600 9.530 1.00 0.00 H +ATOM 193 N THR A 12 29.858 40.334 11.441 1.00 0.00 N +ATOM 194 H THR A 12 30.168 41.051 10.802 1.00 0.00 H +ATOM 195 CA THR A 12 29.281 39.097 10.872 1.00 0.00 C +ATOM 196 HA THR A 12 29.205 38.351 11.663 1.00 0.00 H +ATOM 197 C THR A 12 30.201 38.526 9.793 1.00 0.00 C +ATOM 198 O THR A 12 30.715 39.269 8.956 1.00 0.00 O +ATOM 199 CB THR A 12 27.858 39.313 10.328 1.00 0.00 C +ATOM 200 HB THR A 12 27.887 39.972 9.460 1.00 0.00 H +ATOM 201 OG1 THR A 12 27.049 39.894 11.325 1.00 0.00 O +ATOM 202 HG1 THR A 12 27.203 40.841 11.324 1.00 0.00 H +ATOM 203 CG2 THR A 12 27.167 38.003 9.946 1.00 0.00 C +ATOM 204 HG21 THR A 12 26.138 38.213 9.653 1.00 0.00 H +ATOM 205 HG22 THR A 12 27.162 37.321 10.796 1.00 0.00 H +ATOM 206 HG23 THR A 12 27.676 37.536 9.104 1.00 0.00 H +ATOM 207 N ILE A 13 30.417 37.207 9.821 1.00 0.00 N +ATOM 208 H ILE A 13 29.954 36.672 10.542 1.00 0.00 H +ATOM 209 CA ILE A 13 31.328 36.470 8.928 1.00 0.00 C +ATOM 210 HA ILE A 13 31.698 37.158 8.168 1.00 0.00 H +ATOM 211 C ILE A 13 30.578 35.358 8.192 1.00 0.00 C +ATOM 212 O ILE A 13 29.606 34.820 8.717 1.00 0.00 O +ATOM 213 CB ILE A 13 32.567 35.933 9.701 1.00 0.00 C +ATOM 214 HB ILE A 13 33.342 35.710 8.968 1.00 0.00 H +ATOM 215 CG1 ILE A 13 32.258 34.624 10.465 1.00 0.00 C +ATOM 216 HG12 ILE A 13 31.379 34.790 11.087 1.00 0.00 H +ATOM 217 HG13 ILE A 13 32.023 33.840 9.745 1.00 0.00 H +ATOM 218 CG2 ILE A 13 33.123 37.004 10.659 1.00 0.00 C +ATOM 219 HG21 ILE A 13 32.465 37.134 11.519 1.00 0.00 H +ATOM 220 HG22 ILE A 13 34.108 36.706 11.016 1.00 0.00 H +ATOM 221 HG23 ILE A 13 33.225 37.954 10.134 1.00 0.00 H +ATOM 222 CD1 ILE A 13 33.387 34.086 11.355 1.00 0.00 C +ATOM 223 HD11 ILE A 13 34.315 34.016 10.788 1.00 0.00 H +ATOM 224 HD12 ILE A 13 33.112 33.093 11.711 1.00 0.00 H +ATOM 225 HD13 ILE A 13 33.531 34.734 12.220 1.00 0.00 H +ATOM 226 N THR A 14 31.070 34.952 7.023 1.00 0.00 N +ATOM 227 H THR A 14 31.856 35.445 6.624 1.00 0.00 H +ATOM 228 CA THR A 14 30.638 33.734 6.312 1.00 0.00 C +ATOM 229 HA THR A 14 29.606 33.496 6.568 1.00 0.00 H +ATOM 230 C THR A 14 31.512 32.549 6.701 1.00 0.00 C +ATOM 231 O THR A 14 32.712 32.719 6.898 1.00 0.00 O +ATOM 232 CB THR A 14 30.733 33.933 4.790 1.00 0.00 C +ATOM 233 HB THR A 14 30.583 32.976 4.289 1.00 0.00 H +ATOM 234 OG1 THR A 14 32.005 34.446 4.454 1.00 0.00 O +ATOM 235 HG1 THR A 14 32.042 34.556 3.501 1.00 0.00 H +ATOM 236 CG2 THR A 14 29.689 34.922 4.283 1.00 0.00 C +ATOM 237 HG21 THR A 14 29.816 35.891 4.766 1.00 0.00 H +ATOM 238 HG22 THR A 14 28.694 34.533 4.498 1.00 0.00 H +ATOM 239 HG23 THR A 14 29.790 35.042 3.205 1.00 0.00 H +ATOM 240 N LEU A 15 30.958 31.338 6.762 1.00 0.00 N +ATOM 241 H LEU A 15 29.956 31.261 6.654 1.00 0.00 H +ATOM 242 CA LEU A 15 31.719 30.083 6.844 1.00 0.00 C +ATOM 243 HA LEU A 15 32.759 30.262 6.571 1.00 0.00 H +ATOM 244 C LEU A 15 31.138 29.073 5.849 1.00 0.00 C +ATOM 245 O LEU A 15 29.921 28.955 5.745 1.00 0.00 O +ATOM 246 CB LEU A 15 31.654 29.494 8.272 1.00 0.00 C +ATOM 247 HB2 LEU A 15 30.610 29.262 8.485 1.00 0.00 H +ATOM 248 HB3 LEU A 15 32.204 28.553 8.282 1.00 0.00 H +ATOM 249 CG LEU A 15 32.181 30.371 9.421 1.00 0.00 C +ATOM 250 HG LEU A 15 31.631 31.311 9.446 1.00 0.00 H +ATOM 251 CD1 LEU A 15 31.962 29.637 10.745 1.00 0.00 C +ATOM 252 HD11 LEU A 15 32.558 28.726 10.780 1.00 0.00 H +ATOM 253 HD12 LEU A 15 32.250 30.288 11.571 1.00 0.00 H +ATOM 254 HD13 LEU A 15 30.909 29.377 10.856 1.00 0.00 H +ATOM 255 CD2 LEU A 15 33.679 30.660 9.314 1.00 0.00 C +ATOM 256 HD21 LEU A 15 33.899 31.210 8.399 1.00 0.00 H +ATOM 257 HD22 LEU A 15 34.004 31.259 10.164 1.00 0.00 H +ATOM 258 HD23 LEU A 15 34.239 29.724 9.300 1.00 0.00 H +ATOM 259 N GLU A 16 31.983 28.302 5.166 1.00 0.00 N +ATOM 260 H GLU A 16 32.977 28.425 5.296 1.00 0.00 H +ATOM 261 CA GLU A 16 31.538 27.180 4.322 1.00 0.00 C +ATOM 262 HA GLU A 16 30.481 27.299 4.085 1.00 0.00 H +ATOM 263 C GLU A 16 31.692 25.865 5.091 1.00 0.00 C +ATOM 264 O GLU A 16 32.753 25.591 5.652 1.00 0.00 O +ATOM 265 CB GLU A 16 32.296 27.163 2.988 1.00 0.00 C +ATOM 266 HB2 GLU A 16 33.370 27.146 3.176 1.00 0.00 H +ATOM 267 HB3 GLU A 16 32.023 26.260 2.442 1.00 0.00 H +ATOM 268 CG GLU A 16 31.945 28.382 2.125 1.00 0.00 C +ATOM 269 HG2 GLU A 16 30.864 28.425 1.995 1.00 0.00 H +ATOM 270 HG3 GLU A 16 32.249 29.292 2.643 1.00 0.00 H +ATOM 271 CD GLU A 16 32.637 28.305 0.747 1.00 0.00 C +ATOM 272 OE1 GLU A 16 33.774 28.820 0.601 1.00 0.00 O +ATOM 273 OE2 GLU A 16 32.047 27.732 -0.202 1.00 0.00 O +ATOM 274 N VAL A 17 30.617 25.081 5.167 1.00 0.00 N +ATOM 275 H VAL A 17 29.808 25.331 4.617 1.00 0.00 H +ATOM 276 CA VAL A 17 30.468 23.902 6.043 1.00 0.00 C +ATOM 277 HA VAL A 17 31.439 23.429 6.191 1.00 0.00 H +ATOM 278 C VAL A 17 29.534 22.873 5.405 1.00 0.00 C +ATOM 279 O VAL A 17 28.732 23.221 4.543 1.00 0.00 O +ATOM 280 CB VAL A 17 29.893 24.302 7.421 1.00 0.00 C +ATOM 281 HB VAL A 17 29.742 23.395 8.007 1.00 0.00 H +ATOM 282 CG1 VAL A 17 30.839 25.205 8.223 1.00 0.00 C +ATOM 283 HG11 VAL A 17 30.936 26.181 7.748 1.00 0.00 H +ATOM 284 HG12 VAL A 17 30.448 25.342 9.231 1.00 0.00 H +ATOM 285 HG13 VAL A 17 31.819 24.733 8.289 1.00 0.00 H +ATOM 286 CG2 VAL A 17 28.540 25.022 7.304 1.00 0.00 C +ATOM 287 HG21 VAL A 17 27.805 24.365 6.839 1.00 0.00 H +ATOM 288 HG22 VAL A 17 28.637 25.931 6.711 1.00 0.00 H +ATOM 289 HG23 VAL A 17 28.178 25.285 8.298 1.00 0.00 H +ATOM 290 N GLU A 18 29.553 21.633 5.873 1.00 0.00 N +ATOM 291 H GLU A 18 30.243 21.410 6.576 1.00 0.00 H +ATOM 292 CA GLU A 18 28.505 20.634 5.620 1.00 0.00 C +ATOM 293 HA GLU A 18 27.784 21.053 4.918 1.00 0.00 H +ATOM 294 C GLU A 18 27.750 20.290 6.922 1.00 0.00 C +ATOM 295 O GLU A 18 28.333 20.395 8.002 1.00 0.00 O +ATOM 296 CB GLU A 18 29.109 19.373 4.981 1.00 0.00 C +ATOM 297 HB2 GLU A 18 28.385 18.559 5.039 1.00 0.00 H +ATOM 298 HB3 GLU A 18 29.991 19.073 5.546 1.00 0.00 H +ATOM 299 CG GLU A 18 29.496 19.572 3.507 1.00 0.00 C +ATOM 300 HG2 GLU A 18 30.150 20.439 3.415 1.00 0.00 H +ATOM 301 HG3 GLU A 18 30.070 18.703 3.185 1.00 0.00 H +ATOM 302 CD GLU A 18 28.256 19.728 2.599 1.00 0.00 C +ATOM 303 OE1 GLU A 18 27.617 18.702 2.260 1.00 0.00 O +ATOM 304 OE2 GLU A 18 27.915 20.875 2.217 1.00 0.00 O +ATOM 305 N PRO A 19 26.469 19.856 6.874 1.00 0.00 N +ATOM 306 CA PRO A 19 25.682 19.560 8.082 1.00 0.00 C +ATOM 307 HA PRO A 19 25.551 20.489 8.637 1.00 0.00 H +ATOM 308 C PRO A 19 26.302 18.512 9.026 1.00 0.00 C +ATOM 309 O PRO A 19 26.036 18.531 10.225 1.00 0.00 O +ATOM 310 CB PRO A 19 24.311 19.096 7.572 1.00 0.00 C +ATOM 311 HB2 PRO A 19 23.509 19.397 8.246 1.00 0.00 H +ATOM 312 HB3 PRO A 19 24.306 18.015 7.434 1.00 0.00 H +ATOM 313 CG PRO A 19 24.184 19.777 6.212 1.00 0.00 C +ATOM 314 HG2 PRO A 19 23.509 19.236 5.549 1.00 0.00 H +ATOM 315 HG3 PRO A 19 23.847 20.804 6.346 1.00 0.00 H +ATOM 316 CD PRO A 19 25.620 19.764 5.691 1.00 0.00 C +ATOM 317 HD2 PRO A 19 25.762 20.605 5.012 1.00 0.00 H +ATOM 318 HD3 PRO A 19 25.817 18.825 5.173 1.00 0.00 H +ATOM 319 N SER A 20 27.145 17.616 8.508 1.00 0.00 N +ATOM 320 H SER A 20 27.348 17.650 7.519 1.00 0.00 H +ATOM 321 CA SER A 20 27.879 16.607 9.285 1.00 0.00 C +ATOM 322 HA SER A 20 27.211 16.206 10.046 1.00 0.00 H +ATOM 323 C SER A 20 29.121 17.147 10.025 1.00 0.00 C +ATOM 324 O SER A 20 29.718 16.415 10.820 1.00 0.00 O +ATOM 325 CB SER A 20 28.265 15.451 8.353 1.00 0.00 C +ATOM 326 HB2 SER A 20 27.360 14.924 8.051 1.00 0.00 H +ATOM 327 HB3 SER A 20 28.913 14.751 8.882 1.00 0.00 H +ATOM 328 OG SER A 20 28.922 15.946 7.194 1.00 0.00 O +ATOM 329 HG SER A 20 29.180 15.199 6.649 1.00 0.00 H +ATOM 330 N ASP A 21 29.516 18.406 9.806 1.00 0.00 N +ATOM 331 H ASP A 21 28.999 18.967 9.144 1.00 0.00 H +ATOM 332 CA ASP A 21 30.643 19.037 10.497 1.00 0.00 C +ATOM 333 HA ASP A 21 31.486 18.349 10.429 1.00 0.00 H +ATOM 334 C ASP A 21 30.382 19.284 11.990 1.00 0.00 C +ATOM 335 O ASP A 21 29.273 19.635 12.405 1.00 0.00 O +ATOM 336 CB ASP A 21 31.083 20.343 9.815 1.00 0.00 C +ATOM 337 HB2 ASP A 21 30.253 21.049 9.852 1.00 0.00 H +ATOM 338 HB3 ASP A 21 31.892 20.773 10.405 1.00 0.00 H +ATOM 339 CG ASP A 21 31.575 20.206 8.356 1.00 0.00 C +ATOM 340 OD1 ASP A 21 31.901 19.086 7.891 1.00 0.00 O +ATOM 341 OD2 ASP A 21 31.757 21.269 7.713 1.00 0.00 O +ATOM 342 N THR A 22 31.435 19.134 12.801 1.00 0.00 N +ATOM 343 H THR A 22 32.329 18.876 12.409 1.00 0.00 H +ATOM 344 CA THR A 22 31.400 19.372 14.250 1.00 0.00 C +ATOM 345 HA THR A 22 30.460 18.982 14.640 1.00 0.00 H +ATOM 346 C THR A 22 31.477 20.856 14.592 1.00 0.00 C +ATOM 347 O THR A 22 32.057 21.655 13.855 1.00 0.00 O +ATOM 348 CB THR A 22 32.538 18.637 14.969 1.00 0.00 C +ATOM 349 HB THR A 22 32.535 18.908 16.025 1.00 0.00 H +ATOM 350 OG1 THR A 22 33.764 19.029 14.393 1.00 0.00 O +ATOM 351 HG1 THR A 22 34.448 18.414 14.668 1.00 0.00 H +ATOM 352 CG2 THR A 22 32.413 17.120 14.862 1.00 0.00 C +ATOM 353 HG21 THR A 22 31.471 16.802 15.307 1.00 0.00 H +ATOM 354 HG22 THR A 22 32.449 16.805 13.819 1.00 0.00 H +ATOM 355 HG23 THR A 22 33.229 16.648 15.409 1.00 0.00 H +ATOM 356 N ILE A 23 30.977 21.238 15.768 1.00 0.00 N +ATOM 357 H ILE A 23 30.498 20.551 16.333 1.00 0.00 H +ATOM 358 CA ILE A 23 31.191 22.581 16.322 1.00 0.00 C +ATOM 359 HA ILE A 23 30.881 23.314 15.577 1.00 0.00 H +ATOM 360 C ILE A 23 32.685 22.834 16.580 1.00 0.00 C +ATOM 361 O ILE A 23 33.137 23.960 16.419 1.00 0.00 O +ATOM 362 CB ILE A 23 30.329 22.780 17.585 1.00 0.00 C +ATOM 363 HB ILE A 23 30.626 22.012 18.299 1.00 0.00 H +ATOM 364 CG1 ILE A 23 28.818 22.589 17.323 1.00 0.00 C +ATOM 365 HG12 ILE A 23 28.633 21.564 17.000 1.00 0.00 H +ATOM 366 HG13 ILE A 23 28.295 22.710 18.271 1.00 0.00 H +ATOM 367 CG2 ILE A 23 30.574 24.151 18.245 1.00 0.00 C +ATOM 368 HG21 ILE A 23 29.895 24.286 19.087 1.00 0.00 H +ATOM 369 HG22 ILE A 23 30.425 24.957 17.526 1.00 0.00 H +ATOM 370 HG23 ILE A 23 31.591 24.209 18.633 1.00 0.00 H +ATOM 371 CD1 ILE A 23 28.191 23.530 16.282 1.00 0.00 C +ATOM 372 HD11 ILE A 23 28.328 24.572 16.572 1.00 0.00 H +ATOM 373 HD12 ILE A 23 27.123 23.325 16.214 1.00 0.00 H +ATOM 374 HD13 ILE A 23 28.637 23.361 15.302 1.00 0.00 H +ATOM 375 N GLU A 24 33.490 21.808 16.864 1.00 0.00 N +ATOM 376 H GLU A 24 33.073 20.913 17.079 1.00 0.00 H +ATOM 377 CA GLU A 24 34.956 21.908 16.862 1.00 0.00 C +ATOM 378 HA GLU A 24 35.256 22.650 17.601 1.00 0.00 H +ATOM 379 C GLU A 24 35.496 22.370 15.499 1.00 0.00 C +ATOM 380 O GLU A 24 36.315 23.285 15.447 1.00 0.00 O +ATOM 381 CB GLU A 24 35.565 20.552 17.258 1.00 0.00 C +ATOM 382 HB2 GLU A 24 35.361 19.817 16.479 1.00 0.00 H +ATOM 383 HB3 GLU A 24 35.101 20.205 18.181 1.00 0.00 H +ATOM 384 CG GLU A 24 37.080 20.641 17.485 1.00 0.00 C +ATOM 385 HG2 GLU A 24 37.569 20.939 16.558 1.00 0.00 H +ATOM 386 HG3 GLU A 24 37.280 21.413 18.227 1.00 0.00 H +ATOM 387 CD GLU A 24 37.650 19.287 17.962 1.00 0.00 C +ATOM 388 OE1 GLU A 24 38.005 18.438 17.107 1.00 0.00 O +ATOM 389 OE2 GLU A 24 37.760 19.070 19.194 1.00 0.00 O +ATOM 390 N ASN A 25 34.994 21.821 14.386 1.00 0.00 N +ATOM 391 H ASN A 25 34.315 21.077 14.469 1.00 0.00 H +ATOM 392 CA ASN A 25 35.387 22.248 13.040 1.00 0.00 C +ATOM 393 HA ASN A 25 36.476 22.273 13.002 1.00 0.00 H +ATOM 394 C ASN A 25 34.895 23.671 12.723 1.00 0.00 C +ATOM 395 O ASN A 25 35.616 24.446 12.101 1.00 0.00 O +ATOM 396 CB ASN A 25 34.889 21.202 12.026 1.00 0.00 C +ATOM 397 HB2 ASN A 25 35.107 20.201 12.399 1.00 0.00 H +ATOM 398 HB3 ASN A 25 33.809 21.288 11.907 1.00 0.00 H +ATOM 399 CG ASN A 25 35.580 21.324 10.675 1.00 0.00 C +ATOM 400 OD1 ASN A 25 36.798 21.313 10.573 1.00 0.00 O +ATOM 401 ND2 ASN A 25 34.840 21.430 9.590 1.00 0.00 N +ATOM 402 HD21 ASN A 25 35.313 21.359 8.701 1.00 0.00 H +ATOM 403 HD22 ASN A 25 33.831 21.420 9.634 1.00 0.00 H +ATOM 404 N VAL A 26 33.718 24.073 13.222 1.00 0.00 N +ATOM 405 H VAL A 26 33.149 23.381 13.689 1.00 0.00 H +ATOM 406 CA VAL A 26 33.245 25.475 13.157 1.00 0.00 C +ATOM 407 HA VAL A 26 33.272 25.806 12.119 1.00 0.00 H +ATOM 408 C VAL A 26 34.184 26.394 13.938 1.00 0.00 C +ATOM 409 O VAL A 26 34.654 27.388 13.391 1.00 0.00 O +ATOM 410 CB VAL A 26 31.792 25.605 13.661 1.00 0.00 C +ATOM 411 HB VAL A 26 31.735 25.235 14.684 1.00 0.00 H +ATOM 412 CG1 VAL A 26 31.285 27.053 13.653 1.00 0.00 C +ATOM 413 HG11 VAL A 26 31.865 27.664 14.344 1.00 0.00 H +ATOM 414 HG12 VAL A 26 30.245 27.081 13.978 1.00 0.00 H +ATOM 415 HG13 VAL A 26 31.356 27.475 12.651 1.00 0.00 H +ATOM 416 CG2 VAL A 26 30.828 24.786 12.797 1.00 0.00 C +ATOM 417 HG21 VAL A 26 31.135 23.741 12.745 1.00 0.00 H +ATOM 418 HG22 VAL A 26 29.837 24.821 13.249 1.00 0.00 H +ATOM 419 HG23 VAL A 26 30.784 25.191 11.786 1.00 0.00 H +ATOM 420 N LYS A 27 34.553 26.041 15.176 1.00 0.00 N +ATOM 421 H LYS A 27 34.143 25.208 15.574 1.00 0.00 H +ATOM 422 CA LYS A 27 35.519 26.808 15.984 1.00 0.00 C +ATOM 423 HA LYS A 27 35.164 27.835 16.068 1.00 0.00 H +ATOM 424 C LYS A 27 36.893 26.889 15.320 1.00 0.00 C +ATOM 425 O LYS A 27 37.500 27.955 15.344 1.00 0.00 O +ATOM 426 CB LYS A 27 35.649 26.213 17.399 1.00 0.00 C +ATOM 427 HB2 LYS A 27 35.821 25.139 17.334 1.00 0.00 H +ATOM 428 HB3 LYS A 27 36.526 26.665 17.863 1.00 0.00 H +ATOM 429 CG LYS A 27 34.440 26.485 18.312 1.00 0.00 C +ATOM 430 HG2 LYS A 27 34.234 27.555 18.335 1.00 0.00 H +ATOM 431 HG3 LYS A 27 33.555 25.973 17.934 1.00 0.00 H +ATOM 432 CD LYS A 27 34.754 26.002 19.738 1.00 0.00 C +ATOM 433 HD2 LYS A 27 35.737 26.372 20.028 1.00 0.00 H +ATOM 434 HD3 LYS A 27 34.778 24.913 19.748 1.00 0.00 H +ATOM 435 CE LYS A 27 33.738 26.506 20.777 1.00 0.00 C +ATOM 436 HE2 LYS A 27 33.668 27.592 20.715 1.00 0.00 H +ATOM 437 HE3 LYS A 27 32.758 26.087 20.548 1.00 0.00 H +ATOM 438 NZ LYS A 27 34.153 26.104 22.156 1.00 0.00 N +ATOM 439 HZ1 LYS A 27 34.103 25.099 22.240 1.00 0.00 H +ATOM 440 HZ2 LYS A 27 33.536 26.490 22.857 1.00 0.00 H +ATOM 441 HZ3 LYS A 27 35.092 26.406 22.373 1.00 0.00 H +ATOM 442 N ALA A 28 37.356 25.824 14.669 1.00 0.00 N +ATOM 443 H ALA A 28 36.846 24.957 14.758 1.00 0.00 H +ATOM 444 CA ALA A 28 38.603 25.819 13.901 1.00 0.00 C +ATOM 445 HA ALA A 28 39.408 26.184 14.539 1.00 0.00 H +ATOM 446 C ALA A 28 38.534 26.748 12.674 1.00 0.00 C +ATOM 447 O ALA A 28 39.454 27.528 12.445 1.00 0.00 O +ATOM 448 CB ALA A 28 38.930 24.373 13.506 1.00 0.00 C +ATOM 449 HB1 ALA A 28 38.981 23.748 14.397 1.00 0.00 H +ATOM 450 HB2 ALA A 28 38.166 23.980 12.835 1.00 0.00 H +ATOM 451 HB3 ALA A 28 39.895 24.341 13.000 1.00 0.00 H +ATOM 452 N LYS A 29 37.413 26.762 11.936 1.00 0.00 N +ATOM 453 H LYS A 29 36.703 26.073 12.139 1.00 0.00 H +ATOM 454 CA LYS A 29 37.188 27.707 10.819 1.00 0.00 C +ATOM 455 HA LYS A 29 38.041 27.666 10.143 1.00 0.00 H +ATOM 456 C LYS A 29 37.112 29.164 11.298 1.00 0.00 C +ATOM 457 O LYS A 29 37.687 30.046 10.671 1.00 0.00 O +ATOM 458 CB LYS A 29 35.928 27.290 10.036 1.00 0.00 C +ATOM 459 HB2 LYS A 29 35.098 27.149 10.729 1.00 0.00 H +ATOM 460 HB3 LYS A 29 35.670 28.086 9.338 1.00 0.00 H +ATOM 461 CG LYS A 29 36.147 26.013 9.206 1.00 0.00 C +ATOM 462 HG2 LYS A 29 36.616 25.243 9.819 1.00 0.00 H +ATOM 463 HG3 LYS A 29 36.819 26.247 8.381 1.00 0.00 H +ATOM 464 CD LYS A 29 34.815 25.468 8.659 1.00 0.00 C +ATOM 465 HD2 LYS A 29 34.213 25.137 9.505 1.00 0.00 H +ATOM 466 HD3 LYS A 29 34.265 26.252 8.140 1.00 0.00 H +ATOM 467 CE LYS A 29 35.028 24.265 7.718 1.00 0.00 C +ATOM 468 HE2 LYS A 29 34.110 23.677 7.703 1.00 0.00 H +ATOM 469 HE3 LYS A 29 35.815 23.633 8.129 1.00 0.00 H +ATOM 470 NZ LYS A 29 35.364 24.673 6.313 1.00 0.00 N +ATOM 471 HZ1 LYS A 29 36.189 25.252 6.259 1.00 0.00 H +ATOM 472 HZ2 LYS A 29 35.535 23.864 5.733 1.00 0.00 H +ATOM 473 HZ3 LYS A 29 34.593 25.168 5.889 1.00 0.00 H +ATOM 474 N ILE A 30 36.500 29.417 12.459 1.00 0.00 N +ATOM 475 H ILE A 30 35.998 28.659 12.898 1.00 0.00 H +ATOM 476 CA ILE A 30 36.530 30.738 13.124 1.00 0.00 C +ATOM 477 HA ILE A 30 36.204 31.499 12.415 1.00 0.00 H +ATOM 478 C ILE A 30 37.962 31.110 13.537 1.00 0.00 C +ATOM 479 O ILE A 30 38.392 32.232 13.294 1.00 0.00 O +ATOM 480 CB ILE A 30 35.558 30.757 14.326 1.00 0.00 C +ATOM 481 HB ILE A 30 35.787 29.902 14.961 1.00 0.00 H +ATOM 482 CG1 ILE A 30 34.096 30.630 13.842 1.00 0.00 C +ATOM 483 HG12 ILE A 30 34.019 29.825 13.111 1.00 0.00 H +ATOM 484 HG13 ILE A 30 33.796 31.555 13.348 1.00 0.00 H +ATOM 485 CG2 ILE A 30 35.716 32.041 15.166 1.00 0.00 C +ATOM 486 HG21 ILE A 30 35.061 31.996 16.036 1.00 0.00 H +ATOM 487 HG22 ILE A 30 35.470 32.921 14.571 1.00 0.00 H +ATOM 488 HG23 ILE A 30 36.732 32.139 15.550 1.00 0.00 H +ATOM 489 CD1 ILE A 30 33.097 30.321 14.964 1.00 0.00 C +ATOM 490 HD11 ILE A 30 33.027 31.154 15.663 1.00 0.00 H +ATOM 491 HD12 ILE A 30 32.111 30.150 14.531 1.00 0.00 H +ATOM 492 HD13 ILE A 30 33.408 29.423 15.497 1.00 0.00 H +ATOM 493 N GLN A 31 38.739 30.182 14.099 1.00 0.00 N +ATOM 494 H GLN A 31 38.349 29.272 14.300 1.00 0.00 H +ATOM 495 CA GLN A 31 40.149 30.427 14.427 1.00 0.00 C +ATOM 496 HA GLN A 31 40.200 31.298 15.080 1.00 0.00 H +ATOM 497 C GLN A 31 40.977 30.739 13.162 1.00 0.00 C +ATOM 498 O GLN A 31 41.843 31.607 13.204 1.00 0.00 O +ATOM 499 CB GLN A 31 40.709 29.220 15.199 1.00 0.00 C +ATOM 500 HB2 GLN A 31 40.036 28.982 16.022 1.00 0.00 H +ATOM 501 HB3 GLN A 31 40.757 28.359 14.531 1.00 0.00 H +ATOM 502 CG GLN A 31 42.110 29.488 15.779 1.00 0.00 C +ATOM 503 HG2 GLN A 31 42.792 29.780 14.980 1.00 0.00 H +ATOM 504 HG3 GLN A 31 42.047 30.314 16.488 1.00 0.00 H +ATOM 505 CD GLN A 31 42.724 28.277 16.487 1.00 0.00 C +ATOM 506 OE1 GLN A 31 42.244 27.153 16.424 1.00 0.00 O +ATOM 507 NE2 GLN A 31 43.820 28.462 17.194 1.00 0.00 N +ATOM 508 HE21 GLN A 31 44.264 29.368 17.244 1.00 0.00 H +ATOM 509 HE22 GLN A 31 44.240 27.658 17.638 1.00 0.00 H +ATOM 510 N ASP A 32 40.680 30.102 12.026 1.00 0.00 N +ATOM 511 H ASP A 32 40.017 29.342 12.066 1.00 0.00 H +ATOM 512 CA ASP A 32 41.394 30.320 10.764 1.00 0.00 C +ATOM 513 HA ASP A 32 42.460 30.205 10.959 1.00 0.00 H +ATOM 514 C ASP A 32 41.194 31.731 10.164 1.00 0.00 C +ATOM 515 O ASP A 32 42.175 32.315 9.692 1.00 0.00 O +ATOM 516 CB ASP A 32 40.995 29.231 9.760 1.00 0.00 C +ATOM 517 HB2 ASP A 32 39.932 29.321 9.533 1.00 0.00 H +ATOM 518 HB3 ASP A 32 41.158 28.252 10.210 1.00 0.00 H +ATOM 519 CG ASP A 32 41.815 29.331 8.459 1.00 0.00 C +ATOM 520 OD1 ASP A 32 43.025 28.998 8.481 1.00 0.00 O +ATOM 521 OD2 ASP A 32 41.248 29.718 7.409 1.00 0.00 O +ATOM 522 N LYS A 33 39.970 32.303 10.207 1.00 0.00 N +ATOM 523 H LYS A 33 39.206 31.744 10.560 1.00 0.00 H +ATOM 524 CA LYS A 33 39.686 33.647 9.639 1.00 0.00 C +ATOM 525 HA LYS A 33 40.570 33.948 9.078 1.00 0.00 H +ATOM 526 C LYS A 33 39.515 34.805 10.640 1.00 0.00 C +ATOM 527 O LYS A 33 39.691 35.958 10.249 1.00 0.00 O +ATOM 528 CB LYS A 33 38.571 33.592 8.576 1.00 0.00 C +ATOM 529 HB2 LYS A 33 38.540 34.566 8.088 1.00 0.00 H +ATOM 530 HB3 LYS A 33 38.856 32.859 7.821 1.00 0.00 H +ATOM 531 CG LYS A 33 37.157 33.256 9.086 1.00 0.00 C +ATOM 532 HG2 LYS A 33 36.965 33.802 10.010 1.00 0.00 H +ATOM 533 HG3 LYS A 33 37.092 32.189 9.299 1.00 0.00 H +ATOM 534 CD LYS A 33 36.064 33.642 8.067 1.00 0.00 C +ATOM 535 HD2 LYS A 33 36.093 34.722 7.921 1.00 0.00 H +ATOM 536 HD3 LYS A 33 35.090 33.390 8.486 1.00 0.00 H +ATOM 537 CE LYS A 33 36.223 32.940 6.700 1.00 0.00 C +ATOM 538 HE2 LYS A 33 36.140 31.863 6.847 1.00 0.00 H +ATOM 539 HE3 LYS A 33 37.220 33.140 6.309 1.00 0.00 H +ATOM 540 NZ LYS A 33 35.201 33.404 5.703 1.00 0.00 N +ATOM 541 HZ1 LYS A 33 34.258 33.225 6.017 1.00 0.00 H +ATOM 542 HZ2 LYS A 33 35.315 32.930 4.819 1.00 0.00 H +ATOM 543 HZ3 LYS A 33 35.282 34.393 5.512 1.00 0.00 H +ATOM 544 N GLU A 34 39.231 34.531 11.916 1.00 0.00 N +ATOM 545 H GLU A 34 39.043 33.571 12.165 1.00 0.00 H +ATOM 546 CA GLU A 34 39.105 35.547 12.985 1.00 0.00 C +ATOM 547 HA GLU A 34 39.269 36.538 12.561 1.00 0.00 H +ATOM 548 C GLU A 34 40.164 35.421 14.104 1.00 0.00 C +ATOM 549 O GLU A 34 40.271 36.313 14.946 1.00 0.00 O +ATOM 550 CB GLU A 34 37.679 35.534 13.570 1.00 0.00 C +ATOM 551 HB2 GLU A 34 37.649 36.149 14.469 1.00 0.00 H +ATOM 552 HB3 GLU A 34 37.418 34.519 13.870 1.00 0.00 H +ATOM 553 CG GLU A 34 36.608 36.058 12.600 1.00 0.00 C +ATOM 554 HG2 GLU A 34 35.637 35.953 13.084 1.00 0.00 H +ATOM 555 HG3 GLU A 34 36.593 35.424 11.714 1.00 0.00 H +ATOM 556 CD GLU A 34 36.807 37.541 12.195 1.00 0.00 C +ATOM 557 OE1 GLU A 34 37.218 38.376 13.037 1.00 0.00 O +ATOM 558 OE2 GLU A 34 36.505 37.900 11.031 1.00 0.00 O +ATOM 559 N GLY A 35 40.969 34.349 14.127 1.00 0.00 N +ATOM 560 H GLY A 35 40.869 33.649 13.406 1.00 0.00 H +ATOM 561 CA GLY A 35 42.100 34.189 15.059 1.00 0.00 C +ATOM 562 HA2 GLY A 35 42.763 33.409 14.684 1.00 0.00 H +ATOM 563 HA3 GLY A 35 42.670 35.118 15.077 1.00 0.00 H +ATOM 564 C GLY A 35 41.736 33.837 16.511 1.00 0.00 C +ATOM 565 O GLY A 35 42.629 33.762 17.355 1.00 0.00 O +ATOM 566 N ILE A 36 40.449 33.625 16.825 1.00 0.00 N +ATOM 567 H ILE A 36 39.772 33.683 16.078 1.00 0.00 H +ATOM 568 CA ILE A 36 39.962 33.436 18.207 1.00 0.00 C +ATOM 569 HA ILE A 36 40.480 34.158 18.838 1.00 0.00 H +ATOM 570 C ILE A 36 40.274 32.005 18.681 1.00 0.00 C +ATOM 571 O ILE A 36 39.855 31.064 18.006 1.00 0.00 O +ATOM 572 CB ILE A 36 38.441 33.732 18.328 1.00 0.00 C +ATOM 573 HB ILE A 36 37.899 32.920 17.843 1.00 0.00 H +ATOM 574 CG1 ILE A 36 38.016 35.054 17.642 1.00 0.00 C +ATOM 575 HG12 ILE A 36 38.432 35.900 18.188 1.00 0.00 H +ATOM 576 HG13 ILE A 36 38.408 35.087 16.625 1.00 0.00 H +ATOM 577 CG2 ILE A 36 38.044 33.775 19.824 1.00 0.00 C +ATOM 578 HG21 ILE A 36 38.329 32.859 20.342 1.00 0.00 H +ATOM 579 HG22 ILE A 36 36.966 33.890 19.937 1.00 0.00 H +ATOM 580 HG23 ILE A 36 38.531 34.616 20.317 1.00 0.00 H +ATOM 581 CD1 ILE A 36 36.496 35.229 17.516 1.00 0.00 C +ATOM 582 HD11 ILE A 36 36.031 35.317 18.498 1.00 0.00 H +ATOM 583 HD12 ILE A 36 36.066 34.380 16.985 1.00 0.00 H +ATOM 584 HD13 ILE A 36 36.286 36.137 16.951 1.00 0.00 H +ATOM 585 N PRO A 37 40.910 31.779 19.848 1.00 0.00 N +ATOM 586 CA PRO A 37 41.162 30.426 20.363 1.00 0.00 C +ATOM 587 HA PRO A 37 41.773 29.898 19.631 1.00 0.00 H +ATOM 588 C PRO A 37 39.871 29.651 20.671 1.00 0.00 C +ATOM 589 O PRO A 37 38.994 30.211 21.325 1.00 0.00 O +ATOM 590 CB PRO A 37 41.999 30.620 21.637 1.00 0.00 C +ATOM 591 HB2 PRO A 37 41.353 30.704 22.510 1.00 0.00 H +ATOM 592 HB3 PRO A 37 42.720 29.814 21.775 1.00 0.00 H +ATOM 593 CG PRO A 37 42.694 31.959 21.403 1.00 0.00 C +ATOM 594 HG2 PRO A 37 42.981 32.438 22.339 1.00 0.00 H +ATOM 595 HG3 PRO A 37 43.563 31.815 20.761 1.00 0.00 H +ATOM 596 CD PRO A 37 41.630 32.758 20.654 1.00 0.00 C +ATOM 597 HD2 PRO A 37 40.942 33.224 21.360 1.00 0.00 H +ATOM 598 HD3 PRO A 37 42.118 33.519 20.044 1.00 0.00 H +ATOM 599 N PRO A 38 39.726 28.365 20.293 1.00 0.00 N +ATOM 600 CA PRO A 38 38.515 27.565 20.549 1.00 0.00 C +ATOM 601 HA PRO A 38 37.698 27.988 19.965 1.00 0.00 H +ATOM 602 C PRO A 38 38.057 27.492 22.015 1.00 0.00 C +ATOM 603 O PRO A 38 36.858 27.405 22.266 1.00 0.00 O +ATOM 604 CB PRO A 38 38.844 26.169 20.001 1.00 0.00 C +ATOM 605 HB2 PRO A 38 39.379 25.584 20.749 1.00 0.00 H +ATOM 606 HB3 PRO A 38 37.957 25.632 19.667 1.00 0.00 H +ATOM 607 CG PRO A 38 39.784 26.475 18.838 1.00 0.00 C +ATOM 608 HG2 PRO A 38 40.409 25.619 18.581 1.00 0.00 H +ATOM 609 HG3 PRO A 38 39.210 26.807 17.973 1.00 0.00 H +ATOM 610 CD PRO A 38 40.610 27.637 19.385 1.00 0.00 C +ATOM 611 HD2 PRO A 38 41.472 27.254 19.931 1.00 0.00 H +ATOM 612 HD3 PRO A 38 40.933 28.263 18.554 1.00 0.00 H +ATOM 613 N ASP A 39 38.982 27.606 22.975 1.00 0.00 N +ATOM 614 H ASP A 39 39.955 27.580 22.706 1.00 0.00 H +ATOM 615 CA ASP A 39 38.672 27.701 24.416 1.00 0.00 C +ATOM 616 HA ASP A 39 37.976 26.908 24.690 1.00 0.00 H +ATOM 617 C ASP A 39 38.024 29.042 24.802 1.00 0.00 C +ATOM 618 O ASP A 39 37.140 29.084 25.656 1.00 0.00 O +ATOM 619 CB ASP A 39 39.977 27.491 25.200 1.00 0.00 C +ATOM 620 HB2 ASP A 39 40.699 28.243 24.881 1.00 0.00 H +ATOM 621 HB3 ASP A 39 40.385 26.514 24.942 1.00 0.00 H +ATOM 622 CG ASP A 39 39.787 27.570 26.729 1.00 0.00 C +ATOM 623 OD1 ASP A 39 40.364 28.494 27.354 1.00 0.00 O +ATOM 624 OD2 ASP A 39 39.111 26.682 27.304 1.00 0.00 O +ATOM 625 N GLN A 40 38.400 30.140 24.132 1.00 0.00 N +ATOM 626 H GLN A 40 39.085 30.048 23.395 1.00 0.00 H +ATOM 627 CA GLN A 40 37.797 31.464 24.355 1.00 0.00 C +ATOM 628 HA GLN A 40 37.490 31.529 25.399 1.00 0.00 H +ATOM 629 C GLN A 40 36.511 31.679 23.542 1.00 0.00 C +ATOM 630 O GLN A 40 35.729 32.558 23.885 1.00 0.00 O +ATOM 631 CB GLN A 40 38.844 32.577 24.146 1.00 0.00 C +ATOM 632 HB2 GLN A 40 39.237 32.532 23.131 1.00 0.00 H +ATOM 633 HB3 GLN A 40 38.355 33.542 24.281 1.00 0.00 H +ATOM 634 CG GLN A 40 40.001 32.454 25.164 1.00 0.00 C +ATOM 635 HG2 GLN A 40 39.605 32.091 26.112 1.00 0.00 H +ATOM 636 HG3 GLN A 40 40.723 31.724 24.801 1.00 0.00 H +ATOM 637 CD GLN A 40 40.728 33.772 25.451 1.00 0.00 C +ATOM 638 OE1 GLN A 40 40.875 34.196 26.591 1.00 0.00 O +ATOM 639 NE2 GLN A 40 41.246 34.462 24.455 1.00 0.00 N +ATOM 640 HE21 GLN A 40 41.165 34.155 23.496 1.00 0.00 H +ATOM 641 HE22 GLN A 40 41.736 35.314 24.686 1.00 0.00 H +ATOM 642 N GLN A 41 36.233 30.857 22.518 1.00 0.00 N +ATOM 643 H GLN A 41 36.923 30.163 22.269 1.00 0.00 H +ATOM 644 CA GLN A 41 34.969 30.899 21.759 1.00 0.00 C +ATOM 645 HA GLN A 41 34.710 31.941 21.572 1.00 0.00 H +ATOM 646 C GLN A 41 33.795 30.243 22.509 1.00 0.00 C +ATOM 647 O GLN A 41 33.895 29.103 22.960 1.00 0.00 O +ATOM 648 CB GLN A 41 35.134 30.191 20.399 1.00 0.00 C +ATOM 649 HB2 GLN A 41 35.462 29.166 20.575 1.00 0.00 H +ATOM 650 HB3 GLN A 41 34.157 30.152 19.919 1.00 0.00 H +ATOM 651 CG GLN A 41 36.120 30.863 19.426 1.00 0.00 C +ATOM 652 HG2 GLN A 41 37.113 30.894 19.874 1.00 0.00 H +ATOM 653 HG3 GLN A 41 35.792 31.881 19.217 1.00 0.00 H +ATOM 654 CD GLN A 41 36.195 30.110 18.105 1.00 0.00 C +ATOM 655 OE1 GLN A 41 35.191 29.705 17.556 1.00 0.00 O +ATOM 656 NE2 GLN A 41 37.357 29.864 17.541 1.00 0.00 N +ATOM 657 HE21 GLN A 41 37.356 29.309 16.697 1.00 0.00 H +ATOM 658 HE22 GLN A 41 38.227 30.232 17.901 1.00 0.00 H +ATOM 659 N ARG A 42 32.629 30.899 22.526 1.00 0.00 N +ATOM 660 H ARG A 42 32.633 31.863 22.226 1.00 0.00 H +ATOM 661 CA ARG A 42 31.311 30.342 22.916 1.00 0.00 C +ATOM 662 HA ARG A 42 31.393 29.266 23.069 1.00 0.00 H +ATOM 663 C ARG A 42 30.329 30.582 21.763 1.00 0.00 C +ATOM 664 O ARG A 42 30.325 31.669 21.202 1.00 0.00 O +ATOM 665 CB ARG A 42 30.902 31.010 24.253 1.00 0.00 C +ATOM 666 HB2 ARG A 42 31.590 30.668 25.026 1.00 0.00 H +ATOM 667 HB3 ARG A 42 31.047 32.087 24.166 1.00 0.00 H +ATOM 668 CG ARG A 42 29.457 30.769 24.732 1.00 0.00 C +ATOM 669 HG2 ARG A 42 29.265 29.699 24.817 1.00 0.00 H +ATOM 670 HG3 ARG A 42 28.763 31.201 24.011 1.00 0.00 H +ATOM 671 CD ARG A 42 29.233 31.439 26.100 1.00 0.00 C +ATOM 672 HD2 ARG A 42 29.674 32.435 26.083 1.00 0.00 H +ATOM 673 HD3 ARG A 42 29.744 30.851 26.863 1.00 0.00 H +ATOM 674 NE ARG A 42 27.793 31.563 26.440 1.00 0.00 N +ATOM 675 HE ARG A 42 27.117 31.217 25.775 1.00 0.00 H +ATOM 676 CZ ARG A 42 27.302 32.117 27.546 1.00 0.00 C +ATOM 677 NH1 ARG A 42 28.072 32.589 28.491 1.00 0.00 N +ATOM 678 HH11 ARG A 42 29.077 32.526 28.413 1.00 0.00 H +ATOM 679 HH12 ARG A 42 27.667 33.002 29.319 1.00 0.00 H +ATOM 680 NH2 ARG A 42 26.011 32.212 27.727 1.00 0.00 N +ATOM 681 HH21 ARG A 42 25.357 31.886 27.029 1.00 0.00 H +ATOM 682 HH22 ARG A 42 25.650 32.632 28.571 1.00 0.00 H +ATOM 683 N LEU A 43 29.511 29.595 21.395 1.00 0.00 N +ATOM 684 H LEU A 43 29.515 28.737 21.927 1.00 0.00 H +ATOM 685 CA LEU A 43 28.593 29.674 20.240 1.00 0.00 C +ATOM 686 HA LEU A 43 28.588 30.693 19.852 1.00 0.00 H +ATOM 687 C LEU A 43 27.153 29.353 20.649 1.00 0.00 C +ATOM 688 O LEU A 43 26.933 28.517 21.520 1.00 0.00 O +ATOM 689 CB LEU A 43 29.077 28.715 19.128 1.00 0.00 C +ATOM 690 HB2 LEU A 43 29.329 27.760 19.590 1.00 0.00 H +ATOM 691 HB3 LEU A 43 28.258 28.536 18.431 1.00 0.00 H +ATOM 692 CG LEU A 43 30.285 29.214 18.316 1.00 0.00 C +ATOM 693 HG LEU A 43 31.049 29.599 18.992 1.00 0.00 H +ATOM 694 CD1 LEU A 43 30.886 28.060 17.511 1.00 0.00 C +ATOM 695 HD11 LEU A 43 31.761 28.411 16.963 1.00 0.00 H +ATOM 696 HD12 LEU A 43 31.204 27.266 18.186 1.00 0.00 H +ATOM 697 HD13 LEU A 43 30.154 27.665 16.806 1.00 0.00 H +ATOM 698 CD2 LEU A 43 29.876 30.312 17.330 1.00 0.00 C +ATOM 699 HD21 LEU A 43 29.477 31.174 17.864 1.00 0.00 H +ATOM 700 HD22 LEU A 43 30.748 30.632 16.759 1.00 0.00 H +ATOM 701 HD23 LEU A 43 29.120 29.940 16.638 1.00 0.00 H +ATOM 702 N ILE A 44 26.171 29.999 20.018 1.00 0.00 N +ATOM 703 H ILE A 44 26.433 30.700 19.339 1.00 0.00 H +ATOM 704 CA ILE A 44 24.733 29.868 20.325 1.00 0.00 C +ATOM 705 HA ILE A 44 24.576 28.940 20.875 1.00 0.00 H +ATOM 706 C ILE A 44 23.921 29.792 19.020 1.00 0.00 C +ATOM 707 O ILE A 44 24.193 30.540 18.082 1.00 0.00 O +ATOM 708 CB ILE A 44 24.257 31.053 21.215 1.00 0.00 C +ATOM 709 HB ILE A 44 24.327 31.964 20.620 1.00 0.00 H +ATOM 710 CG1 ILE A 44 25.157 31.248 22.462 1.00 0.00 C +ATOM 711 HG12 ILE A 44 26.180 31.444 22.139 1.00 0.00 H +ATOM 712 HG13 ILE A 44 25.156 30.334 23.056 1.00 0.00 H +ATOM 713 CG2 ILE A 44 22.785 30.878 21.644 1.00 0.00 C +ATOM 714 HG21 ILE A 44 22.683 30.022 22.310 1.00 0.00 H +ATOM 715 HG22 ILE A 44 22.432 31.771 22.161 1.00 0.00 H +ATOM 716 HG23 ILE A 44 22.134 30.745 20.780 1.00 0.00 H +ATOM 717 CD1 ILE A 44 24.766 32.427 23.364 1.00 0.00 C +ATOM 718 HD11 ILE A 44 25.549 32.591 24.105 1.00 0.00 H +ATOM 719 HD12 ILE A 44 24.655 33.332 22.767 1.00 0.00 H +ATOM 720 HD13 ILE A 44 23.834 32.216 23.889 1.00 0.00 H +ATOM 721 N PHE A 45 22.903 28.927 18.963 1.00 0.00 N +ATOM 722 H PHE A 45 22.751 28.322 19.757 1.00 0.00 H +ATOM 723 CA PHE A 45 21.873 28.900 17.907 1.00 0.00 C +ATOM 724 HA PHE A 45 21.678 29.919 17.571 1.00 0.00 H +ATOM 725 C PHE A 45 20.560 28.328 18.459 1.00 0.00 C +ATOM 726 O PHE A 45 20.589 27.538 19.395 1.00 0.00 O +ATOM 727 CB PHE A 45 22.381 28.080 16.709 1.00 0.00 C +ATOM 728 HB2 PHE A 45 22.703 27.099 17.056 1.00 0.00 H +ATOM 729 HB3 PHE A 45 23.256 28.589 16.305 1.00 0.00 H +ATOM 730 CG PHE A 45 21.386 27.875 15.582 1.00 0.00 C +ATOM 731 CD1 PHE A 45 21.151 28.903 14.651 1.00 0.00 C +ATOM 732 HD1 PHE A 45 21.667 29.847 14.746 1.00 0.00 H +ATOM 733 CD2 PHE A 45 20.695 26.654 15.461 1.00 0.00 C +ATOM 734 HD2 PHE A 45 20.862 25.858 16.172 1.00 0.00 H +ATOM 735 CE1 PHE A 45 20.240 28.708 13.597 1.00 0.00 C +ATOM 736 HE1 PHE A 45 20.052 29.503 12.891 1.00 0.00 H +ATOM 737 CE2 PHE A 45 19.793 26.455 14.400 1.00 0.00 C +ATOM 738 HE2 PHE A 45 19.274 25.513 14.304 1.00 0.00 H +ATOM 739 CZ PHE A 45 19.567 27.480 13.467 1.00 0.00 C +ATOM 740 HZ PHE A 45 18.870 27.327 12.656 1.00 0.00 H +ATOM 741 N ALA A 46 19.404 28.723 17.909 1.00 0.00 N +ATOM 742 H ALA A 46 19.441 29.352 17.119 1.00 0.00 H +ATOM 743 CA ALA A 46 18.072 28.220 18.299 1.00 0.00 C +ATOM 744 HA ALA A 46 17.341 28.927 17.906 1.00 0.00 H +ATOM 745 C ALA A 46 17.820 28.188 19.829 1.00 0.00 C +ATOM 746 O ALA A 46 17.289 27.214 20.367 1.00 0.00 O +ATOM 747 CB ALA A 46 17.819 26.885 17.580 1.00 0.00 C +ATOM 748 HB1 ALA A 46 18.528 26.132 17.926 1.00 0.00 H +ATOM 749 HB2 ALA A 46 16.802 26.544 17.774 1.00 0.00 H +ATOM 750 HB3 ALA A 46 17.938 27.020 16.505 1.00 0.00 H +ATOM 751 N GLY A 47 18.271 29.229 20.545 1.00 0.00 N +ATOM 752 H GLY A 47 18.675 30.008 20.045 1.00 0.00 H +ATOM 753 CA GLY A 47 18.145 29.351 22.008 1.00 0.00 C +ATOM 754 HA2 GLY A 47 17.114 29.139 22.292 1.00 0.00 H +ATOM 755 HA3 GLY A 47 18.364 30.380 22.291 1.00 0.00 H +ATOM 756 C GLY A 47 19.061 28.436 22.843 1.00 0.00 C +ATOM 757 O GLY A 47 18.877 28.360 24.060 1.00 0.00 O +ATOM 758 N LYS A 48 20.027 27.737 22.222 1.00 0.00 N +ATOM 759 H LYS A 48 20.134 27.858 21.225 1.00 0.00 H +ATOM 760 CA LYS A 48 20.894 26.721 22.852 1.00 0.00 C +ATOM 761 HA LYS A 48 20.728 26.718 23.929 1.00 0.00 H +ATOM 762 C LYS A 48 22.377 27.021 22.625 1.00 0.00 C +ATOM 763 O LYS A 48 22.762 27.495 21.559 1.00 0.00 O +ATOM 764 CB LYS A 48 20.521 25.332 22.296 1.00 0.00 C +ATOM 765 HB2 LYS A 48 20.530 25.368 21.207 1.00 0.00 H +ATOM 766 HB3 LYS A 48 21.265 24.603 22.618 1.00 0.00 H +ATOM 767 CG LYS A 48 19.142 24.870 22.800 1.00 0.00 C +ATOM 768 HG2 LYS A 48 19.198 24.755 23.883 1.00 0.00 H +ATOM 769 HG3 LYS A 48 18.387 25.627 22.586 1.00 0.00 H +ATOM 770 CD LYS A 48 18.697 23.528 22.195 1.00 0.00 C +ATOM 771 HD2 LYS A 48 19.517 22.815 22.283 1.00 0.00 H +ATOM 772 HD3 LYS A 48 17.867 23.137 22.783 1.00 0.00 H +ATOM 773 CE LYS A 48 18.264 23.606 20.716 1.00 0.00 C +ATOM 774 HE2 LYS A 48 19.055 24.070 20.128 1.00 0.00 H +ATOM 775 HE3 LYS A 48 18.149 22.585 20.353 1.00 0.00 H +ATOM 776 NZ LYS A 48 16.969 24.339 20.528 1.00 0.00 N +ATOM 777 HZ1 LYS A 48 16.640 24.252 19.577 1.00 0.00 H +ATOM 778 HZ2 LYS A 48 16.240 23.970 21.120 1.00 0.00 H +ATOM 779 HZ3 LYS A 48 17.056 25.328 20.715 1.00 0.00 H +ATOM 780 N GLN A 49 23.224 26.723 23.613 1.00 0.00 N +ATOM 781 H GLN A 49 22.852 26.312 24.457 1.00 0.00 H +ATOM 782 CA GLN A 49 24.686 26.813 23.469 1.00 0.00 C +ATOM 783 HA GLN A 49 24.912 27.694 22.869 1.00 0.00 H +ATOM 784 C GLN A 49 25.228 25.574 22.731 1.00 0.00 C +ATOM 785 O GLN A 49 24.775 24.454 22.975 1.00 0.00 O +ATOM 786 CB GLN A 49 25.342 26.999 24.849 1.00 0.00 C +ATOM 787 HB2 GLN A 49 25.348 26.047 25.379 1.00 0.00 H +ATOM 788 HB3 GLN A 49 24.748 27.708 25.426 1.00 0.00 H +ATOM 789 CG GLN A 49 26.778 27.544 24.742 1.00 0.00 C +ATOM 790 HG2 GLN A 49 27.361 26.909 24.074 1.00 0.00 H +ATOM 791 HG3 GLN A 49 26.749 28.548 24.319 1.00 0.00 H +ATOM 792 CD GLN A 49 27.499 27.600 26.091 1.00 0.00 C +ATOM 793 OE1 GLN A 49 28.558 27.019 26.278 1.00 0.00 O +ATOM 794 NE2 GLN A 49 26.983 28.320 27.068 1.00 0.00 N +ATOM 795 HE21 GLN A 49 27.473 28.330 27.951 1.00 0.00 H +ATOM 796 HE22 GLN A 49 26.081 28.768 26.984 1.00 0.00 H +ATOM 797 N LEU A 50 26.191 25.778 21.828 1.00 0.00 N +ATOM 798 H LEU A 50 26.561 26.712 21.724 1.00 0.00 H +ATOM 799 CA LEU A 50 26.708 24.735 20.934 1.00 0.00 C +ATOM 800 HA LEU A 50 25.974 23.930 20.883 1.00 0.00 H +ATOM 801 C LEU A 50 28.007 24.126 21.488 1.00 0.00 C +ATOM 802 O LEU A 50 28.909 24.855 21.903 1.00 0.00 O +ATOM 803 CB LEU A 50 26.861 25.298 19.506 1.00 0.00 C +ATOM 804 HB2 LEU A 50 27.741 25.941 19.478 1.00 0.00 H +ATOM 805 HB3 LEU A 50 27.032 24.459 18.832 1.00 0.00 H +ATOM 806 CG LEU A 50 25.658 26.103 18.976 1.00 0.00 C +ATOM 807 HG LEU A 50 25.548 27.013 19.565 1.00 0.00 H +ATOM 808 CD1 LEU A 50 25.907 26.506 17.522 1.00 0.00 C +ATOM 809 HD11 LEU A 50 26.865 27.018 17.430 1.00 0.00 H +ATOM 810 HD12 LEU A 50 25.915 25.625 16.881 1.00 0.00 H +ATOM 811 HD13 LEU A 50 25.119 27.183 17.192 1.00 0.00 H +ATOM 812 CD2 LEU A 50 24.348 25.322 19.037 1.00 0.00 C +ATOM 813 HD21 LEU A 50 23.520 25.953 18.714 1.00 0.00 H +ATOM 814 HD22 LEU A 50 24.410 24.446 18.392 1.00 0.00 H +ATOM 815 HD23 LEU A 50 24.128 25.006 20.057 1.00 0.00 H +ATOM 816 N GLU A 51 28.104 22.795 21.493 1.00 0.00 N +ATOM 817 H GLU A 51 27.339 22.257 21.111 1.00 0.00 H +ATOM 818 CA GLU A 51 29.183 22.033 22.139 1.00 0.00 C +ATOM 819 HA GLU A 51 29.781 22.707 22.751 1.00 0.00 H +ATOM 820 C GLU A 51 30.111 21.381 21.108 1.00 0.00 C +ATOM 821 O GLU A 51 29.643 20.732 20.178 1.00 0.00 O +ATOM 822 CB GLU A 51 28.558 20.987 23.078 1.00 0.00 C +ATOM 823 HB2 GLU A 51 27.972 20.278 22.494 1.00 0.00 H +ATOM 824 HB3 GLU A 51 27.888 21.498 23.769 1.00 0.00 H +ATOM 825 CG GLU A 51 29.605 20.217 23.894 1.00 0.00 C +ATOM 826 HG2 GLU A 51 30.241 20.932 24.416 1.00 0.00 H +ATOM 827 HG3 GLU A 51 30.240 19.644 23.218 1.00 0.00 H +ATOM 828 CD GLU A 51 28.932 19.269 24.911 1.00 0.00 C +ATOM 829 OE1 GLU A 51 28.617 19.712 26.043 1.00 0.00 O +ATOM 830 OE2 GLU A 51 28.730 18.071 24.593 1.00 0.00 O +ATOM 831 N ASP A 52 31.429 21.520 21.291 1.00 0.00 N +ATOM 832 H ASP A 52 31.732 22.128 22.038 1.00 0.00 H +ATOM 833 CA ASP A 52 32.474 21.160 20.318 1.00 0.00 C +ATOM 834 HA ASP A 52 32.453 21.905 19.522 1.00 0.00 H +ATOM 835 C ASP A 52 32.305 19.778 19.654 1.00 0.00 C +ATOM 836 O ASP A 52 32.475 19.659 18.441 1.00 0.00 O +ATOM 837 CB ASP A 52 33.871 21.253 20.971 1.00 0.00 C +ATOM 838 HB2 ASP A 52 33.966 20.431 21.680 1.00 0.00 H +ATOM 839 HB3 ASP A 52 34.620 21.102 20.194 1.00 0.00 H +ATOM 840 CG ASP A 52 34.209 22.563 21.716 1.00 0.00 C +ATOM 841 OD1 ASP A 52 33.358 23.478 21.822 1.00 0.00 O +ATOM 842 OD2 ASP A 52 35.360 22.701 22.190 1.00 0.00 O +ATOM 843 N GLY A 53 31.943 18.744 20.424 1.00 0.00 N +ATOM 844 H GLY A 53 31.799 18.911 21.410 1.00 0.00 H +ATOM 845 CA GLY A 53 31.794 17.367 19.926 1.00 0.00 C +ATOM 846 HA2 GLY A 53 31.835 16.686 20.775 1.00 0.00 H +ATOM 847 HA3 GLY A 53 32.634 17.136 19.270 1.00 0.00 H +ATOM 848 C GLY A 53 30.496 17.072 19.154 1.00 0.00 C +ATOM 849 O GLY A 53 30.387 16.004 18.545 1.00 0.00 O +ATOM 850 N ARG A 54 29.514 17.986 19.166 1.00 0.00 N +ATOM 851 H ARG A 54 29.704 18.868 19.619 1.00 0.00 H +ATOM 852 CA ARG A 54 28.233 17.861 18.439 1.00 0.00 C +ATOM 853 HA ARG A 54 27.995 16.803 18.328 1.00 0.00 H +ATOM 854 C ARG A 54 28.351 18.415 17.017 1.00 0.00 C +ATOM 855 O ARG A 54 29.293 19.141 16.706 1.00 0.00 O +ATOM 856 CB ARG A 54 27.116 18.548 19.252 1.00 0.00 C +ATOM 857 HB2 ARG A 54 26.229 18.683 18.633 1.00 0.00 H +ATOM 858 HB3 ARG A 54 27.464 19.539 19.543 1.00 0.00 H +ATOM 859 CG ARG A 54 26.723 17.782 20.531 1.00 0.00 C +ATOM 860 HG2 ARG A 54 26.430 18.508 21.289 1.00 0.00 H +ATOM 861 HG3 ARG A 54 27.579 17.228 20.917 1.00 0.00 H +ATOM 862 CD ARG A 54 25.539 16.823 20.326 1.00 0.00 C +ATOM 863 HD2 ARG A 54 24.653 17.417 20.103 1.00 0.00 H +ATOM 864 HD3 ARG A 54 25.341 16.291 21.256 1.00 0.00 H +ATOM 865 NE ARG A 54 25.760 15.875 19.216 1.00 0.00 N +ATOM 866 HE ARG A 54 25.498 16.185 18.291 1.00 0.00 H +ATOM 867 CZ ARG A 54 26.240 14.644 19.247 1.00 0.00 C +ATOM 868 NH1 ARG A 54 26.642 14.059 20.343 1.00 0.00 N +ATOM 869 HH11 ARG A 54 27.001 13.115 20.316 1.00 0.00 H +ATOM 870 HH12 ARG A 54 26.588 14.544 21.227 1.00 0.00 H +ATOM 871 NH2 ARG A 54 26.324 13.992 18.123 1.00 0.00 N +ATOM 872 HH21 ARG A 54 26.674 13.045 18.092 1.00 0.00 H +ATOM 873 HH22 ARG A 54 26.000 14.450 17.284 1.00 0.00 H +ATOM 874 N THR A 55 27.409 18.072 16.140 1.00 0.00 N +ATOM 875 H THR A 55 26.654 17.477 16.451 1.00 0.00 H +ATOM 876 CA THR A 55 27.419 18.446 14.715 1.00 0.00 C +ATOM 877 HA THR A 55 28.348 18.977 14.506 1.00 0.00 H +ATOM 878 C THR A 55 26.298 19.411 14.342 1.00 0.00 C +ATOM 879 O THR A 55 25.282 19.504 15.032 1.00 0.00 O +ATOM 880 CB THR A 55 27.395 17.220 13.786 1.00 0.00 C +ATOM 881 HB THR A 55 27.471 17.566 12.755 1.00 0.00 H +ATOM 882 OG1 THR A 55 26.197 16.497 13.914 1.00 0.00 O +ATOM 883 HG1 THR A 55 26.047 16.326 14.846 1.00 0.00 H +ATOM 884 CG2 THR A 55 28.560 16.265 14.045 1.00 0.00 C +ATOM 885 HG21 THR A 55 28.516 15.860 15.056 1.00 0.00 H +ATOM 886 HG22 THR A 55 28.519 15.442 13.331 1.00 0.00 H +ATOM 887 HG23 THR A 55 29.501 16.797 13.903 1.00 0.00 H +ATOM 888 N LEU A 56 26.470 20.141 13.237 1.00 0.00 N +ATOM 889 H LEU A 56 27.322 20.009 12.711 1.00 0.00 H +ATOM 890 CA LEU A 56 25.500 21.135 12.761 1.00 0.00 C +ATOM 891 HA LEU A 56 25.383 21.898 13.530 1.00 0.00 H +ATOM 892 C LEU A 56 24.095 20.538 12.541 1.00 0.00 C +ATOM 893 O LEU A 56 23.102 21.188 12.871 1.00 0.00 O +ATOM 894 CB LEU A 56 26.044 21.785 11.472 1.00 0.00 C +ATOM 895 HB2 LEU A 56 25.251 22.378 11.016 1.00 0.00 H +ATOM 896 HB3 LEU A 56 26.305 20.995 10.767 1.00 0.00 H +ATOM 897 CG LEU A 56 27.281 22.683 11.656 1.00 0.00 C +ATOM 898 HG LEU A 56 28.093 22.119 12.115 1.00 0.00 H +ATOM 899 CD1 LEU A 56 27.745 23.197 10.295 1.00 0.00 C +ATOM 900 HD11 LEU A 56 28.000 22.351 9.656 1.00 0.00 H +ATOM 901 HD12 LEU A 56 26.958 23.784 9.822 1.00 0.00 H +ATOM 902 HD13 LEU A 56 28.638 23.810 10.420 1.00 0.00 H +ATOM 903 CD2 LEU A 56 26.964 23.905 12.519 1.00 0.00 C +ATOM 904 HD21 LEU A 56 26.813 23.605 13.556 1.00 0.00 H +ATOM 905 HD22 LEU A 56 26.070 24.398 12.136 1.00 0.00 H +ATOM 906 HD23 LEU A 56 27.787 24.619 12.484 1.00 0.00 H +ATOM 907 N SER A 57 23.992 19.298 12.057 1.00 0.00 N +ATOM 908 H SER A 57 24.832 18.816 11.770 1.00 0.00 H +ATOM 909 CA SER A 57 22.716 18.593 11.880 1.00 0.00 C +ATOM 910 HA SER A 57 22.029 19.271 11.375 1.00 0.00 H +ATOM 911 C SER A 57 22.050 18.180 13.203 1.00 0.00 C +ATOM 912 O SER A 57 20.820 18.186 13.266 1.00 0.00 O +ATOM 913 CB SER A 57 22.896 17.375 10.967 1.00 0.00 C +ATOM 914 HB2 SER A 57 21.929 16.894 10.817 1.00 0.00 H +ATOM 915 HB3 SER A 57 23.276 17.703 9.999 1.00 0.00 H +ATOM 916 OG SER A 57 23.801 16.451 11.538 1.00 0.00 O +ATOM 917 HG SER A 57 23.902 15.703 10.944 1.00 0.00 H +ATOM 918 N ASP A 58 22.806 17.921 14.280 1.00 0.00 N +ATOM 919 H ASP A 58 23.810 17.955 14.177 1.00 0.00 H +ATOM 920 CA ASP A 58 22.236 17.678 15.617 1.00 0.00 C +ATOM 921 HA ASP A 58 21.522 16.859 15.534 1.00 0.00 H +ATOM 922 C ASP A 58 21.473 18.902 16.156 1.00 0.00 C +ATOM 923 O ASP A 58 20.410 18.759 16.765 1.00 0.00 O +ATOM 924 CB ASP A 58 23.308 17.257 16.638 1.00 0.00 C +ATOM 925 HB2 ASP A 58 23.959 18.109 16.833 1.00 0.00 H +ATOM 926 HB3 ASP A 58 22.810 17.019 17.578 1.00 0.00 H +ATOM 927 CG ASP A 58 24.169 16.052 16.230 1.00 0.00 C +ATOM 928 OD1 ASP A 58 23.621 15.003 15.818 1.00 0.00 O +ATOM 929 OD2 ASP A 58 25.406 16.122 16.448 1.00 0.00 O +ATOM 930 N TYR A 59 21.982 20.108 15.872 1.00 0.00 N +ATOM 931 H TYR A 59 22.878 20.136 15.408 1.00 0.00 H +ATOM 932 CA TYR A 59 21.317 21.385 16.159 1.00 0.00 C +ATOM 933 HA TYR A 59 20.730 21.272 17.070 1.00 0.00 H +ATOM 934 C TYR A 59 20.332 21.830 15.058 1.00 0.00 C +ATOM 935 O TYR A 59 19.738 22.904 15.159 1.00 0.00 O +ATOM 936 CB TYR A 59 22.392 22.446 16.425 1.00 0.00 C +ATOM 937 HB2 TYR A 59 23.017 22.538 15.537 1.00 0.00 H +ATOM 938 HB3 TYR A 59 21.914 23.410 16.597 1.00 0.00 H +ATOM 939 CG TYR A 59 23.259 22.137 17.628 1.00 0.00 C +ATOM 940 CD1 TYR A 59 22.696 22.184 18.919 1.00 0.00 C +ATOM 941 HD1 TYR A 59 21.656 22.445 19.047 1.00 0.00 H +ATOM 942 CD2 TYR A 59 24.618 21.806 17.464 1.00 0.00 C +ATOM 943 HD2 TYR A 59 25.051 21.759 16.476 1.00 0.00 H +ATOM 944 CE1 TYR A 59 23.485 21.888 20.047 1.00 0.00 C +ATOM 945 HE1 TYR A 59 23.050 21.920 21.035 1.00 0.00 H +ATOM 946 CE2 TYR A 59 25.413 21.529 18.593 1.00 0.00 C +ATOM 947 HE2 TYR A 59 26.457 21.279 18.476 1.00 0.00 H +ATOM 948 CZ TYR A 59 24.845 21.555 19.883 1.00 0.00 C +ATOM 949 OH TYR A 59 25.615 21.272 20.966 1.00 0.00 O +ATOM 950 HH TYR A 59 25.104 21.261 21.778 1.00 0.00 H +ATOM 951 N ASN A 60 20.163 21.019 14.006 1.00 0.00 N +ATOM 952 H ASN A 60 20.645 20.132 14.032 1.00 0.00 H +ATOM 953 CA ASN A 60 19.371 21.310 12.807 1.00 0.00 C +ATOM 954 HA ASN A 60 19.684 20.572 12.069 1.00 0.00 H +ATOM 955 C ASN A 60 19.699 22.683 12.162 1.00 0.00 C +ATOM 956 O ASN A 60 18.816 23.393 11.679 1.00 0.00 O +ATOM 957 CB ASN A 60 17.878 21.056 13.109 1.00 0.00 C +ATOM 958 HB2 ASN A 60 17.777 20.134 13.681 1.00 0.00 H +ATOM 959 HB3 ASN A 60 17.485 21.876 13.710 1.00 0.00 H +ATOM 960 CG ASN A 60 17.026 20.908 11.854 1.00 0.00 C +ATOM 961 OD1 ASN A 60 16.086 21.653 11.614 1.00 0.00 O +ATOM 962 ND2 ASN A 60 17.317 19.936 11.012 1.00 0.00 N +ATOM 963 HD21 ASN A 60 16.738 19.831 10.191 1.00 0.00 H +ATOM 964 HD22 ASN A 60 18.027 19.249 11.225 1.00 0.00 H +ATOM 965 N ILE A 61 20.986 23.052 12.146 1.00 0.00 N +ATOM 966 H ILE A 61 21.661 22.410 12.537 1.00 0.00 H +ATOM 967 CA ILE A 61 21.511 24.241 11.456 1.00 0.00 C +ATOM 968 HA ILE A 61 20.855 25.085 11.667 1.00 0.00 H +ATOM 969 C ILE A 61 21.485 23.994 9.935 1.00 0.00 C +ATOM 970 O ILE A 61 21.799 22.893 9.476 1.00 0.00 O +ATOM 971 CB ILE A 61 22.919 24.584 12.001 1.00 0.00 C +ATOM 972 HB ILE A 61 23.536 23.687 11.945 1.00 0.00 H +ATOM 973 CG1 ILE A 61 22.823 25.039 13.477 1.00 0.00 C +ATOM 974 HG12 ILE A 61 22.081 24.441 14.006 1.00 0.00 H +ATOM 975 HG13 ILE A 61 22.490 26.077 13.503 1.00 0.00 H +ATOM 976 CG2 ILE A 61 23.591 25.694 11.171 1.00 0.00 C +ATOM 977 HG21 ILE A 61 23.748 25.369 10.143 1.00 0.00 H +ATOM 978 HG22 ILE A 61 22.965 26.586 11.181 1.00 0.00 H +ATOM 979 HG23 ILE A 61 24.566 25.954 11.584 1.00 0.00 H +ATOM 980 CD1 ILE A 61 24.127 24.924 14.275 1.00 0.00 C +ATOM 981 HD11 ILE A 61 24.904 25.559 13.849 1.00 0.00 H +ATOM 982 HD12 ILE A 61 23.944 25.238 15.303 1.00 0.00 H +ATOM 983 HD13 ILE A 61 24.468 23.889 14.279 1.00 0.00 H +ATOM 984 N GLN A 62 21.110 25.010 9.151 1.00 0.00 N +ATOM 985 H GLN A 62 20.932 25.911 9.572 1.00 0.00 H +ATOM 986 CA GLN A 62 20.859 24.914 7.706 1.00 0.00 C +ATOM 987 HA GLN A 62 21.148 23.926 7.347 1.00 0.00 H +ATOM 988 C GLN A 62 21.680 25.941 6.907 1.00 0.00 C +ATOM 989 O GLN A 62 22.363 26.797 7.473 1.00 0.00 O +ATOM 990 CB GLN A 62 19.350 25.100 7.435 1.00 0.00 C +ATOM 991 HB2 GLN A 62 19.166 24.993 6.366 1.00 0.00 H +ATOM 992 HB3 GLN A 62 19.055 26.108 7.728 1.00 0.00 H +ATOM 993 CG GLN A 62 18.457 24.090 8.173 1.00 0.00 C +ATOM 994 HG2 GLN A 62 18.502 24.283 9.245 1.00 0.00 H +ATOM 995 HG3 GLN A 62 18.818 23.079 7.987 1.00 0.00 H +ATOM 996 CD GLN A 62 16.999 24.196 7.726 1.00 0.00 C +ATOM 997 OE1 GLN A 62 16.197 24.939 8.282 1.00 0.00 O +ATOM 998 NE2 GLN A 62 16.600 23.481 6.692 1.00 0.00 N +ATOM 999 HE21 GLN A 62 15.637 23.560 6.399 1.00 0.00 H +ATOM 1000 HE22 GLN A 62 17.233 22.855 6.215 1.00 0.00 H +ATOM 1001 N LYS A 63 21.600 25.883 5.570 1.00 0.00 N +ATOM 1002 H LYS A 63 21.058 25.143 5.147 1.00 0.00 H +ATOM 1003 CA LYS A 63 22.174 26.924 4.700 1.00 0.00 C +ATOM 1004 HA LYS A 63 23.244 26.964 4.906 1.00 0.00 H +ATOM 1005 C LYS A 63 21.596 28.313 5.044 1.00 0.00 C +ATOM 1006 O LYS A 63 20.412 28.442 5.361 1.00 0.00 O +ATOM 1007 CB LYS A 63 21.998 26.546 3.216 1.00 0.00 C +ATOM 1008 HB2 LYS A 63 22.330 25.518 3.068 1.00 0.00 H +ATOM 1009 HB3 LYS A 63 22.642 27.193 2.620 1.00 0.00 H +ATOM 1010 CG LYS A 63 20.554 26.686 2.704 1.00 0.00 C +ATOM 1011 HG2 LYS A 63 19.886 26.071 3.307 1.00 0.00 H +ATOM 1012 HG3 LYS A 63 20.242 27.726 2.802 1.00 0.00 H +ATOM 1013 CD LYS A 63 20.426 26.266 1.231 1.00 0.00 C +ATOM 1014 HD2 LYS A 63 21.250 26.674 0.645 1.00 0.00 H +ATOM 1015 HD3 LYS A 63 20.473 25.179 1.175 1.00 0.00 H +ATOM 1016 CE LYS A 63 19.088 26.743 0.640 1.00 0.00 C +ATOM 1017 HE2 LYS A 63 18.308 26.622 1.391 1.00 0.00 H +ATOM 1018 HE3 LYS A 63 18.831 26.102 -0.203 1.00 0.00 H +ATOM 1019 NZ LYS A 63 19.151 28.164 0.177 1.00 0.00 N +ATOM 1020 HZ1 LYS A 63 19.525 28.784 0.881 1.00 0.00 H +ATOM 1021 HZ2 LYS A 63 18.238 28.509 -0.082 1.00 0.00 H +ATOM 1022 HZ3 LYS A 63 19.747 28.262 -0.633 1.00 0.00 H +ATOM 1023 N GLU A 64 22.446 29.337 5.006 1.00 0.00 N +ATOM 1024 H GLU A 64 23.398 29.128 4.741 1.00 0.00 H +ATOM 1025 CA GLU A 64 22.143 30.715 5.424 1.00 0.00 C +ATOM 1026 HA GLU A 64 23.092 31.250 5.396 1.00 0.00 H +ATOM 1027 C GLU A 64 21.663 30.889 6.894 1.00 0.00 C +ATOM 1028 O GLU A 64 21.235 31.986 7.265 1.00 0.00 O +ATOM 1029 CB GLU A 64 21.223 31.431 4.405 1.00 0.00 C +ATOM 1030 HB2 GLU A 64 21.006 32.430 4.783 1.00 0.00 H +ATOM 1031 HB3 GLU A 64 20.268 30.911 4.326 1.00 0.00 H +ATOM 1032 CG GLU A 64 21.833 31.625 3.008 1.00 0.00 C +ATOM 1033 HG2 GLU A 64 22.884 31.893 3.111 1.00 0.00 H +ATOM 1034 HG3 GLU A 64 21.337 32.477 2.542 1.00 0.00 H +ATOM 1035 CD GLU A 64 21.663 30.401 2.080 1.00 0.00 C +ATOM 1036 OE1 GLU A 64 20.510 30.094 1.680 1.00 0.00 O +ATOM 1037 OE2 GLU A 64 22.683 29.778 1.697 1.00 0.00 O +ATOM 1038 N SER A 65 21.768 29.871 7.765 1.00 0.00 N +ATOM 1039 H SER A 65 22.050 28.959 7.436 1.00 0.00 H +ATOM 1040 CA SER A 65 21.591 30.049 9.217 1.00 0.00 C +ATOM 1041 HA SER A 65 20.630 30.532 9.396 1.00 0.00 H +ATOM 1042 C SER A 65 22.698 30.934 9.812 1.00 0.00 C +ATOM 1043 O SER A 65 23.857 30.836 9.403 1.00 0.00 O +ATOM 1044 CB SER A 65 21.600 28.701 9.949 1.00 0.00 C +ATOM 1045 HB2 SER A 65 22.511 28.166 9.683 1.00 0.00 H +ATOM 1046 HB3 SER A 65 21.610 28.874 11.025 1.00 0.00 H +ATOM 1047 OG SER A 65 20.475 27.896 9.629 1.00 0.00 O +ATOM 1048 HG SER A 65 19.664 28.379 9.807 1.00 0.00 H +ATOM 1049 N THR A 66 22.364 31.744 10.825 1.00 0.00 N +ATOM 1050 H THR A 66 21.395 31.799 11.103 1.00 0.00 H +ATOM 1051 CA THR A 66 23.329 32.594 11.555 1.00 0.00 C +ATOM 1052 HA THR A 66 24.288 32.567 11.038 1.00 0.00 H +ATOM 1053 C THR A 66 23.537 32.083 12.980 1.00 0.00 C +ATOM 1054 O THR A 66 22.584 32.010 13.755 1.00 0.00 O +ATOM 1055 CB THR A 66 22.888 34.068 11.590 1.00 0.00 C +ATOM 1056 HB THR A 66 21.955 34.156 12.146 1.00 0.00 H +ATOM 1057 OG1 THR A 66 22.681 34.530 10.273 1.00 0.00 O +ATOM 1058 HG1 THR A 66 22.212 35.367 10.313 1.00 0.00 H +ATOM 1059 CG2 THR A 66 23.944 34.982 12.222 1.00 0.00 C +ATOM 1060 HG21 THR A 66 24.058 34.747 13.281 1.00 0.00 H +ATOM 1061 HG22 THR A 66 24.904 34.856 11.721 1.00 0.00 H +ATOM 1062 HG23 THR A 66 23.629 36.022 12.139 1.00 0.00 H +ATOM 1063 N LEU A 67 24.782 31.762 13.344 1.00 0.00 N +ATOM 1064 H LEU A 67 25.512 31.842 12.651 1.00 0.00 H +ATOM 1065 CA LEU A 67 25.171 31.446 14.726 1.00 0.00 C +ATOM 1066 HA LEU A 67 24.310 31.035 15.252 1.00 0.00 H +ATOM 1067 C LEU A 67 25.593 32.728 15.455 1.00 0.00 C +ATOM 1068 O LEU A 67 26.140 33.638 14.836 1.00 0.00 O +ATOM 1069 CB LEU A 67 26.298 30.391 14.768 1.00 0.00 C +ATOM 1070 HB2 LEU A 67 26.334 29.980 15.777 1.00 0.00 H +ATOM 1071 HB3 LEU A 67 27.247 30.897 14.591 1.00 0.00 H +ATOM 1072 CG LEU A 67 26.195 29.228 13.764 1.00 0.00 C +ATOM 1073 HG LEU A 67 26.274 29.624 12.752 1.00 0.00 H +ATOM 1074 CD1 LEU A 67 27.352 28.251 13.990 1.00 0.00 C +ATOM 1075 HD11 LEU A 67 27.281 27.421 13.287 1.00 0.00 H +ATOM 1076 HD12 LEU A 67 28.302 28.761 13.832 1.00 0.00 H +ATOM 1077 HD13 LEU A 67 27.322 27.854 15.005 1.00 0.00 H +ATOM 1078 CD2 LEU A 67 24.887 28.451 13.880 1.00 0.00 C +ATOM 1079 HD21 LEU A 67 24.030 29.119 13.793 1.00 0.00 H +ATOM 1080 HD22 LEU A 67 24.847 27.920 14.831 1.00 0.00 H +ATOM 1081 HD23 LEU A 67 24.830 27.733 13.061 1.00 0.00 H +ATOM 1082 N HIS A 68 25.408 32.791 16.770 1.00 0.00 N +ATOM 1083 H HIS A 68 24.984 32.002 17.238 1.00 0.00 H +ATOM 1084 CA HIS A 68 25.867 33.914 17.596 1.00 0.00 C +ATOM 1085 HA HIS A 68 26.151 34.746 16.951 1.00 0.00 H +ATOM 1086 C HIS A 68 27.114 33.517 18.391 1.00 0.00 C +ATOM 1087 O HIS A 68 27.204 32.391 18.874 1.00 0.00 O +ATOM 1088 CB HIS A 68 24.715 34.416 18.476 1.00 0.00 C +ATOM 1089 HB2 HIS A 68 25.105 35.133 19.198 1.00 0.00 H +ATOM 1090 HB3 HIS A 68 24.284 33.580 19.027 1.00 0.00 H +ATOM 1091 CG HIS A 68 23.624 35.088 17.676 1.00 0.00 C +ATOM 1092 ND1 HIS A 68 23.373 36.443 17.616 1.00 0.00 N +ATOM 1093 HD1 HIS A 68 23.852 37.169 18.130 1.00 0.00 H +ATOM 1094 CD2 HIS A 68 22.715 34.477 16.852 1.00 0.00 C +ATOM 1095 HD2 HIS A 68 22.644 33.415 16.667 1.00 0.00 H +ATOM 1096 CE1 HIS A 68 22.337 36.638 16.781 1.00 0.00 C +ATOM 1097 HE1 HIS A 68 21.907 37.600 16.546 1.00 0.00 H +ATOM 1098 NE2 HIS A 68 21.903 35.466 16.286 1.00 0.00 N +ATOM 1099 N LEU A 69 28.082 34.426 18.509 1.00 0.00 N +ATOM 1100 H LEU A 69 27.937 35.319 18.059 1.00 0.00 H +ATOM 1101 CA LEU A 69 29.419 34.182 19.061 1.00 0.00 C +ATOM 1102 HA LEU A 69 29.478 33.147 19.397 1.00 0.00 H +ATOM 1103 C LEU A 69 29.667 35.110 20.260 1.00 0.00 C +ATOM 1104 O LEU A 69 29.603 36.333 20.140 1.00 0.00 O +ATOM 1105 CB LEU A 69 30.448 34.386 17.925 1.00 0.00 C +ATOM 1106 HB2 LEU A 69 30.647 35.452 17.815 1.00 0.00 H +ATOM 1107 HB3 LEU A 69 29.982 34.051 16.998 1.00 0.00 H +ATOM 1108 CG LEU A 69 31.786 33.629 18.033 1.00 0.00 C +ATOM 1109 HG LEU A 69 31.599 32.558 17.949 1.00 0.00 H +ATOM 1110 CD1 LEU A 69 32.701 34.056 16.885 1.00 0.00 C +ATOM 1111 HD11 LEU A 69 32.213 33.883 15.926 1.00 0.00 H +ATOM 1112 HD12 LEU A 69 33.621 33.473 16.918 1.00 0.00 H +ATOM 1113 HD13 LEU A 69 32.955 35.113 16.976 1.00 0.00 H +ATOM 1114 CD2 LEU A 69 32.540 33.884 19.333 1.00 0.00 C +ATOM 1115 HD21 LEU A 69 32.040 33.369 20.153 1.00 0.00 H +ATOM 1116 HD22 LEU A 69 32.586 34.956 19.528 1.00 0.00 H +ATOM 1117 HD23 LEU A 69 33.553 33.486 19.268 1.00 0.00 H +ATOM 1118 N VAL A 70 29.989 34.508 21.405 1.00 0.00 N +ATOM 1119 H VAL A 70 30.067 33.501 21.388 1.00 0.00 H +ATOM 1120 CA VAL A 70 30.344 35.171 22.672 1.00 0.00 C +ATOM 1121 HA VAL A 70 30.305 36.253 22.549 1.00 0.00 H +ATOM 1122 C VAL A 70 31.781 34.781 23.024 1.00 0.00 C +ATOM 1123 O VAL A 70 32.210 33.687 22.672 1.00 0.00 O +ATOM 1124 CB VAL A 70 29.331 34.758 23.766 1.00 0.00 C +ATOM 1125 HB VAL A 70 29.360 33.674 23.872 1.00 0.00 H +ATOM 1126 CG1 VAL A 70 29.627 35.372 25.139 1.00 0.00 C +ATOM 1127 HG11 VAL A 70 28.833 35.116 25.840 1.00 0.00 H +ATOM 1128 HG12 VAL A 70 30.561 34.978 25.541 1.00 0.00 H +ATOM 1129 HG13 VAL A 70 29.697 36.458 25.067 1.00 0.00 H +ATOM 1130 CG2 VAL A 70 27.899 35.137 23.367 1.00 0.00 C +ATOM 1131 HG21 VAL A 70 27.831 36.207 23.169 1.00 0.00 H +ATOM 1132 HG22 VAL A 70 27.598 34.590 22.473 1.00 0.00 H +ATOM 1133 HG23 VAL A 70 27.206 34.875 24.167 1.00 0.00 H +ATOM 1134 N LEU A 71 32.542 35.634 23.710 1.00 0.00 N +ATOM 1135 H LEU A 71 32.156 36.523 23.992 1.00 0.00 H +ATOM 1136 CA LEU A 71 33.883 35.278 24.205 1.00 0.00 C +ATOM 1137 HA LEU A 71 34.200 34.346 23.737 1.00 0.00 H +ATOM 1138 C LEU A 71 33.880 35.038 25.725 1.00 0.00 C +ATOM 1139 O LEU A 71 33.203 35.749 26.471 1.00 0.00 O +ATOM 1140 CB LEU A 71 34.919 36.361 23.833 1.00 0.00 C +ATOM 1141 HB2 LEU A 71 34.461 37.348 23.908 1.00 0.00 H +ATOM 1142 HB3 LEU A 71 35.722 36.322 24.568 1.00 0.00 H +ATOM 1143 CG LEU A 71 35.581 36.196 22.453 1.00 0.00 C +ATOM 1144 HG LEU A 71 36.078 35.227 22.413 1.00 0.00 H +ATOM 1145 CD1 LEU A 71 34.580 36.281 21.305 1.00 0.00 C +ATOM 1146 HD11 LEU A 71 33.942 35.397 21.323 1.00 0.00 H +ATOM 1147 HD12 LEU A 71 35.108 36.305 20.351 1.00 0.00 H +ATOM 1148 HD13 LEU A 71 33.973 37.181 21.399 1.00 0.00 H +ATOM 1149 CD2 LEU A 71 36.635 37.283 22.254 1.00 0.00 C +ATOM 1150 HD21 LEU A 71 37.380 37.226 23.047 1.00 0.00 H +ATOM 1151 HD22 LEU A 71 36.167 38.267 22.269 1.00 0.00 H +ATOM 1152 HD23 LEU A 71 37.138 37.139 21.297 1.00 0.00 H +ATOM 1153 N ARG A 72 34.723 34.100 26.180 1.00 0.00 N +ATOM 1154 H ARG A 72 35.210 33.552 25.486 1.00 0.00 H +ATOM 1155 CA ARG A 72 35.229 34.036 27.568 1.00 0.00 C +ATOM 1156 HA ARG A 72 34.709 34.788 28.160 1.00 0.00 H +ATOM 1157 C ARG A 72 36.714 34.412 27.576 1.00 0.00 C +ATOM 1158 O ARG A 72 37.453 33.943 26.716 1.00 0.00 O +ATOM 1159 CB ARG A 72 34.919 32.667 28.218 1.00 0.00 C +ATOM 1160 HB2 ARG A 72 33.848 32.480 28.136 1.00 0.00 H +ATOM 1161 HB3 ARG A 72 35.162 32.726 29.278 1.00 0.00 H +ATOM 1162 CG ARG A 72 35.683 31.477 27.610 1.00 0.00 C +ATOM 1163 HG2 ARG A 72 35.454 31.404 26.547 1.00 0.00 H +ATOM 1164 HG3 ARG A 72 36.754 31.644 27.726 1.00 0.00 H +ATOM 1165 CD ARG A 72 35.357 30.140 28.295 1.00 0.00 C +ATOM 1166 HD2 ARG A 72 36.082 29.391 27.977 1.00 0.00 H +ATOM 1167 HD3 ARG A 72 35.479 30.259 29.371 1.00 0.00 H +ATOM 1168 NE ARG A 72 33.986 29.661 28.004 1.00 0.00 N +ATOM 1169 HE ARG A 72 33.317 29.732 28.758 1.00 0.00 H +ATOM 1170 CZ ARG A 72 33.561 29.074 26.895 1.00 0.00 C +ATOM 1171 NH1 ARG A 72 34.343 28.897 25.861 1.00 0.00 N +ATOM 1172 HH11 ARG A 72 35.334 29.075 25.949 1.00 0.00 H +ATOM 1173 HH12 ARG A 72 33.990 28.576 24.971 1.00 0.00 H +ATOM 1174 NH2 ARG A 72 32.324 28.657 26.804 1.00 0.00 N +ATOM 1175 HH21 ARG A 72 32.025 28.102 26.015 1.00 0.00 H +ATOM 1176 HH22 ARG A 72 31.711 28.721 27.604 1.00 0.00 H +ATOM 1177 N LEU A 73 37.148 35.266 28.504 1.00 0.00 N +ATOM 1178 H LEU A 73 36.499 35.581 29.211 1.00 0.00 H +ATOM 1179 CA LEU A 73 38.536 35.756 28.576 1.00 0.00 C +ATOM 1180 HA LEU A 73 39.059 35.492 27.657 1.00 0.00 H +ATOM 1181 C LEU A 73 39.293 35.088 29.734 1.00 0.00 C +ATOM 1182 O LEU A 73 38.799 35.047 30.863 1.00 0.00 O +ATOM 1183 CB LEU A 73 38.562 37.294 28.693 1.00 0.00 C +ATOM 1184 HB2 LEU A 73 39.439 37.579 29.273 1.00 0.00 H +ATOM 1185 HB3 LEU A 73 37.686 37.634 29.245 1.00 0.00 H +ATOM 1186 CG LEU A 73 38.650 38.040 27.347 1.00 0.00 C +ATOM 1187 HG LEU A 73 39.581 37.760 26.854 1.00 0.00 H +ATOM 1188 CD1 LEU A 73 37.490 37.740 26.397 1.00 0.00 C +ATOM 1189 HD11 LEU A 73 37.531 36.696 26.087 1.00 0.00 H +ATOM 1190 HD12 LEU A 73 37.579 38.360 25.504 1.00 0.00 H +ATOM 1191 HD13 LEU A 73 36.539 37.948 26.886 1.00 0.00 H +ATOM 1192 CD2 LEU A 73 38.677 39.544 27.612 1.00 0.00 C +ATOM 1193 HD21 LEU A 73 37.742 39.859 28.076 1.00 0.00 H +ATOM 1194 HD22 LEU A 73 39.507 39.784 28.277 1.00 0.00 H +ATOM 1195 HD23 LEU A 73 38.815 40.081 26.674 1.00 0.00 H +ATOM 1196 N ARG A 74 40.507 34.593 29.453 1.00 0.00 N +ATOM 1197 H ARG A 74 40.793 34.609 28.485 1.00 0.00 H +ATOM 1198 CA ARG A 74 41.363 33.861 30.411 1.00 0.00 C +ATOM 1199 HA ARG A 74 40.770 33.671 31.305 1.00 0.00 H +ATOM 1200 C ARG A 74 42.581 34.661 30.919 1.00 0.00 C +ATOM 1201 O ARG A 74 43.349 34.158 31.739 1.00 0.00 O +ATOM 1202 CB ARG A 74 41.737 32.492 29.796 1.00 0.00 C +ATOM 1203 HB2 ARG A 74 42.739 32.542 29.371 1.00 0.00 H +ATOM 1204 HB3 ARG A 74 41.045 32.248 28.990 1.00 0.00 H +ATOM 1205 CG ARG A 74 41.650 31.363 30.839 1.00 0.00 C +ATOM 1206 HG2 ARG A 74 40.639 31.339 31.244 1.00 0.00 H +ATOM 1207 HG3 ARG A 74 42.346 31.557 31.655 1.00 0.00 H +ATOM 1208 CD ARG A 74 41.950 29.987 30.231 1.00 0.00 C +ATOM 1209 HD2 ARG A 74 41.277 29.822 29.390 1.00 0.00 H +ATOM 1210 HD3 ARG A 74 41.740 29.225 30.981 1.00 0.00 H +ATOM 1211 NE ARG A 74 43.366 29.874 29.822 1.00 0.00 N +ATOM 1212 HE ARG A 74 44.057 30.098 30.523 1.00 0.00 H +ATOM 1213 CZ ARG A 74 43.837 29.501 28.643 1.00 0.00 C +ATOM 1214 NH1 ARG A 74 43.070 29.129 27.654 1.00 0.00 N +ATOM 1215 HH11 ARG A 74 43.471 28.855 26.769 1.00 0.00 H +ATOM 1216 HH12 ARG A 74 42.072 29.045 27.787 1.00 0.00 H +ATOM 1217 NH2 ARG A 74 45.126 29.497 28.435 1.00 0.00 N +ATOM 1218 HH21 ARG A 74 45.503 29.211 27.543 1.00 0.00 H +ATOM 1219 HH22 ARG A 74 45.761 29.777 29.170 1.00 0.00 H +ATOM 1220 N GLY A 75 42.747 35.903 30.454 1.00 0.00 N +ATOM 1221 H GLY A 75 42.079 36.243 29.777 1.00 0.00 H +ATOM 1222 CA GLY A 75 43.817 36.833 30.846 1.00 0.00 C +ATOM 1223 HA2 GLY A 75 43.734 37.052 31.910 1.00 0.00 H +ATOM 1224 HA3 GLY A 75 44.788 36.369 30.673 1.00 0.00 H +ATOM 1225 C GLY A 75 43.767 38.160 30.069 1.00 0.00 C +ATOM 1226 O GLY A 75 42.900 38.349 29.209 1.00 0.00 O +ATOM 1227 N GLY A 76 44.695 39.080 30.369 1.00 0.00 N +ATOM 1228 H GLY A 76 45.369 38.857 31.087 1.00 0.00 H +ATOM 1229 CA GLY A 76 44.828 40.387 29.696 1.00 0.00 C +ATOM 1230 HA2 GLY A 76 43.870 40.907 29.717 1.00 0.00 H +ATOM 1231 HA3 GLY A 76 45.104 40.228 28.654 1.00 0.00 H +ATOM 1232 C GLY A 76 45.884 41.300 30.327 1.00 0.00 C +ATOM 1233 O GLY A 76 45.518 42.405 30.783 1.00 0.00 O +ATOM 1234 OXT GLY A 76 47.070 40.902 30.362 1.00 0.00 O +TER 1235 GLY A 76 +ENDMDL +MODEL 5 +ATOM 5 N MET A 1 28.131 23.829 1.952 1.00 0.00 N +ATOM 6 H MET A 1 28.915 24.147 1.400 1.00 0.00 H +ATOM 7 H2 MET A 1 28.500 23.486 2.827 1.00 0.00 H +ATOM 8 H3 MET A 1 27.706 23.049 1.471 1.00 0.00 H +ATOM 9 CA MET A 1 27.148 24.939 2.176 1.00 0.00 C +ATOM 10 HA MET A 1 26.836 25.298 1.195 1.00 0.00 H +ATOM 11 C MET A 1 27.806 26.129 2.881 1.00 0.00 C +ATOM 12 O MET A 1 28.909 25.990 3.394 1.00 0.00 O +ATOM 13 CB MET A 1 25.867 24.470 2.923 1.00 0.00 C +ATOM 14 HB2 MET A 1 25.139 25.281 2.882 1.00 0.00 H +ATOM 15 HB3 MET A 1 25.428 23.628 2.389 1.00 0.00 H +ATOM 16 CG MET A 1 26.030 24.073 4.403 1.00 0.00 C +ATOM 17 HG2 MET A 1 26.578 24.855 4.930 1.00 0.00 H +ATOM 18 HG3 MET A 1 26.597 23.144 4.464 1.00 0.00 H +ATOM 19 SD MET A 1 24.459 23.815 5.272 1.00 0.00 S +ATOM 20 CE MET A 1 25.056 23.583 6.970 1.00 0.00 C +ATOM 21 HE1 MET A 1 25.540 24.495 7.318 1.00 0.00 H +ATOM 22 HE2 MET A 1 24.212 23.357 7.622 1.00 0.00 H +ATOM 23 HE3 MET A 1 25.768 22.758 7.004 1.00 0.00 H +ATOM 24 N GLN A 2 27.141 27.286 2.966 1.00 0.00 N +ATOM 25 H GLN A 2 26.240 27.381 2.520 1.00 0.00 H +ATOM 26 CA GLN A 2 27.624 28.441 3.746 1.00 0.00 C +ATOM 27 HA GLN A 2 28.599 28.205 4.172 1.00 0.00 H +ATOM 28 C GLN A 2 26.677 28.758 4.911 1.00 0.00 C +ATOM 29 O GLN A 2 25.460 28.688 4.760 1.00 0.00 O +ATOM 30 CB GLN A 2 27.817 29.645 2.804 1.00 0.00 C +ATOM 31 HB2 GLN A 2 28.439 29.331 1.966 1.00 0.00 H +ATOM 32 HB3 GLN A 2 26.847 29.950 2.410 1.00 0.00 H +ATOM 33 CG GLN A 2 28.494 30.851 3.480 1.00 0.00 C +ATOM 34 HG2 GLN A 2 27.875 31.219 4.298 1.00 0.00 H +ATOM 35 HG3 GLN A 2 29.457 30.543 3.887 1.00 0.00 H +ATOM 36 CD GLN A 2 28.721 31.996 2.494 1.00 0.00 C +ATOM 37 OE1 GLN A 2 29.813 32.201 1.981 1.00 0.00 O +ATOM 38 NE2 GLN A 2 27.707 32.783 2.192 1.00 0.00 N +ATOM 39 HE21 GLN A 2 27.863 33.527 1.527 1.00 0.00 H +ATOM 40 HE22 GLN A 2 26.791 32.637 2.591 1.00 0.00 H +ATOM 41 N ILE A 3 27.237 29.148 6.057 1.00 0.00 N +ATOM 42 H ILE A 3 28.245 29.180 6.100 1.00 0.00 H +ATOM 43 CA ILE A 3 26.508 29.703 7.211 1.00 0.00 C +ATOM 44 HA ILE A 3 25.472 29.887 6.927 1.00 0.00 H +ATOM 45 C ILE A 3 27.095 31.062 7.601 1.00 0.00 C +ATOM 46 O ILE A 3 28.192 31.413 7.164 1.00 0.00 O +ATOM 47 CB ILE A 3 26.488 28.712 8.401 1.00 0.00 C +ATOM 48 HB ILE A 3 25.864 29.145 9.183 1.00 0.00 H +ATOM 49 CG1 ILE A 3 27.893 28.474 9.003 1.00 0.00 C +ATOM 50 HG12 ILE A 3 28.528 27.977 8.269 1.00 0.00 H +ATOM 51 HG13 ILE A 3 28.346 29.435 9.247 1.00 0.00 H +ATOM 52 CG2 ILE A 3 25.831 27.391 7.965 1.00 0.00 C +ATOM 53 HG21 ILE A 3 26.483 26.837 7.290 1.00 0.00 H +ATOM 54 HG22 ILE A 3 25.601 26.775 8.834 1.00 0.00 H +ATOM 55 HG23 ILE A 3 24.895 27.606 7.450 1.00 0.00 H +ATOM 56 CD1 ILE A 3 27.873 27.647 10.295 1.00 0.00 C +ATOM 57 HD11 ILE A 3 27.511 26.636 10.107 1.00 0.00 H +ATOM 58 HD12 ILE A 3 28.882 27.584 10.702 1.00 0.00 H +ATOM 59 HD13 ILE A 3 27.225 28.132 11.025 1.00 0.00 H +ATOM 60 N PHE A 4 26.402 31.808 8.455 1.00 0.00 N +ATOM 61 H PHE A 4 25.517 31.460 8.794 1.00 0.00 H +ATOM 62 CA PHE A 4 26.914 33.037 9.062 1.00 0.00 C +ATOM 63 HA PHE A 4 27.855 33.309 8.584 1.00 0.00 H +ATOM 64 C PHE A 4 27.191 32.841 10.554 1.00 0.00 C +ATOM 65 O PHE A 4 26.554 32.020 11.215 1.00 0.00 O +ATOM 66 CB PHE A 4 25.929 34.191 8.840 1.00 0.00 C +ATOM 67 HB2 PHE A 4 26.363 35.106 9.243 1.00 0.00 H +ATOM 68 HB3 PHE A 4 25.023 33.982 9.408 1.00 0.00 H +ATOM 69 CG PHE A 4 25.547 34.442 7.395 1.00 0.00 C +ATOM 70 CD1 PHE A 4 26.455 35.067 6.520 1.00 0.00 C +ATOM 71 HD1 PHE A 4 27.432 35.363 6.874 1.00 0.00 H +ATOM 72 CD2 PHE A 4 24.269 34.075 6.934 1.00 0.00 C +ATOM 73 HD2 PHE A 4 23.563 33.614 7.609 1.00 0.00 H +ATOM 74 CE1 PHE A 4 26.084 35.322 5.186 1.00 0.00 C +ATOM 75 HE1 PHE A 4 26.772 35.815 4.516 1.00 0.00 H +ATOM 76 CE2 PHE A 4 23.899 34.333 5.602 1.00 0.00 C +ATOM 77 HE2 PHE A 4 22.909 34.076 5.258 1.00 0.00 H +ATOM 78 CZ PHE A 4 24.808 34.951 4.727 1.00 0.00 C +ATOM 79 HZ PHE A 4 24.520 35.158 3.707 1.00 0.00 H +ATOM 80 N VAL A 5 28.101 33.637 11.112 1.00 0.00 N +ATOM 81 H VAL A 5 28.612 34.267 10.511 1.00 0.00 H +ATOM 82 CA VAL A 5 28.301 33.760 12.565 1.00 0.00 C +ATOM 83 HA VAL A 5 27.425 33.349 13.068 1.00 0.00 H +ATOM 84 C VAL A 5 28.401 35.238 12.932 1.00 0.00 C +ATOM 85 O VAL A 5 29.086 35.985 12.238 1.00 0.00 O +ATOM 86 CB VAL A 5 29.528 32.959 13.044 1.00 0.00 C +ATOM 87 HB VAL A 5 30.431 33.374 12.595 1.00 0.00 H +ATOM 88 CG1 VAL A 5 29.679 33.017 14.568 1.00 0.00 C +ATOM 89 HG11 VAL A 5 28.773 32.658 15.056 1.00 0.00 H +ATOM 90 HG12 VAL A 5 30.522 32.401 14.881 1.00 0.00 H +ATOM 91 HG13 VAL A 5 29.880 34.042 14.879 1.00 0.00 H +ATOM 92 CG2 VAL A 5 29.426 31.484 12.639 1.00 0.00 C +ATOM 93 HG21 VAL A 5 29.538 31.390 11.559 1.00 0.00 H +ATOM 94 HG22 VAL A 5 28.455 31.078 12.923 1.00 0.00 H +ATOM 95 HG23 VAL A 5 30.209 30.901 13.125 1.00 0.00 H +ATOM 96 N LYS A 6 27.733 35.667 14.008 1.00 0.00 N +ATOM 97 H LYS A 6 27.171 34.993 14.508 1.00 0.00 H +ATOM 98 CA LYS A 6 27.699 37.064 14.484 1.00 0.00 C +ATOM 99 HA LYS A 6 28.402 37.651 13.893 1.00 0.00 H +ATOM 100 C LYS A 6 28.144 37.168 15.943 1.00 0.00 C +ATOM 101 O LYS A 6 27.814 36.302 16.744 1.00 0.00 O +ATOM 102 CB LYS A 6 26.288 37.630 14.239 1.00 0.00 C +ATOM 103 HB2 LYS A 6 25.558 37.051 14.805 1.00 0.00 H +ATOM 104 HB3 LYS A 6 26.058 37.519 13.179 1.00 0.00 H +ATOM 105 CG LYS A 6 26.158 39.116 14.616 1.00 0.00 C +ATOM 106 HG2 LYS A 6 26.199 39.222 15.700 1.00 0.00 H +ATOM 107 HG3 LYS A 6 26.986 39.674 14.179 1.00 0.00 H +ATOM 108 CD LYS A 6 24.831 39.695 14.102 1.00 0.00 C +ATOM 109 HD2 LYS A 6 24.783 39.572 13.020 1.00 0.00 H +ATOM 110 HD3 LYS A 6 24.001 39.154 14.557 1.00 0.00 H +ATOM 111 CE LYS A 6 24.730 41.190 14.447 1.00 0.00 C +ATOM 112 HE2 LYS A 6 24.805 41.306 15.528 1.00 0.00 H +ATOM 113 HE3 LYS A 6 25.576 41.709 13.997 1.00 0.00 H +ATOM 114 NZ LYS A 6 23.448 41.791 13.958 1.00 0.00 N +ATOM 115 HZ1 LYS A 6 23.359 41.720 12.954 1.00 0.00 H +ATOM 116 HZ2 LYS A 6 22.641 41.348 14.372 1.00 0.00 H +ATOM 117 HZ3 LYS A 6 23.395 42.773 14.188 1.00 0.00 H +ATOM 118 N THR A 7 28.893 38.209 16.301 1.00 0.00 N +ATOM 119 H THR A 7 29.131 38.893 15.598 1.00 0.00 H +ATOM 120 CA THR A 7 29.469 38.392 17.649 1.00 0.00 C +ATOM 121 HA THR A 7 29.531 37.428 18.153 1.00 0.00 H +ATOM 122 C THR A 7 28.625 39.318 18.532 1.00 0.00 C +ATOM 123 O THR A 7 27.842 40.124 18.031 1.00 0.00 O +ATOM 124 CB THR A 7 30.891 38.958 17.551 1.00 0.00 C +ATOM 125 HB THR A 7 31.339 38.979 18.545 1.00 0.00 H +ATOM 126 OG1 THR A 7 30.805 40.267 17.051 1.00 0.00 O +ATOM 127 HG1 THR A 7 31.564 40.760 17.370 1.00 0.00 H +ATOM 128 CG2 THR A 7 31.807 38.185 16.610 1.00 0.00 C +ATOM 129 HG21 THR A 7 31.469 38.292 15.579 1.00 0.00 H +ATOM 130 HG22 THR A 7 31.813 37.131 16.885 1.00 0.00 H +ATOM 131 HG23 THR A 7 32.819 38.581 16.687 1.00 0.00 H +ATOM 132 N LEU A 8 28.857 39.300 19.855 1.00 0.00 N +ATOM 133 H LEU A 8 29.431 38.563 20.239 1.00 0.00 H +ATOM 134 CA LEU A 8 28.309 40.327 20.767 1.00 0.00 C +ATOM 135 HA LEU A 8 27.231 40.387 20.616 1.00 0.00 H +ATOM 136 C LEU A 8 28.851 41.747 20.485 1.00 0.00 C +ATOM 137 O LEU A 8 28.175 42.732 20.787 1.00 0.00 O +ATOM 138 CB LEU A 8 28.580 39.945 22.236 1.00 0.00 C +ATOM 139 HB2 LEU A 8 29.657 39.856 22.384 1.00 0.00 H +ATOM 140 HB3 LEU A 8 28.234 40.770 22.860 1.00 0.00 H +ATOM 141 CG LEU A 8 27.903 38.658 22.741 1.00 0.00 C +ATOM 142 HG LEU A 8 28.345 37.797 22.241 1.00 0.00 H +ATOM 143 CD1 LEU A 8 28.153 38.533 24.244 1.00 0.00 C +ATOM 144 HD11 LEU A 8 27.669 37.637 24.633 1.00 0.00 H +ATOM 145 HD12 LEU A 8 27.744 39.399 24.765 1.00 0.00 H +ATOM 146 HD13 LEU A 8 29.224 38.474 24.438 1.00 0.00 H +ATOM 147 CD2 LEU A 8 26.392 38.638 22.507 1.00 0.00 C +ATOM 148 HD21 LEU A 8 25.934 39.529 22.937 1.00 0.00 H +ATOM 149 HD22 LEU A 8 26.180 38.597 21.438 1.00 0.00 H +ATOM 150 HD23 LEU A 8 25.957 37.753 22.970 1.00 0.00 H +ATOM 151 N THR A 9 30.033 41.864 19.858 1.00 0.00 N +ATOM 152 H THR A 9 30.580 41.033 19.684 1.00 0.00 H +ATOM 153 CA THR A 9 30.584 43.141 19.350 1.00 0.00 C +ATOM 154 HA THR A 9 30.389 43.918 20.089 1.00 0.00 H +ATOM 155 C THR A 9 29.924 43.622 18.043 1.00 0.00 C +ATOM 156 O THR A 9 30.255 44.702 17.548 1.00 0.00 O +ATOM 157 CB THR A 9 32.108 43.051 19.182 1.00 0.00 C +ATOM 158 HB THR A 9 32.484 43.953 18.701 1.00 0.00 H +ATOM 159 OG1 THR A 9 32.433 41.922 18.401 1.00 0.00 O +ATOM 160 HG1 THR A 9 33.383 41.936 18.265 1.00 0.00 H +ATOM 161 CG2 THR A 9 32.819 42.869 20.519 1.00 0.00 C +ATOM 162 HG21 THR A 9 33.897 42.876 20.359 1.00 0.00 H +ATOM 163 HG22 THR A 9 32.558 43.689 21.187 1.00 0.00 H +ATOM 164 HG23 THR A 9 32.532 41.922 20.977 1.00 0.00 H +ATOM 165 N GLY A 10 28.969 42.860 17.488 1.00 0.00 N +ATOM 166 H GLY A 10 28.741 41.979 17.926 1.00 0.00 H +ATOM 167 CA GLY A 10 28.185 43.226 16.299 1.00 0.00 C +ATOM 168 HA2 GLY A 10 27.946 44.288 16.338 1.00 0.00 H +ATOM 169 HA3 GLY A 10 27.249 42.668 16.324 1.00 0.00 H +ATOM 170 C GLY A 10 28.867 42.934 14.956 1.00 0.00 C +ATOM 171 O GLY A 10 28.382 43.392 13.918 1.00 0.00 O +ATOM 172 N LYS A 11 29.976 42.177 14.956 1.00 0.00 N +ATOM 173 H LYS A 11 30.255 41.761 15.832 1.00 0.00 H +ATOM 174 CA LYS A 11 30.713 41.765 13.747 1.00 0.00 C +ATOM 175 HA LYS A 11 30.621 42.554 13.001 1.00 0.00 H +ATOM 176 C LYS A 11 30.091 40.488 13.184 1.00 0.00 C +ATOM 177 O LYS A 11 29.725 39.611 13.958 1.00 0.00 O +ATOM 178 CB LYS A 11 32.205 41.597 14.110 1.00 0.00 C +ATOM 179 HB2 LYS A 11 32.496 42.426 14.755 1.00 0.00 H +ATOM 180 HB3 LYS A 11 32.346 40.672 14.669 1.00 0.00 H +ATOM 181 CG LYS A 11 33.132 41.609 12.880 1.00 0.00 C +ATOM 182 HG2 LYS A 11 32.982 42.544 12.340 1.00 0.00 H +ATOM 183 HG3 LYS A 11 32.883 40.775 12.223 1.00 0.00 H +ATOM 184 CD LYS A 11 34.608 41.504 13.305 1.00 0.00 C +ATOM 185 HD2 LYS A 11 34.811 40.504 13.689 1.00 0.00 H +ATOM 186 HD3 LYS A 11 34.789 42.214 14.112 1.00 0.00 H +ATOM 187 CE LYS A 11 35.595 41.842 12.171 1.00 0.00 C +ATOM 188 HE2 LYS A 11 35.339 42.818 11.760 1.00 0.00 H +ATOM 189 HE3 LYS A 11 36.589 41.927 12.609 1.00 0.00 H +ATOM 190 NZ LYS A 11 35.629 40.815 11.085 1.00 0.00 N +ATOM 191 HZ1 LYS A 11 35.912 39.914 11.442 1.00 0.00 H +ATOM 192 HZ2 LYS A 11 34.738 40.711 10.621 1.00 0.00 H +ATOM 193 HZ3 LYS A 11 36.307 41.064 10.379 1.00 0.00 H +ATOM 194 N THR A 12 29.985 40.360 11.861 1.00 0.00 N +ATOM 195 H THR A 12 30.323 41.108 11.273 1.00 0.00 H +ATOM 196 CA THR A 12 29.405 39.165 11.205 1.00 0.00 C +ATOM 197 HA THR A 12 29.256 38.391 11.958 1.00 0.00 H +ATOM 198 C THR A 12 30.358 38.600 10.150 1.00 0.00 C +ATOM 199 O THR A 12 30.963 39.356 9.389 1.00 0.00 O +ATOM 200 CB THR A 12 28.025 39.462 10.591 1.00 0.00 C +ATOM 201 HB THR A 12 28.135 40.137 9.743 1.00 0.00 H +ATOM 202 OG1 THR A 12 27.191 40.066 11.553 1.00 0.00 O +ATOM 203 HG1 THR A 12 27.383 41.006 11.572 1.00 0.00 H +ATOM 204 CG2 THR A 12 27.287 38.201 10.139 1.00 0.00 C +ATOM 205 HG21 THR A 12 26.286 38.472 9.802 1.00 0.00 H +ATOM 206 HG22 THR A 12 27.201 37.500 10.969 1.00 0.00 H +ATOM 207 HG23 THR A 12 27.814 37.727 9.311 1.00 0.00 H +ATOM 208 N ILE A 13 30.483 37.269 10.103 1.00 0.00 N +ATOM 209 H ILE A 13 29.941 36.725 10.760 1.00 0.00 H +ATOM 210 CA ILE A 13 31.355 36.518 9.184 1.00 0.00 C +ATOM 211 HA ILE A 13 31.705 37.191 8.401 1.00 0.00 H +ATOM 212 C ILE A 13 30.594 35.393 8.480 1.00 0.00 C +ATOM 213 O ILE A 13 29.620 34.870 9.016 1.00 0.00 O +ATOM 214 CB ILE A 13 32.601 35.965 9.923 1.00 0.00 C +ATOM 215 HB ILE A 13 33.207 35.428 9.193 1.00 0.00 H +ATOM 216 CG1 ILE A 13 32.229 34.975 11.054 1.00 0.00 C +ATOM 217 HG12 ILE A 13 31.644 35.494 11.813 1.00 0.00 H +ATOM 218 HG13 ILE A 13 31.618 34.173 10.641 1.00 0.00 H +ATOM 219 CG2 ILE A 13 33.452 37.127 10.462 1.00 0.00 C +ATOM 220 HG21 ILE A 13 32.956 37.609 11.304 1.00 0.00 H +ATOM 221 HG22 ILE A 13 34.426 36.760 10.786 1.00 0.00 H +ATOM 222 HG23 ILE A 13 33.618 37.863 9.675 1.00 0.00 H +ATOM 223 CD1 ILE A 13 33.426 34.316 11.752 1.00 0.00 C +ATOM 224 HD11 ILE A 13 34.065 33.824 11.019 1.00 0.00 H +ATOM 225 HD12 ILE A 13 33.060 33.574 12.461 1.00 0.00 H +ATOM 226 HD13 ILE A 13 34.001 35.060 12.301 1.00 0.00 H +ATOM 227 N THR A 14 31.079 34.968 7.315 1.00 0.00 N +ATOM 228 H THR A 14 31.858 35.459 6.900 1.00 0.00 H +ATOM 229 CA THR A 14 30.671 33.719 6.645 1.00 0.00 C +ATOM 230 HA THR A 14 29.642 33.472 6.906 1.00 0.00 H +ATOM 231 C THR A 14 31.566 32.564 7.071 1.00 0.00 C +ATOM 232 O THR A 14 32.756 32.767 7.300 1.00 0.00 O +ATOM 233 CB THR A 14 30.766 33.863 5.117 1.00 0.00 C +ATOM 234 HB THR A 14 30.648 32.884 4.652 1.00 0.00 H +ATOM 235 OG1 THR A 14 32.027 34.398 4.769 1.00 0.00 O +ATOM 236 HG1 THR A 14 32.067 34.471 3.813 1.00 0.00 H +ATOM 237 CG2 THR A 14 29.696 34.798 4.567 1.00 0.00 C +ATOM 238 HG21 THR A 14 29.774 35.782 5.030 1.00 0.00 H +ATOM 239 HG22 THR A 14 28.714 34.372 4.770 1.00 0.00 H +ATOM 240 HG23 THR A 14 29.815 34.899 3.488 1.00 0.00 H +ATOM 241 N LEU A 15 31.042 31.340 7.115 1.00 0.00 N +ATOM 242 H LEU A 15 30.048 31.239 6.967 1.00 0.00 H +ATOM 243 CA LEU A 15 31.833 30.102 7.194 1.00 0.00 C +ATOM 244 HA LEU A 15 32.878 30.315 6.972 1.00 0.00 H +ATOM 245 C LEU A 15 31.315 29.116 6.143 1.00 0.00 C +ATOM 246 O LEU A 15 30.106 29.000 5.966 1.00 0.00 O +ATOM 247 CB LEU A 15 31.725 29.471 8.601 1.00 0.00 C +ATOM 248 HB2 LEU A 15 30.689 29.163 8.745 1.00 0.00 H +ATOM 249 HB3 LEU A 15 32.337 28.569 8.623 1.00 0.00 H +ATOM 250 CG LEU A 15 32.119 30.352 9.800 1.00 0.00 C +ATOM 251 HG LEU A 15 31.510 31.256 9.806 1.00 0.00 H +ATOM 252 CD1 LEU A 15 31.854 29.571 11.086 1.00 0.00 C +ATOM 253 HD11 LEU A 15 32.482 28.681 11.127 1.00 0.00 H +ATOM 254 HD12 LEU A 15 32.074 30.204 11.945 1.00 0.00 H +ATOM 255 HD13 LEU A 15 30.806 29.274 11.128 1.00 0.00 H +ATOM 256 CD2 LEU A 15 33.598 30.740 9.815 1.00 0.00 C +ATOM 257 HD21 LEU A 15 33.862 31.287 8.910 1.00 0.00 H +ATOM 258 HD22 LEU A 15 33.800 31.377 10.676 1.00 0.00 H +ATOM 259 HD23 LEU A 15 34.221 29.847 9.881 1.00 0.00 H +ATOM 260 N GLU A 16 32.199 28.370 5.484 1.00 0.00 N +ATOM 261 H GLU A 16 33.184 28.488 5.675 1.00 0.00 H +ATOM 262 CA GLU A 16 31.808 27.291 4.560 1.00 0.00 C +ATOM 263 HA GLU A 16 30.757 27.402 4.293 1.00 0.00 H +ATOM 264 C GLU A 16 31.965 25.938 5.257 1.00 0.00 C +ATOM 265 O GLU A 16 33.019 25.649 5.821 1.00 0.00 O +ATOM 266 CB GLU A 16 32.609 27.375 3.254 1.00 0.00 C +ATOM 267 HB2 GLU A 16 33.676 27.367 3.477 1.00 0.00 H +ATOM 268 HB3 GLU A 16 32.372 26.506 2.640 1.00 0.00 H +ATOM 269 CG GLU A 16 32.259 28.644 2.463 1.00 0.00 C +ATOM 270 HG2 GLU A 16 31.183 28.670 2.293 1.00 0.00 H +ATOM 271 HG3 GLU A 16 32.520 29.522 3.054 1.00 0.00 H +ATOM 272 CD GLU A 16 33.006 28.680 1.112 1.00 0.00 C +ATOM 273 OE1 GLU A 16 34.131 29.235 1.046 1.00 0.00 O +ATOM 274 OE2 GLU A 16 32.470 28.159 0.102 1.00 0.00 O +ATOM 275 N VAL A 17 30.895 25.144 5.283 1.00 0.00 N +ATOM 276 H VAL A 17 30.098 25.406 4.721 1.00 0.00 H +ATOM 277 CA VAL A 17 30.728 23.948 6.132 1.00 0.00 C +ATOM 278 HA VAL A 17 31.694 23.468 6.291 1.00 0.00 H +ATOM 279 C VAL A 17 29.804 22.934 5.458 1.00 0.00 C +ATOM 280 O VAL A 17 28.999 23.309 4.609 1.00 0.00 O +ATOM 281 CB VAL A 17 30.123 24.324 7.505 1.00 0.00 C +ATOM 282 HB VAL A 17 29.913 23.404 8.050 1.00 0.00 H +ATOM 283 CG1 VAL A 17 31.082 25.151 8.368 1.00 0.00 C +ATOM 284 HG11 VAL A 17 31.249 26.135 7.929 1.00 0.00 H +ATOM 285 HG12 VAL A 17 30.661 25.279 9.366 1.00 0.00 H +ATOM 286 HG13 VAL A 17 32.032 24.624 8.454 1.00 0.00 H +ATOM 287 CG2 VAL A 17 28.807 25.109 7.373 1.00 0.00 C +ATOM 288 HG21 VAL A 17 28.065 24.512 6.843 1.00 0.00 H +ATOM 289 HG22 VAL A 17 28.967 26.045 6.837 1.00 0.00 H +ATOM 290 HG23 VAL A 17 28.416 25.337 8.365 1.00 0.00 H +ATOM 291 N GLU A 18 29.837 21.675 5.872 1.00 0.00 N +ATOM 292 H GLU A 18 30.522 21.433 6.574 1.00 0.00 H +ATOM 293 CA GLU A 18 28.811 20.669 5.558 1.00 0.00 C +ATOM 294 HA GLU A 18 28.128 21.085 4.817 1.00 0.00 H +ATOM 295 C GLU A 18 27.988 20.312 6.815 1.00 0.00 C +ATOM 296 O GLU A 18 28.517 20.402 7.924 1.00 0.00 O +ATOM 297 CB GLU A 18 29.459 19.414 4.950 1.00 0.00 C +ATOM 298 HB2 GLU A 18 28.731 18.604 4.940 1.00 0.00 H +ATOM 299 HB3 GLU A 18 30.292 19.103 5.581 1.00 0.00 H +ATOM 300 CG GLU A 18 29.968 19.627 3.516 1.00 0.00 C +ATOM 301 HG2 GLU A 18 30.633 20.491 3.486 1.00 0.00 H +ATOM 302 HG3 GLU A 18 30.562 18.758 3.233 1.00 0.00 H +ATOM 303 CD GLU A 18 28.807 19.801 2.512 1.00 0.00 C +ATOM 304 OE1 GLU A 18 28.217 18.780 2.080 1.00 0.00 O +ATOM 305 OE2 GLU A 18 28.480 20.957 2.146 1.00 0.00 O +ATOM 306 N PRO A 19 26.711 19.879 6.700 1.00 0.00 N +ATOM 307 CA PRO A 19 25.861 19.583 7.865 1.00 0.00 C +ATOM 308 HA PRO A 19 25.705 20.510 8.416 1.00 0.00 H +ATOM 309 C PRO A 19 26.422 18.528 8.838 1.00 0.00 C +ATOM 310 O PRO A 19 26.084 18.542 10.019 1.00 0.00 O +ATOM 311 CB PRO A 19 24.517 19.124 7.283 1.00 0.00 C +ATOM 312 HB2 PRO A 19 23.682 19.423 7.916 1.00 0.00 H +ATOM 313 HB3 PRO A 19 24.517 18.044 7.139 1.00 0.00 H +ATOM 314 CG PRO A 19 24.463 19.812 5.921 1.00 0.00 C +ATOM 315 HG2 PRO A 19 23.820 19.277 5.222 1.00 0.00 H +ATOM 316 HG3 PRO A 19 24.124 20.841 6.042 1.00 0.00 H +ATOM 317 CD PRO A 19 25.924 19.795 5.474 1.00 0.00 C +ATOM 318 HD2 PRO A 19 26.103 20.637 4.806 1.00 0.00 H +ATOM 319 HD3 PRO A 19 26.143 18.856 4.964 1.00 0.00 H +ATOM 320 N SER A 20 27.291 17.632 8.366 1.00 0.00 N +ATOM 321 H SER A 20 27.548 17.669 7.390 1.00 0.00 H +ATOM 322 CA SER A 20 27.978 16.619 9.179 1.00 0.00 C +ATOM 323 HA SER A 20 27.272 16.227 9.911 1.00 0.00 H +ATOM 324 C SER A 20 29.190 17.149 9.972 1.00 0.00 C +ATOM 325 O SER A 20 29.748 16.414 10.792 1.00 0.00 O +ATOM 326 CB SER A 20 28.394 15.454 8.271 1.00 0.00 C +ATOM 327 HB2 SER A 20 27.498 14.937 7.927 1.00 0.00 H +ATOM 328 HB3 SER A 20 29.006 14.748 8.832 1.00 0.00 H +ATOM 329 OG SER A 20 29.111 15.937 7.144 1.00 0.00 O +ATOM 330 HG SER A 20 29.384 15.186 6.612 1.00 0.00 H +ATOM 331 N ASP A 21 29.602 18.405 9.768 1.00 0.00 N +ATOM 332 H ASP A 21 29.118 18.968 9.084 1.00 0.00 H +ATOM 333 CA ASP A 21 30.706 19.029 10.501 1.00 0.00 C +ATOM 334 HA ASP A 21 31.548 18.338 10.457 1.00 0.00 H +ATOM 335 C ASP A 21 30.398 19.270 11.986 1.00 0.00 C +ATOM 336 O ASP A 21 29.277 19.615 12.370 1.00 0.00 O +ATOM 337 CB ASP A 21 31.172 20.338 9.843 1.00 0.00 C +ATOM 338 HB2 ASP A 21 30.340 21.042 9.845 1.00 0.00 H +ATOM 339 HB3 ASP A 21 31.952 20.769 10.471 1.00 0.00 H +ATOM 340 CG ASP A 21 31.732 20.208 8.408 1.00 0.00 C +ATOM 341 OD1 ASP A 21 32.062 19.088 7.946 1.00 0.00 O +ATOM 342 OD2 ASP A 21 31.964 21.276 7.792 1.00 0.00 O +ATOM 343 N THR A 22 31.429 19.124 12.824 1.00 0.00 N +ATOM 344 H THR A 22 32.335 18.873 12.453 1.00 0.00 H +ATOM 345 CA THR A 22 31.364 19.362 14.271 1.00 0.00 C +ATOM 346 HA THR A 22 30.424 18.959 14.647 1.00 0.00 H +ATOM 347 C THR A 22 31.418 20.847 14.614 1.00 0.00 C +ATOM 348 O THR A 22 31.998 21.654 13.885 1.00 0.00 O +ATOM 349 CB THR A 22 32.503 18.642 15.002 1.00 0.00 C +ATOM 350 HB THR A 22 32.493 18.918 16.056 1.00 0.00 H +ATOM 351 OG1 THR A 22 33.728 19.046 14.429 1.00 0.00 O +ATOM 352 HG1 THR A 22 34.417 18.437 14.704 1.00 0.00 H +ATOM 353 CG2 THR A 22 32.395 17.124 14.898 1.00 0.00 C +ATOM 354 HG21 THR A 22 31.450 16.798 15.334 1.00 0.00 H +ATOM 355 HG22 THR A 22 32.445 16.804 13.858 1.00 0.00 H +ATOM 356 HG23 THR A 22 33.208 16.661 15.456 1.00 0.00 H +ATOM 357 N ILE A 23 30.903 21.222 15.785 1.00 0.00 N +ATOM 358 H ILE A 23 30.420 20.531 16.341 1.00 0.00 H +ATOM 359 CA ILE A 23 31.107 22.563 16.350 1.00 0.00 C +ATOM 360 HA ILE A 23 30.808 23.298 15.602 1.00 0.00 H +ATOM 361 C ILE A 23 32.596 22.820 16.632 1.00 0.00 C +ATOM 362 O ILE A 23 33.044 23.952 16.501 1.00 0.00 O +ATOM 363 CB ILE A 23 30.217 22.754 17.595 1.00 0.00 C +ATOM 364 HB ILE A 23 30.471 21.958 18.295 1.00 0.00 H +ATOM 365 CG1 ILE A 23 28.710 22.610 17.286 1.00 0.00 C +ATOM 366 HG12 ILE A 23 28.510 21.607 16.911 1.00 0.00 H +ATOM 367 HG13 ILE A 23 28.169 22.703 18.227 1.00 0.00 H +ATOM 368 CG2 ILE A 23 30.477 24.099 18.299 1.00 0.00 C +ATOM 369 HG21 ILE A 23 29.772 24.235 19.118 1.00 0.00 H +ATOM 370 HG22 ILE A 23 30.379 24.924 17.592 1.00 0.00 H +ATOM 371 HG23 ILE A 23 31.481 24.118 18.724 1.00 0.00 H +ATOM 372 CD1 ILE A 23 28.127 23.613 16.279 1.00 0.00 C +ATOM 373 HD11 ILE A 23 28.272 24.637 16.624 1.00 0.00 H +ATOM 374 HD12 ILE A 23 27.058 23.430 16.172 1.00 0.00 H +ATOM 375 HD13 ILE A 23 28.597 23.486 15.303 1.00 0.00 H +ATOM 376 N GLU A 24 33.407 21.795 16.901 1.00 0.00 N +ATOM 377 H GLU A 24 32.997 20.893 17.097 1.00 0.00 H +ATOM 378 CA GLU A 24 34.872 21.909 16.906 1.00 0.00 C +ATOM 379 HA GLU A 24 35.161 22.644 17.657 1.00 0.00 H +ATOM 380 C GLU A 24 35.414 22.398 15.551 1.00 0.00 C +ATOM 381 O GLU A 24 36.229 23.318 15.518 1.00 0.00 O +ATOM 382 CB GLU A 24 35.493 20.554 17.288 1.00 0.00 C +ATOM 383 HB2 GLU A 24 35.301 19.827 16.499 1.00 0.00 H +ATOM 384 HB3 GLU A 24 35.026 20.191 18.204 1.00 0.00 H +ATOM 385 CG GLU A 24 37.005 20.657 17.525 1.00 0.00 C +ATOM 386 HG2 GLU A 24 37.495 20.972 16.604 1.00 0.00 H +ATOM 387 HG3 GLU A 24 37.193 21.422 18.278 1.00 0.00 H +ATOM 388 CD GLU A 24 37.588 19.304 17.989 1.00 0.00 C +ATOM 389 OE1 GLU A 24 37.960 18.470 17.126 1.00 0.00 O +ATOM 390 OE2 GLU A 24 37.691 19.071 19.219 1.00 0.00 O +ATOM 391 N ASN A 25 34.913 21.870 14.427 1.00 0.00 N +ATOM 392 H ASN A 25 34.237 21.123 14.496 1.00 0.00 H +ATOM 393 CA ASN A 25 35.299 22.330 13.088 1.00 0.00 C +ATOM 394 HA ASN A 25 36.388 22.356 13.043 1.00 0.00 H +ATOM 395 C ASN A 25 34.801 23.758 12.804 1.00 0.00 C +ATOM 396 O ASN A 25 35.522 24.552 12.203 1.00 0.00 O +ATOM 397 CB ASN A 25 34.793 21.307 12.053 1.00 0.00 C +ATOM 398 HB2 ASN A 25 35.000 20.297 12.408 1.00 0.00 H +ATOM 399 HB3 ASN A 25 33.714 21.407 11.936 1.00 0.00 H +ATOM 400 CG ASN A 25 35.483 21.449 10.704 1.00 0.00 C +ATOM 401 OD1 ASN A 25 36.700 21.429 10.601 1.00 0.00 O +ATOM 402 ND2 ASN A 25 34.745 21.583 9.622 1.00 0.00 N +ATOM 403 HD21 ASN A 25 35.216 21.519 8.731 1.00 0.00 H +ATOM 404 HD22 ASN A 25 33.736 21.586 9.661 1.00 0.00 H +ATOM 405 N VAL A 26 33.620 24.137 13.311 1.00 0.00 N +ATOM 406 H VAL A 26 33.056 23.429 13.758 1.00 0.00 H +ATOM 407 CA VAL A 26 33.138 25.538 13.289 1.00 0.00 C +ATOM 408 HA VAL A 26 33.137 25.896 12.260 1.00 0.00 H +ATOM 409 C VAL A 26 34.090 26.441 14.075 1.00 0.00 C +ATOM 410 O VAL A 26 34.560 27.441 13.540 1.00 0.00 O +ATOM 411 CB VAL A 26 31.698 25.651 13.836 1.00 0.00 C +ATOM 412 HB VAL A 26 31.674 25.274 14.859 1.00 0.00 H +ATOM 413 CG1 VAL A 26 31.174 27.092 13.859 1.00 0.00 C +ATOM 414 HG11 VAL A 26 31.790 27.714 14.508 1.00 0.00 H +ATOM 415 HG12 VAL A 26 30.156 27.107 14.250 1.00 0.00 H +ATOM 416 HG13 VAL A 26 31.172 27.508 12.852 1.00 0.00 H +ATOM 417 CG2 VAL A 26 30.710 24.832 13.001 1.00 0.00 C +ATOM 418 HG21 VAL A 26 31.015 23.787 12.941 1.00 0.00 H +ATOM 419 HG22 VAL A 26 29.733 24.870 13.481 1.00 0.00 H +ATOM 420 HG23 VAL A 26 30.639 25.237 11.991 1.00 0.00 H +ATOM 421 N LYS A 27 34.465 26.065 15.304 1.00 0.00 N +ATOM 422 H LYS A 27 34.058 25.223 15.687 1.00 0.00 H +ATOM 423 CA LYS A 27 35.422 26.824 16.130 1.00 0.00 C +ATOM 424 HA LYS A 27 35.059 27.847 16.230 1.00 0.00 H +ATOM 425 C LYS A 27 36.802 26.927 15.481 1.00 0.00 C +ATOM 426 O LYS A 27 37.405 27.995 15.537 1.00 0.00 O +ATOM 427 CB LYS A 27 35.544 26.204 17.533 1.00 0.00 C +ATOM 428 HB2 LYS A 27 35.729 25.133 17.451 1.00 0.00 H +ATOM 429 HB3 LYS A 27 36.408 26.660 18.017 1.00 0.00 H +ATOM 430 CG LYS A 27 34.318 26.445 18.435 1.00 0.00 C +ATOM 431 HG2 LYS A 27 34.105 27.513 18.480 1.00 0.00 H +ATOM 432 HG3 LYS A 27 33.442 25.937 18.032 1.00 0.00 H +ATOM 433 CD LYS A 27 34.616 25.929 19.852 1.00 0.00 C +ATOM 434 HD2 LYS A 27 35.598 26.291 20.156 1.00 0.00 H +ATOM 435 HD3 LYS A 27 34.640 24.840 19.838 1.00 0.00 H +ATOM 436 CE LYS A 27 33.591 26.413 20.890 1.00 0.00 C +ATOM 437 HE2 LYS A 27 33.492 27.496 20.818 1.00 0.00 H +ATOM 438 HE3 LYS A 27 32.622 25.966 20.666 1.00 0.00 H +ATOM 439 NZ LYS A 27 34.020 26.034 22.270 1.00 0.00 N +ATOM 440 HZ1 LYS A 27 33.977 25.030 22.368 1.00 0.00 H +ATOM 441 HZ2 LYS A 27 33.410 26.434 22.969 1.00 0.00 H +ATOM 442 HZ3 LYS A 27 34.958 26.349 22.473 1.00 0.00 H +ATOM 443 N ALA A 28 37.274 25.880 14.808 1.00 0.00 N +ATOM 444 H ALA A 28 36.767 25.009 14.871 1.00 0.00 H +ATOM 445 CA ALA A 28 38.526 25.901 14.047 1.00 0.00 C +ATOM 446 HA ALA A 28 39.328 26.248 14.699 1.00 0.00 H +ATOM 447 C ALA A 28 38.458 26.864 12.846 1.00 0.00 C +ATOM 448 O ALA A 28 39.372 27.661 12.644 1.00 0.00 O +ATOM 449 CB ALA A 28 38.855 24.467 13.610 1.00 0.00 C +ATOM 450 HB1 ALA A 28 38.908 23.817 14.483 1.00 0.00 H +ATOM 451 HB2 ALA A 28 38.091 24.091 12.930 1.00 0.00 H +ATOM 452 HB3 ALA A 28 39.819 24.451 13.102 1.00 0.00 H +ATOM 453 N LYS A 29 37.342 26.885 12.101 1.00 0.00 N +ATOM 454 H LYS A 29 36.634 26.188 12.284 1.00 0.00 H +ATOM 455 CA LYS A 29 37.124 27.850 11.000 1.00 0.00 C +ATOM 456 HA LYS A 29 38.000 27.847 10.351 1.00 0.00 H +ATOM 457 C LYS A 29 36.999 29.293 11.508 1.00 0.00 C +ATOM 458 O LYS A 29 37.538 30.204 10.889 1.00 0.00 O +ATOM 459 CB LYS A 29 35.906 27.412 10.165 1.00 0.00 C +ATOM 460 HB2 LYS A 29 35.055 27.235 10.823 1.00 0.00 H +ATOM 461 HB3 LYS A 29 35.651 28.208 9.465 1.00 0.00 H +ATOM 462 CG LYS A 29 36.206 26.152 9.334 1.00 0.00 C +ATOM 463 HG2 LYS A 29 36.659 25.387 9.964 1.00 0.00 H +ATOM 464 HG3 LYS A 29 36.918 26.415 8.551 1.00 0.00 H +ATOM 465 CD LYS A 29 34.925 25.576 8.705 1.00 0.00 C +ATOM 466 HD2 LYS A 29 34.281 25.229 9.513 1.00 0.00 H +ATOM 467 HD3 LYS A 29 34.390 26.349 8.153 1.00 0.00 H +ATOM 468 CE LYS A 29 35.230 24.381 7.779 1.00 0.00 C +ATOM 469 HE2 LYS A 29 34.323 23.784 7.689 1.00 0.00 H +ATOM 470 HE3 LYS A 29 35.991 23.757 8.249 1.00 0.00 H +ATOM 471 NZ LYS A 29 35.669 24.801 6.406 1.00 0.00 N +ATOM 472 HZ1 LYS A 29 36.488 25.392 6.419 1.00 0.00 H +ATOM 473 HZ2 LYS A 29 35.896 23.998 5.838 1.00 0.00 H +ATOM 474 HZ3 LYS A 29 34.923 25.287 5.930 1.00 0.00 H +ATOM 475 N ILE A 30 36.391 29.506 12.679 1.00 0.00 N +ATOM 476 H ILE A 30 35.911 28.727 13.106 1.00 0.00 H +ATOM 477 CA ILE A 30 36.403 30.812 13.374 1.00 0.00 C +ATOM 478 HA ILE A 30 36.060 31.584 12.685 1.00 0.00 H +ATOM 479 C ILE A 30 37.831 31.198 13.786 1.00 0.00 C +ATOM 480 O ILE A 30 38.248 32.324 13.538 1.00 0.00 O +ATOM 481 CB ILE A 30 35.441 30.789 14.584 1.00 0.00 C +ATOM 482 HB ILE A 30 35.680 29.917 15.192 1.00 0.00 H +ATOM 483 CG1 ILE A 30 33.979 30.665 14.100 1.00 0.00 C +ATOM 484 HG12 ILE A 30 33.907 29.869 13.359 1.00 0.00 H +ATOM 485 HG13 ILE A 30 33.676 31.593 13.615 1.00 0.00 H +ATOM 486 CG2 ILE A 30 35.595 32.048 15.462 1.00 0.00 C +ATOM 487 HG21 ILE A 30 34.950 31.964 16.337 1.00 0.00 H +ATOM 488 HG22 ILE A 30 35.333 32.944 14.899 1.00 0.00 H +ATOM 489 HG23 ILE A 30 36.613 32.144 15.840 1.00 0.00 H +ATOM 490 CD1 ILE A 30 32.979 30.337 15.215 1.00 0.00 C +ATOM 491 HD11 ILE A 30 32.904 31.160 15.925 1.00 0.00 H +ATOM 492 HD12 ILE A 30 31.995 30.168 14.777 1.00 0.00 H +ATOM 493 HD13 ILE A 30 33.293 29.433 15.738 1.00 0.00 H +ATOM 494 N GLN A 31 38.616 30.277 14.351 1.00 0.00 N +ATOM 495 H GLN A 31 38.236 29.362 14.547 1.00 0.00 H +ATOM 496 CA GLN A 31 40.021 30.537 14.695 1.00 0.00 C +ATOM 497 HA GLN A 31 40.054 31.384 15.380 1.00 0.00 H +ATOM 498 C GLN A 31 40.848 30.907 13.447 1.00 0.00 C +ATOM 499 O GLN A 31 41.683 31.804 13.516 1.00 0.00 O +ATOM 500 CB GLN A 31 40.600 29.311 15.423 1.00 0.00 C +ATOM 501 HB2 GLN A 31 39.938 29.043 16.247 1.00 0.00 H +ATOM 502 HB3 GLN A 31 40.645 28.472 14.729 1.00 0.00 H +ATOM 503 CG GLN A 31 42.007 29.567 15.994 1.00 0.00 C +ATOM 504 HG2 GLN A 31 42.679 29.881 15.195 1.00 0.00 H +ATOM 505 HG3 GLN A 31 41.952 30.373 16.725 1.00 0.00 H +ATOM 506 CD GLN A 31 42.627 28.336 16.661 1.00 0.00 C +ATOM 507 OE1 GLN A 31 42.171 27.207 16.534 1.00 0.00 O +ATOM 508 NE2 GLN A 31 43.704 28.507 17.402 1.00 0.00 N +ATOM 509 HE21 GLN A 31 44.131 29.417 17.503 1.00 0.00 H +ATOM 510 HE22 GLN A 31 44.131 27.690 17.814 1.00 0.00 H +ATOM 511 N ASP A 32 40.581 30.288 12.294 1.00 0.00 N +ATOM 512 H ASP A 32 39.940 29.508 12.310 1.00 0.00 H +ATOM 513 CA ASP A 32 41.298 30.557 11.042 1.00 0.00 C +ATOM 514 HA ASP A 32 42.363 30.429 11.233 1.00 0.00 H +ATOM 515 C ASP A 32 41.105 31.991 10.494 1.00 0.00 C +ATOM 516 O ASP A 32 42.073 32.560 9.976 1.00 0.00 O +ATOM 517 CB ASP A 32 40.891 29.511 9.996 1.00 0.00 C +ATOM 518 HB2 ASP A 32 39.828 29.616 9.777 1.00 0.00 H +ATOM 519 HB3 ASP A 32 41.050 28.514 10.408 1.00 0.00 H +ATOM 520 CG ASP A 32 41.706 29.654 8.695 1.00 0.00 C +ATOM 521 OD1 ASP A 32 42.919 29.329 8.704 1.00 0.00 O +ATOM 522 OD2 ASP A 32 41.130 30.060 7.657 1.00 0.00 O +ATOM 523 N LYS A 33 39.905 32.598 10.631 1.00 0.00 N +ATOM 524 H LYS A 33 39.152 32.054 11.028 1.00 0.00 H +ATOM 525 CA LYS A 33 39.620 33.966 10.123 1.00 0.00 C +ATOM 526 HA LYS A 33 40.509 34.302 9.591 1.00 0.00 H +ATOM 527 C LYS A 33 39.423 35.074 11.175 1.00 0.00 C +ATOM 528 O LYS A 33 39.549 36.249 10.832 1.00 0.00 O +ATOM 529 CB LYS A 33 38.518 33.943 9.045 1.00 0.00 C +ATOM 530 HB2 LYS A 33 38.468 34.937 8.602 1.00 0.00 H +ATOM 531 HB3 LYS A 33 38.830 33.253 8.261 1.00 0.00 H +ATOM 532 CG LYS A 33 37.108 33.550 9.524 1.00 0.00 C +ATOM 533 HG2 LYS A 33 36.865 34.109 10.428 1.00 0.00 H +ATOM 534 HG3 LYS A 33 37.090 32.487 9.765 1.00 0.00 H +ATOM 535 CD LYS A 33 36.026 33.849 8.464 1.00 0.00 C +ATOM 536 HD2 LYS A 33 36.007 34.924 8.284 1.00 0.00 H +ATOM 537 HD3 LYS A 33 35.056 33.561 8.869 1.00 0.00 H +ATOM 538 CE LYS A 33 36.249 33.109 7.128 1.00 0.00 C +ATOM 539 HE2 LYS A 33 36.213 32.036 7.313 1.00 0.00 H +ATOM 540 HE3 LYS A 33 37.245 33.342 6.751 1.00 0.00 H +ATOM 541 NZ LYS A 33 35.229 33.489 6.095 1.00 0.00 N +ATOM 542 HZ1 LYS A 33 34.289 33.281 6.399 1.00 0.00 H +ATOM 543 HZ2 LYS A 33 35.382 32.987 5.232 1.00 0.00 H +ATOM 544 HZ3 LYS A 33 35.270 34.472 5.867 1.00 0.00 H +ATOM 545 N GLU A 34 39.176 34.733 12.442 1.00 0.00 N +ATOM 546 H GLU A 34 39.011 33.757 12.643 1.00 0.00 H +ATOM 547 CA GLU A 34 39.044 35.690 13.562 1.00 0.00 C +ATOM 548 HA GLU A 34 39.221 36.701 13.194 1.00 0.00 H +ATOM 549 C GLU A 34 40.087 35.499 14.685 1.00 0.00 C +ATOM 550 O GLU A 34 40.163 36.321 15.598 1.00 0.00 O +ATOM 551 CB GLU A 34 37.609 35.651 14.125 1.00 0.00 C +ATOM 552 HB2 GLU A 34 37.574 36.173 15.081 1.00 0.00 H +ATOM 553 HB3 GLU A 34 37.322 34.617 14.317 1.00 0.00 H +ATOM 554 CG GLU A 34 36.568 36.294 13.195 1.00 0.00 C +ATOM 555 HG2 GLU A 34 35.588 36.168 13.655 1.00 0.00 H +ATOM 556 HG3 GLU A 34 36.556 35.749 12.251 1.00 0.00 H +ATOM 557 CD GLU A 34 36.805 37.805 12.938 1.00 0.00 C +ATOM 558 OE1 GLU A 34 37.267 38.538 13.847 1.00 0.00 O +ATOM 559 OE2 GLU A 34 36.484 38.287 11.824 1.00 0.00 O +ATOM 560 N GLY A 35 40.912 34.443 14.639 1.00 0.00 N +ATOM 561 H GLY A 35 40.836 33.798 13.865 1.00 0.00 H +ATOM 562 CA GLY A 35 42.043 34.236 15.561 1.00 0.00 C +ATOM 563 HA2 GLY A 35 42.711 33.487 15.137 1.00 0.00 H +ATOM 564 HA3 GLY A 35 42.603 35.168 15.637 1.00 0.00 H +ATOM 565 C GLY A 35 41.685 33.792 16.989 1.00 0.00 C +ATOM 566 O GLY A 35 42.591 33.565 17.791 1.00 0.00 O +ATOM 567 N ILE A 36 40.394 33.653 17.326 1.00 0.00 N +ATOM 568 H ILE A 36 39.705 33.859 16.617 1.00 0.00 H +ATOM 569 CA ILE A 36 39.929 33.345 18.693 1.00 0.00 C +ATOM 570 HA ILE A 36 40.455 34.011 19.377 1.00 0.00 H +ATOM 571 C ILE A 36 40.251 31.877 19.034 1.00 0.00 C +ATOM 572 O ILE A 36 39.799 30.998 18.301 1.00 0.00 O +ATOM 573 CB ILE A 36 38.407 33.608 18.866 1.00 0.00 C +ATOM 574 HB ILE A 36 37.868 32.826 18.330 1.00 0.00 H +ATOM 575 CG1 ILE A 36 37.933 34.968 18.295 1.00 0.00 C +ATOM 576 HG12 ILE A 36 38.331 35.781 18.904 1.00 0.00 H +ATOM 577 HG13 ILE A 36 38.308 35.095 17.280 1.00 0.00 H +ATOM 578 CG2 ILE A 36 38.043 33.524 20.368 1.00 0.00 C +ATOM 579 HG21 ILE A 36 38.339 32.566 20.796 1.00 0.00 H +ATOM 580 HG22 ILE A 36 36.968 33.625 20.516 1.00 0.00 H +ATOM 581 HG23 ILE A 36 38.540 34.322 20.920 1.00 0.00 H +ATOM 582 CD1 ILE A 36 36.404 35.099 18.206 1.00 0.00 C +ATOM 583 HD11 ILE A 36 35.953 35.113 19.198 1.00 0.00 H +ATOM 584 HD12 ILE A 36 35.993 34.270 17.630 1.00 0.00 H +ATOM 585 HD13 ILE A 36 36.153 36.032 17.701 1.00 0.00 H +ATOM 586 N PRO A 37 40.931 31.554 20.153 1.00 0.00 N +ATOM 587 CA PRO A 37 41.156 30.165 20.573 1.00 0.00 C +ATOM 588 HA PRO A 37 41.738 29.670 19.796 1.00 0.00 H +ATOM 589 C PRO A 37 39.841 29.417 20.847 1.00 0.00 C +ATOM 590 O PRO A 37 38.965 30.001 21.478 1.00 0.00 O +ATOM 591 CB PRO A 37 42.010 30.252 21.847 1.00 0.00 C +ATOM 592 HB2 PRO A 37 41.373 30.279 22.731 1.00 0.00 H +ATOM 593 HB3 PRO A 37 42.719 29.427 21.917 1.00 0.00 H +ATOM 594 CG PRO A 37 42.725 31.595 21.707 1.00 0.00 C +ATOM 595 HG2 PRO A 37 43.016 32.004 22.674 1.00 0.00 H +ATOM 596 HG3 PRO A 37 43.595 31.481 21.060 1.00 0.00 H +ATOM 597 CD PRO A 37 41.679 32.464 21.011 1.00 0.00 C +ATOM 598 HD2 PRO A 37 41.005 32.904 21.746 1.00 0.00 H +ATOM 599 HD3 PRO A 37 42.182 33.247 20.444 1.00 0.00 H +ATOM 600 N PRO A 38 39.669 28.137 20.460 1.00 0.00 N +ATOM 601 CA PRO A 38 38.407 27.397 20.638 1.00 0.00 C +ATOM 602 HA PRO A 38 37.644 27.866 20.016 1.00 0.00 H +ATOM 603 C PRO A 38 37.876 27.344 22.077 1.00 0.00 C +ATOM 604 O PRO A 38 36.666 27.402 22.279 1.00 0.00 O +ATOM 605 CB PRO A 38 38.695 25.988 20.097 1.00 0.00 C +ATOM 606 HB2 PRO A 38 39.128 25.363 20.878 1.00 0.00 H +ATOM 607 HB3 PRO A 38 37.805 25.512 19.686 1.00 0.00 H +ATOM 608 CG PRO A 38 39.743 26.241 19.017 1.00 0.00 C +ATOM 609 HG2 PRO A 38 40.338 25.352 18.809 1.00 0.00 H +ATOM 610 HG3 PRO A 38 39.260 26.604 18.109 1.00 0.00 H +ATOM 611 CD PRO A 38 40.585 27.356 19.633 1.00 0.00 C +ATOM 612 HD2 PRO A 38 41.372 26.927 20.253 1.00 0.00 H +ATOM 613 HD3 PRO A 38 41.020 27.954 18.832 1.00 0.00 H +ATOM 614 N ASP A 39 38.762 27.328 23.077 1.00 0.00 N +ATOM 615 H ASP A 39 39.738 27.206 22.848 1.00 0.00 H +ATOM 616 CA ASP A 39 38.396 27.406 24.507 1.00 0.00 C +ATOM 617 HA ASP A 39 37.635 26.657 24.727 1.00 0.00 H +ATOM 618 C ASP A 39 37.822 28.776 24.911 1.00 0.00 C +ATOM 619 O ASP A 39 36.941 28.854 25.766 1.00 0.00 O +ATOM 620 CB ASP A 39 39.651 27.075 25.329 1.00 0.00 C +ATOM 621 HB2 ASP A 39 40.457 27.739 25.016 1.00 0.00 H +ATOM 622 HB3 ASP A 39 39.960 26.056 25.095 1.00 0.00 H +ATOM 623 CG ASP A 39 39.441 27.204 26.851 1.00 0.00 C +ATOM 624 OD1 ASP A 39 40.083 28.095 27.460 1.00 0.00 O +ATOM 625 OD2 ASP A 39 38.682 26.390 27.433 1.00 0.00 O +ATOM 626 N GLN A 40 38.248 29.862 24.251 1.00 0.00 N +ATOM 627 H GLN A 40 38.921 29.747 23.507 1.00 0.00 H +ATOM 628 CA GLN A 40 37.695 31.207 24.480 1.00 0.00 C +ATOM 629 HA GLN A 40 37.396 31.278 25.526 1.00 0.00 H +ATOM 630 C GLN A 40 36.410 31.476 23.678 1.00 0.00 C +ATOM 631 O GLN A 40 35.749 32.479 23.929 1.00 0.00 O +ATOM 632 CB GLN A 40 38.782 32.281 24.273 1.00 0.00 C +ATOM 633 HB2 GLN A 40 39.164 32.230 23.253 1.00 0.00 H +ATOM 634 HB3 GLN A 40 38.332 33.263 24.419 1.00 0.00 H +ATOM 635 CG GLN A 40 39.944 32.107 25.277 1.00 0.00 C +ATOM 636 HG2 GLN A 40 39.554 31.698 26.209 1.00 0.00 H +ATOM 637 HG3 GLN A 40 40.664 31.394 24.875 1.00 0.00 H +ATOM 638 CD GLN A 40 40.670 33.410 25.624 1.00 0.00 C +ATOM 639 OE1 GLN A 40 40.752 33.817 26.776 1.00 0.00 O +ATOM 640 NE2 GLN A 40 41.253 34.108 24.670 1.00 0.00 N +ATOM 641 HE21 GLN A 40 41.228 33.815 23.703 1.00 0.00 H +ATOM 642 HE22 GLN A 40 41.740 34.950 24.941 1.00 0.00 H +ATOM 643 N GLN A 41 36.007 30.581 22.762 1.00 0.00 N +ATOM 644 H GLN A 41 36.572 29.755 22.621 1.00 0.00 H +ATOM 645 CA GLN A 41 34.752 30.691 22.000 1.00 0.00 C +ATOM 646 HA GLN A 41 34.499 31.745 21.882 1.00 0.00 H +ATOM 647 C GLN A 41 33.573 29.994 22.699 1.00 0.00 C +ATOM 648 O GLN A 41 33.700 28.866 23.174 1.00 0.00 O +ATOM 649 CB GLN A 41 34.925 30.081 20.594 1.00 0.00 C +ATOM 650 HB2 GLN A 41 35.183 29.028 20.701 1.00 0.00 H +ATOM 651 HB3 GLN A 41 33.967 30.141 20.078 1.00 0.00 H +ATOM 652 CG GLN A 41 35.993 30.748 19.707 1.00 0.00 C +ATOM 653 HG2 GLN A 41 36.962 30.702 20.205 1.00 0.00 H +ATOM 654 HG3 GLN A 41 35.729 31.792 19.536 1.00 0.00 H +ATOM 655 CD GLN A 41 36.101 30.055 18.355 1.00 0.00 C +ATOM 656 OE1 GLN A 41 35.112 29.664 17.770 1.00 0.00 O +ATOM 657 NE2 GLN A 41 37.277 29.844 17.804 1.00 0.00 N +ATOM 658 HE21 GLN A 41 37.293 29.319 16.941 1.00 0.00 H +ATOM 659 HE22 GLN A 41 38.136 30.199 18.198 1.00 0.00 H +ATOM 660 N ARG A 42 32.384 30.599 22.644 1.00 0.00 N +ATOM 661 H ARG A 42 32.364 31.559 22.330 1.00 0.00 H +ATOM 662 CA ARG A 42 31.071 30.001 22.987 1.00 0.00 C +ATOM 663 HA ARG A 42 31.163 28.919 23.071 1.00 0.00 H +ATOM 664 C ARG A 42 30.099 30.305 21.842 1.00 0.00 C +ATOM 665 O ARG A 42 30.131 31.403 21.307 1.00 0.00 O +ATOM 666 CB ARG A 42 30.640 30.579 24.359 1.00 0.00 C +ATOM 667 HB2 ARG A 42 31.290 30.152 25.124 1.00 0.00 H +ATOM 668 HB3 ARG A 42 30.826 31.653 24.363 1.00 0.00 H +ATOM 669 CG ARG A 42 29.172 30.353 24.770 1.00 0.00 C +ATOM 670 HG2 ARG A 42 28.942 29.288 24.767 1.00 0.00 H +ATOM 671 HG3 ARG A 42 28.519 30.859 24.058 1.00 0.00 H +ATOM 672 CD ARG A 42 28.913 30.929 26.173 1.00 0.00 C +ATOM 673 HD2 ARG A 42 29.415 31.892 26.261 1.00 0.00 H +ATOM 674 HD3 ARG A 42 29.339 30.248 26.910 1.00 0.00 H +ATOM 675 NE ARG A 42 27.465 31.126 26.439 1.00 0.00 N +ATOM 676 HE ARG A 42 26.813 30.936 25.692 1.00 0.00 H +ATOM 677 CZ ARG A 42 26.940 31.573 27.578 1.00 0.00 C +ATOM 678 NH1 ARG A 42 27.674 31.854 28.622 1.00 0.00 N +ATOM 679 HH11 ARG A 42 28.676 31.727 28.593 1.00 0.00 H +ATOM 680 HH12 ARG A 42 27.244 32.190 29.472 1.00 0.00 H +ATOM 681 NH2 ARG A 42 25.650 31.749 27.691 1.00 0.00 N +ATOM 682 HH21 ARG A 42 25.025 31.580 26.916 1.00 0.00 H +ATOM 683 HH22 ARG A 42 25.262 32.090 28.559 1.00 0.00 H +ATOM 684 N LEU A 43 29.245 29.359 21.453 1.00 0.00 N +ATOM 685 H LEU A 43 29.218 28.487 21.963 1.00 0.00 H +ATOM 686 CA LEU A 43 28.333 29.507 20.301 1.00 0.00 C +ATOM 687 HA LEU A 43 28.349 30.541 19.959 1.00 0.00 H +ATOM 688 C LEU A 43 26.884 29.202 20.692 1.00 0.00 C +ATOM 689 O LEU A 43 26.641 28.377 21.567 1.00 0.00 O +ATOM 690 CB LEU A 43 28.808 28.592 19.149 1.00 0.00 C +ATOM 691 HB2 LEU A 43 29.044 27.614 19.568 1.00 0.00 H +ATOM 692 HB3 LEU A 43 27.992 28.458 18.439 1.00 0.00 H +ATOM 693 CG LEU A 43 30.030 29.115 18.371 1.00 0.00 C +ATOM 694 HG LEU A 43 30.779 29.487 19.069 1.00 0.00 H +ATOM 695 CD1 LEU A 43 30.652 27.982 17.553 1.00 0.00 C +ATOM 696 HD11 LEU A 43 31.524 28.355 17.014 1.00 0.00 H +ATOM 697 HD12 LEU A 43 30.983 27.187 18.222 1.00 0.00 H +ATOM 698 HD13 LEU A 43 29.928 27.583 16.843 1.00 0.00 H +ATOM 699 CD2 LEU A 43 29.636 30.234 17.404 1.00 0.00 C +ATOM 700 HD21 LEU A 43 29.215 31.078 17.951 1.00 0.00 H +ATOM 701 HD22 LEU A 43 30.519 30.579 16.866 1.00 0.00 H +ATOM 702 HD23 LEU A 43 28.902 29.874 16.683 1.00 0.00 H +ATOM 703 N ILE A 44 25.923 29.854 20.038 1.00 0.00 N +ATOM 704 H ILE A 44 26.208 30.552 19.365 1.00 0.00 H +ATOM 705 CA ILE A 44 24.476 29.734 20.301 1.00 0.00 C +ATOM 706 HA ILE A 44 24.294 28.812 20.853 1.00 0.00 H +ATOM 707 C ILE A 44 23.708 29.654 18.971 1.00 0.00 C +ATOM 708 O ILE A 44 24.013 30.400 18.041 1.00 0.00 O +ATOM 709 CB ILE A 44 23.985 30.929 21.166 1.00 0.00 C +ATOM 710 HB ILE A 44 24.147 31.843 20.594 1.00 0.00 H +ATOM 711 CG1 ILE A 44 24.792 31.057 22.484 1.00 0.00 C +ATOM 712 HG12 ILE A 44 25.849 31.180 22.247 1.00 0.00 H +ATOM 713 HG13 ILE A 44 24.677 30.145 23.069 1.00 0.00 H +ATOM 714 CG2 ILE A 44 22.476 30.825 21.476 1.00 0.00 C +ATOM 715 HG21 ILE A 44 22.275 29.953 22.099 1.00 0.00 H +ATOM 716 HG22 ILE A 44 22.132 31.718 21.997 1.00 0.00 H +ATOM 717 HG23 ILE A 44 21.888 30.758 20.560 1.00 0.00 H +ATOM 718 CD1 ILE A 44 24.411 32.262 23.357 1.00 0.00 C +ATOM 719 HD11 ILE A 44 25.137 32.366 24.164 1.00 0.00 H +ATOM 720 HD12 ILE A 44 24.419 33.174 22.760 1.00 0.00 H +ATOM 721 HD13 ILE A 44 23.425 32.120 23.800 1.00 0.00 H +ATOM 722 N PHE A 45 22.693 28.788 18.885 1.00 0.00 N +ATOM 723 H PHE A 45 22.513 28.189 19.678 1.00 0.00 H +ATOM 724 CA PHE A 45 21.696 28.758 17.797 1.00 0.00 C +ATOM 725 HA PHE A 45 21.500 29.777 17.463 1.00 0.00 H +ATOM 726 C PHE A 45 20.374 28.166 18.303 1.00 0.00 C +ATOM 727 O PHE A 45 20.382 27.385 19.248 1.00 0.00 O +ATOM 728 CB PHE A 45 22.247 27.952 16.609 1.00 0.00 C +ATOM 729 HB2 PHE A 45 22.530 26.956 16.949 1.00 0.00 H +ATOM 730 HB3 PHE A 45 23.150 28.451 16.259 1.00 0.00 H +ATOM 731 CG PHE A 45 21.304 27.800 15.430 1.00 0.00 C +ATOM 732 CD1 PHE A 45 21.087 28.882 14.559 1.00 0.00 C +ATOM 733 HD1 PHE A 45 21.584 29.824 14.734 1.00 0.00 H +ATOM 734 CD2 PHE A 45 20.637 26.580 15.206 1.00 0.00 C +ATOM 735 HD2 PHE A 45 20.787 25.742 15.871 1.00 0.00 H +ATOM 736 CE1 PHE A 45 20.218 28.743 13.461 1.00 0.00 C +ATOM 737 HE1 PHE A 45 20.044 29.581 12.802 1.00 0.00 H +ATOM 738 CE2 PHE A 45 19.777 26.438 14.102 1.00 0.00 C +ATOM 739 HE2 PHE A 45 19.275 25.498 13.927 1.00 0.00 H +ATOM 740 CZ PHE A 45 19.569 27.518 13.228 1.00 0.00 C +ATOM 741 HZ PHE A 45 18.903 27.409 12.384 1.00 0.00 H +ATOM 742 N ALA A 46 19.234 28.530 17.702 1.00 0.00 N +ATOM 743 H ALA A 46 19.289 29.152 16.909 1.00 0.00 H +ATOM 744 CA ALA A 46 17.899 27.994 18.037 1.00 0.00 C +ATOM 745 HA ALA A 46 17.168 28.678 17.606 1.00 0.00 H +ATOM 746 C ALA A 46 17.581 27.966 19.555 1.00 0.00 C +ATOM 747 O ALA A 46 17.045 26.983 20.076 1.00 0.00 O +ATOM 748 CB ALA A 46 17.717 26.647 17.318 1.00 0.00 C +ATOM 749 HB1 ALA A 46 18.430 25.916 17.702 1.00 0.00 H +ATOM 750 HB2 ALA A 46 16.702 26.279 17.469 1.00 0.00 H +ATOM 751 HB3 ALA A 46 17.881 26.778 16.249 1.00 0.00 H +ATOM 752 N GLY A 47 17.976 29.021 20.282 1.00 0.00 N +ATOM 753 H GLY A 47 18.384 29.806 19.795 1.00 0.00 H +ATOM 754 CA GLY A 47 17.784 29.149 21.738 1.00 0.00 C +ATOM 755 HA2 GLY A 47 16.746 28.919 21.978 1.00 0.00 H +ATOM 756 HA3 GLY A 47 17.969 30.185 22.022 1.00 0.00 H +ATOM 757 C GLY A 47 18.681 28.260 22.618 1.00 0.00 C +ATOM 758 O GLY A 47 18.437 28.176 23.825 1.00 0.00 O +ATOM 759 N LYS A 48 19.695 27.587 22.045 1.00 0.00 N +ATOM 760 H LYS A 48 19.850 27.712 21.055 1.00 0.00 H +ATOM 761 CA LYS A 48 20.551 26.587 22.717 1.00 0.00 C +ATOM 762 HA LYS A 48 20.342 26.590 23.787 1.00 0.00 H +ATOM 763 C LYS A 48 22.039 26.899 22.547 1.00 0.00 C +ATOM 764 O LYS A 48 22.460 27.389 21.502 1.00 0.00 O +ATOM 765 CB LYS A 48 20.216 25.189 22.157 1.00 0.00 C +ATOM 766 HB2 LYS A 48 20.271 25.217 21.069 1.00 0.00 H +ATOM 767 HB3 LYS A 48 20.955 24.471 22.515 1.00 0.00 H +ATOM 768 CG LYS A 48 18.822 24.713 22.606 1.00 0.00 C +ATOM 769 HG2 LYS A 48 18.830 24.614 23.691 1.00 0.00 H +ATOM 770 HG3 LYS A 48 18.066 25.454 22.345 1.00 0.00 H +ATOM 771 CD LYS A 48 18.427 23.354 22.001 1.00 0.00 C +ATOM 772 HD2 LYS A 48 19.252 22.656 22.146 1.00 0.00 H +ATOM 773 HD3 LYS A 48 17.573 22.961 22.553 1.00 0.00 H +ATOM 774 CE LYS A 48 18.073 23.400 20.501 1.00 0.00 C +ATOM 775 HE2 LYS A 48 18.886 23.871 19.948 1.00 0.00 H +ATOM 776 HE3 LYS A 48 17.998 22.371 20.149 1.00 0.00 H +ATOM 777 NZ LYS A 48 16.776 24.105 20.232 1.00 0.00 N +ATOM 778 HZ1 LYS A 48 16.504 24.002 19.264 1.00 0.00 H +ATOM 779 HZ2 LYS A 48 16.022 23.723 20.784 1.00 0.00 H +ATOM 780 HZ3 LYS A 48 16.831 25.096 20.416 1.00 0.00 H +ATOM 781 N GLN A 49 22.851 26.587 23.559 1.00 0.00 N +ATOM 782 H GLN A 49 22.447 26.165 24.384 1.00 0.00 H +ATOM 783 CA GLN A 49 24.318 26.668 23.471 1.00 0.00 C +ATOM 784 HA GLN A 49 24.577 27.562 22.905 1.00 0.00 H +ATOM 785 C GLN A 49 24.876 25.440 22.726 1.00 0.00 C +ATOM 786 O GLN A 49 24.413 24.318 22.938 1.00 0.00 O +ATOM 787 CB GLN A 49 24.917 26.806 24.883 1.00 0.00 C +ATOM 788 HB2 GLN A 49 24.859 25.844 25.394 1.00 0.00 H +ATOM 789 HB3 GLN A 49 24.324 27.527 25.446 1.00 0.00 H +ATOM 790 CG GLN A 49 26.378 27.290 24.860 1.00 0.00 C +ATOM 791 HG2 GLN A 49 26.965 26.653 24.198 1.00 0.00 H +ATOM 792 HG3 GLN A 49 26.411 28.308 24.472 1.00 0.00 H +ATOM 793 CD GLN A 49 27.030 27.263 26.244 1.00 0.00 C +ATOM 794 OE1 GLN A 49 28.032 26.598 26.470 1.00 0.00 O +ATOM 795 NE2 GLN A 49 26.510 27.988 27.217 1.00 0.00 N +ATOM 796 HE21 GLN A 49 26.952 27.939 28.124 1.00 0.00 H +ATOM 797 HE22 GLN A 49 25.653 28.508 27.096 1.00 0.00 H +ATOM 798 N LEU A 50 25.868 25.654 21.855 1.00 0.00 N +ATOM 799 H LEU A 50 26.243 26.588 21.776 1.00 0.00 H +ATOM 800 CA LEU A 50 26.429 24.618 20.979 1.00 0.00 C +ATOM 801 HA LEU A 50 25.718 23.795 20.920 1.00 0.00 H +ATOM 802 C LEU A 50 27.735 24.050 21.562 1.00 0.00 C +ATOM 803 O LEU A 50 28.576 24.805 22.051 1.00 0.00 O +ATOM 804 CB LEU A 50 26.605 25.167 19.548 1.00 0.00 C +ATOM 805 HB2 LEU A 50 27.499 25.790 19.523 1.00 0.00 H +ATOM 806 HB3 LEU A 50 26.767 24.319 18.883 1.00 0.00 H +ATOM 807 CG LEU A 50 25.431 25.995 18.991 1.00 0.00 C +ATOM 808 HG LEU A 50 25.339 26.915 19.569 1.00 0.00 H +ATOM 809 CD1 LEU A 50 25.713 26.373 17.536 1.00 0.00 C +ATOM 810 HD11 LEU A 50 26.690 26.847 17.450 1.00 0.00 H +ATOM 811 HD12 LEU A 50 25.696 25.484 16.906 1.00 0.00 H +ATOM 812 HD13 LEU A 50 24.954 27.074 17.188 1.00 0.00 H +ATOM 813 CD2 LEU A 50 24.097 25.255 19.043 1.00 0.00 C +ATOM 814 HD21 LEU A 50 23.291 25.913 18.721 1.00 0.00 H +ATOM 815 HD22 LEU A 50 24.136 24.382 18.391 1.00 0.00 H +ATOM 816 HD23 LEU A 50 23.864 24.935 20.059 1.00 0.00 H +ATOM 817 N GLU A 51 27.911 22.728 21.500 1.00 0.00 N +ATOM 818 H GLU A 51 27.195 22.167 21.061 1.00 0.00 H +ATOM 819 CA GLU A 51 29.011 21.998 22.149 1.00 0.00 C +ATOM 820 HA GLU A 51 29.608 22.696 22.737 1.00 0.00 H +ATOM 821 C GLU A 51 29.940 21.340 21.122 1.00 0.00 C +ATOM 822 O GLU A 51 29.473 20.692 20.190 1.00 0.00 O +ATOM 823 CB GLU A 51 28.418 20.966 23.123 1.00 0.00 C +ATOM 824 HB2 GLU A 51 27.842 20.228 22.564 1.00 0.00 H +ATOM 825 HB3 GLU A 51 27.743 21.482 23.806 1.00 0.00 H +ATOM 826 CG GLU A 51 29.491 20.245 23.950 1.00 0.00 C +ATOM 827 HG2 GLU A 51 30.117 20.990 24.441 1.00 0.00 H +ATOM 828 HG3 GLU A 51 30.129 19.663 23.285 1.00 0.00 H +ATOM 829 CD GLU A 51 28.851 19.317 25.007 1.00 0.00 C +ATOM 830 OE1 GLU A 51 28.553 19.788 26.133 1.00 0.00 O +ATOM 831 OE2 GLU A 51 28.657 18.109 24.726 1.00 0.00 O +ATOM 832 N ASP A 52 31.257 21.479 21.307 1.00 0.00 N +ATOM 833 H ASP A 52 31.558 22.085 22.057 1.00 0.00 H +ATOM 834 CA ASP A 52 32.305 21.140 20.330 1.00 0.00 C +ATOM 835 HA ASP A 52 32.267 21.887 19.536 1.00 0.00 H +ATOM 836 C ASP A 52 32.157 19.759 19.660 1.00 0.00 C +ATOM 837 O ASP A 52 32.355 19.645 18.450 1.00 0.00 O +ATOM 838 CB ASP A 52 33.704 21.262 20.973 1.00 0.00 C +ATOM 839 HB2 ASP A 52 33.823 20.438 21.677 1.00 0.00 H +ATOM 840 HB3 ASP A 52 34.449 21.131 20.189 1.00 0.00 H +ATOM 841 CG ASP A 52 34.020 22.574 21.724 1.00 0.00 C +ATOM 842 OD1 ASP A 52 33.129 23.433 21.921 1.00 0.00 O +ATOM 843 OD2 ASP A 52 35.193 22.775 22.112 1.00 0.00 O +ATOM 844 N GLY A 53 31.784 18.720 20.418 1.00 0.00 N +ATOM 845 H GLY A 53 31.620 18.882 21.401 1.00 0.00 H +ATOM 846 CA GLY A 53 31.649 17.346 19.909 1.00 0.00 C +ATOM 847 HA2 GLY A 53 31.677 16.660 20.755 1.00 0.00 H +ATOM 848 HA3 GLY A 53 32.502 17.121 19.268 1.00 0.00 H +ATOM 849 C GLY A 53 30.366 17.050 19.113 1.00 0.00 C +ATOM 850 O GLY A 53 30.277 15.991 18.485 1.00 0.00 O +ATOM 851 N ARG A 54 29.375 17.955 19.122 1.00 0.00 N +ATOM 852 H ARG A 54 29.548 18.832 19.593 1.00 0.00 H +ATOM 853 CA ARG A 54 28.107 17.828 18.373 1.00 0.00 C +ATOM 854 HA ARG A 54 27.881 16.770 18.240 1.00 0.00 H +ATOM 855 C ARG A 54 28.240 18.408 16.962 1.00 0.00 C +ATOM 856 O ARG A 54 29.174 19.156 16.682 1.00 0.00 O +ATOM 857 CB ARG A 54 26.972 18.488 19.183 1.00 0.00 C +ATOM 858 HB2 ARG A 54 26.095 18.634 18.553 1.00 0.00 H +ATOM 859 HB3 ARG A 54 27.310 19.473 19.506 1.00 0.00 H +ATOM 860 CG ARG A 54 26.562 17.687 20.436 1.00 0.00 C +ATOM 861 HG2 ARG A 54 26.257 18.393 21.209 1.00 0.00 H +ATOM 862 HG3 ARG A 54 27.413 17.125 20.820 1.00 0.00 H +ATOM 863 CD ARG A 54 25.383 16.733 20.188 1.00 0.00 C +ATOM 864 HD2 ARG A 54 24.501 17.330 19.959 1.00 0.00 H +ATOM 865 HD3 ARG A 54 25.167 16.181 21.103 1.00 0.00 H +ATOM 866 NE ARG A 54 25.629 15.807 19.063 1.00 0.00 N +ATOM 867 HE ARG A 54 25.376 16.130 18.140 1.00 0.00 H +ATOM 868 CZ ARG A 54 26.117 14.579 19.081 1.00 0.00 C +ATOM 869 NH1 ARG A 54 26.504 13.976 20.173 1.00 0.00 N +ATOM 870 HH11 ARG A 54 26.870 13.035 20.135 1.00 0.00 H +ATOM 871 HH12 ARG A 54 26.430 14.444 21.065 1.00 0.00 H +ATOM 872 NH2 ARG A 54 26.225 13.948 17.947 1.00 0.00 N +ATOM 873 HH21 ARG A 54 26.583 13.004 17.906 1.00 0.00 H +ATOM 874 HH22 ARG A 54 25.915 14.420 17.110 1.00 0.00 H +ATOM 875 N THR A 55 27.323 18.062 16.059 1.00 0.00 N +ATOM 876 H THR A 55 26.569 17.453 16.344 1.00 0.00 H +ATOM 877 CA THR A 55 27.371 18.445 14.635 1.00 0.00 C +ATOM 878 HA THR A 55 28.308 18.973 14.456 1.00 0.00 H +ATOM 879 C THR A 55 26.265 19.414 14.231 1.00 0.00 C +ATOM 880 O THR A 55 25.232 19.518 14.896 1.00 0.00 O +ATOM 881 CB THR A 55 27.373 17.225 13.698 1.00 0.00 C +ATOM 882 HB THR A 55 27.490 17.576 12.673 1.00 0.00 H +ATOM 883 OG1 THR A 55 26.164 16.513 13.776 1.00 0.00 O +ATOM 884 HG1 THR A 55 25.993 16.312 14.699 1.00 0.00 H +ATOM 885 CG2 THR A 55 28.517 16.255 13.996 1.00 0.00 C +ATOM 886 HG21 THR A 55 28.429 15.839 15.000 1.00 0.00 H +ATOM 887 HG22 THR A 55 28.498 15.442 13.271 1.00 0.00 H +ATOM 888 HG23 THR A 55 29.467 16.781 13.902 1.00 0.00 H +ATOM 889 N LEU A 56 26.469 20.134 13.126 1.00 0.00 N +ATOM 890 H LEU A 56 27.334 19.995 12.624 1.00 0.00 H +ATOM 891 CA LEU A 56 25.517 21.129 12.617 1.00 0.00 C +ATOM 892 HA LEU A 56 25.385 21.898 13.378 1.00 0.00 H +ATOM 893 C LEU A 56 24.117 20.537 12.362 1.00 0.00 C +ATOM 894 O LEU A 56 23.118 21.187 12.677 1.00 0.00 O +ATOM 895 CB LEU A 56 26.096 21.769 11.338 1.00 0.00 C +ATOM 896 HB2 LEU A 56 25.321 22.372 10.865 1.00 0.00 H +ATOM 897 HB3 LEU A 56 26.360 20.975 10.639 1.00 0.00 H +ATOM 898 CG LEU A 56 27.340 22.651 11.547 1.00 0.00 C +ATOM 899 HG LEU A 56 28.135 22.077 12.024 1.00 0.00 H +ATOM 900 CD1 LEU A 56 27.840 23.155 10.196 1.00 0.00 C +ATOM 901 HD11 LEU A 56 28.093 22.305 9.563 1.00 0.00 H +ATOM 902 HD12 LEU A 56 27.073 23.755 9.706 1.00 0.00 H +ATOM 903 HD13 LEU A 56 28.741 23.752 10.340 1.00 0.00 H +ATOM 904 CD2 LEU A 56 27.023 23.880 12.398 1.00 0.00 C +ATOM 905 HD21 LEU A 56 26.854 23.587 13.434 1.00 0.00 H +ATOM 906 HD22 LEU A 56 26.141 24.381 11.999 1.00 0.00 H +ATOM 907 HD23 LEU A 56 27.855 24.584 12.368 1.00 0.00 H +ATOM 908 N SER A 57 24.023 19.302 11.864 1.00 0.00 N +ATOM 909 H SER A 57 24.866 18.821 11.586 1.00 0.00 H +ATOM 910 CA SER A 57 22.747 18.605 11.653 1.00 0.00 C +ATOM 911 HA SER A 57 22.074 19.292 11.141 1.00 0.00 H +ATOM 912 C SER A 57 22.051 18.183 12.958 1.00 0.00 C +ATOM 913 O SER A 57 20.819 18.208 13.001 1.00 0.00 O +ATOM 914 CB SER A 57 22.939 17.398 10.728 1.00 0.00 C +ATOM 915 HB2 SER A 57 21.973 16.924 10.552 1.00 0.00 H +ATOM 916 HB3 SER A 57 23.339 17.737 9.772 1.00 0.00 H +ATOM 917 OG SER A 57 23.828 16.461 11.305 1.00 0.00 O +ATOM 918 HG SER A 57 23.939 15.722 10.702 1.00 0.00 H +ATOM 919 N ASP A 58 22.783 17.896 14.043 1.00 0.00 N +ATOM 920 H ASP A 58 23.790 17.907 13.956 1.00 0.00 H +ATOM 921 CA ASP A 58 22.187 17.655 15.370 1.00 0.00 C +ATOM 922 HA ASP A 58 21.468 16.842 15.271 1.00 0.00 H +ATOM 923 C ASP A 58 21.426 18.886 15.898 1.00 0.00 C +ATOM 924 O ASP A 58 20.349 18.751 16.486 1.00 0.00 O +ATOM 925 CB ASP A 58 23.234 17.225 16.413 1.00 0.00 C +ATOM 926 HB2 ASP A 58 23.882 18.075 16.628 1.00 0.00 H +ATOM 927 HB3 ASP A 58 22.713 16.985 17.340 1.00 0.00 H +ATOM 928 CG ASP A 58 24.102 16.020 16.024 1.00 0.00 C +ATOM 929 OD1 ASP A 58 23.566 14.980 15.579 1.00 0.00 O +ATOM 930 OD2 ASP A 58 25.332 16.083 16.287 1.00 0.00 O +ATOM 931 N TYR A 59 21.954 20.086 15.630 1.00 0.00 N +ATOM 932 H TYR A 59 22.860 20.107 15.183 1.00 0.00 H +ATOM 933 CA TYR A 59 21.304 21.370 15.921 1.00 0.00 C +ATOM 934 HA TYR A 59 20.690 21.250 16.814 1.00 0.00 H +ATOM 935 C TYR A 59 20.350 21.848 14.806 1.00 0.00 C +ATOM 936 O TYR A 59 19.794 22.942 14.899 1.00 0.00 O +ATOM 937 CB TYR A 59 22.388 22.408 16.238 1.00 0.00 C +ATOM 938 HB2 TYR A 59 23.040 22.505 15.370 1.00 0.00 H +ATOM 939 HB3 TYR A 59 21.920 23.377 16.414 1.00 0.00 H +ATOM 940 CG TYR A 59 23.214 22.064 17.460 1.00 0.00 C +ATOM 941 CD1 TYR A 59 22.605 22.055 18.731 1.00 0.00 C +ATOM 942 HD1 TYR A 59 21.556 22.292 18.832 1.00 0.00 H +ATOM 943 CD2 TYR A 59 24.585 21.767 17.335 1.00 0.00 C +ATOM 944 HD2 TYR A 59 25.054 21.762 16.362 1.00 0.00 H +ATOM 945 CE1 TYR A 59 23.360 21.742 19.877 1.00 0.00 C +ATOM 946 HE1 TYR A 59 22.891 21.735 20.850 1.00 0.00 H +ATOM 947 CE2 TYR A 59 25.345 21.469 18.483 1.00 0.00 C +ATOM 948 HE2 TYR A 59 26.397 21.241 18.395 1.00 0.00 H +ATOM 949 CZ TYR A 59 24.733 21.444 19.753 1.00 0.00 C +ATOM 950 OH TYR A 59 25.473 21.149 20.853 1.00 0.00 O +ATOM 951 HH TYR A 59 24.937 21.103 21.648 1.00 0.00 H +ATOM 952 N ASN A 60 20.158 21.039 13.756 1.00 0.00 N +ATOM 953 H ASN A 60 20.616 20.140 13.782 1.00 0.00 H +ATOM 954 CA ASN A 60 19.360 21.346 12.564 1.00 0.00 C +ATOM 955 HA ASN A 60 19.635 20.590 11.828 1.00 0.00 H +ATOM 956 C ASN A 60 19.722 22.703 11.901 1.00 0.00 C +ATOM 957 O ASN A 60 18.857 23.421 11.396 1.00 0.00 O +ATOM 958 CB ASN A 60 17.864 21.146 12.896 1.00 0.00 C +ATOM 959 HB2 ASN A 60 17.742 20.229 13.472 1.00 0.00 H +ATOM 960 HB3 ASN A 60 17.515 21.980 13.504 1.00 0.00 H +ATOM 961 CG ASN A 60 16.978 21.028 11.662 1.00 0.00 C +ATOM 962 OD1 ASN A 60 16.050 21.798 11.452 1.00 0.00 O +ATOM 963 ND2 ASN A 60 17.221 20.054 10.807 1.00 0.00 N +ATOM 964 HD21 ASN A 60 16.617 19.971 10.002 1.00 0.00 H +ATOM 965 HD22 ASN A 60 17.919 19.349 10.996 1.00 0.00 H +ATOM 966 N ILE A 61 21.016 23.050 11.895 1.00 0.00 N +ATOM 967 H ILE A 61 21.677 22.403 12.301 1.00 0.00 H +ATOM 968 CA ILE A 61 21.562 24.237 11.220 1.00 0.00 C +ATOM 969 HA ILE A 61 20.909 25.085 11.426 1.00 0.00 H +ATOM 970 C ILE A 61 21.561 24.003 9.698 1.00 0.00 C +ATOM 971 O ILE A 61 21.892 22.910 9.232 1.00 0.00 O +ATOM 972 CB ILE A 61 22.963 24.570 11.789 1.00 0.00 C +ATOM 973 HB ILE A 61 23.578 23.672 11.734 1.00 0.00 H +ATOM 974 CG1 ILE A 61 22.847 25.013 13.268 1.00 0.00 C +ATOM 975 HG12 ILE A 61 22.100 24.408 13.782 1.00 0.00 H +ATOM 976 HG13 ILE A 61 22.511 26.049 13.299 1.00 0.00 H +ATOM 977 CG2 ILE A 61 23.652 25.685 10.980 1.00 0.00 C +ATOM 978 HG21 ILE A 61 23.818 25.370 9.949 1.00 0.00 H +ATOM 979 HG22 ILE A 61 23.033 26.581 10.990 1.00 0.00 H +ATOM 980 HG23 ILE A 61 24.624 25.934 11.407 1.00 0.00 H +ATOM 981 CD1 ILE A 61 24.141 24.893 14.080 1.00 0.00 C +ATOM 982 HD11 ILE A 61 24.924 25.527 13.665 1.00 0.00 H +ATOM 983 HD12 ILE A 61 23.947 25.202 15.107 1.00 0.00 H +ATOM 984 HD13 ILE A 61 24.479 23.856 14.083 1.00 0.00 H +ATOM 985 N GLN A 62 21.192 25.028 8.922 1.00 0.00 N +ATOM 986 H GLN A 62 20.991 25.918 9.354 1.00 0.00 H +ATOM 987 CA GLN A 62 20.999 24.963 7.466 1.00 0.00 C +ATOM 988 HA GLN A 62 21.318 23.990 7.093 1.00 0.00 H +ATOM 989 C GLN A 62 21.840 26.023 6.734 1.00 0.00 C +ATOM 990 O GLN A 62 22.477 26.875 7.356 1.00 0.00 O +ATOM 991 CB GLN A 62 19.499 25.135 7.146 1.00 0.00 C +ATOM 992 HB2 GLN A 62 19.361 25.108 6.065 1.00 0.00 H +ATOM 993 HB3 GLN A 62 19.165 26.109 7.503 1.00 0.00 H +ATOM 994 CG GLN A 62 18.609 24.046 7.766 1.00 0.00 C +ATOM 995 HG2 GLN A 62 18.635 24.127 8.852 1.00 0.00 H +ATOM 996 HG3 GLN A 62 18.988 23.063 7.485 1.00 0.00 H +ATOM 997 CD GLN A 62 17.158 24.178 7.304 1.00 0.00 C +ATOM 998 OE1 GLN A 62 16.329 24.826 7.932 1.00 0.00 O +ATOM 999 NE2 GLN A 62 16.797 23.594 6.178 1.00 0.00 N +ATOM 1000 HE21 GLN A 62 15.839 23.692 5.875 1.00 0.00 H +ATOM 1001 HE22 GLN A 62 17.454 23.049 5.639 1.00 0.00 H +ATOM 1002 N LYS A 63 21.837 25.998 5.392 1.00 0.00 N +ATOM 1003 H LYS A 63 21.323 25.271 4.917 1.00 0.00 H +ATOM 1004 CA LYS A 63 22.480 27.057 4.593 1.00 0.00 C +ATOM 1005 HA LYS A 63 23.523 27.099 4.906 1.00 0.00 H +ATOM 1006 C LYS A 63 21.863 28.436 4.903 1.00 0.00 C +ATOM 1007 O LYS A 63 20.656 28.553 5.124 1.00 0.00 O +ATOM 1008 CB LYS A 63 22.469 26.698 3.094 1.00 0.00 C +ATOM 1009 HB2 LYS A 63 22.792 25.663 2.975 1.00 0.00 H +ATOM 1010 HB3 LYS A 63 23.195 27.334 2.588 1.00 0.00 H +ATOM 1011 CG LYS A 63 21.104 26.877 2.407 1.00 0.00 C +ATOM 1012 HG2 LYS A 63 20.355 26.266 2.911 1.00 0.00 H +ATOM 1013 HG3 LYS A 63 20.804 27.922 2.483 1.00 0.00 H +ATOM 1014 CD LYS A 63 21.163 26.479 0.922 1.00 0.00 C +ATOM 1015 HD2 LYS A 63 22.067 26.872 0.458 1.00 0.00 H +ATOM 1016 HD3 LYS A 63 21.196 25.391 0.858 1.00 0.00 H +ATOM 1017 CE LYS A 63 19.929 26.989 0.158 1.00 0.00 C +ATOM 1018 HE2 LYS A 63 19.048 26.857 0.786 1.00 0.00 H +ATOM 1019 HE3 LYS A 63 19.792 26.374 -0.731 1.00 0.00 H +ATOM 1020 NZ LYS A 63 20.068 28.421 -0.252 1.00 0.00 N +ATOM 1021 HZ1 LYS A 63 20.340 29.019 0.515 1.00 0.00 H +ATOM 1022 HZ2 LYS A 63 19.203 28.784 -0.625 1.00 0.00 H +ATOM 1023 HZ3 LYS A 63 20.771 28.534 -0.968 1.00 0.00 H +ATOM 1024 N GLU A 64 22.706 29.466 4.950 1.00 0.00 N +ATOM 1025 H GLU A 64 23.673 29.269 4.734 1.00 0.00 H +ATOM 1026 CA GLU A 64 22.368 30.833 5.382 1.00 0.00 C +ATOM 1027 HA GLU A 64 23.314 31.370 5.437 1.00 0.00 H +ATOM 1028 C GLU A 64 21.785 30.970 6.818 1.00 0.00 C +ATOM 1029 O GLU A 64 21.328 32.056 7.186 1.00 0.00 O +ATOM 1030 CB GLU A 64 21.525 31.573 4.317 1.00 0.00 C +ATOM 1031 HB2 GLU A 64 21.265 32.557 4.707 1.00 0.00 H +ATOM 1032 HB3 GLU A 64 20.587 31.048 4.139 1.00 0.00 H +ATOM 1033 CG GLU A 64 22.253 31.817 2.985 1.00 0.00 C +ATOM 1034 HG2 GLU A 64 23.292 32.079 3.187 1.00 0.00 H +ATOM 1035 HG3 GLU A 64 21.796 32.685 2.508 1.00 0.00 H +ATOM 1036 CD GLU A 64 22.164 30.624 2.009 1.00 0.00 C +ATOM 1037 OE1 GLU A 64 21.056 30.353 1.480 1.00 0.00 O +ATOM 1038 OE2 GLU A 64 23.205 29.988 1.717 1.00 0.00 O +ATOM 1039 N SER A 65 21.837 29.931 7.669 1.00 0.00 N +ATOM 1040 H SER A 65 22.144 29.028 7.337 1.00 0.00 H +ATOM 1041 CA SER A 65 21.597 30.077 9.116 1.00 0.00 C +ATOM 1042 HA SER A 65 20.630 30.558 9.266 1.00 0.00 H +ATOM 1043 C SER A 65 22.681 30.948 9.775 1.00 0.00 C +ATOM 1044 O SER A 65 23.852 30.868 9.396 1.00 0.00 O +ATOM 1045 CB SER A 65 21.582 28.712 9.814 1.00 0.00 C +ATOM 1046 HB2 SER A 65 22.505 28.187 9.570 1.00 0.00 H +ATOM 1047 HB3 SER A 65 21.549 28.858 10.894 1.00 0.00 H +ATOM 1048 OG SER A 65 20.474 27.911 9.430 1.00 0.00 O +ATOM 1049 HG SER A 65 19.654 28.380 9.603 1.00 0.00 H +ATOM 1050 N THR A 66 22.314 31.727 10.801 1.00 0.00 N +ATOM 1051 H THR A 66 21.336 31.771 11.051 1.00 0.00 H +ATOM 1052 CA THR A 66 23.250 32.578 11.567 1.00 0.00 C +ATOM 1053 HA THR A 66 24.223 32.565 11.076 1.00 0.00 H +ATOM 1054 C THR A 66 23.428 32.060 12.993 1.00 0.00 C +ATOM 1055 O THR A 66 22.462 32.001 13.753 1.00 0.00 O +ATOM 1056 CB THR A 66 22.796 34.049 11.599 1.00 0.00 C +ATOM 1057 HB THR A 66 21.854 34.127 12.140 1.00 0.00 H +ATOM 1058 OG1 THR A 66 22.605 34.514 10.281 1.00 0.00 O +ATOM 1059 HG1 THR A 66 22.135 35.350 10.317 1.00 0.00 H +ATOM 1060 CG2 THR A 66 23.834 34.969 12.251 1.00 0.00 C +ATOM 1061 HG21 THR A 66 23.939 34.727 13.309 1.00 0.00 H +ATOM 1062 HG22 THR A 66 24.800 34.858 11.759 1.00 0.00 H +ATOM 1063 HG23 THR A 66 23.509 36.006 12.172 1.00 0.00 H +ATOM 1064 N LEU A 67 24.664 31.719 13.374 1.00 0.00 N +ATOM 1065 H LEU A 67 25.405 31.793 12.692 1.00 0.00 H +ATOM 1066 CA LEU A 67 25.026 31.387 14.759 1.00 0.00 C +ATOM 1067 HA LEU A 67 24.153 30.975 15.264 1.00 0.00 H +ATOM 1068 C LEU A 67 25.445 32.656 15.512 1.00 0.00 C +ATOM 1069 O LEU A 67 25.996 33.577 14.912 1.00 0.00 O +ATOM 1070 CB LEU A 67 26.145 30.322 14.817 1.00 0.00 C +ATOM 1071 HB2 LEU A 67 26.135 29.883 15.815 1.00 0.00 H +ATOM 1072 HB3 LEU A 67 27.104 30.827 14.700 1.00 0.00 H +ATOM 1073 CG LEU A 67 26.081 29.188 13.777 1.00 0.00 C +ATOM 1074 HG LEU A 67 26.205 29.613 12.781 1.00 0.00 H +ATOM 1075 CD1 LEU A 67 27.225 28.200 14.025 1.00 0.00 C +ATOM 1076 HD11 LEU A 67 27.175 27.384 13.304 1.00 0.00 H +ATOM 1077 HD12 LEU A 67 28.182 28.709 13.911 1.00 0.00 H +ATOM 1078 HD13 LEU A 67 27.156 27.782 15.030 1.00 0.00 H +ATOM 1079 CD2 LEU A 67 24.768 28.411 13.812 1.00 0.00 C +ATOM 1080 HD21 LEU A 67 23.916 29.084 13.724 1.00 0.00 H +ATOM 1081 HD22 LEU A 67 24.693 27.840 14.738 1.00 0.00 H +ATOM 1082 HD23 LEU A 67 24.739 27.729 12.962 1.00 0.00 H +ATOM 1083 N HIS A 68 25.258 32.694 16.829 1.00 0.00 N +ATOM 1084 H HIS A 68 24.830 31.899 17.280 1.00 0.00 H +ATOM 1085 CA HIS A 68 25.719 33.803 17.674 1.00 0.00 C +ATOM 1086 HA HIS A 68 26.040 34.629 17.040 1.00 0.00 H +ATOM 1087 C HIS A 68 26.936 33.379 18.502 1.00 0.00 C +ATOM 1088 O HIS A 68 26.990 32.251 18.985 1.00 0.00 O +ATOM 1089 CB HIS A 68 24.554 34.335 18.517 1.00 0.00 C +ATOM 1090 HB2 HIS A 68 24.941 35.025 19.267 1.00 0.00 H +ATOM 1091 HB3 HIS A 68 24.067 33.509 19.036 1.00 0.00 H +ATOM 1092 CG HIS A 68 23.530 35.064 17.680 1.00 0.00 C +ATOM 1093 ND1 HIS A 68 23.380 36.432 17.584 1.00 0.00 N +ATOM 1094 HD1 HIS A 68 23.899 37.134 18.092 1.00 0.00 H +ATOM 1095 CD2 HIS A 68 22.604 34.499 16.842 1.00 0.00 C +ATOM 1096 HD2 HIS A 68 22.466 33.441 16.674 1.00 0.00 H +ATOM 1097 CE1 HIS A 68 22.384 36.680 16.714 1.00 0.00 C +ATOM 1098 HE1 HIS A 68 22.032 37.665 16.446 1.00 0.00 H +ATOM 1099 NE2 HIS A 68 21.881 35.531 16.232 1.00 0.00 N +ATOM 1100 N LEU A 69 27.923 34.265 18.643 1.00 0.00 N +ATOM 1101 H LEU A 69 27.803 35.166 18.201 1.00 0.00 H +ATOM 1102 CA LEU A 69 29.242 33.990 19.226 1.00 0.00 C +ATOM 1103 HA LEU A 69 29.288 32.942 19.521 1.00 0.00 H +ATOM 1104 C LEU A 69 29.455 34.864 20.470 1.00 0.00 C +ATOM 1105 O LEU A 69 29.414 36.092 20.397 1.00 0.00 O +ATOM 1106 CB LEU A 69 30.309 34.235 18.132 1.00 0.00 C +ATOM 1107 HB2 LEU A 69 30.502 35.305 18.064 1.00 0.00 H +ATOM 1108 HB3 LEU A 69 29.879 33.928 17.179 1.00 0.00 H +ATOM 1109 CG LEU A 69 31.652 33.488 18.258 1.00 0.00 C +ATOM 1110 HG LEU A 69 31.480 32.420 18.120 1.00 0.00 H +ATOM 1111 CD1 LEU A 69 32.593 33.977 17.157 1.00 0.00 C +ATOM 1112 HD11 LEU A 69 32.142 33.823 16.177 1.00 0.00 H +ATOM 1113 HD12 LEU A 69 33.528 33.420 17.202 1.00 0.00 H +ATOM 1114 HD13 LEU A 69 32.816 35.036 17.291 1.00 0.00 H +ATOM 1115 CD2 LEU A 69 32.369 33.689 19.590 1.00 0.00 C +ATOM 1116 HD21 LEU A 69 31.844 33.138 20.370 1.00 0.00 H +ATOM 1117 HD22 LEU A 69 32.413 34.750 19.836 1.00 0.00 H +ATOM 1118 HD23 LEU A 69 33.382 33.292 19.538 1.00 0.00 H +ATOM 1119 N VAL A 70 29.723 34.211 21.600 1.00 0.00 N +ATOM 1120 H VAL A 70 29.791 33.205 21.544 1.00 0.00 H +ATOM 1121 CA VAL A 70 30.058 34.817 22.900 1.00 0.00 C +ATOM 1122 HA VAL A 70 29.995 35.903 22.834 1.00 0.00 H +ATOM 1123 C VAL A 70 31.498 34.434 23.231 1.00 0.00 C +ATOM 1124 O VAL A 70 31.923 33.342 22.875 1.00 0.00 O +ATOM 1125 CB VAL A 70 29.067 34.323 23.976 1.00 0.00 C +ATOM 1126 HB VAL A 70 29.166 33.241 24.065 1.00 0.00 H +ATOM 1127 CG1 VAL A 70 29.321 34.934 25.358 1.00 0.00 C +ATOM 1128 HG11 VAL A 70 28.556 34.599 26.058 1.00 0.00 H +ATOM 1129 HG12 VAL A 70 30.287 34.611 25.747 1.00 0.00 H +ATOM 1130 HG13 VAL A 70 29.300 36.022 25.305 1.00 0.00 H +ATOM 1131 CG2 VAL A 70 27.615 34.609 23.571 1.00 0.00 C +ATOM 1132 HG21 VAL A 70 27.485 35.670 23.358 1.00 0.00 H +ATOM 1133 HG22 VAL A 70 27.350 34.034 22.684 1.00 0.00 H +ATOM 1134 HG23 VAL A 70 26.938 34.319 24.375 1.00 0.00 H +ATOM 1135 N LEU A 71 32.267 35.295 23.896 1.00 0.00 N +ATOM 1136 H LEU A 71 31.877 36.174 24.205 1.00 0.00 H +ATOM 1137 CA LEU A 71 33.637 34.965 24.311 1.00 0.00 C +ATOM 1138 HA LEU A 71 33.925 34.012 23.868 1.00 0.00 H +ATOM 1139 C LEU A 71 33.735 34.793 25.837 1.00 0.00 C +ATOM 1140 O LEU A 71 33.026 35.464 26.590 1.00 0.00 O +ATOM 1141 CB LEU A 71 34.651 36.020 23.819 1.00 0.00 C +ATOM 1142 HB2 LEU A 71 34.352 37.009 24.169 1.00 0.00 H +ATOM 1143 HB3 LEU A 71 35.600 35.781 24.299 1.00 0.00 H +ATOM 1144 CG LEU A 71 34.912 36.063 22.300 1.00 0.00 C +ATOM 1145 HG LEU A 71 35.002 35.045 21.920 1.00 0.00 H +ATOM 1146 CD1 LEU A 71 33.826 36.805 21.514 1.00 0.00 C +ATOM 1147 HD11 LEU A 71 32.877 36.273 21.568 1.00 0.00 H +ATOM 1148 HD12 LEU A 71 34.112 36.874 20.464 1.00 0.00 H +ATOM 1149 HD13 LEU A 71 33.696 37.811 21.913 1.00 0.00 H +ATOM 1150 CD2 LEU A 71 36.232 36.793 22.039 1.00 0.00 C +ATOM 1151 HD21 LEU A 71 37.050 36.272 22.537 1.00 0.00 H +ATOM 1152 HD22 LEU A 71 36.175 37.814 22.418 1.00 0.00 H +ATOM 1153 HD23 LEU A 71 36.440 36.820 20.970 1.00 0.00 H +ATOM 1154 N ARG A 72 34.678 33.949 26.280 1.00 0.00 N +ATOM 1155 H ARG A 72 35.201 33.443 25.580 1.00 0.00 H +ATOM 1156 CA ARG A 72 35.192 33.920 27.666 1.00 0.00 C +ATOM 1157 HA ARG A 72 34.673 34.684 28.244 1.00 0.00 H +ATOM 1158 C ARG A 72 36.675 34.303 27.657 1.00 0.00 C +ATOM 1159 O ARG A 72 37.419 33.792 26.827 1.00 0.00 O +ATOM 1160 CB ARG A 72 34.885 32.566 28.350 1.00 0.00 C +ATOM 1161 HB2 ARG A 72 33.810 32.391 28.300 1.00 0.00 H +ATOM 1162 HB3 ARG A 72 35.157 32.641 29.403 1.00 0.00 H +ATOM 1163 CG ARG A 72 35.615 31.352 27.746 1.00 0.00 C +ATOM 1164 HG2 ARG A 72 35.339 31.247 26.697 1.00 0.00 H +ATOM 1165 HG3 ARG A 72 36.691 31.513 27.812 1.00 0.00 H +ATOM 1166 CD ARG A 72 35.305 30.044 28.489 1.00 0.00 C +ATOM 1167 HD2 ARG A 72 36.002 29.272 28.163 1.00 0.00 H +ATOM 1168 HD3 ARG A 72 35.479 30.198 29.554 1.00 0.00 H +ATOM 1169 NE ARG A 72 33.913 29.580 28.282 1.00 0.00 N +ATOM 1170 HE ARG A 72 33.277 29.707 29.056 1.00 0.00 H +ATOM 1171 CZ ARG A 72 33.432 28.946 27.222 1.00 0.00 C +ATOM 1172 NH1 ARG A 72 34.161 28.711 26.160 1.00 0.00 N +ATOM 1173 HH11 ARG A 72 35.156 28.884 26.186 1.00 0.00 H +ATOM 1174 HH12 ARG A 72 33.759 28.335 25.313 1.00 0.00 H +ATOM 1175 NH2 ARG A 72 32.190 28.536 27.213 1.00 0.00 N +ATOM 1176 HH21 ARG A 72 31.850 27.947 26.466 1.00 0.00 H +ATOM 1177 HH22 ARG A 72 31.616 28.649 28.037 1.00 0.00 H +ATOM 1178 N LEU A 73 37.097 35.221 28.529 1.00 0.00 N +ATOM 1179 H LEU A 73 36.443 35.572 29.214 1.00 0.00 H +ATOM 1180 CA LEU A 73 38.460 35.783 28.531 1.00 0.00 C +ATOM 1181 HA LEU A 73 39.000 35.437 27.650 1.00 0.00 H +ATOM 1182 C LEU A 73 39.251 35.310 29.764 1.00 0.00 C +ATOM 1183 O LEU A 73 38.844 35.547 30.904 1.00 0.00 O +ATOM 1184 CB LEU A 73 38.406 37.328 28.454 1.00 0.00 C +ATOM 1185 HB2 LEU A 73 39.302 37.719 28.935 1.00 0.00 H +ATOM 1186 HB3 LEU A 73 37.553 37.693 29.026 1.00 0.00 H +ATOM 1187 CG LEU A 73 38.369 37.922 27.031 1.00 0.00 C +ATOM 1188 HG LEU A 73 39.273 37.619 26.503 1.00 0.00 H +ATOM 1189 CD1 LEU A 73 37.160 37.484 26.205 1.00 0.00 C +ATOM 1190 HD11 LEU A 73 37.254 36.426 25.956 1.00 0.00 H +ATOM 1191 HD12 LEU A 73 37.129 38.043 25.270 1.00 0.00 H +ATOM 1192 HD13 LEU A 73 36.238 37.660 26.760 1.00 0.00 H +ATOM 1193 CD2 LEU A 73 38.356 39.448 27.117 1.00 0.00 C +ATOM 1194 HD21 LEU A 73 37.455 39.790 27.625 1.00 0.00 H +ATOM 1195 HD22 LEU A 73 39.233 39.794 27.666 1.00 0.00 H +ATOM 1196 HD23 LEU A 73 38.388 39.875 26.115 1.00 0.00 H +ATOM 1197 N ARG A 74 40.411 34.684 29.522 1.00 0.00 N +ATOM 1198 H ARG A 74 40.612 34.455 28.559 1.00 0.00 H +ATOM 1199 CA ARG A 74 41.413 34.313 30.546 1.00 0.00 C +ATOM 1200 HA ARG A 74 40.917 34.111 31.495 1.00 0.00 H +ATOM 1201 C ARG A 74 42.418 35.440 30.827 1.00 0.00 C +ATOM 1202 O ARG A 74 42.896 35.568 31.955 1.00 0.00 O +ATOM 1203 CB ARG A 74 42.139 33.036 30.083 1.00 0.00 C +ATOM 1204 HB2 ARG A 74 43.050 32.909 30.668 1.00 0.00 H +ATOM 1205 HB3 ARG A 74 42.427 33.151 29.037 1.00 0.00 H +ATOM 1206 CG ARG A 74 41.281 31.769 30.265 1.00 0.00 C +ATOM 1207 HG2 ARG A 74 40.224 32.026 30.210 1.00 0.00 H +ATOM 1208 HG3 ARG A 74 41.467 31.363 31.260 1.00 0.00 H +ATOM 1209 CD ARG A 74 41.556 30.681 29.213 1.00 0.00 C +ATOM 1210 HD2 ARG A 74 41.152 31.024 28.260 1.00 0.00 H +ATOM 1211 HD3 ARG A 74 41.017 29.780 29.506 1.00 0.00 H +ATOM 1212 NE ARG A 74 42.995 30.368 29.046 1.00 0.00 N +ATOM 1213 HE ARG A 74 43.656 30.813 29.666 1.00 0.00 H +ATOM 1214 CZ ARG A 74 43.511 29.593 28.102 1.00 0.00 C +ATOM 1215 NH1 ARG A 74 42.766 28.858 27.323 1.00 0.00 N +ATOM 1216 HH11 ARG A 74 43.190 28.255 26.632 1.00 0.00 H +ATOM 1217 HH12 ARG A 74 41.775 28.782 27.506 1.00 0.00 H +ATOM 1218 NH2 ARG A 74 44.804 29.547 27.920 1.00 0.00 N +ATOM 1219 HH21 ARG A 74 45.198 28.963 27.197 1.00 0.00 H +ATOM 1220 HH22 ARG A 74 45.422 30.117 28.479 1.00 0.00 H +ATOM 1221 N GLY A 75 42.725 36.257 29.815 1.00 0.00 N +ATOM 1222 H GLY A 75 42.325 36.058 28.909 1.00 0.00 H +ATOM 1223 CA GLY A 75 43.660 37.387 29.896 1.00 0.00 C +ATOM 1224 HA2 GLY A 75 44.537 37.085 30.468 1.00 0.00 H +ATOM 1225 HA3 GLY A 75 43.188 38.219 30.418 1.00 0.00 H +ATOM 1226 C GLY A 75 44.124 37.879 28.516 1.00 0.00 C +ATOM 1227 O GLY A 75 43.580 37.468 27.484 1.00 0.00 O +ATOM 1228 N GLY A 76 45.135 38.755 28.504 1.00 0.00 N +ATOM 1229 H GLY A 76 45.520 39.046 29.391 1.00 0.00 H +ATOM 1230 CA GLY A 76 45.775 39.294 27.290 1.00 0.00 C +ATOM 1231 HA2 GLY A 76 45.008 39.605 26.582 1.00 0.00 H +ATOM 1232 HA3 GLY A 76 46.367 38.508 26.821 1.00 0.00 H +ATOM 1233 C GLY A 76 46.696 40.489 27.562 1.00 0.00 C +ATOM 1234 O GLY A 76 47.601 40.368 28.419 1.00 0.00 O +ATOM 1235 OXT GLY A 76 46.505 41.539 26.910 1.00 0.00 O +TER 1236 GLY A 76 +ENDMDL +END diff --git a/prody/tests/datafiles/__init__.py b/prody/tests/datafiles/__init__.py index 54f7c00de..6ae08586f 100644 --- a/prody/tests/datafiles/__init__.py +++ b/prody/tests/datafiles/__init__.py @@ -401,6 +401,12 @@ 'file': 'pqr_snippet4_pymol.pqr', 'atoms': 5, 'models': 1 + }, + 'anmd': { + 'pdb': '1ubi', + 'file': '1ubi_anmd_mode1_ens.pdb', + 'n_atoms': 683, + 'models': 5 } } diff --git a/prody/tests/dynamics/test_anmd.py b/prody/tests/dynamics/test_anmd.py new file mode 100644 index 000000000..095121884 --- /dev/null +++ b/prody/tests/dynamics/test_anmd.py @@ -0,0 +1,105 @@ +"""This module contains unit tests for :mod:`~prody.dynamics`.""" + +import numpy as np +from numpy.testing import * +from prody.utilities import importDec +dec = importDec() + +from prody import * +from prody import LOGGER +from prody.tests import unittest +from prody.tests.datafiles import * + +LOGGER.verbosity = 'none' + +DATA = DATA_FILES['anmd'] +ENSEMBLE = PDBEnsemble(parseDatafile('anmd')) + +class TestLDA(unittest.TestCase): + + def setUp(self): + + from prody import runANMD + self.runANMD = runANMD + self.ATOMS = parseDatafile('1ubi') + + def testAnmdAtomsWrongType(self): + """Test response to wrong type *atoms* argument.""" + + self.assertRaises(TypeError, self.runAMND, 'nogood') + + def testAnmdNumModesWrongType(self): + """Test response to wrong type *num_modes* argument.""" + + self.assertRaises(TypeError, self.runAMND, self.ATOMS, 'nogood') + + def testAnmdRmsdWrongType(self): + """Test response to wrong type *max_rmsd* argument.""" + + self.assertRaises(TypeError, self.runAMND, self.ATOMS, max_rmsd='nogood') + + def testAnmdStepsWrongType(self): + """Test response to wrong type *num_steps* argument.""" + + self.assertRaises(TypeError, self.runAMND, self.ATOMS, num_steps='nogood') + + def testAnmdToleranceWrongType(self): + """Test response to wrong type *tolerance* argument.""" + + self.assertRaises(TypeError, self.runAMND, self.ATOMS, tolerance='nogood') + + def testAnmdSolventWrongType(self): + """Test response to wrong type *solvent* argument.""" + + self.assertRaises(TypeError, self.runAMND, self.ATOMS, solvent=1) + + def testAnmdSolventWrongValue(self): + """Test response to wrong value *solvent* argument.""" + + self.assertRaises(ValueError, self.runAMND, self.ATOMS, solvent='nogood') + + def testAnmdFFWrongType(self): + """Test response to wrong type *force_field* argument.""" + + self.assertRaises(TypeError, self.runAMND, self.ATOMS, force_field=1) + + def testAnmdFFWrongValue(self): + """Test response to wrong value *force_field* argument.""" + + self.assertRaises(ValueError, self.runAMND, self.ATOMS, force_field='nogood') + +class TestLDAResults(TestLDA): + + def setUp(self): + self.ATOMS = parseDatafile('1ubi') + + def testResults(self): + DEFAULT_RESULTS = runANMD(self.ATOMS) + ens1 = DEFAULT_RESULTS[0] + + assert_equal(len(DEFAULT_RESULTS), 2, + 'runANMD with default parameters failed to give 2 ensembles') + assert_equal(len(ens1), DATA['models'], + 'runANMD with default parameters failed to give ensembles with 5 conformers') + + ens1.setCoords(ens1.getCoordsets()[2]) + assert_allclose(ens1.getRMSDs(), ENSEMBLE.getRMSDs(), + rtol=1e-10, atol=0.1, # may not be so + err_msg='runANMD with default parameters failed to give expected RMSDs') + + def testNumModes3(self): + RESULTS = runANMD(self.ATOMS, num_modes=1) + assert_equal(len(RESULTS), 1, + 'runANMD with num_modes=1 failed to give 1 ensemble') + + ens1 = RESULTS[0] + assert_equal(len(ens1), DATA['models'], + 'runANMD with num_modes=1 failed to give ensembles with 5 conformers') + + ens1.setCoords(ens1.getCoordsets()[2]) + assert_allclose(ens1.getRMSDs(), ENSEMBLE.getRMSDs(), + rtol=1e-10, atol=0.1, # may not be so + err_msg='runANMD with num_modes=1 failed to give expected RMSDs') + +if __name__ == '__main__': + unittest.main() From 7cdb202519a39f174a072b716a5652a00016538b Mon Sep 17 00:00:00 2001 From: James Krieger Date: Tue, 29 Oct 2024 18:55:41 +0000 Subject: [PATCH 12/95] abs import for script --- prody/dynamics/anmd.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/prody/dynamics/anmd.py b/prody/dynamics/anmd.py index 9f80b0d2c..0d87ceec9 100755 --- a/prody/dynamics/anmd.py +++ b/prody/dynamics/anmd.py @@ -33,10 +33,10 @@ from prody.ensemble.ensemble import Ensemble from prody.proteins.pdbfile import parsePDB, writePDB -from .anm import ANM -from .clustenm import ClustENM -from .editing import extendModel -from .sampling import traverseMode +from prody.dynamics.anm import ANM +from prody.dynamics.clustenm import ClustENM +from prody.dynamics.editing import extendModel +from prody.dynamics.sampling import traverseMode __all__ = ['runANMD'] From 9417e5170c8ef74d01bce91b6fd72a218ba5f35e Mon Sep 17 00:00:00 2001 From: James Krieger Date: Tue, 29 Oct 2024 19:16:24 +0000 Subject: [PATCH 13/95] add file writing for script mode --- prody/dynamics/anmd.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/prody/dynamics/anmd.py b/prody/dynamics/anmd.py index 0d87ceec9..83fb1470c 100755 --- a/prody/dynamics/anmd.py +++ b/prody/dynamics/anmd.py @@ -221,3 +221,9 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, pdb = parsePDB(pdb_name_ext, compressed=False) x = runANMD(pdb, num_modes, max_rmsd, num_steps, tol) + + pdb_basename = os.path.basename(pdb_name) + for ens in x: + filename = pdb_basename + '_' + ens.getTitle().replace(' ', '_') + LOGGER.info('writing PDB file {0}'.format(filename)) + writePDB(filename, ens) From 636ff1ea890ca145f51c0c9569203c7bcc3e7c20 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Tue, 29 Oct 2024 19:44:49 +0000 Subject: [PATCH 14/95] fix anmd tests --- prody/tests/dynamics/test_anmd.py | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/prody/tests/dynamics/test_anmd.py b/prody/tests/dynamics/test_anmd.py index 095121884..ffa37796e 100644 --- a/prody/tests/dynamics/test_anmd.py +++ b/prody/tests/dynamics/test_anmd.py @@ -15,7 +15,7 @@ DATA = DATA_FILES['anmd'] ENSEMBLE = PDBEnsemble(parseDatafile('anmd')) -class TestLDA(unittest.TestCase): +class TestANMD(unittest.TestCase): def setUp(self): @@ -26,52 +26,49 @@ def setUp(self): def testAnmdAtomsWrongType(self): """Test response to wrong type *atoms* argument.""" - self.assertRaises(TypeError, self.runAMND, 'nogood') + self.assertRaises(TypeError, self.runANMD, 'nogood') def testAnmdNumModesWrongType(self): """Test response to wrong type *num_modes* argument.""" - self.assertRaises(TypeError, self.runAMND, self.ATOMS, 'nogood') + self.assertRaises(TypeError, self.runANMD, self.ATOMS, 'nogood') def testAnmdRmsdWrongType(self): """Test response to wrong type *max_rmsd* argument.""" - self.assertRaises(TypeError, self.runAMND, self.ATOMS, max_rmsd='nogood') + self.assertRaises(TypeError, self.runANMD, self.ATOMS, max_rmsd='nogood') def testAnmdStepsWrongType(self): """Test response to wrong type *num_steps* argument.""" - self.assertRaises(TypeError, self.runAMND, self.ATOMS, num_steps='nogood') + self.assertRaises(TypeError, self.runANMD, self.ATOMS, num_steps='nogood') def testAnmdToleranceWrongType(self): """Test response to wrong type *tolerance* argument.""" - self.assertRaises(TypeError, self.runAMND, self.ATOMS, tolerance='nogood') + self.assertRaises(TypeError, self.runANMD, self.ATOMS, tolerance='nogood') def testAnmdSolventWrongType(self): """Test response to wrong type *solvent* argument.""" - self.assertRaises(TypeError, self.runAMND, self.ATOMS, solvent=1) + self.assertRaises(TypeError, self.runANMD, self.ATOMS, solvent=1) def testAnmdSolventWrongValue(self): """Test response to wrong value *solvent* argument.""" - self.assertRaises(ValueError, self.runAMND, self.ATOMS, solvent='nogood') + self.assertRaises(ValueError, self.runANMD, self.ATOMS, solvent='nogood') def testAnmdFFWrongType(self): """Test response to wrong type *force_field* argument.""" - self.assertRaises(TypeError, self.runAMND, self.ATOMS, force_field=1) + self.assertRaises(TypeError, self.runANMD, self.ATOMS, force_field=1) def testAnmdFFWrongValue(self): """Test response to wrong value *force_field* argument.""" - self.assertRaises(ValueError, self.runAMND, self.ATOMS, force_field='nogood') + self.assertRaises(ValueError, self.runANMD, self.ATOMS, force_field='nogood') -class TestLDAResults(TestLDA): - - def setUp(self): - self.ATOMS = parseDatafile('1ubi') +class TestAnmdResults(TestANMD): def testResults(self): DEFAULT_RESULTS = runANMD(self.ATOMS) From 0fffa17f002569490f9a666a399c81984548255a Mon Sep 17 00:00:00 2001 From: James Krieger Date: Tue, 29 Oct 2024 19:46:41 +0000 Subject: [PATCH 15/95] run test for py3 only --- prody/tests/dynamics/test_anmd.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prody/tests/dynamics/test_anmd.py b/prody/tests/dynamics/test_anmd.py index ffa37796e..9f37dc715 100644 --- a/prody/tests/dynamics/test_anmd.py +++ b/prody/tests/dynamics/test_anmd.py @@ -98,5 +98,5 @@ def testNumModes3(self): rtol=1e-10, atol=0.1, # may not be so err_msg='runANMD with num_modes=1 failed to give expected RMSDs') -if __name__ == '__main__': +if __name__ == '__main__' and prody.PY3K: unittest.main() From 32b1f3d83d0f1f455d73b32e22d9266d295c5b6c Mon Sep 17 00:00:00 2001 From: James Krieger Date: Wed, 30 Oct 2024 07:53:55 +0000 Subject: [PATCH 16/95] fix tests --- prody/tests/dynamics/test_anmd.py | 105 ++++++++++++++++-------------- 1 file changed, 55 insertions(+), 50 deletions(-) diff --git a/prody/tests/dynamics/test_anmd.py b/prody/tests/dynamics/test_anmd.py index 9f37dc715..fd03ab01b 100644 --- a/prody/tests/dynamics/test_anmd.py +++ b/prody/tests/dynamics/test_anmd.py @@ -14,89 +14,94 @@ DATA = DATA_FILES['anmd'] ENSEMBLE = PDBEnsemble(parseDatafile('anmd')) +ENSEMBLE.setCoords(ENSEMBLE.getCoordsets()[2]) class TestANMD(unittest.TestCase): def setUp(self): - - from prody import runANMD - self.runANMD = runANMD - self.ATOMS = parseDatafile('1ubi') + if prody.PY3K: + from prody import runANMD + self.runANMD = runANMD + self.ATOMS = parseDatafile('1ubi') def testAnmdAtomsWrongType(self): """Test response to wrong type *atoms* argument.""" - - self.assertRaises(TypeError, self.runANMD, 'nogood') + if prody.PY3K: + self.assertRaises(TypeError, self.runANMD, 'nogood') def testAnmdNumModesWrongType(self): """Test response to wrong type *num_modes* argument.""" - - self.assertRaises(TypeError, self.runANMD, self.ATOMS, 'nogood') + if prody.PY3K: + self.assertRaises(TypeError, self.runANMD, self.ATOMS, 'nogood') def testAnmdRmsdWrongType(self): """Test response to wrong type *max_rmsd* argument.""" - - self.assertRaises(TypeError, self.runANMD, self.ATOMS, max_rmsd='nogood') + if prody.PY3K: + self.assertRaises(TypeError, self.runANMD, self.ATOMS, max_rmsd='nogood') def testAnmdStepsWrongType(self): """Test response to wrong type *num_steps* argument.""" - - self.assertRaises(TypeError, self.runANMD, self.ATOMS, num_steps='nogood') + if prody.PY3K: + self.assertRaises(TypeError, self.runANMD, self.ATOMS, num_steps='nogood') def testAnmdToleranceWrongType(self): """Test response to wrong type *tolerance* argument.""" - - self.assertRaises(TypeError, self.runANMD, self.ATOMS, tolerance='nogood') + if prody.PY3K: + self.assertRaises(TypeError, self.runANMD, self.ATOMS, tolerance='nogood') def testAnmdSolventWrongType(self): """Test response to wrong type *solvent* argument.""" - - self.assertRaises(TypeError, self.runANMD, self.ATOMS, solvent=1) + if prody.PY3K: + self.assertRaises(TypeError, self.runANMD, self.ATOMS, solvent=1) def testAnmdSolventWrongValue(self): """Test response to wrong value *solvent* argument.""" - - self.assertRaises(ValueError, self.runANMD, self.ATOMS, solvent='nogood') + if prody.PY3K: + self.assertRaises(ValueError, self.runANMD, self.ATOMS, solvent='nogood') def testAnmdFFWrongType(self): """Test response to wrong type *force_field* argument.""" - - self.assertRaises(TypeError, self.runANMD, self.ATOMS, force_field=1) + if prody.PY3K: + self.assertRaises(TypeError, self.runANMD, self.ATOMS, force_field=1) def testAnmdFFWrongValue(self): """Test response to wrong value *force_field* argument.""" - - self.assertRaises(ValueError, self.runANMD, self.ATOMS, force_field='nogood') + if prody.PY3K: + self.assertRaises(ValueError, self.runANMD, self.ATOMS, force_field='nogood') class TestAnmdResults(TestANMD): def testResults(self): - DEFAULT_RESULTS = runANMD(self.ATOMS) - ens1 = DEFAULT_RESULTS[0] - - assert_equal(len(DEFAULT_RESULTS), 2, - 'runANMD with default parameters failed to give 2 ensembles') - assert_equal(len(ens1), DATA['models'], - 'runANMD with default parameters failed to give ensembles with 5 conformers') - - ens1.setCoords(ens1.getCoordsets()[2]) - assert_allclose(ens1.getRMSDs(), ENSEMBLE.getRMSDs(), - rtol=1e-10, atol=0.1, # may not be so - err_msg='runANMD with default parameters failed to give expected RMSDs') - - def testNumModes3(self): - RESULTS = runANMD(self.ATOMS, num_modes=1) - assert_equal(len(RESULTS), 1, - 'runANMD with num_modes=1 failed to give 1 ensemble') - - ens1 = RESULTS[0] - assert_equal(len(ens1), DATA['models'], - 'runANMD with num_modes=1 failed to give ensembles with 5 conformers') - - ens1.setCoords(ens1.getCoordsets()[2]) - assert_allclose(ens1.getRMSDs(), ENSEMBLE.getRMSDs(), - rtol=1e-10, atol=0.1, # may not be so - err_msg='runANMD with num_modes=1 failed to give expected RMSDs') - -if __name__ == '__main__' and prody.PY3K: + """Test results with default parameters""" + if prody.PY3K: + DEFAULT_RESULTS = runANMD(self.ATOMS) + ens1 = DEFAULT_RESULTS[0] + + assert_equal(len(DEFAULT_RESULTS), 2, + 'runANMD with default parameters failed to give 2 ensembles') + assert_equal(len(ens1), DATA['models'], + 'runANMD with default parameters failed to give ensembles with 5 conformers') + + ens1.setCoords(ens1.getCoordsets()[2]) + assert_allclose(ens1.getRMSDs(), ENSEMBLE.getRMSDs(), + rtol=1e-10, atol=0.1, # may not be so + err_msg='runANMD with default parameters failed to give expected RMSDs') + + def testResultsNumModes1(self): + """Test that num_modes=1 gives 1 ensemble""" + if prody.PY3K: + RESULTS = runANMD(self.ATOMS, num_modes=1) + assert_equal(len(RESULTS), 1, + 'runANMD with num_modes=1 failed to give 1 ensemble') + + ens1 = RESULTS[0] + assert_equal(len(ens1), DATA['models'], + 'runANMD with num_modes=1 failed to give ensembles with 5 conformers') + + ens1.setCoords(ens1.getCoordsets()[2]) + assert_allclose(ens1.getRMSDs(), ENSEMBLE.getRMSDs(), + rtol=1e-10, atol=0.1, # may not be so + err_msg='runANMD with num_modes=1 failed to give expected RMSDs') + +if __name__ == '__main__': unittest.main() From fbde00673c352e7ca72bd947268ea09b1fec459e Mon Sep 17 00:00:00 2001 From: James Krieger Date: Wed, 30 Oct 2024 08:03:32 +0000 Subject: [PATCH 17/95] - --- prody/tests/dynamics/test_anmd.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prody/tests/dynamics/test_anmd.py b/prody/tests/dynamics/test_anmd.py index fd03ab01b..65fa76d02 100644 --- a/prody/tests/dynamics/test_anmd.py +++ b/prody/tests/dynamics/test_anmd.py @@ -84,7 +84,7 @@ def testResults(self): ens1.setCoords(ens1.getCoordsets()[2]) assert_allclose(ens1.getRMSDs(), ENSEMBLE.getRMSDs(), - rtol=1e-10, atol=0.1, # may not be so + rtol=1e-10, atol=0.1, # may not be so close err_msg='runANMD with default parameters failed to give expected RMSDs') def testResultsNumModes1(self): @@ -100,7 +100,7 @@ def testResultsNumModes1(self): ens1.setCoords(ens1.getCoordsets()[2]) assert_allclose(ens1.getRMSDs(), ENSEMBLE.getRMSDs(), - rtol=1e-10, atol=0.1, # may not be so + rtol=1e-10, atol=0.1, # may not be so close err_msg='runANMD with num_modes=1 failed to give expected RMSDs') if __name__ == '__main__': From 01cab675f7716829e4a8cc67a7a4a5dae9a4ea69 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Wed, 30 Oct 2024 08:41:57 +0000 Subject: [PATCH 18/95] remove unused force field and solvent --- prody/dynamics/anmd.py | 28 ++-------------------------- prody/tests/dynamics/test_anmd.py | 20 -------------------- 2 files changed, 2 insertions(+), 46 deletions(-) diff --git a/prody/dynamics/anmd.py b/prody/dynamics/anmd.py index 83fb1470c..7d1a3e49a 100755 --- a/prody/dynamics/anmd.py +++ b/prody/dynamics/anmd.py @@ -41,8 +41,7 @@ __all__ = ['runANMD'] -def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, - tolerance=10.0, solvent='imp', force_field=None): +def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0): """Runs the ANMD hybrid simulation method ([CM22]_), which generates conformations along single modes and minimises them. The first non-zero mode is scaled to *max_rmsd* and the remaining modes are scaled accordingly using their eigenvalues. @@ -63,16 +62,6 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, in kilojoule_per_mole. Default is 10 :type tolerance: float - :arg solvent: Solvent model to be used. If it is set to 'imp' (default), - implicit solvent model will be used, whereas 'exp' stands for explicit solvent model. - Warning: In the case of nucleotide chains, explicit solvent model is automatically set. - :type solvent: str - - :arg force_field: Implicit solvent force field is ('amber99sbildn.xml', 'amber99_obc.xml'). - Explicit solvent force field is ('amber14-all.xml', 'amber14/tip3pfb.xml'). - Experimental feature: Forcefields already implemented in OpenMM can be used. - :type force_field: tuple of strings - .. [CM22] Mary Hongying Cheng, James M Krieger, Anupam Banerjee, Yufei Xiang, Burak Kaynak, Yi Shi, Moshe Arditi, Ivet Bahar. Impact of new variants on SARS-CoV-2 infectivity and neutralization: @@ -99,19 +88,6 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, if not isinstance(tolerance, Number): raise TypeError('tolerance should be a float') - - if not isinstance(solvent, str): - raise TypeError('solvent should be a string') - if solvent not in ['imp', 'exp']: - raise ValueError('solvent should be "imp" or "exp"') - - if not isinstance(force_field, (type(None), tuple)): - raise TypeError('force_field should be None or a tuple') - if force_field is not None: - if len(force_field) != 2: - raise ValueError('force_field tuple should have 2 elements') - if not isinstance(force_field[0], str) or not isinstance(force_field[1], str): - raise TypeError('force_field tuple entries should be strings') pdb_name=atoms.getTitle().replace(' ', '_') @@ -164,7 +140,7 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, sc_rmsd=((1/eval_i)**0.5/(1/eval_0)**0.5)*max_rmsd traj_aa=traverseMode(anm_ex[i], atoms_all, n_steps=num_steps, rmsd=sc_rmsd) traj_aa.setAtoms(atoms_all) - + target_ensemble = Ensemble('mode {0} ensemble'.format(ip1)) target_ensemble.setAtoms(atoms_all) target_ensemble.setCoords(atoms_all) diff --git a/prody/tests/dynamics/test_anmd.py b/prody/tests/dynamics/test_anmd.py index 65fa76d02..f6b8dbc4a 100644 --- a/prody/tests/dynamics/test_anmd.py +++ b/prody/tests/dynamics/test_anmd.py @@ -49,26 +49,6 @@ def testAnmdToleranceWrongType(self): if prody.PY3K: self.assertRaises(TypeError, self.runANMD, self.ATOMS, tolerance='nogood') - def testAnmdSolventWrongType(self): - """Test response to wrong type *solvent* argument.""" - if prody.PY3K: - self.assertRaises(TypeError, self.runANMD, self.ATOMS, solvent=1) - - def testAnmdSolventWrongValue(self): - """Test response to wrong value *solvent* argument.""" - if prody.PY3K: - self.assertRaises(ValueError, self.runANMD, self.ATOMS, solvent='nogood') - - def testAnmdFFWrongType(self): - """Test response to wrong type *force_field* argument.""" - if prody.PY3K: - self.assertRaises(TypeError, self.runANMD, self.ATOMS, force_field=1) - - def testAnmdFFWrongValue(self): - """Test response to wrong value *force_field* argument.""" - if prody.PY3K: - self.assertRaises(ValueError, self.runANMD, self.ATOMS, force_field='nogood') - class TestAnmdResults(TestANMD): def testResults(self): From 4459ac9661222596af85281bec812cd0d3dc4cbc Mon Sep 17 00:00:00 2001 From: James Krieger Date: Wed, 30 Oct 2024 09:24:03 +0000 Subject: [PATCH 19/95] relax test atol --- prody/tests/dynamics/test_anmd.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prody/tests/dynamics/test_anmd.py b/prody/tests/dynamics/test_anmd.py index f6b8dbc4a..25f499c96 100644 --- a/prody/tests/dynamics/test_anmd.py +++ b/prody/tests/dynamics/test_anmd.py @@ -64,7 +64,7 @@ def testResults(self): ens1.setCoords(ens1.getCoordsets()[2]) assert_allclose(ens1.getRMSDs(), ENSEMBLE.getRMSDs(), - rtol=1e-10, atol=0.1, # may not be so close + rtol=1e-10, atol=0.2, # may not be so close err_msg='runANMD with default parameters failed to give expected RMSDs') def testResultsNumModes1(self): @@ -80,7 +80,7 @@ def testResultsNumModes1(self): ens1.setCoords(ens1.getCoordsets()[2]) assert_allclose(ens1.getRMSDs(), ENSEMBLE.getRMSDs(), - rtol=1e-10, atol=0.1, # may not be so close + rtol=1e-10, atol=0.2, # may not be so close err_msg='runANMD with num_modes=1 failed to give expected RMSDs') if __name__ == '__main__': From 3dd2cbec622f60e5d47458ac29b966bdd199a568 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Thu, 31 Oct 2024 09:41:09 +0000 Subject: [PATCH 20/95] add skip modes --- prody/dynamics/anmd.py | 48 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 9 deletions(-) diff --git a/prody/dynamics/anmd.py b/prody/dynamics/anmd.py index 7d1a3e49a..504c8ec7e 100755 --- a/prody/dynamics/anmd.py +++ b/prody/dynamics/anmd.py @@ -41,27 +41,39 @@ __all__ = ['runANMD'] -def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0): +def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, + **kwargs): """Runs the ANMD hybrid simulation method ([CM22]_), which generates conformations - along single modes and minimises them. The first non-zero mode is scaled to *max_rmsd* + along single modes using :func:`.traverseModes` and minimises them. + + The first non-zero mode is scaled to *max_rmsd* and the remaining modes are scaled accordingly using their eigenvalues. + kwargs of traverseMode can be provided: pos, neg and reverse + :arg atoms: an object with atom and coordinate data :type atoms: :class:`.Atomic` - :arg num_modes: number of modes to analyse + :arg num_modes: number of modes to calculate + Default is 2 :type num_modes: int :arg max_rmsd: maximum rmsd for non-zero mode 1 + Default is 2. :type max_rmsd: float :arg num_steps: number of conformers in each direction for each mode + Default is 2 :type num_steps: int :arg tolerance: tolerance for energy minimisation in OpenMM in kilojoule_per_mole. Default is 10 :type tolerance: float + :arg skip_modes: number of modes to skip + Default is 0 + :type skip_modes: int + .. [CM22] Mary Hongying Cheng, James M Krieger, Anupam Banerjee, Yufei Xiang, Burak Kaynak, Yi Shi, Moshe Arditi, Ivet Bahar. Impact of new variants on SARS-CoV-2 infectivity and neutralization: @@ -89,6 +101,22 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0): if not isinstance(tolerance, Number): raise TypeError('tolerance should be a float') + pos = kwargs.get('pos', True) + if not isinstance(pos, bool): + raise TypeError('pos should be a bool') + + neg = kwargs.get('neg', True) + if not isinstance(neg, bool): + raise TypeError('neg should be a bool') + + reverse = kwargs.get('reverse', False) + if not isinstance(reverse, bool): + raise TypeError('reverse should be a bool') + + skip_modes = kwargs.get('skip_modes', 0) + if not isinstance(skip_modes, int): + raise TypeError('skip_modes should be an integer') + pdb_name=atoms.getTitle().replace(' ', '_') fix_name = pdb_name + '_fixed.pdb' @@ -131,23 +159,25 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0): eval_0=anm[0].getEigval() ensembles = [] - for i in range(num_modes): + for i in range(skip_modes, num_modes): ip1 = i+1 - num_confs = 2*num_steps+1 - LOGGER.info('\nGenerating {0} conformers for mode {1} ...'.format(num_confs, ip1)) eval_i=anm[i].getEigval() sc_rmsd=((1/eval_i)**0.5/(1/eval_0)**0.5)*max_rmsd - traj_aa=traverseMode(anm_ex[i], atoms_all, n_steps=num_steps, rmsd=sc_rmsd) + traj_aa=traverseMode(anm_ex[i], atoms_all, n_steps=num_steps, rmsd=sc_rmsd, + **kwargs) traj_aa.setAtoms(atoms_all) + num_confs = traj_aa.numConfs() + LOGGER.info('\nMinimising {0} conformers for mode {1} ...'.format(num_confs, ip1)) + target_ensemble = Ensemble('mode {0} ensemble'.format(ip1)) target_ensemble.setAtoms(atoms_all) target_ensemble.setCoords(atoms_all) - for j in range(num_confs): + for j, conf in enumerate(traj_aa): jp1 = j+1 - writePDB('temp1.pdb', traj_aa[j]) + writePDB('temp1.pdb', conf) pdb = PDBFile('temp1.pdb') os.remove("temp1.pdb") From 395abb4a241ff42810386dbc217b2391d5854d2c Mon Sep 17 00:00:00 2001 From: James Krieger Date: Thu, 31 Oct 2024 09:48:43 +0000 Subject: [PATCH 21/95] output fixed min if skip all modes --- prody/dynamics/anmd.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/prody/dynamics/anmd.py b/prody/dynamics/anmd.py index 504c8ec7e..aaab16454 100755 --- a/prody/dynamics/anmd.py +++ b/prody/dynamics/anmd.py @@ -151,6 +151,11 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, label='_anmd_min') pdb_fixed=parsePDB(fixmin_name, compressed=False) + + if skip_modes >= num_modes: + LOGGER.warn('skip_modes >= num_modes so no modes are used and minimised fixed structure is returned') + return pdb_fixed + calphas=pdb_fixed.select('calpha') anm=ANM() anm.buildHessian(calphas) From 91df3c2ac2b33d2d95a8457c0a4a2411dd3ee0e0 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Thu, 31 Oct 2024 09:52:42 +0000 Subject: [PATCH 22/95] add anm kwarg to use precalc modes --- prody/dynamics/anmd.py | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/prody/dynamics/anmd.py b/prody/dynamics/anmd.py index aaab16454..47a22893e 100755 --- a/prody/dynamics/anmd.py +++ b/prody/dynamics/anmd.py @@ -36,6 +36,8 @@ from prody.dynamics.anm import ANM from prody.dynamics.clustenm import ClustENM from prody.dynamics.editing import extendModel +from prody.dynamics.modeset import ModeSet +from prody.dynamics.nma import NMA from prody.dynamics.sampling import traverseMode @@ -74,6 +76,10 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, Default is 0 :type skip_modes: int + :arg anm: your own NMA modes to ModeSet to use instead + Default is None + :type anm: :class:`.NMA`, :class:`.ANM`, :class:`.ModeSet` + .. [CM22] Mary Hongying Cheng, James M Krieger, Anupam Banerjee, Yufei Xiang, Burak Kaynak, Yi Shi, Moshe Arditi, Ivet Bahar. Impact of new variants on SARS-CoV-2 infectivity and neutralization: @@ -117,6 +123,10 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, if not isinstance(skip_modes, int): raise TypeError('skip_modes should be an integer') + anm = kwargs.get('anm', None) + if not isinstance(anm, (type(None), NMA, ModeSet)): + raise TypeError('anm should be an NMA or ModeSet object') + pdb_name=atoms.getTitle().replace(' ', '_') fix_name = pdb_name + '_fixed.pdb' @@ -157,15 +167,17 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, return pdb_fixed calphas=pdb_fixed.select('calpha') - anm=ANM() - anm.buildHessian(calphas) - anm.calcModes(n_modes=num_modes) + if anm is None: + anm=ANM() + anm.buildHessian(calphas) + anm.calcModes(n_modes=num_modes) anm_ex, atoms_all = extendModel(anm, calphas, pdb_fixed) + anm_ex._indices = anm.getIndices() eval_0=anm[0].getEigval() ensembles = [] for i in range(skip_modes, num_modes): - ip1 = i+1 + modeNum = anm_ex.getIndices()[i] eval_i=anm[i].getEigval() sc_rmsd=((1/eval_i)**0.5/(1/eval_0)**0.5)*max_rmsd @@ -174,9 +186,9 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, traj_aa.setAtoms(atoms_all) num_confs = traj_aa.numConfs() - LOGGER.info('\nMinimising {0} conformers for mode {1} ...'.format(num_confs, ip1)) + LOGGER.info('\nMinimising {0} conformers for mode {1} ...'.format(num_confs, modeNum)) - target_ensemble = Ensemble('mode {0} ensemble'.format(ip1)) + target_ensemble = Ensemble('mode {0} ensemble'.format(modeNum)) target_ensemble.setAtoms(atoms_all) target_ensemble.setCoords(atoms_all) @@ -186,7 +198,7 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, pdb = PDBFile('temp1.pdb') os.remove("temp1.pdb") - LOGGER.info('\nMinimising structure {0} along mode {1} ...'.format(jp1, ip1)) + LOGGER.info('\nMinimising structure {0} along mode {1} ...'.format(jp1, modeNum)) LOGGER.timeit('_anmd_min') forcefield = ForceField("amber99sbildn.xml", "amber99_obc.xml") system = forcefield.createSystem(pdb.topology, From 0054021c24bc7e43c1042db64b1169b8c58db990 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Thu, 31 Oct 2024 14:49:18 +0000 Subject: [PATCH 23/95] add missed check num_steps --- prody/dynamics/anmd.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/prody/dynamics/anmd.py b/prody/dynamics/anmd.py index 47a22893e..1f583a239 100755 --- a/prody/dynamics/anmd.py +++ b/prody/dynamics/anmd.py @@ -100,7 +100,10 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, if not isinstance(num_modes, int): raise TypeError('num_modes should be an integer') - + + if not isinstance(num_steps, int): + raise TypeError('num_steps should be an integer') + if not isinstance(max_rmsd, Number): raise TypeError('max_rmsd should be a float') From b72cd815ba0f90639841e01033d0115a8892d011 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Sat, 9 Nov 2024 22:32:04 +0100 Subject: [PATCH 24/95] wrapper4insty is added as calcSignatureInteractions() --- prody/proteins/interactions.py | 287 ++++++++++++++++++++++++++++++++- 1 file changed, 286 insertions(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index e6918a6cf..c741b426c 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -32,6 +32,8 @@ from prody.ensemble import Ensemble import multiprocessing +import matplotlib.pylab as plt +import os __all__ = ['calcHydrogenBonds', 'calcChHydrogenBonds', 'calcSaltBridges', 'calcRepulsiveIonicBonding', 'calcPiStacking', 'calcPiCation', @@ -47,7 +49,7 @@ 'Interactions', 'InteractionsTrajectory', 'LigandInteractionsTrajectory', 'calcSminaBindingAffinity', 'calcSminaPerAtomInteractions', 'calcSminaTermValues', 'showSminaTermValues', 'showPairEnergy', 'checkNonstandardResidues', - 'saveInteractionsAsDummyAtoms'] + 'saveInteractionsAsDummyAtoms', 'calcSignatureInteractions'] def cleanNumbers(listContacts): @@ -308,6 +310,233 @@ def showPairEnergy(data, **kwargs): return data +# SignatureInteractions supporting functions +from Bio.PDB.Polypeptide import three_to_one +import shutil +import importlib.util + +def remove_empty_strings(row): + """Remove empty strings from a list.""" + return [elem for elem in row if elem != ''] + +def log_message(message, level="INFO"): + """Log a message with a specified log level.""" + print(f"[{level}] {message}") + +def is_module_installed(module_name): + """Check if a Python module is installed.""" + spec = importlib.util.find_spec(module_name) + return spec is not None + +def is_command_installed(command): + """Check if a command-line tool is installed.""" + return shutil.which(command) is not None + +def load_residues_from_pdb(pdb_file): + """Extract residue numbers and their corresponding one-letter amino acid codes from a PDB file.""" + structure = parsePDB(pdb_file) + residues = structure.iterResidues() + residue_dict = {} + + for res in residues: + resnum = res.getResnum() + resname = res.getResname() # Three-letter amino acid code + try: + one_letter_code = three_to_one(resname) # Convert to one-letter code + residue_dict[resnum] = one_letter_code + except KeyError: + log_message(f"Unknown residue: {resname} at position {resnum}", "WARNING") + + return residue_dict + +def append_residue_code(residue_num, residue_dict): + """Return a string with one-letter amino acid code and residue number.""" + aa_code = residue_dict.get(residue_num, "X") # Use "X" for unknown residues + return f"{aa_code}{residue_num}" + +def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): + """Process the mapping file and the PDB folder to compute interaction counts and percentages.""" + log_message(f"Loading mapping file: {mapping_file}") + + # Load and clean the mapping file + try: + mapping = np.loadtxt(mapping_file, delimiter=' ', dtype=str) + except Exception as e: + log_message(f"Error loading mapping file: {e}", "ERROR") + return None + + mapping = np.where(mapping == '-', np.nan, mapping) + filtered_mapping = np.array([remove_empty_strings(row) for row in mapping]) + mapping_num = filtered_mapping.astype(float) + + # Load the one-letter amino acid codes from model1.pdb + pdb_model_path = os.path.join(pdb_folder, 'model1.pdb') + residue_dict = load_residues_from_pdb(pdb_model_path) + + log_message(f"Processing PDB files in folder: {pdb_folder}") + + tar_bond_ind = [] + processed_files = 0 # To track the number of files successfully processed + fixed_files = [] # Store paths of fixed files to remove at the end + + for i, files in enumerate(os.listdir(pdb_folder)): + # Skip any file that has already been processed (files with 'addH_' prefix) + if files.startswith('addH_'): + log_message(f"Skipping already fixed file: {files}", "INFO") + continue + + log_message(f"Processing file {i+1}: {files}") + + pdb_file_path = os.path.join(pdb_folder, files) + fixed_pdb_path = pdb_file_path.replace(files, 'addH_' + files) + + # Check if the fixed file already exists, skip fixing if it does + if not os.path.exists(fixed_pdb_path): + try: + log_message(f"Running fixer on {pdb_file_path} using {fixer}.") + addMissingAtoms(pdb_file_path, method=fixer) + except Exception as e: + log_message(f"Error adding missing atoms: {e}", "ERROR") + continue + else: + log_message(f"Using existing fixed file: {fixed_pdb_path}") + + try: + coords = parsePDB(fixed_pdb_path) + atoms = coords.select('protein') + interactions = Interactions() + bonds = interaction_func(atoms) + except Exception as e: + log_message(f"Error processing PDB file {files}: {e}", "ERROR") + continue + + # If no bonds were found, skip this file + if len(bonds) == 0: + log_message(f"No {bond_type} found in file {files}, skipping.", "WARNING") + continue + + processed_files += 1 # Increment successfully processed files + fixed_files.append(fixed_pdb_path) + + if processed_files == 1: # First valid file with bonds determines target indices + for entries in bonds: + ent = list(np.sort((int(entries[0][3:]), int(entries[3][3:])))) # Ensure integers + tar_bond_ind.append(ent) + tar_bond_ind = np.unique(np.array(tar_bond_ind), axis=0).astype(int) + count = np.zeros(tar_bond_ind.shape[0], dtype=int) + + bond_ind = [] + for entries in bonds: + ent = list(np.sort((int(entries[0][3:]), int(entries[3][3:])))) # Ensure integers + bond_ind.append(ent) + bond_ind = np.unique(np.array(bond_ind), axis=0) + + # Ensure bond_ind is a 2D array + if bond_ind.ndim == 1: + bond_ind = bond_ind.reshape(-1, 2) # Reshape to (n, 2) if it's 1D + + for j, pairs in enumerate(tar_bond_ind): + ind1_matches = np.where(mapping_num[0] == pairs[0])[0] + ind2_matches = np.where(mapping_num[0] == pairs[1])[0] + + if ind1_matches.size > 0 and ind2_matches.size > 0: + if processed_files - 1 < mapping_num.shape[0]: + ind1 = mapping_num[processed_files - 1, ind1_matches[0]] + ind2 = mapping_num[processed_files - 1, ind2_matches[0]] + + if not (np.isnan(ind1) or np.isnan(ind2)): + index = np.where(np.logical_and(bond_ind[:, 0] == int(ind1), bond_ind[:, 1] == int(ind2)))[0] + if index.size != 0: + count[j] += 1 + else: + log_message(f"Skipping file {files} due to index out of bounds error", "WARNING") + else: + log_message(f"No matching indices found for {pairs} in {files}", "WARNING") + + # If no files were successfully processed or no bonds were found + if processed_files == 0 or len(tar_bond_ind) == 0: + log_message(f"No valid {bond_type} entries found across all PDB files.", "ERROR") + return None + + count_reshaped = count.reshape(-1, 1) + count_normalized = (count / processed_files * 100).reshape(-1, 1) + + # Modify tar_bond_ind to append the amino acid code before residue index + tar_bond_with_aa = [] + for bond in tar_bond_ind: + res1 = append_residue_code(bond[0], residue_dict) # Append AA code for Res1 + res2 = append_residue_code(bond[1], residue_dict) # Append AA code for Res2 + tar_bond_with_aa.append([res1, res2]) + + tar_bond_with_aa = np.array(tar_bond_with_aa) + + # Combine tar_bond_with_aa with count and percentage + output_data = np.hstack((tar_bond_with_aa, count_reshaped, count_normalized)) + + log_message(f"Finished processing {processed_files} PDB files.") + output_filename = f'{bond_type}_consensus.txt' + + # Save the result with amino acid codes and numeric values + np.savetxt(output_filename, output_data, fmt='%s %s %s %s', delimiter=' ', + header='Res1 Res2 Count Percentage', comments='') + + return output_data, fixed_files # Return fixed_files to remove later + + +def plot_barh(result, bond_type, n_per_plot=None, min_height=8): + """Plot horizontal bar plots of percentages, splitting the data into fixed-sized plots.""" + plt.rcParams.update({'font.size': 20}) + + # Set default value for n_per_plot if None is passed + if n_per_plot is None: + n_per_plot = 20 + + # Error handling if result is None or empty + if result is None or len(result) == 0: + log_message(f"Skipping plot for {bond_type} due to insufficient data.", "ERROR") + return + + num_entries = result.shape[0] + num_plots = (num_entries + n_per_plot - 1) // n_per_plot # Number of plots required + + for plot_idx in range(num_plots): + # Slice the data for the current plot (take the next 'n_per_plot' entries) + start_idx = plot_idx * n_per_plot + end_idx = min((plot_idx + 1) * n_per_plot, num_entries) + result_chunk = result[start_idx:end_idx] + + log_message(f"Plotting entries {start_idx+1} to {end_idx} for {bond_type}.") + + # Use residue numbers for y-axis labels + y_labels = [f"{str(row[0])}-{str(row[1])}" for row in result_chunk] + percentage_values = result_chunk[:, 3].astype('float') + + norm = plt.Normalize(vmin=0, vmax=100) + cmap = plt.cm.get_cmap('coolwarm') + + # Set the figure height with a minimum height of `min_height` for small datasets + fig_height = max(min_height, len(result_chunk) * 0.4) + plt.figure(figsize=(18, fig_height)) + bars = plt.barh(y_labels, percentage_values, color=cmap(norm(percentage_values))) + + sm = plt.cm.ScalarMappable(cmap=cmap, norm=norm) + sm.set_array([]) + + # Adjust color bar height to match the number of entries + plt.colorbar(sm, label='Percentage', fraction=0.02, pad=0.04) + + plt.ylim(-1, result_chunk.shape[0]) + plt.ylabel(f'{bond_type} Pairs of Residue Numbers') + plt.xlabel('Percentage') + plt.title(f'Persistence of {bond_type} Bonds (entries {start_idx+1}-{end_idx})') + + # Save each plot with an incremented filename for multiple plots + output_plot_file = f'{bond_type}_plot_part{plot_idx + 1}.png' + log_message(f"Saving plot to: {output_plot_file}") + plt.savefig(output_plot_file) + plt.close() + log_message(f"Plot saved successfully.") + def calcHydrophobicOverlapingAreas(atoms, **kwargs): """Provide information about hydrophobic contacts between pairs of residues based on @@ -3010,6 +3239,62 @@ def showSminaTermValues(data): return show +def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): + """Analyzes protein structures to identify various interactions using InSty. + Processes data from the MSA file and folder with selected models. + + :arg mapping_file: Aligned residue indices, MSA file type + :type mapping_file: str + + :arg PDB_folder: Directory containing PDB model files + :type PDB_folder: str + + :arg fixer: The method for fixing lack of hydrogen bonds + :type fixer: 'pdbfixer' or 'openbabel' + """ + + import os + functions = { + "HydrogenBonds": calcHydrogenBonds, + "SaltBridges": calcSaltBridges, + "RepulsiveIonicBonding": calcRepulsiveIonicBonding, + "PiStacking": calcPiStacking, + "PiCation": calcPiCation, + "Hydrophobic": calcHydrophobic, + "DisulfideBonds": calcDisulfideBonds + } + + # Process each bond type + for bond_type, func in functions.items(): + # Check if the consensus file already exists + #consensus_file = f'{bond_type}_consensus.txt' + #if os.path.exists(consensus_file): + # log_message(f"Consensus file for {bond_type} already exists, skipping.", "INFO") + # continue + + log_message(f"Processing {bond_type}") + + result = process_data(mapping_file, PDB_folder, func, bond_type, fixer) + + # Check if the result is None (no valid bonds found) + if result is None: + log_message(f"No valid {bond_type} entries found, skipping further processing.", "WARNING") + continue + + result, fixed_files = result + + # Proceed with plotting + n = None + plot_barh(result, bond_type, n) + + # Remove all fixed files at the end + if 'fixed_files' in locals(): + for fixed_file in fixed_files: + if os.path.exists(fixed_file): + os.remove(fixed_file) + log_message(f"Removed fixed file: {fixed_file}") + + class Interactions(object): From 4505312a13bfe4d2ef5fe7adbf637dc991a90abe Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Sat, 9 Nov 2024 23:01:05 +0100 Subject: [PATCH 25/95] fstrings removed --- prody/proteins/interactions.py | 58 ++++++++++++++++------------------ 1 file changed, 28 insertions(+), 30 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index c741b426c..2c47b9753 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -321,7 +321,7 @@ def remove_empty_strings(row): def log_message(message, level="INFO"): """Log a message with a specified log level.""" - print(f"[{level}] {message}") + print("[{}] {}".format(level, message)) def is_module_installed(module_name): """Check if a Python module is installed.""" @@ -345,24 +345,24 @@ def load_residues_from_pdb(pdb_file): one_letter_code = three_to_one(resname) # Convert to one-letter code residue_dict[resnum] = one_letter_code except KeyError: - log_message(f"Unknown residue: {resname} at position {resnum}", "WARNING") - + log_message("Unknown residue: {} at position {}".format(resname, resnum), "WARNING") + return residue_dict def append_residue_code(residue_num, residue_dict): """Return a string with one-letter amino acid code and residue number.""" aa_code = residue_dict.get(residue_num, "X") # Use "X" for unknown residues - return f"{aa_code}{residue_num}" + return "{}{}".format(aa_code, residue_num) def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): """Process the mapping file and the PDB folder to compute interaction counts and percentages.""" - log_message(f"Loading mapping file: {mapping_file}") + log_message("Loading mapping file: {}".format(mapping_file)) # Load and clean the mapping file try: mapping = np.loadtxt(mapping_file, delimiter=' ', dtype=str) except Exception as e: - log_message(f"Error loading mapping file: {e}", "ERROR") + log_message("Error loading mapping file: {}".format(e), "ERROR") return None mapping = np.where(mapping == '-', np.nan, mapping) @@ -373,7 +373,7 @@ def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): pdb_model_path = os.path.join(pdb_folder, 'model1.pdb') residue_dict = load_residues_from_pdb(pdb_model_path) - log_message(f"Processing PDB files in folder: {pdb_folder}") + log_message("Processing PDB files in folder: {}".format(pdb_folder)) tar_bond_ind = [] processed_files = 0 # To track the number of files successfully processed @@ -382,24 +382,24 @@ def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): for i, files in enumerate(os.listdir(pdb_folder)): # Skip any file that has already been processed (files with 'addH_' prefix) if files.startswith('addH_'): - log_message(f"Skipping already fixed file: {files}", "INFO") + log_message("Skipping already fixed file: {}".format(files), "INFO") continue - log_message(f"Processing file {i+1}: {files}") - + log_message("Processing file {}: {}".format(i + 1, files)) + pdb_file_path = os.path.join(pdb_folder, files) fixed_pdb_path = pdb_file_path.replace(files, 'addH_' + files) # Check if the fixed file already exists, skip fixing if it does if not os.path.exists(fixed_pdb_path): try: - log_message(f"Running fixer on {pdb_file_path} using {fixer}.") + log_message("Running fixer on {} using {}.".format(pdb_file_path, fixer)) addMissingAtoms(pdb_file_path, method=fixer) except Exception as e: - log_message(f"Error adding missing atoms: {e}", "ERROR") + log_message("Error adding missing atoms: {}".format(e), "ERROR") continue else: - log_message(f"Using existing fixed file: {fixed_pdb_path}") + log_message("Using existing fixed file: {}".format(fixed_pdb_path)) try: coords = parsePDB(fixed_pdb_path) @@ -407,12 +407,12 @@ def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): interactions = Interactions() bonds = interaction_func(atoms) except Exception as e: - log_message(f"Error processing PDB file {files}: {e}", "ERROR") + log_message("Error processing PDB file {}: {}".format(files, e), "ERROR") continue # If no bonds were found, skip this file if len(bonds) == 0: - log_message(f"No {bond_type} found in file {files}, skipping.", "WARNING") + log_message("No {} found in file {}, skipping.".format(bond_type, files), "WARNING") continue processed_files += 1 # Increment successfully processed files @@ -449,13 +449,13 @@ def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): if index.size != 0: count[j] += 1 else: - log_message(f"Skipping file {files} due to index out of bounds error", "WARNING") + log_message("Skipping file {} due to index out of bounds error".format(files), "WARNING") else: - log_message(f"No matching indices found for {pairs} in {files}", "WARNING") + log_message("No matching indices found for {} in {}".format(pairs, files), "WARNING") # If no files were successfully processed or no bonds were found if processed_files == 0 or len(tar_bond_ind) == 0: - log_message(f"No valid {bond_type} entries found across all PDB files.", "ERROR") + log_message("No valid {} entries found across all PDB files.".format(bond_type), "ERROR") return None count_reshaped = count.reshape(-1, 1) @@ -473,8 +473,8 @@ def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): # Combine tar_bond_with_aa with count and percentage output_data = np.hstack((tar_bond_with_aa, count_reshaped, count_normalized)) - log_message(f"Finished processing {processed_files} PDB files.") - output_filename = f'{bond_type}_consensus.txt' + log_message("Finished processing {} PDB files.".format(processed_files)) + output_filename = '{}_consensus.txt'.format(bond_type) # Save the result with amino acid codes and numeric values np.savetxt(output_filename, output_data, fmt='%s %s %s %s', delimiter=' ', @@ -493,7 +493,7 @@ def plot_barh(result, bond_type, n_per_plot=None, min_height=8): # Error handling if result is None or empty if result is None or len(result) == 0: - log_message(f"Skipping plot for {bond_type} due to insufficient data.", "ERROR") + log_message("Skipping plot for {} due to insufficient data.".format(bond_type), "ERROR") return num_entries = result.shape[0] @@ -505,10 +505,9 @@ def plot_barh(result, bond_type, n_per_plot=None, min_height=8): end_idx = min((plot_idx + 1) * n_per_plot, num_entries) result_chunk = result[start_idx:end_idx] - log_message(f"Plotting entries {start_idx+1} to {end_idx} for {bond_type}.") - + log_message("Plotting entries {} to {} for {}.".format(start_idx + 1, end_idx, bond_type)) # Use residue numbers for y-axis labels - y_labels = [f"{str(row[0])}-{str(row[1])}" for row in result_chunk] + y_labels = ["{}-{}".format(str(row[0]), str(row[1])) for row in result_chunk] percentage_values = result_chunk[:, 3].astype('float') norm = plt.Normalize(vmin=0, vmax=100) @@ -526,16 +525,15 @@ def plot_barh(result, bond_type, n_per_plot=None, min_height=8): plt.colorbar(sm, label='Percentage', fraction=0.02, pad=0.04) plt.ylim(-1, result_chunk.shape[0]) - plt.ylabel(f'{bond_type} Pairs of Residue Numbers') + plt.ylabel('{} Pairs of Residue Numbers'.format(bond_type)) plt.xlabel('Percentage') - plt.title(f'Persistence of {bond_type} Bonds (entries {start_idx+1}-{end_idx})') - + plt.title('Persistence of {} Bonds (entries {}-{})'.format(bond_type, start_idx + 1, end_idx)) # Save each plot with an incremented filename for multiple plots - output_plot_file = f'{bond_type}_plot_part{plot_idx + 1}.png' - log_message(f"Saving plot to: {output_plot_file}") + output_plot_file = '{}_plot_part{}.png'.format(bond_type, plot_idx + 1) + log_message("Saving plot to: {}".format(output_plot_file)) plt.savefig(output_plot_file) plt.close() - log_message(f"Plot saved successfully.") + log_message("Plot saved successfully.") def calcHydrophobicOverlapingAreas(atoms, **kwargs): From b8cdafca125e70015badbb8cd7fcb5b664fb5abb Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Sat, 9 Nov 2024 23:08:05 +0100 Subject: [PATCH 26/95] replacing additional fstrings --- prody/proteins/interactions.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 2c47b9753..7f66f841b 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3265,18 +3265,17 @@ def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): # Process each bond type for bond_type, func in functions.items(): # Check if the consensus file already exists - #consensus_file = f'{bond_type}_consensus.txt' - #if os.path.exists(consensus_file): - # log_message(f"Consensus file for {bond_type} already exists, skipping.", "INFO") - # continue + consensus_file = '{}_consensus.txt'.format(bond_type) + if os.path.exists(consensus_file): + log_message("Consensus file for {} already exists, skipping.".format(bond_type), "INFO") + continue - log_message(f"Processing {bond_type}") - + log_message("Processing {}".format(bond_type)) result = process_data(mapping_file, PDB_folder, func, bond_type, fixer) # Check if the result is None (no valid bonds found) if result is None: - log_message(f"No valid {bond_type} entries found, skipping further processing.", "WARNING") + log_message("No valid {} entries found, skipping further processing.".format(bond_type), "WARNING") continue result, fixed_files = result @@ -3290,7 +3289,7 @@ def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): for fixed_file in fixed_files: if os.path.exists(fixed_file): os.remove(fixed_file) - log_message(f"Removed fixed file: {fixed_file}") + log_message("Removed fixed file: {}".format(fixed_file)) From 6345be8d149686550f56fbec9028b12d8b6918c0 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Sat, 9 Nov 2024 23:53:39 +0100 Subject: [PATCH 27/95] extractMultiModelPDB --- prody/proteins/interactions.py | 44 ++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 7f66f841b..12257cce7 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3237,9 +3237,49 @@ def showSminaTermValues(data): return show +def extractMultiModelPDB(multimodelPDB, folder_name): + """Extracts individual PDB models from multimodel PDB and places them into the pointed directory. + If used for calculating calcSignatureInteractions align the models. + + :arg multimodelPDB: The file containing models in multi-model PDB format + :type multimodelPDB: str + + :arg folder_name: The name of the folder to which PDBs will be extracted + :type folder_name: str + """ + + folder_name = kwargs.pop('folder_name', 'struc_homologs') + + with open(multimodelPDB, 'r') as f: + file = f.readlines() + os.makedirs(folder_name, exist_ok=True) + + fp = None + for line in file: + line = line.strip() + sig1 = line[:5] + sig2 = line[:6] + sig3 = line[:4] + + if sig1 == 'MODEL': + model_number = line.split()[1] + filename = 'model{}.pdb'.format(model_number) + fp = open(filename, 'w') + continue + + if sig2 == 'ENDMDL': + if fp: + fp.close() + os.rename(filename, './{}/{}'.format(folder_name,filename)) + continue + + if sig3 == 'ATOM' and fp: + fp.write("{}\n".format(line)) + + def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): - """Analyzes protein structures to identify various interactions using InSty. - Processes data from the MSA file and folder with selected models. + """Analyzes protein structures to identify various interactions using InSty. + Processes data from the MSA file and folder with selected models. :arg mapping_file: Aligned residue indices, MSA file type :type mapping_file: str From f088e5a7567a5635e4f4e9d49e111ba49157542f Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Sun, 10 Nov 2024 09:17:01 +0100 Subject: [PATCH 28/95] fstrings replaced --- prody/proteins/interactions.py | 78 +++++++++++++++++----------------- 1 file changed, 38 insertions(+), 40 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index c741b426c..0a49dcaa4 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -34,6 +34,8 @@ import multiprocessing import matplotlib.pylab as plt import os +from . import fixer + __all__ = ['calcHydrogenBonds', 'calcChHydrogenBonds', 'calcSaltBridges', 'calcRepulsiveIonicBonding', 'calcPiStacking', 'calcPiCation', @@ -49,7 +51,7 @@ 'Interactions', 'InteractionsTrajectory', 'LigandInteractionsTrajectory', 'calcSminaBindingAffinity', 'calcSminaPerAtomInteractions', 'calcSminaTermValues', 'showSminaTermValues', 'showPairEnergy', 'checkNonstandardResidues', - 'saveInteractionsAsDummyAtoms', 'calcSignatureInteractions'] + 'saveInteractionsAsDummyAtoms', 'extractMultiModelPDB', 'calcSignatureInteractions'] def cleanNumbers(listContacts): @@ -321,7 +323,7 @@ def remove_empty_strings(row): def log_message(message, level="INFO"): """Log a message with a specified log level.""" - print(f"[{level}] {message}") + print("[{}] {}".format(level, message)) def is_module_installed(module_name): """Check if a Python module is installed.""" @@ -345,24 +347,24 @@ def load_residues_from_pdb(pdb_file): one_letter_code = three_to_one(resname) # Convert to one-letter code residue_dict[resnum] = one_letter_code except KeyError: - log_message(f"Unknown residue: {resname} at position {resnum}", "WARNING") - + log_message("Unknown residue: {} at position {}".format(resname, resnum), "WARNING") + return residue_dict def append_residue_code(residue_num, residue_dict): """Return a string with one-letter amino acid code and residue number.""" aa_code = residue_dict.get(residue_num, "X") # Use "X" for unknown residues - return f"{aa_code}{residue_num}" + return "{}{}".format(aa_code, residue_num) def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): """Process the mapping file and the PDB folder to compute interaction counts and percentages.""" - log_message(f"Loading mapping file: {mapping_file}") + log_message("Loading mapping file: {}".format(mapping_file)) # Load and clean the mapping file try: mapping = np.loadtxt(mapping_file, delimiter=' ', dtype=str) except Exception as e: - log_message(f"Error loading mapping file: {e}", "ERROR") + log_message("Error loading mapping file: {}".format(e), "ERROR") return None mapping = np.where(mapping == '-', np.nan, mapping) @@ -373,7 +375,7 @@ def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): pdb_model_path = os.path.join(pdb_folder, 'model1.pdb') residue_dict = load_residues_from_pdb(pdb_model_path) - log_message(f"Processing PDB files in folder: {pdb_folder}") + log_message("Processing PDB files in folder: {}".format(pdb_folder)) tar_bond_ind = [] processed_files = 0 # To track the number of files successfully processed @@ -382,24 +384,24 @@ def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): for i, files in enumerate(os.listdir(pdb_folder)): # Skip any file that has already been processed (files with 'addH_' prefix) if files.startswith('addH_'): - log_message(f"Skipping already fixed file: {files}", "INFO") + log_message("Skipping already fixed file: {}".format(files), "INFO") continue - log_message(f"Processing file {i+1}: {files}") - + log_message("Processing file {}: {}".format(i + 1, files)) + pdb_file_path = os.path.join(pdb_folder, files) fixed_pdb_path = pdb_file_path.replace(files, 'addH_' + files) # Check if the fixed file already exists, skip fixing if it does if not os.path.exists(fixed_pdb_path): try: - log_message(f"Running fixer on {pdb_file_path} using {fixer}.") + log_message("Running fixer on {} using {}.".format(pdb_file_path, fixer)) addMissingAtoms(pdb_file_path, method=fixer) except Exception as e: - log_message(f"Error adding missing atoms: {e}", "ERROR") + log_message("Error adding missing atoms: {}".format(e), "ERROR") continue else: - log_message(f"Using existing fixed file: {fixed_pdb_path}") + log_message("Using existing fixed file: {}".format(fixed_pdb_path)) try: coords = parsePDB(fixed_pdb_path) @@ -407,12 +409,12 @@ def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): interactions = Interactions() bonds = interaction_func(atoms) except Exception as e: - log_message(f"Error processing PDB file {files}: {e}", "ERROR") + log_message("Error processing PDB file {}: {}".format(files, e), "ERROR") continue # If no bonds were found, skip this file if len(bonds) == 0: - log_message(f"No {bond_type} found in file {files}, skipping.", "WARNING") + log_message("No {} found in file {}, skipping.".format(bond_type, files), "WARNING") continue processed_files += 1 # Increment successfully processed files @@ -449,13 +451,13 @@ def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): if index.size != 0: count[j] += 1 else: - log_message(f"Skipping file {files} due to index out of bounds error", "WARNING") + log_message("Skipping file {} due to index out of bounds error".format(files), "WARNING") else: - log_message(f"No matching indices found for {pairs} in {files}", "WARNING") + log_message("No matching indices found for {} in {}".format(pairs, files), "WARNING") # If no files were successfully processed or no bonds were found if processed_files == 0 or len(tar_bond_ind) == 0: - log_message(f"No valid {bond_type} entries found across all PDB files.", "ERROR") + log_message("No valid {} entries found across all PDB files.".format(bond_type), "ERROR") return None count_reshaped = count.reshape(-1, 1) @@ -473,8 +475,8 @@ def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): # Combine tar_bond_with_aa with count and percentage output_data = np.hstack((tar_bond_with_aa, count_reshaped, count_normalized)) - log_message(f"Finished processing {processed_files} PDB files.") - output_filename = f'{bond_type}_consensus.txt' + log_message("Finished processing {} PDB files.".format(processed_files)) + output_filename = '{}_consensus.txt'.format(bond_type) # Save the result with amino acid codes and numeric values np.savetxt(output_filename, output_data, fmt='%s %s %s %s', delimiter=' ', @@ -493,7 +495,7 @@ def plot_barh(result, bond_type, n_per_plot=None, min_height=8): # Error handling if result is None or empty if result is None or len(result) == 0: - log_message(f"Skipping plot for {bond_type} due to insufficient data.", "ERROR") + log_message("Skipping plot for {} due to insufficient data.".format(bond_type), "ERROR") return num_entries = result.shape[0] @@ -505,10 +507,9 @@ def plot_barh(result, bond_type, n_per_plot=None, min_height=8): end_idx = min((plot_idx + 1) * n_per_plot, num_entries) result_chunk = result[start_idx:end_idx] - log_message(f"Plotting entries {start_idx+1} to {end_idx} for {bond_type}.") - + log_message("Plotting entries {} to {} for {}.".format(start_idx + 1, end_idx, bond_type)) # Use residue numbers for y-axis labels - y_labels = [f"{str(row[0])}-{str(row[1])}" for row in result_chunk] + y_labels = ["{}-{}".format(str(row[0]), str(row[1])) for row in result_chunk] percentage_values = result_chunk[:, 3].astype('float') norm = plt.Normalize(vmin=0, vmax=100) @@ -526,16 +527,15 @@ def plot_barh(result, bond_type, n_per_plot=None, min_height=8): plt.colorbar(sm, label='Percentage', fraction=0.02, pad=0.04) plt.ylim(-1, result_chunk.shape[0]) - plt.ylabel(f'{bond_type} Pairs of Residue Numbers') + plt.ylabel('{} Pairs of Residue Numbers'.format(bond_type)) plt.xlabel('Percentage') - plt.title(f'Persistence of {bond_type} Bonds (entries {start_idx+1}-{end_idx})') - + plt.title('Persistence of {} Bonds (entries {}-{})'.format(bond_type, start_idx + 1, end_idx)) # Save each plot with an incremented filename for multiple plots - output_plot_file = f'{bond_type}_plot_part{plot_idx + 1}.png' - log_message(f"Saving plot to: {output_plot_file}") + output_plot_file = '{}_plot_part{}.png'.format(bond_type, plot_idx + 1) + log_message("Saving plot to: {}".format(output_plot_file)) plt.savefig(output_plot_file) plt.close() - log_message(f"Plot saved successfully.") + log_message("Plot saved successfully.") def calcHydrophobicOverlapingAreas(atoms, **kwargs): @@ -3253,7 +3253,6 @@ def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): :type fixer: 'pdbfixer' or 'openbabel' """ - import os functions = { "HydrogenBonds": calcHydrogenBonds, "SaltBridges": calcSaltBridges, @@ -3267,18 +3266,17 @@ def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): # Process each bond type for bond_type, func in functions.items(): # Check if the consensus file already exists - #consensus_file = f'{bond_type}_consensus.txt' - #if os.path.exists(consensus_file): - # log_message(f"Consensus file for {bond_type} already exists, skipping.", "INFO") - # continue + consensus_file = '{}_consensus.txt'.format(bond_type) + if os.path.exists(consensus_file): + log_message("Consensus file for {} already exists, skipping.".format(bond_type), "INFO") + continue - log_message(f"Processing {bond_type}") - + log_message("Processing {}".format(bond_type)) result = process_data(mapping_file, PDB_folder, func, bond_type, fixer) # Check if the result is None (no valid bonds found) if result is None: - log_message(f"No valid {bond_type} entries found, skipping further processing.", "WARNING") + log_message("No valid {} entries found, skipping further processing.".format(bond_type), "WARNING") continue result, fixed_files = result @@ -3292,7 +3290,7 @@ def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): for fixed_file in fixed_files: if os.path.exists(fixed_file): os.remove(fixed_file) - log_message(f"Removed fixed file: {fixed_file}") + log_message("Removed fixed file: {}".format(fixed_file)) From 0b8da0fa956fe0d0c206c41b721a9779e1d2bae3 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Sun, 10 Nov 2024 09:59:03 +0100 Subject: [PATCH 29/95] fixer import --- prody/proteins/interactions.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 7fd66f66d..1787022f2 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -34,7 +34,7 @@ import multiprocessing import matplotlib.pylab as plt import os -from . import fixer +from .fixer import * __all__ = ['calcHydrogenBonds', 'calcChHydrogenBonds', 'calcSaltBridges', @@ -3280,8 +3280,8 @@ def extractMultiModelPDB(multimodelPDB, folder_name): def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): - """Analyzes protein structures to identify various interactions using InSty. - Processes data from the MSA file and folder with selected models. + """Analyzes protein structures to identify various interactions using InSty. + Processes data from the MSA file and folder with selected models. :arg mapping_file: Aligned residue indices, MSA file type :type mapping_file: str From 1260011205a3a7695dc16978ad7432e819383c0d Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Sun, 10 Nov 2024 17:13:28 +0100 Subject: [PATCH 30/95] extractMultiModelPDB improvements --- prody/proteins/interactions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 1787022f2..428e04be2 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3239,7 +3239,7 @@ def showSminaTermValues(data): return show -def extractMultiModelPDB(multimodelPDB, folder_name): +def extractMultiModelPDB(multimodelPDB, **kwargs): """Extracts individual PDB models from multimodel PDB and places them into the pointed directory. If used for calculating calcSignatureInteractions align the models. From f2956d96bcc5a099f4a80e646e19de91ffcb7c89 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Sun, 10 Nov 2024 17:44:15 +0100 Subject: [PATCH 31/95] createFoldseekAlignment --- prody/proteins/interactions.py | 70 +++++++++++++++++++++++++++++++++- 1 file changed, 69 insertions(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 428e04be2..1e7c4a106 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -51,7 +51,8 @@ 'Interactions', 'InteractionsTrajectory', 'LigandInteractionsTrajectory', 'calcSminaBindingAffinity', 'calcSminaPerAtomInteractions', 'calcSminaTermValues', 'showSminaTermValues', 'showPairEnergy', 'checkNonstandardResidues', - 'saveInteractionsAsDummyAtoms', 'extractMultiModelPDB', 'calcSignatureInteractions'] + 'saveInteractionsAsDummyAtoms', 'createFoldseekAlignment', + 'extractMultiModelPDB', 'calcSignatureInteractions'] def cleanNumbers(listContacts): @@ -3239,6 +3240,73 @@ def showSminaTermValues(data): return show +def createFoldseekAlignment(prot_seq, prot_foldseek, *kwargs): + """Aligns sequences from prot_seq with homologous sequences identified in prot_foldseek, + generating a multiple sequence alignment. + + :arg prot_seq: The natural sequence extracted from the PDB (seq file) + :type prot_seq: str + + :arg prot_foldseek: The results from foldseek (foldseek file) + :type prot_foldseek: str + + :arg msa_output_name: The natural sequence extracted from the PDB (msa file) + :type msa_output_name: str + """ + + msa_output_name = kwargs.pop('msa_output_name', 'prot_struc.msa') + + def find_match_index(tar_nogap, nat_seq): + tar_nogap_str = ''.join(tar_nogap) + nat_seq_str = ''.join(nat_seq) + index = nat_seq_str.find(tar_nogap_str) + return index + + # Read input files + with open(prot_seq, 'r') as f: + file1 = f.readlines() + + with open(prot_foldseek, 'r') as f: + file2 = f.readlines() + + # Open output file + with open(msa_output_name, 'w') as fp: + nat_seq = list(file1[0].strip()) + + # Write the natural sequence to the output file + fp.write(''.join(nat_seq) + "\n") + + # Process each foldseek entry + for line in file2: + entries = line.split() + + if float(entries[2]) >= 0.5: + tar_seq = list(entries[11].strip()) + mat_seq = list(entries[12].strip()) + + tar_nogap = [] + processed_mat = [] + + for j in range(len(tar_seq)): + if tar_seq[j] != '-': + tar_nogap.append(tar_seq[j]) + processed_mat.append(mat_seq[j]) + + match_index = find_match_index(tar_nogap, nat_seq) + end_index = match_index + len(tar_nogap) + m = 0 + + for l in range(len(nat_seq)): + if l < match_index: + fp.write("-") + elif l >= match_index and l < end_index: + fp.write(processed_mat[m]) + m += 1 + else: + fp.write("-") + fp.write("\n") + + def extractMultiModelPDB(multimodelPDB, **kwargs): """Extracts individual PDB models from multimodel PDB and places them into the pointed directory. If used for calculating calcSignatureInteractions align the models. From ca717195fd747d34d44d8a751a60795f63fdef30 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Sun, 10 Nov 2024 19:02:17 +0100 Subject: [PATCH 32/95] fix in kwargs, createFoldseekAlignment --- prody/proteins/interactions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 1e7c4a106..6df421e9a 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3240,7 +3240,7 @@ def showSminaTermValues(data): return show -def createFoldseekAlignment(prot_seq, prot_foldseek, *kwargs): +def createFoldseekAlignment(prot_seq, prot_foldseek, **kwargs): """Aligns sequences from prot_seq with homologous sequences identified in prot_foldseek, generating a multiple sequence alignment. From f736b8a43f143bc9972fb7af7fc9f22c49542d81 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Sun, 10 Nov 2024 21:05:11 +0100 Subject: [PATCH 33/95] LOGGER info added to SignInt functions --- prody/proteins/interactions.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 6df421e9a..c94f359c5 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -324,7 +324,7 @@ def remove_empty_strings(row): def log_message(message, level="INFO"): """Log a message with a specified log level.""" - print("[{}] {}".format(level, message)) + LOGGER.info("[{}] {}".format(level, message)) def is_module_installed(module_name): """Check if a Python module is installed.""" @@ -3305,6 +3305,8 @@ def find_match_index(tar_nogap, nat_seq): else: fp.write("-") fp.write("\n") + + LOGGER.info("MSA file is now created, and saved as {}.".format(msa_output_name)) def extractMultiModelPDB(multimodelPDB, **kwargs): @@ -3317,7 +3319,8 @@ def extractMultiModelPDB(multimodelPDB, **kwargs): :arg folder_name: The name of the folder to which PDBs will be extracted :type folder_name: str """ - + import os + folder_name = kwargs.pop('folder_name', 'struc_homologs') with open(multimodelPDB, 'r') as f: @@ -3345,6 +3348,8 @@ def extractMultiModelPDB(multimodelPDB, **kwargs): if sig3 == 'ATOM' and fp: fp.write("{}\n".format(line)) + + LOGGER.info("Individual models are saved in {}.".format(folder_name)) def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): @@ -3360,6 +3365,7 @@ def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): :arg fixer: The method for fixing lack of hydrogen bonds :type fixer: 'pdbfixer' or 'openbabel' """ + import os functions = { "HydrogenBonds": calcHydrogenBonds, From 01126525b9a6050a03a19df11e43df94228bae72 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Sun, 10 Nov 2024 22:42:24 +0100 Subject: [PATCH 34/95] runFoldseek is added --- prody/proteins/interactions.py | 296 ++++++++++++++++++++++++++++++++- 1 file changed, 295 insertions(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index c94f359c5..fd433508a 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -51,7 +51,7 @@ 'Interactions', 'InteractionsTrajectory', 'LigandInteractionsTrajectory', 'calcSminaBindingAffinity', 'calcSminaPerAtomInteractions', 'calcSminaTermValues', 'showSminaTermValues', 'showPairEnergy', 'checkNonstandardResidues', - 'saveInteractionsAsDummyAtoms', 'createFoldseekAlignment', + 'saveInteractionsAsDummyAtoms', 'createFoldseekAlignment', 'runFoldseek', 'extractMultiModelPDB', 'calcSignatureInteractions'] @@ -3352,6 +3352,300 @@ def extractMultiModelPDB(multimodelPDB, **kwargs): LOGGER.info("Individual models are saved in {}.".format(folder_name)) +def runFoldseek(pdb_file, chain, coverage_threshold, tm_threshold): + """This script processes a PDB file to extract a specified chain's sequence, searches for + homologous structures using foldseek, and prepares alignment outputs for further analysis. + Before using the function, install Foldseek: + >>> conda install bioconda::foldseek + + :arg pdb_file: A PDB file path + :type pdb_file: str + + :arg chain: Chain identifier + :type chain: str + + :arg coverage_threshold: Coverage threshold + :type coverage_threshold: int, float + + :arg tm_threshold: TM-score threshold + :type tm_threshold: float + """ + + import os + import subprocess + import re + import sys + + # Define the amino acid conversion function + def aa_onelet(three_letter_code): + codes = { + 'ALA': 'A', 'ARG': 'R', 'ASN': 'N', 'ASP': 'D', 'CYS': 'C', + 'GLN': 'Q', 'GLU': 'E', 'GLY': 'G', 'HIS': 'H', 'ILE': 'I', + 'LEU': 'L', 'LYS': 'K', 'MET': 'M', 'PHE': 'F', 'PRO': 'P', + 'SER': 'S', 'THR': 'T', 'TRP': 'W', 'TYR': 'Y', 'VAL': 'V', + 'MSE': 'M' + } + return codes.get(three_letter_code) + + # Function to extract the sequence from the PDB file + def extract_sequence_from_pdb(pdb_file, chain, output_file): + sequence = [] + prev_resid = -9999 + + with open(pdb_file, 'r') as pdb: + for line in pdb: + if line.startswith("ATOM"): + ch = line[21] + resid = int(line[22:26].strip()) + aa = line[17:20].strip() + + if ch == chain and resid != prev_resid: + one_aa = aa_onelet(aa) + if one_aa: + sequence.append(one_aa) + prev_resid = resid + + with open(output_file, 'w') as seq_file: + seq_file.write(''.join(sequence)) + + # Inputs + fpath = pdb_file.strip() + chain = chain.strip() + cov_threshold = float(coverage_threshold.strip()) + tm_threshold = float(tm_threshold.strip()) + + # Filter PDB file + awk_command = "awk '{{if (substr($0, 22, 1) == \"{0}\") print}}'".format(chain) + subprocess.run("cat {0} | grep '^ATOM' | {1} > inp.pdb".format(fpath, awk_command), shell=True) + + # Run foldseek and other commands + subprocess.run([ + 'foldseek', 'easy-search', 'inp.pdb', '../../../foldseek/pdb', 'prot.foldseek', + 'tmp2', '--exhaustive-search', '1', '--format-output', + "query,target,qstart,qend,tstart,tend,qcov,tcov,qtmscore,ttmscore,rmsd,qaln,taln", + '-c', str(cov_threshold) + ]) + + # Extract sequence and write to prot.seq + extract_sequence_from_pdb('inp.pdb', chain, 'prot.seq') + createFoldseekAlignment('prot.seq', 'prot.foldseek', msa_output_name='prot_struc.msa') + + # Read input files + with open('inp.pdb', 'r') as f: + file1 = f.readlines() + + with open('prot.foldseek', 'r') as f: + file2 = f.readlines() + + with open('prot_struc.msa', 'r') as f: + file3 = f.readlines() + + # Open output files + fp1 = open("aligned_structures.pdb", 'w') + fp2 = open("shortlisted_resind.msa", 'w') + fp6 = open("seq_match_reconfirm.txt", 'w') + fp7 = open("aligned_structures_extended.pdb", 'w') + fp9 = open("shortlisted.foldseek", 'w') + fp10 = open("shortlisted.msa", 'w') + + # Initialize variables + mod_count = 1 + fp1.write("MODEL\t{0}\n".format(mod_count)) + fp7.write("MODEL\t{0}\n".format(mod_count)) + + seq1 = list(file3[0].strip()) + ind1 = 0 + prev_id = -9999 + + # Process input PDB file + for line in file1: + line = line.strip() + id_ = line[0:4] + ch = line[21] + resid = int(line[22:26].strip()) + aa = line[17:20] + + if id_ == 'ATOM' and ch == chain and resid != prev_id: + prev_id = resid + one_aa = aa_onelet(aa) + if one_aa == seq1[ind1]: + fp1.write("{0}\n".format(line)) + fp7.write("{0}\n".format(line)) + fp2.write("{0} ".format(resid)) + ind1 += 1 + else: + print("Mismatch in sequence and structure of Query protein at Index {0}".format(ind1)) + break + elif id_ == 'ATOM' and ch == chain and resid == prev_id: + fp1.write("{0}\n".format(line)) + fp7.write("{0}\n".format(line)) + + fp1.write("TER\nENDMDL\n\n") + fp7.write("TER\nENDMDL\n\n") + fp2.write("\n") + fp10.write("{0}\n".format(file3[0].strip())) + + # Processing foldseek results + os.makedirs("temp", exist_ok=True) + + for i, entry in enumerate(file2): + entries = re.split(r'\s+', entry.strip()) + + if float(entries[8]) < tm_threshold: + continue + + tstart = int(entries[4]) + tend = int(entries[5]) + pdb = entries[1][:4] + chain = entries[1][-1] + fname = "{0}.pdb".format(pdb) + + # Download and process the target PDB file + subprocess.run(['wget', '-P', 'temp', "https://files.rcsb.org/download/{0}".format(fname)]) + + awk_command = "awk '{{if (substr($0, 22, 1) == \"{0}\") print}}'".format(chain) + subprocess.run("cat ./temp/{0} | grep -E '^(ATOM|HETATM)' | {1} > target.pdb".format(fname, awk_command), shell=True) + + with open('target.pdb', 'r') as target_file: + file4 = target_file.readlines() + + qseq = list(entries[11]) + tseq = list(entries[12]) + + start_line = 0 + prevind = -9999 + tarind = 0 + + for j, line in enumerate(file4): + resid = int(line[22:26].strip()) + if resid != prevind: + prevind = resid + tarind += 1 + if tarind == tstart: + start_line = j + break + + prevind = -9999 + ind2 = 0 + j = start_line + flag2 = False + + with open("temp_coord.txt", 'w') as fp4, \ + open("temp_resind.txt", 'w') as fp3, \ + open("temp_seq.txt", 'w') as fp5: + + for k in range(len(qseq)): + if tseq[k] != '-' and qseq[k] != '-': + line = file4[j].strip() + resid = int(line[22:26].strip()) + aa = line[17:20] + one_aa = aa_onelet(aa) + + if one_aa == tseq[k]: + fp3.write("{0} ".format(resid)) + fp5.write("{0}".format(one_aa)) + prevind = resid + else: + print("Mismatch in sequence and structure of Target protein {0}{1} at line {2} Index {3}-{4} ne {5}".format( + pdb, chain, j, k, one_aa, tseq[k])) + flag2 = True + break + + while resid == prevind: + fp4.write("{0}\n".format(line)) + j += 1 + if j >= len(file4): + break + line = file4[j].strip() + resid = int(line[22:26].strip()) + elif tseq[k] != '-' and qseq[k] == '-': + line = file4[j].strip() + resid = int(line[22:26].strip()) + aa = line[17:20] + one_aa = aa_onelet(aa) + + if one_aa == tseq[k]: + prevind = resid + else: + print("Mismatch in sequence and structure of Target protein {0}{1} at Line {2} Index {3}-{4} ne {5}".format( + pdb, chain, j, k, one_aa, tseq[k])) + flag2 = True + break + + while resid == prevind: + j += 1 + if j >= len(file4): + break + line = file4[j].strip() + resid = int(line[22:26].strip()) + + elif tseq[k] == '-' and qseq[k] != '-': + fp3.write("- ") + fp5.write("-") + + if flag2: + continue + + with open("temp_coord.txt", 'r') as f: + tmpcord = f.readlines() + + with open("temp_resind.txt", 'r') as f: + tmpresind = f.readlines() + + with open("temp_seq.txt", 'r') as f: + tmpseq = f.readlines() + + ind3 = i + 1 + seq1 = list(file3[ind3].strip()) + seq2 = tmpresind[0].strip().split() + + fp9.write("{0}".format(file2[i])) + fp10.write("{0}\n".format(file3[ind3].strip())) + + for m in range(len(seq1)): + if seq1[m] == '-': + fp2.write("{0} ".format(seq1[m])) + else: + break + + for n in range(len(seq2)): + fp2.write("{0} ".format(seq2[n])) + fp6.write("{0}".format(seq1[m])) + m += 1 + + for o in range(m, len(seq1)): + fp2.write("{0} ".format(seq1[m])) + + fp2.write("\n") + fp6.write("\n{0}\n\n\n".format(tmpseq[0])) + + mod_count += 1 + fp1.write("MODEL\t{0}\n".format(mod_count)) + fp7.write("MODEL\t{0}\n".format(mod_count)) + + for line in file4: + if line.strip(): + fp7.write("{0}\n".format(line.strip())) + + for line in tmpcord: + fp1.write("{0}".format(line)) + + fp1.write("TER\nENDMDL\n\n") + fp7.write("TER\nENDMDL\n\n") + + # Cleanup + fp1.close() + fp2.close() + fp6.close() + fp7.close() + fp9.close() + fp10.close() + + extractMultiModelPDB('aligned_structures.pdb', folder_name='struc_homologs') + subprocess.run("rm -f inp.pdb prot.seq target.pdb temp_coord.txt temp_resind.txt temp_seq.txt", shell=True) + subprocess.run("rm -rf tmp2 temp", shell=True) + + def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): """Analyzes protein structures to identify various interactions using InSty. Processes data from the MSA file and folder with selected models. From f0565f2ed6bfcbff0ceb9f9186df085ad6f3ef56 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Mon, 11 Nov 2024 19:22:03 +0100 Subject: [PATCH 35/95] LOGGER changes --- prody/proteins/interactions.py | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index fd433508a..44c1dd82c 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3352,7 +3352,7 @@ def extractMultiModelPDB(multimodelPDB, **kwargs): LOGGER.info("Individual models are saved in {}.".format(folder_name)) -def runFoldseek(pdb_file, chain, coverage_threshold, tm_threshold): +def runFoldseek(pdb_file, chain, coverage_threshold, tm_threshold, **kwargs): """This script processes a PDB file to extract a specified chain's sequence, searches for homologous structures using foldseek, and prepares alignment outputs for further analysis. Before using the function, install Foldseek: @@ -3365,10 +3365,13 @@ def runFoldseek(pdb_file, chain, coverage_threshold, tm_threshold): :type chain: str :arg coverage_threshold: Coverage threshold - :type coverage_threshold: int, float + :type coverage_threshold: float :arg tm_threshold: TM-score threshold :type tm_threshold: float + + :arg database_folder: Folder with the database + :type database_folder: str """ import os @@ -3376,6 +3379,8 @@ def runFoldseek(pdb_file, chain, coverage_threshold, tm_threshold): import re import sys + database_folder = kwargs.pop('database_folder', '../../../foldseek/pdb') + # Define the amino acid conversion function def aa_onelet(three_letter_code): codes = { @@ -3413,6 +3418,8 @@ def extract_sequence_from_pdb(pdb_file, chain, output_file): chain = chain.strip() cov_threshold = float(coverage_threshold.strip()) tm_threshold = float(tm_threshold.strip()) + + print(cov_threshold, type(cov_threshold)) # Filter PDB file awk_command = "awk '{{if (substr($0, 22, 1) == \"{0}\") print}}'".format(chain) @@ -3420,12 +3427,12 @@ def extract_sequence_from_pdb(pdb_file, chain, output_file): # Run foldseek and other commands subprocess.run([ - 'foldseek', 'easy-search', 'inp.pdb', '../../../foldseek/pdb', 'prot.foldseek', + 'foldseek', 'easy-search', 'inp.pdb', database_folder, 'prot.foldseek', 'tmp2', '--exhaustive-search', '1', '--format-output', "query,target,qstart,qend,tstart,tend,qcov,tcov,qtmscore,ttmscore,rmsd,qaln,taln", '-c', str(cov_threshold) ]) - + # Extract sequence and write to prot.seq extract_sequence_from_pdb('inp.pdb', chain, 'prot.seq') createFoldseekAlignment('prot.seq', 'prot.foldseek', msa_output_name='prot_struc.msa') @@ -3644,7 +3651,7 @@ def extract_sequence_from_pdb(pdb_file, chain, output_file): extractMultiModelPDB('aligned_structures.pdb', folder_name='struc_homologs') subprocess.run("rm -f inp.pdb prot.seq target.pdb temp_coord.txt temp_resind.txt temp_seq.txt", shell=True) subprocess.run("rm -rf tmp2 temp", shell=True) - + def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): """Analyzes protein structures to identify various interactions using InSty. From ba342f928234037c974012194aa2bc1afb479494 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Mon, 11 Nov 2024 19:27:47 +0100 Subject: [PATCH 36/95] cov-mode parameter to foldseek run --- prody/proteins/interactions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 44c1dd82c..df6891306 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3430,7 +3430,7 @@ def extract_sequence_from_pdb(pdb_file, chain, output_file): 'foldseek', 'easy-search', 'inp.pdb', database_folder, 'prot.foldseek', 'tmp2', '--exhaustive-search', '1', '--format-output', "query,target,qstart,qend,tstart,tend,qcov,tcov,qtmscore,ttmscore,rmsd,qaln,taln", - '-c', str(cov_threshold) + '-c', str(cov_threshold), '--cov-mode', '0' ]) # Extract sequence and write to prot.seq From 05b4621ab74d0f518e43fb08f283ae8a9c2ffac5 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Mon, 11 Nov 2024 22:05:08 +0100 Subject: [PATCH 37/95] runFoldseek improvements with kwargs, docs --- prody/proteins/interactions.py | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index df6891306..d4a28930b 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3352,11 +3352,16 @@ def extractMultiModelPDB(multimodelPDB, **kwargs): LOGGER.info("Individual models are saved in {}.".format(folder_name)) -def runFoldseek(pdb_file, chain, coverage_threshold, tm_threshold, **kwargs): +def runFoldseek(pdb_file, chain, **kwargs): """This script processes a PDB file to extract a specified chain's sequence, searches for homologous structures using foldseek, and prepares alignment outputs for further analysis. + Before using the function, install Foldseek: >>> conda install bioconda::foldseek + More information can be found: + https://github.com/steineggerlab/foldseek?tab=readme-ov-file#databasesand + + This function will not work under Windows. :arg pdb_file: A PDB file path :type pdb_file: str @@ -3365,12 +3370,16 @@ def runFoldseek(pdb_file, chain, coverage_threshold, tm_threshold, **kwargs): :type chain: str :arg coverage_threshold: Coverage threshold + by default 0.3 :type coverage_threshold: float :arg tm_threshold: TM-score threshold + by default 0.5 :type tm_threshold: float :arg database_folder: Folder with the database + by default '~/Donwload/foldseek/pdb' + To download the database use: 'foldseek databases PDB pdb tmp' in the console :type database_folder: str """ @@ -3379,8 +3388,10 @@ def runFoldseek(pdb_file, chain, coverage_threshold, tm_threshold, **kwargs): import re import sys - database_folder = kwargs.pop('database_folder', '../../../foldseek/pdb') - + database_folder = kwargs.pop('database_folder', '~/Donwload/foldseek/pdb') + coverage_threshold = kwargs.pop('coverage_threshold', 0.3) + tm_threshold = kwargs.pop('tm_threshold', 0.5) + # Define the amino acid conversion function def aa_onelet(three_letter_code): codes = { @@ -3416,11 +3427,9 @@ def extract_sequence_from_pdb(pdb_file, chain, output_file): # Inputs fpath = pdb_file.strip() chain = chain.strip() - cov_threshold = float(coverage_threshold.strip()) - tm_threshold = float(tm_threshold.strip()) + cov_threshold = float(coverage_threshold) + tm_threshold = float(tm_threshold) - print(cov_threshold, type(cov_threshold)) - # Filter PDB file awk_command = "awk '{{if (substr($0, 22, 1) == \"{0}\") print}}'".format(chain) subprocess.run("cat {0} | grep '^ATOM' | {1} > inp.pdb".format(fpath, awk_command), shell=True) From d31d183d8ab532f258f919df6560c50eeff17ffe Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Mon, 11 Nov 2024 22:31:44 +0100 Subject: [PATCH 38/95] changes in imports --- prody/proteins/interactions.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index d4a28930b..ee2b55f9a 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -32,8 +32,6 @@ from prody.ensemble import Ensemble import multiprocessing -import matplotlib.pylab as plt -import os from .fixer import * @@ -314,10 +312,6 @@ def showPairEnergy(data, **kwargs): # SignatureInteractions supporting functions -from Bio.PDB.Polypeptide import three_to_one -import shutil -import importlib.util - def remove_empty_strings(row): """Remove empty strings from a list.""" return [elem for elem in row if elem != ''] @@ -328,15 +322,18 @@ def log_message(message, level="INFO"): def is_module_installed(module_name): """Check if a Python module is installed.""" + import importlib.util spec = importlib.util.find_spec(module_name) return spec is not None def is_command_installed(command): """Check if a command-line tool is installed.""" + import shutil return shutil.which(command) is not None def load_residues_from_pdb(pdb_file): """Extract residue numbers and their corresponding one-letter amino acid codes from a PDB file.""" + from Bio.PDB.Polypeptide import three_to_one structure = parsePDB(pdb_file) residues = structure.iterResidues() residue_dict = {} @@ -373,6 +370,7 @@ def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): mapping_num = filtered_mapping.astype(float) # Load the one-letter amino acid codes from model1.pdb + import os pdb_model_path = os.path.join(pdb_folder, 'model1.pdb') residue_dict = load_residues_from_pdb(pdb_model_path) @@ -488,6 +486,7 @@ def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): def plot_barh(result, bond_type, n_per_plot=None, min_height=8): """Plot horizontal bar plots of percentages, splitting the data into fixed-sized plots.""" + import matplotlib.pylab as plt plt.rcParams.update({'font.size': 20}) # Set default value for n_per_plot if None is passed @@ -3675,6 +3674,7 @@ def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): :arg fixer: The method for fixing lack of hydrogen bonds :type fixer: 'pdbfixer' or 'openbabel' """ + import os functions = { From 9b79bd7b458ab1a0368efe967a4aba29936d3412 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Tue, 12 Nov 2024 21:36:51 +0100 Subject: [PATCH 39/95] kwargs for plot_barh --- prody/proteins/interactions.py | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index ee2b55f9a..b81a35c1e 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -484,12 +484,24 @@ def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): return output_data, fixed_files # Return fixed_files to remove later -def plot_barh(result, bond_type, n_per_plot=None, min_height=8): - """Plot horizontal bar plots of percentages, splitting the data into fixed-sized plots.""" +def plot_barh(result, bond_type, **kwargs): + """Plot horizontal bar plots of percentages of interactions, splitting the data into fixed-sized plots. + + :arg n_per_plot: The number of results per one plot + by default is 20 if set to None + :type n_per_plot: int + + :arg min_height: Size of the bar plot + by default is 8 + :type min_height: int + """ + import matplotlib.pylab as plt plt.rcParams.update({'font.size': 20}) - # Set default value for n_per_plot if None is passed + n_per_plot = kwargs.pop('n_per_plot', None) + min_height = kwargs.pop('min_height', 8) + if n_per_plot is None: n_per_plot = 20 From 6e342c44c40c30282e3ec28098539fbd57432c7b Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Tue, 12 Nov 2024 21:45:33 +0100 Subject: [PATCH 40/95] fixing typos --- prody/proteins/interactions.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index b81a35c1e..c00da0121 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3330,6 +3330,7 @@ def extractMultiModelPDB(multimodelPDB, **kwargs): :arg folder_name: The name of the folder to which PDBs will be extracted :type folder_name: str """ + import os folder_name = kwargs.pop('folder_name', 'struc_homologs') @@ -3389,7 +3390,7 @@ def runFoldseek(pdb_file, chain, **kwargs): :type tm_threshold: float :arg database_folder: Folder with the database - by default '~/Donwload/foldseek/pdb' + by default '~/Downloads/foldseek/pdb' To download the database use: 'foldseek databases PDB pdb tmp' in the console :type database_folder: str """ @@ -3399,7 +3400,7 @@ def runFoldseek(pdb_file, chain, **kwargs): import re import sys - database_folder = kwargs.pop('database_folder', '~/Donwload/foldseek/pdb') + database_folder = kwargs.pop('database_folder', '~/Downloads/foldseek/pdb') coverage_threshold = kwargs.pop('coverage_threshold', 0.3) tm_threshold = kwargs.pop('tm_threshold', 0.5) From 5450f8caa2ff14a62a1bf18184aecba8c185f53d Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Tue, 12 Nov 2024 23:25:09 +0100 Subject: [PATCH 41/95] kwargs for calcSignatureInteractions, optional removal of tmp files --- prody/proteins/interactions.py | 26 ++++++++++++++++++-------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index c00da0121..fd6124a3d 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3674,7 +3674,7 @@ def extract_sequence_from_pdb(pdb_file, chain, output_file): subprocess.run("rm -rf tmp2 temp", shell=True) -def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): +def calcSignatureInteractions(mapping_file, PDB_folder, **kwargs): """Analyzes protein structures to identify various interactions using InSty. Processes data from the MSA file and folder with selected models. @@ -3685,11 +3685,21 @@ def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): :type PDB_folder: str :arg fixer: The method for fixing lack of hydrogen bonds + by default is 'pdbfixer' :type fixer: 'pdbfixer' or 'openbabel' + + :arg remove_tmp_files: Removing intermediate files that are created in the process + by default is True + :type remove_tmp_files: True or False """ import os + fixer = kwargs.pop('fixer', 'pdbfixer') + remove_tmp_files = kwargs.pop('remove_tmp_files', True) + n_per_plot = kwargs.pop('n_per_plot', None) + min_height = kwargs.pop('min_height', 8) + functions = { "HydrogenBonds": calcHydrogenBonds, "SaltBridges": calcSaltBridges, @@ -3719,15 +3729,15 @@ def calcSignatureInteractions(mapping_file, PDB_folder, fixer='pdbfixer'): result, fixed_files = result # Proceed with plotting - n = None - plot_barh(result, bond_type, n) + plot_barh(result, bond_type, n_per_plot=n_per_plot, min_height=min_height) # Remove all fixed files at the end - if 'fixed_files' in locals(): - for fixed_file in fixed_files: - if os.path.exists(fixed_file): - os.remove(fixed_file) - log_message("Removed fixed file: {}".format(fixed_file)) + if remove_tmp_files == True: + if 'fixed_files' in locals(): + for fixed_file in fixed_files: + if os.path.exists(fixed_file): + os.remove(fixed_file) + log_message("Removed fixed file: {}".format(fixed_file)) From 1ec47c5993d05c2be42e3977a1ea1f8143a35539 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Wed, 13 Nov 2024 13:41:13 +0100 Subject: [PATCH 42/95] if for 'fixed_files' removed --- prody/proteins/interactions.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index fd6124a3d..c80140689 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3733,11 +3733,10 @@ def calcSignatureInteractions(mapping_file, PDB_folder, **kwargs): # Remove all fixed files at the end if remove_tmp_files == True: - if 'fixed_files' in locals(): - for fixed_file in fixed_files: - if os.path.exists(fixed_file): - os.remove(fixed_file) - log_message("Removed fixed file: {}".format(fixed_file)) + for fixed_file in fixed_files: + if os.path.exists(fixed_file): + os.remove(fixed_file) + log_message("Removed fixed file: {}".format(fixed_file)) From 6d348784b93d482231a3dd43662ab2f549429672 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Wed, 13 Nov 2024 14:35:53 +0100 Subject: [PATCH 43/95] 3to1 letter code is not replaced by AAMAP --- prody/proteins/interactions.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index c80140689..e5d2050b8 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -333,7 +333,7 @@ def is_command_installed(command): def load_residues_from_pdb(pdb_file): """Extract residue numbers and their corresponding one-letter amino acid codes from a PDB file.""" - from Bio.PDB.Polypeptide import three_to_one + from prody.atomic.atomic import AAMAP structure = parsePDB(pdb_file) residues = structure.iterResidues() residue_dict = {} @@ -342,7 +342,7 @@ def load_residues_from_pdb(pdb_file): resnum = res.getResnum() resname = res.getResname() # Three-letter amino acid code try: - one_letter_code = three_to_one(resname) # Convert to one-letter code + one_letter_code = AAMAP[resname] residue_dict[resnum] = one_letter_code except KeyError: log_message("Unknown residue: {} at position {}".format(resname, resnum), "WARNING") From ee64b51fb957f0f3109cf6aacf63869a6f979c2d Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Wed, 13 Nov 2024 14:59:56 +0100 Subject: [PATCH 44/95] Checks for database_folder exists --- prody/proteins/interactions.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index e5d2050b8..9cc43962a 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3404,6 +3404,10 @@ def runFoldseek(pdb_file, chain, **kwargs): coverage_threshold = kwargs.pop('coverage_threshold', 0.3) tm_threshold = kwargs.pop('tm_threshold', 0.5) + full_path = os.path.expanduser(database_folder) + if not os.path.exists(full_path.strip('pdb')): + raise ValueError('The required database is not found in {0}. Please download it first.'.format(database_folder.strip('pdb'))) + # Define the amino acid conversion function def aa_onelet(three_letter_code): codes = { From 8c19c0fbb067d8ed96625e9f56adacdd58b65c94 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Wed, 13 Nov 2024 15:13:34 +0100 Subject: [PATCH 45/95] additional checks and docs improvements --- prody/proteins/interactions.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 9cc43962a..629898632 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3374,6 +3374,9 @@ def runFoldseek(pdb_file, chain, **kwargs): https://github.com/steineggerlab/foldseek?tab=readme-ov-file#databasesand This function will not work under Windows. + Example usage: runFoldseek('5kqm.pdb', 'A', database_folder='~/Downloads/foldseek/pdb') + where previous a folder called 'foldseek' were created and PDB database was uploaded using: + >>> foldseek databases PDB pdb tmp (Linux console) :arg pdb_file: A PDB file path :type pdb_file: str @@ -3404,6 +3407,9 @@ def runFoldseek(pdb_file, chain, **kwargs): coverage_threshold = kwargs.pop('coverage_threshold', 0.3) tm_threshold = kwargs.pop('tm_threshold', 0.5) + if not isinstance(pdb_file, str): + raise TypeError('Please provide the name of the PDB file.') + full_path = os.path.expanduser(database_folder) if not os.path.exists(full_path.strip('pdb')): raise ValueError('The required database is not found in {0}. Please download it first.'.format(database_folder.strip('pdb'))) @@ -3682,6 +3688,8 @@ def calcSignatureInteractions(mapping_file, PDB_folder, **kwargs): """Analyzes protein structures to identify various interactions using InSty. Processes data from the MSA file and folder with selected models. + Example usage: calcSignatureInteractions('shortlisted_resind.msa','./struc_homologs') + :arg mapping_file: Aligned residue indices, MSA file type :type mapping_file: str From 4c4350d6888cf098405c463f300f76d1610a53df Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 15 Nov 2024 17:08:11 +0100 Subject: [PATCH 46/95] update insty docs --- prody/proteins/interactions.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 88e796c56..339248947 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -1517,7 +1517,7 @@ def calcInteractionsMultipleFrames(atoms, interaction_type, trajectory, **kwargs def calcProteinInteractions(atoms, **kwargs): - """Compute all protein interactions (shown below) using default parameters. + """Compute all protein interactions (shown below). (1) Hydrogen bonds (2) Salt Bridges (3) RepulsiveIonicBonding @@ -1525,6 +1525,10 @@ def calcProteinInteractions(atoms, **kwargs): (5) Pi-cation interactions (6) Hydrophobic interactions (7) Disulfide Bonds + + kwargs can be passed on to the underlying functions as described + in their documentation. For example, distDA and angleDHA can be used + to control hydrogen bonds, or distA and angle can be used across types. :arg atoms: an Atomic object from which residues are selected :type atoms: :class:`.Atomic` From cc49efd6cdc7497a54aee88c17dedd646ec8f6ba Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 15 Nov 2024 18:35:06 +0100 Subject: [PATCH 47/95] replace PiStack RB with PS --- prody/proteins/interactions.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 88e796c56..62ed9378c 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -965,11 +965,11 @@ def calcPiStacking(atoms, **kwargs): distPS = kwargs.pop('distPS', 5.0) distA = kwargs.pop('distA', distPS) - angle_min_RB = kwargs.pop('angle_min_RB', 0) - angle_min = kwargs.pop('angle_min', angle_min_RB) + angle_min_PS = kwargs.pop('angle_min_PS', 0) + angle_min = kwargs.pop('angle_min', angle_min_PS) - angle_max_RB = kwargs.pop('angle_max_RB', 360) - angle_max = kwargs.pop('angle_max', angle_max_RB) + angle_max_PS = kwargs.pop('angle_max_PS', 360) + angle_max = kwargs.pop('angle_max', angle_max_PS) non_standard_PS = kwargs.get('non_standard_PS', {}) non_standard = kwargs.get('non_standard', non_standard_PS) From 07ef0357708f98f4d05bf8b1fb50fde4e44206a7 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 15 Nov 2024 18:51:46 +0100 Subject: [PATCH 48/95] more info --- prody/proteins/interactions.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 339248947..4ac276960 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -1336,7 +1336,7 @@ def calcDisulfideBonds(atoms, **kwargs): :arg atoms: an Atomic object from which residues are selected :type atoms: :class:`.Atomic` - :arg distDB: non-zero value, maximal distance between atoms of hydrophobic residues. + :arg distDB: non-zero value, maximal distance between atoms of cysteine residues. default is 3. distA works too :type distDB: int, float @@ -1455,7 +1455,7 @@ def calcMetalInteractions(atoms, distA=3.0, extraIons=['FE'], excluded_ions=['SO def calcInteractionsMultipleFrames(atoms, interaction_type, trajectory, **kwargs): """Compute selected type interactions for DCD trajectory or multi-model PDB - using default parameters.""" + using default parameters or those from kwargs.""" try: coords = getCoords(atoms) @@ -1580,10 +1580,12 @@ def calcHydrogenBondsTrajectory(atoms, trajectory=None, **kwargs): :arg distA: non-zero value, maximal distance between donor and acceptor. default is 3.5 + distDA also works :type distA: int, float :arg angle: non-zero value, maximal (180 - D-H-A angle) (donor, hydrogen, acceptor). default is 40. + angleDHA also works :type angle: int, float :arg seq_cutoff: non-zero value, interactions will be found between atoms with index differences @@ -1624,6 +1626,7 @@ def calcSaltBridgesTrajectory(atoms, trajectory=None, **kwargs): :arg distA: non-zero value, maximal distance between center of masses of N and O atoms of negatively and positevely charged residues. default is 5. + distSB also works :type distA: int, float :arg selection: selection string @@ -1660,6 +1663,7 @@ def calcRepulsiveIonicBondingTrajectory(atoms, trajectory=None, **kwargs): :arg distA: non-zero value, maximal distance between center of masses between N-N or O-O atoms of residues. default is 4.5. + distRB also works :type distA: int, float :arg selection: selection string @@ -1696,6 +1700,7 @@ def calcPiStackingTrajectory(atoms, trajectory=None, **kwargs): :arg distA: non-zero value, maximal distance between center of masses of residues aromatic rings. default is 5. + distPS also works :type distA: int, float :arg angle_min: minimal angle between aromatic rings. @@ -1740,6 +1745,7 @@ def calcPiCationTrajectory(atoms, trajectory=None, **kwargs): :arg distA: non-zero value, maximal distance between center of masses of aromatic ring and positively charge group. default is 5. + distPC also works :type distA: int, float :arg selection: selection string @@ -1775,6 +1781,7 @@ def calcHydrophobicTrajectory(atoms, trajectory=None, **kwargs): :arg distA: non-zero value, maximal distance between atoms of hydrophobic residues. default is 4.5. + distHPh also works :type distA: int, float :arg selection: selection string @@ -1807,8 +1814,9 @@ def calcDisulfideBondsTrajectory(atoms, trajectory=None, **kwargs): :arg trajectory: trajectory file :type trajectory: class:`.Trajectory` - :arg distA: non-zero value, maximal distance between atoms of hydrophobic residues. + :arg distA: non-zero value, maximal distance between atoms of cysteine residues. default is 2.5. + distDB also works :type distA: int, float :arg start_frame: index of first frame to read From 22ff338198a530dff27720475421ad96628b26a7 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Sat, 16 Nov 2024 13:55:17 +0100 Subject: [PATCH 49/95] runDali added --- prody/proteins/interactions.py | 101 ++++++++++++++++++++++++++++++++- 1 file changed, 100 insertions(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 629898632..f799f3398 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -33,6 +33,8 @@ import multiprocessing from .fixer import * +from .compare import * +from prody.measure import calcTransformation, calcDistance, calcRMSD, superpose __all__ = ['calcHydrogenBonds', 'calcChHydrogenBonds', 'calcSaltBridges', @@ -49,7 +51,7 @@ 'Interactions', 'InteractionsTrajectory', 'LigandInteractionsTrajectory', 'calcSminaBindingAffinity', 'calcSminaPerAtomInteractions', 'calcSminaTermValues', 'showSminaTermValues', 'showPairEnergy', 'checkNonstandardResidues', - 'saveInteractionsAsDummyAtoms', 'createFoldseekAlignment', 'runFoldseek', + 'saveInteractionsAsDummyAtoms', 'createFoldseekAlignment', 'runFoldseek', 'runDali', 'extractMultiModelPDB', 'calcSignatureInteractions'] @@ -3683,6 +3685,103 @@ def extract_sequence_from_pdb(pdb_file, chain, output_file): subprocess.run("rm -f inp.pdb prot.seq target.pdb temp_coord.txt temp_resind.txt temp_seq.txt", shell=True) subprocess.run("rm -rf tmp2 temp", shell=True) + +def runDali(pdb, chain, **kwargs): + """This function calls searchDali() and downloads all the PDB files, separate by chains, add hydrogens and missing side chains, + and finally align them and put into the newly created folder. + + :arg pdb: A PDB code + :type pdb: str + + :arg chain: chain identifier + :type chain: str + + :arg cutoff_len: Length of aligned residues < cutoff_len (must be an integer or a float between 0 and 1) + See searchDali for more details + by default 0.5 + :type cutoff_len: float + + :arg cutoff_rmsd: RMSD cutoff (see searchDali) + by default 1.0 + :type cutoff_rmsd: float + + :arg subsetDali: fullPDB, PDB25, PDB50, PDB90 + by default is 'fullPDB' + :type subsetDali: str + + :arg fixer: The method for fixing lack of hydrogen bonds + by default is 'pdbfixer' + :type fixer: 'pdbfixer' or 'openbabel' + + :arg subset: subsets of atoms: 'ca', 'bb', 'heavy', 'noh', 'all' (see matchChains()) + by default is 'ca' + :type subset: str + + :arg seqid: Minimum value of the sequence identity (see matchChains()) + by default 5 + :type seqid: float + + :arg overlap: percent overlap (see matchChains()) + by default 50 + :type overlap: float + + :arg folder_name: Folder where the results will be collected + by default is 'struc_homologs' + :type folder_name: str + """ + + import os + import shutil + from prody.database import dali + + cutoff_len = kwargs.pop('cutoff_len', 0.5) + cutoff_rmsd = kwargs.pop('cutoff_rmsd', 1.0) + fixer = kwargs.pop('fixer', 'pdbfixer') + subset_Dali = kwargs.pop('subset_Dali', 'fullPDB') + subset = kwargs.pop('subset', 'ca') + seqid = kwargs.pop('seqid', 5) + overlap = kwargs.pop('overlap', 50) + folder_name = kwargs.pop('folder_name', 'struc_homologs') + + dali_rec = dali.searchDali(pdb, chain, subset=subset_Dali) + + while not dali_rec.isSuccess: + dali_rec.fetch() + + pdb_ids = dali_rec.filter(cutoff_len=cutoff_len, cutoff_rmsd=cutoff_rmsd) + pdb_hits = [ (i[:4], i[4:]) for i in pdb_ids ] + + list_pdbs = [] + LOGGER.info('Separating chains and saving into PDB file') + for i in pdb_hits: + LOGGER.info('PDB code {} and chain {}'.format(i[0], i[1])) + p = parsePDB(i[0]).select('chain '+i[1]+' and protein') + writePDB(i[0]+i[1]+'.pdb', p) + list_pdbs.append(i[0]+i[1]+'.pdb') + + #LOGGER.info('Number of selected structures: ', len(list_pdbs)) + LOGGER.info('Adding hydrogens to the structures..') + new_pdbids = fixStructuresMissingAtoms(list_pdbs, method='pdbfixer', model_residues=True, overwrite=True) + + os.makedirs(folder_name) + structures = parsePDB(new_pdbids) + target = structures[0] + rmsds = [] + for mobile in structures[1:]: + try: + LOGGER.info('Aligning the structures..') + i = mobile.getTitle() + LOGGER.info(i) + matches = matchChains(mobile.protein, target.protein, subset=subset, seqid=seqid, overlap=overlap) + m = matches[0] + m0_alg, T = superpose(m[0], m[1], weights=m[0].getFlags("mapped")) + rmsds.append(calcRMSD(m[0], m[1], weights=m[0].getFlags("mapped"))) + source_file = 'align__'+i+'.pdb' + writePDB(source_file, mobile) + shutil.move(source_file, os.path.join(folder_name, os.path.basename(source_file))) + except TypeError: + raise TypeError('There is a problem with {}. Change seqid or overlap parameter to include the structure.'.format(i)) + def calcSignatureInteractions(mapping_file, PDB_folder, **kwargs): """Analyzes protein structures to identify various interactions using InSty. From 8a0019d491529c9fc1381cb0baa0f4e03da1fee1 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Sat, 16 Nov 2024 18:22:43 +0100 Subject: [PATCH 50/95] TypeError replaced by LOGGER.warn in runDali --- prody/proteins/interactions.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 7ef226354..afb053622 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3781,8 +3781,8 @@ def runDali(pdb, chain, **kwargs): source_file = 'align__'+i+'.pdb' writePDB(source_file, mobile) shutil.move(source_file, os.path.join(folder_name, os.path.basename(source_file))) - except TypeError: - raise TypeError('There is a problem with {}. Change seqid or overlap parameter to include the structure.'.format(i)) + except: + LOGGER.warn('There is a problem with {}. Change seqid or overlap parameter to include the structure.'.format(i)) def calcSignatureInteractions(mapping_file, PDB_folder, **kwargs): From ec00e2d0666cbfe6f48ade29ae8336ccf8c2da76 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Mon, 18 Nov 2024 13:45:19 +0100 Subject: [PATCH 51/95] fix angleDHA --- prody/proteins/interactions.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 4ac276960..eb80779f0 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -522,7 +522,7 @@ def calcHydrogenBonds(atoms, **kwargs): :arg angleDHA: non-zero value, maximal (180 - D-H-A angle) (donor, hydrogen, acceptor). default is 40. - angle also works + angle and angleDA also work :type angleDHA: int, float :arg seq_cutoff_HB: non-zero value, interactions will be found between atoms with index differences @@ -576,6 +576,7 @@ def calcHydrogenBonds(atoms, **kwargs): distA = kwargs.pop('distA', distDA) angleDHA = kwargs.pop('angleDA', 40) + angleDHA = kwargs.pop('angleDHA', angleDHA) angle = kwargs.pop('angle', angleDHA) seq_cutoff_HB = kwargs.pop('seq_cutoff_HB', 25) From 290663300e1432830f4f6d3208b35a8b386844ee Mon Sep 17 00:00:00 2001 From: James Krieger Date: Mon, 18 Nov 2024 17:46:36 +0100 Subject: [PATCH 52/95] add chain bar to showCumulativeInteractionTypes energy --- prody/proteins/interactions.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 88e796c56..3ecd4e094 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3798,9 +3798,13 @@ def showCumulativeInteractionTypes(self, **kwargs): fig, ax = plt.subplots(num=None, figsize=(20,6), facecolor='w') matplotlib.rcParams['font.size'] = '24' - ax.bar(ResNumb, matrix_en_sum, width, color='blue') + zeros_row = np.zeros(matrix_en_sum.shape) + pplot(zeros_row, atoms=atoms.ca) + + ax.bar(ResList, matrix_en_sum, width, color='blue') - plt.xlim([ResNumb[0]-0.5, ResNumb[-1]+0.5]) + #plt.xlim([ResList[0]-0.5, ResList[-1]+0.5]) + plt.ylim([min(matrix_en_sum)-1,0]) plt.tight_layout() plt.xlabel('Residue') plt.ylabel('Cumulative Energy [kcal/mol]') From 1a026476130ac153d4f34d47bda6205d5fb12733 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Mon, 18 Nov 2024 18:18:20 +0100 Subject: [PATCH 53/95] typo fix --- prody/proteins/interactions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index eb80779f0..e6d90f723 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3689,7 +3689,7 @@ def showFrequentInteractors(self, cutoff=4, **kwargs): """Plots regions with the most frequent interactions. :arg cutoff: minimal score per residue which will be displayed. - If cutoff value is to big, top 30% with the higest values will be returned. + If cutoff value is too big, top 30% with the higest values will be returned. Default is 4. :type cutoff: int, float From f57418e1f14c3529f5c6905f9c2faf3cd87b52e2 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Tue, 19 Nov 2024 08:31:29 +0100 Subject: [PATCH 54/95] runBLAST form SignInter added --- prody/proteins/interactions.py | 87 +++++++++++++++++++++++++++++++++- 1 file changed, 86 insertions(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index afb053622..6ae348761 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -52,7 +52,7 @@ 'calcSminaBindingAffinity', 'calcSminaPerAtomInteractions', 'calcSminaTermValues', 'showSminaTermValues', 'showPairEnergy', 'checkNonstandardResidues', 'saveInteractionsAsDummyAtoms', 'createFoldseekAlignment', 'runFoldseek', 'runDali', - 'extractMultiModelPDB', 'calcSignatureInteractions'] + 'runBLAST', 'extractMultiModelPDB', 'calcSignatureInteractions'] def cleanNumbers(listContacts): @@ -3783,7 +3783,92 @@ def runDali(pdb, chain, **kwargs): shutil.move(source_file, os.path.join(folder_name, os.path.basename(source_file))) except: LOGGER.warn('There is a problem with {}. Change seqid or overlap parameter to include the structure.'.format(i)) + + +def runBLAST(pdb, chain, **kwargs): + """This function calls blastPDB to find homologs and downloads all of them in PDB format to the local directory, + separate chains that were identified by BLAST, add hydrogens and missing side chains, + and finally align them and put into the newly created folder. + + :arg pdb: A PDB code + :type pdb: str + + :arg chain: chain identifier + :type chain: str + + :arg fixer: The method for fixing lack of hydrogen bonds + by default is 'pdbfixer' + :type fixer: 'pdbfixer' or 'openbabel' + + :arg subset: subsets of atoms: 'ca', 'bb', 'heavy', 'noh', 'all' (see matchChains()) + by default is 'bb' + :type subset: str + + :arg seqid: Minimum value of the sequence identity (see matchChains()) + by default 90 + :type seqid: float + + :arg overlap: percent overlap (see matchChains()) + by default 50 + :type overlap: float + + :arg folder_name: Folder where the results will be collected + by default is 'struc_homologs' + :type folder_name: str + """ + + import os + import shutil + from prody.proteins.blastpdb import blastPDB + + fixer = kwargs.pop('fixer', 'pdbfixer') + seqid = kwargs.pop('seqid', 90) + overlap = kwargs.pop('overlap', 50) + subset = kwargs.pop('subset', 'bb') + folder_name = kwargs.pop('folder_name', 'struc_homologs') + + ref_prot = parsePDB(pdb) + ref_hv = ref_prot.getHierView()[chain] + sequence = ref_hv.getSequence() + + blast_record = blastPDB(sequence) + while not blast_record.isSuccess: + blast_record.fetch() + + pdb_hits = [] + for key, item in blast_record.getHits(seqid).items(): + pdb_hits.append((key, item['chain_id'])) + + list_pdbs = [] + LOGGER.info('Separating chains and saving into PDB file') + for i in pdb_hits: + LOGGER.info('PDB code {} and chain {}'.format(i[0], i[1])) + p = parsePDB(i[0]).select('chain '+i[1]+' and protein') + writePDB(i[0]+i[1]+'.pdb', p) + list_pdbs.append(i[0]+i[1]+'.pdb') + LOGGER.info('Adding hydrogens to the structures..') + new_pdbids = fixStructuresMissingAtoms(list_pdbs, method='pdbfixer', model_residues=True, overwrite=True) + + os.makedirs(folder_name) + structures = parsePDB(new_pdbids) + target = structures[0] + rmsds = [] + for mobile in structures[1:]: + try: + LOGGER.info('Aligning the structures..') + i = mobile.getTitle() + LOGGER.info(i) + matches = matchChains(mobile.protein, target.protein, subset=subset, seqid=seqid, overlap=overlap) + m = matches[0] + m0_alg, T = superpose(m[0], m[1], weights=m[0].getFlags("mapped")) + rmsds.append(calcRMSD(m[0], m[1], weights=m[0].getFlags("mapped"))) + source_file = 'align__'+i+'.pdb' + writePDB(source_file, mobile) + shutil.move(source_file, os.path.join(folder_name, os.path.basename(source_file))) + except: + LOGGER.warn('There is a problem with {}. Change seqid or overlap parameter to include the structure.'.format(i)) + def calcSignatureInteractions(mapping_file, PDB_folder, **kwargs): """Analyzes protein structures to identify various interactions using InSty. From ca6d22c417da973c1cdd4f29bf54f89995d5322a Mon Sep 17 00:00:00 2001 From: James Krieger Date: Tue, 19 Nov 2024 11:33:28 +0100 Subject: [PATCH 55/95] update blast writeSequences docs --- prody/proteins/blastpdb.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/prody/proteins/blastpdb.py b/prody/proteins/blastpdb.py index ab72a96b6..2e31730d3 100644 --- a/prody/proteins/blastpdb.py +++ b/prody/proteins/blastpdb.py @@ -334,11 +334,8 @@ def getBest(self): def writeSequences(self, filename, **kwargs): """ - Returns a plot that contains a dendrogram of the sequence similarities among - the sequences in given hit list. - - :arg hits: A dictionary that contains hits that are obtained from a blast record object. - :type hits: dict + Writes a fasta file containing the hit sequences under 'hseq' field. + These are not equivalently aligned. Arguments of getHits can be parsed as kwargs. """ From 67e31dc13925b3e632e9d416d208ce969dc94f37 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Tue, 19 Nov 2024 15:45:35 +0100 Subject: [PATCH 56/95] add option to not add hydrogen --- prody/proteins/fixer.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/prody/proteins/fixer.py b/prody/proteins/fixer.py index ccd49aef3..b53940cc9 100644 --- a/prody/proteins/fixer.py +++ b/prody/proteins/fixer.py @@ -63,6 +63,7 @@ def addMissingAtoms(infile, method='openbabel', pH=7.0, outfile=None, **kwargs): Open Babel: An open chemical toolbox *Journal of cheminformatics* **2011** 3:1-14. """ model_residues = kwargs.get("model_residues", False) + add_hydrogens = kwargs.get("add_hydrogens", True) remove_heterogens = kwargs.get("remove_heterogens", False) keep_water = kwargs.get("keep_water", True) overwrite = kwargs.get("overwrite", False) @@ -122,7 +123,10 @@ def addMissingAtoms(infile, method='openbabel', pH=7.0, outfile=None, **kwargs): obconversion.SetInFormat("pdb") mol = openbabel.OBMol() obconversion.ReadFile(mol, infile) - mol.AddHydrogens() + + if add_hydrogens: + mol.AddHydrogens() + obconversion.WriteFile(mol, outfile) LOGGER.info("Hydrogens were added to the structure. Structure {0} is saved in the local directry.".format(outfile)) @@ -147,7 +151,10 @@ def addMissingAtoms(infile, method='openbabel', pH=7.0, outfile=None, **kwargs): fixer.findMissingAtoms() fixer.addMissingAtoms() - fixer.addMissingHydrogens(pH) + + if add_hydrogens: + fixer.addMissingHydrogens(pH) + PDBFile.writeFile(fixer.topology, fixer.positions, open(outfile, 'w'), keepIds=keep_ids) LOGGER.info("Hydrogens were added to the structure. New structure is saved as {0}.".format(outfile)) From 67021b1ee3374756610c9daf4c07c20431906839 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Tue, 19 Nov 2024 17:55:43 +0100 Subject: [PATCH 57/95] expand matrix energy docs --- prody/proteins/interactions.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 471502cd9..2bed602d5 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3460,6 +3460,17 @@ def buildInteractionMatrixEnergy(self, **kwargs): :arg energy_list_type: name of the list with energies default is 'IB_solv' :type energy_list_type: 'IB_nosolv', 'IB_solv', 'CS' + + 'IB_solv' and 'IB_nosolv' are derived from empirical potentials from + O Keskin, I Bahar and colleagues from [OK98]_. + + 'CS' is from MD simulations of amino acid pairs from Carlos Simmerling + and Gary Wu. + + .. [OK98] Keskin O, Bahar I, Badretdinov AY, Ptitsyn OB, Jernigan RL, + Empirical solvent-mediated potentials hold for both intra-molecular + and inter-molecular inter-residue interactions + *Protein Sci* **1998** 7(12):2578-2586. """ import numpy as np From 692c82b45e92bda4649c01a7fef8fbdbc631a7f2 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Wed, 20 Nov 2024 17:03:46 +0100 Subject: [PATCH 58/95] add energy once --- prody/proteins/interactions.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 2bed602d5..459fa9416 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3488,13 +3488,14 @@ def buildInteractionMatrixEnergy(self, **kwargs): resChIDs = list(atoms.select('name CA').getChids()) resIDs_with_resChIDs = list(zip(resIDs, resChIDs)) - for nr_i,i in enumerate(interactions): + for i in interactions: if i != []: for ii in i: m1 = resIDs_with_resChIDs.index((int(ii[0][3:]),ii[2])) m2 = resIDs_with_resChIDs.index((int(ii[3][3:]),ii[5])) scoring = get_energy([ii[0][:3], ii[3][:3]], energy_list_type) - InteractionsMap[m1][m2] = InteractionsMap[m2][m1] = InteractionsMap[m1][m2] + float(scoring) + if InteractionsMap[m1][m2] == 0: + InteractionsMap[m1][m2] = InteractionsMap[m2][m1] = float(scoring) self._interactions_matrix_en = InteractionsMap From 62a753f245614caae8be9087763248163f604580 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Wed, 20 Nov 2024 17:04:08 +0100 Subject: [PATCH 59/95] better indexing --- prody/proteins/interactions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 459fa9416..697a211f3 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -228,7 +228,7 @@ def get_energy(pair, source): lookup = pair[0]+pair[1] try: - data_results = data[np.where(np.array(aa_pairs)==lookup)[0]][0][2:][np.where(np.array(sources)==source)][0] + data_results = data[np.nonzero(np.array(aa_pairs)==lookup)[0]][0][2:][sources.index(source)][0] except TypeError: raise TypeError('Please replace non-standard names of residues with standard names.') From be9b1d72f4eaf3877dbb5c9265585216e8948140 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Wed, 20 Nov 2024 17:26:29 +0100 Subject: [PATCH 60/95] fix indexing fix --- prody/proteins/interactions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 697a211f3..3e3081354 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -228,7 +228,7 @@ def get_energy(pair, source): lookup = pair[0]+pair[1] try: - data_results = data[np.nonzero(np.array(aa_pairs)==lookup)[0]][0][2:][sources.index(source)][0] + data_results = data[np.nonzero(np.array(aa_pairs)==lookup)[0]][0][2:][sources.index(source)] except TypeError: raise TypeError('Please replace non-standard names of residues with standard names.') From d1bf53e4f5a4033dc8409b33b1626b6a7c24ee3f Mon Sep 17 00:00:00 2001 From: James Krieger Date: Thu, 21 Nov 2024 12:14:11 +0100 Subject: [PATCH 61/95] add anmd tolerance unit --- prody/dynamics/anmd.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/prody/dynamics/anmd.py b/prody/dynamics/anmd.py index 1f583a239..ea88d2060 100755 --- a/prody/dynamics/anmd.py +++ b/prody/dynamics/anmd.py @@ -69,7 +69,7 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, :type num_steps: int :arg tolerance: tolerance for energy minimisation in OpenMM - in kilojoule_per_mole. Default is 10 + in kilojoule/mole/nanometer. Default is 10 as in OpenMM :type tolerance: float :arg skip_modes: number of modes to skip @@ -91,7 +91,7 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, Simulation, HBonds, NoCutoff from simtk.openmm import LangevinIntegrator from simtk.unit import nanometer, kelvin, picosecond, picoseconds, \ - angstrom + angstrom, kilojoule, mole except ImportError: raise ImportError('Please install PDBFixer and OpenMM to use ANMD') @@ -109,6 +109,7 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, if not isinstance(tolerance, Number): raise TypeError('tolerance should be a float') + tolerance = tolerance * kilojoule/mole/nanometer pos = kwargs.get('pos', True) if not isinstance(pos, bool): From 910e3339f1839abb3dd8dcc04d21c38d585c37e2 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 22 Nov 2024 00:51:39 +0100 Subject: [PATCH 62/95] add more kwargs to anmd script --- prody/dynamics/anmd.py | 39 ++++++++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/prody/dynamics/anmd.py b/prody/dynamics/anmd.py index ea88d2060..7f96314d8 100755 --- a/prody/dynamics/anmd.py +++ b/prody/dynamics/anmd.py @@ -182,6 +182,7 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, ensembles = [] for i in range(skip_modes, num_modes): modeNum = anm_ex.getIndices()[i] + LOGGER.info('\nGenerating {0} conformers for mode {1} ...\n'.format(num_confs, modeNum)) eval_i=anm[i].getEigval() sc_rmsd=((1/eval_i)**0.5/(1/eval_0)**0.5)*max_rmsd @@ -233,23 +234,43 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, if __name__=='__main__': import sys from prody.tests.datafiles import pathDatafile - pdb_name=sys.argv[1] if len(sys.argv) > 1 else pathDatafile('1ubi') - num_modes=int(sys.argv[2]) if len(sys.argv) > 2 else 2 - max_rmsd=float(sys.argv[3]) if len(sys.argv) > 3 else 2. - num_steps = int(sys.argv[5]) if len(sys.argv) > 5 else 2 - tol=float(sys.argv[4]) if len(sys.argv) > 4 else 10. - pdb_name_ext = pdb_name + pdb_filename = sys.argv[1] if len(sys.argv) > 1 else pathDatafile('1ubi') + num_modes = int(sys.argv[2]) if len(sys.argv) > 2 else 2 + max_rmsd = float(sys.argv[3]) if len(sys.argv) > 3 else 2. + tol = float(sys.argv[4]) if len(sys.argv) > 4 else 10. + + num_steps = int(sys.argv[5]) if len(sys.argv) > 5 else 2 + skip_modes = int(sys.argv[6]) if len(sys.argv) > 6 else 0 + + pos = bool(sys.argv[7]) if len(sys.argv) > 7 else True + neg = bool(sys.argv[8]) if len(sys.argv) > 8 else True + reverse = bool(sys.argv[9]) if len(sys.argv) > 9 else False + + anm_filename = sys.argv[10] if len(sys.argv) > 10 else None + anm = None + if anm_filename is not None: + if anm.endswith('nmd'): + anm, _ = parseNMD(anm_filename) + elif anm.endswith('npz'): + anm = loadModel(anm_filename) + else: + raise ValueError('anm should be an nmd or npz file or None') + + pdb_name_ext = pdb_filename if pdb_name_ext.endswith('.pdb'): - pdb_name = pdb_name_ext[:-4] + pdb_filename = pdb_name_ext[:-4] else: pdb_name_ext += '.pdb' pdb = parsePDB(pdb_name_ext, compressed=False) - x = runANMD(pdb, num_modes, max_rmsd, num_steps, tol) + x = runANMD(pdb, num_modes=num_modes, max_rmsd=max_rmsd, + num_steps=num_steps, skip_modes=skip_modes, tolerance=tol, + pos=pos, neg=neg, reverse=reverse, + anm=anm) - pdb_basename = os.path.basename(pdb_name) + pdb_basename = os.path.basename(pdb_filename) for ens in x: filename = pdb_basename + '_' + ens.getTitle().replace(' ', '_') LOGGER.info('writing PDB file {0}'.format(filename)) From adc11bd937ed8058e4b620a2da949617d68c622b Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 22 Nov 2024 00:52:13 +0100 Subject: [PATCH 63/95] add abs option to showOverlap --- prody/dynamics/plotting.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/prody/dynamics/plotting.py b/prody/dynamics/plotting.py index 867933572..364f207d7 100644 --- a/prody/dynamics/plotting.py +++ b/prody/dynamics/plotting.py @@ -1132,6 +1132,9 @@ def showOverlap(mode, modes, *args, **kwargs): :arg modes: multiple modes :type modes: :class:`.ModeSet`, :class:`.ANM`, :class:`.GNM`, :class:`.PCA` + + :arg abs: whether to take absolute values + :type abs: bool """ import matplotlib.pyplot as plt @@ -1149,9 +1152,16 @@ def showOverlap(mode, modes, *args, **kwargs): .format(type(modes))) if mode.numModes() > 1: - overlap = abs(calcOverlap(mode, modes, diag=True)) + overlap = calcOverlap(mode, modes, diag=True) else: - overlap = abs(calcOverlap(mode, modes, diag=False)) + overlap = calcOverlap(mode, modes, diag=False) + + take_abs = kwargs.pop('abs', True) + if not isinstance(take_abs, bool): + raise TypeError('abs should be a Boolean (True or False)') + + if take_abs: + overlap = abs(overlap) if isinstance(modes, NMA): arange = np.arange(len(modes)) + 1 From 4f3320a19e8a1dddad893a7c81490f49e4494f30 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 22 Nov 2024 00:54:52 +0100 Subject: [PATCH 64/95] add build and overwrite to showCumulativeInteractionTypes energy --- prody/proteins/interactions.py | 38 ++++++++++++++++++++++++++++++---- 1 file changed, 34 insertions(+), 4 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 3e3081354..effa7052e 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3036,6 +3036,7 @@ def __init__(self, title='Unknown'): self._interactions = None self._interactions_matrix = None self._interactions_matrix_en = None + self._energy_type = None self._hbs = None self._sbs = None self._rib = None @@ -3408,7 +3409,7 @@ def buildInteractionMatrix(self, **kwargs): atoms = self._atoms interactions = self._interactions - LOGGER.info('Calculating interactions') + LOGGER.info('Calculating interaction matrix') InteractionsMap = np.zeros([atoms.select('name CA').numAtoms(),atoms.select('name CA').numAtoms()]) resIDs = list(atoms.select('name CA').getResnums()) resChIDs = list(atoms.select('name CA').getChids()) @@ -3456,10 +3457,11 @@ def buildInteractionMatrix(self, **kwargs): def buildInteractionMatrixEnergy(self, **kwargs): """Build matrix with interaction energy comming from energy of pairs of specific residues. - + :arg energy_list_type: name of the list with energies default is 'IB_solv' - :type energy_list_type: 'IB_nosolv', 'IB_solv', 'CS' + acceptable values are 'IB_nosolv', 'IB_solv', 'CS' + :type energy_list_type: str 'IB_solv' and 'IB_nosolv' are derived from empirical potentials from O Keskin, I Bahar and colleagues from [OK98]_. @@ -3482,7 +3484,7 @@ def buildInteractionMatrixEnergy(self, **kwargs): interactions = self._interactions energy_list_type = kwargs.pop('energy_list_type', 'IB_solv') - LOGGER.info('Calculating interactions') + LOGGER.info('Calculating interaction energies matrix with type {0}'.format(energy_list_type)) InteractionsMap = np.zeros([atoms.select('name CA').numAtoms(),atoms.select('name CA').numAtoms()]) resIDs = list(atoms.select('name CA').getResnums()) resChIDs = list(atoms.select('name CA').getChids()) @@ -3498,6 +3500,7 @@ def buildInteractionMatrixEnergy(self, **kwargs): InteractionsMap[m1][m2] = InteractionsMap[m2][m1] = float(scoring) self._interactions_matrix_en = InteractionsMap + self._energy_type = energy_list_type return InteractionsMap @@ -3792,6 +3795,26 @@ def showCumulativeInteractionTypes(self, **kwargs): :arg energy: sum of the energy between residues default is False :type energy: bool + + :arg energy_list_type: name of the list with energies + default is 'IB_solv' + acceptable values are 'IB_nosolv', 'IB_solv', 'CS' + :type energy_list_type: str + + :arg overwrite_energies: whether to overwrite energies + default is False + :type overwrite_energies: bool + + 'IB_solv' and 'IB_nosolv' are derived from empirical potentials from + O Keskin, I Bahar and colleagues from [OK98]_. + + 'CS' is from MD simulations of amino acid pairs from Carlos Simmerling + and Gary Wu. + + .. [OK98] Keskin O, Bahar I, Badretdinov AY, Ptitsyn OB, Jernigan RL, + Empirical solvent-mediated potentials hold for both intra-molecular + and inter-molecular inter-residue interactions + *Protein Sci* **1998** 7(12):2578-2586. """ import numpy as np @@ -3817,6 +3840,13 @@ def showCumulativeInteractionTypes(self, **kwargs): if energy == True: matrix_en = self._interactions_matrix_en + energy_list_type = kwargs.pop('energy_list_type', 'IB_solv') + overwrite = kwargs.pop('overwrite_energies', False) + if matrix_en is None or overwrite: + LOGGER.warn('The energy matrix is recalculated with type {0}'.format(energy_list_type)) + self.buildInteractionMatrixEnergy(energy_list_type=energy_list_type) + matrix_en = self._interactions_matrix_en + matrix_en_sum = np.sum(matrix_en, axis=0) width = 0.8 From 375d5ff7f3ded078569528a625e68ecbb58fc35d Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 22 Nov 2024 00:57:05 +0100 Subject: [PATCH 65/95] warn wrong energy type --- prody/proteins/interactions.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index effa7052e..1e05157ec 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3847,6 +3847,9 @@ def showCumulativeInteractionTypes(self, **kwargs): self.buildInteractionMatrixEnergy(energy_list_type=energy_list_type) matrix_en = self._interactions_matrix_en + elif self._energy_type != energy_list_type: + LOGGER.warn('The energy type is {0}, not {1}'.format(self._energy_type, energy_list_type)) + matrix_en_sum = np.sum(matrix_en, axis=0) width = 0.8 From d5cbe17da6b7779358ec53253bd23e96abc446dd Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 22 Nov 2024 13:21:11 +0100 Subject: [PATCH 66/95] add back padding --- prody/proteins/interactions.py | 41 +++++++++++++++++++++++++++++++--- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 1e05157ec..42c11e8ca 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3805,6 +3805,20 @@ def showCumulativeInteractionTypes(self, **kwargs): default is False :type overwrite_energies: bool + :arg percentile: a percentile threshold to remove outliers, i.e. only showing data within *p*-th + to *100-p*-th percentile. Default is None, so no axis limits. + :type percentile: float + + :arg vmin: a minimum value threshold to remove outliers, i.e. only showing data greater than vmin + This overrides percentile. Default is None, so no axis limits and little padding at the + bottom when energy=True. + :type vmin: float + + :arg vmax: a maximum value threshold to remove outliers, i.e. only showing data less than vmax + This overrides percentile. Default is None, so no axis limits and a little padding for + interaction type labels. + :type vmax: float + 'IB_solv' and 'IB_nosolv' are derived from empirical potentials from O Keskin, I Bahar and colleagues from [OK98]_. @@ -3833,6 +3847,15 @@ def showCumulativeInteractionTypes(self, **kwargs): if not isinstance(energy, bool): raise TypeError('energy should be True or False') + p = kwargs.pop('percentile', None) + vmin = vmax = None + if p is not None: + vmin = np.percentile(matrix, p) + vmax = np.percentile(matrix, 100-p) + + vmin = kwargs.pop('vmin', vmin) + vmax = kwargs.pop('vmax', vmax) + ResNumb = atoms.select('protein and name CA').getResnums() ResName = atoms.select('protein and name CA').getResnames() ResChid = atoms.select('protein and name CA').getChids() @@ -3861,8 +3884,13 @@ def showCumulativeInteractionTypes(self, **kwargs): ax.bar(ResList, matrix_en_sum, width, color='blue') - #plt.xlim([ResList[0]-0.5, ResList[-1]+0.5]) - plt.ylim([min(matrix_en_sum)-1,0]) + if vmin is None: + vmin = np.min(matrix_en_sum) * 1.2 + + if vmax is None: + vmax = np.max(matrix_en_sum) + + plt.ylim([vmin, vmax]) plt.tight_layout() plt.xlabel('Residue') plt.ylabel('Cumulative Energy [kcal/mol]') @@ -3940,7 +3968,14 @@ def showCumulativeInteractionTypes(self, **kwargs): self._interactions_matrix = matrix_all ax.legend(ncol=7, loc='upper center') - plt.ylim([0,max(sum_matrix)+3]) + + if vmin is None: + vmin = np.min(sum_matrix) + + if vmax is None: + vmax = np.max(sum_matrix) * 1.5 + + plt.ylim([vmin, vmax]) plt.tight_layout() plt.xlabel('Residue') plt.ylabel('Number of counts') From 18ade73b08b2a0409d1673277d15f7a7760f0d9d Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 22 Nov 2024 13:24:15 +0100 Subject: [PATCH 67/95] remove bad logger line --- prody/dynamics/anmd.py | 1 - 1 file changed, 1 deletion(-) diff --git a/prody/dynamics/anmd.py b/prody/dynamics/anmd.py index 7f96314d8..60b5ac835 100755 --- a/prody/dynamics/anmd.py +++ b/prody/dynamics/anmd.py @@ -182,7 +182,6 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, ensembles = [] for i in range(skip_modes, num_modes): modeNum = anm_ex.getIndices()[i] - LOGGER.info('\nGenerating {0} conformers for mode {1} ...\n'.format(num_confs, modeNum)) eval_i=anm[i].getEigval() sc_rmsd=((1/eval_i)**0.5/(1/eval_0)**0.5)*max_rmsd From de64e4cd082c2aecd2c76708871a0ecea5e0543a Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 22 Nov 2024 16:00:38 +0100 Subject: [PATCH 68/95] add units to docs --- prody/proteins/interactions.py | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 42c11e8ca..88a106307 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -277,9 +277,11 @@ def checkNonstandardResidues(atoms): def showPairEnergy(data, **kwargs): """Return energies when a list of interactions is given. Energies will be added to each pair of residues at the last position in the list. Energy is based on the residue types and not on the distances. - The unit of energy is kcal/mol. The energies defined as 'IB_nosolv' (non-solvent-mediated), 'IB_solv' (solvent-mediated) - are taken from [OK98]_ and 'CS' from InSty paper (under preparation). + The unit of energy is kcal/mol. The energies defined as 'IB_nosolv' (non-solvent-mediated) and + 'IB_solv' (solvent-mediated) are taken from [OK98]_ and 'CS' from InSty paper (under preparation). Protonation of residues is not distinguished. The protonation of residues is not distinguished. + 'IB_solv' and 'IB_nosolv' have RT units and 'CS' has units of kcal/mol. + Known residues such as HSD, HSE, HIE, and HID (used in MD simulations) are treated as HIS. :arg data: list with interactions from calcHydrogenBonds() or other types @@ -2133,9 +2135,9 @@ def calcStatisticsInteractions(data, **kwargs): (2) average distance of interactions for each pair [in Ang], (3) standard deviation [Ang.], (4) Energy [in kcal/mol] that is not distance dependent. Energy by default is solvent-mediated - from [OK98]_ ('IB_solv'). To use non-solvent-mediated entries ('IB_nosolv') from [OK98]_ or - solvent-mediated values obtained for InSty paper ('CS', under preparation) change - `energy_list_type` parameter. + from [OK98]_ ('IB_solv') in RT units. To use non-solvent-mediated (residue-mediated) entries ('IB_nosolv') + from [OK98]_ in RT units or solvent-mediated values obtained from MD for InSty paper ('CS', under preparation) + in kcal/mol, change `energy_list_type` parameter. If energy information is not available, please check whether the pair of residues is listed in the "tabulated_energies.txt" file, which is localized in the ProDy directory. @@ -3464,15 +3466,10 @@ def buildInteractionMatrixEnergy(self, **kwargs): :type energy_list_type: str 'IB_solv' and 'IB_nosolv' are derived from empirical potentials from - O Keskin, I Bahar and colleagues from [OK98]_. + O Keskin, I Bahar and colleagues from [OK98]_ and have RT units. 'CS' is from MD simulations of amino acid pairs from Carlos Simmerling - and Gary Wu. - - .. [OK98] Keskin O, Bahar I, Badretdinov AY, Ptitsyn OB, Jernigan RL, - Empirical solvent-mediated potentials hold for both intra-molecular - and inter-molecular inter-residue interactions - *Protein Sci* **1998** 7(12):2578-2586. + and Gary Wu in the InSty paper (under preparation) and have units of kcal/mol. """ import numpy as np @@ -3820,15 +3817,10 @@ def showCumulativeInteractionTypes(self, **kwargs): :type vmax: float 'IB_solv' and 'IB_nosolv' are derived from empirical potentials from - O Keskin, I Bahar and colleagues from [OK98]_. + O Keskin, I Bahar and colleagues from [OK98]_ and have RT units. 'CS' is from MD simulations of amino acid pairs from Carlos Simmerling - and Gary Wu. - - .. [OK98] Keskin O, Bahar I, Badretdinov AY, Ptitsyn OB, Jernigan RL, - Empirical solvent-mediated potentials hold for both intra-molecular - and inter-molecular inter-residue interactions - *Protein Sci* **1998** 7(12):2578-2586. + and Gary Wu for the InSty paper (under preparation) and have units kcal/mol. """ import numpy as np From ec245df15a9a6792461d68b131900870d39f1de4 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 22 Nov 2024 16:16:49 +0100 Subject: [PATCH 69/95] update unit in graphs and logs --- prody/proteins/interactions.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 88a106307..eacd6c354 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -2194,6 +2194,7 @@ def calcStatisticsInteractions(data, **kwargs): } statistic = [] + unit = 'RT' if energy_list_type in ['IB_solv', 'IB_nosolv'] else 'kcal/mol' for key, value in stats.items(): if float(value['weight']) > weight_cutoff: LOGGER.info("Statistics for {0}:".format(key)) @@ -2201,7 +2202,7 @@ def calcStatisticsInteractions(data, **kwargs): LOGGER.info(" Standard deviation [Ang.]: {0}".format(value['stddev'])) LOGGER.info(" Weight: {0}".format(value['weight'])) try: - LOGGER.info(" Energy [kcal/mol]: {0}".format(value['energy'])) + LOGGER.info(" Energy [{0}]: {1}".format(unit, value['energy'])) statistic.append([key, value['weight'], value['mean'], value['stddev'], value['energy']]) except: statistic.append([key, value['weight'], value['mean'], value['stddev']]) @@ -3885,7 +3886,9 @@ def showCumulativeInteractionTypes(self, **kwargs): plt.ylim([vmin, vmax]) plt.tight_layout() plt.xlabel('Residue') - plt.ylabel('Cumulative Energy [kcal/mol]') + + unit = 'RT' if energy_list_type in ['IB_solv', 'IB_nosolv'] else 'kcal/mol' + plt.ylabel('Cumulative Energy [{0}]'.format(unit)) plt.show() return matrix_en_sum From b811e3c0011219aaff88bb525ae2d00dff46d5f3 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 22 Nov 2024 16:18:01 +0100 Subject: [PATCH 70/95] add vmin vmax docs to showMatrix --- prody/utilities/catchall.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/prody/utilities/catchall.py b/prody/utilities/catchall.py index 94a9de640..9e9c766c2 100644 --- a/prody/utilities/catchall.py +++ b/prody/utilities/catchall.py @@ -610,6 +610,14 @@ def showMatrix(matrix, x_array=None, y_array=None, **kwargs): to *100-p*-th percentile :type percentile: float + :arg vmin: a minimum value threshold to remove outliers, i.e. only showing data greater than vmin + This overrides percentile. + :type vmin: float + + :arg vmax: a maximum value threshold to remove outliers, i.e. only showing data less than vmax + This overrides percentile. + :type vmax: float + :arg interactive: turn on or off the interactive options :type interactive: bool From 3724094778ff0bfaa6f2fd3a2a0feafa1e283700 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 22 Nov 2024 18:10:48 +0100 Subject: [PATCH 71/95] add selstr to cum ints --- prody/proteins/interactions.py | 32 ++++++++++++++++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index eacd6c354..183345a0e 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -21,7 +21,7 @@ from numpy import * from prody import LOGGER, SETTINGS, PY3K from prody.atomic import AtomGroup, Atom, Atomic, Selection, Select -from prody.atomic import flags +from prody.atomic import flags, sliceAtomicData from prody.utilities import importLA, checkCoords, showFigure, getCoords from prody.measure import calcDistance, calcAngle, calcCenter from prody.measure.contacts import findNeighbors @@ -3789,7 +3789,10 @@ def showCumulativeInteractionTypes(self, **kwargs): :arg DiBs: score per disulfide bond :type DiBs: int, float - + + :arg selstr: selection string for focusing the plot + :type selection: str + :arg energy: sum of the energy between residues default is False :type energy: bool @@ -3849,6 +3852,10 @@ def showCumulativeInteractionTypes(self, **kwargs): vmin = kwargs.pop('vmin', vmin) vmax = kwargs.pop('vmax', vmax) + selstr = kwargs.pop('selstr', None) + if selstr is not None: + atoms = atoms.select(selstr) + ResNumb = atoms.select('protein and name CA').getResnums() ResName = atoms.select('protein and name CA').getResnames() ResChid = atoms.select('protein and name CA').getChids() @@ -3872,6 +3879,10 @@ def showCumulativeInteractionTypes(self, **kwargs): fig, ax = plt.subplots(num=None, figsize=(20,6), facecolor='w') matplotlib.rcParams['font.size'] = '24' + if selstr is not None: + matrix_en_sum = sliceAtomicData(matrix_en_sum, + self._atoms.ca, selstr) + zeros_row = np.zeros(matrix_en_sum.shape) pplot(zeros_row, atoms=atoms.ca) @@ -3921,6 +3932,23 @@ def showCumulativeInteractionTypes(self, **kwargs): matrix_hph_sum = np.sum(matrix_hph, axis=0) matrix_dibs_sum = np.sum(matrix_dibs, axis=0) + all_ca = self._atoms.ca + if selstr is not None: + matrix_hbs_sum = sliceAtomicData(matrix_hbs_sum, + all_ca, selstr) + matrix_sbs_sum = sliceAtomicData(matrix_sbs_sum, + all_ca, selstr) + matrix_rib_sum = sliceAtomicData(matrix_rib_sum, + all_ca, selstr) + matrix_pistack_sum = sliceAtomicData(matrix_pistack_sum, + all_ca, selstr) + matrix_picat_sum = sliceAtomicData(matrix_picat_sum, + all_ca, selstr) + matrix_hph_sum = sliceAtomicData(matrix_hph_sum, + all_ca, selstr) + matrix_dibs_sum = sliceAtomicData(matrix_dibs_sum, + all_ca, selstr) + width = 0.8 fig, ax = plt.subplots(num=None, figsize=(20,6), facecolor='w') matplotlib.rcParams['font.size'] = '24' From 106e9c649d3eddf61d178e8f8d545279483b4286 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 22 Nov 2024 18:43:42 +0100 Subject: [PATCH 72/95] add showSelectionMatrix --- prody/dynamics/plotting.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/prody/dynamics/plotting.py b/prody/dynamics/plotting.py index 867933572..3d9ea0de2 100644 --- a/prody/dynamics/plotting.py +++ b/prody/dynamics/plotting.py @@ -37,7 +37,7 @@ 'showPairDeformationDist','showMeanMechStiff', 'showPerturbResponse', 'showTree', 'showTree_networkx', 'showAtomicMatrix', 'pimshow', 'showAtomicLines', 'pplot', - 'showDomainBar'] + 'showDomainBar', 'showSelectionMatrix'] def showEllipsoid(modes, onto=None, n_std=2, scale=1., *args, **kwargs): @@ -2381,3 +2381,27 @@ def showTree_networkx(tree, node_size=20, node_color='red', node_shape='o', showFigure() return mpl.gca() + +def showSelectionMatrix(matrix, atoms, selstr_x=None, selstr_y=None, **kwargs): + """ + Show a matrix similarly to showAtomicMatrix but only for + selected atoms based on *selstr_x* and *selstr_y* + """ + atoms_x = atoms + atoms_y = atoms + + if selstr_x is not None: + if not isinstance(selstr_x, str): + raise TypeError('selstr_x should be a str') + + matrix = sliceAtomicData(matrix, atoms, selstr_x, axis=0) + _, atoms_x = sliceAtoms(atoms, selstr_x) + + if selstr_y is not None: + if not isinstance(selstr_y, str): + raise TypeError('selstr_y should be a str') + + matrix = sliceAtomicData(matrix, atoms, selstr_y, axis=1) + _, atoms_y = sliceAtoms(atoms, selstr_y) + + return showAtomicMatrix(matrix, atoms=[atoms_x, atoms_y], **kwargs) From 50a37d6e39cbc3ee98206456c520e3f76923aefe Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Fri, 22 Nov 2024 22:47:25 +0100 Subject: [PATCH 73/95] calcSignatureInteractions includes now analysis with MSA file [further reorganization needed] --- prody/proteins/interactions.py | 112 ++++++++++++++++++++------------- 1 file changed, 70 insertions(+), 42 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 6ae348761..0e0c74a67 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3870,18 +3870,21 @@ def runBLAST(pdb, chain, **kwargs): LOGGER.warn('There is a problem with {}. Change seqid or overlap parameter to include the structure.'.format(i)) -def calcSignatureInteractions(mapping_file, PDB_folder, **kwargs): +def calcSignatureInteractions(PDB_folder, **kwargs): """Analyzes protein structures to identify various interactions using InSty. Processes data from the MSA file and folder with selected models. - Example usage: calcSignatureInteractions('shortlisted_resind.msa','./struc_homologs') - - :arg mapping_file: Aligned residue indices, MSA file type - :type mapping_file: str + Example usage: + >>> calcSignatureInteractions('./struc_homologs') + >>> calcSignatureInteractions('./struc_homologs', mapping_file='shortlisted_resind.msa') :arg PDB_folder: Directory containing PDB model files :type PDB_folder: str + :arg mapping_file: Aligned residue indices, MSA file type + required in Foldseek analyisis + :type mapping_file: str + :arg fixer: The method for fixing lack of hydrogen bonds by default is 'pdbfixer' :type fixer: 'pdbfixer' or 'openbabel' @@ -3892,50 +3895,75 @@ def calcSignatureInteractions(mapping_file, PDB_folder, **kwargs): """ import os - - fixer = kwargs.pop('fixer', 'pdbfixer') - remove_tmp_files = kwargs.pop('remove_tmp_files', True) - n_per_plot = kwargs.pop('n_per_plot', None) - min_height = kwargs.pop('min_height', 8) - - functions = { - "HydrogenBonds": calcHydrogenBonds, - "SaltBridges": calcSaltBridges, - "RepulsiveIonicBonding": calcRepulsiveIonicBonding, - "PiStacking": calcPiStacking, - "PiCation": calcPiCation, - "Hydrophobic": calcHydrophobic, - "DisulfideBonds": calcDisulfideBonds - } + mapping_file = kwargs.get('mapping_file') + + if not mapping_file: + # Dali and Blast approach + align_files = [os.path.join(PDB_folder, file) for file in os.listdir(PDB_folder)] + + functions = { + "HBs": calcHydrogenBonds, + "SBs": calcSaltBridges, + "RIB": calcRepulsiveIonicBonding, + "PiStack": calcPiStacking, + "PiCat": calcPiCation, + "HPh": calcHydrophobic, + "DiBs": calcDisulfideBonds + } - # Process each bond type - for bond_type, func in functions.items(): - # Check if the consensus file already exists - consensus_file = '{}_consensus.txt'.format(bond_type) - if os.path.exists(consensus_file): - log_message("Consensus file for {} already exists, skipping.".format(bond_type), "INFO") - continue + for bond_type, func in functions.items(): + for file in align_files: + try: + atoms = parsePDB(file) + interactions = func(atoms.select('protein')) + saveInteractionsAsDummyAtoms(atoms, interactions, filename ='INT_'+bond_type+'_'+file) + except: pass + + else: + # Foldseek approach + mapping_file = kwargs.pop('mapping_file', 'shortlisted_resind.msa') + fixer = kwargs.pop('fixer', 'pdbfixer') + remove_tmp_files = kwargs.pop('remove_tmp_files', True) + n_per_plot = kwargs.pop('n_per_plot', None) + min_height = kwargs.pop('min_height', 8) + + functions = { + "HydrogenBonds": calcHydrogenBonds, + "SaltBridges": calcSaltBridges, + "RepulsiveIonicBonding": calcRepulsiveIonicBonding, + "PiStacking": calcPiStacking, + "PiCation": calcPiCation, + "Hydrophobic": calcHydrophobic, + "DisulfideBonds": calcDisulfideBonds + } - log_message("Processing {}".format(bond_type)) - result = process_data(mapping_file, PDB_folder, func, bond_type, fixer) + # Process each bond type + for bond_type, func in functions.items(): + # Check if the consensus file already exists + consensus_file = '{}_consensus.txt'.format(bond_type) + if os.path.exists(consensus_file): + log_message("Consensus file for {} already exists, skipping.".format(bond_type), "INFO") + continue - # Check if the result is None (no valid bonds found) - if result is None: - log_message("No valid {} entries found, skipping further processing.".format(bond_type), "WARNING") - continue + log_message("Processing {}".format(bond_type)) + result = process_data(mapping_file, PDB_folder, func, bond_type, fixer) - result, fixed_files = result + # Check if the result is None (no valid bonds found) + if result is None: + log_message("No valid {} entries found, skipping further processing.".format(bond_type), "WARNING") + continue - # Proceed with plotting - plot_barh(result, bond_type, n_per_plot=n_per_plot, min_height=min_height) + result, fixed_files = result - # Remove all fixed files at the end - if remove_tmp_files == True: - for fixed_file in fixed_files: - if os.path.exists(fixed_file): - os.remove(fixed_file) - log_message("Removed fixed file: {}".format(fixed_file)) + # Proceed with plotting + plot_barh(result, bond_type, n_per_plot=n_per_plot, min_height=min_height) + # Remove all fixed files at the end + if remove_tmp_files == True: + for fixed_file in fixed_files: + if os.path.exists(fixed_file): + os.remove(fixed_file) + log_message("Removed fixed file: {}".format(fixed_file)) class Interactions(object): From 6751854901ba369ada390733f1ea29b9f7bc6716 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Mon, 25 Nov 2024 13:41:18 +0100 Subject: [PATCH 74/95] better 7 types check for writing tcl --- prody/proteins/interactions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 1e05157ec..73d3bfc8f 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -2609,7 +2609,7 @@ def TCLforSingleInteraction(interaction, color='blue', tcl_file=tcl_file): tcl_file.write('mol addrep 0 \n') except: LOGGER.info("There was a problem.") - if len(interactions) == 7: + if len(interactions) == 7 and isinstance(interactions[0][0], list): # For all seven types of interactions at once # HBs_calculations, SBs_calculations, SameChargeResidues, Pi_stacking, Pi_cation, Hydroph_calculations, Disulfide Bonds colors = ['blue', 'yellow', 'red', 'green', 'orange', 'silver', 'black'] From bebaf7c625f2a5d64ec52faf7ea0ec73f3c10629 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Mon, 25 Nov 2024 14:39:46 +0100 Subject: [PATCH 75/95] showCumulativeInteractionTypes pplot kwargs --- prody/proteins/interactions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 183345a0e..51dd59e44 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3884,7 +3884,7 @@ def showCumulativeInteractionTypes(self, **kwargs): self._atoms.ca, selstr) zeros_row = np.zeros(matrix_en_sum.shape) - pplot(zeros_row, atoms=atoms.ca) + pplot(zeros_row, atoms=atoms.ca, **kwargs) ax.bar(ResList, matrix_en_sum, width, color='blue') From b0ed071b40745fc0927cd6e7bd872ba58c051088 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Mon, 25 Nov 2024 14:41:07 +0100 Subject: [PATCH 76/95] rm py 3.8 --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index c0ca4c021..5dbba05de 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["2.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["2.7", "3.9", "3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v2 From fecc1a470999a34ddf86bf1bc2c3eb3cf2e2312d Mon Sep 17 00:00:00 2001 From: James Krieger Date: Mon, 25 Nov 2024 14:43:43 +0100 Subject: [PATCH 77/95] comment some pfam tests --- prody/tests/database/test_pfam.py | 78 +++++++++++++++---------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/prody/tests/database/test_pfam.py b/prody/tests/database/test_pfam.py index 385d8b372..1f615ed0a 100644 --- a/prody/tests/database/test_pfam.py +++ b/prody/tests/database/test_pfam.py @@ -49,18 +49,18 @@ def testPdbIdChMulti(self): self.assertEqual(sorted(list(a.keys())), ['PF00060', 'PF01094', 'PF10613'], 'searchPfam failed to return the right domain family IDs for AMPAR') - def testPdbIdChSingle(self): - """Test the outcome of a simple search scenario using a PDB ID - and chain ID to get the single domain protein TARP g8 from chain I.""" + # def testPdbIdChSingle(self): + # """Test the outcome of a simple search scenario using a PDB ID + # and chain ID to get the single domain protein TARP g8 from chain I.""" - a = searchPfam(self.queries[2]) + # a = searchPfam(self.queries[2]) - self.assertIsInstance(a, dict, - 'searchPfam failed to return a dict instance') + # self.assertIsInstance(a, dict, + # 'searchPfam failed to return a dict instance') - self.assertEqual(sorted(list(a.keys())), - ['PF00822', 'PF13903'], - 'searchPfam failed to return the right domain family IDs for TARP') + # self.assertEqual(sorted(list(a.keys())), + # ['PF00822', 'PF13903'], + # 'searchPfam failed to return the right domain family IDs for TARP') @classmethod def tearDownClass(self): @@ -93,18 +93,18 @@ def testDefault(self): self.assertTrue(os.path.exists(b)) - def testSeed(self): - """Test the outcome of fetching the domain MSA for claudins - with the alignment type argument set to seed""" + # def testSeed(self): + # """Test the outcome of fetching the domain MSA for claudins + # with the alignment type argument set to seed""" - b = fetchPfamMSA(self.query, "seed") + # b = fetchPfamMSA(self.query, "seed") - self.assertIsInstance(b, str, - 'fetchPfamMSA failed to return a str instance') + # self.assertIsInstance(b, str, + # 'fetchPfamMSA failed to return a str instance') - self.assertEqual(b, 'PF00822_seed.sth') + # self.assertEqual(b, 'PF00822_seed.sth') - self.assertTrue(os.path.exists(b)) + # self.assertTrue(os.path.exists(b)) def testFolder(self): """Test the outcome of fetching the domain MSA for claudins @@ -155,21 +155,21 @@ def testPfamIdDefault(self): 'parsePfamPDBs failed to return a list of length 5') - def testUniprotDefault(self): - """Test the outcome of parsing PDBs for a tiny family - of ABC class ATPase N-terminal domains (5 members) - with the Uniprot long ID and default parameters.""" + # def testUniprotDefault(self): + # """Test the outcome of parsing PDBs for a tiny family + # of ABC class ATPase N-terminal domains (5 members) + # with the Uniprot long ID and default parameters.""" - b = parsePfamPDBs(self.queries[1]) + # b = parsePfamPDBs(self.queries[1]) - self.assertIsInstance(b, list, - 'parsePfamPDBs failed to return a list instance') + # self.assertIsInstance(b, list, + # 'parsePfamPDBs failed to return a list instance') - self.assertIsInstance(b[0], Selection, - 'parsePfamPDBs failed to return a list of Selection instances') + # self.assertIsInstance(b[0], Selection, + # 'parsePfamPDBs failed to return a list of Selection instances') - self.assertEqual(len(b), 5, - 'parsePfamPDBs failed to return a list of length 5') + # self.assertEqual(len(b), 5, + # 'parsePfamPDBs failed to return a list of length 5') def testMultiDomainDefault(self): @@ -188,21 +188,21 @@ def testMultiDomainDefault(self): self.assertEqual(b[0].getResnums()[0], 262, 'parsePfamPDBs failed to return a first Selection with first resnum 262') - def testMultiDomainStart1(self): - """Test the outcome of parsing PDBs using a V-type proton ATPase subunit S1, - which has two domains but few relatives. Using start=1 should be like default and - return Selection objects containing the first domain.""" + # def testMultiDomainStart1(self): + # """Test the outcome of parsing PDBs using a V-type proton ATPase subunit S1, + # which has two domains but few relatives. Using start=1 should be like default and + # return Selection objects containing the first domain.""" - b = parsePfamPDBs(self.queries[2], start=1) + # b = parsePfamPDBs(self.queries[2], start=1) - self.assertIsInstance(b, list, - 'parsePfamPDBs failed to return a list instance') + # self.assertIsInstance(b, list, + # 'parsePfamPDBs failed to return a list instance') - self.assertIsInstance(b[0], Selection, - 'parsePfamPDBs failed to return a list of Selection instances') + # self.assertIsInstance(b[0], Selection, + # 'parsePfamPDBs failed to return a list of Selection instances') - self.assertEqual(b[0].getResnums()[0], 262, - 'parsePfamPDBs failed to return a first Selection with first resnum 262') + # self.assertEqual(b[0].getResnums()[0], 262, + # 'parsePfamPDBs failed to return a first Selection with first resnum 262') def testMultiDomainStart2(self): """Test the outcome of parsing PDBs using a V-type proton ATPase subunit S1, From b09d5794d06f79b1a1263fbcb82922bef12ad51c Mon Sep 17 00:00:00 2001 From: James Krieger Date: Mon, 25 Nov 2024 15:27:07 +0100 Subject: [PATCH 78/95] completely comment out pfam tests --- prody/tests/database/test_pfam.py | 306 +++++++++++++++--------------- 1 file changed, 153 insertions(+), 153 deletions(-) diff --git a/prody/tests/database/test_pfam.py b/prody/tests/database/test_pfam.py index 1f615ed0a..7256ca8bd 100644 --- a/prody/tests/database/test_pfam.py +++ b/prody/tests/database/test_pfam.py @@ -1,227 +1,227 @@ -"""This module contains unit tests for :mod:`prody.database.pfam` module.""" +# """This module contains unit tests for :mod:`prody.database.pfam` module.""" -from prody.tests import unittest -from prody.database.pfam import searchPfam -from prody.database.pfam import fetchPfamMSA -from prody.database.pfam import parsePfamPDBs +# from prody.tests import unittest +# from prody.database.pfam import searchPfam +# from prody.database.pfam import fetchPfamMSA +# from prody.database.pfam import parsePfamPDBs -from prody.atomic.selection import Selection +# from prody.atomic.selection import Selection -import os -import shutil +# import os +# import shutil -from prody import LOGGER -LOGGER.verbosity = 'none' +# from prody import LOGGER +# LOGGER.verbosity = 'none' -class TestSearchPfam(unittest.TestCase): +# class TestSearchPfam(unittest.TestCase): - @classmethod - def setUpClass(self): - self.workdir = 'pfam_search_tests' - if not os.path.exists(self.workdir): - os.mkdir(self.workdir) - os.chdir(self.workdir) +# @classmethod +# def setUpClass(self): +# self.workdir = 'pfam_search_tests' +# if not os.path.exists(self.workdir): +# os.mkdir(self.workdir) +# os.chdir(self.workdir) - self.queries = ['P19491', '6qkcB', '6qkcI'] +# self.queries = ['P19491', '6qkcB', '6qkcI'] - def testUniprotAccMulti(self): - """Test the outcome of a simple search scenario using a Uniprot Accession - for a multi-domain protein, AMPAR GluA2.""" +# def testUniprotAccMulti(self): +# """Test the outcome of a simple search scenario using a Uniprot Accession +# for a multi-domain protein, AMPAR GluA2.""" - a = searchPfam(self.queries[0]) +# a = searchPfam(self.queries[0]) - self.assertIsInstance(a, dict, - 'searchPfam failed to return a dict instance') +# self.assertIsInstance(a, dict, +# 'searchPfam failed to return a dict instance') - self.assertEqual(sorted(list(a.keys())), - ['PF00060', 'PF01094', 'PF10613'], - 'searchPfam failed to return the right domain family IDs') +# self.assertEqual(sorted(list(a.keys())), +# ['PF00060', 'PF01094', 'PF10613'], +# 'searchPfam failed to return the right domain family IDs') - def testPdbIdChMulti(self): - """Test the outcome of a simple search scenario using a PDB ID - and chain ID for the same multi-domain protein from specifying chain B.""" +# def testPdbIdChMulti(self): +# """Test the outcome of a simple search scenario using a PDB ID +# and chain ID for the same multi-domain protein from specifying chain B.""" - a = searchPfam(self.queries[1]) +# a = searchPfam(self.queries[1]) - self.assertIsInstance(a, dict, - 'searchPfam failed to return a dict instance') +# self.assertIsInstance(a, dict, +# 'searchPfam failed to return a dict instance') - self.assertEqual(sorted(list(a.keys())), ['PF00060', 'PF01094', 'PF10613'], - 'searchPfam failed to return the right domain family IDs for AMPAR') +# self.assertEqual(sorted(list(a.keys())), ['PF00060', 'PF01094', 'PF10613'], +# 'searchPfam failed to return the right domain family IDs for AMPAR') - # def testPdbIdChSingle(self): - # """Test the outcome of a simple search scenario using a PDB ID - # and chain ID to get the single domain protein TARP g8 from chain I.""" +# # def testPdbIdChSingle(self): +# # """Test the outcome of a simple search scenario using a PDB ID +# # and chain ID to get the single domain protein TARP g8 from chain I.""" - # a = searchPfam(self.queries[2]) +# # a = searchPfam(self.queries[2]) - # self.assertIsInstance(a, dict, - # 'searchPfam failed to return a dict instance') +# # self.assertIsInstance(a, dict, +# # 'searchPfam failed to return a dict instance') - # self.assertEqual(sorted(list(a.keys())), - # ['PF00822', 'PF13903'], - # 'searchPfam failed to return the right domain family IDs for TARP') +# # self.assertEqual(sorted(list(a.keys())), +# # ['PF00822', 'PF13903'], +# # 'searchPfam failed to return the right domain family IDs for TARP') - @classmethod - def tearDownClass(self): - os.chdir('..') - shutil.rmtree(self.workdir) +# @classmethod +# def tearDownClass(self): +# os.chdir('..') +# shutil.rmtree(self.workdir) -class TestFetchPfamMSA(unittest.TestCase): +# class TestFetchPfamMSA(unittest.TestCase): - @classmethod - def setUpClass(self): - self.query = 'PF00822' +# @classmethod +# def setUpClass(self): +# self.query = 'PF00822' - self.workdir = 'pfam_msa_tests' - if not os.path.exists(self.workdir): - os.mkdir(self.workdir) - os.chdir(self.workdir) +# self.workdir = 'pfam_msa_tests' +# if not os.path.exists(self.workdir): +# os.mkdir(self.workdir) +# os.chdir(self.workdir) - def testDefault(self): - """Test the outcome of fetching the domain MSA for claudins - with default parameters.""" +# def testDefault(self): +# """Test the outcome of fetching the domain MSA for claudins +# with default parameters.""" - b = fetchPfamMSA(self.query) +# b = fetchPfamMSA(self.query) - self.assertIsInstance(b, str, - 'fetchPfamMSA failed to return a str instance') +# self.assertIsInstance(b, str, +# 'fetchPfamMSA failed to return a str instance') - self.assertEqual(b, 'PF00822_seed.sth') +# self.assertEqual(b, 'PF00822_seed.sth') - self.assertTrue(os.path.exists(b)) +# self.assertTrue(os.path.exists(b)) - # def testSeed(self): - # """Test the outcome of fetching the domain MSA for claudins - # with the alignment type argument set to seed""" +# # def testSeed(self): +# # """Test the outcome of fetching the domain MSA for claudins +# # with the alignment type argument set to seed""" - # b = fetchPfamMSA(self.query, "seed") +# # b = fetchPfamMSA(self.query, "seed") - # self.assertIsInstance(b, str, - # 'fetchPfamMSA failed to return a str instance') +# # self.assertIsInstance(b, str, +# # 'fetchPfamMSA failed to return a str instance') - # self.assertEqual(b, 'PF00822_seed.sth') +# # self.assertEqual(b, 'PF00822_seed.sth') - # self.assertTrue(os.path.exists(b)) +# # self.assertTrue(os.path.exists(b)) - def testFolder(self): - """Test the outcome of fetching the domain MSA for claudins - with keyword folder set to a folder that is made especially.""" +# def testFolder(self): +# """Test the outcome of fetching the domain MSA for claudins +# with keyword folder set to a folder that is made especially.""" - folder = "new_folder" - os.mkdir(folder) - b = fetchPfamMSA(self.query, folder=folder) +# folder = "new_folder" +# os.mkdir(folder) +# b = fetchPfamMSA(self.query, folder=folder) - self.assertIsInstance(b, str, - 'fetchPfamMSA failed to return a str instance') +# self.assertIsInstance(b, str, +# 'fetchPfamMSA failed to return a str instance') - self.assertEqual(b, 'new_folder/PF00822_seed.sth') +# self.assertEqual(b, 'new_folder/PF00822_seed.sth') - self.assertTrue(os.path.exists(b)) +# self.assertTrue(os.path.exists(b)) - @classmethod - def tearDownClass(self): - os.chdir('..') - shutil.rmtree(self.workdir) +# @classmethod +# def tearDownClass(self): +# os.chdir('..') +# shutil.rmtree(self.workdir) -class TestParsePfamPDBs(unittest.TestCase): +# class TestParsePfamPDBs(unittest.TestCase): - @classmethod - def setUpClass(self): - self.queries = ['PF20446', 'Q57ZF2', 'P40682'] +# @classmethod +# def setUpClass(self): +# self.queries = ['PF20446', 'Q57ZF2', 'P40682'] - self.workdir = 'pfam_pdb_tests' - if not os.path.exists(self.workdir): - os.mkdir(self.workdir) - os.chdir(self.workdir) +# self.workdir = 'pfam_pdb_tests' +# if not os.path.exists(self.workdir): +# os.mkdir(self.workdir) +# os.chdir(self.workdir) - def testPfamIdDefault(self): - """Test the outcome of parsing PDBs for a tiny family - of ABC class ATPase N-terminal domains (5 members) - with the Pfam ID and default parameters.""" +# def testPfamIdDefault(self): +# """Test the outcome of parsing PDBs for a tiny family +# of ABC class ATPase N-terminal domains (5 members) +# with the Pfam ID and default parameters.""" - b = parsePfamPDBs(self.queries[0]) +# b = parsePfamPDBs(self.queries[0]) - self.assertIsInstance(b, list, - 'parsePfamPDBs failed to return a list instance') +# self.assertIsInstance(b, list, +# 'parsePfamPDBs failed to return a list instance') - self.assertIsInstance(b[0], Selection, - 'parsePfamPDBs failed to return a list of Selection instances') +# self.assertIsInstance(b[0], Selection, +# 'parsePfamPDBs failed to return a list of Selection instances') - self.assertEqual(len(b), 5, - 'parsePfamPDBs failed to return a list of length 5') +# self.assertEqual(len(b), 5, +# 'parsePfamPDBs failed to return a list of length 5') - # def testUniprotDefault(self): - # """Test the outcome of parsing PDBs for a tiny family - # of ABC class ATPase N-terminal domains (5 members) - # with the Uniprot long ID and default parameters.""" +# # def testUniprotDefault(self): +# # """Test the outcome of parsing PDBs for a tiny family +# # of ABC class ATPase N-terminal domains (5 members) +# # with the Uniprot long ID and default parameters.""" - # b = parsePfamPDBs(self.queries[1]) +# # b = parsePfamPDBs(self.queries[1]) - # self.assertIsInstance(b, list, - # 'parsePfamPDBs failed to return a list instance') +# # self.assertIsInstance(b, list, +# # 'parsePfamPDBs failed to return a list instance') - # self.assertIsInstance(b[0], Selection, - # 'parsePfamPDBs failed to return a list of Selection instances') +# # self.assertIsInstance(b[0], Selection, +# # 'parsePfamPDBs failed to return a list of Selection instances') - # self.assertEqual(len(b), 5, - # 'parsePfamPDBs failed to return a list of length 5') +# # self.assertEqual(len(b), 5, +# # 'parsePfamPDBs failed to return a list of length 5') - def testMultiDomainDefault(self): - """Test the outcome of parsing PDBs using a V-type proton ATPase subunit S1, - which has two domains but few relatives. Default parameters should - return Selection objects containing the first domain.""" +# def testMultiDomainDefault(self): +# """Test the outcome of parsing PDBs using a V-type proton ATPase subunit S1, +# which has two domains but few relatives. Default parameters should +# return Selection objects containing the first domain.""" - b = parsePfamPDBs(self.queries[2]) +# b = parsePfamPDBs(self.queries[2]) - self.assertIsInstance(b, list, - 'parsePfamPDBs failed to return a list instance') +# self.assertIsInstance(b, list, +# 'parsePfamPDBs failed to return a list instance') - self.assertIsInstance(b[0], Selection, - 'parsePfamPDBs failed to return a list of Selection instances') +# self.assertIsInstance(b[0], Selection, +# 'parsePfamPDBs failed to return a list of Selection instances') - self.assertEqual(b[0].getResnums()[0], 262, - 'parsePfamPDBs failed to return a first Selection with first resnum 262') +# self.assertEqual(b[0].getResnums()[0], 262, +# 'parsePfamPDBs failed to return a first Selection with first resnum 262') - # def testMultiDomainStart1(self): - # """Test the outcome of parsing PDBs using a V-type proton ATPase subunit S1, - # which has two domains but few relatives. Using start=1 should be like default and - # return Selection objects containing the first domain.""" +# # def testMultiDomainStart1(self): +# # """Test the outcome of parsing PDBs using a V-type proton ATPase subunit S1, +# # which has two domains but few relatives. Using start=1 should be like default and +# # return Selection objects containing the first domain.""" - # b = parsePfamPDBs(self.queries[2], start=1) +# # b = parsePfamPDBs(self.queries[2], start=1) - # self.assertIsInstance(b, list, - # 'parsePfamPDBs failed to return a list instance') +# # self.assertIsInstance(b, list, +# # 'parsePfamPDBs failed to return a list instance') - # self.assertIsInstance(b[0], Selection, - # 'parsePfamPDBs failed to return a list of Selection instances') +# # self.assertIsInstance(b[0], Selection, +# # 'parsePfamPDBs failed to return a list of Selection instances') - # self.assertEqual(b[0].getResnums()[0], 262, - # 'parsePfamPDBs failed to return a first Selection with first resnum 262') +# # self.assertEqual(b[0].getResnums()[0], 262, +# # 'parsePfamPDBs failed to return a first Selection with first resnum 262') - def testMultiDomainStart2(self): - """Test the outcome of parsing PDBs using a V-type proton ATPase subunit S1, - which has two domains but few relatives. Setting start to 418 should - return Selection objects containing the second domain.""" +# def testMultiDomainStart2(self): +# """Test the outcome of parsing PDBs using a V-type proton ATPase subunit S1, +# which has two domains but few relatives. Setting start to 418 should +# return Selection objects containing the second domain.""" - b = parsePfamPDBs(self.queries[2], start=418) +# b = parsePfamPDBs(self.queries[2], start=418) - self.assertIsInstance(b, list, - 'parsePfamPDBs failed to return a list instance') +# self.assertIsInstance(b, list, +# 'parsePfamPDBs failed to return a list instance') - self.assertIsInstance(b[0], Selection, - 'parsePfamPDBs failed to return a list of Selection instances') +# self.assertIsInstance(b[0], Selection, +# 'parsePfamPDBs failed to return a list of Selection instances') - self.assertEqual(b[0].getResnums()[0], 418, - 'parsePfamPDBs failed to return a first Selection with first resnum 418') +# self.assertEqual(b[0].getResnums()[0], 418, +# 'parsePfamPDBs failed to return a first Selection with first resnum 418') - @classmethod - def tearDownClass(self): - os.chdir('..') - shutil.rmtree(self.workdir) +# @classmethod +# def tearDownClass(self): +# os.chdir('..') +# shutil.rmtree(self.workdir) From 5e55c2056b6f48d6b75ff098fc463e6e694c3672 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Mon, 25 Nov 2024 15:28:19 +0100 Subject: [PATCH 79/95] no double commenting --- prody/tests/database/test_pfam.py | 78 +++++++++++++++---------------- 1 file changed, 39 insertions(+), 39 deletions(-) diff --git a/prody/tests/database/test_pfam.py b/prody/tests/database/test_pfam.py index 7256ca8bd..3b288f523 100644 --- a/prody/tests/database/test_pfam.py +++ b/prody/tests/database/test_pfam.py @@ -49,18 +49,18 @@ # self.assertEqual(sorted(list(a.keys())), ['PF00060', 'PF01094', 'PF10613'], # 'searchPfam failed to return the right domain family IDs for AMPAR') -# # def testPdbIdChSingle(self): -# # """Test the outcome of a simple search scenario using a PDB ID -# # and chain ID to get the single domain protein TARP g8 from chain I.""" +# def testPdbIdChSingle(self): +# """Test the outcome of a simple search scenario using a PDB ID +# and chain ID to get the single domain protein TARP g8 from chain I.""" -# # a = searchPfam(self.queries[2]) +# a = searchPfam(self.queries[2]) -# # self.assertIsInstance(a, dict, -# # 'searchPfam failed to return a dict instance') +# self.assertIsInstance(a, dict, +# 'searchPfam failed to return a dict instance') -# # self.assertEqual(sorted(list(a.keys())), -# # ['PF00822', 'PF13903'], -# # 'searchPfam failed to return the right domain family IDs for TARP') +# self.assertEqual(sorted(list(a.keys())), +# ['PF00822', 'PF13903'], +# 'searchPfam failed to return the right domain family IDs for TARP') # @classmethod # def tearDownClass(self): @@ -93,18 +93,18 @@ # self.assertTrue(os.path.exists(b)) -# # def testSeed(self): -# # """Test the outcome of fetching the domain MSA for claudins -# # with the alignment type argument set to seed""" +# def testSeed(self): +# """Test the outcome of fetching the domain MSA for claudins +# with the alignment type argument set to seed""" -# # b = fetchPfamMSA(self.query, "seed") +# b = fetchPfamMSA(self.query, "seed") -# # self.assertIsInstance(b, str, -# # 'fetchPfamMSA failed to return a str instance') +# self.assertIsInstance(b, str, +# 'fetchPfamMSA failed to return a str instance') -# # self.assertEqual(b, 'PF00822_seed.sth') +# self.assertEqual(b, 'PF00822_seed.sth') -# # self.assertTrue(os.path.exists(b)) +# self.assertTrue(os.path.exists(b)) # def testFolder(self): # """Test the outcome of fetching the domain MSA for claudins @@ -155,21 +155,21 @@ # 'parsePfamPDBs failed to return a list of length 5') -# # def testUniprotDefault(self): -# # """Test the outcome of parsing PDBs for a tiny family -# # of ABC class ATPase N-terminal domains (5 members) -# # with the Uniprot long ID and default parameters.""" +# def testUniprotDefault(self): +# """Test the outcome of parsing PDBs for a tiny family +# of ABC class ATPase N-terminal domains (5 members) +# with the Uniprot long ID and default parameters.""" -# # b = parsePfamPDBs(self.queries[1]) +# b = parsePfamPDBs(self.queries[1]) -# # self.assertIsInstance(b, list, -# # 'parsePfamPDBs failed to return a list instance') +# self.assertIsInstance(b, list, +# 'parsePfamPDBs failed to return a list instance') -# # self.assertIsInstance(b[0], Selection, -# # 'parsePfamPDBs failed to return a list of Selection instances') +# self.assertIsInstance(b[0], Selection, +# 'parsePfamPDBs failed to return a list of Selection instances') -# # self.assertEqual(len(b), 5, -# # 'parsePfamPDBs failed to return a list of length 5') +# self.assertEqual(len(b), 5, +# 'parsePfamPDBs failed to return a list of length 5') # def testMultiDomainDefault(self): @@ -188,21 +188,21 @@ # self.assertEqual(b[0].getResnums()[0], 262, # 'parsePfamPDBs failed to return a first Selection with first resnum 262') -# # def testMultiDomainStart1(self): -# # """Test the outcome of parsing PDBs using a V-type proton ATPase subunit S1, -# # which has two domains but few relatives. Using start=1 should be like default and -# # return Selection objects containing the first domain.""" +# def testMultiDomainStart1(self): +# """Test the outcome of parsing PDBs using a V-type proton ATPase subunit S1, +# which has two domains but few relatives. Using start=1 should be like default and +# return Selection objects containing the first domain.""" -# # b = parsePfamPDBs(self.queries[2], start=1) +# b = parsePfamPDBs(self.queries[2], start=1) -# # self.assertIsInstance(b, list, -# # 'parsePfamPDBs failed to return a list instance') +# self.assertIsInstance(b, list, +# 'parsePfamPDBs failed to return a list instance') -# # self.assertIsInstance(b[0], Selection, -# # 'parsePfamPDBs failed to return a list of Selection instances') +# self.assertIsInstance(b[0], Selection, +# 'parsePfamPDBs failed to return a list of Selection instances') -# # self.assertEqual(b[0].getResnums()[0], 262, -# # 'parsePfamPDBs failed to return a first Selection with first resnum 262') +# self.assertEqual(b[0].getResnums()[0], 262, +# 'parsePfamPDBs failed to return a first Selection with first resnum 262') # def testMultiDomainStart2(self): # """Test the outcome of parsing PDBs using a V-type proton ATPase subunit S1, From 566d340bedccc9dc2c4b54343dfc7115391f263d Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Wed, 27 Nov 2024 22:15:33 +0100 Subject: [PATCH 80/95] reoeganization of runFoldseek and calcSignatureInteractions --- prody/proteins/interactions.py | 113 +++++++++++++++++++++++---------- 1 file changed, 79 insertions(+), 34 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 0e0c74a67..d0291dcea 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3400,6 +3400,26 @@ def runFoldseek(pdb_file, chain, **kwargs): by default '~/Downloads/foldseek/pdb' To download the database use: 'foldseek databases PDB pdb tmp' in the console :type database_folder: str + + :arg fixer: The method for fixing lack of hydrogen bonds + by default is 'pdbfixer' + :type fixer: 'pdbfixer' or 'openbabel' + + :arg subset: subsets of atoms: 'ca', 'bb', 'heavy', 'noh', 'all' (see matchChains()) + by default is 'ca' + :type subset: str + + :arg seqid: Minimum value of the sequence identity (see matchChains()) + by default 5 + :type seqid: float + + :arg overlap: percent overlap (see matchChains()) + by default 50 + :type overlap: float + + :arg folder_name: Folder where the results will be collected + by default is 'struc_homologs' + :type folder_name: str """ import os @@ -3410,6 +3430,10 @@ def runFoldseek(pdb_file, chain, **kwargs): database_folder = kwargs.pop('database_folder', '~/Downloads/foldseek/pdb') coverage_threshold = kwargs.pop('coverage_threshold', 0.3) tm_threshold = kwargs.pop('tm_threshold', 0.5) + folder_name = kwargs.pop('folder_name', 'struc_homologs') + subset = kwargs.pop('subset', 'ca') + seqid = kwargs.pop('seqid', 5) + overlap = kwargs.pop('overlap', 50) if not isinstance(pdb_file, str): raise TypeError('Please provide the name of the PDB file.') @@ -3683,9 +3707,34 @@ def extract_sequence_from_pdb(pdb_file, chain, output_file): fp9.close() fp10.close() - extractMultiModelPDB('aligned_structures.pdb', folder_name='struc_homologs') + extractMultiModelPDB('aligned_structures.pdb', folder_name=folder_name) subprocess.run("rm -f inp.pdb prot.seq target.pdb temp_coord.txt temp_resind.txt temp_seq.txt", shell=True) subprocess.run("rm -rf tmp2 temp", shell=True) + + # New part + pwd = os.path.abspath(folder_name) + list_pdbs = [pwd+'/'+ff for ff in os.listdir(pwd) if ff.endswith('.pdb')] + list_pdbs.sort(key=lambda x: int(''.join(filter(str.isdigit, x)))) # all structures will be aligned on model1.pdb as in the oryginal code + + LOGGER.info('Adding hydrogens to the structures..') + new_pdbids = fixStructuresMissingAtoms(list_pdbs, method='pdbfixer', model_residues=True, overwrite=True) + + structures = parsePDB(new_pdbids) + target = structures[0] + rmsds = [] + for mobile in structures[1:]: + try: + LOGGER.info('Aligning the structures..') + i = mobile.getTitle() + LOGGER.info(i) + matches = matchChains(mobile.protein, target.protein, subset=subset, seqid=seqid, overlap=overlap) + m = matches[0] + m0_alg, T = superpose(m[0], m[1], weights=m[0].getFlags("mapped")) + rmsds.append(calcRMSD(m[0], m[1], weights=m[0].getFlags("mapped"))) + source_file = pwd+'/'+'align__'+i+'.pdb' + writePDB(source_file, mobile) + except: + LOGGER.warn('There is a problem with {}. Change seqid or overlap parameter to include the structure.'.format(i)) def runDali(pdb, chain, **kwargs): @@ -3761,7 +3810,6 @@ def runDali(pdb, chain, **kwargs): writePDB(i[0]+i[1]+'.pdb', p) list_pdbs.append(i[0]+i[1]+'.pdb') - #LOGGER.info('Number of selected structures: ', len(list_pdbs)) LOGGER.info('Adding hydrogens to the structures..') new_pdbids = fixStructuresMissingAtoms(list_pdbs, method='pdbfixer', model_residues=True, overwrite=True) @@ -3881,6 +3929,10 @@ def calcSignatureInteractions(PDB_folder, **kwargs): :arg PDB_folder: Directory containing PDB model files :type PDB_folder: str + :arg use_prefix: Whether to use perfix to select particular file names in the PDB_folder + Default is True + :type use_prefix: bool + :arg mapping_file: Aligned residue indices, MSA file type required in Foldseek analyisis :type mapping_file: str @@ -3888,42 +3940,42 @@ def calcSignatureInteractions(PDB_folder, **kwargs): :arg fixer: The method for fixing lack of hydrogen bonds by default is 'pdbfixer' :type fixer: 'pdbfixer' or 'openbabel' - - :arg remove_tmp_files: Removing intermediate files that are created in the process - by default is True - :type remove_tmp_files: True or False """ import os mapping_file = kwargs.get('mapping_file') + use_prefix = kwargs.pop('use_prefix', True) - if not mapping_file: - # Dali and Blast approach + if use_prefix == True: + align_files = [os.path.join(PDB_folder, file) for file in os.listdir(PDB_folder) if file.startswith("align_")] + + else: align_files = [os.path.join(PDB_folder, file) for file in os.listdir(PDB_folder)] - functions = { - "HBs": calcHydrogenBonds, - "SBs": calcSaltBridges, - "RIB": calcRepulsiveIonicBonding, - "PiStack": calcPiStacking, - "PiCat": calcPiCation, - "HPh": calcHydrophobic, - "DiBs": calcDisulfideBonds - } + functions_dict = { + "HBs": calcHydrogenBonds, + "SBs": calcSaltBridges, + "RIB": calcRepulsiveIonicBonding, + "PiStack": calcPiStacking, + "PiCat": calcPiCation, + "HPh": calcHydrophobic, + "DiBs": calcDisulfideBonds + } - for bond_type, func in functions.items(): - for file in align_files: - try: - atoms = parsePDB(file) - interactions = func(atoms.select('protein')) - saveInteractionsAsDummyAtoms(atoms, interactions, filename ='INT_'+bond_type+'_'+file) - except: pass + for bond_type, func in functions_dict.items(): + for file in align_files: + try: + LOGGER.info(file) + atoms = parsePDB(file) + interactions = func(atoms.select('protein')) + saveInteractionsAsDummyAtoms(atoms, interactions, filename=file.rstrip(file.split('/')[-1])+'INT_'+bond_type+'_'+file.split('/')[-1]) + except: pass - else: - # Foldseek approach + + if mapping_file: + # for MSA file (Foldseek) mapping_file = kwargs.pop('mapping_file', 'shortlisted_resind.msa') fixer = kwargs.pop('fixer', 'pdbfixer') - remove_tmp_files = kwargs.pop('remove_tmp_files', True) n_per_plot = kwargs.pop('n_per_plot', None) min_height = kwargs.pop('min_height', 8) @@ -3958,13 +4010,6 @@ def calcSignatureInteractions(PDB_folder, **kwargs): # Proceed with plotting plot_barh(result, bond_type, n_per_plot=n_per_plot, min_height=min_height) - # Remove all fixed files at the end - if remove_tmp_files == True: - for fixed_file in fixed_files: - if os.path.exists(fixed_file): - os.remove(fixed_file) - log_message("Removed fixed file: {}".format(fixed_file)) - class Interactions(object): From 12841bbd3a117164610221951b9f949624e648e1 Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Thu, 28 Nov 2024 12:21:30 +0100 Subject: [PATCH 81/95] docs fix [InSty] --- prody/proteins/interactions.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index d0291dcea..99fe82bf4 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -3749,35 +3749,35 @@ def runDali(pdb, chain, **kwargs): :arg cutoff_len: Length of aligned residues < cutoff_len (must be an integer or a float between 0 and 1) See searchDali for more details - by default 0.5 + Default is 0.5 :type cutoff_len: float :arg cutoff_rmsd: RMSD cutoff (see searchDali) - by default 1.0 + Default is 1.0 :type cutoff_rmsd: float - :arg subsetDali: fullPDB, PDB25, PDB50, PDB90 - by default is 'fullPDB' - :type subsetDali: str + :arg subset_Dali: fullPDB, PDB25, PDB50, PDB90 + Default is 'fullPDB' + :type subset_Dali: str :arg fixer: The method for fixing lack of hydrogen bonds - by default is 'pdbfixer' + Default is 'pdbfixer' :type fixer: 'pdbfixer' or 'openbabel' :arg subset: subsets of atoms: 'ca', 'bb', 'heavy', 'noh', 'all' (see matchChains()) - by default is 'ca' + Default is 'ca' :type subset: str :arg seqid: Minimum value of the sequence identity (see matchChains()) - by default 5 + Default 5 :type seqid: float :arg overlap: percent overlap (see matchChains()) - by default 50 + Default 50 :type overlap: float :arg folder_name: Folder where the results will be collected - by default is 'struc_homologs' + Default is 'struc_homologs' :type folder_name: str """ From 3a1f6b10162f4a76e2db4d1640c1cebf339a1830 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Thu, 28 Nov 2024 12:35:33 +0100 Subject: [PATCH 82/95] doc selstr x and y more --- prody/dynamics/plotting.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/prody/dynamics/plotting.py b/prody/dynamics/plotting.py index 3d9ea0de2..145d9d066 100644 --- a/prody/dynamics/plotting.py +++ b/prody/dynamics/plotting.py @@ -2386,6 +2386,16 @@ def showSelectionMatrix(matrix, atoms, selstr_x=None, selstr_y=None, **kwargs): """ Show a matrix similarly to showAtomicMatrix but only for selected atoms based on *selstr_x* and *selstr_y* + + :arg selstr_x: a selection string used with sliceAtomicData with axis=0 + to slice the matrix in the x axis and label it with corresponding atoms + :type selstr_x: str + + :arg selstr_y: a selection string used with sliceAtomicData with axis=1 + to slice the matrix in the y axis and label it with corresponding atoms + :type selstr_y: str + + If either of these are left as *None*, then no slicing is performed in that direction. """ atoms_x = atoms atoms_y = atoms From b957a2746f4775673b41cec84434bf9217aef6fa Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 29 Nov 2024 12:39:26 +0100 Subject: [PATCH 83/95] docs typo fix --- prody/dynamics/anmd.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/prody/dynamics/anmd.py b/prody/dynamics/anmd.py index 60b5ac835..a89a55ad0 100755 --- a/prody/dynamics/anmd.py +++ b/prody/dynamics/anmd.py @@ -53,7 +53,9 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, kwargs of traverseMode can be provided: pos, neg and reverse - :arg atoms: an object with atom and coordinate data + :arg atoms: an object with atom and coordinate data. + This should be a complete atomic model. It is ok to be missing + some side chain atoms and hydrogens, but not fragments, such as loops. :type atoms: :class:`.Atomic` :arg num_modes: number of modes to calculate @@ -76,7 +78,7 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, Default is 0 :type skip_modes: int - :arg anm: your own NMA modes to ModeSet to use instead + :arg anm: your own NMA modes or ModeSet to use instead Default is None :type anm: :class:`.NMA`, :class:`.ANM`, :class:`.ModeSet` From 40ddb0596b6dc735211dade44b2cc20dc1def99b Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 29 Nov 2024 15:07:55 +0100 Subject: [PATCH 84/95] restore one label and markersize to showProjection --- prody/dynamics/plotting.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/prody/dynamics/plotting.py b/prody/dynamics/plotting.py index 364f207d7..83dc9308b 100644 --- a/prody/dynamics/plotting.py +++ b/prody/dynamics/plotting.py @@ -271,6 +271,8 @@ def showProjection(ensemble=None, modes=None, projection=None, *args, **kwargs): weights = kwargs.pop('weights', None) weights = None + markersize = kwargs.pop('markersize', None) + num = projection.shape[0] use_labels = kwargs.pop('use_labels', True) @@ -283,8 +285,14 @@ def showProjection(ensemble=None, modes=None, projection=None, *args, **kwargs): labels = modes.getModel()._labels.tolist() LOGGER.info('using labels from LDA model') - if labels is not None and len(labels) != num: - raise ValueError('label should have the same length as ensemble') + one_label = False + if labels is not None: + if len(labels) == 1: + one_label = True + kwargs['label'] = labels + + elif len(labels) != num: + raise ValueError('label should have the same length as ensemble') c = kwargs.pop('c', 'b') colors = kwargs.pop('color', c) @@ -297,14 +305,14 @@ def showProjection(ensemble=None, modes=None, projection=None, *args, **kwargs): if len(colors) != num: raise ValueError('length of color must be {0}'.format(num)) elif isinstance(colors, dict): - if labels is None: + if labels is None or one_label: raise TypeError('color must be a string or a list unless labels are provided') colors_dict = colors colors = [colors_dict[label] for label in labels] else: raise TypeError('color must be a string or a list or a dict if labels are provided') - if labels is not None and len(colors_dict) == 0: + if labels is not None and not one_label and len(colors_dict) == 0: cycle_colors = plt.rcParams['axes.prop_cycle'].by_key()['color'] for i, label in enumerate(set(labels)): colors_dict[label] = cycle_colors[i % len(cycle_colors)] @@ -318,6 +326,8 @@ def showProjection(ensemble=None, modes=None, projection=None, *args, **kwargs): show = plt.plot(range(len(projection)), projection.flatten(), *args, **kwargs) if use_weights: kwargs['s'] = weights + elif markersize is not None: + kwargs['s'] = markersize if labels is not None and use_labels: for label in set(labels): kwargs['c'] = colors_dict[label] @@ -444,6 +454,8 @@ def showProjection(ensemble=None, modes=None, projection=None, *args, **kwargs): kwargs['c'] = color if weights is not None and use_weights: kwargs['s'] = weights + elif markersize is not None: + kwargs['s'] = markersize plot(*(list(projection[indices].T) + args), **kwargs) else: kwargs['color'] = color From 132348503816e9a6b629fe3dc01948e9641964ac Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 29 Nov 2024 15:21:58 +0100 Subject: [PATCH 85/95] fix for longer label --- prody/dynamics/plotting.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prody/dynamics/plotting.py b/prody/dynamics/plotting.py index 83dc9308b..d331e0c35 100644 --- a/prody/dynamics/plotting.py +++ b/prody/dynamics/plotting.py @@ -287,7 +287,7 @@ def showProjection(ensemble=None, modes=None, projection=None, *args, **kwargs): one_label = False if labels is not None: - if len(labels) == 1: + if len(labels) == 1 or np.isscalar(labels): one_label = True kwargs['label'] = labels From 93c30ed59358fff17c3cc763076c10e72c1f521b Mon Sep 17 00:00:00 2001 From: James Krieger Date: Sun, 1 Dec 2024 20:27:38 +0100 Subject: [PATCH 86/95] diversify if conditions for _parseMMCIFLines --- prody/proteins/ciffile.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prody/proteins/ciffile.py b/prody/proteins/ciffile.py index 36cefdb4f..0abedf9fe 100644 --- a/prody/proteins/ciffile.py +++ b/prody/proteins/ciffile.py @@ -312,12 +312,12 @@ def _parseMMCIFLines(atomgroup, lines, model, chain, subset, stop = 0 while not doneAtomBlock: line = lines[i] - if line[:11] == '_atom_site.': + if line.strip()[:11] == '_atom_site.': fieldCounter += 1 fields[line.split('.')[1].strip()] = fieldCounter foundAtomFields = True - elif foundAtomFields and line.strip() != '#': + elif foundAtomFields and line.strip() not in ['#', '']: if not foundAtomBlock: foundAtomBlock = True start = i From c7d4a9979c3dc7d6554840c060d5e1ba7174a77b Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Sun, 1 Dec 2024 21:07:30 +0100 Subject: [PATCH 87/95] final rearrangement of calcSignatureInteractions with MSA file --- prody/proteins/interactions.py | 76 +++++++++++----------------------- 1 file changed, 24 insertions(+), 52 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 99fe82bf4..b4c749ee9 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -356,7 +356,7 @@ def append_residue_code(residue_num, residue_dict): aa_code = residue_dict.get(residue_num, "X") # Use "X" for unknown residues return "{}{}".format(aa_code, residue_num) -def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): +def process_data(mapping_file, pdb_folder, interaction_func, bond_type, files_for_analysis): """Process the mapping file and the PDB folder to compute interaction counts and percentages.""" log_message("Loading mapping file: {}".format(mapping_file)) @@ -382,33 +382,14 @@ def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): processed_files = 0 # To track the number of files successfully processed fixed_files = [] # Store paths of fixed files to remove at the end - for i, files in enumerate(os.listdir(pdb_folder)): - # Skip any file that has already been processed (files with 'addH_' prefix) - if files.startswith('addH_'): - log_message("Skipping already fixed file: {}".format(files), "INFO") - continue - + for i, files in enumerate(files_for_analysis): log_message("Processing file {}: {}".format(i + 1, files)) - pdb_file_path = os.path.join(pdb_folder, files) - fixed_pdb_path = pdb_file_path.replace(files, 'addH_' + files) - - # Check if the fixed file already exists, skip fixing if it does - if not os.path.exists(fixed_pdb_path): - try: - log_message("Running fixer on {} using {}.".format(pdb_file_path, fixer)) - addMissingAtoms(pdb_file_path, method=fixer) - except Exception as e: - log_message("Error adding missing atoms: {}".format(e), "ERROR") - continue - else: - log_message("Using existing fixed file: {}".format(fixed_pdb_path)) - try: - coords = parsePDB(fixed_pdb_path) + coords = parsePDB(files) atoms = coords.select('protein') - interactions = Interactions() bonds = interaction_func(atoms) + saveInteractionsAsDummyAtoms(atoms, bonds, filename=files.rstrip(files.split('/')[-1])+'INT_'+bond_type+'_'+files.split('/')[-1]) except Exception as e: log_message("Error processing PDB file {}: {}".format(files, e), "ERROR") continue @@ -419,7 +400,7 @@ def process_data(mapping_file, pdb_folder, interaction_func, bond_type, fixer): continue processed_files += 1 # Increment successfully processed files - fixed_files.append(fixed_pdb_path) + fixed_files.append(files) if processed_files == 1: # First valid file with bonds determines target indices for entries in bonds: @@ -3572,6 +3553,12 @@ def extract_sequence_from_pdb(pdb_file, chain, output_file): awk_command = "awk '{{if (substr($0, 22, 1) == \"{0}\") print}}'".format(chain) subprocess.run("cat ./temp/{0} | grep -E '^(ATOM|HETATM)' | {1} > target.pdb".format(fname, awk_command), shell=True) + # Check if target.pdb has fewer than 5 lines + if sum(1 for _ in open("target.pdb")) < 5: + LOGGER.info("target.pdb has fewer than 5 lines. Skipping further processing.") + subprocess.run(['rm', 'target.pdb']) + continue + with open('target.pdb', 'r') as target_file: file4 = target_file.readlines() @@ -3936,10 +3923,6 @@ def calcSignatureInteractions(PDB_folder, **kwargs): :arg mapping_file: Aligned residue indices, MSA file type required in Foldseek analyisis :type mapping_file: str - - :arg fixer: The method for fixing lack of hydrogen bonds - by default is 'pdbfixer' - :type fixer: 'pdbfixer' or 'openbabel' """ import os @@ -3962,35 +3945,23 @@ def calcSignatureInteractions(PDB_folder, **kwargs): "DiBs": calcDisulfideBonds } - for bond_type, func in functions_dict.items(): - for file in align_files: - try: - LOGGER.info(file) - atoms = parsePDB(file) - interactions = func(atoms.select('protein')) - saveInteractionsAsDummyAtoms(atoms, interactions, filename=file.rstrip(file.split('/')[-1])+'INT_'+bond_type+'_'+file.split('/')[-1]) - except: pass - - + if not mapping_file: + for bond_type, func in functions_dict.items(): + for file in align_files: + try: + LOGGER.info(file) + atoms = parsePDB(file) + interactions = func(atoms.select('protein')) + saveInteractionsAsDummyAtoms(atoms, interactions, filename=file.rstrip(file.split('/')[-1])+'INT_'+bond_type+'_'+file.split('/')[-1]) + except: pass + if mapping_file: # for MSA file (Foldseek) - mapping_file = kwargs.pop('mapping_file', 'shortlisted_resind.msa') - fixer = kwargs.pop('fixer', 'pdbfixer') n_per_plot = kwargs.pop('n_per_plot', None) min_height = kwargs.pop('min_height', 8) - functions = { - "HydrogenBonds": calcHydrogenBonds, - "SaltBridges": calcSaltBridges, - "RepulsiveIonicBonding": calcRepulsiveIonicBonding, - "PiStacking": calcPiStacking, - "PiCation": calcPiCation, - "Hydrophobic": calcHydrophobic, - "DisulfideBonds": calcDisulfideBonds - } - # Process each bond type - for bond_type, func in functions.items(): + for bond_type, func in functions_dict.items(): # Check if the consensus file already exists consensus_file = '{}_consensus.txt'.format(bond_type) if os.path.exists(consensus_file): @@ -3998,7 +3969,7 @@ def calcSignatureInteractions(PDB_folder, **kwargs): continue log_message("Processing {}".format(bond_type)) - result = process_data(mapping_file, PDB_folder, func, bond_type, fixer) + result = process_data(mapping_file, PDB_folder, func, bond_type, files_for_analysis=align_files) # Check if the result is None (no valid bonds found) if result is None: @@ -4009,6 +3980,7 @@ def calcSignatureInteractions(PDB_folder, **kwargs): # Proceed with plotting plot_barh(result, bond_type, n_per_plot=n_per_plot, min_height=min_height) + class Interactions(object): From c159a34e2edf8eaa362a8f327e11855e62056dcd Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Sun, 1 Dec 2024 21:43:47 +0100 Subject: [PATCH 88/95] Changes in docs --- prody/proteins/interactions.py | 100 ++++++++++++++++----------------- 1 file changed, 48 insertions(+), 52 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index b4c749ee9..0cad12a09 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -471,11 +471,11 @@ def plot_barh(result, bond_type, **kwargs): """Plot horizontal bar plots of percentages of interactions, splitting the data into fixed-sized plots. :arg n_per_plot: The number of results per one plot - by default is 20 if set to None + Default is 20 if set to None :type n_per_plot: int :arg min_height: Size of the bar plot - by default is 8 + Default is 8 :type min_height: int """ @@ -614,15 +614,15 @@ def calcSASA(atoms, **kwargs): :type atoms: :class:`.Atomic` :arg selection: selection string - by default all the protein structure is used + Default all the protein structure is used :type selection: str :arg sasa_cutoff: cutoff for SASA values - default is 0.0 + Default is 0.0 :type sasa_cutoff: float, int :arg resnames: residues name included - default is False + Default is False :type resnames: bool """ @@ -672,19 +672,19 @@ def calcVolume(atoms, **kwargs): :type atoms: :class:`.Atomic` :arg selection: selection string - by default all the protein structure is used + Default all the protein structure is used :type selection: str :arg volume_cutoff: cutoff for volume - default is 0.0 to include all the results + Default is 0.0 to include all the results :type sasa_volume: float, int :arg split_residues: it will provide values for each residue - default is False + Default is False :type split_residues: bool :arg resnames: residues name included - default is False + Default is False True - will give residue names and values for each residue False - will give only the values for each residues :type resnames: bool @@ -2114,35 +2114,35 @@ def showInteractionsGraph(statistics, **kwargs): :type statistics: list :arg cutoff: Minimal number of counts per residue in the trajectory - by default 0.1. + Default is 0.1. :type cutoff: int, float :arg code: representation of the residues, 3-letter or 1-letter - by default 3-letter + Default is 3-letter :type code: str :arg multiple_chains: display chain name for structure with many chains - by default False + Default is False :type multiple_chains: bool :arg edge_cmap: color of the residue connection - by default plt.cm.Blues (blue color) + Default is plt.cm.Blues (blue color) :type edge_cmap: str :arg node_size: size of the nodes which describes residues - by default 300 + Default is 300 :type node_size: int :arg node_distance: value which will scale residue-residue interactions - by default 5 + Default is 5 :type node_distance: int :arg font_size: size of the font - by default 14 + Default is 14 :type font_size: int :arg seed: random number which affect the distribution of residues - by default 42 + Default is 42 :type seed: int """ @@ -2278,11 +2278,11 @@ def showInteractionsHist(statistics, **kwargs): :type statistics: list :arg clip: maxmimal number of residue pairs on the bar plot - by default 20 + Default is 20 :type clip: int :arg font_size: size of the font - by default 18 + Default is 18 :type font_size: int """ @@ -2584,7 +2584,7 @@ def listLigandInteractions(PLIP_output, **kwargs): :arg output: parameter to print the interactions on the screen while analyzing the structure (True | False) - by default is False + Default is False :type output: bool Note that five types of interactions are considered: hydrogen bonds, salt bridges, @@ -2966,23 +2966,23 @@ def calcSminaBindingAffinity(atoms, trajectory=None, **kwargs): :arg protein_selection: selection string for the protein and other compoment of the system that should be included, e.g. "protein and chain A", - by default "protein" + Default is "protein" :type protein_selection: str :arg ligand_selection: selection string for ligand, e.g. "resname ADP", - by default "all not protein" + Default is "all not protein" :type ligand_selection: str :arg ligand_selection: scoring function (vina or vinardo) - by default is "vina" + Default is "vina" :type ligand_selection: str :arg atom_terms: write per-atom interaction term values. It will provide more information as dictionary for each frame/model, and details for atom terms will be saved in terms_*frame_number*.txt, - by default is False + Default is False :type atom_terms: bool @@ -3370,38 +3370,37 @@ def runFoldseek(pdb_file, chain, **kwargs): :type chain: str :arg coverage_threshold: Coverage threshold - by default 0.3 + Default is 0.3 :type coverage_threshold: float :arg tm_threshold: TM-score threshold - by default 0.5 + Default is 0.5 :type tm_threshold: float :arg database_folder: Folder with the database - by default '~/Downloads/foldseek/pdb' + Default is '~/Downloads/foldseek/pdb' To download the database use: 'foldseek databases PDB pdb tmp' in the console :type database_folder: str :arg fixer: The method for fixing lack of hydrogen bonds - by default is 'pdbfixer' + Default is 'pdbfixer' :type fixer: 'pdbfixer' or 'openbabel' :arg subset: subsets of atoms: 'ca', 'bb', 'heavy', 'noh', 'all' (see matchChains()) - by default is 'ca' + Default is 'ca' :type subset: str :arg seqid: Minimum value of the sequence identity (see matchChains()) - by default 5 + Default is 5 :type seqid: float :arg overlap: percent overlap (see matchChains()) - by default 50 + Default is 50 :type overlap: float :arg folder_name: Folder where the results will be collected - by default is 'struc_homologs' - :type folder_name: str - """ + Default is 'struc_homologs' + :type folder_name: str """ import os import subprocess @@ -3756,17 +3755,16 @@ def runDali(pdb, chain, **kwargs): :type subset: str :arg seqid: Minimum value of the sequence identity (see matchChains()) - Default 5 + Default is 5 :type seqid: float :arg overlap: percent overlap (see matchChains()) - Default 50 + Default is 50 :type overlap: float :arg folder_name: Folder where the results will be collected Default is 'struc_homologs' - :type folder_name: str - """ + :type folder_name: str """ import os import shutil @@ -3832,25 +3830,24 @@ def runBLAST(pdb, chain, **kwargs): :type chain: str :arg fixer: The method for fixing lack of hydrogen bonds - by default is 'pdbfixer' + Default is 'pdbfixer' :type fixer: 'pdbfixer' or 'openbabel' :arg subset: subsets of atoms: 'ca', 'bb', 'heavy', 'noh', 'all' (see matchChains()) - by default is 'bb' + Default is 'bb' :type subset: str :arg seqid: Minimum value of the sequence identity (see matchChains()) - by default 90 + Default is 90 :type seqid: float :arg overlap: percent overlap (see matchChains()) - by default 50 + Default is 50 :type overlap: float :arg folder_name: Folder where the results will be collected - by default is 'struc_homologs' - :type folder_name: str - """ + Default is 'struc_homologs' + :type folder_name: str """ import os import shutil @@ -3922,8 +3919,7 @@ def calcSignatureInteractions(PDB_folder, **kwargs): :arg mapping_file: Aligned residue indices, MSA file type required in Foldseek analyisis - :type mapping_file: str - """ + :type mapping_file: str """ import os mapping_file = kwargs.get('mapping_file') @@ -4415,7 +4411,7 @@ def buildInteractionMatrixEnergy(self, **kwargs): """Build matrix with interaction energy comming from energy of pairs of specific residues. :arg energy_list_type: name of the list with energies - default is 'IB_solv' + Default is 'IB_solv' :type energy_list_type: 'IB_nosolv', 'IB_solv', 'CS' """ @@ -4578,7 +4574,7 @@ def getFrequentInteractors(self, contacts_min=2): (7) Disulfide bonds (disb) :arg contacts_min: Minimal number of contacts which residue may form with other residues, - by default 2. + Default is 2. :type contacts_min: int """ atoms = self._atoms @@ -5611,7 +5607,7 @@ def getLigandInteractions(self, **kwargs): :arg include_frames: used with filters, it will leave selected keyword in orginal lists, if False it will collect selected interactions in one list, Use True to assign new selection using setLigandInteractions. - by default True + Default is True :type include_frames: bool """ @@ -5661,7 +5657,7 @@ def getLigandInteractionsNumber(self, **kwargs): be a total number of interactions or it can be divided into interaction types. :arg types: Interaction types can be included (True) or not (False). - by default is True. + Default is True. :type types: bool """ @@ -5803,7 +5799,7 @@ def saveInteractionsPDB(self, **kwargs): :type filename: str :arg ligand_sele: ligand selection, - by default is 'all not (protein or water or ion)'. + Default is 'all not (protein or water or ion)'. :type ligand_sele: str """ From ec0eafa27e1ac23a7a0b1d583389536e195cefd4 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Tue, 3 Dec 2024 15:04:18 +0100 Subject: [PATCH 89/95] add get measure funcs --- prody/measure/measure.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/prody/measure/measure.py b/prody/measure/measure.py index 89e77114a..29a19ee49 100644 --- a/prody/measure/measure.py +++ b/prody/measure/measure.py @@ -16,11 +16,11 @@ if PY2K: range = xrange -__all__ = ['buildDistMatrix', 'calcDistance', - 'calcCenter', 'calcGyradius', 'calcAngle', - 'calcDihedral', 'calcOmega', 'calcPhi', 'calcPsi', - 'calcMSF', 'calcRMSF', - 'calcDeformVector', +__all__ = ['buildDistMatrix', 'calcDistance', 'calcGyradius', + 'calcCenter', 'calcAngle', 'calcDihedral', + 'getCenter', 'getAngle', 'getDihedral', + 'calcOmega', 'calcPhi', 'calcPsi', + 'calcMSF', 'calcRMSF', 'calcDeformVector', 'buildADPMatrix', 'calcADPAxes', 'calcADPs', 'pickCentral', 'pickCentralAtom', 'pickCentralConf', 'getWeights', 'calcInertiaTensor', 'calcPrincAxes', 'calcDistanceMatrix', From 3b533ed77bcb52cf4b7006b5f0b1bbd4efc09a8b Mon Sep 17 00:00:00 2001 From: James Krieger Date: Tue, 3 Dec 2024 18:16:14 +0100 Subject: [PATCH 90/95] num_steps default to 5 --- prody/dynamics/anmd.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prody/dynamics/anmd.py b/prody/dynamics/anmd.py index a89a55ad0..7da0a0683 100755 --- a/prody/dynamics/anmd.py +++ b/prody/dynamics/anmd.py @@ -43,7 +43,7 @@ __all__ = ['runANMD'] -def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, +def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=5, tolerance=10.0, **kwargs): """Runs the ANMD hybrid simulation method ([CM22]_), which generates conformations along single modes using :func:`.traverseModes` and minimises them. @@ -67,7 +67,7 @@ def runANMD(atoms, num_modes=2, max_rmsd=2., num_steps=2, tolerance=10.0, :type max_rmsd: float :arg num_steps: number of conformers in each direction for each mode - Default is 2 + Default is 5 :type num_steps: int :arg tolerance: tolerance for energy minimisation in OpenMM From b7426719ef3805a3e7acca643bba5ae1a70d4e53 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Tue, 3 Dec 2024 18:18:14 +0100 Subject: [PATCH 91/95] num_steps 2 in tests still --- prody/tests/dynamics/test_anmd.py | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/prody/tests/dynamics/test_anmd.py b/prody/tests/dynamics/test_anmd.py index 25f499c96..f4ef9120c 100644 --- a/prody/tests/dynamics/test_anmd.py +++ b/prody/tests/dynamics/test_anmd.py @@ -32,12 +32,12 @@ def testAnmdAtomsWrongType(self): def testAnmdNumModesWrongType(self): """Test response to wrong type *num_modes* argument.""" if prody.PY3K: - self.assertRaises(TypeError, self.runANMD, self.ATOMS, 'nogood') + self.assertRaises(TypeError, self.runANMD, self.ATOMS, 'nogood', num_steps=2) def testAnmdRmsdWrongType(self): """Test response to wrong type *max_rmsd* argument.""" if prody.PY3K: - self.assertRaises(TypeError, self.runANMD, self.ATOMS, max_rmsd='nogood') + self.assertRaises(TypeError, self.runANMD, self.ATOMS, max_rmsd='nogood', num_steps=2) def testAnmdStepsWrongType(self): """Test response to wrong type *num_steps* argument.""" @@ -47,14 +47,14 @@ def testAnmdStepsWrongType(self): def testAnmdToleranceWrongType(self): """Test response to wrong type *tolerance* argument.""" if prody.PY3K: - self.assertRaises(TypeError, self.runANMD, self.ATOMS, tolerance='nogood') + self.assertRaises(TypeError, self.runANMD, self.ATOMS, tolerance='nogood', num_steps=2) class TestAnmdResults(TestANMD): def testResults(self): """Test results with default parameters""" if prody.PY3K: - DEFAULT_RESULTS = runANMD(self.ATOMS) + DEFAULT_RESULTS = runANMD(self.ATOMS, num_steps=2) ens1 = DEFAULT_RESULTS[0] assert_equal(len(DEFAULT_RESULTS), 2, @@ -70,7 +70,7 @@ def testResults(self): def testResultsNumModes1(self): """Test that num_modes=1 gives 1 ensemble""" if prody.PY3K: - RESULTS = runANMD(self.ATOMS, num_modes=1) + RESULTS = runANMD(self.ATOMS, num_modes=1, num_steps=2) assert_equal(len(RESULTS), 1, 'runANMD with num_modes=1 failed to give 1 ensemble') From 53e916c16444cf6fcadbe43a61fb4a0a710bc8bf Mon Sep 17 00:00:00 2001 From: karolamik13 Date: Fri, 6 Dec 2024 22:30:47 +0100 Subject: [PATCH 92/95] InSty (calcSignatureInteractions) changes in the plot title --- prody/proteins/interactions.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 1b9e26f80..8254e2383 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -526,7 +526,7 @@ def plot_barh(result, bond_type, **kwargs): plt.ylim(-1, result_chunk.shape[0]) plt.ylabel('{} Pairs of Residue Numbers'.format(bond_type)) plt.xlabel('Percentage') - plt.title('Persistence of {} Bonds (entries {}-{})'.format(bond_type, start_idx + 1, end_idx)) + plt.title('Persistence of {} (entries {}-{})'.format(bond_type, start_idx + 1, end_idx)) # Save each plot with an incremented filename for multiple plots output_plot_file = '{}_plot_part{}.png'.format(bond_type, plot_idx + 1) log_message("Saving plot to: {}".format(output_plot_file)) From 913954bf86e54c2882c807d2d6c24c07376e4705 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Sun, 8 Dec 2024 13:16:06 +0100 Subject: [PATCH 93/95] add reverse to filterDaliMultimers --- prody/database/dali.py | 43 +++++++++++++++++++++++++++++++++++------- 1 file changed, 36 insertions(+), 7 deletions(-) diff --git a/prody/database/dali.py b/prody/database/dali.py index 6f7c73b2f..a36976fd4 100644 --- a/prody/database/dali.py +++ b/prody/database/dali.py @@ -515,7 +515,7 @@ def getTitle(self): return self._title -def daliFilterMultimer(atoms, dali_rec, n_chains=None): +def daliFilterMultimer(atoms, dali_rec, n_chains=None, reverse=False): """ Filters multimers to only include chains with Dali mappings. @@ -524,6 +524,14 @@ def daliFilterMultimer(atoms, dali_rec, n_chains=None): :arg dali_rec: the DaliRecord object with which to filter chains :type dali_rec: :class:`.DaliRecord` + + :arg n_chains: the number of chains in multimers to keep + Default is None, keeping all multimers + :arg n_chains: int + + :arg reverse: whether to reverse filtering to exclude by n_chain + Default is False + :type reverse: bool """ if not isinstance(atoms, Atomic): raise TypeError("atoms should be an Atomic object") @@ -535,6 +543,12 @@ def daliFilterMultimer(atoms, dali_rec, n_chains=None): except: raise AttributeError("Dali Record does not have any data yet. Please run fetch.") + if not isinstance(n_chains, (int, type(None))): + raise TypeError('n_chains should be None or an integer') + + if not isinstance(reverse, bool): + raise TypeError('reverse should be a Boolean') + numChains = 0 atommap = None for i, chain in enumerate(atoms.iterChains()): @@ -546,17 +560,32 @@ def daliFilterMultimer(atoms, dali_rec, n_chains=None): else: atommap += chain - if n_chains is None or numChains == n_chains: - return atommap - else: - return None + if n_chains is None or \ + not reverse and numChains == n_chains or \ + reverse and numChains != n_chains: + return atommap + return None -def daliFilterMultimers(structures, dali_rec, n_chains=None): +def daliFilterMultimers(structures, dali_rec, n_chains=None, reverse=False): """A wrapper for daliFilterMultimer to apply to multiple structures. + + :arg structures: a list of :class:`.Atomic` objects to be filtered + :type structures: list + + :arg dali_rec: the DaliRecord object with which to filter chains + :type dali_rec: :class:`.DaliRecord` + + :arg n_chains: the number of chains in multimers to keep + Default is None, keeping all multimers + :arg n_chains: int + + :arg reverse: whether to reverse filtering to exclude by n_chain + Default is False + :type reverse: bool """ dali_ags = [] for entry in structures: - result = daliFilterMultimer(entry, dali_rec, n_chains) + result = daliFilterMultimer(entry, dali_rec, n_chains, reverse) if result is not None: dali_ags.append(result) return dali_ags From 1013f4eec9c3bc30f1d30d4cba158cfd15a1ae2e Mon Sep 17 00:00:00 2001 From: James Krieger Date: Tue, 10 Dec 2024 20:39:18 +0000 Subject: [PATCH 94/95] fix filterInteractions single selection to include chain --- prody/proteins/interactions.py | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 1b9e26f80..68efa8a02 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -148,10 +148,17 @@ def filterInteractions(list_of_interactions, atoms, **kwargs): LOGGER.warn('selection did not work, so no filtering is performed') return list_of_interactions - x = p.select(kwargs['selection']).getResnames() - y = p.select(kwargs['selection']).getResnums() - listOfselection = np.unique(list(map(lambda x, y: x + str(y), x, y))) - final = [i for i in list_of_interactions if i[0] in listOfselection or i[3] in listOfselection] + selection = kwargs['selection'] + x = p.select(selection).getResnames() + y = p.select(selection).getResnums() + c = p.select(selection).getChids() + listOfselection = np.unique(list(map(lambda x, y, c: (c, x + str(y)), + x, y, c)), + axis=0) + listOfselection = [list(x) for x in listOfselection] + final = [i for i in list_of_interactions + if (([i[2], i[0]] in listOfselection) + or ([i[5], i[3]] in listOfselection))] elif 'selection2' in kwargs: LOGGER.warn('selection2 by itself is ignored') else: From 532dba138256c8a4ab439c29aa4892c870f56b18 Mon Sep 17 00:00:00 2001 From: James Krieger Date: Fri, 13 Dec 2024 12:34:00 +0000 Subject: [PATCH 95/95] complete general filterInteractions --- prody/proteins/interactions.py | 59 ++++++++++++++++++++-------------- 1 file changed, 35 insertions(+), 24 deletions(-) diff --git a/prody/proteins/interactions.py b/prody/proteins/interactions.py index 68efa8a02..1d743f316 100644 --- a/prody/proteins/interactions.py +++ b/prody/proteins/interactions.py @@ -127,40 +127,51 @@ def get_permutation_from_dic(dictionary, key): def filterInteractions(list_of_interactions, atoms, **kwargs): - """Return interactions based on selection.""" + """Return interactions based on *selection* and *selection2*.""" + if 'selection1' in kwargs: + kwargs['selection'] = kwargs['selection1'] + if 'selection' in kwargs: - if 'selection2' in kwargs: - if not 'chid' in kwargs['selection'] and not 'chain' in kwargs['selection']: - LOGGER.warn('selection does not include chid or chain, so no filtering is performed') - return list_of_interactions + selection = atoms.select(kwargs['selection']) + if selection is None: + LOGGER.warn('selection did not work, so no filtering is performed') + return list_of_interactions + + ch1 = selection.getChids() + x1 = selection.getResnames() + y1 = selection.getResnums() + listOfselection = np.unique(list(map(lambda x1, y1, ch1: (ch1, x1 + str(y1)), + x1, y1, ch1)), + axis=0) + listOfselection = [list(i) for i in listOfselection] # needed for in check to work - if not 'chid' in kwargs['selection2'] and not 'chain' in kwargs['selection2']: - LOGGER.warn('selection2 does not include chid or chain, so no filtering is performed') + if 'selection2' in kwargs: + selection2 = atoms.select(kwargs['selection2']) + if selection2 is None: + LOGGER.warn('selection2 did not work, so no filtering is performed') return list_of_interactions - - ch1 = kwargs['selection'].split()[-1] - ch2 = kwargs['selection2'].split()[-1] - final = [i for i in list_of_interactions if (i[2] == ch1 and i[5] == ch2) or (i[5] == ch1 and i[2] == ch2)] + + ch2 = selection2.getChids() + x2 = selection2.getResnames() + y2 = selection2.getResnums() + listOfselection2 = np.unique(list(map(lambda x2, y2, ch2: (ch2, x2 + str(y2)), + x2, y2, ch2)), + axis=0) + listOfselection2 = [list(i) for i in listOfselection2] # needed for in check to work + + final = [i for i in list_of_interactions if (([i[2], i[0]] in listOfselection) + and ([i[5], i[3]] in listOfselection2) + or ([i[2], i[0]] in listOfselection2) + and ([i[5], i[3]] in listOfselection))] else: - p = atoms.select('same residue as protein within 10 of ('+kwargs['selection']+')') - if p is None: - LOGGER.warn('selection did not work, so no filtering is performed') - return list_of_interactions - - selection = kwargs['selection'] - x = p.select(selection).getResnames() - y = p.select(selection).getResnums() - c = p.select(selection).getChids() - listOfselection = np.unique(list(map(lambda x, y, c: (c, x + str(y)), - x, y, c)), - axis=0) - listOfselection = [list(x) for x in listOfselection] final = [i for i in list_of_interactions if (([i[2], i[0]] in listOfselection) or ([i[5], i[3]] in listOfselection))] + elif 'selection2' in kwargs: LOGGER.warn('selection2 by itself is ignored') + final = list_of_interactions else: final = list_of_interactions return final