From 4bd1066a15ed342c932dda3ca90a8e5747d84461 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Tue, 1 Mar 2022 16:34:21 +0800 Subject: [PATCH 01/72] fix(classical): fix import relationship --- dmff/api.py | 1 + 1 file changed, 1 insertion(+) diff --git a/dmff/api.py b/dmff/api.py index afb2dfa44..defcef437 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -10,6 +10,7 @@ from .admp.pme import ADMPPmeForce from .admp.spatial import generate_construct_local_frames from .admp.recip import Ck_1, generate_pme_recip +from .classical.intra import HarmonicBondJaxForce, HarmonicAngleJaxForce, PeriodicTorsionJaxForce from jax_md import space, partition from jax import grad import linecache From c3916bc7a56a4e908250963abd3912bba670c4c1 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Tue, 1 Mar 2022 16:37:31 +0800 Subject: [PATCH 02/72] Update --- tests/test_multipole.py | 4 ++-- tests/test_sptial.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_multipole.py b/tests/test_multipole.py index 7e1064ac7..9cfd95193 100644 --- a/tests/test_multipole.py +++ b/tests/test_multipole.py @@ -2,8 +2,8 @@ import numpy as np import numpy.testing as npt import pytest -from admp.multipole import convert_cart2harm -from admp.multipole import rot_global2local, rot_local2global +from dmff.admp.multipole import convert_cart2harm +from dmff.admp.multipole import rot_global2local, rot_local2global class TestMultipoleGeometry: @pytest.mark.parametrize( diff --git a/tests/test_sptial.py b/tests/test_sptial.py index e13c8d863..055f179ae 100644 --- a/tests/test_sptial.py +++ b/tests/test_sptial.py @@ -2,7 +2,7 @@ import numpy as np import numpy.testing as npt import pytest -from admp.spatial import (build_quasi_internal, +from dmff.admp.spatial import (build_quasi_internal, generate_construct_local_frames, pbc_shift, v_pbc_shift) From 12012ba1e1a4b7f03ef91a5526278896bc09690f Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Wed, 2 Mar 2022 15:57:02 +0800 Subject: [PATCH 03/72] feat(classical): make HarmonicBond and HarmonicAngle the same as GAFF --- dmff/api.py | 56 +++++++++++++++++++++++------------------ dmff/classical/intra.py | 21 ++++++++++------ 2 files changed, 45 insertions(+), 32 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index defcef437..ad957fac3 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -420,7 +420,7 @@ def renderXML(self): app.forcefield.parsers["ADMPPmeForce"] = ADMPPmeGenerator.parseElement -class HarmonicBondGenerator: +class HarmonicBondJaxGenerator: def __init__(self, hamiltonian): self.ff = hamiltonian self.params = {'k': [], 'length': []} @@ -435,17 +435,19 @@ def registerBondType(self, bond): @staticmethod def parseElement(element, hamiltonian): - generator = HarmonicBondGenerator(hamiltonian) + print("PARSE ELEMENT") + generator = HarmonicBondJaxGenerator(hamiltonian) hamiltonian.registerGenerator(generator) for bondtype in element.findall("Bond"): generator.registerBondType(bondtype.attrib) - # jax it! - for k in generator.params.keys(): - generator.params[k] = jnp.array(generator.params[k]) - generator.types = np.array(generator.types) + def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): + # jax it! + for k in self.params.keys(): + self.params[k] = jnp.array(self.params[k]) + self.types = np.array(self.types) n_bonds = len(data.bonds) # build map @@ -472,7 +474,6 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, (idx1, idx2)) bforce = HarmonicBondJaxForce(map_atom1, map_atom2, map_param) - def potential_fn(positions, box, pairs, params): return bforce.get_energy(positions, box, pairs, params["k"], params["length"]) @@ -490,13 +491,13 @@ def renderXML(self): # register all parsers app.forcefield.parsers[ - "HarmonicBondForce"] = HarmonicBondGenerator.parseElement + "HarmonicBondForce"] = HarmonicBondJaxGenerator.parseElement -class HarmonicAngleGenerator: +class HarmonicAngleJaxGenerator: def __init__(self, hamiltonian): self.ff = hamiltonian - self.params = {'k': [], 'theta0': []} + self.params = {'k': [], 'angle': []} self._jaxPotential = None self.types = [] @@ -504,11 +505,11 @@ def registerAngleType(self, angle): types = self.ff._findAtomTypes(angle, 3) self.types.append(types) self.params['k'].append(float(angle['k'])) - self.params['theta0'].append(float(angle['theta0'])) + self.params['angle'].append(float(angle['angle'])) @staticmethod def parseElement(element, hamiltonian): - generator = HarmonicAngleGenerator(hamiltonian) + generator = HarmonicAngleJaxGenerator(hamiltonian) hamiltonian.registerGenerator(generator) for bondtype in element.findall("Angle"): generator.registerAngleType(bondtype.attrib) @@ -527,9 +528,9 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, map_atom3 = np.zeros(n_angles, dtype=int) map_param = np.zeros(n_angles, dtype=int) for i in range(n_angles): - idx1 = data.angles[i].atom1 - idx2 = data.angles[i].atom2 - idx3 = data.angles[i].atom3 + idx1 = data.angles[i][0] + idx2 = data.angles[i][1] + idx3 = data.angles[i][2] type1 = data.atomType[data.atoms[idx1]] type2 = data.atomType[data.atoms[idx2]] type3 = data.atomType[data.atoms[idx3]] @@ -555,7 +556,7 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, def potential_fn(positions, box, pairs, params): return aforce.get_energy(positions, box, pairs, params["k"], - params["theta0"]) + params["angle"]) self._jaxPotential = potential_fn # self._top_data = data @@ -570,7 +571,7 @@ def renderXML(self): # register all parsers app.forcefield.parsers[ - "HarmonicAngleForce"] = HarmonicAngleGenerator.parseElement + "HarmonicAngleForce"] = HarmonicAngleJaxGenerator.parseElement class PeriodicTorsion(object): @@ -723,13 +724,13 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): tordef.phase[i], tordef.k[i]) -app.forcefield.parsers[ - "PeriodicTorsionForce"] = PeriodicTorsionGenerator.parseElement +#app.forcefield.parsers[ +# "PeriodicTorsionForce"] = PeriodicTorsionGenerator.parseElement class Hamiltonian(app.forcefield.ForceField): - def __init__(self, xmlname): - super().__init__(xmlname) + def __init__(self, *xmlnames): + super().__init__(*xmlnames) self._potentials = [] def createPotential( @@ -737,15 +738,22 @@ def createPotential( topology, nonbondedMethod=app.NoCutoff, nonbondedCutoff=1.0 * unit.nanometer, + constraints=None, + removeCMMotion=True ): system = self.createSystem(topology, nonbondedMethod=nonbondedMethod, - nonbondedCutoff=nonbondedCutoff) + nonbondedCutoff=nonbondedCutoff, + constraints=constraints, + removeCMMotion=removeCMMotion) # load_constraints_from_system_if_needed # create potentials for generator in self._forces: - potentialImpl = generator.getJaxPotential() - self._potentials.append(potentialImpl) + try: + potentialImpl = generator.getJaxPotential() + self._potentials.append(potentialImpl) + except: + pass return [p for p in self._potentials] diff --git a/dmff/classical/intra.py b/dmff/classical/intra.py index 8c0d187b4..5fe8187fa 100644 --- a/dmff/classical/intra.py +++ b/dmff/classical/intra.py @@ -6,11 +6,16 @@ from jax.scipy.special import erf def distance(p1v, p2v): - pass - + return jnp.sqrt(jnp.sum(jnp.power(p1v - p2v, 2), axis=1)) + def angle(p1v, p2v, p3v): - pass - + v1 = (p2v - p1v) / jnp.reshape(distance(p1v, p2v), (-1,1)) + v2 = (p2v - p3v) / jnp.reshape(distance(p2v, p3v), (-1,1)) + vxx = v1[:,0] * v2[:,0] + vyy = v1[:,1] * v2[:,1] + vzz = v1[:,2] * v2[:,2] + return jnp.arccos(vxx + vyy + vzz) + def dihedral(p1v, p2v, p3v, p4v): pass @@ -25,8 +30,8 @@ def generate_get_energy(self): def get_energy(positions, box, pairs, k, length): p1 = positions[self.p1idx] p2 = positions[self.p2idx] - kprm = k[self.prmidx][0] - b0prm = length[self.prmidx][1] + kprm = k[self.prmidx] + b0prm = length[self.prmidx] dist = distance(p1, p2) return jnp.sum(0.5 * kprm * jnp.power(dist - b0prm, 2)) @@ -60,8 +65,8 @@ def get_energy(positions, box, pairs, k, theta0): p1 = positions[self.p1idx] p2 = positions[self.p2idx] p3 = positions[self.p3idx] - kprm = k[self.prmidx][0] - theta0prm = theta0[self.prmidx][1] + kprm = k[self.prmidx] + theta0prm = theta0[self.prmidx] ang = angle(p1, p2, p3) return jnp.sum(0.5 * kprm * jnp.power(ang - theta0prm, 2)) From 356a2e5c3112bc0eabac7571734f761d2ebcfbc5 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 6 Mar 2022 16:44:53 +0800 Subject: [PATCH 04/72] feat(classical): Support torsion force --- dmff/api.py | 245 +++++++++++++++++++++------------------- dmff/classical/intra.py | 23 +++- 2 files changed, 146 insertions(+), 122 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index ad957fac3..bacdfa910 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -441,7 +441,6 @@ def parseElement(element, hamiltonian): for bondtype in element.findall("Bond"): generator.registerBondType(bondtype.attrib) - def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): # jax it! @@ -474,6 +473,7 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, (idx1, idx2)) bforce = HarmonicBondJaxForce(map_atom1, map_atom2, map_param) + def potential_fn(positions, box, pairs, params): return bforce.get_energy(positions, box, pairs, params["k"], params["length"]) @@ -588,54 +588,81 @@ def __init__(self, types): ## @private -class PeriodicTorsionGenerator(object): +class PeriodicTorsionJaxGenerator(object): """A PeriodicTorsionGenerator constructs a PeriodicTorsionForce.""" def __init__(self, hamiltonian): self.ff = hamiltonian - self.proper = [] - self.improper = [] - self.params = {'k': [], 'theta0': []} - self.propersForAtomType = defaultdict(set) + self.p_types = [] + self.i_types = [] + self.params = { + 'k1_p': [], + 'psi1_p': [], + "k2_p": [], + "psi2_p": [], + "k3_p": [], + "psi3_p": [], + 'k1_i': [], + 'psi1_i': [], + "k2_i": [], + "psi2_i": [], + "k3_i": [], + "psi3_i": [], + } def registerProperTorsion(self, parameters): - torsion = self.ff._parseTorsion(parameters) - if torsion is not None: - index = len(self.proper) - self.proper.append(torsion) - for t in torsion.types2: - self.propersForAtomType[t].add(index) - for t in torsion.types3: - self.propersForAtomType[t].add(index) - - def registerImproperTorsion(self, parameters, ordering='default'): - torsion = self.ff._parseTorsion(parameters) - if torsion is not None: - if ordering in ['default', 'charmm', 'amber', 'smirnoff']: - torsion.ordering = ordering - else: - raise ValueError( - 'Illegal ordering type %s for improper torsion %s' % - (ordering, torsion)) - self.improper.append(torsion) + types = self.ff._findAtomTypes(parameters, 4) + self.p_types.append(types) + k1, p1, k2, p2, k3, p3 = 0., 0., 0., 0., 0., 0. + for ii in range(1, 4): + if "periodicity1%i" % ii in parameters: + nperiod = int(parameters["periodicity1%i" % ii]) + if nperiod == 1: + k1, p1 = parameters["k1"], parameters["phase1"] + if nperiod == 2: + k2, p2 = parameters["k2"], parameters["phase2"] + if nperiod == 3: + k3, p3 = parameters["k3"], parameters["phase3"] + self.params["k1_p"].append(k1) + self.params["psi1_p"].append(p1) + self.params["k2_p"].append(k2) + self.params["psi2_p"].append(p2) + self.params["k3_p"].append(k3) + self.params["psi3_p"].append(p3) + + def registerImproperTorsion(self, parameters): + types = self.ff._findAtomTypes(parameters, 4) + self.i_types.append(types) + k1, p1, k2, p2, k3, p3 = 0., 0., 0., 0., 0., 0. + for ii in range(1, 4): + if "periodicity1%i" % ii in parameters: + nperiod = int(parameters["periodicity1%i" % ii]) + if nperiod == 1: + k1, p1 = parameters["k1"], parameters["phase1"] + if nperiod == 2: + k2, p2 = parameters["k2"], parameters["phase2"] + if nperiod == 3: + k3, p3 = parameters["k3"], parameters["phase3"] + self.params["k1_i"].append(k1) + self.params["psi1_i"].append(p1) + self.params["k2_i"].append(k2) + self.params["psi2_i"].append(p2) + self.params["k3_i"].append(k3) + self.params["psi3_i"].append(p3) @staticmethod def parseElement(element, ff): existing = [ - f for f in ff._forces if isinstance(f, PeriodicTorsionGenerator) + f for f in ff._forces if isinstance(f, PeriodicTorsionJaxGenerator) ] if len(existing) == 0: - generator = PeriodicTorsionGenerator(ff) + generator = PeriodicTorsionJaxGenerator(ff) ff.registerGenerator(generator) else: generator = existing[0] for torsion in element.findall('Proper'): generator.registerProperTorsion(torsion.attrib) for torsion in element.findall('Improper'): - if 'ordering' in element.attrib: - generator.registerImproperTorsion(torsion.attrib, - element.attrib['ordering']) - else: - generator.registerImproperTorsion(torsion.attrib) + generator.registerImproperTorsion(torsion.attrib) # jax it! for k in generator.params.keys(): generator.params[k] = jnp.array(generator.params[k]) @@ -643,89 +670,77 @@ def parseElement(element, ff): def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): wildcard = self.ff._atomClasses[''] - proper_cache = {} + map_a1_p = [] + map_a2_p = [] + map_a3_p = [] + map_a4_p = [] + map_proper = [] + map_a1_i = [] + map_a2_i = [] + map_a3_i = [] + map_a4_i = [] + map_impr = [] for torsion in data.propers: type1, type2, type3, type4 = [ data.atomType[data.atoms[torsion[i]]] for i in range(4) ] - sig = (type1, type2, type3, type4) - sig = frozenset((sig, sig[::-1])) - match = proper_cache.get(sig, None) - if match == -1: - continue - if match is None: - for index in self.propersForAtomType[type2]: - tordef = self.proper[index] - types1 = tordef.types1 - types2 = tordef.types2 - types3 = tordef.types3 - types4 = tordef.types4 - if (type2 in types2 and type3 in types3 and type4 in types4 - and type1 in types1) or (type2 in types3 - and type3 in types2 - and type4 in types1 - and type1 in types4): - hasWildcard = (wildcard - in (types1, types2, types3, types4)) - if match is None or not hasWildcard: # Prefer specific definitions over ones with wildcards - match = tordef - if not hasWildcard: - break - if match is None: - proper_cache[sig] = -1 - else: - proper_cache[sig] = match - if match is not None: - for i in range(len(match.phase)): - if match.k[i] != 0: - force.addTorsion(torsion[0], torsion[1], torsion[2], - torsion[3], match.periodicity[i], - match.phase[i], match.k[i]) - impr_cache = {} + for nn in range(len(self.p_types)): + types1, types2, types3, types4 = self.p_types[nn] + if (type2 in types2 and type3 in types3 and type4 in types4 + and type1 in types1) or (type2 in types3 + and type3 in types2 + and type4 in types1 + and type1 in types4): + map_a1_p.append(torsion[0]) + map_a2_p.append(torsion[1]) + map_a3_p.append(torsion[2]) + map_a4_p.append(torsion[3]) + map_proper.append(nn) + for torsion in data.impropers: - t1, t2, t3, t4 = [ + type1, type2, type3, type4 = [ data.atomType[data.atoms[torsion[i]]] for i in range(4) ] - sig = (t1, t2, t3, t4) - match = impr_cache.get(sig, None) - if match == -1: - # Previously checked, and doesn't appear in the database - continue - elif match: - i1, i2, i3, i4, tordef = match - a1, a2, a3, a4 = (torsion[i] for i in (i1, i2, i3, i4)) - match = (a1, a2, a3, a4, tordef) - if match is None: - match = _matchImproper(data, torsion, self) - if match is not None: - order = match[:4] - i1, i2, i3, i4 = tuple(torsion.index(a) for a in order) - impr_cache[sig] = (i1, i2, i3, i4, match[-1]) - else: - impr_cache[sig] = -1 - if match is not None: - (a1, a2, a3, a4, tordef) = match - for i in range(len(tordef.phase)): - if tordef.k[i] != 0: - if tordef.ordering == 'smirnoff': - # Add all torsions in trefoil - force.addTorsion(a1, a2, a3, a4, - tordef.periodicity[i], - tordef.phase[i], tordef.k[i]) - force.addTorsion(a1, a3, a4, a2, - tordef.periodicity[i], - tordef.phase[i], tordef.k[i]) - force.addTorsion(a1, a4, a2, a3, - tordef.periodicity[i], - tordef.phase[i], tordef.k[i]) - else: - force.addTorsion(a1, a2, a3, a4, - tordef.periodicity[i], - tordef.phase[i], tordef.k[i]) - - -#app.forcefield.parsers[ -# "PeriodicTorsionForce"] = PeriodicTorsionGenerator.parseElement + for nn in range(len(self.p_types)): + types1, types2, types3, types4 = self.i_types[nn] + if (type2 in types2 and type3 in types3 and type4 in types4 + and type1 in types1) or (type2 in types3 + and type3 in types2 + and type4 in types1 + and type1 in types4): + map_a1_i.append(torsion[0]) + map_a2_i.append(torsion[1]) + map_a3_i.append(torsion[2]) + map_a4_i.append(torsion[3]) + map_impr.append(nn) + + prop = PeriodicTorsionJaxForce(map_a1_p, map_a2_p, map_a3_p, map_a4_p, + map_proper) + impr = PeriodicTorsionJaxForce(map_a1_i, map_a2_i, map_a3_i, map_a4_i, + map_impr) + + def potential_fn(positions, box, pairs, params): + return prop.get_energy( + positions, box, pairs, params["k1_p"], params["psi1_p"], + params["k2_p"], params["psi2_p"], + params["k3_p"], params["psi3_p"]) + impr.get_energy( + positions, box, pairs, params["k1_i"], params["psi1_i"], + params["k2_i"], params["psi2_i"], params["k3_i"], + params["psi3_i"]) + + self._jaxPotential = potential_fn + # self._top_data = data + + def getJaxPotential(self): + return self._jaxPotential + + def renderXML(self): + # generate xml force field file + pass + + +app.forcefield.parsers[ + "PeriodicTorsionForce"] = PeriodicTorsionJaxGenerator.parseElement class Hamiltonian(app.forcefield.ForceField): @@ -733,14 +748,12 @@ def __init__(self, *xmlnames): super().__init__(*xmlnames) self._potentials = [] - def createPotential( - self, - topology, - nonbondedMethod=app.NoCutoff, - nonbondedCutoff=1.0 * unit.nanometer, - constraints=None, - removeCMMotion=True - ): + def createPotential(self, + topology, + nonbondedMethod=app.NoCutoff, + nonbondedCutoff=1.0 * unit.nanometer, + constraints=None, + removeCMMotion=True): system = self.createSystem(topology, nonbondedMethod=nonbondedMethod, nonbondedCutoff=nonbondedCutoff, diff --git a/dmff/classical/intra.py b/dmff/classical/intra.py index 5fe8187fa..af6fe60c0 100644 --- a/dmff/classical/intra.py +++ b/dmff/classical/intra.py @@ -16,8 +16,15 @@ def angle(p1v, p2v, p3v): vzz = v1[:,2] * v2[:,2] return jnp.arccos(vxx + vyy + vzz) -def dihedral(p1v, p2v, p3v, p4v): - pass +def dihedral(i, j, k, l): + f, g, h = i - j, j - k, l - k + a = vmap(jnp.cross, (0, 0))(f, g) + b = vmap(jnp.cross, (0, 0))(h, g) + axb = vmap(jnp.cross, (0, 0))(a, b) + cos = vmap(jnp.dot, (0, 0))(a, b) + sin = vmap(jnp.dot, (0, 0))(axb, g) / jnp.linalg.norm(g) + r = - vmap(jnp.arctan2, (0, 0))(sin, cos) + return r class HarmonicBondJaxForce: def __init__(self, p1idx, p2idx, prmidx): @@ -97,15 +104,19 @@ def __init__(self, p1idx, p2idx, p3idx, p4idx, prmidx): self.refresh_calculators() def generate_get_energy(self): - def get_energy(positions, box, pairs, k, psi0): + def get_energy(positions, box, pairs, k1, psi1, k2, psi2, k3, psi3): p1 = positions[self.p1idx] p2 = positions[self.p2idx] p3 = positions[self.p3idx] p4 = positions[self.p4idx] - kprm = k[self.prmidx][0] - psi0prm = psi0[self.prmidx][1] + k1p = k1[self.prmidx] + psi1p = psi1[self.prmidx] + k2p = k2[self.prmidx] + psi2p = psi2[self.prmidx] + k3p = k3[self.prmidx] + psi3p = psi3[self.prmidx] dih = dihedral(p1, p2, p3, p4) - return jnp.sum(0.5 * k * jnp.power(dih - psi0, 2)) + return k1p * (1 + jnp.cos(dih - psi1p)) + k2p * (1 + jnp.cos(2. * dih - psi2p)) + k3p * (1 + jnp.cos(3. * dih - psi3p)) return get_energy From 906bd27dca768f0ff0fe3b748ff17367ca2ae19f Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 6 Mar 2022 16:47:27 +0800 Subject: [PATCH 05/72] fix(classical): use two attributes to save proper/improper dihedral separately --- dmff/api.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dmff/api.py b/dmff/api.py index bacdfa910..742d03ab0 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -666,7 +666,8 @@ def parseElement(element, ff): # jax it! for k in generator.params.keys(): generator.params[k] = jnp.array(generator.params[k]) - generator.types = np.array(generator.types) + generator.p_types = np.array(generator.p_types) + generator.i_types = np.array(generator.i_types) def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): wildcard = self.ff._atomClasses[''] From ac5b212195f580b064dca21abc24e9f963d058c0 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 6 Mar 2022 16:49:37 +0800 Subject: [PATCH 06/72] fix(classical): Jax the parameters when creating forces --- dmff/api.py | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index 742d03ab0..55c6394b2 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -513,14 +513,15 @@ def parseElement(element, hamiltonian): hamiltonian.registerGenerator(generator) for bondtype in element.findall("Angle"): generator.registerAngleType(bondtype.attrib) - # jax it! - for k in generator.params.keys(): - generator.params[k] = jnp.array(generator.params[k]) - generator.types = np.array(generator.types) def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): + # jax it! + for k in self.params.keys(): + self.params[k] = jnp.array(self.params[k]) + self.types = np.array(self.types) + n_angles = len(data.angles) # build map map_atom1 = np.zeros(n_angles, dtype=int) @@ -663,13 +664,14 @@ def parseElement(element, ff): generator.registerProperTorsion(torsion.attrib) for torsion in element.findall('Improper'): generator.registerImproperTorsion(torsion.attrib) - # jax it! - for k in generator.params.keys(): - generator.params[k] = jnp.array(generator.params[k]) - generator.p_types = np.array(generator.p_types) - generator.i_types = np.array(generator.i_types) def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): + # jax it! + for k in self.params.keys(): + self.params[k] = jnp.array(self.params[k]) + self.p_types = np.array(self.p_types) + self.i_types = np.array(self.i_types) + wildcard = self.ff._atomClasses[''] map_a1_p = [] map_a2_p = [] From dfb81ee691a28a500703321a6fc6b8568639af70 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 6 Mar 2022 16:50:42 +0800 Subject: [PATCH 07/72] fix(classical): fix a typo --- dmff/api.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dmff/api.py b/dmff/api.py index 55c6394b2..cb064d092 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -704,7 +704,7 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): type1, type2, type3, type4 = [ data.atomType[data.atoms[torsion[i]]] for i in range(4) ] - for nn in range(len(self.p_types)): + for nn in range(len(self.i_types)): types1, types2, types3, types4 = self.i_types[nn] if (type2 in types2 and type3 in types3 and type4 in types4 and type1 in types1) or (type2 in types3 From e463ac7bc41d13a20c6fda29c424b54c62171b04 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 6 Mar 2022 16:54:43 +0800 Subject: [PATCH 08/72] fix(classical): use ndarray to save indexes --- dmff/api.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/dmff/api.py b/dmff/api.py index cb064d092..f0675d03a 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -717,6 +717,17 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): map_a4_i.append(torsion[3]) map_impr.append(nn) + map_a1_p = np.array(map_a1_p, dtype=int) + map_a2_p = np.array(map_a2_p, dtype=int) + map_a3_p = np.array(map_a3_p, dtype=int) + map_a4_p = np.array(map_a4_p, dtype=int) + map_proper = np.array(map_proper, dtype=int) + map_a1_i = np.array(map_a1_i, dtype=int) + map_a2_i = np.array(map_a2_i, dtype=int) + map_a3_i = np.array(map_a3_i, dtype=int) + map_a4_i = np.array(map_a4_i, dtype=int) + map_impr = np.array(map_impr, dtype=int) + prop = PeriodicTorsionJaxForce(map_a1_p, map_a2_p, map_a3_p, map_a4_p, map_proper) impr = PeriodicTorsionJaxForce(map_a1_i, map_a2_i, map_a3_i, map_a4_i, From 971f7bc1490c1407e38afc38e6f9b75bf5d4dd3d Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 6 Mar 2022 16:57:50 +0800 Subject: [PATCH 09/72] fix(classical): return sum of energies for torsion --- dmff/classical/intra.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dmff/classical/intra.py b/dmff/classical/intra.py index af6fe60c0..094626536 100644 --- a/dmff/classical/intra.py +++ b/dmff/classical/intra.py @@ -116,7 +116,8 @@ def get_energy(positions, box, pairs, k1, psi1, k2, psi2, k3, psi3): k3p = k3[self.prmidx] psi3p = psi3[self.prmidx] dih = dihedral(p1, p2, p3, p4) - return k1p * (1 + jnp.cos(dih - psi1p)) + k2p * (1 + jnp.cos(2. * dih - psi2p)) + k3p * (1 + jnp.cos(3. * dih - psi3p)) + ener = k1p * (1 + jnp.cos(dih - psi1p)) + k2p * (1 + jnp.cos(2. * dih - psi2p)) + k3p * (1 + jnp.cos(3. * dih - psi3p)) + return jnp.sum(ener) return get_energy From cbd6f4ca885cb8401a594ec4f9f3851c5338c7b8 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 6 Mar 2022 17:18:27 +0800 Subject: [PATCH 10/72] feat(classical): support 4th order for torsion --- dmff/api.py | 53 ++++++++++++++++++++++++++++------------- dmff/classical/intra.py | 6 +++-- 2 files changed, 41 insertions(+), 18 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index f0675d03a..4710221a7 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -602,53 +602,73 @@ def __init__(self, hamiltonian): "psi2_p": [], "k3_p": [], "psi3_p": [], + "k4_p": [], + "psi4_p": [], 'k1_i': [], 'psi1_i': [], "k2_i": [], "psi2_i": [], "k3_i": [], "psi3_i": [], + "k4_i": [], + "psi4_i": [], } def registerProperTorsion(self, parameters): types = self.ff._findAtomTypes(parameters, 4) self.p_types.append(types) - k1, p1, k2, p2, k3, p3 = 0., 0., 0., 0., 0., 0. - for ii in range(1, 4): - if "periodicity1%i" % ii in parameters: - nperiod = int(parameters["periodicity1%i" % ii]) + k1, p1, k2, p2, k3, p3, k4, p4 = 0., 0., 0., 0., 0., 0., 0., 0. + for ii in range(1, 5): + if "periodicity%i" % ii in parameters: + nperiod = int(parameters["periodicity%i" % ii]) if nperiod == 1: - k1, p1 = parameters["k1"], parameters["phase1"] + k1, p1 = float(parameters["k%i" % ii]), float( + parameters["phase%i" % ii]) if nperiod == 2: - k2, p2 = parameters["k2"], parameters["phase2"] + k2, p2 = float(parameters["k%i" % ii]), float( + parameters["phase%i" % ii]) if nperiod == 3: - k3, p3 = parameters["k3"], parameters["phase3"] + k3, p3 = float(parameters["k%i" % ii]), float( + parameters["phase%i" % ii]) + if nperiod == 4: + k4, p4 = float(parameters["k%i" % ii]), float( + parameters["phase%i" % ii]) self.params["k1_p"].append(k1) self.params["psi1_p"].append(p1) self.params["k2_p"].append(k2) self.params["psi2_p"].append(p2) self.params["k3_p"].append(k3) self.params["psi3_p"].append(p3) + self.params["k4_p"].append(k4) + self.params["psi4_p"].append(p4) def registerImproperTorsion(self, parameters): types = self.ff._findAtomTypes(parameters, 4) self.i_types.append(types) - k1, p1, k2, p2, k3, p3 = 0., 0., 0., 0., 0., 0. + k1, p1, k2, p2, k3, p3, k4, p4 = 0., 0., 0., 0., 0., 0., 0., 0. for ii in range(1, 4): - if "periodicity1%i" % ii in parameters: - nperiod = int(parameters["periodicity1%i" % ii]) + if "periodicity%i" % ii in parameters: + nperiod = int(parameters["periodicity%i" % ii]) if nperiod == 1: - k1, p1 = parameters["k1"], parameters["phase1"] + k1, p1 = float(parameters["k%i" % ii]), float( + parameters["phase%i" % ii]) if nperiod == 2: - k2, p2 = parameters["k2"], parameters["phase2"] + k2, p2 = float(parameters["k%i" % ii]), float( + parameters["phase%i" % ii]) if nperiod == 3: - k3, p3 = parameters["k3"], parameters["phase3"] + k3, p3 = float(parameters["k%i" % ii]), float( + parameters["phase%i" % ii]) + if nperiod == 4: + k4, p4 = float(parameters["k%i" % ii]), float( + parameters["phase%i" % ii]) self.params["k1_i"].append(k1) self.params["psi1_i"].append(p1) self.params["k2_i"].append(k2) self.params["psi2_i"].append(p2) self.params["k3_i"].append(k3) self.params["psi3_i"].append(p3) + self.params["k4_i"].append(k4) + self.params["psi4_i"].append(p4) @staticmethod def parseElement(element, ff): @@ -736,11 +756,12 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): def potential_fn(positions, box, pairs, params): return prop.get_energy( positions, box, pairs, params["k1_p"], params["psi1_p"], - params["k2_p"], params["psi2_p"], - params["k3_p"], params["psi3_p"]) + impr.get_energy( + params["k2_p"], params["psi2_p"], params["k3_p"], + params["psi3_p"], + params["k4_p"], params["psi4_p"]) + impr.get_energy( positions, box, pairs, params["k1_i"], params["psi1_i"], params["k2_i"], params["psi2_i"], params["k3_i"], - params["psi3_i"]) + params["psi3_i"], params["k4_i"], params["psi4_i"]) self._jaxPotential = potential_fn # self._top_data = data diff --git a/dmff/classical/intra.py b/dmff/classical/intra.py index 094626536..4bd5a4a8c 100644 --- a/dmff/classical/intra.py +++ b/dmff/classical/intra.py @@ -104,7 +104,7 @@ def __init__(self, p1idx, p2idx, p3idx, p4idx, prmidx): self.refresh_calculators() def generate_get_energy(self): - def get_energy(positions, box, pairs, k1, psi1, k2, psi2, k3, psi3): + def get_energy(positions, box, pairs, k1, psi1, k2, psi2, k3, psi3, k4, psi4): p1 = positions[self.p1idx] p2 = positions[self.p2idx] p3 = positions[self.p3idx] @@ -115,8 +115,10 @@ def get_energy(positions, box, pairs, k1, psi1, k2, psi2, k3, psi3): psi2p = psi2[self.prmidx] k3p = k3[self.prmidx] psi3p = psi3[self.prmidx] + k4p = k4[self.prmidx] + psi4p = psi4[self.prmidx] dih = dihedral(p1, p2, p3, p4) - ener = k1p * (1 + jnp.cos(dih - psi1p)) + k2p * (1 + jnp.cos(2. * dih - psi2p)) + k3p * (1 + jnp.cos(3. * dih - psi3p)) + ener = k1p * (1 + jnp.cos(dih - psi1p)) + k2p * (1 + jnp.cos(2. * dih - psi2p)) + k3p * (1 + jnp.cos(3. * dih - psi3p)) + k4p * (1 + jnp.cos(4. * dih - psi4p)) return jnp.sum(ener) return get_energy From 7180f34af43a369acc9700b9ef561bbacb95246b Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 09:49:50 +0800 Subject: [PATCH 11/72] feat(classical): Add UT for classical forcefields --- tests/data/angle1.xml | 19 +++++++++++ tests/data/bond1.xml | 16 +++++++++ tests/data/impr1.xml | 22 +++++++++++++ tests/data/proper1.xml | 22 +++++++++++++ tests/data/wild1.xml | 22 +++++++++++++ tests/test_classical.py | 72 +++++++++++++++++++++++++++++++++++++++++ 6 files changed, 173 insertions(+) create mode 100644 tests/data/angle1.xml create mode 100644 tests/data/bond1.xml create mode 100644 tests/data/impr1.xml create mode 100644 tests/data/proper1.xml create mode 100644 tests/data/wild1.xml create mode 100644 tests/test_classical.py diff --git a/tests/data/angle1.xml b/tests/data/angle1.xml new file mode 100644 index 000000000..15aed440c --- /dev/null +++ b/tests/data/angle1.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/bond1.xml b/tests/data/bond1.xml new file mode 100644 index 000000000..ae42d6808 --- /dev/null +++ b/tests/data/bond1.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/impr1.xml b/tests/data/impr1.xml new file mode 100644 index 000000000..d33c83d11 --- /dev/null +++ b/tests/data/impr1.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/proper1.xml b/tests/data/proper1.xml new file mode 100644 index 000000000..a24c6ca44 --- /dev/null +++ b/tests/data/proper1.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/wild1.xml b/tests/data/wild1.xml new file mode 100644 index 000000000..103a18f6f --- /dev/null +++ b/tests/data/wild1.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/test_classical.py b/tests/test_classical.py new file mode 100644 index 000000000..0eae3f75a --- /dev/null +++ b/tests/test_classical.py @@ -0,0 +1,72 @@ +import jax.numpy as jnp +import openmm as mm +import openmm.app as app +import openmm.unit as unit +import numpy as np +import numpy.testing as npt +from dmff.api import Hamiltonian +import pytest + + +class TestClassical: + @pytest.mark.parametrize( + "pdb, prm, value", + [ + ("data/bond1.pdb", "data/bond1.xml", 100.00), + #("data/bond2.pdb", "data/bond2.xml", 100.00), + ]) + def test_harmonic_bond_force(self, pdb, prm, value): + pdb = app.PDBFile(pdb) + h = Hamiltonian(prm) + system = h.createPotential(pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False) + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) + pairs = np.array([[]], dtype=int) + bondE = h._potentials[0] + energy = bondE(pos, box, pairs, h.getGenerators()[0].params) + npt.assert_allclose(energy, value) + + @pytest.mark.parametrize( + "pdb, prm, value", + [ + ("data/angle1.pdb", "data/angle1.xml", 100.00), + #("data/angle2.pdb", "data/angle2.xml", 100.00), + ]) + def test_harmonic_angle_force(self, pdb, prm, value): + pdb = app.PDBFile(pdb) + h = Hamiltonian(prm) + system = h.createPotential(pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False) + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) + pairs = np.array([[]], dtype=int) + bondE = h._potentials[0] + energy = bondE(pos, box, pairs, h.getGenerators()[0].params) + npt.assert_allclose(energy, value) + + @pytest.mark.parametrize( + "pdb, prm, value", + [ + ("data/proper1.pdb", "data/proper1.xml", 100.00), + ("data/impr1.pdb", "data/impr1.xml", 100.00), + ("data/proper1.pdb", "data/wild1.xml", 100.00), + #("data/tor2.pdb", "data/tor2.xml", 100.00) + ]) + def test_periodic_torsion_force(self, pdb, prm, value): + pdb = app.PDBFile(pdb) + h = Hamiltonian(prm) + system = h.createPotential(pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False) + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) + pairs = np.array([[]], dtype=int) + bondE = h._potentials[0] + energy = bondE(pos, box, pairs, h.getGenerators()[0].params) + npt.assert_allclose(energy, value) From e9004042f8ebdd0ac4ab821ccc7170d67a07c444 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 09:54:33 +0800 Subject: [PATCH 12/72] fix(classical): Update PDB structures needed by test cases --- .gitignore | 1 - tests/data/angle1.pdb | 5 +++++ tests/data/bond1.pdb | 3 +++ tests/data/impr1.pdb | 7 +++++++ tests/data/proper1.pdb | 7 +++++++ 5 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 tests/data/angle1.pdb create mode 100644 tests/data/bond1.pdb create mode 100644 tests/data/impr1.pdb create mode 100644 tests/data/proper1.pdb diff --git a/.gitignore b/.gitignore index 7df232a6f..98f6c28e1 100644 --- a/.gitignore +++ b/.gitignore @@ -463,7 +463,6 @@ StyleCopReport.xml *.ilk *.meta *.iobj -*.pdb *.ipdb *.pgc *.pgd diff --git a/tests/data/angle1.pdb b/tests/data/angle1.pdb new file mode 100644 index 000000000..79871216a --- /dev/null +++ b/tests/data/angle1.pdb @@ -0,0 +1,5 @@ +HETATM 1 N1 LIG A 1 0.000 1.000 0.000 1.00 0.00 N +HETATM 2 N2 LIG A 1 1.000 0.000 1.000 1.00 0.00 N +HETATM 3 N3 LIG A 1 1.000 1.000 1.000 1.00 0.00 N +CONECT 1 2 +CONECT 2 3 \ No newline at end of file diff --git a/tests/data/bond1.pdb b/tests/data/bond1.pdb new file mode 100644 index 000000000..7876005a9 --- /dev/null +++ b/tests/data/bond1.pdb @@ -0,0 +1,3 @@ +HETATM 1 N1 LIG A 1 0.000 1.000 0.000 1.00 0.00 N +HETATM 2 N2 LIG A 1 1.000 0.000 1.000 1.00 0.00 N +CONECT 1 2 \ No newline at end of file diff --git a/tests/data/impr1.pdb b/tests/data/impr1.pdb new file mode 100644 index 000000000..896924d21 --- /dev/null +++ b/tests/data/impr1.pdb @@ -0,0 +1,7 @@ +HETATM 1 N1 LIG A 1 0.000 1.000 0.000 1.00 0.00 N +HETATM 2 N2 LIG A 1 1.000 0.000 0.000 1.00 0.00 N +HETATM 3 N3 LIG A 1 0.000 1.000 1.000 1.00 0.00 N +HETATM 4 N4 LIG A 1 1.000 0.000 1.000 1.00 0.00 N +CONECT 1 2 +CONECT 1 3 +CONECT 1 4 \ No newline at end of file diff --git a/tests/data/proper1.pdb b/tests/data/proper1.pdb new file mode 100644 index 000000000..308d5ccbd --- /dev/null +++ b/tests/data/proper1.pdb @@ -0,0 +1,7 @@ +HETATM 1 N1 LIG A 1 0.000 1.000 0.000 1.00 0.00 N +HETATM 2 N2 LIG A 1 1.000 0.000 0.000 1.00 0.00 N +HETATM 3 N3 LIG A 1 0.000 1.000 1.000 1.00 0.00 N +HETATM 4 N4 LIG A 1 1.000 0.000 1.000 1.00 0.00 N +CONECT 1 2 +CONECT 2 3 +CONECT 3 4 \ No newline at end of file From 3d4604e6a5b1fba15ee19697123a3f9a32ac844d Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 09:56:53 +0800 Subject: [PATCH 13/72] fix(classical): Change atomtypes to be consistent with residues --- tests/data/angle1.xml | 6 +++--- tests/data/bond1.xml | 4 ++-- tests/data/impr1.xml | 8 ++++---- tests/data/proper1.xml | 8 ++++---- tests/data/wild1.xml | 8 ++++---- tests/test_classical.py | 2 +- 6 files changed, 18 insertions(+), 18 deletions(-) diff --git a/tests/data/angle1.xml b/tests/data/angle1.xml index 15aed440c..11745ef62 100644 --- a/tests/data/angle1.xml +++ b/tests/data/angle1.xml @@ -1,8 +1,8 @@ - - - + + + diff --git a/tests/data/bond1.xml b/tests/data/bond1.xml index ae42d6808..68027cd06 100644 --- a/tests/data/bond1.xml +++ b/tests/data/bond1.xml @@ -1,7 +1,7 @@ - - + + diff --git a/tests/data/impr1.xml b/tests/data/impr1.xml index d33c83d11..88f7dd301 100644 --- a/tests/data/impr1.xml +++ b/tests/data/impr1.xml @@ -1,9 +1,9 @@ - - - - + + + + diff --git a/tests/data/proper1.xml b/tests/data/proper1.xml index a24c6ca44..ee6f530e2 100644 --- a/tests/data/proper1.xml +++ b/tests/data/proper1.xml @@ -1,9 +1,9 @@ - - - - + + + + diff --git a/tests/data/wild1.xml b/tests/data/wild1.xml index 103a18f6f..9fec5bfa3 100644 --- a/tests/data/wild1.xml +++ b/tests/data/wild1.xml @@ -1,9 +1,9 @@ - - - - + + + + diff --git a/tests/test_classical.py b/tests/test_classical.py index 0eae3f75a..34bfdcd6d 100644 --- a/tests/test_classical.py +++ b/tests/test_classical.py @@ -12,7 +12,7 @@ class TestClassical: @pytest.mark.parametrize( "pdb, prm, value", [ - ("data/bond1.pdb", "data/bond1.xml", 100.00), + ("data/bond1.pdb", "data/bond1.xml", 1389.162109375), #("data/bond2.pdb", "data/bond2.xml", 100.00), ]) def test_harmonic_bond_force(self, pdb, prm, value): From dc71b5d3cb3ca53bde77fdad3841a952f0dcb474 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 10:02:26 +0800 Subject: [PATCH 14/72] feat(classical): add reference energies for test cases --- tests/data/impr1.xml | 4 ++-- tests/test_classical.py | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/tests/data/impr1.xml b/tests/data/impr1.xml index 88f7dd301..764169cee 100644 --- a/tests/data/impr1.xml +++ b/tests/data/impr1.xml @@ -12,8 +12,8 @@ - - + + diff --git a/tests/test_classical.py b/tests/test_classical.py index 34bfdcd6d..fe40a58ac 100644 --- a/tests/test_classical.py +++ b/tests/test_classical.py @@ -32,7 +32,7 @@ def test_harmonic_bond_force(self, pdb, prm, value): @pytest.mark.parametrize( "pdb, prm, value", [ - ("data/angle1.pdb", "data/angle1.xml", 100.00), + ("data/angle1.pdb", "data/angle1.xml", 315.88775634765625), #("data/angle2.pdb", "data/angle2.xml", 100.00), ]) def test_harmonic_angle_force(self, pdb, prm, value): @@ -52,9 +52,9 @@ def test_harmonic_angle_force(self, pdb, prm, value): @pytest.mark.parametrize( "pdb, prm, value", [ - ("data/proper1.pdb", "data/proper1.xml", 100.00), - ("data/impr1.pdb", "data/impr1.xml", 100.00), - ("data/proper1.pdb", "data/wild1.xml", 100.00), + ("data/proper1.pdb", "data/proper1.xml", 8.368000030517578), + ("data/impr1.pdb", "data/impr1.xml", 4.184000015258789), + ("data/proper1.pdb", "data/wild1.xml", 8.368000030517578), #("data/tor2.pdb", "data/tor2.xml", 100.00) ]) def test_periodic_torsion_force(self, pdb, prm, value): From 9388bb9ce14dbd7bc81abddd26ccc8932ad9cdbe Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 10:05:52 +0800 Subject: [PATCH 15/72] fix(classical): decrease the decimal for energy comparision --- tests/test_classical.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_classical.py b/tests/test_classical.py index fe40a58ac..8e1cfecb1 100644 --- a/tests/test_classical.py +++ b/tests/test_classical.py @@ -27,7 +27,7 @@ def test_harmonic_bond_force(self, pdb, prm, value): pairs = np.array([[]], dtype=int) bondE = h._potentials[0] energy = bondE(pos, box, pairs, h.getGenerators()[0].params) - npt.assert_allclose(energy, value) + npt.assert_almost_equal(energy, value, decimal=3) @pytest.mark.parametrize( "pdb, prm, value", @@ -47,7 +47,7 @@ def test_harmonic_angle_force(self, pdb, prm, value): pairs = np.array([[]], dtype=int) bondE = h._potentials[0] energy = bondE(pos, box, pairs, h.getGenerators()[0].params) - npt.assert_allclose(energy, value) + npt.assert_almost_equal(energy, value, decimal=3) @pytest.mark.parametrize( "pdb, prm, value", @@ -69,4 +69,4 @@ def test_periodic_torsion_force(self, pdb, prm, value): pairs = np.array([[]], dtype=int) bondE = h._potentials[0] energy = bondE(pos, box, pairs, h.getGenerators()[0].params) - npt.assert_allclose(energy, value) + npt.assert_almost_equal(energy, value, decimal=3) From a06501c074a68e1e76f6c58ec762db85fcbea665 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 12:18:50 +0800 Subject: [PATCH 16/72] feat(classical): Use the same way of openmm for dihedral typification --- dmff/api.py | 491 ++++++++++++++++++++++++++++++---------- dmff/classical/intra.py | 17 +- 2 files changed, 379 insertions(+), 129 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index 4710221a7..b71075572 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -2,6 +2,7 @@ import openmm.app as app import openmm.unit as unit import numpy as np +from sympy import E import jax.numpy as jnp from collections import defaultdict from .admp.disp_pme import ADMPDispPmeForce @@ -575,6 +576,120 @@ def renderXML(self): "HarmonicAngleForce"] = HarmonicAngleJaxGenerator.parseElement +def _matchImproper(data, torsion, generator): + type1 = data.atomType[data.atoms[torsion[0]]] + type2 = data.atomType[data.atoms[torsion[1]]] + type3 = data.atomType[data.atoms[torsion[2]]] + type4 = data.atomType[data.atoms[torsion[3]]] + wildcard = generator.ff._atomClasses[''] + match = None + for tordef in generator.improper: + types1 = tordef.types1 + types2 = tordef.types2 + types3 = tordef.types3 + types4 = tordef.types4 + hasWildcard = (wildcard in (types1, types2, types3, types4)) + if match is not None and hasWildcard: + # Prefer specific definitions over ones with wildcards + continue + if type1 in types1: + for (t2, t3, t4) in itertools.permutations( + ((type2, 1), (type3, 2), (type4, 3))): + if t2[0] in types2 and t3[0] in types3 and t4[0] in types4: + if tordef.ordering == 'default': + # Workaround to be more consistent with AMBER. It uses wildcards to define most of its + # impropers, which leaves the ordering ambiguous. It then follows some bizarre rules + # to pick the order. + a1 = torsion[t2[1]] + a2 = torsion[t3[1]] + e1 = data.atoms[a1].element + e2 = data.atoms[a2].element + if e1 == e2 and a1 > a2: + (a1, a2) = (a2, a1) + elif e1 != elem.carbon and (e2 == elem.carbon + or e1.mass < e2.mass): + (a1, a2) = (a2, a1) + match = (a1, a2, torsion[0], torsion[t4[1]], tordef) + break + elif tordef.ordering == 'charmm': + if hasWildcard: + # Workaround to be more consistent with AMBER. It uses wildcards to define most of its + # impropers, which leaves the ordering ambiguous. It then follows some bizarre rules + # to pick the order. + a1 = torsion[t2[1]] + a2 = torsion[t3[1]] + e1 = data.atoms[a1].element + e2 = data.atoms[a2].element + if e1 == e2 and a1 > a2: + (a1, a2) = (a2, a1) + elif e1 != elem.carbon and (e2 == elem.carbon + or e1.mass < e2.mass): + (a1, a2) = (a2, a1) + match = (a1, a2, torsion[0], torsion[t4[1]], + tordef) + else: + # There are no wildcards, so the order is unambiguous. + match = (torsion[0], torsion[t2[1]], + torsion[t3[1]], torsion[t4[1]], tordef) + break + elif tordef.ordering == 'amber': + # topology atom indexes + a2 = torsion[t2[1]] + a3 = torsion[t3[1]] + a4 = torsion[t4[1]] + # residue indexes + r2 = data.atoms[a2].residue.index + r3 = data.atoms[a3].residue.index + r4 = data.atoms[a4].residue.index + # template atom indexes + ta2 = data.atomTemplateIndexes[data.atoms[a2]] + ta3 = data.atomTemplateIndexes[data.atoms[a3]] + ta4 = data.atomTemplateIndexes[data.atoms[a4]] + # elements + e2 = data.atoms[a2].element + e3 = data.atoms[a3].element + e4 = data.atoms[a4].element + if not hasWildcard: + if t2[0] == t4[0] and (r2 > r4 or + (r2 == r4 and ta2 > ta4)): + (a2, a4) = (a4, a2) + r2 = data.atoms[a2].residue.index + r4 = data.atoms[a4].residue.index + ta2 = data.atomTemplateIndexes[data.atoms[a2]] + ta4 = data.atomTemplateIndexes[data.atoms[a4]] + if t3[0] == t4[0] and (r3 > r4 or + (r3 == r4 and ta3 > ta4)): + (a3, a4) = (a4, a3) + r3 = data.atoms[a3].residue.index + r4 = data.atoms[a4].residue.index + ta3 = data.atomTemplateIndexes[data.atoms[a3]] + ta4 = data.atomTemplateIndexes[data.atoms[a4]] + if t2[0] == t3[0] and (r2 > r3 or + (r2 == r3 and ta2 > ta3)): + (a2, a3) = (a3, a2) + else: + if e2 == e4 and (r2 > r4 or + (r2 == r4 and ta2 > ta4)): + (a2, a4) = (a4, a2) + r2 = data.atoms[a2].residue.index + r4 = data.atoms[a4].residue.index + ta2 = data.atomTemplateIndexes[data.atoms[a2]] + ta4 = data.atomTemplateIndexes[data.atoms[a4]] + if e3 == e4 and (r3 > r4 or + (r3 == r4 and ta3 > ta4)): + (a3, a4) = (a4, a3) + r3 = data.atoms[a3].residue.index + r4 = data.atoms[a4].residue.index + ta3 = data.atomTemplateIndexes[data.atoms[a3]] + ta4 = data.atomTemplateIndexes[data.atoms[a4]] + if r2 > r3 or (r2 == r3 and ta2 > ta3): + (a2, a3) = (a3, a2) + match = (a2, a3, torsion[0], a4, tordef) + break + + return match + + class PeriodicTorsion(object): """A PeriodicTorsion records the information for a periodic torsion definition.""" def __init__(self, types): @@ -585,10 +700,26 @@ def __init__(self, types): self.periodicity = [] self.phase = [] self.k = [] + self.points = [] self.ordering = 'default' -## @private +def _parseTorsion(ff, attrib): + """Parse the node defining a torsion.""" + types = ff._findAtomTypes(attrib, 4) + if None in types: + return None + torsion = PeriodicTorsion(types) + index = 1 + while 'phase%d' % index in attrib: + torsion.periodicity.append(int(attrib['periodicity%d' % index])) + torsion.phase.append(float(attrib['phase%d' % index])) + torsion.k.append(float(attrib['k%d' % index])) + index += 1 + torsion.points.append(-1) + return torsion + + class PeriodicTorsionJaxGenerator(object): """A PeriodicTorsionGenerator constructs a PeriodicTorsionForce.""" def __init__(self, hamiltonian): @@ -613,62 +744,30 @@ def __init__(self, hamiltonian): "k4_i": [], "psi4_i": [], } + self.proper = [] + self.improper = [] + self.propersForAtomType = defaultdict(set) def registerProperTorsion(self, parameters): - types = self.ff._findAtomTypes(parameters, 4) - self.p_types.append(types) - k1, p1, k2, p2, k3, p3, k4, p4 = 0., 0., 0., 0., 0., 0., 0., 0. - for ii in range(1, 5): - if "periodicity%i" % ii in parameters: - nperiod = int(parameters["periodicity%i" % ii]) - if nperiod == 1: - k1, p1 = float(parameters["k%i" % ii]), float( - parameters["phase%i" % ii]) - if nperiod == 2: - k2, p2 = float(parameters["k%i" % ii]), float( - parameters["phase%i" % ii]) - if nperiod == 3: - k3, p3 = float(parameters["k%i" % ii]), float( - parameters["phase%i" % ii]) - if nperiod == 4: - k4, p4 = float(parameters["k%i" % ii]), float( - parameters["phase%i" % ii]) - self.params["k1_p"].append(k1) - self.params["psi1_p"].append(p1) - self.params["k2_p"].append(k2) - self.params["psi2_p"].append(p2) - self.params["k3_p"].append(k3) - self.params["psi3_p"].append(p3) - self.params["k4_p"].append(k4) - self.params["psi4_p"].append(p4) - - def registerImproperTorsion(self, parameters): - types = self.ff._findAtomTypes(parameters, 4) - self.i_types.append(types) - k1, p1, k2, p2, k3, p3, k4, p4 = 0., 0., 0., 0., 0., 0., 0., 0. - for ii in range(1, 4): - if "periodicity%i" % ii in parameters: - nperiod = int(parameters["periodicity%i" % ii]) - if nperiod == 1: - k1, p1 = float(parameters["k%i" % ii]), float( - parameters["phase%i" % ii]) - if nperiod == 2: - k2, p2 = float(parameters["k%i" % ii]), float( - parameters["phase%i" % ii]) - if nperiod == 3: - k3, p3 = float(parameters["k%i" % ii]), float( - parameters["phase%i" % ii]) - if nperiod == 4: - k4, p4 = float(parameters["k%i" % ii]), float( - parameters["phase%i" % ii]) - self.params["k1_i"].append(k1) - self.params["psi1_i"].append(p1) - self.params["k2_i"].append(k2) - self.params["psi2_i"].append(p2) - self.params["k3_i"].append(k3) - self.params["psi3_i"].append(p3) - self.params["k4_i"].append(k4) - self.params["psi4_i"].append(p4) + torsion = _parseTorsion(self.ff, parameters) + if torsion is not None: + index = len(self.proper) + self.proper.append(torsion) + for t in torsion.types2: + self.propersForAtomType[t].add(index) + for t in torsion.types3: + self.propersForAtomType[t].add(index) + + def registerImproperTorsion(self, parameters, ordering='default'): + torsion = _parseTorsion(self.ff, parameters) + if torsion is not None: + if ordering in ['default', 'charmm', 'amber']: + torsion.ordering = ordering + else: + raise ValueError( + 'Illegal ordering type %s for improper torsion %s' % + (ordering, torsion)) + self.improper.append(torsion) @staticmethod def parseElement(element, ff): @@ -683,85 +782,241 @@ def parseElement(element, ff): for torsion in element.findall('Proper'): generator.registerProperTorsion(torsion.attrib) for torsion in element.findall('Improper'): - generator.registerImproperTorsion(torsion.attrib) + if 'ordering' in element.attrib: + generator.registerImproperTorsion(torsion.attrib, + element.attrib['ordering']) + else: + generator.registerImproperTorsion(torsion.attrib) def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): + + # pump proper params + for tor in self.proper: + for i in range(len(tor.phase)): + if tor.phase[i] == 1: + self.params["k1_p"].append(tor.k[i]) + self.params["psi1_p"].append(tor.phase[i]) + tor.points[i] = len(self.params["k1_p"]) - 1 + if tor.phase[i] == 2: + self.params["k2_p"].append(tor.k[i]) + self.params["psi2_p"].append(tor.phase[i]) + tor.points[i] = len(self.params["k2_p"]) - 1 + if tor.phase[i] == 3: + self.params["k3_p"].append(tor.k[i]) + self.params["psi3_p"].append(tor.phase[i]) + tor.points[i] = len(self.params["k3_p"]) - 1 + if tor.phase[i] == 4: + self.params["k4_p"].append(tor.k[i]) + self.params["psi4_p"].append(tor.phase[i]) + tor.points[i] = len(self.params["k4_p"]) - 1 + # pump impr params + for tor in self.improper: + for i in range(len(tor.phase)): + if tor.phase[i] == 1: + self.params["k1_i"].append(tor.k[i]) + self.params["psi1_i"].append(tor.phase[i]) + tor.points[i] = len(self.params["k1_i"]) - 1 + if tor.phase[i] == 2: + self.params["k2_i"].append(tor.k[i]) + self.params["psi2_i"].append(tor.phase[i]) + tor.points[i] = len(self.params["k2_i"]) - 1 + if tor.phase[i] == 3: + self.params["k3_i"].append(tor.k[i]) + self.params["psi3_i"].append(tor.phase[i]) + tor.points[i] = len(self.params["k3_i"]) - 1 + if tor.phase[i] == 4: + self.params["k4_i"].append(tor.k[i]) + self.params["psi4_i"].append(tor.phase[i]) + tor.points[i] = len(self.params["k4_i"]) - 1 + # jax it! for k in self.params.keys(): self.params[k] = jnp.array(self.params[k]) - self.p_types = np.array(self.p_types) - self.i_types = np.array(self.i_types) + + map_a1_1_p = [] + map_a2_1_p = [] + map_a3_1_p = [] + map_a4_1_p = [] + prm1_p = [] + map_a1_2_p = [] + map_a2_2_p = [] + map_a3_2_p = [] + map_a4_2_p = [] + prm2_p = [] + map_a1_3_p = [] + map_a2_3_p = [] + map_a3_3_p = [] + map_a4_3_p = [] + prm3_p = [] + map_a1_4_p = [] + map_a2_4_p = [] + map_a3_4_p = [] + map_a4_4_p = [] + prm4_p = [] wildcard = self.ff._atomClasses[''] - map_a1_p = [] - map_a2_p = [] - map_a3_p = [] - map_a4_p = [] - map_proper = [] - map_a1_i = [] - map_a2_i = [] - map_a3_i = [] - map_a4_i = [] - map_impr = [] + proper_cache = {} for torsion in data.propers: type1, type2, type3, type4 = [ data.atomType[data.atoms[torsion[i]]] for i in range(4) ] - for nn in range(len(self.p_types)): - types1, types2, types3, types4 = self.p_types[nn] - if (type2 in types2 and type3 in types3 and type4 in types4 - and type1 in types1) or (type2 in types3 - and type3 in types2 - and type4 in types1 - and type1 in types4): - map_a1_p.append(torsion[0]) - map_a2_p.append(torsion[1]) - map_a3_p.append(torsion[2]) - map_a4_p.append(torsion[3]) - map_proper.append(nn) - + sig = (type1, type2, type3, type4) + sig = frozenset((sig, sig[::-1])) + match = proper_cache.get(sig, None) + if match == -1: + continue + if match is None: + for index in self.propersForAtomType[type2]: + tordef = self.proper[index] + types1 = tordef.types1 + types2 = tordef.types2 + types3 = tordef.types3 + types4 = tordef.types4 + if (type2 in types2 and type3 in types3 and type4 in types4 + and type1 in types1) or (type2 in types3 + and type3 in types2 + and type4 in types1 + and type1 in types4): + hasWildcard = (wildcard + in (types1, types2, types3, types4)) + if match is None or not hasWildcard: # Prefer specific definitions over ones with wildcards + match = tordef + if not hasWildcard: + break + if match is None: + proper_cache[sig] = -1 + else: + proper_cache[sig] = match + if match is not None: + for i in range(len(match.phase)): + if match.k[i] != 0: + if match.phase == 1: + map_a1_1_p.append(torsion[0]) + map_a2_1_p.append(torsion[1]) + map_a3_1_p.append(torsion[2]) + map_a4_1_p.append(torsion[3]) + prm1_p.append(match.points[i]) + assert match.points[i] != -1 + if match.phase == 2: + map_a1_2_p.append(torsion[0]) + map_a2_2_p.append(torsion[1]) + map_a3_2_p.append(torsion[2]) + map_a4_2_p.append(torsion[3]) + prm2_p.append(match.points[i]) + assert match.points[i] != -1 + if match.phase == 3: + map_a1_3_p.append(torsion[0]) + map_a2_3_p.append(torsion[1]) + map_a3_3_p.append(torsion[2]) + map_a4_3_p.append(torsion[3]) + prm3_p.append(match.points[i]) + assert match.points[i] != -1 + if match.phase == 4: + map_a1_4_p.append(torsion[0]) + map_a2_4_p.append(torsion[1]) + map_a3_4_p.append(torsion[2]) + map_a4_4_p.append(torsion[3]) + prm4_p.append(match.points[i]) + assert match.points[i] != -1 + + map_a1_1_i = [] + map_a2_1_i = [] + map_a3_1_i = [] + map_a4_1_i = [] + prm1_i = [] + map_a1_2_i = [] + map_a2_2_i = [] + map_a3_2_i = [] + map_a4_2_i = [] + prm2_i = [] + map_a1_3_i = [] + map_a2_3_i = [] + map_a3_3_i = [] + map_a4_3_i = [] + prm3_i = [] + map_a1_4_i = [] + map_a2_4_i = [] + map_a3_4_i = [] + map_a4_4_i = [] + prm4_i = [] + + impr_cache = {} for torsion in data.impropers: - type1, type2, type3, type4 = [ + t1, t2, t3, t4 = [ data.atomType[data.atoms[torsion[i]]] for i in range(4) ] - for nn in range(len(self.i_types)): - types1, types2, types3, types4 = self.i_types[nn] - if (type2 in types2 and type3 in types3 and type4 in types4 - and type1 in types1) or (type2 in types3 - and type3 in types2 - and type4 in types1 - and type1 in types4): - map_a1_i.append(torsion[0]) - map_a2_i.append(torsion[1]) - map_a3_i.append(torsion[2]) - map_a4_i.append(torsion[3]) - map_impr.append(nn) - - map_a1_p = np.array(map_a1_p, dtype=int) - map_a2_p = np.array(map_a2_p, dtype=int) - map_a3_p = np.array(map_a3_p, dtype=int) - map_a4_p = np.array(map_a4_p, dtype=int) - map_proper = np.array(map_proper, dtype=int) - map_a1_i = np.array(map_a1_i, dtype=int) - map_a2_i = np.array(map_a2_i, dtype=int) - map_a3_i = np.array(map_a3_i, dtype=int) - map_a4_i = np.array(map_a4_i, dtype=int) - map_impr = np.array(map_impr, dtype=int) - - prop = PeriodicTorsionJaxForce(map_a1_p, map_a2_p, map_a3_p, map_a4_p, - map_proper) - impr = PeriodicTorsionJaxForce(map_a1_i, map_a2_i, map_a3_i, map_a4_i, - map_impr) + sig = (t1, t2, t3, t4) + match = impr_cache.get(sig, None) + if match == -1: + # Previously checked, and doesn't appear in the database + continue + elif match: + i1, i2, i3, i4, tordef = match + a1, a2, a3, a4 = (torsion[i] for i in (i1, i2, i3, i4)) + match = (a1, a2, a3, a4, tordef) + if match is None: + match = _matchImproper(data, torsion, self) + if match is not None: + order = match[:4] + i1, i2, i3, i4 = tuple(torsion.index(a) for a in order) + impr_cache[sig] = (i1, i2, i3, i4, match[-1]) + else: + impr_cache[sig] = -1 + if match is not None: + (a1, a2, a3, a4, tordef) = match + for i in range(len(tordef.phase)): + if tordef.k[i] != 0: + if tordef.phase == 1: + map_a1_1_i.append(torsion[0]) + map_a2_1_i.append(torsion[1]) + map_a3_1_i.append(torsion[2]) + map_a4_1_i.append(torsion[3]) + prm1_i.append(tordef.points[i]) + assert tordef.points[i] != -1 + if tordef.phase == 2: + map_a1_2_i.append(torsion[0]) + map_a2_2_i.append(torsion[1]) + map_a3_2_i.append(torsion[2]) + map_a4_2_i.append(torsion[3]) + prm2_i.append(tordef.points[i]) + assert tordef.points[i] != -1 + if tordef.phase == 3: + map_a1_3_i.append(torsion[0]) + map_a2_3_i.append(torsion[1]) + map_a3_3_i.append(torsion[2]) + map_a4_3_i.append(torsion[3]) + prm3_i.append(tordef.points[i]) + assert tordef.points[i] != -1 + if tordef.phase == 4: + map_a1_4_i.append(torsion[0]) + map_a2_4_i.append(torsion[1]) + map_a3_4_i.append(torsion[2]) + map_a4_4_i.append(torsion[3]) + prm4_i.append(tordef.points[i]) + assert tordef.points[i] != -1 + + prop1 = PeriodicTorsionJaxForce(map_a1_1_p, map_a2_1_p, map_a3_1_p, map_a4_1_p, prm1_p, 1) + prop2 = PeriodicTorsionJaxForce(map_a1_2_p, map_a2_2_p, map_a3_2_p, map_a4_2_p, prm2_p, 2) + prop3 = PeriodicTorsionJaxForce(map_a1_3_p, map_a2_3_p, map_a3_3_p, map_a4_3_p, prm3_p, 3) + prop4 = PeriodicTorsionJaxForce(map_a1_4_p, map_a2_4_p, map_a3_4_p, map_a4_4_p, prm4_p, 4) + + impr1 = PeriodicTorsionJaxForce(map_a1_1_i, map_a2_1_i, map_a3_1_i, map_a4_1_i, prm1_i) + impr2 = PeriodicTorsionJaxForce(map_a1_2_i, map_a2_2_i, map_a3_2_i, map_a4_2_i, prm2_i) + impr3 = PeriodicTorsionJaxForce(map_a1_3_i, map_a2_3_i, map_a3_3_i, map_a4_3_i, prm3_i) + impr4 = PeriodicTorsionJaxForce(map_a1_4_i, map_a2_4_i, map_a3_4_i, map_a4_4_i, prm4_i) def potential_fn(positions, box, pairs, params): - return prop.get_energy( - positions, box, pairs, params["k1_p"], params["psi1_p"], - params["k2_p"], params["psi2_p"], params["k3_p"], - params["psi3_p"], - params["k4_p"], params["psi4_p"]) + impr.get_energy( - positions, box, pairs, params["k1_i"], params["psi1_i"], - params["k2_i"], params["psi2_i"], params["k3_i"], - params["psi3_i"], params["k4_i"], params["psi4_i"]) + p1e = prop1.get_energy(positions, box, pairs, params["k1_p"], params["psi1_p"]) + p2e = prop2.get_energy(positions, box, pairs, params["k2_p"], params["psi2_p"]) + p3e = prop3.get_energy(positions, box, pairs, params["k3_p"], params["psi3_p"]) + p4e = prop4.get_energy(positions, box, pairs, params["k4_p"], params["psi4_p"]) + + i1e = impr1.get_energy(positions, box, pairs, params["k1_i"], params["psi1_i"]) + i2e = impr2.get_energy(positions, box, pairs, params["k2_i"], params["psi2_i"]) + i3e = impr3.get_energy(positions, box, pairs, params["k3_i"], params["psi3_i"]) + i4e = impr4.get_energy(positions, box, pairs, params["k4_i"], params["psi4_i"]) + + return p1e + p2e + p3e + p4e + i1e + i2e + i3e + i4e self._jaxPotential = potential_fn # self._top_data = data diff --git a/dmff/classical/intra.py b/dmff/classical/intra.py index 4bd5a4a8c..a3acaec06 100644 --- a/dmff/classical/intra.py +++ b/dmff/classical/intra.py @@ -95,30 +95,25 @@ def refresh_calculators(self): class PeriodicTorsionJaxForce: - def __init__(self, p1idx, p2idx, p3idx, p4idx, prmidx): + def __init__(self, p1idx, p2idx, p3idx, p4idx, prmidx, order): self.p1idx = p1idx self.p2idx = p2idx self.p3idx = p3idx self.p4idx = p4idx self.prmidx = prmidx + self.order = order self.refresh_calculators() def generate_get_energy(self): - def get_energy(positions, box, pairs, k1, psi1, k2, psi2, k3, psi3, k4, psi4): + def get_energy(positions, box, pairs, k, psi): p1 = positions[self.p1idx] p2 = positions[self.p2idx] p3 = positions[self.p3idx] p4 = positions[self.p4idx] - k1p = k1[self.prmidx] - psi1p = psi1[self.prmidx] - k2p = k2[self.prmidx] - psi2p = psi2[self.prmidx] - k3p = k3[self.prmidx] - psi3p = psi3[self.prmidx] - k4p = k4[self.prmidx] - psi4p = psi4[self.prmidx] + kp = k[self.prmidx] + psip = psi[self.prmidx] dih = dihedral(p1, p2, p3, p4) - ener = k1p * (1 + jnp.cos(dih - psi1p)) + k2p * (1 + jnp.cos(2. * dih - psi2p)) + k3p * (1 + jnp.cos(3. * dih - psi3p)) + k4p * (1 + jnp.cos(4. * dih - psi4p)) + ener = kp * (1 + jnp.cos(self.order * dih - psip)) return jnp.sum(ener) return get_energy From 53afbd23e06a51472813d793d1f4f12d098cdd82 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 12:20:00 +0800 Subject: [PATCH 17/72] fix(classical): remove unused import --- dmff/api.py | 1 - 1 file changed, 1 deletion(-) diff --git a/dmff/api.py b/dmff/api.py index b71075572..5a6158507 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -2,7 +2,6 @@ import openmm.app as app import openmm.unit as unit import numpy as np -from sympy import E import jax.numpy as jnp from collections import defaultdict from .admp.disp_pme import ADMPDispPmeForce From 8b319531bd8bbc16c825988cf511fca5b90f226f Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 12:21:02 +0800 Subject: [PATCH 18/72] fix(classical): add order for impropers --- dmff/api.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index 5a6158507..c0f4b3a17 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -999,10 +999,10 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): prop3 = PeriodicTorsionJaxForce(map_a1_3_p, map_a2_3_p, map_a3_3_p, map_a4_3_p, prm3_p, 3) prop4 = PeriodicTorsionJaxForce(map_a1_4_p, map_a2_4_p, map_a3_4_p, map_a4_4_p, prm4_p, 4) - impr1 = PeriodicTorsionJaxForce(map_a1_1_i, map_a2_1_i, map_a3_1_i, map_a4_1_i, prm1_i) - impr2 = PeriodicTorsionJaxForce(map_a1_2_i, map_a2_2_i, map_a3_2_i, map_a4_2_i, prm2_i) - impr3 = PeriodicTorsionJaxForce(map_a1_3_i, map_a2_3_i, map_a3_3_i, map_a4_3_i, prm3_i) - impr4 = PeriodicTorsionJaxForce(map_a1_4_i, map_a2_4_i, map_a3_4_i, map_a4_4_i, prm4_i) + impr1 = PeriodicTorsionJaxForce(map_a1_1_i, map_a2_1_i, map_a3_1_i, map_a4_1_i, prm1_i, 1) + impr2 = PeriodicTorsionJaxForce(map_a1_2_i, map_a2_2_i, map_a3_2_i, map_a4_2_i, prm2_i, 2) + impr3 = PeriodicTorsionJaxForce(map_a1_3_i, map_a2_3_i, map_a3_3_i, map_a4_3_i, prm3_i, 3) + impr4 = PeriodicTorsionJaxForce(map_a1_4_i, map_a2_4_i, map_a3_4_i, map_a4_4_i, prm4_i, 4) def potential_fn(positions, box, pairs, params): p1e = prop1.get_energy(positions, box, pairs, params["k1_p"], params["psi1_p"]) From 17bc59f777967cfaac39cf5ac353d20d07a174d4 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 12:25:15 +0800 Subject: [PATCH 19/72] fix(classical): use ndarray instead of list for index saving --- dmff/api.py | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/dmff/api.py b/dmff/api.py index c0f4b3a17..ec5f12f7b 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -14,6 +14,7 @@ from jax_md import space, partition from jax import grad import linecache +import itertools def get_line_context(file_path, line_number): @@ -994,6 +995,48 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): prm4_i.append(tordef.points[i]) assert tordef.points[i] != -1 + map_a1_1_p = np.array(map_a1_1_p, dtype=int) + map_a2_1_p = np.array(map_a2_1_p, dtype=int) + map_a3_1_p = np.array(map_a3_1_p, dtype=int) + map_a4_1_p = np.array(map_a4_1_p, dtype=int) + map_a1_2_p = np.array(map_a1_2_p, dtype=int) + map_a2_2_p = np.array(map_a2_2_p, dtype=int) + map_a3_2_p = np.array(map_a3_2_p, dtype=int) + map_a4_2_p = np.array(map_a4_2_p, dtype=int) + map_a1_3_p = np.array(map_a1_3_p, dtype=int) + map_a2_3_p = np.array(map_a2_3_p, dtype=int) + map_a3_3_p = np.array(map_a3_3_p, dtype=int) + map_a4_3_p = np.array(map_a4_3_p, dtype=int) + map_a1_4_p = np.array(map_a1_4_p, dtype=int) + map_a2_4_p = np.array(map_a2_4_p, dtype=int) + map_a3_4_p = np.array(map_a3_4_p, dtype=int) + map_a4_4_p = np.array(map_a4_4_p, dtype=int) + prm1_p = np.array(prm1_p, dtype=int) + prm2_p = np.array(prm2_p, dtype=int) + prm3_p = np.array(prm3_p, dtype=int) + prm4_p = np.array(prm4_p, dtype=int) + + map_a1_1_i = np.array(map_a1_1_i, dtype=int) + map_a2_1_i = np.array(map_a2_1_i, dtype=int) + map_a3_1_i = np.array(map_a3_1_i, dtype=int) + map_a4_1_i = np.array(map_a4_1_i, dtype=int) + map_a1_2_i = np.array(map_a1_2_i, dtype=int) + map_a2_2_i = np.array(map_a2_2_i, dtype=int) + map_a3_2_i = np.array(map_a3_2_i, dtype=int) + map_a4_2_i = np.array(map_a4_2_i, dtype=int) + map_a1_3_i = np.array(map_a1_3_i, dtype=int) + map_a2_3_i = np.array(map_a2_3_i, dtype=int) + map_a3_3_i = np.array(map_a3_3_i, dtype=int) + map_a4_3_i = np.array(map_a4_3_i, dtype=int) + map_a1_4_i = np.array(map_a1_4_i, dtype=int) + map_a2_4_i = np.array(map_a2_4_i, dtype=int) + map_a3_4_i = np.array(map_a3_4_i, dtype=int) + map_a4_4_i = np.array(map_a4_4_i, dtype=int) + prm1_i = np.array(prm1_i, dtype=int) + prm2_i = np.array(prm2_i, dtype=int) + prm3_i = np.array(prm3_i, dtype=int) + prm4_i = np.array(prm4_i, dtype=int) + prop1 = PeriodicTorsionJaxForce(map_a1_1_p, map_a2_1_p, map_a3_1_p, map_a4_1_p, prm1_p, 1) prop2 = PeriodicTorsionJaxForce(map_a1_2_p, map_a2_2_p, map_a3_2_p, map_a4_2_p, prm2_p, 2) prop3 = PeriodicTorsionJaxForce(map_a1_3_p, map_a2_3_p, map_a3_3_p, map_a4_3_p, prm3_p, 3) From f87f21da006ea70c66f167ccc2b2bec50dd265e3 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 12:27:26 +0800 Subject: [PATCH 20/72] fix(classical): Add import element --- dmff/api.py | 1 + 1 file changed, 1 insertion(+) diff --git a/dmff/api.py b/dmff/api.py index ec5f12f7b..a59d55c59 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -1,6 +1,7 @@ #!/usr/bin/env python import openmm.app as app import openmm.unit as unit +import openmm.app.element as elem import numpy as np import jax.numpy as jnp from collections import defaultdict From fb34251ee0506cf9a6e7304e06262f23ff578585 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 13:01:27 +0800 Subject: [PATCH 21/72] fix(classical): fix misusing between torsion.periodicity and torsion.phase --- dmff/api.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index a59d55c59..8dcf064e9 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -891,28 +891,28 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): if match is not None: for i in range(len(match.phase)): if match.k[i] != 0: - if match.phase == 1: + if match.periodicity[i] == 1: map_a1_1_p.append(torsion[0]) map_a2_1_p.append(torsion[1]) map_a3_1_p.append(torsion[2]) map_a4_1_p.append(torsion[3]) prm1_p.append(match.points[i]) assert match.points[i] != -1 - if match.phase == 2: + if match.periodicity[i] == 2: map_a1_2_p.append(torsion[0]) map_a2_2_p.append(torsion[1]) map_a3_2_p.append(torsion[2]) map_a4_2_p.append(torsion[3]) prm2_p.append(match.points[i]) assert match.points[i] != -1 - if match.phase == 3: + if match.periodicity[i] == 3: map_a1_3_p.append(torsion[0]) map_a2_3_p.append(torsion[1]) map_a3_3_p.append(torsion[2]) map_a4_3_p.append(torsion[3]) prm3_p.append(match.points[i]) assert match.points[i] != -1 - if match.phase == 4: + if match.periodicity[i] == 4: map_a1_4_p.append(torsion[0]) map_a2_4_p.append(torsion[1]) map_a3_4_p.append(torsion[2]) @@ -967,28 +967,28 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): (a1, a2, a3, a4, tordef) = match for i in range(len(tordef.phase)): if tordef.k[i] != 0: - if tordef.phase == 1: + if tordef.periodicity[i] == 1: map_a1_1_i.append(torsion[0]) map_a2_1_i.append(torsion[1]) map_a3_1_i.append(torsion[2]) map_a4_1_i.append(torsion[3]) prm1_i.append(tordef.points[i]) assert tordef.points[i] != -1 - if tordef.phase == 2: + if tordef.periodicity[i] == 2: map_a1_2_i.append(torsion[0]) map_a2_2_i.append(torsion[1]) map_a3_2_i.append(torsion[2]) map_a4_2_i.append(torsion[3]) prm2_i.append(tordef.points[i]) assert tordef.points[i] != -1 - if tordef.phase == 3: + if tordef.periodicity[i] == 3: map_a1_3_i.append(torsion[0]) map_a2_3_i.append(torsion[1]) map_a3_3_i.append(torsion[2]) map_a4_3_i.append(torsion[3]) prm3_i.append(tordef.points[i]) assert tordef.points[i] != -1 - if tordef.phase == 4: + if tordef.periodicity[i] == 4: map_a1_4_i.append(torsion[0]) map_a2_4_i.append(torsion[1]) map_a3_4_i.append(torsion[2]) From 0e3709935964c457025b97c1e30baf146024cfd3 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 13:05:47 +0800 Subject: [PATCH 22/72] fix(classical): misusing between periodicity and phase --- dmff/api.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index 8dcf064e9..ab3a7ccde 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -794,38 +794,38 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): # pump proper params for tor in self.proper: for i in range(len(tor.phase)): - if tor.phase[i] == 1: + if tor.periodicity[i] == 1: self.params["k1_p"].append(tor.k[i]) self.params["psi1_p"].append(tor.phase[i]) tor.points[i] = len(self.params["k1_p"]) - 1 - if tor.phase[i] == 2: + if tor.periodicity[i] == 2: self.params["k2_p"].append(tor.k[i]) self.params["psi2_p"].append(tor.phase[i]) tor.points[i] = len(self.params["k2_p"]) - 1 - if tor.phase[i] == 3: + if tor.periodicity[i] == 3: self.params["k3_p"].append(tor.k[i]) self.params["psi3_p"].append(tor.phase[i]) tor.points[i] = len(self.params["k3_p"]) - 1 - if tor.phase[i] == 4: + if tor.periodicity[i] == 4: self.params["k4_p"].append(tor.k[i]) self.params["psi4_p"].append(tor.phase[i]) tor.points[i] = len(self.params["k4_p"]) - 1 # pump impr params for tor in self.improper: for i in range(len(tor.phase)): - if tor.phase[i] == 1: + if tor.periodicity[i] == 1: self.params["k1_i"].append(tor.k[i]) self.params["psi1_i"].append(tor.phase[i]) tor.points[i] = len(self.params["k1_i"]) - 1 - if tor.phase[i] == 2: + if tor.periodicity[i] == 2: self.params["k2_i"].append(tor.k[i]) self.params["psi2_i"].append(tor.phase[i]) tor.points[i] = len(self.params["k2_i"]) - 1 - if tor.phase[i] == 3: + if tor.periodicity[i] == 3: self.params["k3_i"].append(tor.k[i]) self.params["psi3_i"].append(tor.phase[i]) tor.points[i] = len(self.params["k3_i"]) - 1 - if tor.phase[i] == 4: + if tor.periodicity[i] == 4: self.params["k4_i"].append(tor.k[i]) self.params["psi4_i"].append(tor.phase[i]) tor.points[i] = len(self.params["k4_i"]) - 1 From 0f97ba5968e581076274d53078d3f9fc75ea5359 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 13:21:05 +0800 Subject: [PATCH 23/72] fix(classical): Correct bond connection in unit test pdb files --- tests/data/impr1.pdb | 8 +++----- tests/data/proper1.pdb | 4 +--- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/tests/data/impr1.pdb b/tests/data/impr1.pdb index 896924d21..789d4ea25 100644 --- a/tests/data/impr1.pdb +++ b/tests/data/impr1.pdb @@ -1,7 +1,5 @@ -HETATM 1 N1 LIG A 1 0.000 1.000 0.000 1.00 0.00 N -HETATM 2 N2 LIG A 1 1.000 0.000 0.000 1.00 0.00 N +HETATM 1 N1 LIG A 1 1.000 1.000 -1.000 1.00 0.00 N +HETATM 2 N2 LIG A 1 1.000 0.000 -2.000 1.00 0.00 N HETATM 3 N3 LIG A 1 0.000 1.000 1.000 1.00 0.00 N HETATM 4 N4 LIG A 1 1.000 0.000 1.000 1.00 0.00 N -CONECT 1 2 -CONECT 1 3 -CONECT 1 4 \ No newline at end of file +CONECT 1 2 3 4 \ No newline at end of file diff --git a/tests/data/proper1.pdb b/tests/data/proper1.pdb index 308d5ccbd..b3ec8293d 100644 --- a/tests/data/proper1.pdb +++ b/tests/data/proper1.pdb @@ -2,6 +2,4 @@ HETATM 1 N1 LIG A 1 0.000 1.000 0.000 1.00 0.00 N HETATM 2 N2 LIG A 1 1.000 0.000 0.000 1.00 0.00 N HETATM 3 N3 LIG A 1 0.000 1.000 1.000 1.00 0.00 N HETATM 4 N4 LIG A 1 1.000 0.000 1.000 1.00 0.00 N -CONECT 1 2 -CONECT 2 3 -CONECT 3 4 \ No newline at end of file +CONECT 1 2 3 4 \ No newline at end of file From 8e0159d45ad1fa4066859884b820a0965e5c1873 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 13:22:13 +0800 Subject: [PATCH 24/72] Fix pdb files in unittest --- tests/data/impr1.pdb | 4 +++- tests/data/proper1.pdb | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/data/impr1.pdb b/tests/data/impr1.pdb index 789d4ea25..f8b13527e 100644 --- a/tests/data/impr1.pdb +++ b/tests/data/impr1.pdb @@ -2,4 +2,6 @@ HETATM 1 N1 LIG A 1 1.000 1.000 -1.000 1.00 0.00 N HETATM 2 N2 LIG A 1 1.000 0.000 -2.000 1.00 0.00 N HETATM 3 N3 LIG A 1 0.000 1.000 1.000 1.00 0.00 N HETATM 4 N4 LIG A 1 1.000 0.000 1.000 1.00 0.00 N -CONECT 1 2 3 4 \ No newline at end of file +CONECT 1 2 +CONECT 1 3 +CONECT 1 4 \ No newline at end of file diff --git a/tests/data/proper1.pdb b/tests/data/proper1.pdb index b3ec8293d..e436a07ca 100644 --- a/tests/data/proper1.pdb +++ b/tests/data/proper1.pdb @@ -2,4 +2,6 @@ HETATM 1 N1 LIG A 1 0.000 1.000 0.000 1.00 0.00 N HETATM 2 N2 LIG A 1 1.000 0.000 0.000 1.00 0.00 N HETATM 3 N3 LIG A 1 0.000 1.000 1.000 1.00 0.00 N HETATM 4 N4 LIG A 1 1.000 0.000 1.000 1.00 0.00 N -CONECT 1 2 3 4 \ No newline at end of file +CONECT 1 2 +CONECT 1 3 +CONECT 1 4 \ No newline at end of file From 1ec80353122521f86ac8ffdec11e739765dca388 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 13:24:09 +0800 Subject: [PATCH 25/72] Update proper1.pdb --- tests/data/proper1.pdb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/data/proper1.pdb b/tests/data/proper1.pdb index e436a07ca..b5ef61a07 100644 --- a/tests/data/proper1.pdb +++ b/tests/data/proper1.pdb @@ -3,5 +3,5 @@ HETATM 2 N2 LIG A 1 1.000 0.000 0.000 1.00 0.00 N HETATM 3 N3 LIG A 1 0.000 1.000 1.000 1.00 0.00 N HETATM 4 N4 LIG A 1 1.000 0.000 1.000 1.00 0.00 N CONECT 1 2 -CONECT 1 3 -CONECT 1 4 \ No newline at end of file +CONECT 2 3 +CONECT 3 4 \ No newline at end of file From 1a476b33e42b87cb4a3802ba505f20bcdc342582 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 13:26:42 +0800 Subject: [PATCH 26/72] feat(classical): update reference energy for improper test --- tests/test_classical.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_classical.py b/tests/test_classical.py index 8e1cfecb1..624ac9b9c 100644 --- a/tests/test_classical.py +++ b/tests/test_classical.py @@ -53,7 +53,7 @@ def test_harmonic_angle_force(self, pdb, prm, value): "pdb, prm, value", [ ("data/proper1.pdb", "data/proper1.xml", 8.368000030517578), - ("data/impr1.pdb", "data/impr1.xml", 4.184000015258789), + ("data/impr1.pdb", "data/impr1.xml", 2.9460556507110596), ("data/proper1.pdb", "data/wild1.xml", 8.368000030517578), #("data/tor2.pdb", "data/tor2.xml", 100.00) ]) From 827f3840f75e9548551d4a891c4cf9e156badc38 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 13:28:56 +0800 Subject: [PATCH 27/72] Update api.py --- dmff/api.py | 32 ++++++++++++++++---------------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index ab3a7ccde..2acd9941f 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -968,31 +968,31 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): for i in range(len(tordef.phase)): if tordef.k[i] != 0: if tordef.periodicity[i] == 1: - map_a1_1_i.append(torsion[0]) - map_a2_1_i.append(torsion[1]) - map_a3_1_i.append(torsion[2]) - map_a4_1_i.append(torsion[3]) + map_a1_1_i.append(a1) + map_a2_1_i.append(a2) + map_a3_1_i.append(a3) + map_a4_1_i.append(a4) prm1_i.append(tordef.points[i]) assert tordef.points[i] != -1 if tordef.periodicity[i] == 2: - map_a1_2_i.append(torsion[0]) - map_a2_2_i.append(torsion[1]) - map_a3_2_i.append(torsion[2]) - map_a4_2_i.append(torsion[3]) + map_a1_2_i.append(a1) + map_a2_2_i.append(a2) + map_a3_2_i.append(a3) + map_a4_2_i.append(a4) prm2_i.append(tordef.points[i]) assert tordef.points[i] != -1 if tordef.periodicity[i] == 3: - map_a1_3_i.append(torsion[0]) - map_a2_3_i.append(torsion[1]) - map_a3_3_i.append(torsion[2]) - map_a4_3_i.append(torsion[3]) + map_a1_3_i.append(a1) + map_a2_3_i.append(a2) + map_a3_3_i.append(a3) + map_a4_3_i.append(a4) prm3_i.append(tordef.points[i]) assert tordef.points[i] != -1 if tordef.periodicity[i] == 4: - map_a1_4_i.append(torsion[0]) - map_a2_4_i.append(torsion[1]) - map_a3_4_i.append(torsion[2]) - map_a4_4_i.append(torsion[3]) + map_a1_4_i.append(a1) + map_a2_4_i.append(a2) + map_a3_4_i.append(a3) + map_a4_4_i.append(a4) prm4_i.append(tordef.points[i]) assert tordef.points[i] != -1 From 99849743e8ecf12bc1bd10c258977ad934327971 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 7 Mar 2022 13:31:13 +0800 Subject: [PATCH 28/72] feat(classical): Add wildcard testcase for improper --- tests/data/wild2.xml | 22 ++++++++++++++++++++++ tests/test_classical.py | 1 + 2 files changed, 23 insertions(+) create mode 100644 tests/data/wild2.xml diff --git a/tests/data/wild2.xml b/tests/data/wild2.xml new file mode 100644 index 000000000..66f96e203 --- /dev/null +++ b/tests/data/wild2.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/test_classical.py b/tests/test_classical.py index 624ac9b9c..4e318d3d3 100644 --- a/tests/test_classical.py +++ b/tests/test_classical.py @@ -55,6 +55,7 @@ def test_harmonic_angle_force(self, pdb, prm, value): ("data/proper1.pdb", "data/proper1.xml", 8.368000030517578), ("data/impr1.pdb", "data/impr1.xml", 2.9460556507110596), ("data/proper1.pdb", "data/wild1.xml", 8.368000030517578), + ("data/impr1.pdb", "data/wild2.xml", 2.9460556507110596), #("data/tor2.pdb", "data/tor2.xml", 100.00) ]) def test_periodic_torsion_force(self, pdb, prm, value): From c6bfede4e61f78e1d566422deda72903d2d7c336 Mon Sep 17 00:00:00 2001 From: Roy Kid Date: Tue, 8 Mar 2022 10:31:09 +0800 Subject: [PATCH 29/72] set up LennardJones framework --- dmff/api.py | 2 +- dmff/classical/inter.py | 48 +- examples/classical/gaff-2.11.xml | 7469 ++++++++++++++++++++++++++++++ examples/classical/lig-prm.xml | 145 + examples/classical/lig-top.xml | 74 + examples/classical/lig.pdb | 69 + examples/classical/test_xml.py | 66 + tests/data/get_openmm_force.py | 39 + tests/data/lj1.pdb | 2 + tests/data/lj1.xml | 16 + tests/test_classical.py | 26 + 11 files changed, 7953 insertions(+), 3 deletions(-) create mode 100644 examples/classical/gaff-2.11.xml create mode 100644 examples/classical/lig-prm.xml create mode 100644 examples/classical/lig-top.xml create mode 100644 examples/classical/lig.pdb create mode 100644 examples/classical/test_xml.py create mode 100644 tests/data/get_openmm_force.py create mode 100644 tests/data/lj1.pdb create mode 100644 tests/data/lj1.xml diff --git a/dmff/api.py b/dmff/api.py index 53b167e58..0b5f16678 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -462,7 +462,7 @@ def registerBondType(self, bond): types = self.ff._findAtomTypes(bond, 2) self.types.append(types) self.params['k'].append(float(bond['k'])) - self.params['length'].append(float(bond['length'])) + self.params['length'].append(float(bond['length'])) # length := r0 @staticmethod def parseElement(element, hamiltonian): diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 12abd91bd..2c438627b 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -1,5 +1,49 @@ -class LennardJonesForce: - pass +import jax.numpy as jnp +from dmff.admp.spatial import v_pbc_shift + +class LennardJonesForce: + + def __init__(self, isShift, isSwitch, r_switch, r_cut) -> None: + + self.isShift = isShift + self.isSwitch = isSwitch + self.r_switch = r_switch + self.r_cut = r_cut + + def generate_get_energy(self): + + def get_energy(positions, box, pairs, epsilon, sigma): + + dr = positions[pairs[:, 0]] - positions[pairs[:, 1]] + dr = v_pbc_shift(dr, box, jnp.linalg.inv(box)) + dr = dr[dr<=self.r_cut] + + dr_inv = 1.0/dr + sig_dr = sigma * dr_inv + sig_dr12 = jnp.power(sig_dr, 12) + sig_dr6 = jnp.power(sig_dr, 6) + E = 4 * epsilon * (sig_dr12 - sig_dr6) + + shiftedE = 0 + + if self.isShift: + + rcut_inv = 1.0/self.r_cut + sig_rcut = sigma * rcut_inv + sig_rcut12 = jnp.power(sig_rcut, 12) + sig_rcut6 = jnp.power(sig_rcut, 6) + shiftedE = 4*epsilon*(sig_rcut12 - sig_rcut6) + + if self.isSwitch: + + x = (dr - self.r_switch) / (self.r_cut - self.r_switch) + S = 1 - 6*x**5 + 15*x**4 - 10*x**3 + jnp.where(dr>self.r_switch, E, E*S) + + return jnp.sum(E) + shiftedE + + return get_energy + class CoulombForce: pass \ No newline at end of file diff --git a/examples/classical/gaff-2.11.xml b/examples/classical/gaff-2.11.xml new file mode 100644 index 000000000..335d5f240 --- /dev/null +++ b/examples/classical/gaff-2.11.xml @@ -0,0 +1,7469 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/classical/lig-prm.xml b/examples/classical/lig-prm.xml new file mode 100644 index 000000000..fefbe56b0 --- /dev/null +++ b/examples/classical/lig-prm.xml @@ -0,0 +1,145 @@ + + + 2022-01-13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/classical/lig-top.xml b/examples/classical/lig-top.xml new file mode 100644 index 000000000..f287a5cd2 --- /dev/null +++ b/examples/classical/lig-top.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/examples/classical/lig.pdb b/examples/classical/lig.pdb new file mode 100644 index 000000000..102a728d7 --- /dev/null +++ b/examples/classical/lig.pdb @@ -0,0 +1,69 @@ +REMARK 1 CREATED WITH OPENMM 7.6, 2022-01-13 +HETATM 1 N1 LIG A 1 -43.959 14.987 8.022 1.00 0.00 N +HETATM 2 C1 LIG A 1 -44.170 13.741 8.211 1.00 0.00 C +HETATM 3 N2 LIG A 1 -43.809 13.116 9.424 1.00 0.00 N +HETATM 4 C2 LIG A 1 -43.349 15.775 9.031 1.00 0.00 C +HETATM 5 C3 LIG A 1 -42.992 15.185 10.193 1.00 0.00 C +HETATM 6 C4 LIG A 1 -43.249 13.756 10.359 1.00 0.00 C +HETATM 7 C5 LIG A 1 -41.405 15.095 12.249 1.00 0.00 C +HETATM 8 C6 LIG A 1 -42.331 15.977 11.325 1.00 0.00 C +HETATM 9 C7 LIG A 1 -41.861 13.645 12.355 1.00 0.00 C +HETATM 10 C8 LIG A 1 -42.724 13.081 11.541 1.00 0.00 C +HETATM 11 N3 LIG A 1 -42.914 11.763 11.977 1.00 0.00 N +HETATM 12 N4 LIG A 1 -42.137 11.543 13.076 1.00 0.00 N +HETATM 13 C9 LIG A 1 -41.488 12.622 13.335 1.00 0.00 C +HETATM 14 N5 LIG A 1 -44.702 12.908 7.219 1.00 0.00 N +HETATM 15 C10 LIG A 1 -40.510 12.742 14.454 1.00 0.00 C +HETATM 16 O1 LIG A 1 -39.982 13.815 14.738 1.00 0.00 O +HETATM 17 C11 LIG A 1 -45.103 11.514 7.284 1.00 0.00 C +HETATM 18 C12 LIG A 1 -44.195 10.590 7.720 1.00 0.00 C +HETATM 19 C13 LIG A 1 -44.561 9.134 7.798 1.00 0.00 C +HETATM 20 C14 LIG A 1 -45.816 8.749 7.423 1.00 0.00 C +HETATM 21 C15 LIG A 1 -46.793 9.732 6.956 1.00 0.00 C +HETATM 22 C16 LIG A 1 -46.474 11.050 6.883 1.00 0.00 C +HETATM 23 O2 LIG A 1 -47.390 12.033 6.438 1.00 0.00 O +HETATM 24 C17 LIG A 1 -47.858 11.964 5.076 1.00 0.00 C +HETATM 25 F1 LIG A 1 -48.865 11.048 4.992 1.00 0.00 F +HETATM 26 F2 LIG A 1 -48.336 13.205 4.673 1.00 0.00 F +HETATM 27 F3 LIG A 1 -46.864 11.550 4.200 1.00 0.00 F +HETATM 28 N6 LIG A 1 -40.171 11.604 15.192 1.00 0.00 N +HETATM 29 C18 LIG A 1 -43.759 10.766 11.350 1.00 0.00 C +HETATM 30 C19 LIG A 1 -44.422 9.875 12.402 1.00 0.00 C +HETATM 31 O3 LIG A 1 -43.650 8.677 12.505 1.00 0.00 O +HETATM 32 N7 LIG A 1 -43.622 8.150 8.249 1.00 0.00 N +HETATM 33 C20 LIG A 1 -44.124 6.921 8.920 1.00 0.00 C +HETATM 34 C21 LIG A 1 -43.078 6.214 9.812 1.00 0.00 C +HETATM 35 N8 LIG A 1 -41.716 6.273 9.227 1.00 0.00 N +HETATM 36 C22 LIG A 1 -41.308 7.688 9.088 1.00 0.00 C +HETATM 37 C23 LIG A 1 -42.185 8.370 8.010 1.00 0.00 C +HETATM 38 C24 LIG A 1 -40.777 5.598 10.127 1.00 0.00 C +HETATM 39 H1 LIG A 1 -41.400 15.522 13.230 1.00 0.00 H +HETATM 40 H2 LIG A 1 -40.431 15.088 11.806 1.00 0.00 H +HETATM 41 H3 LIG A 1 -43.100 16.410 11.930 1.00 0.00 H +HETATM 42 H4 LIG A 1 -41.709 16.719 10.870 1.00 0.00 H +HETATM 43 H5 LIG A 1 -44.823 13.334 6.340 1.00 0.00 H +HETATM 44 H6 LIG A 1 -43.249 10.895 7.998 1.00 0.00 H +HETATM 45 H7 LIG A 1 -46.078 7.752 7.470 1.00 0.00 H +HETATM 46 H8 LIG A 1 -47.737 9.420 6.678 1.00 0.00 H +HETATM 47 H9 LIG A 1 -40.585 10.737 14.977 1.00 0.00 H +HETATM 48 H10 LIG A 1 -39.519 11.670 15.926 1.00 0.00 H +HETATM 49 H11 LIG A 1 -43.163 10.159 10.702 1.00 0.00 H +HETATM 50 H12 LIG A 1 -44.524 11.266 10.793 1.00 0.00 H +HETATM 51 H13 LIG A 1 -45.422 9.640 12.102 1.00 0.00 H +HETATM 52 H14 LIG A 1 -44.463 10.377 13.346 1.00 0.00 H +HETATM 53 H15 LIG A 1 -43.623 8.235 11.642 1.00 0.00 H +HETATM 54 H16 LIG A 1 -44.442 6.232 8.165 1.00 0.00 H +HETATM 55 H17 LIG A 1 -44.922 7.226 9.565 1.00 0.00 H +HETATM 56 H18 LIG A 1 -43.360 5.188 9.928 1.00 0.00 H +HETATM 57 H19 LIG A 1 -43.054 6.718 10.755 1.00 0.00 H +HETATM 58 H20 LIG A 1 -41.715 5.818 8.314 1.00 0.00 H +HETATM 59 H21 LIG A 1 -41.437 8.191 10.024 1.00 0.00 H +HETATM 60 H22 LIG A 1 -40.279 7.737 8.797 1.00 0.00 H +HETATM 61 H23 LIG A 1 -41.990 9.422 8.021 1.00 0.00 H +HETATM 62 H24 LIG A 1 -41.938 7.941 7.062 1.00 0.00 H +HETATM 63 H25 LIG A 1 -40.786 6.083 11.081 1.00 0.00 H +HETATM 64 H26 LIG A 1 -39.791 5.643 9.713 1.00 0.00 H +HETATM 65 H27 LIG A 1 -41.068 4.575 10.244 1.00 0.00 H +HETATM 66 H28 LIG A 1 -43.181 16.782 8.880 1.00 0.00 H +TER 67 LIG A 1 +END diff --git a/examples/classical/test_xml.py b/examples/classical/test_xml.py new file mode 100644 index 000000000..aa1b61f83 --- /dev/null +++ b/examples/classical/test_xml.py @@ -0,0 +1,66 @@ +import openmm as mm +import openmm.app as app +import openmm.unit as unit +import numpy as np + + +def forcegroupify(system): + forcegroups = {} + for i in range(system.getNumForces()): + force = system.getForce(i) + force.setForceGroup(i) + forcegroups[force] = i + return forcegroups + +def getEnergyDecomposition(context, forcegroups): + energies = {} + for f, i in forcegroups.items(): + energies[f] = context.getState(getEnergy=True, groups=2**i).getPotentialEnergy() + return energies + +if __name__ == "__main__": + + print("MM Reference Energy:") + app.Topology.loadBondDefinitions("lig-top.xml") + pdb = app.PDBFile("lig.pdb") + ff = app.ForceField("gaff-2.11.xml", "lig-prm.xml") + system = ff.createSystem(pdb.topology, nonbondedMethod=app.NoCutoff, constraints=None, removeCMMotion=False) + + print("Dih info:") + for force in system.getForces(): + if isinstance(force, mm.PeriodicTorsionForce): + print("No. of dihs:", force.getNumTorsions()) + + forcegroups = forcegroupify(system) + integrator = mm.VerletIntegrator(0.1) + context = mm.Context(system, integrator) + context.setPositions(pdb.positions) + state = context.getState(getEnergy=True) + energy = state.getPotentialEnergy() + energies = getEnergyDecomposition(context, forcegroups) + print(energy) + for key in energies.keys(): + print(key.getName(), energies[key]) + + print() + print("Jax Energy") + from dmff.api import Hamiltonian + h = Hamiltonian("gaff-2.11.xml", "lig-prm.xml") + system = h.createPotential(pdb.topology, nonbondedMethod=app.NoCutoff, constraints=None, removeCMMotion=False) + + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + box = np.array([ + [10.0, 0.0, 0.0], + [ 0.0, 10.0, 0.0], + [ 0.0, 0.0, 10.0] + ]) + pairs = np.array([[]], dtype=int) + + bondE = h._potentials[0] + print("Bond:", bondE(pos, box, pairs, h.getGenerators()[0].params)) + + angleE = h._potentials[1] + print("Angle:", angleE(pos, box, pairs, h.getGenerators()[1].params)) + + dihE = h._potentials[2] + print("Torsion:", dihE(pos, box, pairs, h.getGenerators()[2].params)) diff --git a/tests/data/get_openmm_force.py b/tests/data/get_openmm_force.py new file mode 100644 index 000000000..b9be40742 --- /dev/null +++ b/tests/data/get_openmm_force.py @@ -0,0 +1,39 @@ +import openmm as mm +import openmm.app as app +import openmm.unit as unit +import numpy as np + +def forcegroupify(system): + forcegroups = {} + for i in range(system.getNumForces()): + force = system.getForce(i) + force.setForceGroup(i) + forcegroups[force] = i + return forcegroups + +def getEnergyDecomposition(context, forcegroups): + energies = {} + for f, i in forcegroups.items(): + energies[f] = context.getState(getEnergy=True, groups=2**i).getPotentialEnergy() + return energies + +if __name__ == "__main__": + + print("MM Reference Energy:") + pdb = app.PDBFile("lj1.pdb") + ff = app.ForceField("lj1.xml") + system = ff.createSystem(pdb.topology, nonbondedMethod=app.NoCutoff, constraints=None, removeCMMotion=False) + + + forcegroups = forcegroupify(system) + integrator = mm.VerletIntegrator(0.1) + context = mm.Context(system, integrator) + context.setPositions(pdb.positions) + state = context.getState(getEnergy=True) + energy = state.getPotentialEnergy() + energies = getEnergyDecomposition(context, forcegroups) + print(energy) + for key in energies.keys(): + print(key.getName(), energies[key]) + + diff --git a/tests/data/lj1.pdb b/tests/data/lj1.pdb new file mode 100644 index 000000000..31be0a6b4 --- /dev/null +++ b/tests/data/lj1.pdb @@ -0,0 +1,2 @@ +HETATM 1 N1 LIG A 1 0.000 0.000 0.000 1.00 0.00 N +HETATM 2 N2 LIG A 1 1.000 0.000 0.000 1.00 0.00 N diff --git a/tests/data/lj1.xml b/tests/data/lj1.xml new file mode 100644 index 000000000..bfb55f75a --- /dev/null +++ b/tests/data/lj1.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/test_classical.py b/tests/test_classical.py index 4e318d3d3..bd1eef1dd 100644 --- a/tests/test_classical.py +++ b/tests/test_classical.py @@ -1,3 +1,4 @@ +from haiku import grad import jax.numpy as jnp import openmm as mm import openmm.app as app @@ -7,6 +8,8 @@ from dmff.api import Hamiltonian import pytest +from dmff.classical.inter import LennardJonesForce + class TestClassical: @pytest.mark.parametrize( @@ -71,3 +74,26 @@ def test_periodic_torsion_force(self, pdb, prm, value): bondE = h._potentials[0] energy = bondE(pos, box, pairs, h.getGenerators()[0].params) npt.assert_almost_equal(energy, value, decimal=3) + + +class TestLennardJonesForce: + + def test_norm_lj(self): + + lj = LennardJonesForce(False, False, r_switch=0, r_cut=0) + + positions = jnp.array([[0, 0, 0], [1, 0, 0]]) + + box = jnp.array([[10, 0, 0], [0, 10, 0], [0, 0, 10]]) + + pairs = np.array([[0, 1]]) + + epsilon = jnp.array([1]) + sigma = jnp.array([0.1]) + + get_energy = lj.generate_get_energy() + + E = get_energy(positions, box, pairs, epsilon, sigma) + F = grad(get_energy)(positions, box, pairs, epsilon, sigma) + assert E == 0 + assert F != 0 \ No newline at end of file From 8535aed12319287badbf3f2a05f50feb3565e9a6 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Thu, 10 Mar 2022 17:04:12 +0800 Subject: [PATCH 30/72] feat(classical): Add test case for multiple dihedrals in one molecule --- tests/data/proper2.pdb | 9 +++++++++ tests/data/proper2.xml | 26 ++++++++++++++++++++++++++ tests/test_classical.py | 1 + 3 files changed, 36 insertions(+) create mode 100644 tests/data/proper2.pdb create mode 100644 tests/data/proper2.xml diff --git a/tests/data/proper2.pdb b/tests/data/proper2.pdb new file mode 100644 index 000000000..65a3eb083 --- /dev/null +++ b/tests/data/proper2.pdb @@ -0,0 +1,9 @@ +HETATM 1 N1 LIG A 1 0.000 1.000 0.000 1.00 0.00 N +HETATM 2 N2 LIG A 1 1.000 0.000 0.000 1.00 0.00 N +HETATM 3 N3 LIG A 1 0.000 1.000 1.000 1.00 0.00 N +HETATM 4 N4 LIG A 1 1.000 0.000 1.000 1.00 0.00 N +HETATM 5 N5 LIG A 1 2.000 0.500 1.300 1.00 0.00 N +CONECT 1 2 +CONECT 2 3 +CONECT 3 4 +CONECT 4 5 \ No newline at end of file diff --git a/tests/data/proper2.xml b/tests/data/proper2.xml new file mode 100644 index 000000000..6e26acd6b --- /dev/null +++ b/tests/data/proper2.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/test_classical.py b/tests/test_classical.py index 4e318d3d3..8560893f1 100644 --- a/tests/test_classical.py +++ b/tests/test_classical.py @@ -53,6 +53,7 @@ def test_harmonic_angle_force(self, pdb, prm, value): "pdb, prm, value", [ ("data/proper1.pdb", "data/proper1.xml", 8.368000030517578), + ("data/proper2.pdb", "data/proper2.xml", 20.931230545), ("data/impr1.pdb", "data/impr1.xml", 2.9460556507110596), ("data/proper1.pdb", "data/wild1.xml", 8.368000030517578), ("data/impr1.pdb", "data/wild2.xml", 2.9460556507110596), From 78dce12b5f627bc2b605994827a1a67e7e299c19 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Thu, 10 Mar 2022 17:36:21 +0800 Subject: [PATCH 31/72] fix(classical): change the way of dihedral calculation --- dmff/classical/intra.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/dmff/classical/intra.py b/dmff/classical/intra.py index a3acaec06..b7c790811 100644 --- a/dmff/classical/intra.py +++ b/dmff/classical/intra.py @@ -17,13 +17,16 @@ def angle(p1v, p2v, p3v): return jnp.arccos(vxx + vyy + vzz) def dihedral(i, j, k, l): - f, g, h = i - j, j - k, l - k - a = vmap(jnp.cross, (0, 0))(f, g) - b = vmap(jnp.cross, (0, 0))(h, g) - axb = vmap(jnp.cross, (0, 0))(a, b) - cos = vmap(jnp.dot, (0, 0))(a, b) - sin = vmap(jnp.dot, (0, 0))(axb, g) / jnp.linalg.norm(g) - r = - vmap(jnp.arctan2, (0, 0))(sin, cos) + b1, b2, b3 = j - i, k - j, l - k + + c1 = vmap(jnp.cross, (0, 0))(b2, b3) + c2 = vmap(jnp.cross, (0, 0))(b1, b2) + + p1 = (b1 * c1).sum(-1) + p1 = p1 * jnp.sqrt((b2 * b2).sum(-1)) + p2 = (c1 * c2).sum(-1) + + r = vmap(jnp.arctan2, (0, 0))(p1, p2) return r class HarmonicBondJaxForce: From 8cafed05e47fc17e91b026c98343548c84bd5ec5 Mon Sep 17 00:00:00 2001 From: Roy Kid Date: Fri, 11 Mar 2022 09:57:38 +0800 Subject: [PATCH 32/72] start to write LJ potential --- dmff/api.py | 60 + dmff/classical/inter.py | 73 +- examples/openmm_api/water1024.pdb | 3075 +++++++++++++++++++++++++ examples/water_1024/water1024.pdb | 3075 +++++++++++++++++++++++++ examples/water_pol_1024/water1024.pdb | 3075 +++++++++++++++++++++++++ examples/water_pol_1024/water2.pdb | 9 + tests/data/lj1.pdb | 2 + tests/data/lj1.xml | 16 + tests/test_classical.py | 22 + 9 files changed, 9405 insertions(+), 2 deletions(-) create mode 100644 examples/openmm_api/water1024.pdb create mode 100644 examples/water_1024/water1024.pdb create mode 100644 examples/water_pol_1024/water1024.pdb create mode 100644 examples/water_pol_1024/water2.pdb create mode 100644 tests/data/lj1.pdb create mode 100644 tests/data/lj1.xml diff --git a/dmff/api.py b/dmff/api.py index 263576fa4..6a4572205 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -16,6 +16,7 @@ from jax import grad import linecache import itertools +from .classical.inter import LennardJonesForce def get_line_context(file_path, line_number): @@ -1077,6 +1078,65 @@ def renderXML(self): "PeriodicTorsionForce"] = PeriodicTorsionJaxGenerator.parseElement +class NonbondJaxGenerator: + + SCALETOL = 1e-5 + + def __ini__(self, hamiltionian): + + self.ff = hamiltionian + # self.coulomb14scale = coulomb14scale + # self.lj14scale = lj14scale + # self.useDispersionCorrection = useDispersionCorrection + self.params = app.ForceField._AtomTypeParameters(hamiltionian, 'NonbondedForce', 'Atom', ('charge', 'sigma', 'epsilon')) + + @staticmethod + def parseElement(element, ff): + + existing = [f for f in ff._forces if isinstance(f, NonbondJaxGenerator)] + + # TODO: useDispersionCorrection + + if len(existing) == 0: + generator = NonbondJaxGenerator( + ff, + # float(element.attrib['coulomb14scale']), + # float(element.attrib['lj14scale']), + # useDispersionCorrection + ) + ff.registerGenerator(generator) + else: + generator = existing[0] + # if (abs(generator.coulomb14scale - float(element.attrib['coulomb14scale'])) > NonbondedGenerator.SCALETOL + # or abs(generator.lj14scale - float(element.attrib['lj14scale'])) > NonbondedGenerator.SCALETOL + # ): + # raise ValueError('Found multiple NonbondedForce tags with different 1-4 scales') + # if ( + # generator.useDispersionCorrection is not None + # and useDispersionCorrection is not None + # and generator.useDispersionCorrection != useDispersionCorrection + # ): + # raise ValueError('Found multiple NonbondedForce tags with different useDispersionCorrection settings.') + generator.params.parseDefinitions(element) + + def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): + + methodMap = { + + } + if nonbondedMethod not in methodMap: + raise ValueError('Illegal nonbonded method for NonbondedForce') + force = LennardJonesForce() + for atom in data.atoms: + values = self.params.getAtomParameters(atom, data) + force.addParticle(values[0], values[1], values[2]) + + + +app.forcefield.parsers[ + "NonbondedForce"] = PeriodicTorsionJaxGenerator.parseElement + + class Hamiltonian(app.forcefield.ForceField): def __init__(self, *xmlnames): super().__init__(*xmlnames) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 12abd91bd..e116c9852 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -1,5 +1,74 @@ +import sys +sys.path.append('/share/home/jichen/work/DMFF') +import jax.numpy as jnp +from dmff.admp.spatial import v_pbc_shift +import numpy as np +import jax.numpy as jnp +from jax import grad + class LennardJonesForce: + + def __init__(self, isShift, isSwitch, r_switch, r_cut) -> None: + + self.isShift = isShift + self.isSwitch = isSwitch + self.r_switch = r_switch + self.r_cut = r_cut + + def generate_get_energy(self): + + def get_energy(positions, box, pairs, epsilon, sigma): + + dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] + dr_vec = v_pbc_shift(dr_vec, box, jnp.linalg.inv(box)) + dr_norm = jnp.linalg.norm(dr_vec, axis=1) + dr_norm = dr_norm[dr_norm<=self.r_cut] + + dr_inv = 1.0/dr_norm + sig_dr = sigma * dr_inv + sig_dr12 = jnp.power(sig_dr, 12) + sig_dr6 = jnp.power(sig_dr, 6) + E = 4 * epsilon * (sig_dr12 - sig_dr6) + + shiftedE = 0 + + if self.isShift: + + rcut_inv = 1.0/self.r_cut + sig_rcut = sigma * rcut_inv + sig_rcut12 = jnp.power(sig_rcut, 12) + sig_rcut6 = jnp.power(sig_rcut, 6) + shiftedE = 4*epsilon*(sig_rcut12 - sig_rcut6) + + if self.isSwitch: + + x = (dr_norm - self.r_switch) / (self.r_cut - self.r_switch) + S = 1 - 6*x**5 + 15*x**4 - 10*x**3 + jnp.where(dr_norm>self.r_switch, E, E*S) + + return jnp.sum(E) + shiftedE + + return get_energy + +class CoulombForce: pass -class CoulombForce: - pass \ No newline at end of file +if __name__ == '__main__': + + lj = LennardJonesForce(False, False, r_switch=0, r_cut=3) + + positions = jnp.array([[0, 0, 0], [1, 0, 0]], dtype=float) + + box = jnp.array([[10, 0, 0], [0, 10, 0], [0, 0, 10]]) + + pairs = np.array([[0, 1]]) + + epsilon = jnp.array([1]) + sigma = jnp.array([0.1]) + + get_energy = lj.generate_get_energy() + + E = get_energy(positions, box, pairs, epsilon, sigma) + print(E) + F = grad(get_energy)(positions, box, pairs, epsilon, sigma) + print(F) \ No newline at end of file diff --git a/examples/openmm_api/water1024.pdb b/examples/openmm_api/water1024.pdb new file mode 100644 index 000000000..61123b49d --- /dev/null +++ b/examples/openmm_api/water1024.pdb @@ -0,0 +1,3075 @@ +REMARK testcase for ADMP forcefield +CRYST1 50.000 50.000 50.000 90.00 90.00 90.00 P 1 1 +HETATM 1 O HOH A 1 6.151 10.912 26.734 1.00 0.00 O +HETATM 2 H1 HOH A 1 5.478 11.372 26.233 1.00 0.00 H +HETATM 3 H2 HOH A 1 6.773 11.592 26.985 1.00 0.00 H +HETATM 4 O HOH A 2 12.550 2.171 44.888 1.00 0.00 O +HETATM 5 H1 HOH A 2 13.046 2.984 44.792 1.00 0.00 H +HETATM 6 H2 HOH A 2 12.159 2.229 45.758 1.00 0.00 H +HETATM 7 O HOH A 3 46.148 27.324 43.627 1.00 0.00 O +HETATM 8 H1 HOH A 3 46.403 28.072 44.167 1.00 0.00 H +HETATM 9 H2 HOH A 3 45.334 27.011 44.017 1.00 0.00 H +HETATM 10 O HOH A 4 40.594 22.790 34.698 1.00 0.00 O +HETATM 11 H1 HOH A 4 40.164 21.938 34.615 1.00 0.00 H +HETATM 12 H2 HOH A 4 39.930 23.359 35.082 1.00 0.00 H +HETATM 13 O HOH A 5 33.118 26.837 14.565 1.00 0.00 O +HETATM 14 H1 HOH A 5 33.572 26.369 15.267 1.00 0.00 H +HETATM 15 H2 HOH A 5 32.245 26.450 14.543 1.00 0.00 H +HETATM 16 O HOH A 6 40.034 31.573 47.251 1.00 0.00 O +HETATM 17 H1 HOH A 6 39.640 32.286 47.755 1.00 0.00 H +HETATM 18 H2 HOH A 6 39.677 31.674 46.371 1.00 0.00 H +HETATM 19 O HOH A 7 49.815 10.339 6.098 1.00 0.00 O +HETATM 20 H1 HOH A 7 49.912 11.183 6.540 1.00 0.00 H +HETATM 21 H2 HOH A 7 49.116 9.895 6.574 1.00 0.00 H +HETATM 22 O HOH A 8 10.855 9.466 36.213 1.00 0.00 O +HETATM 23 H1 HOH A 8 11.018 9.388 35.273 1.00 0.00 H +HETATM 24 H2 HOH A 8 9.916 9.319 36.308 1.00 0.00 H +HETATM 25 O HOH A 9 21.272 43.663 40.433 1.00 0.00 O +HETATM 26 H1 HOH A 9 21.139 43.690 41.380 1.00 0.00 H +HETATM 27 H2 HOH A 9 21.984 43.038 40.307 1.00 0.00 H +HETATM 28 O HOH A 10 35.753 44.780 38.645 1.00 0.00 O +HETATM 29 H1 HOH A 10 36.224 45.549 38.967 1.00 0.00 H +HETATM 30 H2 HOH A 10 34.836 45.047 38.630 1.00 0.00 H +HETATM 31 O HOH A 11 29.889 39.528 9.239 1.00 0.00 O +HETATM 32 H1 HOH A 11 29.181 39.592 8.598 1.00 0.00 H +HETATM 33 H2 HOH A 11 30.536 40.168 8.948 1.00 0.00 H +HETATM 34 O HOH A 12 21.616 29.638 45.881 1.00 0.00 O +HETATM 35 H1 HOH A 12 21.943 29.335 46.728 1.00 0.00 H +HETATM 36 H2 HOH A 12 20.739 29.971 46.065 1.00 0.00 H +HETATM 37 O HOH A 13 0.005 29.640 36.910 1.00 0.00 O +HETATM 38 H1 HOH A 13 0.000 30.328 37.575 1.00 0.00 H +HETATM 39 H2 HOH A 13 0.692 29.899 36.299 1.00 0.00 H +HETATM 40 O HOH A 14 2.764 43.853 42.732 1.00 0.00 O +HETATM 41 H1 HOH A 14 2.189 43.883 41.966 1.00 0.00 H +HETATM 42 H2 HOH A 14 2.986 44.766 42.902 1.00 0.00 H +HETATM 43 O HOH A 15 10.324 5.385 39.574 1.00 0.00 O +HETATM 44 H1 HOH A 15 9.508 5.129 40.005 1.00 0.00 H +HETATM 45 H2 HOH A 15 10.924 5.582 40.291 1.00 0.00 H +HETATM 46 O HOH A 16 16.091 35.659 5.421 1.00 0.00 O +HETATM 47 H1 HOH A 16 16.481 36.317 5.998 1.00 0.00 H +HETATM 48 H2 HOH A 16 15.967 36.111 4.588 1.00 0.00 H +HETATM 49 O HOH A 17 9.401 4.374 18.073 1.00 0.00 O +HETATM 50 H1 HOH A 17 8.784 3.933 17.489 1.00 0.00 H +HETATM 51 H2 HOH A 17 8.897 5.084 18.466 1.00 0.00 H +HETATM 52 O HOH A 18 20.255 44.908 19.573 1.00 0.00 O +HETATM 53 H1 HOH A 18 19.313 44.823 19.424 1.00 0.00 H +HETATM 54 H2 HOH A 18 20.537 44.034 19.838 1.00 0.00 H +HETATM 55 O HOH A 19 23.927 22.842 11.483 1.00 0.00 O +HETATM 56 H1 HOH A 19 23.610 23.507 12.095 1.00 0.00 H +HETATM 57 H2 HOH A 19 23.607 22.015 11.837 1.00 0.00 H +HETATM 58 O HOH A 20 43.629 25.630 31.651 1.00 0.00 O +HETATM 59 H1 HOH A 20 42.714 25.635 31.933 1.00 0.00 H +HETATM 60 H2 HOH A 20 44.088 26.146 32.311 1.00 0.00 H +HETATM 61 O HOH A 21 26.278 18.996 46.617 1.00 0.00 O +HETATM 62 H1 HOH A 21 25.644 19.703 46.737 1.00 0.00 H +HETATM 63 H2 HOH A 21 26.687 18.890 47.474 1.00 0.00 H +HETATM 64 O HOH A 22 43.578 0.881 26.370 1.00 0.00 O +HETATM 65 H1 HOH A 22 44.087 0.335 25.770 1.00 0.00 H +HETATM 66 H2 HOH A 22 42.697 0.890 26.001 1.00 0.00 H +HETATM 67 O HOH A 23 11.967 11.477 29.754 1.00 0.00 O +HETATM 68 H1 HOH A 23 11.838 12.395 29.516 1.00 0.00 H +HETATM 69 H2 HOH A 23 12.899 11.407 29.951 1.00 0.00 H +HETATM 70 O HOH A 24 0.851 35.755 36.667 1.00 0.00 O +HETATM 71 H1 HOH A 24 0.615 36.504 37.215 1.00 0.00 H +HETATM 72 H2 HOH A 24 1.803 35.794 36.602 1.00 0.00 H +HETATM 73 O HOH A 25 11.692 27.787 30.997 1.00 0.00 O +HETATM 74 H1 HOH A 25 11.485 28.635 30.604 1.00 0.00 H +HETATM 75 H2 HOH A 25 12.632 27.682 30.863 1.00 0.00 H +HETATM 76 O HOH A 26 8.295 17.260 23.637 1.00 0.00 O +HETATM 77 H1 HOH A 26 8.099 18.090 23.202 1.00 0.00 H +HETATM 78 H2 HOH A 26 7.453 16.958 23.972 1.00 0.00 H +HETATM 79 O HOH A 27 33.921 30.567 29.637 1.00 0.00 O +HETATM 80 H1 HOH A 27 33.946 31.514 29.496 1.00 0.00 H +HETATM 81 H2 HOH A 27 34.212 30.449 30.539 1.00 0.00 H +HETATM 82 O HOH A 28 41.329 36.813 18.771 1.00 0.00 O +HETATM 83 H1 HOH A 28 40.808 37.425 19.292 1.00 0.00 H +HETATM 84 H2 HOH A 28 42.076 37.328 18.471 1.00 0.00 H +HETATM 85 O HOH A 29 25.788 31.230 47.843 1.00 0.00 O +HETATM 86 H1 HOH A 29 26.400 30.669 48.319 1.00 0.00 H +HETATM 87 H2 HOH A 29 25.489 31.866 48.491 1.00 0.00 H +HETATM 88 O HOH A 30 26.887 29.994 38.981 1.00 0.00 O +HETATM 89 H1 HOH A 30 26.729 30.693 38.347 1.00 0.00 H +HETATM 90 H2 HOH A 30 26.048 29.872 39.422 1.00 0.00 H +HETATM 91 O HOH A 31 7.358 25.186 43.231 1.00 0.00 O +HETATM 92 H1 HOH A 31 7.137 26.106 43.372 1.00 0.00 H +HETATM 93 H2 HOH A 31 7.753 25.163 42.361 1.00 0.00 H +HETATM 94 O HOH A 32 48.233 28.815 26.308 1.00 0.00 O +HETATM 95 H1 HOH A 32 48.423 28.316 25.514 1.00 0.00 H +HETATM 96 H2 HOH A 32 48.407 28.206 27.023 1.00 0.00 H +HETATM 97 O HOH A 33 25.978 36.217 33.090 1.00 0.00 O +HETATM 98 H1 HOH A 33 26.211 35.656 32.351 1.00 0.00 H +HETATM 99 H2 HOH A 33 25.729 37.049 32.692 1.00 0.00 H +HETATM 100 O HOH A 34 1.073 18.333 3.389 1.00 0.00 O +HETATM 101 H1 HOH A 34 0.154 18.074 3.325 1.00 0.00 H +HETATM 102 H2 HOH A 34 1.387 18.335 2.487 1.00 0.00 H +HETATM 103 O HOH A 35 7.602 35.488 9.012 1.00 0.00 O +HETATM 104 H1 HOH A 35 7.851 34.610 8.722 1.00 0.00 H +HETATM 105 H2 HOH A 35 8.397 35.848 9.402 1.00 0.00 H +HETATM 106 O HOH A 36 31.687 29.537 12.400 1.00 0.00 O +HETATM 107 H1 HOH A 36 31.758 28.881 11.706 1.00 0.00 H +HETATM 108 H2 HOH A 36 31.082 30.190 12.054 1.00 0.00 H +HETATM 109 O HOH A 37 14.022 21.951 29.138 1.00 0.00 O +HETATM 110 H1 HOH A 37 13.922 21.147 29.648 1.00 0.00 H +HETATM 111 H2 HOH A 37 14.825 22.349 29.468 1.00 0.00 H +HETATM 112 O HOH A 38 35.815 5.649 30.538 1.00 0.00 O +HETATM 113 H1 HOH A 38 36.250 6.023 29.772 1.00 0.00 H +HETATM 114 H2 HOH A 38 34.919 5.976 30.490 1.00 0.00 H +HETATM 115 O HOH A 39 44.368 44.723 32.156 1.00 0.00 O +HETATM 116 H1 HOH A 39 43.554 44.530 32.622 1.00 0.00 H +HETATM 117 H2 HOH A 39 45.050 44.300 32.676 1.00 0.00 H +HETATM 118 O HOH A 40 43.418 43.692 25.308 1.00 0.00 O +HETATM 119 H1 HOH A 40 44.162 43.092 25.246 1.00 0.00 H +HETATM 120 H2 HOH A 40 43.389 44.129 24.458 1.00 0.00 H +HETATM 121 O HOH A 41 28.443 14.096 33.492 1.00 0.00 O +HETATM 122 H1 HOH A 41 28.129 13.598 32.737 1.00 0.00 H +HETATM 123 H2 HOH A 41 27.660 14.266 34.012 1.00 0.00 H +HETATM 124 O HOH A 42 15.934 39.259 20.862 1.00 0.00 O +HETATM 125 H1 HOH A 42 15.922 39.625 19.978 1.00 0.00 H +HETATM 126 H2 HOH A 42 16.146 38.336 20.738 1.00 0.00 H +HETATM 127 O HOH A 43 42.310 26.848 34.686 1.00 0.00 O +HETATM 128 H1 HOH A 43 42.731 26.283 34.037 1.00 0.00 H +HETATM 129 H2 HOH A 43 41.395 26.885 34.416 1.00 0.00 H +HETATM 130 O HOH A 44 33.903 16.522 25.778 1.00 0.00 O +HETATM 131 H1 HOH A 44 33.166 15.932 25.622 1.00 0.00 H +HETATM 132 H2 HOH A 44 34.062 16.466 26.718 1.00 0.00 H +HETATM 133 O HOH A 45 39.033 46.458 47.207 1.00 0.00 O +HETATM 134 H1 HOH A 45 39.439 46.519 48.072 1.00 0.00 H +HETATM 135 H2 HOH A 45 38.569 45.623 47.217 1.00 0.00 H +HETATM 136 O HOH A 46 23.853 44.157 14.062 1.00 0.00 O +HETATM 137 H1 HOH A 46 24.799 44.213 14.202 1.00 0.00 H +HETATM 138 H2 HOH A 46 23.519 45.013 14.324 1.00 0.00 H +HETATM 139 O HOH A 47 46.585 4.433 35.865 1.00 0.00 O +HETATM 140 H1 HOH A 47 46.425 4.030 36.719 1.00 0.00 H +HETATM 141 H2 HOH A 47 47.334 5.009 36.007 1.00 0.00 H +HETATM 142 O HOH A 48 45.664 30.713 43.434 1.00 0.00 O +HETATM 143 H1 HOH A 48 44.799 30.998 43.141 1.00 0.00 H +HETATM 144 H2 HOH A 48 45.716 30.996 44.346 1.00 0.00 H +HETATM 145 O HOH A 49 34.836 5.637 38.867 1.00 0.00 O +HETATM 146 H1 HOH A 49 34.438 4.914 39.352 1.00 0.00 H +HETATM 147 H2 HOH A 49 35.669 5.794 39.308 1.00 0.00 H +HETATM 148 O HOH A 50 49.255 19.337 7.792 1.00 0.00 O +HETATM 149 H1 HOH A 50 49.979 18.747 7.581 1.00 0.00 H +HETATM 150 H2 HOH A 50 49.112 19.839 6.992 1.00 0.00 H +HETATM 151 O HOH A 51 30.520 22.550 17.927 1.00 0.00 O +HETATM 152 H1 HOH A 51 30.968 22.070 18.624 1.00 0.00 H +HETATM 153 H2 HOH A 51 30.412 23.434 18.273 1.00 0.00 H +HETATM 154 O HOH A 52 16.816 13.004 12.328 1.00 0.00 O +HETATM 155 H1 HOH A 52 17.246 13.854 12.419 1.00 0.00 H +HETATM 156 H2 HOH A 52 17.508 12.414 12.035 1.00 0.00 H +HETATM 157 O HOH A 53 42.152 33.922 16.020 1.00 0.00 O +HETATM 158 H1 HOH A 53 42.914 34.320 15.599 1.00 0.00 H +HETATM 159 H2 HOH A 53 41.516 34.632 16.089 1.00 0.00 H +HETATM 160 O HOH A 54 34.962 1.054 39.704 1.00 0.00 O +HETATM 161 H1 HOH A 54 34.870 0.411 40.407 1.00 0.00 H +HETATM 162 H2 HOH A 54 34.728 1.888 40.107 1.00 0.00 H +HETATM 163 O HOH A 55 4.852 39.350 42.155 1.00 0.00 O +HETATM 164 H1 HOH A 55 5.462 39.987 42.528 1.00 0.00 H +HETATM 165 H2 HOH A 55 4.131 39.311 42.780 1.00 0.00 H +HETATM 166 O HOH A 56 35.052 8.586 38.954 1.00 0.00 O +HETATM 167 H1 HOH A 56 34.984 8.724 38.009 1.00 0.00 H +HETATM 168 H2 HOH A 56 34.941 9.455 39.334 1.00 0.00 H +HETATM 169 O HOH A 57 23.302 13.812 8.923 1.00 0.00 O +HETATM 170 H1 HOH A 57 23.496 13.120 9.556 1.00 0.00 H +HETATM 171 H2 HOH A 57 23.795 14.569 9.234 1.00 0.00 H +HETATM 172 O HOH A 58 48.045 47.881 33.392 1.00 0.00 O +HETATM 173 H1 HOH A 58 48.827 47.469 33.024 1.00 0.00 H +HETATM 174 H2 HOH A 58 47.318 47.503 32.900 1.00 0.00 H +HETATM 175 O HOH A 59 47.963 47.365 38.718 1.00 0.00 O +HETATM 176 H1 HOH A 59 47.969 48.195 38.241 1.00 0.00 H +HETATM 177 H2 HOH A 59 47.689 46.717 38.072 1.00 0.00 H +HETATM 178 O HOH A 60 46.169 21.437 10.235 1.00 0.00 O +HETATM 179 H1 HOH A 60 46.467 21.817 9.409 1.00 0.00 H +HETATM 180 H2 HOH A 60 45.348 20.998 10.018 1.00 0.00 H +HETATM 181 O HOH A 61 27.218 32.487 26.197 1.00 0.00 O +HETATM 182 H1 HOH A 61 26.479 32.932 26.612 1.00 0.00 H +HETATM 183 H2 HOH A 61 27.982 32.772 26.694 1.00 0.00 H +HETATM 184 O HOH A 62 43.817 36.399 16.494 1.00 0.00 O +HETATM 185 H1 HOH A 62 43.957 35.778 17.209 1.00 0.00 H +HETATM 186 H2 HOH A 62 44.666 36.819 16.369 1.00 0.00 H +HETATM 187 O HOH A 63 10.054 12.231 43.611 1.00 0.00 O +HETATM 188 H1 HOH A 63 10.384 12.877 44.236 1.00 0.00 H +HETATM 189 H2 HOH A 63 9.198 11.978 43.953 1.00 0.00 H +HETATM 190 O HOH A 64 9.767 39.986 9.024 1.00 0.00 O +HETATM 191 H1 HOH A 64 9.274 40.803 9.103 1.00 0.00 H +HETATM 192 H2 HOH A 64 10.675 40.235 9.188 1.00 0.00 H +HETATM 193 O HOH A 65 27.980 33.009 22.732 1.00 0.00 O +HETATM 194 H1 HOH A 65 27.293 33.033 22.066 1.00 0.00 H +HETATM 195 H2 HOH A 65 28.552 33.743 22.516 1.00 0.00 H +HETATM 196 O HOH A 66 0.006 35.929 39.629 1.00 0.00 O +HETATM 197 H1 HOH A 66 0.274 36.792 39.946 1.00 0.00 H +HETATM 198 H2 HOH A 66 0.198 35.336 40.353 1.00 0.00 H +HETATM 199 O HOH A 67 43.754 5.879 33.391 1.00 0.00 O +HETATM 200 H1 HOH A 67 43.383 5.141 33.875 1.00 0.00 H +HETATM 201 H2 HOH A 67 43.226 6.631 33.654 1.00 0.00 H +HETATM 202 O HOH A 68 16.153 5.452 7.416 1.00 0.00 O +HETATM 203 H1 HOH A 68 15.998 5.819 8.287 1.00 0.00 H +HETATM 204 H2 HOH A 68 16.201 4.508 7.557 1.00 0.00 H +HETATM 205 O HOH A 69 6.157 37.365 7.820 1.00 0.00 O +HETATM 206 H1 HOH A 69 5.738 36.539 7.575 1.00 0.00 H +HETATM 207 H2 HOH A 69 6.201 37.864 7.006 1.00 0.00 H +HETATM 208 O HOH A 70 38.820 21.685 4.868 1.00 0.00 O +HETATM 209 H1 HOH A 70 39.706 21.536 4.536 1.00 0.00 H +HETATM 210 H2 HOH A 70 38.906 22.430 5.460 1.00 0.00 H +HETATM 211 O HOH A 71 39.752 4.314 34.768 1.00 0.00 O +HETATM 212 H1 HOH A 71 40.004 4.985 34.134 1.00 0.00 H +HETATM 213 H2 HOH A 71 40.069 3.495 34.393 1.00 0.00 H +HETATM 214 O HOH A 72 30.828 4.957 13.676 1.00 0.00 O +HETATM 215 H1 HOH A 72 30.521 4.100 13.973 1.00 0.00 H +HETATM 216 H2 HOH A 72 30.570 5.560 14.370 1.00 0.00 H +HETATM 217 O HOH A 73 11.951 36.221 14.674 1.00 0.00 O +HETATM 218 H1 HOH A 73 12.442 36.365 13.864 1.00 0.00 H +HETATM 219 H2 HOH A 73 12.520 35.666 15.204 1.00 0.00 H +HETATM 220 O HOH A 74 17.071 15.826 34.735 1.00 0.00 O +HETATM 221 H1 HOH A 74 17.590 15.040 34.906 1.00 0.00 H +HETATM 222 H2 HOH A 74 16.670 16.039 35.576 1.00 0.00 H +HETATM 223 O HOH A 75 4.308 9.229 33.467 1.00 0.00 O +HETATM 224 H1 HOH A 75 4.260 8.729 34.282 1.00 0.00 H +HETATM 225 H2 HOH A 75 5.209 9.546 33.431 1.00 0.00 H +HETATM 226 O HOH A 76 1.199 8.357 46.881 1.00 0.00 O +HETATM 227 H1 HOH A 76 1.402 8.042 47.762 1.00 0.00 H +HETATM 228 H2 HOH A 76 0.250 8.279 46.809 1.00 0.00 H +HETATM 229 O HOH A 77 17.732 48.670 27.048 1.00 0.00 O +HETATM 230 H1 HOH A 77 17.835 47.719 27.007 1.00 0.00 H +HETATM 231 H2 HOH A 77 17.883 48.968 26.153 1.00 0.00 H +HETATM 232 O HOH A 78 29.805 38.190 27.814 1.00 0.00 O +HETATM 233 H1 HOH A 78 28.966 38.650 27.818 1.00 0.00 H +HETATM 234 H2 HOH A 78 30.421 38.808 28.204 1.00 0.00 H +HETATM 235 O HOH A 79 21.317 23.625 29.134 1.00 0.00 O +HETATM 236 H1 HOH A 79 20.712 23.764 28.405 1.00 0.00 H +HETATM 237 H2 HOH A 79 20.924 24.093 29.867 1.00 0.00 H +HETATM 238 O HOH A 80 42.732 7.143 49.361 1.00 0.00 O +HETATM 239 H1 HOH A 80 42.541 7.515 48.500 1.00 0.00 H +HETATM 240 H2 HOH A 80 42.628 7.873 49.968 1.00 0.00 H +HETATM 241 O HOH A 81 16.255 5.466 38.637 1.00 0.00 O +HETATM 242 H1 HOH A 81 15.533 4.970 39.024 1.00 0.00 H +HETATM 243 H2 HOH A 81 16.744 4.824 38.127 1.00 0.00 H +HETATM 244 O HOH A 82 28.221 24.013 19.080 1.00 0.00 O +HETATM 245 H1 HOH A 82 27.291 24.099 18.870 1.00 0.00 H +HETATM 246 H2 HOH A 82 28.617 24.821 18.759 1.00 0.00 H +HETATM 247 O HOH A 83 9.793 26.257 39.436 1.00 0.00 O +HETATM 248 H1 HOH A 83 9.011 26.319 39.984 1.00 0.00 H +HETATM 249 H2 HOH A 83 9.850 27.106 39.001 1.00 0.00 H +HETATM 250 O HOH A 84 39.514 8.011 42.206 1.00 0.00 O +HETATM 251 H1 HOH A 84 40.130 8.591 42.655 1.00 0.00 H +HETATM 252 H2 HOH A 84 39.971 7.175 42.145 1.00 0.00 H +HETATM 253 O HOH A 85 17.844 2.939 46.079 1.00 0.00 O +HETATM 254 H1 HOH A 85 17.782 2.522 46.939 1.00 0.00 H +HETATM 255 H2 HOH A 85 17.727 2.225 45.455 1.00 0.00 H +HETATM 256 O HOH A 86 48.868 44.392 42.012 1.00 0.00 O +HETATM 257 H1 HOH A 86 48.161 44.921 42.382 1.00 0.00 H +HETATM 258 H2 HOH A 86 48.464 43.922 41.285 1.00 0.00 H +HETATM 259 O HOH A 87 29.407 25.249 43.329 1.00 0.00 O +HETATM 260 H1 HOH A 87 29.004 24.976 42.504 1.00 0.00 H +HETATM 261 H2 HOH A 87 29.695 24.435 43.738 1.00 0.00 H +HETATM 262 O HOH A 88 11.728 38.155 2.936 1.00 0.00 O +HETATM 263 H1 HOH A 88 11.152 38.841 2.599 1.00 0.00 H +HETATM 264 H2 HOH A 88 11.829 37.545 2.207 1.00 0.00 H +HETATM 265 O HOH A 89 42.251 38.405 24.935 1.00 0.00 O +HETATM 266 H1 HOH A 89 43.208 38.419 24.973 1.00 0.00 H +HETATM 267 H2 HOH A 89 41.971 38.828 25.744 1.00 0.00 H +HETATM 268 O HOH A 90 21.103 25.734 44.801 1.00 0.00 O +HETATM 269 H1 HOH A 90 21.103 25.320 43.938 1.00 0.00 H +HETATM 270 H2 HOH A 90 22.026 25.882 44.999 1.00 0.00 H +HETATM 271 O HOH A 91 0.427 32.871 38.868 1.00 0.00 O +HETATM 272 H1 HOH A 91 0.998 33.597 38.616 1.00 0.00 H +HETATM 273 H2 HOH A 91 0.003 32.604 38.054 1.00 0.00 H +HETATM 274 O HOH A 92 49.217 30.965 18.351 1.00 0.00 O +HETATM 275 H1 HOH A 92 49.378 30.404 17.592 1.00 0.00 H +HETATM 276 H2 HOH A 92 48.768 31.730 17.994 1.00 0.00 H +HETATM 277 O HOH A 93 25.706 7.944 23.915 1.00 0.00 O +HETATM 278 H1 HOH A 93 26.560 7.688 24.263 1.00 0.00 H +HETATM 279 H2 HOH A 93 25.078 7.409 24.397 1.00 0.00 H +HETATM 280 O HOH A 94 1.609 42.292 37.577 1.00 0.00 O +HETATM 281 H1 HOH A 94 1.026 41.831 38.181 1.00 0.00 H +HETATM 282 H2 HOH A 94 2.485 42.149 37.931 1.00 0.00 H +HETATM 283 O HOH A 95 20.995 43.565 32.784 1.00 0.00 O +HETATM 284 H1 HOH A 95 20.286 43.882 33.344 1.00 0.00 H +HETATM 285 H2 HOH A 95 21.431 42.892 33.304 1.00 0.00 H +HETATM 286 O HOH A 96 31.514 3.565 5.591 1.00 0.00 O +HETATM 287 H1 HOH A 96 31.494 4.522 5.578 1.00 0.00 H +HETATM 288 H2 HOH A 96 30.612 3.307 5.770 1.00 0.00 H +HETATM 289 O HOH A 97 38.892 31.994 3.332 1.00 0.00 O +HETATM 290 H1 HOH A 97 38.892 32.717 2.705 1.00 0.00 H +HETATM 291 H2 HOH A 97 39.718 31.540 3.178 1.00 0.00 H +HETATM 292 O HOH A 98 30.446 33.862 11.753 1.00 0.00 O +HETATM 293 H1 HOH A 98 31.336 34.106 11.499 1.00 0.00 H +HETATM 294 H2 HOH A 98 30.510 33.648 12.682 1.00 0.00 H +HETATM 295 O HOH A 99 20.091 47.050 42.681 1.00 0.00 O +HETATM 296 H1 HOH A 99 19.353 47.461 42.231 1.00 0.00 H +HETATM 297 H2 HOH A 99 20.324 46.305 42.130 1.00 0.00 H +HETATM 298 O HOH A 100 14.273 31.618 29.238 1.00 0.00 O +HETATM 299 H1 HOH A 100 14.599 30.727 29.116 1.00 0.00 H +HETATM 300 H2 HOH A 100 14.952 32.057 29.747 1.00 0.00 H +HETATM 301 O HOH A 101 38.422 40.348 29.570 1.00 0.00 O +HETATM 302 H1 HOH A 101 39.052 39.635 29.458 1.00 0.00 H +HETATM 303 H2 HOH A 101 38.951 41.143 29.548 1.00 0.00 H +HETATM 304 O HOH A 102 7.507 47.780 9.342 1.00 0.00 O +HETATM 305 H1 HOH A 102 7.159 48.577 8.942 1.00 0.00 H +HETATM 306 H2 HOH A 102 7.977 47.340 8.636 1.00 0.00 H +HETATM 307 O HOH A 103 16.880 25.590 41.072 1.00 0.00 O +HETATM 308 H1 HOH A 103 17.419 25.940 40.362 1.00 0.00 H +HETATM 309 H2 HOH A 103 16.080 25.293 40.644 1.00 0.00 H +HETATM 310 O HOH A 104 27.531 1.908 35.206 1.00 0.00 O +HETATM 311 H1 HOH A 104 28.133 2.044 35.938 1.00 0.00 H +HETATM 312 H2 HOH A 104 26.698 2.265 35.509 1.00 0.00 H +HETATM 313 O HOH A 105 18.598 9.178 45.643 1.00 0.00 O +HETATM 314 H1 HOH A 105 18.553 8.792 46.518 1.00 0.00 H +HETATM 315 H2 HOH A 105 19.004 10.033 45.776 1.00 0.00 H +HETATM 316 O HOH A 106 35.802 8.011 11.689 1.00 0.00 O +HETATM 317 H1 HOH A 106 36.071 8.630 12.368 1.00 0.00 H +HETATM 318 H2 HOH A 106 36.581 7.892 11.148 1.00 0.00 H +HETATM 319 O HOH A 107 5.967 41.290 20.414 1.00 0.00 O +HETATM 320 H1 HOH A 107 5.324 40.621 20.181 1.00 0.00 H +HETATM 321 H2 HOH A 107 5.910 41.935 19.712 1.00 0.00 H +HETATM 322 O HOH A 108 7.595 18.776 47.511 1.00 0.00 O +HETATM 323 H1 HOH A 108 7.337 19.119 48.367 1.00 0.00 H +HETATM 324 H2 HOH A 108 8.057 17.963 47.706 1.00 0.00 H +HETATM 325 O HOH A 109 27.414 33.262 9.719 1.00 0.00 O +HETATM 326 H1 HOH A 109 26.718 33.338 10.373 1.00 0.00 H +HETATM 327 H2 HOH A 109 27.732 32.366 9.808 1.00 0.00 H +HETATM 328 O HOH A 110 14.293 34.508 44.917 1.00 0.00 O +HETATM 329 H1 HOH A 110 13.783 33.838 44.461 1.00 0.00 H +HETATM 330 H2 HOH A 110 15.090 34.059 45.193 1.00 0.00 H +HETATM 331 O HOH A 111 4.375 30.138 15.856 1.00 0.00 O +HETATM 332 H1 HOH A 111 4.898 30.914 16.059 1.00 0.00 H +HETATM 333 H2 HOH A 111 4.968 29.567 15.372 1.00 0.00 H +HETATM 334 O HOH A 112 44.428 30.610 4.467 1.00 0.00 O +HETATM 335 H1 HOH A 112 44.480 30.632 3.511 1.00 0.00 H +HETATM 336 H2 HOH A 112 45.289 30.900 4.763 1.00 0.00 H +HETATM 337 O HOH A 113 46.672 22.349 36.545 1.00 0.00 O +HETATM 338 H1 HOH A 113 46.225 23.169 36.334 1.00 0.00 H +HETATM 339 H2 HOH A 113 47.272 22.206 35.815 1.00 0.00 H +HETATM 340 O HOH A 114 20.688 38.088 21.293 1.00 0.00 O +HETATM 341 H1 HOH A 114 21.467 37.833 20.799 1.00 0.00 H +HETATM 342 H2 HOH A 114 20.980 38.125 22.202 1.00 0.00 H +HETATM 343 O HOH A 115 14.919 39.637 48.870 1.00 0.00 O +HETATM 344 H1 HOH A 115 14.463 40.350 48.422 1.00 0.00 H +HETATM 345 H2 HOH A 115 15.575 39.338 48.244 1.00 0.00 H +HETATM 346 O HOH A 116 5.498 15.531 41.933 1.00 0.00 O +HETATM 347 H1 HOH A 116 4.944 15.058 42.554 1.00 0.00 H +HETATM 348 H2 HOH A 116 6.381 15.452 42.289 1.00 0.00 H +HETATM 349 O HOH A 117 11.622 13.254 49.280 1.00 0.00 O +HETATM 350 H1 HOH A 117 11.424 12.793 48.465 1.00 0.00 H +HETATM 351 H2 HOH A 117 10.790 13.642 49.546 1.00 0.00 H +HETATM 352 O HOH A 118 31.956 15.269 12.934 1.00 0.00 O +HETATM 353 H1 HOH A 118 32.097 14.348 13.151 1.00 0.00 H +HETATM 354 H2 HOH A 118 32.782 15.698 13.150 1.00 0.00 H +HETATM 355 O HOH A 119 22.286 23.872 39.145 1.00 0.00 O +HETATM 356 H1 HOH A 119 23.042 23.531 39.623 1.00 0.00 H +HETATM 357 H2 HOH A 119 22.522 23.782 38.223 1.00 0.00 H +HETATM 358 O HOH A 120 11.045 43.884 36.405 1.00 0.00 O +HETATM 359 H1 HOH A 120 11.107 43.563 37.305 1.00 0.00 H +HETATM 360 H2 HOH A 120 10.896 43.101 35.879 1.00 0.00 H +HETATM 361 O HOH A 121 22.992 7.941 1.949 1.00 0.00 O +HETATM 362 H1 HOH A 121 22.504 7.247 1.506 1.00 0.00 H +HETATM 363 H2 HOH A 121 22.578 8.751 1.655 1.00 0.00 H +HETATM 364 O HOH A 122 5.889 34.711 37.399 1.00 0.00 O +HETATM 365 H1 HOH A 122 5.072 34.218 37.478 1.00 0.00 H +HETATM 366 H2 HOH A 122 5.884 35.044 36.503 1.00 0.00 H +HETATM 367 O HOH A 123 47.497 36.247 46.703 1.00 0.00 O +HETATM 368 H1 HOH A 123 47.488 36.859 45.966 1.00 0.00 H +HETATM 369 H2 HOH A 123 47.618 35.388 46.302 1.00 0.00 H +HETATM 370 O HOH A 124 40.451 48.946 44.772 1.00 0.00 O +HETATM 371 H1 HOH A 124 41.223 49.293 44.325 1.00 0.00 H +HETATM 372 H2 HOH A 124 39.712 49.247 44.246 1.00 0.00 H +HETATM 373 O HOH A 125 16.433 42.097 39.528 1.00 0.00 O +HETATM 374 H1 HOH A 125 16.730 41.559 38.794 1.00 0.00 H +HETATM 375 H2 HOH A 125 16.062 41.473 40.149 1.00 0.00 H +HETATM 376 O HOH A 126 31.541 38.601 7.207 1.00 0.00 O +HETATM 377 H1 HOH A 126 32.086 38.464 6.431 1.00 0.00 H +HETATM 378 H2 HOH A 126 30.841 37.956 7.128 1.00 0.00 H +HETATM 379 O HOH A 127 0.612 37.295 6.270 1.00 0.00 O +HETATM 380 H1 HOH A 127 0.905 37.597 5.410 1.00 0.00 H +HETATM 381 H2 HOH A 127 0.055 38.000 6.596 1.00 0.00 H +HETATM 382 O HOH A 128 46.443 12.298 5.973 1.00 0.00 O +HETATM 383 H1 HOH A 128 46.958 12.424 6.770 1.00 0.00 H +HETATM 384 H2 HOH A 128 45.535 12.379 6.257 1.00 0.00 H +HETATM 385 O HOH A 129 47.549 23.231 47.613 1.00 0.00 O +HETATM 386 H1 HOH A 129 48.268 22.632 47.412 1.00 0.00 H +HETATM 387 H2 HOH A 129 47.188 23.469 46.760 1.00 0.00 H +HETATM 388 O HOH A 130 38.046 16.133 27.846 1.00 0.00 O +HETATM 389 H1 HOH A 130 38.703 16.784 28.091 1.00 0.00 H +HETATM 390 H2 HOH A 130 37.299 16.319 28.412 1.00 0.00 H +HETATM 391 O HOH A 131 21.243 24.954 15.010 1.00 0.00 O +HETATM 392 H1 HOH A 131 21.504 25.816 14.687 1.00 0.00 H +HETATM 393 H2 HOH A 131 21.727 24.336 14.464 1.00 0.00 H +HETATM 394 O HOH A 132 6.098 0.851 4.968 1.00 0.00 O +HETATM 395 H1 HOH A 132 5.664 0.005 5.081 1.00 0.00 H +HETATM 396 H2 HOH A 132 5.702 1.222 4.181 1.00 0.00 H +HETATM 397 O HOH A 133 35.004 49.306 48.884 1.00 0.00 O +HETATM 398 H1 HOH A 133 35.905 49.042 48.698 1.00 0.00 H +HETATM 399 H2 HOH A 133 34.818 49.995 48.249 1.00 0.00 H +HETATM 400 O HOH A 134 41.038 31.736 7.277 1.00 0.00 O +HETATM 401 H1 HOH A 134 41.633 32.058 7.954 1.00 0.00 H +HETATM 402 H2 HOH A 134 40.168 31.995 7.577 1.00 0.00 H +HETATM 403 O HOH A 135 26.669 36.906 6.867 1.00 0.00 O +HETATM 404 H1 HOH A 135 25.717 36.997 6.829 1.00 0.00 H +HETATM 405 H2 HOH A 135 26.855 36.108 6.376 1.00 0.00 H +HETATM 406 O HOH A 136 21.380 16.109 7.514 1.00 0.00 O +HETATM 407 H1 HOH A 136 22.215 15.786 7.852 1.00 0.00 H +HETATM 408 H2 HOH A 136 21.342 15.789 6.615 1.00 0.00 H +HETATM 409 O HOH A 137 46.839 3.073 42.554 1.00 0.00 O +HETATM 410 H1 HOH A 137 46.920 3.851 43.105 1.00 0.00 H +HETATM 411 H2 HOH A 137 47.730 2.734 42.481 1.00 0.00 H +HETATM 412 O HOH A 138 16.644 32.128 47.096 1.00 0.00 O +HETATM 413 H1 HOH A 138 15.724 32.210 47.349 1.00 0.00 H +HETATM 414 H2 HOH A 138 17.117 32.069 47.924 1.00 0.00 H +HETATM 415 O HOH A 139 16.403 48.566 28.807 1.00 0.00 O +HETATM 416 H1 HOH A 139 16.918 48.625 29.612 1.00 0.00 H +HETATM 417 H2 HOH A 139 16.065 47.672 28.802 1.00 0.00 H +HETATM 418 O HOH A 140 5.299 25.530 19.192 1.00 0.00 O +HETATM 419 H1 HOH A 140 5.558 25.981 19.995 1.00 0.00 H +HETATM 420 H2 HOH A 140 4.484 25.085 19.417 1.00 0.00 H +HETATM 421 O HOH A 141 18.139 29.710 0.636 1.00 0.00 O +HETATM 422 H1 HOH A 141 18.427 30.299 1.333 1.00 0.00 H +HETATM 423 H2 HOH A 141 18.947 29.406 0.227 1.00 0.00 H +HETATM 424 O HOH A 142 48.630 38.232 31.076 1.00 0.00 O +HETATM 425 H1 HOH A 142 47.989 38.511 31.730 1.00 0.00 H +HETATM 426 H2 HOH A 142 48.111 37.810 30.394 1.00 0.00 H +HETATM 427 O HOH A 143 44.693 31.708 7.745 1.00 0.00 O +HETATM 428 H1 HOH A 143 43.961 31.504 7.163 1.00 0.00 H +HETATM 429 H2 HOH A 143 45.003 32.563 7.452 1.00 0.00 H +HETATM 430 O HOH A 144 44.045 8.301 26.038 1.00 0.00 O +HETATM 431 H1 HOH A 144 43.385 8.786 26.534 1.00 0.00 H +HETATM 432 H2 HOH A 144 43.700 8.266 25.147 1.00 0.00 H +HETATM 433 O HOH A 145 2.437 23.621 30.311 1.00 0.00 O +HETATM 434 H1 HOH A 145 2.809 23.674 31.192 1.00 0.00 H +HETATM 435 H2 HOH A 145 3.188 23.470 29.741 1.00 0.00 H +HETATM 436 O HOH A 146 32.696 21.306 12.777 1.00 0.00 O +HETATM 437 H1 HOH A 146 31.747 21.201 12.696 1.00 0.00 H +HETATM 438 H2 HOH A 146 32.835 22.251 12.766 1.00 0.00 H +HETATM 439 O HOH A 147 9.841 15.239 15.184 1.00 0.00 O +HETATM 440 H1 HOH A 147 10.627 15.723 14.930 1.00 0.00 H +HETATM 441 H2 HOH A 147 9.147 15.599 14.635 1.00 0.00 H +HETATM 442 O HOH A 148 38.483 44.372 36.216 1.00 0.00 O +HETATM 443 H1 HOH A 148 38.996 43.818 36.805 1.00 0.00 H +HETATM 444 H2 HOH A 148 38.715 45.265 36.460 1.00 0.00 H +HETATM 445 O HOH A 149 23.546 29.948 49.958 1.00 0.00 O +HETATM 446 H1 HOH A 149 22.849 29.881 49.305 1.00 0.00 H +HETATM 447 H2 HOH A 149 23.997 30.764 49.748 1.00 0.00 H +HETATM 448 O HOH A 150 32.581 40.735 7.418 1.00 0.00 O +HETATM 449 H1 HOH A 150 32.644 40.750 8.373 1.00 0.00 H +HETATM 450 H2 HOH A 150 31.833 41.294 7.216 1.00 0.00 H +HETATM 451 O HOH A 151 11.491 49.695 21.664 1.00 0.00 O +HETATM 452 H1 HOH A 151 11.081 49.877 20.818 1.00 0.00 H +HETATM 453 H2 HOH A 151 10.881 49.108 22.107 1.00 0.00 H +HETATM 454 O HOH A 152 42.077 18.402 9.716 1.00 0.00 O +HETATM 455 H1 HOH A 152 41.765 18.746 8.879 1.00 0.00 H +HETATM 456 H2 HOH A 152 43.003 18.216 9.570 1.00 0.00 H +HETATM 457 O HOH A 153 9.811 32.811 21.913 1.00 0.00 O +HETATM 458 H1 HOH A 153 8.998 32.374 21.661 1.00 0.00 H +HETATM 459 H2 HOH A 153 9.858 33.580 21.347 1.00 0.00 H +HETATM 460 O HOH A 154 31.511 3.291 2.057 1.00 0.00 O +HETATM 461 H1 HOH A 154 32.047 2.498 2.016 1.00 0.00 H +HETATM 462 H2 HOH A 154 32.012 3.945 1.574 1.00 0.00 H +HETATM 463 O HOH A 155 30.609 34.589 32.551 1.00 0.00 O +HETATM 464 H1 HOH A 155 29.844 34.976 32.126 1.00 0.00 H +HETATM 465 H2 HOH A 155 31.355 34.921 32.056 1.00 0.00 H +HETATM 466 O HOH A 156 33.475 41.242 16.494 1.00 0.00 O +HETATM 467 H1 HOH A 156 34.136 40.925 15.879 1.00 0.00 H +HETATM 468 H2 HOH A 156 32.680 41.330 15.972 1.00 0.00 H +HETATM 469 O HOH A 157 37.770 16.970 40.700 1.00 0.00 O +HETATM 470 H1 HOH A 157 38.390 16.990 39.971 1.00 0.00 H +HETATM 471 H2 HOH A 157 38.181 16.406 41.353 1.00 0.00 H +HETATM 472 O HOH A 158 20.332 8.906 24.932 1.00 0.00 O +HETATM 473 H1 HOH A 158 20.661 8.529 24.116 1.00 0.00 H +HETATM 474 H2 HOH A 158 21.026 9.494 25.224 1.00 0.00 H +HETATM 475 O HOH A 159 19.913 40.848 43.124 1.00 0.00 O +HETATM 476 H1 HOH A 159 19.615 39.968 43.358 1.00 0.00 H +HETATM 477 H2 HOH A 159 20.571 40.707 42.445 1.00 0.00 H +HETATM 478 O HOH A 160 34.903 15.713 44.966 1.00 0.00 O +HETATM 479 H1 HOH A 160 35.157 14.856 45.309 1.00 0.00 H +HETATM 480 H2 HOH A 160 35.256 16.339 45.596 1.00 0.00 H +HETATM 481 O HOH A 161 16.756 4.892 32.410 1.00 0.00 O +HETATM 482 H1 HOH A 161 17.588 4.435 32.531 1.00 0.00 H +HETATM 483 H2 HOH A 161 16.267 4.346 31.797 1.00 0.00 H +HETATM 484 O HOH A 162 20.926 29.788 22.021 1.00 0.00 O +HETATM 485 H1 HOH A 162 20.371 29.944 22.785 1.00 0.00 H +HETATM 486 H2 HOH A 162 20.506 29.065 21.560 1.00 0.00 H +HETATM 487 O HOH A 163 46.571 5.620 8.627 1.00 0.00 O +HETATM 488 H1 HOH A 163 45.774 6.150 8.622 1.00 0.00 H +HETATM 489 H2 HOH A 163 46.344 4.838 8.126 1.00 0.00 H +HETATM 490 O HOH A 164 27.339 13.897 10.465 1.00 0.00 O +HETATM 491 H1 HOH A 164 26.823 13.481 9.773 1.00 0.00 H +HETATM 492 H2 HOH A 164 27.585 14.747 10.105 1.00 0.00 H +HETATM 493 O HOH A 165 31.281 11.457 16.843 1.00 0.00 O +HETATM 494 H1 HOH A 165 31.381 12.270 17.339 1.00 0.00 H +HETATM 495 H2 HOH A 165 30.456 11.086 17.152 1.00 0.00 H +HETATM 496 O HOH A 166 11.629 43.905 25.743 1.00 0.00 O +HETATM 497 H1 HOH A 166 11.144 44.318 25.029 1.00 0.00 H +HETATM 498 H2 HOH A 166 12.297 44.544 25.983 1.00 0.00 H +HETATM 499 O HOH A 167 27.593 49.424 46.476 1.00 0.00 O +HETATM 500 H1 HOH A 167 26.866 49.956 46.800 1.00 0.00 H +HETATM 501 H2 HOH A 167 28.221 49.409 47.196 1.00 0.00 H +HETATM 502 O HOH A 168 7.488 38.316 1.522 1.00 0.00 O +HETATM 503 H1 HOH A 168 8.039 37.540 1.632 1.00 0.00 H +HETATM 504 H2 HOH A 168 8.098 39.051 1.544 1.00 0.00 H +HETATM 505 O HOH A 169 27.930 3.077 22.804 1.00 0.00 O +HETATM 506 H1 HOH A 169 26.987 2.957 22.693 1.00 0.00 H +HETATM 507 H2 HOH A 169 28.318 2.674 22.029 1.00 0.00 H +HETATM 508 O HOH A 170 22.588 29.803 25.328 1.00 0.00 O +HETATM 509 H1 HOH A 170 21.955 30.513 25.222 1.00 0.00 H +HETATM 510 H2 HOH A 170 22.778 29.786 26.264 1.00 0.00 H +HETATM 511 O HOH A 171 25.079 2.225 6.224 1.00 0.00 O +HETATM 512 H1 HOH A 171 24.301 2.512 5.746 1.00 0.00 H +HETATM 513 H2 HOH A 171 25.796 2.730 5.844 1.00 0.00 H +HETATM 514 O HOH A 172 43.046 26.916 5.457 1.00 0.00 O +HETATM 515 H1 HOH A 172 43.690 26.899 6.164 1.00 0.00 H +HETATM 516 H2 HOH A 172 42.805 26.001 5.327 1.00 0.00 H +HETATM 517 O HOH A 173 42.017 2.030 33.274 1.00 0.00 O +HETATM 518 H1 HOH A 173 41.953 2.026 32.319 1.00 0.00 H +HETATM 519 H2 HOH A 173 41.156 1.744 33.575 1.00 0.00 H +HETATM 520 O HOH A 174 38.595 41.652 23.812 1.00 0.00 O +HETATM 521 H1 HOH A 174 38.786 40.916 23.230 1.00 0.00 H +HETATM 522 H2 HOH A 174 37.846 42.089 23.411 1.00 0.00 H +HETATM 523 O HOH A 175 16.200 44.305 42.349 1.00 0.00 O +HETATM 524 H1 HOH A 175 15.472 44.103 42.937 1.00 0.00 H +HETATM 525 H2 HOH A 175 15.925 45.096 41.888 1.00 0.00 H +HETATM 526 O HOH A 176 4.993 29.996 4.393 1.00 0.00 O +HETATM 527 H1 HOH A 176 5.739 29.751 4.940 1.00 0.00 H +HETATM 528 H2 HOH A 176 5.380 30.247 3.556 1.00 0.00 H +HETATM 529 O HOH A 177 3.473 49.333 39.885 1.00 0.00 O +HETATM 530 H1 HOH A 177 4.355 49.360 40.256 1.00 0.00 H +HETATM 531 H2 HOH A 177 2.983 49.988 40.379 1.00 0.00 H +HETATM 532 O HOH A 178 14.655 12.992 2.773 1.00 0.00 O +HETATM 533 H1 HOH A 178 15.231 13.741 2.929 1.00 0.00 H +HETATM 534 H2 HOH A 178 13.786 13.299 3.023 1.00 0.00 H +HETATM 535 O HOH A 179 43.176 23.824 5.206 1.00 0.00 O +HETATM 536 H1 HOH A 179 42.999 22.997 5.654 1.00 0.00 H +HETATM 537 H2 HOH A 179 42.849 23.693 4.318 1.00 0.00 H +HETATM 538 O HOH A 180 5.085 4.543 3.763 1.00 0.00 O +HETATM 539 H1 HOH A 180 4.738 5.299 4.237 1.00 0.00 H +HETATM 540 H2 HOH A 180 4.670 3.788 4.177 1.00 0.00 H +HETATM 541 O HOH A 181 49.920 46.860 39.697 1.00 0.00 O +HETATM 542 H1 HOH A 181 49.453 47.197 40.462 1.00 0.00 H +HETATM 543 H2 HOH A 181 49.996 45.921 39.854 1.00 0.00 H +HETATM 544 O HOH A 182 13.467 6.961 32.688 1.00 0.00 O +HETATM 545 H1 HOH A 182 13.391 6.127 32.225 1.00 0.00 H +HETATM 546 H2 HOH A 182 12.870 7.548 32.226 1.00 0.00 H +HETATM 547 O HOH A 183 32.681 32.570 2.170 1.00 0.00 O +HETATM 548 H1 HOH A 183 31.816 32.673 2.568 1.00 0.00 H +HETATM 549 H2 HOH A 183 32.524 32.639 1.231 1.00 0.00 H +HETATM 550 O HOH A 184 30.853 7.823 25.435 1.00 0.00 O +HETATM 551 H1 HOH A 184 30.277 7.067 25.320 1.00 0.00 H +HETATM 552 H2 HOH A 184 30.466 8.313 26.158 1.00 0.00 H +HETATM 553 O HOH A 185 1.430 4.582 47.854 1.00 0.00 O +HETATM 554 H1 HOH A 185 0.995 5.062 48.559 1.00 0.00 H +HETATM 555 H2 HOH A 185 1.201 3.667 48.008 1.00 0.00 H +HETATM 556 O HOH A 186 30.226 37.405 24.165 1.00 0.00 O +HETATM 557 H1 HOH A 186 29.723 36.592 24.217 1.00 0.00 H +HETATM 558 H2 HOH A 186 31.136 37.134 24.271 1.00 0.00 H +HETATM 559 O HOH A 187 22.862 37.691 5.296 1.00 0.00 O +HETATM 560 H1 HOH A 187 23.478 37.523 6.010 1.00 0.00 H +HETATM 561 H2 HOH A 187 22.556 38.583 5.447 1.00 0.00 H +HETATM 562 O HOH A 188 40.674 39.983 41.945 1.00 0.00 O +HETATM 563 H1 HOH A 188 39.952 39.551 41.488 1.00 0.00 H +HETATM 564 H2 HOH A 188 40.717 40.855 41.557 1.00 0.00 H +HETATM 565 O HOH A 189 11.523 0.251 34.418 1.00 0.00 O +HETATM 566 H1 HOH A 189 11.552 1.203 34.523 1.00 0.00 H +HETATM 567 H2 HOH A 189 12.332 0.034 33.959 1.00 0.00 H +HETATM 568 O HOH A 190 1.773 22.373 3.296 1.00 0.00 O +HETATM 569 H1 HOH A 190 2.003 21.712 3.949 1.00 0.00 H +HETATM 570 H2 HOH A 190 2.171 23.179 3.617 1.00 0.00 H +HETATM 571 O HOH A 191 48.516 26.257 29.814 1.00 0.00 O +HETATM 572 H1 HOH A 191 49.335 26.730 29.959 1.00 0.00 H +HETATM 573 H2 HOH A 191 47.838 26.929 29.864 1.00 0.00 H +HETATM 574 O HOH A 192 48.953 31.403 4.436 1.00 0.00 O +HETATM 575 H1 HOH A 192 48.478 32.172 4.118 1.00 0.00 H +HETATM 576 H2 HOH A 192 49.079 30.860 3.660 1.00 0.00 H +HETATM 577 O HOH A 193 9.456 5.978 43.179 1.00 0.00 O +HETATM 578 H1 HOH A 193 8.979 6.259 43.960 1.00 0.00 H +HETATM 579 H2 HOH A 193 9.297 6.669 42.539 1.00 0.00 H +HETATM 580 O HOH A 194 31.701 9.900 37.973 1.00 0.00 O +HETATM 581 H1 HOH A 194 31.991 10.601 38.557 1.00 0.00 H +HETATM 582 H2 HOH A 194 30.793 9.739 38.221 1.00 0.00 H +HETATM 583 O HOH A 195 28.190 36.953 9.904 1.00 0.00 O +HETATM 584 H1 HOH A 195 27.972 37.357 9.064 1.00 0.00 H +HETATM 585 H2 HOH A 195 28.220 37.682 10.521 1.00 0.00 H +HETATM 586 O HOH A 196 17.262 25.041 12.174 1.00 0.00 O +HETATM 587 H1 HOH A 196 17.569 24.489 11.455 1.00 0.00 H +HETATM 588 H2 HOH A 196 16.388 25.321 11.908 1.00 0.00 H +HETATM 589 O HOH A 197 39.014 22.758 12.611 1.00 0.00 O +HETATM 590 H1 HOH A 197 39.097 22.274 11.789 1.00 0.00 H +HETATM 591 H2 HOH A 197 38.732 22.105 13.249 1.00 0.00 H +HETATM 592 O HOH A 198 39.306 24.018 2.933 1.00 0.00 O +HETATM 593 H1 HOH A 198 39.429 23.069 2.976 1.00 0.00 H +HETATM 594 H2 HOH A 198 38.692 24.150 2.213 1.00 0.00 H +HETATM 595 O HOH A 199 28.771 49.695 4.931 1.00 0.00 O +HETATM 596 H1 HOH A 199 29.215 49.569 5.770 1.00 0.00 H +HETATM 597 H2 HOH A 199 27.896 50.000 5.165 1.00 0.00 H +HETATM 598 O HOH A 200 10.530 26.023 15.999 1.00 0.00 O +HETATM 599 H1 HOH A 200 9.654 26.032 15.614 1.00 0.00 H +HETATM 600 H2 HOH A 200 10.936 26.832 15.695 1.00 0.00 H +HETATM 601 O HOH A 201 24.417 25.009 1.612 1.00 0.00 O +HETATM 602 H1 HOH A 201 24.564 25.877 1.235 1.00 0.00 H +HETATM 603 H2 HOH A 201 23.681 25.127 2.209 1.00 0.00 H +HETATM 604 O HOH A 202 9.546 41.461 48.203 1.00 0.00 O +HETATM 605 H1 HOH A 202 9.050 41.833 48.933 1.00 0.00 H +HETATM 606 H2 HOH A 202 9.653 40.539 48.429 1.00 0.00 H +HETATM 607 O HOH A 203 16.056 32.958 11.056 1.00 0.00 O +HETATM 608 H1 HOH A 203 15.565 32.495 10.378 1.00 0.00 H +HETATM 609 H2 HOH A 203 15.984 33.881 10.818 1.00 0.00 H +HETATM 610 O HOH A 204 10.169 24.718 30.067 1.00 0.00 O +HETATM 611 H1 HOH A 204 9.679 24.897 29.265 1.00 0.00 H +HETATM 612 H2 HOH A 204 10.010 23.793 30.247 1.00 0.00 H +HETATM 613 O HOH A 205 49.646 43.995 44.122 1.00 0.00 O +HETATM 614 H1 HOH A 205 49.398 44.688 44.735 1.00 0.00 H +HETATM 615 H2 HOH A 205 49.244 43.204 44.476 1.00 0.00 H +HETATM 616 O HOH A 206 23.292 31.088 29.956 1.00 0.00 O +HETATM 617 H1 HOH A 206 23.270 31.292 29.021 1.00 0.00 H +HETATM 618 H2 HOH A 206 23.823 31.781 30.343 1.00 0.00 H +HETATM 619 O HOH A 207 21.321 4.258 15.291 1.00 0.00 O +HETATM 620 H1 HOH A 207 21.469 3.639 14.575 1.00 0.00 H +HETATM 621 H2 HOH A 207 20.633 4.837 14.970 1.00 0.00 H +HETATM 622 O HOH A 208 45.943 25.910 40.486 1.00 0.00 O +HETATM 623 H1 HOH A 208 45.493 26.516 39.897 1.00 0.00 H +HETATM 624 H2 HOH A 208 46.835 25.862 40.147 1.00 0.00 H +HETATM 625 O HOH A 209 23.763 21.646 21.049 1.00 0.00 O +HETATM 626 H1 HOH A 209 24.190 22.500 21.120 1.00 0.00 H +HETATM 627 H2 HOH A 209 24.428 21.073 20.673 1.00 0.00 H +HETATM 628 O HOH A 210 20.855 27.815 1.501 1.00 0.00 O +HETATM 629 H1 HOH A 210 21.576 27.617 2.099 1.00 0.00 H +HETATM 630 H2 HOH A 210 20.284 28.399 1.997 1.00 0.00 H +HETATM 631 O HOH A 211 24.108 37.417 9.267 1.00 0.00 O +HETATM 632 H1 HOH A 211 23.281 37.370 8.786 1.00 0.00 H +HETATM 633 H2 HOH A 211 24.117 38.293 9.648 1.00 0.00 H +HETATM 634 O HOH A 212 25.984 3.490 13.636 1.00 0.00 O +HETATM 635 H1 HOH A 212 25.368 2.881 14.043 1.00 0.00 H +HETATM 636 H2 HOH A 212 26.045 3.201 12.727 1.00 0.00 H +HETATM 637 O HOH A 213 3.720 24.943 2.909 1.00 0.00 O +HETATM 638 H1 HOH A 213 3.252 24.515 2.192 1.00 0.00 H +HETATM 639 H2 HOH A 213 4.124 24.227 3.396 1.00 0.00 H +HETATM 640 O HOH A 214 20.947 49.086 28.589 1.00 0.00 O +HETATM 641 H1 HOH A 214 20.279 49.751 28.758 1.00 0.00 H +HETATM 642 H2 HOH A 214 20.502 48.424 28.064 1.00 0.00 H +HETATM 643 O HOH A 215 47.409 30.486 45.729 1.00 0.00 O +HETATM 644 H1 HOH A 215 47.339 30.757 46.645 1.00 0.00 H +HETATM 645 H2 HOH A 215 48.072 29.799 45.731 1.00 0.00 H +HETATM 646 O HOH A 216 3.064 33.066 35.397 1.00 0.00 O +HETATM 647 H1 HOH A 216 3.249 33.762 34.766 1.00 0.00 H +HETATM 648 H2 HOH A 216 3.227 33.464 36.250 1.00 0.00 H +HETATM 649 O HOH A 217 41.111 49.499 25.079 1.00 0.00 O +HETATM 650 H1 HOH A 217 41.237 48.558 24.953 1.00 0.00 H +HETATM 651 H2 HOH A 217 41.645 49.715 25.841 1.00 0.00 H +HETATM 652 O HOH A 218 40.002 42.842 31.581 1.00 0.00 O +HETATM 653 H1 HOH A 218 40.050 43.663 32.072 1.00 0.00 H +HETATM 654 H2 HOH A 218 40.430 42.199 32.143 1.00 0.00 H +HETATM 655 O HOH A 219 11.100 16.528 7.630 1.00 0.00 O +HETATM 656 H1 HOH A 219 11.530 15.922 7.025 1.00 0.00 H +HETATM 657 H2 HOH A 219 10.643 17.149 7.066 1.00 0.00 H +HETATM 658 O HOH A 220 8.327 19.626 37.582 1.00 0.00 O +HETATM 659 H1 HOH A 220 8.540 20.009 36.731 1.00 0.00 H +HETATM 660 H2 HOH A 220 9.174 19.412 37.969 1.00 0.00 H +HETATM 661 O HOH A 221 8.611 32.444 38.427 1.00 0.00 O +HETATM 662 H1 HOH A 221 9.386 32.371 38.985 1.00 0.00 H +HETATM 663 H2 HOH A 221 8.647 33.333 38.079 1.00 0.00 H +HETATM 664 O HOH A 222 32.992 13.476 19.962 1.00 0.00 O +HETATM 665 H1 HOH A 222 32.991 12.665 20.470 1.00 0.00 H +HETATM 666 H2 HOH A 222 33.589 14.055 20.432 1.00 0.00 H +HETATM 667 O HOH A 223 46.724 33.958 21.015 1.00 0.00 O +HETATM 668 H1 HOH A 223 46.679 34.356 20.146 1.00 0.00 H +HETATM 669 H2 HOH A 223 47.567 33.508 21.031 1.00 0.00 H +HETATM 670 O HOH A 224 7.194 33.808 26.261 1.00 0.00 O +HETATM 671 H1 HOH A 224 6.240 33.873 26.214 1.00 0.00 H +HETATM 672 H2 HOH A 224 7.366 32.878 26.397 1.00 0.00 H +HETATM 673 O HOH A 225 8.135 41.762 30.866 1.00 0.00 O +HETATM 674 H1 HOH A 225 7.579 42.479 30.560 1.00 0.00 H +HETATM 675 H2 HOH A 225 7.586 41.276 31.478 1.00 0.00 H +HETATM 676 O HOH A 226 24.786 22.809 15.681 1.00 0.00 O +HETATM 677 H1 HOH A 226 24.469 23.592 15.230 1.00 0.00 H +HETATM 678 H2 HOH A 226 24.570 22.088 15.092 1.00 0.00 H +HETATM 679 O HOH A 227 9.390 48.700 12.541 1.00 0.00 O +HETATM 680 H1 HOH A 227 9.275 49.316 13.266 1.00 0.00 H +HETATM 681 H2 HOH A 227 9.347 47.837 12.949 1.00 0.00 H +HETATM 682 O HOH A 228 26.651 37.376 44.836 1.00 0.00 O +HETATM 683 H1 HOH A 228 26.908 36.600 45.334 1.00 0.00 H +HETATM 684 H2 HOH A 228 26.316 37.033 44.009 1.00 0.00 H +HETATM 685 O HOH A 229 46.070 2.407 17.247 1.00 0.00 O +HETATM 686 H1 HOH A 229 46.868 2.492 16.724 1.00 0.00 H +HETATM 687 H2 HOH A 229 45.639 1.626 16.904 1.00 0.00 H +HETATM 688 O HOH A 230 42.495 37.411 21.587 1.00 0.00 O +HETATM 689 H1 HOH A 230 42.178 36.673 21.066 1.00 0.00 H +HETATM 690 H2 HOH A 230 41.703 37.869 21.864 1.00 0.00 H +HETATM 691 O HOH A 231 22.092 33.705 44.529 1.00 0.00 O +HETATM 692 H1 HOH A 231 22.847 33.380 45.019 1.00 0.00 H +HETATM 693 H2 HOH A 231 21.433 33.018 44.617 1.00 0.00 H +HETATM 694 O HOH A 232 15.949 3.189 21.628 1.00 0.00 O +HETATM 695 H1 HOH A 232 15.480 3.488 20.848 1.00 0.00 H +HETATM 696 H2 HOH A 232 16.826 3.556 21.538 1.00 0.00 H +HETATM 697 O HOH A 233 44.107 47.629 38.976 1.00 0.00 O +HETATM 698 H1 HOH A 233 44.552 48.455 39.166 1.00 0.00 H +HETATM 699 H2 HOH A 233 43.524 47.492 39.721 1.00 0.00 H +HETATM 700 O HOH A 234 49.993 33.094 37.445 1.00 0.00 O +HETATM 701 H1 HOH A 234 49.409 32.397 37.145 1.00 0.00 H +HETATM 702 H2 HOH A 234 49.769 33.847 36.901 1.00 0.00 H +HETATM 703 O HOH A 235 26.841 6.559 12.164 1.00 0.00 O +HETATM 704 H1 HOH A 235 26.902 7.283 11.540 1.00 0.00 H +HETATM 705 H2 HOH A 235 27.379 5.867 11.785 1.00 0.00 H +HETATM 706 O HOH A 236 49.478 25.544 32.415 1.00 0.00 O +HETATM 707 H1 HOH A 236 49.343 24.895 31.724 1.00 0.00 H +HETATM 708 H2 HOH A 236 50.000 26.230 32.004 1.00 0.00 H +HETATM 709 O HOH A 237 44.802 47.887 15.447 1.00 0.00 O +HETATM 710 H1 HOH A 237 45.029 47.292 14.733 1.00 0.00 H +HETATM 711 H2 HOH A 237 43.919 48.187 15.241 1.00 0.00 H +HETATM 712 O HOH A 238 36.338 36.398 26.144 1.00 0.00 O +HETATM 713 H1 HOH A 238 37.125 36.085 25.697 1.00 0.00 H +HETATM 714 H2 HOH A 238 36.497 36.215 27.068 1.00 0.00 H +HETATM 715 O HOH A 239 47.968 42.245 9.473 1.00 0.00 O +HETATM 716 H1 HOH A 239 47.845 41.299 9.556 1.00 0.00 H +HETATM 717 H2 HOH A 239 47.223 42.540 8.953 1.00 0.00 H +HETATM 718 O HOH A 240 0.920 2.386 6.555 1.00 0.00 O +HETATM 719 H1 HOH A 240 1.303 2.603 7.406 1.00 0.00 H +HETATM 720 H2 HOH A 240 0.553 3.208 6.239 1.00 0.00 H +HETATM 721 O HOH A 241 19.757 22.689 38.075 1.00 0.00 O +HETATM 722 H1 HOH A 241 20.100 23.185 37.331 1.00 0.00 H +HETATM 723 H2 HOH A 241 19.583 21.817 37.724 1.00 0.00 H +HETATM 724 O HOH A 242 4.961 16.536 25.784 1.00 0.00 O +HETATM 725 H1 HOH A 242 5.816 16.910 25.571 1.00 0.00 H +HETATM 726 H2 HOH A 242 4.821 15.862 25.122 1.00 0.00 H +HETATM 727 O HOH A 243 4.778 33.764 3.987 1.00 0.00 O +HETATM 728 H1 HOH A 243 5.297 34.388 3.479 1.00 0.00 H +HETATM 729 H2 HOH A 243 4.078 33.494 3.395 1.00 0.00 H +HETATM 730 O HOH A 244 40.482 45.841 25.384 1.00 0.00 O +HETATM 731 H1 HOH A 244 39.828 45.174 25.593 1.00 0.00 H +HETATM 732 H2 HOH A 244 40.047 46.672 25.565 1.00 0.00 H +HETATM 733 O HOH A 245 8.226 3.152 7.200 1.00 0.00 O +HETATM 734 H1 HOH A 245 9.004 2.595 7.202 1.00 0.00 H +HETATM 735 H2 HOH A 245 8.503 3.953 6.760 1.00 0.00 H +HETATM 736 O HOH A 246 16.814 36.361 43.840 1.00 0.00 O +HETATM 737 H1 HOH A 246 17.170 35.478 43.742 1.00 0.00 H +HETATM 738 H2 HOH A 246 17.411 36.796 44.446 1.00 0.00 H +HETATM 739 O HOH A 247 12.467 39.184 43.949 1.00 0.00 O +HETATM 740 H1 HOH A 247 11.670 39.482 43.510 1.00 0.00 H +HETATM 741 H2 HOH A 247 13.172 39.673 43.529 1.00 0.00 H +HETATM 742 O HOH A 248 45.796 46.573 8.069 1.00 0.00 O +HETATM 743 H1 HOH A 248 46.209 46.854 7.252 1.00 0.00 H +HETATM 744 H2 HOH A 248 45.911 45.625 8.084 1.00 0.00 H +HETATM 745 O HOH A 249 31.636 17.425 3.673 1.00 0.00 O +HETATM 746 H1 HOH A 249 32.420 16.883 3.761 1.00 0.00 H +HETATM 747 H2 HOH A 249 30.973 16.836 3.318 1.00 0.00 H +HETATM 748 O HOH A 250 33.046 2.496 20.363 1.00 0.00 O +HETATM 749 H1 HOH A 250 33.609 2.155 19.668 1.00 0.00 H +HETATM 750 H2 HOH A 250 32.305 1.894 20.391 1.00 0.00 H +HETATM 751 O HOH A 251 22.488 47.553 16.015 1.00 0.00 O +HETATM 752 H1 HOH A 251 22.762 47.379 15.114 1.00 0.00 H +HETATM 753 H2 HOH A 251 21.591 47.230 16.061 1.00 0.00 H +HETATM 754 O HOH A 252 32.223 48.328 19.335 1.00 0.00 O +HETATM 755 H1 HOH A 252 32.516 49.240 19.324 1.00 0.00 H +HETATM 756 H2 HOH A 252 32.680 47.937 20.078 1.00 0.00 H +HETATM 757 O HOH A 253 39.221 15.712 12.464 1.00 0.00 O +HETATM 758 H1 HOH A 253 39.487 16.070 11.617 1.00 0.00 H +HETATM 759 H2 HOH A 253 39.252 14.764 12.346 1.00 0.00 H +HETATM 760 O HOH A 254 49.371 12.566 25.498 1.00 0.00 O +HETATM 761 H1 HOH A 254 50.000 13.280 25.603 1.00 0.00 H +HETATM 762 H2 HOH A 254 48.585 12.984 25.152 1.00 0.00 H +HETATM 763 O HOH A 255 45.767 20.725 4.049 1.00 0.00 O +HETATM 764 H1 HOH A 255 45.899 21.661 4.201 1.00 0.00 H +HETATM 765 H2 HOH A 255 46.636 20.340 4.144 1.00 0.00 H +HETATM 766 O HOH A 256 8.350 30.570 35.016 1.00 0.00 O +HETATM 767 H1 HOH A 256 8.545 31.304 35.600 1.00 0.00 H +HETATM 768 H2 HOH A 256 7.448 30.331 35.223 1.00 0.00 H +HETATM 769 O HOH A 257 6.668 2.583 17.425 1.00 0.00 O +HETATM 770 H1 HOH A 257 6.375 3.493 17.478 1.00 0.00 H +HETATM 771 H2 HOH A 257 5.862 2.069 17.439 1.00 0.00 H +HETATM 772 O HOH A 258 2.896 25.375 36.149 1.00 0.00 O +HETATM 773 H1 HOH A 258 3.799 25.483 35.851 1.00 0.00 H +HETATM 774 H2 HOH A 258 2.533 24.701 35.577 1.00 0.00 H +HETATM 775 O HOH A 259 37.926 46.308 28.242 1.00 0.00 O +HETATM 776 H1 HOH A 259 37.760 47.226 28.025 1.00 0.00 H +HETATM 777 H2 HOH A 259 38.650 46.334 28.865 1.00 0.00 H +HETATM 778 O HOH A 260 6.359 32.728 46.267 1.00 0.00 O +HETATM 779 H1 HOH A 260 7.261 32.587 46.555 1.00 0.00 H +HETATM 780 H2 HOH A 260 6.250 33.677 46.273 1.00 0.00 H +HETATM 781 O HOH A 261 35.511 30.025 15.336 1.00 0.00 O +HETATM 782 H1 HOH A 261 34.644 29.644 15.479 1.00 0.00 H +HETATM 783 H2 HOH A 261 36.080 29.569 15.953 1.00 0.00 H +HETATM 784 O HOH A 262 10.205 33.369 33.228 1.00 0.00 O +HETATM 785 H1 HOH A 262 10.445 32.547 32.800 1.00 0.00 H +HETATM 786 H2 HOH A 262 10.930 33.961 33.037 1.00 0.00 H +HETATM 787 O HOH A 263 13.272 34.118 7.111 1.00 0.00 O +HETATM 788 H1 HOH A 263 12.599 34.034 7.788 1.00 0.00 H +HETATM 789 H2 HOH A 263 14.060 33.752 7.508 1.00 0.00 H +HETATM 790 O HOH A 264 20.925 4.120 41.968 1.00 0.00 O +HETATM 791 H1 HOH A 264 20.815 4.206 41.021 1.00 0.00 H +HETATM 792 H2 HOH A 264 21.408 4.902 42.228 1.00 0.00 H +HETATM 793 O HOH A 265 15.922 44.150 37.173 1.00 0.00 O +HETATM 794 H1 HOH A 265 15.469 44.775 36.607 1.00 0.00 H +HETATM 795 H2 HOH A 265 16.570 43.736 36.606 1.00 0.00 H +HETATM 796 O HOH A 266 12.918 24.815 25.567 1.00 0.00 O +HETATM 797 H1 HOH A 266 12.389 24.170 25.098 1.00 0.00 H +HETATM 798 H2 HOH A 266 12.965 25.565 24.976 1.00 0.00 H +HETATM 799 O HOH A 267 43.154 0.800 18.471 1.00 0.00 O +HETATM 800 H1 HOH A 267 43.152 1.716 18.193 1.00 0.00 H +HETATM 801 H2 HOH A 267 43.517 0.816 19.354 1.00 0.00 H +HETATM 802 O HOH A 268 12.343 6.684 49.427 1.00 0.00 O +HETATM 803 H1 HOH A 268 12.251 7.448 49.997 1.00 0.00 H +HETATM 804 H2 HOH A 268 11.742 6.037 49.790 1.00 0.00 H +HETATM 805 O HOH A 269 27.065 7.953 36.916 1.00 0.00 O +HETATM 806 H1 HOH A 269 27.819 8.452 36.600 1.00 0.00 H +HETATM 807 H2 HOH A 269 26.959 7.248 36.281 1.00 0.00 H +HETATM 808 O HOH A 270 46.680 5.017 2.258 1.00 0.00 O +HETATM 809 H1 HOH A 270 45.904 4.541 2.553 1.00 0.00 H +HETATM 810 H2 HOH A 270 47.336 4.852 2.933 1.00 0.00 H +HETATM 811 O HOH A 271 37.122 27.106 20.471 1.00 0.00 O +HETATM 812 H1 HOH A 271 37.820 27.598 20.904 1.00 0.00 H +HETATM 813 H2 HOH A 271 36.341 27.644 20.586 1.00 0.00 H +HETATM 814 O HOH A 272 36.262 32.606 23.681 1.00 0.00 O +HETATM 815 H1 HOH A 272 36.864 32.173 24.287 1.00 0.00 H +HETATM 816 H2 HOH A 272 36.525 33.524 23.695 1.00 0.00 H +HETATM 817 O HOH A 273 37.707 39.043 17.556 1.00 0.00 O +HETATM 818 H1 HOH A 273 36.884 39.436 17.264 1.00 0.00 H +HETATM 819 H2 HOH A 273 37.864 39.425 18.418 1.00 0.00 H +HETATM 820 O HOH A 274 34.521 24.436 22.560 1.00 0.00 O +HETATM 821 H1 HOH A 274 34.768 24.142 23.437 1.00 0.00 H +HETATM 822 H2 HOH A 274 33.595 24.214 22.483 1.00 0.00 H +HETATM 823 O HOH A 275 20.063 26.056 41.881 1.00 0.00 O +HETATM 824 H1 HOH A 275 19.214 26.157 42.312 1.00 0.00 H +HETATM 825 H2 HOH A 275 20.161 25.114 41.757 1.00 0.00 H +HETATM 826 O HOH A 276 35.555 44.832 23.361 1.00 0.00 O +HETATM 827 H1 HOH A 276 36.257 44.557 23.951 1.00 0.00 H +HETATM 828 H2 HOH A 276 35.153 45.581 23.796 1.00 0.00 H +HETATM 829 O HOH A 277 14.997 34.758 23.151 1.00 0.00 O +HETATM 830 H1 HOH A 277 15.427 35.497 23.581 1.00 0.00 H +HETATM 831 H2 HOH A 277 14.504 34.327 23.846 1.00 0.00 H +HETATM 832 O HOH A 278 48.101 18.597 19.776 1.00 0.00 O +HETATM 833 H1 HOH A 278 48.797 18.693 19.126 1.00 0.00 H +HETATM 834 H2 HOH A 278 47.373 18.208 19.294 1.00 0.00 H +HETATM 835 O HOH A 279 17.625 0.722 19.204 1.00 0.00 O +HETATM 836 H1 HOH A 279 17.554 0.371 18.316 1.00 0.00 H +HETATM 837 H2 HOH A 279 18.511 1.074 19.255 1.00 0.00 H +HETATM 838 O HOH A 280 16.838 33.485 23.198 1.00 0.00 O +HETATM 839 H1 HOH A 280 16.770 33.038 24.042 1.00 0.00 H +HETATM 840 H2 HOH A 280 17.775 33.612 23.066 1.00 0.00 H +HETATM 841 O HOH A 281 44.653 15.947 48.499 1.00 0.00 O +HETATM 842 H1 HOH A 281 43.917 15.694 47.941 1.00 0.00 H +HETATM 843 H2 HOH A 281 44.955 16.778 48.137 1.00 0.00 H +HETATM 844 O HOH A 282 7.923 37.987 9.095 1.00 0.00 O +HETATM 845 H1 HOH A 282 8.552 38.090 9.809 1.00 0.00 H +HETATM 846 H2 HOH A 282 7.427 38.804 9.091 1.00 0.00 H +HETATM 847 O HOH A 283 8.880 26.008 25.241 1.00 0.00 O +HETATM 848 H1 HOH A 283 9.802 25.754 25.197 1.00 0.00 H +HETATM 849 H2 HOH A 283 8.467 25.325 25.766 1.00 0.00 H +HETATM 850 O HOH A 284 42.802 36.005 10.941 1.00 0.00 O +HETATM 851 H1 HOH A 284 42.859 35.282 10.316 1.00 0.00 H +HETATM 852 H2 HOH A 284 43.044 36.779 10.436 1.00 0.00 H +HETATM 853 O HOH A 285 26.675 11.161 24.738 1.00 0.00 O +HETATM 854 H1 HOH A 285 26.446 10.835 23.868 1.00 0.00 H +HETATM 855 H2 HOH A 285 26.403 12.077 24.732 1.00 0.00 H +HETATM 856 O HOH A 286 39.857 27.830 43.979 1.00 0.00 O +HETATM 857 H1 HOH A 286 39.866 28.770 44.163 1.00 0.00 H +HETATM 858 H2 HOH A 286 39.871 27.415 44.839 1.00 0.00 H +HETATM 859 O HOH A 287 23.107 4.344 0.966 1.00 0.00 O +HETATM 860 H1 HOH A 287 23.301 4.267 0.031 1.00 0.00 H +HETATM 861 H2 HOH A 287 22.250 4.765 1.000 1.00 0.00 H +HETATM 862 O HOH A 288 23.338 29.767 20.894 1.00 0.00 O +HETATM 863 H1 HOH A 288 22.870 29.664 20.065 1.00 0.00 H +HETATM 864 H2 HOH A 288 23.403 28.881 21.246 1.00 0.00 H +HETATM 865 O HOH A 289 15.541 36.576 15.661 1.00 0.00 O +HETATM 866 H1 HOH A 289 16.305 36.097 15.984 1.00 0.00 H +HETATM 867 H2 HOH A 289 14.875 35.905 15.527 1.00 0.00 H +HETATM 868 O HOH A 290 42.254 28.010 22.939 1.00 0.00 O +HETATM 869 H1 HOH A 290 42.306 28.755 23.537 1.00 0.00 H +HETATM 870 H2 HOH A 290 41.938 27.288 23.479 1.00 0.00 H +HETATM 871 O HOH A 291 5.107 32.066 36.400 1.00 0.00 O +HETATM 872 H1 HOH A 291 5.855 31.833 36.951 1.00 0.00 H +HETATM 873 H2 HOH A 291 5.426 32.779 35.849 1.00 0.00 H +HETATM 874 O HOH A 292 20.963 48.896 12.843 1.00 0.00 O +HETATM 875 H1 HOH A 292 21.717 49.111 12.294 1.00 0.00 H +HETATM 876 H2 HOH A 292 20.727 48.005 12.592 1.00 0.00 H +HETATM 877 O HOH A 293 27.815 41.307 15.592 1.00 0.00 O +HETATM 878 H1 HOH A 293 27.201 41.776 16.157 1.00 0.00 H +HETATM 879 H2 HOH A 293 27.864 40.429 15.964 1.00 0.00 H +HETATM 880 O HOH A 294 14.876 29.051 20.106 1.00 0.00 O +HETATM 881 H1 HOH A 294 15.691 28.559 20.206 1.00 0.00 H +HETATM 882 H2 HOH A 294 14.245 28.410 19.784 1.00 0.00 H +HETATM 883 O HOH A 295 24.779 16.551 40.490 1.00 0.00 O +HETATM 884 H1 HOH A 295 24.797 17.183 41.208 1.00 0.00 H +HETATM 885 H2 HOH A 295 24.315 16.999 39.785 1.00 0.00 H +HETATM 886 O HOH A 296 0.003 18.378 44.475 1.00 0.00 O +HETATM 887 H1 HOH A 296 0.187 17.473 44.729 1.00 0.00 H +HETATM 888 H2 HOH A 296 0.838 18.713 44.153 1.00 0.00 H +HETATM 889 O HOH A 297 41.377 5.565 5.476 1.00 0.00 O +HETATM 890 H1 HOH A 297 40.764 5.148 6.082 1.00 0.00 H +HETATM 891 H2 HOH A 297 42.239 5.397 5.852 1.00 0.00 H +HETATM 892 O HOH A 298 46.676 27.229 12.482 1.00 0.00 O +HETATM 893 H1 HOH A 298 47.275 27.770 11.968 1.00 0.00 H +HETATM 894 H2 HOH A 298 46.621 26.405 12.001 1.00 0.00 H +HETATM 895 O HOH A 299 22.453 6.482 20.946 1.00 0.00 O +HETATM 896 H1 HOH A 299 21.630 6.075 21.220 1.00 0.00 H +HETATM 897 H2 HOH A 299 23.112 6.111 21.530 1.00 0.00 H +HETATM 898 O HOH A 300 47.543 29.422 31.288 1.00 0.00 O +HETATM 899 H1 HOH A 300 48.152 30.139 31.465 1.00 0.00 H +HETATM 900 H2 HOH A 300 47.965 28.649 31.658 1.00 0.00 H +HETATM 901 O HOH A 301 46.131 44.163 34.654 1.00 0.00 O +HETATM 902 H1 HOH A 301 45.851 44.257 35.565 1.00 0.00 H +HETATM 903 H2 HOH A 301 46.638 44.952 34.475 1.00 0.00 H +HETATM 904 O HOH A 302 31.240 14.669 36.268 1.00 0.00 O +HETATM 905 H1 HOH A 302 30.617 15.332 36.566 1.00 0.00 H +HETATM 906 H2 HOH A 302 31.219 13.996 36.945 1.00 0.00 H +HETATM 907 O HOH A 303 17.337 43.568 44.546 1.00 0.00 O +HETATM 908 H1 HOH A 303 18.060 42.942 44.603 1.00 0.00 H +HETATM 909 H2 HOH A 303 17.046 43.682 45.449 1.00 0.00 H +HETATM 910 O HOH A 304 48.897 2.300 47.328 1.00 0.00 O +HETATM 911 H1 HOH A 304 49.533 2.465 48.024 1.00 0.00 H +HETATM 912 H2 HOH A 304 49.415 1.946 46.607 1.00 0.00 H +HETATM 913 O HOH A 305 30.520 9.930 12.039 1.00 0.00 O +HETATM 914 H1 HOH A 305 31.203 9.789 11.383 1.00 0.00 H +HETATM 915 H2 HOH A 305 29.846 9.286 11.829 1.00 0.00 H +HETATM 916 O HOH A 306 22.699 42.527 44.985 1.00 0.00 O +HETATM 917 H1 HOH A 306 22.988 42.219 45.844 1.00 0.00 H +HETATM 918 H2 HOH A 306 22.431 41.736 44.522 1.00 0.00 H +HETATM 919 O HOH A 307 48.081 32.348 35.129 1.00 0.00 O +HETATM 920 H1 HOH A 307 48.933 32.364 34.693 1.00 0.00 H +HETATM 921 H2 HOH A 307 48.016 31.470 35.500 1.00 0.00 H +HETATM 922 O HOH A 308 28.611 1.440 27.509 1.00 0.00 O +HETATM 923 H1 HOH A 308 27.986 1.903 28.066 1.00 0.00 H +HETATM 924 H2 HOH A 308 28.571 0.532 27.803 1.00 0.00 H +HETATM 925 O HOH A 309 7.546 45.010 37.108 1.00 0.00 O +HETATM 926 H1 HOH A 309 8.107 45.412 36.445 1.00 0.00 H +HETATM 927 H2 HOH A 309 7.467 44.097 36.838 1.00 0.00 H +HETATM 928 O HOH A 310 19.541 32.042 32.548 1.00 0.00 O +HETATM 929 H1 HOH A 310 19.074 31.322 32.973 1.00 0.00 H +HETATM 930 H2 HOH A 310 19.128 32.833 32.890 1.00 0.00 H +HETATM 931 O HOH A 311 39.619 31.836 24.409 1.00 0.00 O +HETATM 932 H1 HOH A 311 39.333 30.997 24.768 1.00 0.00 H +HETATM 933 H2 HOH A 311 39.120 32.490 24.895 1.00 0.00 H +HETATM 934 O HOH A 312 38.255 11.232 33.445 1.00 0.00 O +HETATM 935 H1 HOH A 312 38.356 11.831 34.185 1.00 0.00 H +HETATM 936 H2 HOH A 312 38.732 11.649 32.730 1.00 0.00 H +HETATM 937 O HOH A 313 10.471 27.401 48.183 1.00 0.00 O +HETATM 938 H1 HOH A 313 10.850 26.524 48.112 1.00 0.00 H +HETATM 939 H2 HOH A 313 9.535 27.271 48.045 1.00 0.00 H +HETATM 940 O HOH A 314 7.668 41.618 41.125 1.00 0.00 O +HETATM 941 H1 HOH A 314 7.291 41.870 41.968 1.00 0.00 H +HETATM 942 H2 HOH A 314 7.838 40.681 41.206 1.00 0.00 H +HETATM 943 O HOH A 315 42.701 25.751 36.547 1.00 0.00 O +HETATM 944 H1 HOH A 315 42.936 24.824 36.503 1.00 0.00 H +HETATM 945 H2 HOH A 315 41.826 25.760 36.932 1.00 0.00 H +HETATM 946 O HOH A 316 39.267 2.564 8.046 1.00 0.00 O +HETATM 947 H1 HOH A 316 38.819 1.811 7.659 1.00 0.00 H +HETATM 948 H2 HOH A 316 39.026 3.301 7.489 1.00 0.00 H +HETATM 949 O HOH A 317 5.389 22.208 32.072 1.00 0.00 O +HETATM 950 H1 HOH A 317 5.311 22.998 32.607 1.00 0.00 H +HETATM 951 H2 HOH A 317 5.177 21.492 32.668 1.00 0.00 H +HETATM 952 O HOH A 318 36.651 16.083 36.303 1.00 0.00 O +HETATM 953 H1 HOH A 318 36.469 15.227 36.691 1.00 0.00 H +HETATM 954 H2 HOH A 318 36.976 16.612 37.029 1.00 0.00 H +HETATM 955 O HOH A 319 7.897 33.772 1.751 1.00 0.00 O +HETATM 956 H1 HOH A 319 7.870 34.616 2.202 1.00 0.00 H +HETATM 957 H2 HOH A 319 7.074 33.347 1.982 1.00 0.00 H +HETATM 958 O HOH A 320 36.946 9.379 7.835 1.00 0.00 O +HETATM 959 H1 HOH A 320 36.169 9.606 8.345 1.00 0.00 H +HETATM 960 H2 HOH A 320 36.799 8.476 7.559 1.00 0.00 H +HETATM 961 O HOH A 321 2.986 46.459 24.133 1.00 0.00 O +HETATM 962 H1 HOH A 321 2.777 45.746 24.737 1.00 0.00 H +HETATM 963 H2 HOH A 321 3.838 46.779 24.422 1.00 0.00 H +HETATM 964 O HOH A 322 39.305 7.930 48.041 1.00 0.00 O +HETATM 965 H1 HOH A 322 38.557 8.203 47.510 1.00 0.00 H +HETATM 966 H2 HOH A 322 39.083 7.050 48.338 1.00 0.00 H +HETATM 967 O HOH A 323 42.354 7.751 4.170 1.00 0.00 O +HETATM 968 H1 HOH A 323 43.214 8.172 4.164 1.00 0.00 H +HETATM 969 H2 HOH A 323 42.354 7.190 3.397 1.00 0.00 H +HETATM 970 O HOH A 324 26.287 43.225 6.433 1.00 0.00 O +HETATM 971 H1 HOH A 324 27.095 43.415 6.910 1.00 0.00 H +HETATM 972 H2 HOH A 324 26.560 42.665 5.708 1.00 0.00 H +HETATM 973 O HOH A 325 15.328 47.074 31.602 1.00 0.00 O +HETATM 974 H1 HOH A 325 15.541 47.955 31.295 1.00 0.00 H +HETATM 975 H2 HOH A 325 15.630 46.495 30.905 1.00 0.00 H +HETATM 976 O HOH A 326 24.931 2.659 47.471 1.00 0.00 O +HETATM 977 H1 HOH A 326 24.364 3.280 47.927 1.00 0.00 H +HETATM 978 H2 HOH A 326 24.340 1.977 47.157 1.00 0.00 H +HETATM 979 O HOH A 327 10.336 15.342 3.498 1.00 0.00 O +HETATM 980 H1 HOH A 327 11.191 15.741 3.338 1.00 0.00 H +HETATM 981 H2 HOH A 327 10.245 14.681 2.814 1.00 0.00 H +HETATM 982 O HOH A 328 11.882 45.498 6.294 1.00 0.00 O +HETATM 983 H1 HOH A 328 11.310 46.266 6.298 1.00 0.00 H +HETATM 984 H2 HOH A 328 11.702 45.059 7.123 1.00 0.00 H +HETATM 985 O HOH A 329 29.713 10.436 42.632 1.00 0.00 O +HETATM 986 H1 HOH A 329 30.480 10.321 42.070 1.00 0.00 H +HETATM 987 H2 HOH A 329 29.208 11.131 42.212 1.00 0.00 H +HETATM 988 O HOH A 330 27.176 9.045 22.066 1.00 0.00 O +HETATM 989 H1 HOH A 330 27.934 8.653 22.500 1.00 0.00 H +HETATM 990 H2 HOH A 330 27.545 9.547 21.342 1.00 0.00 H +HETATM 991 O HOH A 331 25.076 28.528 16.864 1.00 0.00 O +HETATM 992 H1 HOH A 331 24.589 28.282 17.650 1.00 0.00 H +HETATM 993 H2 HOH A 331 24.445 29.006 16.328 1.00 0.00 H +HETATM 994 O HOH A 332 22.907 31.426 46.201 1.00 0.00 O +HETATM 995 H1 HOH A 332 23.691 31.366 45.655 1.00 0.00 H +HETATM 996 H2 HOH A 332 23.146 32.032 46.901 1.00 0.00 H +HETATM 997 O HOH A 333 35.961 46.003 29.228 1.00 0.00 O +HETATM 998 H1 HOH A 333 35.362 46.690 29.523 1.00 0.00 H +HETATM 999 H2 HOH A 333 36.118 45.470 30.004 1.00 0.00 H +HETATM 1000 O HOH A 334 38.379 7.679 4.789 1.00 0.00 O +HETATM 1001 H1 HOH A 334 38.771 6.809 4.870 1.00 0.00 H +HETATM 1002 H2 HOH A 334 39.124 8.277 4.759 1.00 0.00 H +HETATM 1003 O HOH A 335 8.890 35.182 23.922 1.00 0.00 O +HETATM 1004 H1 HOH A 335 8.913 35.691 23.112 1.00 0.00 H +HETATM 1005 H2 HOH A 335 8.900 34.271 23.635 1.00 0.00 H +HETATM 1006 O HOH A 336 11.795 5.979 45.336 1.00 0.00 O +HETATM 1007 H1 HOH A 336 10.852 5.817 45.338 1.00 0.00 H +HETATM 1008 H2 HOH A 336 12.189 5.114 45.237 1.00 0.00 H +HETATM 1009 O HOH A 337 35.623 28.253 10.213 1.00 0.00 O +HETATM 1010 H1 HOH A 337 36.228 27.527 10.053 1.00 0.00 H +HETATM 1011 H2 HOH A 337 35.913 28.630 11.041 1.00 0.00 H +HETATM 1012 O HOH A 338 41.832 19.551 14.998 1.00 0.00 O +HETATM 1013 H1 HOH A 338 41.067 19.135 15.395 1.00 0.00 H +HETATM 1014 H2 HOH A 338 42.130 18.928 14.337 1.00 0.00 H +HETATM 1015 O HOH A 339 45.521 18.542 42.449 1.00 0.00 O +HETATM 1016 H1 HOH A 339 45.232 19.116 41.739 1.00 0.00 H +HETATM 1017 H2 HOH A 339 46.454 18.726 42.543 1.00 0.00 H +HETATM 1018 O HOH A 340 22.741 27.510 49.197 1.00 0.00 O +HETATM 1019 H1 HOH A 340 22.427 27.643 48.303 1.00 0.00 H +HETATM 1020 H2 HOH A 340 23.658 27.779 49.174 1.00 0.00 H +HETATM 1021 O HOH A 341 20.249 43.463 45.461 1.00 0.00 O +HETATM 1022 H1 HOH A 341 20.704 44.025 44.833 1.00 0.00 H +HETATM 1023 H2 HOH A 341 20.368 42.577 45.122 1.00 0.00 H +HETATM 1024 O HOH A 342 21.419 10.306 21.366 1.00 0.00 O +HETATM 1025 H1 HOH A 342 20.739 10.729 20.840 1.00 0.00 H +HETATM 1026 H2 HOH A 342 22.137 10.154 20.755 1.00 0.00 H +HETATM 1027 O HOH A 343 2.402 15.944 30.409 1.00 0.00 O +HETATM 1028 H1 HOH A 343 1.648 16.316 30.866 1.00 0.00 H +HETATM 1029 H2 HOH A 343 2.825 16.692 29.991 1.00 0.00 H +HETATM 1030 O HOH A 344 37.478 36.340 44.707 1.00 0.00 O +HETATM 1031 H1 HOH A 344 38.011 36.060 43.962 1.00 0.00 H +HETATM 1032 H2 HOH A 344 37.832 35.858 45.452 1.00 0.00 H +HETATM 1033 O HOH A 345 35.994 31.792 34.554 1.00 0.00 O +HETATM 1034 H1 HOH A 345 35.800 31.226 33.807 1.00 0.00 H +HETATM 1035 H2 HOH A 345 35.460 31.443 35.266 1.00 0.00 H +HETATM 1036 O HOH A 346 42.950 29.794 20.490 1.00 0.00 O +HETATM 1037 H1 HOH A 346 42.024 29.557 20.444 1.00 0.00 H +HETATM 1038 H2 HOH A 346 43.036 30.277 21.310 1.00 0.00 H +HETATM 1039 O HOH A 347 44.292 36.026 25.722 1.00 0.00 O +HETATM 1040 H1 HOH A 347 44.261 35.997 26.678 1.00 0.00 H +HETATM 1041 H2 HOH A 347 43.482 35.603 25.441 1.00 0.00 H +HETATM 1042 O HOH A 348 12.208 10.992 7.252 1.00 0.00 O +HETATM 1043 H1 HOH A 348 11.422 11.003 6.706 1.00 0.00 H +HETATM 1044 H2 HOH A 348 12.728 11.731 6.942 1.00 0.00 H +HETATM 1045 O HOH A 349 3.273 38.819 4.165 1.00 0.00 O +HETATM 1046 H1 HOH A 349 4.078 38.415 4.490 1.00 0.00 H +HETATM 1047 H2 HOH A 349 2.904 38.175 3.564 1.00 0.00 H +HETATM 1048 O HOH A 350 15.404 31.284 4.728 1.00 0.00 O +HETATM 1049 H1 HOH A 350 15.117 30.370 4.726 1.00 0.00 H +HETATM 1050 H2 HOH A 350 15.729 31.437 3.843 1.00 0.00 H +HETATM 1051 O HOH A 351 46.521 46.144 40.751 1.00 0.00 O +HETATM 1052 H1 HOH A 351 47.311 46.524 41.136 1.00 0.00 H +HETATM 1053 H2 HOH A 351 45.801 46.629 41.149 1.00 0.00 H +HETATM 1054 O HOH A 352 30.604 13.371 39.391 1.00 0.00 O +HETATM 1055 H1 HOH A 352 30.389 13.566 40.303 1.00 0.00 H +HETATM 1056 H2 HOH A 352 30.439 12.434 39.298 1.00 0.00 H +HETATM 1057 O HOH A 353 31.239 28.586 45.468 1.00 0.00 O +HETATM 1058 H1 HOH A 353 30.348 28.410 45.769 1.00 0.00 H +HETATM 1059 H2 HOH A 353 31.413 29.485 45.741 1.00 0.00 H +HETATM 1060 O HOH A 354 42.029 44.888 14.794 1.00 0.00 O +HETATM 1061 H1 HOH A 354 42.047 45.419 15.590 1.00 0.00 H +HETATM 1062 H2 HOH A 354 41.525 44.113 15.031 1.00 0.00 H +HETATM 1063 O HOH A 355 27.127 40.644 45.232 1.00 0.00 O +HETATM 1064 H1 HOH A 355 26.422 40.188 45.693 1.00 0.00 H +HETATM 1065 H2 HOH A 355 26.961 40.471 44.307 1.00 0.00 H +HETATM 1066 O HOH A 356 19.759 20.208 44.779 1.00 0.00 O +HETATM 1067 H1 HOH A 356 19.731 20.923 44.143 1.00 0.00 H +HETATM 1068 H2 HOH A 356 20.403 19.597 44.428 1.00 0.00 H +HETATM 1069 O HOH A 357 14.098 7.092 18.711 1.00 0.00 O +HETATM 1070 H1 HOH A 357 13.617 7.837 18.350 1.00 0.00 H +HETATM 1071 H2 HOH A 357 14.857 6.995 18.139 1.00 0.00 H +HETATM 1072 O HOH A 358 1.016 22.030 0.789 1.00 0.00 O +HETATM 1073 H1 HOH A 358 0.338 21.772 1.413 1.00 0.00 H +HETATM 1074 H2 HOH A 358 1.832 21.719 1.177 1.00 0.00 H +HETATM 1075 O HOH A 359 16.962 16.946 41.876 1.00 0.00 O +HETATM 1076 H1 HOH A 359 16.812 17.346 42.732 1.00 0.00 H +HETATM 1077 H2 HOH A 359 16.349 17.389 41.292 1.00 0.00 H +HETATM 1078 O HOH A 360 34.392 3.346 15.906 1.00 0.00 O +HETATM 1079 H1 HOH A 360 34.613 2.923 15.076 1.00 0.00 H +HETATM 1080 H2 HOH A 360 33.455 3.522 15.846 1.00 0.00 H +HETATM 1081 O HOH A 361 29.713 22.219 28.174 1.00 0.00 O +HETATM 1082 H1 HOH A 361 29.819 22.368 29.113 1.00 0.00 H +HETATM 1083 H2 HOH A 361 30.591 22.005 27.863 1.00 0.00 H +HETATM 1084 O HOH A 362 42.481 26.216 41.839 1.00 0.00 O +HETATM 1085 H1 HOH A 362 42.528 25.539 41.165 1.00 0.00 H +HETATM 1086 H2 HOH A 362 43.240 26.772 41.676 1.00 0.00 H +HETATM 1087 O HOH A 363 16.391 1.161 7.720 1.00 0.00 O +HETATM 1088 H1 HOH A 363 15.724 1.314 8.389 1.00 0.00 H +HETATM 1089 H2 HOH A 363 16.939 0.465 8.079 1.00 0.00 H +HETATM 1090 O HOH A 364 35.272 18.709 41.500 1.00 0.00 O +HETATM 1091 H1 HOH A 364 35.281 18.210 40.684 1.00 0.00 H +HETATM 1092 H2 HOH A 364 34.377 19.036 41.574 1.00 0.00 H +HETATM 1093 O HOH A 365 11.281 40.011 4.937 1.00 0.00 O +HETATM 1094 H1 HOH A 365 10.423 39.736 4.614 1.00 0.00 H +HETATM 1095 H2 HOH A 365 11.628 40.577 4.250 1.00 0.00 H +HETATM 1096 O HOH A 366 15.862 7.036 27.479 1.00 0.00 O +HETATM 1097 H1 HOH A 366 14.918 6.887 27.544 1.00 0.00 H +HETATM 1098 H2 HOH A 366 16.162 7.085 28.385 1.00 0.00 H +HETATM 1099 O HOH A 367 21.156 20.898 41.708 1.00 0.00 O +HETATM 1100 H1 HOH A 367 21.508 20.296 41.052 1.00 0.00 H +HETATM 1101 H2 HOH A 367 20.400 20.443 42.072 1.00 0.00 H +HETATM 1102 O HOH A 368 6.694 26.775 28.485 1.00 0.00 O +HETATM 1103 H1 HOH A 368 6.082 27.073 29.158 1.00 0.00 H +HETATM 1104 H2 HOH A 368 7.001 25.926 28.796 1.00 0.00 H +HETATM 1105 O HOH A 369 8.511 12.050 33.311 1.00 0.00 O +HETATM 1106 H1 HOH A 369 8.534 12.478 32.455 1.00 0.00 H +HETATM 1107 H2 HOH A 369 9.255 11.450 33.301 1.00 0.00 H +HETATM 1108 O HOH A 370 44.466 31.420 36.550 1.00 0.00 O +HETATM 1109 H1 HOH A 370 43.889 30.907 37.116 1.00 0.00 H +HETATM 1110 H2 HOH A 370 45.324 31.366 36.966 1.00 0.00 H +HETATM 1111 O HOH A 371 32.242 43.774 17.655 1.00 0.00 O +HETATM 1112 H1 HOH A 371 32.602 44.493 17.135 1.00 0.00 H +HETATM 1113 H2 HOH A 371 31.994 44.176 18.485 1.00 0.00 H +HETATM 1114 O HOH A 372 9.697 9.895 40.272 1.00 0.00 O +HETATM 1115 H1 HOH A 372 10.205 10.406 40.902 1.00 0.00 H +HETATM 1116 H2 HOH A 372 9.225 9.257 40.804 1.00 0.00 H +HETATM 1117 O HOH A 373 3.047 40.160 6.152 1.00 0.00 O +HETATM 1118 H1 HOH A 373 2.366 39.717 6.658 1.00 0.00 H +HETATM 1119 H2 HOH A 373 3.864 39.924 6.588 1.00 0.00 H +HETATM 1120 O HOH A 374 21.380 20.488 37.974 1.00 0.00 O +HETATM 1121 H1 HOH A 374 22.267 20.803 37.798 1.00 0.00 H +HETATM 1122 H2 HOH A 374 21.468 19.944 38.754 1.00 0.00 H +HETATM 1123 O HOH A 375 5.568 19.556 6.381 1.00 0.00 O +HETATM 1124 H1 HOH A 375 5.392 19.131 5.541 1.00 0.00 H +HETATM 1125 H2 HOH A 375 4.864 19.259 6.954 1.00 0.00 H +HETATM 1126 O HOH A 376 41.623 1.526 22.627 1.00 0.00 O +HETATM 1127 H1 HOH A 376 42.304 1.797 23.243 1.00 0.00 H +HETATM 1128 H2 HOH A 376 40.817 1.897 22.979 1.00 0.00 H +HETATM 1129 O HOH A 377 47.604 10.840 41.987 1.00 0.00 O +HETATM 1130 H1 HOH A 377 47.962 10.232 41.340 1.00 0.00 H +HETATM 1131 H2 HOH A 377 46.656 10.764 41.891 1.00 0.00 H +HETATM 1132 O HOH A 378 15.395 23.610 10.410 1.00 0.00 O +HETATM 1133 H1 HOH A 378 15.488 24.261 9.714 1.00 0.00 H +HETATM 1134 H2 HOH A 378 14.538 23.215 10.259 1.00 0.00 H +HETATM 1135 O HOH A 379 26.709 10.386 48.674 1.00 0.00 O +HETATM 1136 H1 HOH A 379 25.822 10.643 48.422 1.00 0.00 H +HETATM 1137 H2 HOH A 379 26.614 10.021 49.552 1.00 0.00 H +HETATM 1138 O HOH A 380 41.528 31.120 38.785 1.00 0.00 O +HETATM 1139 H1 HOH A 380 41.358 30.545 38.040 1.00 0.00 H +HETATM 1140 H2 HOH A 380 42.322 30.770 39.185 1.00 0.00 H +HETATM 1141 O HOH A 381 34.781 14.154 47.936 1.00 0.00 O +HETATM 1142 H1 HOH A 381 35.675 14.493 47.895 1.00 0.00 H +HETATM 1143 H2 HOH A 381 34.397 14.578 48.701 1.00 0.00 H +HETATM 1144 O HOH A 382 20.049 7.606 37.012 1.00 0.00 O +HETATM 1145 H1 HOH A 382 20.324 6.821 37.486 1.00 0.00 H +HETATM 1146 H2 HOH A 382 20.836 7.907 36.563 1.00 0.00 H +HETATM 1147 O HOH A 383 39.898 5.803 22.446 1.00 0.00 O +HETATM 1148 H1 HOH A 383 39.939 5.138 21.759 1.00 0.00 H +HETATM 1149 H2 HOH A 383 40.032 6.632 21.989 1.00 0.00 H +HETATM 1150 O HOH A 384 14.548 1.529 22.861 1.00 0.00 O +HETATM 1151 H1 HOH A 384 14.651 1.399 21.919 1.00 0.00 H +HETATM 1152 H2 HOH A 384 14.437 0.649 23.216 1.00 0.00 H +HETATM 1153 O HOH A 385 32.834 27.195 6.141 1.00 0.00 O +HETATM 1154 H1 HOH A 385 32.026 27.244 6.652 1.00 0.00 H +HETATM 1155 H2 HOH A 385 32.542 27.100 5.236 1.00 0.00 H +HETATM 1156 O HOH A 386 32.644 19.748 36.820 1.00 0.00 O +HETATM 1157 H1 HOH A 386 33.165 19.436 37.560 1.00 0.00 H +HETATM 1158 H2 HOH A 386 31.828 20.056 37.211 1.00 0.00 H +HETATM 1159 O HOH A 387 45.633 27.292 35.369 1.00 0.00 O +HETATM 1160 H1 HOH A 387 46.415 27.271 35.921 1.00 0.00 H +HETATM 1161 H2 HOH A 387 45.023 27.861 35.835 1.00 0.00 H +HETATM 1162 O HOH A 388 21.952 11.312 49.083 1.00 0.00 O +HETATM 1163 H1 HOH A 388 22.699 10.772 49.344 1.00 0.00 H +HETATM 1164 H2 HOH A 388 21.547 11.577 49.906 1.00 0.00 H +HETATM 1165 O HOH A 389 7.951 8.438 6.246 1.00 0.00 O +HETATM 1166 H1 HOH A 389 8.426 9.064 6.793 1.00 0.00 H +HETATM 1167 H2 HOH A 389 7.028 8.631 6.404 1.00 0.00 H +HETATM 1168 O HOH A 390 0.708 49.805 8.993 1.00 0.00 O +HETATM 1169 H1 HOH A 390 0.167 49.941 9.771 1.00 0.00 H +HETATM 1170 H2 HOH A 390 1.355 49.154 9.259 1.00 0.00 H +HETATM 1171 O HOH A 391 43.692 17.357 6.955 1.00 0.00 O +HETATM 1172 H1 HOH A 391 43.360 16.785 7.647 1.00 0.00 H +HETATM 1173 H2 HOH A 391 43.359 18.225 7.178 1.00 0.00 H +HETATM 1174 O HOH A 392 5.320 2.407 42.237 1.00 0.00 O +HETATM 1175 H1 HOH A 392 4.861 2.599 43.055 1.00 0.00 H +HETATM 1176 H2 HOH A 392 6.247 2.446 42.465 1.00 0.00 H +HETATM 1177 O HOH A 393 34.082 11.187 12.480 1.00 0.00 O +HETATM 1178 H1 HOH A 393 33.747 11.783 13.150 1.00 0.00 H +HETATM 1179 H2 HOH A 393 33.892 10.313 12.817 1.00 0.00 H +HETATM 1180 O HOH A 394 37.721 0.797 36.590 1.00 0.00 O +HETATM 1181 H1 HOH A 394 38.463 0.689 35.994 1.00 0.00 H +HETATM 1182 H2 HOH A 394 37.163 0.040 36.421 1.00 0.00 H +HETATM 1183 O HOH A 395 4.154 43.336 3.063 1.00 0.00 O +HETATM 1184 H1 HOH A 395 4.059 42.673 2.379 1.00 0.00 H +HETATM 1185 H2 HOH A 395 3.577 44.047 2.792 1.00 0.00 H +HETATM 1186 O HOH A 396 28.037 32.725 44.787 1.00 0.00 O +HETATM 1187 H1 HOH A 396 27.667 32.485 45.637 1.00 0.00 H +HETATM 1188 H2 HOH A 396 27.441 33.388 44.443 1.00 0.00 H +HETATM 1189 O HOH A 397 4.134 33.571 41.198 1.00 0.00 O +HETATM 1190 H1 HOH A 397 3.951 33.884 42.084 1.00 0.00 H +HETATM 1191 H2 HOH A 397 3.273 33.432 40.808 1.00 0.00 H +HETATM 1192 O HOH A 398 4.473 11.037 3.766 1.00 0.00 O +HETATM 1193 H1 HOH A 398 4.581 11.108 4.715 1.00 0.00 H +HETATM 1194 H2 HOH A 398 4.800 10.165 3.551 1.00 0.00 H +HETATM 1195 O HOH A 399 26.641 9.590 14.746 1.00 0.00 O +HETATM 1196 H1 HOH A 399 26.826 10.246 15.418 1.00 0.00 H +HETATM 1197 H2 HOH A 399 25.811 9.198 15.013 1.00 0.00 H +HETATM 1198 O HOH A 400 29.377 1.097 13.778 1.00 0.00 O +HETATM 1199 H1 HOH A 400 30.291 1.223 13.522 1.00 0.00 H +HETATM 1200 H2 HOH A 400 29.395 1.068 14.733 1.00 0.00 H +HETATM 1201 O HOH A 401 0.865 28.865 21.101 1.00 0.00 O +HETATM 1202 H1 HOH A 401 1.157 28.618 20.223 1.00 0.00 H +HETATM 1203 H2 HOH A 401 0.008 28.452 21.196 1.00 0.00 H +HETATM 1204 O HOH A 402 49.681 10.041 0.155 1.00 0.00 O +HETATM 1205 H1 HOH A 402 49.978 10.893 0.476 1.00 0.00 H +HETATM 1206 H2 HOH A 402 49.988 9.417 0.810 1.00 0.00 H +HETATM 1207 O HOH A 403 7.167 18.402 7.399 1.00 0.00 O +HETATM 1208 H1 HOH A 403 7.746 17.874 6.848 1.00 0.00 H +HETATM 1209 H2 HOH A 403 6.713 17.767 7.950 1.00 0.00 H +HETATM 1210 O HOH A 404 38.182 14.723 35.098 1.00 0.00 O +HETATM 1211 H1 HOH A 404 37.645 15.221 34.481 1.00 0.00 H +HETATM 1212 H2 HOH A 404 39.073 14.803 34.763 1.00 0.00 H +HETATM 1213 O HOH A 405 6.049 23.764 30.633 1.00 0.00 O +HETATM 1214 H1 HOH A 405 6.459 23.545 29.796 1.00 0.00 H +HETATM 1215 H2 HOH A 405 5.389 24.419 30.414 1.00 0.00 H +HETATM 1216 O HOH A 406 49.439 35.728 26.656 1.00 0.00 O +HETATM 1217 H1 HOH A 406 48.623 35.967 27.096 1.00 0.00 H +HETATM 1218 H2 HOH A 406 49.557 34.800 26.853 1.00 0.00 H +HETATM 1219 O HOH A 407 30.139 19.937 22.581 1.00 0.00 O +HETATM 1220 H1 HOH A 407 31.009 19.967 22.980 1.00 0.00 H +HETATM 1221 H2 HOH A 407 29.878 20.853 22.501 1.00 0.00 H +HETATM 1222 O HOH A 408 34.622 1.037 45.961 1.00 0.00 O +HETATM 1223 H1 HOH A 408 34.118 1.451 45.260 1.00 0.00 H +HETATM 1224 H2 HOH A 408 35.452 1.510 45.973 1.00 0.00 H +HETATM 1225 O HOH A 409 22.426 2.852 26.734 1.00 0.00 O +HETATM 1226 H1 HOH A 409 21.907 3.011 25.945 1.00 0.00 H +HETATM 1227 H2 HOH A 409 23.321 3.069 26.481 1.00 0.00 H +HETATM 1228 O HOH A 410 48.907 1.615 6.596 1.00 0.00 O +HETATM 1229 H1 HOH A 410 47.988 1.858 6.481 1.00 0.00 H +HETATM 1230 H2 HOH A 410 49.144 1.174 5.782 1.00 0.00 H +HETATM 1231 O HOH A 411 28.491 6.421 21.953 1.00 0.00 O +HETATM 1232 H1 HOH A 411 29.126 6.954 21.475 1.00 0.00 H +HETATM 1233 H2 HOH A 411 28.969 6.103 22.717 1.00 0.00 H +HETATM 1234 O HOH A 412 37.650 29.237 24.398 1.00 0.00 O +HETATM 1235 H1 HOH A 412 37.392 29.751 23.633 1.00 0.00 H +HETATM 1236 H2 HOH A 412 36.966 29.404 25.043 1.00 0.00 H +HETATM 1237 O HOH A 413 21.676 24.183 9.455 1.00 0.00 O +HETATM 1238 H1 HOH A 413 21.985 25.042 9.165 1.00 0.00 H +HETATM 1239 H2 HOH A 413 21.901 23.591 8.739 1.00 0.00 H +HETATM 1240 O HOH A 414 9.909 41.396 14.845 1.00 0.00 O +HETATM 1241 H1 HOH A 414 9.393 41.283 14.046 1.00 0.00 H +HETATM 1242 H2 HOH A 414 9.945 42.341 14.977 1.00 0.00 H +HETATM 1243 O HOH A 415 25.375 33.094 45.314 1.00 0.00 O +HETATM 1244 H1 HOH A 415 24.943 33.004 44.465 1.00 0.00 H +HETATM 1245 H2 HOH A 415 25.427 34.036 45.461 1.00 0.00 H +HETATM 1246 O HOH A 416 36.467 12.408 47.503 1.00 0.00 O +HETATM 1247 H1 HOH A 416 36.119 11.605 47.890 1.00 0.00 H +HETATM 1248 H2 HOH A 416 36.328 12.303 46.563 1.00 0.00 H +HETATM 1249 O HOH A 417 2.777 20.956 34.398 1.00 0.00 O +HETATM 1250 H1 HOH A 417 3.309 21.630 33.976 1.00 0.00 H +HETATM 1251 H2 HOH A 417 2.347 21.405 35.123 1.00 0.00 H +HETATM 1252 O HOH A 418 18.044 11.418 8.355 1.00 0.00 O +HETATM 1253 H1 HOH A 418 17.738 11.419 7.447 1.00 0.00 H +HETATM 1254 H2 HOH A 418 18.895 10.985 8.322 1.00 0.00 H +HETATM 1255 O HOH A 419 23.820 7.700 12.839 1.00 0.00 O +HETATM 1256 H1 HOH A 419 22.939 7.416 13.083 1.00 0.00 H +HETATM 1257 H2 HOH A 419 24.195 8.048 13.646 1.00 0.00 H +HETATM 1258 O HOH A 420 32.094 44.104 46.364 1.00 0.00 O +HETATM 1259 H1 HOH A 420 32.304 44.599 47.156 1.00 0.00 H +HETATM 1260 H2 HOH A 420 31.207 43.781 46.508 1.00 0.00 H +HETATM 1261 O HOH A 421 37.792 7.072 0.865 1.00 0.00 O +HETATM 1262 H1 HOH A 421 38.616 7.200 0.394 1.00 0.00 H +HETATM 1263 H2 HOH A 421 37.442 6.252 0.521 1.00 0.00 H +HETATM 1264 O HOH A 422 26.776 38.527 38.523 1.00 0.00 O +HETATM 1265 H1 HOH A 422 26.216 39.082 37.979 1.00 0.00 H +HETATM 1266 H2 HOH A 422 27.648 38.620 38.145 1.00 0.00 H +HETATM 1267 O HOH A 423 7.105 1.238 38.971 1.00 0.00 O +HETATM 1268 H1 HOH A 423 6.443 1.893 38.752 1.00 0.00 H +HETATM 1269 H2 HOH A 423 6.873 0.474 38.446 1.00 0.00 H +HETATM 1270 O HOH A 424 42.793 17.860 40.315 1.00 0.00 O +HETATM 1271 H1 HOH A 424 43.312 18.382 40.927 1.00 0.00 H +HETATM 1272 H2 HOH A 424 41.909 17.872 40.678 1.00 0.00 H +HETATM 1273 O HOH A 425 37.140 7.710 40.839 1.00 0.00 O +HETATM 1274 H1 HOH A 425 37.799 8.345 40.559 1.00 0.00 H +HETATM 1275 H2 HOH A 425 37.347 7.536 41.756 1.00 0.00 H +HETATM 1276 O HOH A 426 1.389 11.119 46.678 1.00 0.00 O +HETATM 1277 H1 HOH A 426 2.216 11.528 46.421 1.00 0.00 H +HETATM 1278 H2 HOH A 426 1.154 10.565 45.936 1.00 0.00 H +HETATM 1279 O HOH A 427 2.955 26.475 11.324 1.00 0.00 O +HETATM 1280 H1 HOH A 427 3.275 26.080 10.512 1.00 0.00 H +HETATM 1281 H2 HOH A 427 3.586 26.205 11.989 1.00 0.00 H +HETATM 1282 O HOH A 428 46.081 42.777 6.507 1.00 0.00 O +HETATM 1283 H1 HOH A 428 45.489 42.708 5.758 1.00 0.00 H +HETATM 1284 H2 HOH A 428 45.562 43.202 7.187 1.00 0.00 H +HETATM 1285 O HOH A 429 25.597 21.744 2.830 1.00 0.00 O +HETATM 1286 H1 HOH A 429 25.313 21.463 3.700 1.00 0.00 H +HETATM 1287 H2 HOH A 429 26.466 22.117 2.968 1.00 0.00 H +HETATM 1288 O HOH A 430 23.734 13.642 37.415 1.00 0.00 O +HETATM 1289 H1 HOH A 430 23.873 13.599 38.361 1.00 0.00 H +HETATM 1290 H2 HOH A 430 24.604 13.788 37.049 1.00 0.00 H +HETATM 1291 O HOH A 431 9.066 32.045 4.261 1.00 0.00 O +HETATM 1292 H1 HOH A 431 8.734 32.765 4.797 1.00 0.00 H +HETATM 1293 H2 HOH A 431 8.535 32.069 3.467 1.00 0.00 H +HETATM 1294 O HOH A 432 37.143 5.609 23.264 1.00 0.00 O +HETATM 1295 H1 HOH A 432 37.213 5.201 22.401 1.00 0.00 H +HETATM 1296 H2 HOH A 432 37.067 4.876 23.872 1.00 0.00 H +HETATM 1297 O HOH A 433 33.589 34.991 21.106 1.00 0.00 O +HETATM 1298 H1 HOH A 433 33.084 34.827 21.902 1.00 0.00 H +HETATM 1299 H2 HOH A 433 34.253 34.304 21.095 1.00 0.00 H +HETATM 1300 O HOH A 434 6.524 48.156 13.237 1.00 0.00 O +HETATM 1301 H1 HOH A 434 6.347 48.989 12.800 1.00 0.00 H +HETATM 1302 H2 HOH A 434 7.284 48.329 13.790 1.00 0.00 H +HETATM 1303 O HOH A 435 48.983 34.572 42.208 1.00 0.00 O +HETATM 1304 H1 HOH A 435 48.106 34.455 41.841 1.00 0.00 H +HETATM 1305 H2 HOH A 435 48.939 34.166 43.072 1.00 0.00 H +HETATM 1306 O HOH A 436 39.666 25.951 42.669 1.00 0.00 O +HETATM 1307 H1 HOH A 436 38.840 26.401 42.491 1.00 0.00 H +HETATM 1308 H2 HOH A 436 40.208 26.128 41.902 1.00 0.00 H +HETATM 1309 O HOH A 437 6.177 34.201 48.799 1.00 0.00 O +HETATM 1310 H1 HOH A 437 5.582 34.593 48.160 1.00 0.00 H +HETATM 1311 H2 HOH A 437 7.016 34.630 48.643 1.00 0.00 H +HETATM 1312 O HOH A 438 30.861 26.831 19.978 1.00 0.00 O +HETATM 1313 H1 HOH A 438 31.187 26.154 19.385 1.00 0.00 H +HETATM 1314 H2 HOH A 438 29.912 26.813 19.867 1.00 0.00 H +HETATM 1315 O HOH A 439 43.541 22.772 33.716 1.00 0.00 O +HETATM 1316 H1 HOH A 439 42.778 23.341 33.822 1.00 0.00 H +HETATM 1317 H2 HOH A 439 43.334 21.992 34.227 1.00 0.00 H +HETATM 1318 O HOH A 440 33.318 15.176 42.636 1.00 0.00 O +HETATM 1319 H1 HOH A 440 34.072 14.595 42.537 1.00 0.00 H +HETATM 1320 H2 HOH A 440 32.869 15.135 41.794 1.00 0.00 H +HETATM 1321 O HOH A 441 10.458 48.320 2.173 1.00 0.00 O +HETATM 1322 H1 HOH A 441 9.650 47.808 2.144 1.00 0.00 H +HETATM 1323 H2 HOH A 441 10.252 49.065 2.735 1.00 0.00 H +HETATM 1324 O HOH A 442 10.861 38.472 14.912 1.00 0.00 O +HETATM 1325 H1 HOH A 442 11.506 38.336 14.218 1.00 0.00 H +HETATM 1326 H2 HOH A 442 10.111 37.939 14.654 1.00 0.00 H +HETATM 1327 O HOH A 443 5.232 31.138 48.330 1.00 0.00 O +HETATM 1328 H1 HOH A 443 5.559 31.028 47.437 1.00 0.00 H +HETATM 1329 H2 HOH A 443 5.846 30.649 48.875 1.00 0.00 H +HETATM 1330 O HOH A 444 19.833 42.686 38.232 1.00 0.00 O +HETATM 1331 H1 HOH A 444 19.703 43.430 38.820 1.00 0.00 H +HETATM 1332 H2 HOH A 444 19.334 41.974 38.630 1.00 0.00 H +HETATM 1333 O HOH A 445 15.179 41.690 46.677 1.00 0.00 O +HETATM 1334 H1 HOH A 445 15.342 42.307 45.963 1.00 0.00 H +HETATM 1335 H2 HOH A 445 14.576 41.047 46.308 1.00 0.00 H +HETATM 1336 O HOH A 446 40.714 25.294 30.915 1.00 0.00 O +HETATM 1337 H1 HOH A 446 41.370 24.855 30.373 1.00 0.00 H +HETATM 1338 H2 HOH A 446 40.902 26.226 30.815 1.00 0.00 H +HETATM 1339 O HOH A 447 18.569 25.722 26.988 1.00 0.00 O +HETATM 1340 H1 HOH A 447 19.158 24.969 27.034 1.00 0.00 H +HETATM 1341 H2 HOH A 447 18.452 25.881 26.053 1.00 0.00 H +HETATM 1342 O HOH A 448 43.175 14.613 16.264 1.00 0.00 O +HETATM 1343 H1 HOH A 448 43.431 15.394 16.755 1.00 0.00 H +HETATM 1344 H2 HOH A 448 43.630 14.692 15.428 1.00 0.00 H +HETATM 1345 O HOH A 449 45.570 14.573 11.790 1.00 0.00 O +HETATM 1346 H1 HOH A 449 44.998 15.257 11.444 1.00 0.00 H +HETATM 1347 H2 HOH A 449 45.121 13.755 11.585 1.00 0.00 H +HETATM 1348 O HOH A 450 24.943 3.463 28.892 1.00 0.00 O +HETATM 1349 H1 HOH A 450 24.906 2.557 29.198 1.00 0.00 H +HETATM 1350 H2 HOH A 450 25.442 3.925 29.563 1.00 0.00 H +HETATM 1351 O HOH A 451 45.393 24.068 44.295 1.00 0.00 O +HETATM 1352 H1 HOH A 451 45.123 23.319 43.762 1.00 0.00 H +HETATM 1353 H2 HOH A 451 45.572 24.762 43.664 1.00 0.00 H +HETATM 1354 O HOH A 452 42.067 47.174 12.223 1.00 0.00 O +HETATM 1355 H1 HOH A 452 42.611 46.535 11.761 1.00 0.00 H +HETATM 1356 H2 HOH A 452 42.620 47.949 12.302 1.00 0.00 H +HETATM 1357 O HOH A 453 28.110 13.583 21.096 1.00 0.00 O +HETATM 1358 H1 HOH A 453 28.029 12.979 20.358 1.00 0.00 H +HETATM 1359 H2 HOH A 453 28.856 13.256 21.595 1.00 0.00 H +HETATM 1360 O HOH A 454 3.600 15.127 47.181 1.00 0.00 O +HETATM 1361 H1 HOH A 454 3.440 14.648 47.995 1.00 0.00 H +HETATM 1362 H2 HOH A 454 4.416 15.600 47.335 1.00 0.00 H +HETATM 1363 O HOH A 455 7.303 47.726 16.231 1.00 0.00 O +HETATM 1364 H1 HOH A 455 6.400 48.013 16.098 1.00 0.00 H +HETATM 1365 H2 HOH A 455 7.739 48.475 16.633 1.00 0.00 H +HETATM 1366 O HOH A 456 20.535 48.278 45.797 1.00 0.00 O +HETATM 1367 H1 HOH A 456 20.203 49.176 45.821 1.00 0.00 H +HETATM 1368 H2 HOH A 456 20.490 48.028 44.876 1.00 0.00 H +HETATM 1369 O HOH A 457 11.327 46.165 10.474 1.00 0.00 O +HETATM 1370 H1 HOH A 457 11.611 46.023 11.377 1.00 0.00 H +HETATM 1371 H2 HOH A 457 11.991 46.741 10.100 1.00 0.00 H +HETATM 1372 O HOH A 458 8.074 40.274 19.515 1.00 0.00 O +HETATM 1373 H1 HOH A 458 7.608 39.440 19.447 1.00 0.00 H +HETATM 1374 H2 HOH A 458 8.116 40.452 20.453 1.00 0.00 H +HETATM 1375 O HOH A 459 20.592 26.488 30.111 1.00 0.00 O +HETATM 1376 H1 HOH A 459 20.195 27.329 30.338 1.00 0.00 H +HETATM 1377 H2 HOH A 459 19.955 26.066 29.538 1.00 0.00 H +HETATM 1378 O HOH A 460 7.357 10.997 34.868 1.00 0.00 O +HETATM 1379 H1 HOH A 460 6.524 11.319 35.211 1.00 0.00 H +HETATM 1380 H2 HOH A 460 7.480 10.149 35.290 1.00 0.00 H +HETATM 1381 O HOH A 461 24.196 37.331 2.275 1.00 0.00 O +HETATM 1382 H1 HOH A 461 24.287 36.415 2.540 1.00 0.00 H +HETATM 1383 H2 HOH A 461 24.734 37.409 1.489 1.00 0.00 H +HETATM 1384 O HOH A 462 12.198 32.956 21.617 1.00 0.00 O +HETATM 1385 H1 HOH A 462 12.545 32.077 21.468 1.00 0.00 H +HETATM 1386 H2 HOH A 462 11.956 33.271 20.748 1.00 0.00 H +HETATM 1387 O HOH A 463 6.819 11.167 39.327 1.00 0.00 O +HETATM 1388 H1 HOH A 463 6.195 11.892 39.292 1.00 0.00 H +HETATM 1389 H2 HOH A 463 6.402 10.515 39.887 1.00 0.00 H +HETATM 1390 O HOH A 464 1.800 36.337 2.966 1.00 0.00 O +HETATM 1391 H1 HOH A 464 0.867 36.143 2.869 1.00 0.00 H +HETATM 1392 H2 HOH A 464 2.191 36.060 2.139 1.00 0.00 H +HETATM 1393 O HOH A 465 40.353 2.300 37.792 1.00 0.00 O +HETATM 1394 H1 HOH A 465 39.799 3.078 37.860 1.00 0.00 H +HETATM 1395 H2 HOH A 465 40.826 2.267 38.622 1.00 0.00 H +HETATM 1396 O HOH A 466 10.399 46.720 37.359 1.00 0.00 O +HETATM 1397 H1 HOH A 466 10.648 47.066 38.217 1.00 0.00 H +HETATM 1398 H2 HOH A 466 11.207 46.730 36.851 1.00 0.00 H +HETATM 1399 O HOH A 467 17.384 19.886 49.152 1.00 0.00 O +HETATM 1400 H1 HOH A 467 16.689 19.344 48.778 1.00 0.00 H +HETATM 1401 H2 HOH A 467 17.571 19.487 50.000 1.00 0.00 H +HETATM 1402 O HOH A 468 16.739 47.936 49.202 1.00 0.00 O +HETATM 1403 H1 HOH A 468 16.293 48.750 49.437 1.00 0.00 H +HETATM 1404 H2 HOH A 468 16.054 47.270 49.226 1.00 0.00 H +HETATM 1405 O HOH A 469 18.046 13.611 6.777 1.00 0.00 O +HETATM 1406 H1 HOH A 469 18.211 14.135 5.992 1.00 0.00 H +HETATM 1407 H2 HOH A 469 17.635 14.218 7.390 1.00 0.00 H +HETATM 1408 O HOH A 470 34.896 42.873 24.352 1.00 0.00 O +HETATM 1409 H1 HOH A 470 35.281 42.080 24.725 1.00 0.00 H +HETATM 1410 H2 HOH A 470 34.518 43.333 25.099 1.00 0.00 H +HETATM 1411 O HOH A 471 34.529 47.055 40.110 1.00 0.00 O +HETATM 1412 H1 HOH A 471 34.559 46.363 40.772 1.00 0.00 H +HETATM 1413 H2 HOH A 471 33.714 47.522 40.286 1.00 0.00 H +HETATM 1414 O HOH A 472 48.296 44.341 13.000 1.00 0.00 O +HETATM 1415 H1 HOH A 472 48.074 44.017 12.126 1.00 0.00 H +HETATM 1416 H2 HOH A 472 48.568 45.246 12.860 1.00 0.00 H +HETATM 1417 O HOH A 473 42.828 37.819 12.516 1.00 0.00 O +HETATM 1418 H1 HOH A 473 42.698 38.568 13.098 1.00 0.00 H +HETATM 1419 H2 HOH A 473 42.218 37.157 12.836 1.00 0.00 H +HETATM 1420 O HOH A 474 26.864 15.352 38.715 1.00 0.00 O +HETATM 1421 H1 HOH A 474 26.539 14.512 39.039 1.00 0.00 H +HETATM 1422 H2 HOH A 474 26.401 15.487 37.890 1.00 0.00 H +HETATM 1423 O HOH A 475 35.284 36.306 49.313 1.00 0.00 O +HETATM 1424 H1 HOH A 475 35.238 37.025 48.683 1.00 0.00 H +HETATM 1425 H2 HOH A 475 35.896 36.608 49.981 1.00 0.00 H +HETATM 1426 O HOH A 476 3.377 13.450 30.180 1.00 0.00 O +HETATM 1427 H1 HOH A 476 2.601 13.560 29.630 1.00 0.00 H +HETATM 1428 H2 HOH A 476 4.102 13.759 29.640 1.00 0.00 H +HETATM 1429 O HOH A 477 39.947 15.283 17.128 1.00 0.00 O +HETATM 1430 H1 HOH A 477 39.555 14.501 16.740 1.00 0.00 H +HETATM 1431 H2 HOH A 477 39.234 15.919 17.163 1.00 0.00 H +HETATM 1432 O HOH A 478 38.030 11.041 18.215 1.00 0.00 O +HETATM 1433 H1 HOH A 478 38.094 11.767 17.594 1.00 0.00 H +HETATM 1434 H2 HOH A 478 38.604 10.366 17.858 1.00 0.00 H +HETATM 1435 O HOH A 479 36.495 47.555 15.670 1.00 0.00 O +HETATM 1436 H1 HOH A 479 36.560 47.554 14.715 1.00 0.00 H +HETATM 1437 H2 HOH A 479 37.117 46.888 15.955 1.00 0.00 H +HETATM 1438 O HOH A 480 12.083 20.199 16.643 1.00 0.00 O +HETATM 1439 H1 HOH A 480 11.576 19.391 16.734 1.00 0.00 H +HETATM 1440 H2 HOH A 480 12.957 19.972 16.955 1.00 0.00 H +HETATM 1441 O HOH A 481 17.977 37.766 37.247 1.00 0.00 O +HETATM 1442 H1 HOH A 481 17.134 37.366 37.460 1.00 0.00 H +HETATM 1443 H2 HOH A 481 17.773 38.422 36.584 1.00 0.00 H +HETATM 1444 O HOH A 482 28.319 48.616 31.439 1.00 0.00 O +HETATM 1445 H1 HOH A 482 29.092 49.174 31.350 1.00 0.00 H +HETATM 1446 H2 HOH A 482 28.583 47.935 32.055 1.00 0.00 H +HETATM 1447 O HOH A 483 36.826 16.481 7.807 1.00 0.00 O +HETATM 1448 H1 HOH A 483 37.411 16.667 8.542 1.00 0.00 H +HETATM 1449 H2 HOH A 483 35.973 16.807 8.089 1.00 0.00 H +HETATM 1450 O HOH A 484 4.694 5.743 33.621 1.00 0.00 O +HETATM 1451 H1 HOH A 484 3.990 6.033 33.040 1.00 0.00 H +HETATM 1452 H2 HOH A 484 4.937 6.525 34.114 1.00 0.00 H +HETATM 1453 O HOH A 485 46.778 15.439 31.782 1.00 0.00 O +HETATM 1454 H1 HOH A 485 47.699 15.384 31.527 1.00 0.00 H +HETATM 1455 H2 HOH A 485 46.671 16.330 32.110 1.00 0.00 H +HETATM 1456 O HOH A 486 48.080 32.670 25.129 1.00 0.00 O +HETATM 1457 H1 HOH A 486 47.698 32.290 25.921 1.00 0.00 H +HETATM 1458 H2 HOH A 486 48.659 33.360 25.448 1.00 0.00 H +HETATM 1459 O HOH A 487 25.928 38.356 35.138 1.00 0.00 O +HETATM 1460 H1 HOH A 487 25.343 37.720 35.550 1.00 0.00 H +HETATM 1461 H2 HOH A 487 26.765 37.902 35.063 1.00 0.00 H +HETATM 1462 O HOH A 488 14.267 4.109 10.382 1.00 0.00 O +HETATM 1463 H1 HOH A 488 13.877 4.087 11.256 1.00 0.00 H +HETATM 1464 H2 HOH A 488 15.142 3.743 10.499 1.00 0.00 H +HETATM 1465 O HOH A 489 48.095 32.187 48.677 1.00 0.00 O +HETATM 1466 H1 HOH A 489 48.087 33.137 48.555 1.00 0.00 H +HETATM 1467 H2 HOH A 489 47.456 32.027 49.368 1.00 0.00 H +HETATM 1468 O HOH A 490 44.464 28.578 31.333 1.00 0.00 O +HETATM 1469 H1 HOH A 490 45.387 28.777 31.177 1.00 0.00 H +HETATM 1470 H2 HOH A 490 44.335 28.740 32.265 1.00 0.00 H +HETATM 1471 O HOH A 491 40.751 24.429 48.375 1.00 0.00 O +HETATM 1472 H1 HOH A 491 41.117 24.988 47.690 1.00 0.00 H +HETATM 1473 H2 HOH A 491 41.316 23.659 48.388 1.00 0.00 H +HETATM 1474 O HOH A 492 18.874 18.615 10.465 1.00 0.00 O +HETATM 1475 H1 HOH A 492 18.780 19.540 10.691 1.00 0.00 H +HETATM 1476 H2 HOH A 492 19.652 18.579 9.912 1.00 0.00 H +HETATM 1477 O HOH A 493 15.185 26.412 8.602 1.00 0.00 O +HETATM 1478 H1 HOH A 493 15.647 25.751 8.085 1.00 0.00 H +HETATM 1479 H2 HOH A 493 14.289 26.087 8.666 1.00 0.00 H +HETATM 1480 O HOH A 494 5.260 4.821 29.279 1.00 0.00 O +HETATM 1481 H1 HOH A 494 4.570 4.188 29.083 1.00 0.00 H +HETATM 1482 H2 HOH A 494 4.814 5.529 29.740 1.00 0.00 H +HETATM 1483 O HOH A 495 35.061 36.965 32.492 1.00 0.00 O +HETATM 1484 H1 HOH A 495 34.111 36.976 32.377 1.00 0.00 H +HETATM 1485 H2 HOH A 495 35.405 37.377 31.702 1.00 0.00 H +HETATM 1486 O HOH A 496 41.508 20.141 44.880 1.00 0.00 O +HETATM 1487 H1 HOH A 496 40.984 20.922 45.060 1.00 0.00 H +HETATM 1488 H2 HOH A 496 40.869 19.473 44.635 1.00 0.00 H +HETATM 1489 O HOH A 497 42.463 29.320 29.895 1.00 0.00 O +HETATM 1490 H1 HOH A 497 41.952 29.553 30.670 1.00 0.00 H +HETATM 1491 H2 HOH A 497 43.246 29.866 29.949 1.00 0.00 H +HETATM 1492 O HOH A 498 17.473 42.760 4.730 1.00 0.00 O +HETATM 1493 H1 HOH A 498 17.936 42.588 5.550 1.00 0.00 H +HETATM 1494 H2 HOH A 498 17.589 41.964 4.215 1.00 0.00 H +HETATM 1495 O HOH A 499 11.106 27.378 17.855 1.00 0.00 O +HETATM 1496 H1 HOH A 499 10.893 26.652 18.441 1.00 0.00 H +HETATM 1497 H2 HOH A 499 12.040 27.281 17.680 1.00 0.00 H +HETATM 1498 O HOH A 500 44.361 14.106 20.734 1.00 0.00 O +HETATM 1499 H1 HOH A 500 44.760 13.767 21.535 1.00 0.00 H +HETATM 1500 H2 HOH A 500 44.643 15.018 20.690 1.00 0.00 H +HETATM 1501 O HOH A 501 27.426 10.055 38.622 1.00 0.00 O +HETATM 1502 H1 HOH A 501 28.069 9.627 39.188 1.00 0.00 H +HETATM 1503 H2 HOH A 501 27.192 10.857 39.085 1.00 0.00 H +HETATM 1504 O HOH A 502 47.519 34.346 39.568 1.00 0.00 O +HETATM 1505 H1 HOH A 502 47.788 33.460 39.324 1.00 0.00 H +HETATM 1506 H2 HOH A 502 48.315 34.869 39.493 1.00 0.00 H +HETATM 1507 O HOH A 503 30.931 18.586 39.356 1.00 0.00 O +HETATM 1508 H1 HOH A 503 30.783 17.755 39.808 1.00 0.00 H +HETATM 1509 H2 HOH A 503 31.777 18.890 39.680 1.00 0.00 H +HETATM 1510 O HOH A 504 23.878 25.866 19.617 1.00 0.00 O +HETATM 1511 H1 HOH A 504 23.196 25.212 19.461 1.00 0.00 H +HETATM 1512 H2 HOH A 504 24.163 26.131 18.745 1.00 0.00 H +HETATM 1513 O HOH A 505 39.871 38.648 26.547 1.00 0.00 O +HETATM 1514 H1 HOH A 505 39.882 38.421 27.477 1.00 0.00 H +HETATM 1515 H2 HOH A 505 39.371 37.947 26.134 1.00 0.00 H +HETATM 1516 O HOH A 506 2.525 22.786 11.397 1.00 0.00 O +HETATM 1517 H1 HOH A 506 1.801 22.159 11.390 1.00 0.00 H +HETATM 1518 H2 HOH A 506 3.023 22.571 12.183 1.00 0.00 H +HETATM 1519 O HOH A 507 26.265 0.495 11.192 1.00 0.00 O +HETATM 1520 H1 HOH A 507 27.089 0.859 10.869 1.00 0.00 H +HETATM 1521 H2 HOH A 507 26.099 0.960 12.010 1.00 0.00 H +HETATM 1522 O HOH A 508 29.412 10.031 27.915 1.00 0.00 O +HETATM 1523 H1 HOH A 508 29.870 9.396 28.466 1.00 0.00 H +HETATM 1524 H2 HOH A 508 29.296 10.797 28.473 1.00 0.00 H +HETATM 1525 O HOH A 509 27.565 36.541 49.230 1.00 0.00 O +HETATM 1526 H1 HOH A 509 26.842 36.445 48.610 1.00 0.00 H +HETATM 1527 H2 HOH A 509 28.019 37.334 48.952 1.00 0.00 H +HETATM 1528 O HOH A 510 15.032 23.020 16.730 1.00 0.00 O +HETATM 1529 H1 HOH A 510 15.150 22.883 15.790 1.00 0.00 H +HETATM 1530 H2 HOH A 510 15.906 22.916 17.101 1.00 0.00 H +HETATM 1531 O HOH A 511 25.643 19.306 49.519 1.00 0.00 O +HETATM 1532 H1 HOH A 511 24.760 19.588 49.280 1.00 0.00 H +HETATM 1533 H2 HOH A 511 26.161 20.109 49.521 1.00 0.00 H +HETATM 1534 O HOH A 512 46.632 48.940 43.952 1.00 0.00 O +HETATM 1535 H1 HOH A 512 47.483 49.024 44.382 1.00 0.00 H +HETATM 1536 H2 HOH A 512 46.037 48.667 44.647 1.00 0.00 H +HETATM 1537 O HOH A 513 47.703 6.880 5.152 1.00 0.00 O +HETATM 1538 H1 HOH A 513 47.861 7.671 4.637 1.00 0.00 H +HETATM 1539 H2 HOH A 513 47.455 7.200 6.017 1.00 0.00 H +HETATM 1540 O HOH A 514 12.649 30.012 6.208 1.00 0.00 O +HETATM 1541 H1 HOH A 514 12.399 30.259 5.317 1.00 0.00 H +HETATM 1542 H2 HOH A 514 13.313 29.335 6.093 1.00 0.00 H +HETATM 1543 O HOH A 515 49.481 8.202 37.122 1.00 0.00 O +HETATM 1544 H1 HOH A 515 48.690 8.234 37.659 1.00 0.00 H +HETATM 1545 H2 HOH A 515 49.386 7.409 36.598 1.00 0.00 H +HETATM 1546 O HOH A 516 16.386 22.189 25.509 1.00 0.00 O +HETATM 1547 H1 HOH A 516 15.892 22.099 24.694 1.00 0.00 H +HETATM 1548 H2 HOH A 516 16.968 22.932 25.359 1.00 0.00 H +HETATM 1549 O HOH A 517 1.631 25.599 7.151 1.00 0.00 O +HETATM 1550 H1 HOH A 517 1.952 26.081 7.913 1.00 0.00 H +HETATM 1551 H2 HOH A 517 0.705 25.829 7.092 1.00 0.00 H +HETATM 1552 O HOH A 518 36.235 2.868 49.140 1.00 0.00 O +HETATM 1553 H1 HOH A 518 36.476 2.506 48.287 1.00 0.00 H +HETATM 1554 H2 HOH A 518 36.705 2.328 49.773 1.00 0.00 H +HETATM 1555 O HOH A 519 23.796 49.303 47.160 1.00 0.00 O +HETATM 1556 H1 HOH A 519 23.141 49.053 46.509 1.00 0.00 H +HETATM 1557 H2 HOH A 519 24.467 48.626 47.101 1.00 0.00 H +HETATM 1558 O HOH A 520 27.031 24.532 37.815 1.00 0.00 O +HETATM 1559 H1 HOH A 520 27.707 23.914 38.093 1.00 0.00 H +HETATM 1560 H2 HOH A 520 26.842 25.052 38.594 1.00 0.00 H +HETATM 1561 O HOH A 521 48.751 8.880 26.574 1.00 0.00 O +HETATM 1562 H1 HOH A 521 48.200 8.331 27.132 1.00 0.00 H +HETATM 1563 H2 HOH A 521 49.641 8.724 26.885 1.00 0.00 H +HETATM 1564 O HOH A 522 19.578 8.146 48.942 1.00 0.00 O +HETATM 1565 H1 HOH A 522 18.764 7.856 48.529 1.00 0.00 H +HETATM 1566 H2 HOH A 522 19.597 7.694 49.783 1.00 0.00 H +HETATM 1567 O HOH A 523 7.232 26.060 32.592 1.00 0.00 O +HETATM 1568 H1 HOH A 523 6.740 26.815 32.269 1.00 0.00 H +HETATM 1569 H2 HOH A 523 8.023 26.041 32.057 1.00 0.00 H +HETATM 1570 O HOH A 524 17.209 30.207 35.001 1.00 0.00 O +HETATM 1571 H1 HOH A 524 16.965 29.575 34.324 1.00 0.00 H +HETATM 1572 H2 HOH A 524 16.845 31.037 34.700 1.00 0.00 H +HETATM 1573 O HOH A 525 15.520 19.130 32.296 1.00 0.00 O +HETATM 1574 H1 HOH A 525 15.270 18.214 32.418 1.00 0.00 H +HETATM 1575 H2 HOH A 525 14.712 19.567 32.029 1.00 0.00 H +HETATM 1576 O HOH A 526 46.572 8.042 10.289 1.00 0.00 O +HETATM 1577 H1 HOH A 526 45.926 7.594 10.835 1.00 0.00 H +HETATM 1578 H2 HOH A 526 47.400 7.928 10.751 1.00 0.00 H +HETATM 1579 O HOH A 527 14.418 37.884 23.735 1.00 0.00 O +HETATM 1580 H1 HOH A 527 15.196 37.785 23.186 1.00 0.00 H +HETATM 1581 H2 HOH A 527 13.787 37.264 23.373 1.00 0.00 H +HETATM 1582 O HOH A 528 34.289 28.455 35.266 1.00 0.00 O +HETATM 1583 H1 HOH A 528 33.676 28.671 34.563 1.00 0.00 H +HETATM 1584 H2 HOH A 528 34.887 29.200 35.302 1.00 0.00 H +HETATM 1585 O HOH A 529 46.310 43.810 25.371 1.00 0.00 O +HETATM 1586 H1 HOH A 529 46.307 42.997 25.876 1.00 0.00 H +HETATM 1587 H2 HOH A 529 46.826 44.419 25.896 1.00 0.00 H +HETATM 1588 O HOH A 530 38.007 24.927 25.992 1.00 0.00 O +HETATM 1589 H1 HOH A 530 37.875 24.330 26.729 1.00 0.00 H +HETATM 1590 H2 HOH A 530 38.402 24.386 25.311 1.00 0.00 H +HETATM 1591 O HOH A 531 21.815 2.746 10.328 1.00 0.00 O +HETATM 1592 H1 HOH A 531 22.183 3.594 10.081 1.00 0.00 H +HETATM 1593 H2 HOH A 531 22.387 2.104 9.912 1.00 0.00 H +HETATM 1594 O HOH A 532 8.470 11.543 19.150 1.00 0.00 O +HETATM 1595 H1 HOH A 532 8.066 12.211 18.596 1.00 0.00 H +HETATM 1596 H2 HOH A 532 8.630 11.984 19.982 1.00 0.00 H +HETATM 1597 O HOH A 533 27.525 48.703 13.406 1.00 0.00 O +HETATM 1598 H1 HOH A 533 27.694 48.021 12.755 1.00 0.00 H +HETATM 1599 H2 HOH A 533 26.728 49.134 13.102 1.00 0.00 H +HETATM 1600 O HOH A 534 19.304 47.863 36.253 1.00 0.00 O +HETATM 1601 H1 HOH A 534 18.814 48.182 37.011 1.00 0.00 H +HETATM 1602 H2 HOH A 534 19.778 47.099 36.576 1.00 0.00 H +HETATM 1603 O HOH A 535 33.396 17.973 14.741 1.00 0.00 O +HETATM 1604 H1 HOH A 535 32.909 17.425 15.357 1.00 0.00 H +HETATM 1605 H2 HOH A 535 34.286 17.994 15.089 1.00 0.00 H +HETATM 1606 O HOH A 536 35.374 11.470 24.509 1.00 0.00 O +HETATM 1607 H1 HOH A 536 35.444 12.162 23.851 1.00 0.00 H +HETATM 1608 H2 HOH A 536 35.902 10.753 24.162 1.00 0.00 H +HETATM 1609 O HOH A 537 27.407 5.500 25.103 1.00 0.00 O +HETATM 1610 H1 HOH A 537 27.254 4.830 25.770 1.00 0.00 H +HETATM 1611 H2 HOH A 537 26.721 5.356 24.454 1.00 0.00 H +HETATM 1612 O HOH A 538 5.351 10.300 37.036 1.00 0.00 O +HETATM 1613 H1 HOH A 538 5.417 9.587 36.399 1.00 0.00 H +HETATM 1614 H2 HOH A 538 6.249 10.451 37.324 1.00 0.00 H +HETATM 1615 O HOH A 539 11.580 23.912 15.061 1.00 0.00 O +HETATM 1616 H1 HOH A 539 12.501 23.686 14.930 1.00 0.00 H +HETATM 1617 H2 HOH A 539 11.145 23.626 14.260 1.00 0.00 H +HETATM 1618 O HOH A 540 41.960 45.600 26.996 1.00 0.00 O +HETATM 1619 H1 HOH A 540 42.001 45.011 27.750 1.00 0.00 H +HETATM 1620 H2 HOH A 540 42.410 46.392 27.284 1.00 0.00 H +HETATM 1621 O HOH A 541 36.762 23.907 4.884 1.00 0.00 O +HETATM 1622 H1 HOH A 541 37.088 24.706 4.469 1.00 0.00 H +HETATM 1623 H2 HOH A 541 36.984 23.209 4.270 1.00 0.00 H +HETATM 1624 O HOH A 542 40.034 26.210 19.078 1.00 0.00 O +HETATM 1625 H1 HOH A 542 39.693 26.652 19.856 1.00 0.00 H +HETATM 1626 H2 HOH A 542 39.769 25.298 19.184 1.00 0.00 H +HETATM 1627 O HOH A 543 1.577 13.191 3.938 1.00 0.00 O +HETATM 1628 H1 HOH A 543 1.678 12.615 4.696 1.00 0.00 H +HETATM 1629 H2 HOH A 543 2.219 12.873 3.306 1.00 0.00 H +HETATM 1630 O HOH A 544 20.060 34.350 40.852 1.00 0.00 O +HETATM 1631 H1 HOH A 544 20.837 34.324 40.294 1.00 0.00 H +HETATM 1632 H2 HOH A 544 19.984 33.465 41.203 1.00 0.00 H +HETATM 1633 O HOH A 545 34.452 35.570 46.826 1.00 0.00 O +HETATM 1634 H1 HOH A 545 35.164 35.305 46.243 1.00 0.00 H +HETATM 1635 H2 HOH A 545 34.317 36.497 46.637 1.00 0.00 H +HETATM 1636 O HOH A 546 30.617 16.672 6.401 1.00 0.00 O +HETATM 1637 H1 HOH A 546 31.413 16.396 6.857 1.00 0.00 H +HETATM 1638 H2 HOH A 546 29.909 16.481 7.014 1.00 0.00 H +HETATM 1639 O HOH A 547 21.890 18.131 41.175 1.00 0.00 O +HETATM 1640 H1 HOH A 547 22.698 18.462 40.783 1.00 0.00 H +HETATM 1641 H2 HOH A 547 21.828 17.226 40.875 1.00 0.00 H +HETATM 1642 O HOH A 548 43.505 20.626 23.140 1.00 0.00 O +HETATM 1643 H1 HOH A 548 44.065 20.411 23.886 1.00 0.00 H +HETATM 1644 H2 HOH A 548 42.752 21.071 23.524 1.00 0.00 H +HETATM 1645 O HOH A 549 14.248 13.060 36.450 1.00 0.00 O +HETATM 1646 H1 HOH A 549 13.312 13.159 36.271 1.00 0.00 H +HETATM 1647 H2 HOH A 549 14.396 13.563 37.248 1.00 0.00 H +HETATM 1648 O HOH A 550 24.863 26.470 36.096 1.00 0.00 O +HETATM 1649 H1 HOH A 550 25.017 26.683 35.175 1.00 0.00 H +HETATM 1650 H2 HOH A 550 25.012 27.290 36.562 1.00 0.00 H +HETATM 1651 O HOH A 551 2.088 0.360 40.052 1.00 0.00 O +HETATM 1652 H1 HOH A 551 2.295 1.293 40.118 1.00 0.00 H +HETATM 1653 H2 HOH A 551 1.285 0.254 40.558 1.00 0.00 H +HETATM 1654 O HOH A 552 35.031 47.576 2.077 1.00 0.00 O +HETATM 1655 H1 HOH A 552 35.049 48.282 2.723 1.00 0.00 H +HETATM 1656 H2 HOH A 552 34.725 47.991 1.273 1.00 0.00 H +HETATM 1657 O HOH A 553 34.797 8.018 41.883 1.00 0.00 O +HETATM 1658 H1 HOH A 553 34.981 7.137 42.210 1.00 0.00 H +HETATM 1659 H2 HOH A 553 35.339 8.593 42.419 1.00 0.00 H +HETATM 1660 O HOH A 554 13.556 49.406 46.503 1.00 0.00 O +HETATM 1661 H1 HOH A 554 13.739 49.990 47.239 1.00 0.00 H +HETATM 1662 H2 HOH A 554 13.436 48.546 46.900 1.00 0.00 H +HETATM 1663 O HOH A 555 31.734 27.608 17.331 1.00 0.00 O +HETATM 1664 H1 HOH A 555 31.145 28.231 17.758 1.00 0.00 H +HETATM 1665 H2 HOH A 555 32.495 27.561 17.906 1.00 0.00 H +HETATM 1666 O HOH A 556 36.703 8.971 0.580 1.00 0.00 O +HETATM 1667 H1 HOH A 556 36.997 9.111 1.480 1.00 0.00 H +HETATM 1668 H2 HOH A 556 36.010 9.615 0.450 1.00 0.00 H +HETATM 1669 O HOH A 557 16.016 2.974 35.133 1.00 0.00 O +HETATM 1670 H1 HOH A 557 15.156 2.555 35.175 1.00 0.00 H +HETATM 1671 H2 HOH A 557 16.336 2.958 36.033 1.00 0.00 H +HETATM 1672 O HOH A 558 5.451 47.956 47.185 1.00 0.00 O +HETATM 1673 H1 HOH A 558 6.083 48.525 47.624 1.00 0.00 H +HETATM 1674 H2 HOH A 558 5.771 47.070 47.344 1.00 0.00 H +HETATM 1675 O HOH A 559 46.884 21.142 45.143 1.00 0.00 O +HETATM 1676 H1 HOH A 559 46.210 21.338 45.794 1.00 0.00 H +HETATM 1677 H2 HOH A 559 47.087 20.218 45.276 1.00 0.00 H +HETATM 1678 O HOH A 560 16.303 3.797 28.424 1.00 0.00 O +HETATM 1679 H1 HOH A 560 16.250 2.872 28.182 1.00 0.00 H +HETATM 1680 H2 HOH A 560 15.478 4.173 28.124 1.00 0.00 H +HETATM 1681 O HOH A 561 47.817 44.437 31.582 1.00 0.00 O +HETATM 1682 H1 HOH A 561 47.378 44.774 30.801 1.00 0.00 H +HETATM 1683 H2 HOH A 561 47.473 44.966 32.299 1.00 0.00 H +HETATM 1684 O HOH A 562 22.572 28.955 36.144 1.00 0.00 O +HETATM 1685 H1 HOH A 562 22.134 28.373 35.523 1.00 0.00 H +HETATM 1686 H2 HOH A 562 22.725 29.760 35.654 1.00 0.00 H +HETATM 1687 O HOH A 563 21.559 40.084 12.898 1.00 0.00 O +HETATM 1688 H1 HOH A 563 20.654 40.355 13.054 1.00 0.00 H +HETATM 1689 H2 HOH A 563 21.542 39.665 12.040 1.00 0.00 H +HETATM 1690 O HOH A 564 1.442 6.421 36.640 1.00 0.00 O +HETATM 1691 H1 HOH A 564 0.888 6.807 37.319 1.00 0.00 H +HETATM 1692 H2 HOH A 564 2.298 6.323 37.054 1.00 0.00 H +HETATM 1693 O HOH A 565 35.721 8.418 25.135 1.00 0.00 O +HETATM 1694 H1 HOH A 565 35.698 8.317 26.087 1.00 0.00 H +HETATM 1695 H2 HOH A 565 35.756 7.524 24.798 1.00 0.00 H +HETATM 1696 O HOH A 566 14.775 25.584 28.840 1.00 0.00 O +HETATM 1697 H1 HOH A 566 14.141 24.869 28.783 1.00 0.00 H +HETATM 1698 H2 HOH A 566 14.285 26.313 29.216 1.00 0.00 H +HETATM 1699 O HOH A 567 0.967 28.846 5.906 1.00 0.00 O +HETATM 1700 H1 HOH A 567 1.828 29.211 6.108 1.00 0.00 H +HETATM 1701 H2 HOH A 567 0.948 28.005 6.360 1.00 0.00 H +HETATM 1702 O HOH A 568 36.652 32.042 10.649 1.00 0.00 O +HETATM 1703 H1 HOH A 568 35.720 31.904 10.478 1.00 0.00 H +HETATM 1704 H2 HOH A 568 36.949 32.597 9.931 1.00 0.00 H +HETATM 1705 O HOH A 569 25.158 34.750 7.813 1.00 0.00 O +HETATM 1706 H1 HOH A 569 25.548 34.074 7.257 1.00 0.00 H +HETATM 1707 H2 HOH A 569 25.878 35.057 8.361 1.00 0.00 H +HETATM 1708 O HOH A 570 45.900 24.540 26.324 1.00 0.00 O +HETATM 1709 H1 HOH A 570 45.513 25.170 25.717 1.00 0.00 H +HETATM 1710 H2 HOH A 570 45.965 25.011 27.153 1.00 0.00 H +HETATM 1711 O HOH A 571 27.136 27.348 41.027 1.00 0.00 O +HETATM 1712 H1 HOH A 571 26.541 27.997 40.653 1.00 0.00 H +HETATM 1713 H2 HOH A 571 26.809 27.202 41.913 1.00 0.00 H +HETATM 1714 O HOH A 572 16.972 40.789 10.157 1.00 0.00 O +HETATM 1715 H1 HOH A 572 16.293 40.441 10.734 1.00 0.00 H +HETATM 1716 H2 HOH A 572 17.162 41.659 10.504 1.00 0.00 H +HETATM 1717 O HOH A 573 46.297 9.399 3.927 1.00 0.00 O +HETATM 1718 H1 HOH A 573 47.030 9.302 3.319 1.00 0.00 H +HETATM 1719 H2 HOH A 573 45.546 9.036 3.459 1.00 0.00 H +HETATM 1720 O HOH A 574 46.810 45.333 5.642 1.00 0.00 O +HETATM 1721 H1 HOH A 574 46.274 45.785 4.989 1.00 0.00 H +HETATM 1722 H2 HOH A 574 47.676 45.726 5.557 1.00 0.00 H +HETATM 1723 O HOH A 575 40.580 21.623 49.733 1.00 0.00 O +HETATM 1724 H1 HOH A 575 41.304 20.997 49.763 1.00 0.00 H +HETATM 1725 H2 HOH A 575 40.374 21.710 48.804 1.00 0.00 H +HETATM 1726 O HOH A 576 3.164 41.633 34.046 1.00 0.00 O +HETATM 1727 H1 HOH A 576 3.412 41.630 34.970 1.00 0.00 H +HETATM 1728 H2 HOH A 576 2.221 41.482 34.049 1.00 0.00 H +HETATM 1729 O HOH A 577 3.741 19.140 12.322 1.00 0.00 O +HETATM 1730 H1 HOH A 577 4.389 19.455 12.952 1.00 0.00 H +HETATM 1731 H2 HOH A 577 2.909 19.490 12.636 1.00 0.00 H +HETATM 1732 O HOH A 578 11.989 29.710 9.587 1.00 0.00 O +HETATM 1733 H1 HOH A 578 11.358 30.409 9.759 1.00 0.00 H +HETATM 1734 H2 HOH A 578 12.815 30.164 9.428 1.00 0.00 H +HETATM 1735 O HOH A 579 24.668 34.509 48.140 1.00 0.00 O +HETATM 1736 H1 HOH A 579 24.035 34.333 48.836 1.00 0.00 H +HETATM 1737 H2 HOH A 579 24.611 33.749 47.564 1.00 0.00 H +HETATM 1738 O HOH A 580 7.031 30.296 16.668 1.00 0.00 O +HETATM 1739 H1 HOH A 580 7.333 29.799 15.908 1.00 0.00 H +HETATM 1740 H2 HOH A 580 7.831 30.605 17.089 1.00 0.00 H +HETATM 1741 O HOH A 581 12.359 33.362 14.684 1.00 0.00 O +HETATM 1742 H1 HOH A 581 12.047 32.473 14.513 1.00 0.00 H +HETATM 1743 H2 HOH A 581 12.970 33.268 15.412 1.00 0.00 H +HETATM 1744 O HOH A 582 24.650 30.969 1.545 1.00 0.00 O +HETATM 1745 H1 HOH A 582 24.028 31.225 0.863 1.00 0.00 H +HETATM 1746 H2 HOH A 582 25.509 31.089 1.146 1.00 0.00 H +HETATM 1747 O HOH A 583 48.998 23.278 41.274 1.00 0.00 O +HETATM 1748 H1 HOH A 583 48.224 23.380 41.829 1.00 0.00 H +HETATM 1749 H2 HOH A 583 49.663 23.828 41.684 1.00 0.00 H +HETATM 1750 O HOH A 584 21.691 48.310 35.897 1.00 0.00 O +HETATM 1751 H1 HOH A 584 22.280 48.257 35.144 1.00 0.00 H +HETATM 1752 H2 HOH A 584 22.214 48.721 36.583 1.00 0.00 H +HETATM 1753 O HOH A 585 47.757 34.982 32.079 1.00 0.00 O +HETATM 1754 H1 HOH A 585 47.245 35.733 32.379 1.00 0.00 H +HETATM 1755 H2 HOH A 585 48.129 34.608 32.876 1.00 0.00 H +HETATM 1756 O HOH A 586 38.038 28.442 45.787 1.00 0.00 O +HETATM 1757 H1 HOH A 586 37.173 28.778 45.552 1.00 0.00 H +HETATM 1758 H2 HOH A 586 38.247 28.872 46.614 1.00 0.00 H +HETATM 1759 O HOH A 587 42.034 30.090 42.151 1.00 0.00 O +HETATM 1760 H1 HOH A 587 41.577 30.523 41.429 1.00 0.00 H +HETATM 1761 H2 HOH A 587 42.648 29.494 41.725 1.00 0.00 H +HETATM 1762 O HOH A 588 36.897 49.551 25.156 1.00 0.00 O +HETATM 1763 H1 HOH A 588 37.275 48.755 24.783 1.00 0.00 H +HETATM 1764 H2 HOH A 588 36.146 49.248 25.663 1.00 0.00 H +HETATM 1765 O HOH A 589 25.119 31.781 10.256 1.00 0.00 O +HETATM 1766 H1 HOH A 589 24.989 31.059 9.642 1.00 0.00 H +HETATM 1767 H2 HOH A 589 24.627 32.509 9.880 1.00 0.00 H +HETATM 1768 O HOH A 590 35.809 37.642 12.356 1.00 0.00 O +HETATM 1769 H1 HOH A 590 36.612 37.540 11.845 1.00 0.00 H +HETATM 1770 H2 HOH A 590 35.539 36.749 12.564 1.00 0.00 H +HETATM 1771 O HOH A 591 12.792 33.509 47.210 1.00 0.00 O +HETATM 1772 H1 HOH A 591 12.871 32.707 46.693 1.00 0.00 H +HETATM 1773 H2 HOH A 591 12.106 34.010 46.774 1.00 0.00 H +HETATM 1774 O HOH A 592 5.851 8.304 25.495 1.00 0.00 O +HETATM 1775 H1 HOH A 592 5.554 9.212 25.440 1.00 0.00 H +HETATM 1776 H2 HOH A 592 6.376 8.269 26.292 1.00 0.00 H +HETATM 1777 O HOH A 593 10.312 7.806 2.696 1.00 0.00 O +HETATM 1778 H1 HOH A 593 11.213 7.842 3.018 1.00 0.00 H +HETATM 1779 H2 HOH A 593 9.776 8.032 3.453 1.00 0.00 H +HETATM 1780 O HOH A 594 12.807 29.489 0.901 1.00 0.00 O +HETATM 1781 H1 HOH A 594 12.407 28.741 1.345 1.00 0.00 H +HETATM 1782 H2 HOH A 594 12.942 29.193 0.002 1.00 0.00 H +HETATM 1783 O HOH A 595 27.200 26.638 0.882 1.00 0.00 O +HETATM 1784 H1 HOH A 595 27.848 26.438 1.557 1.00 0.00 H +HETATM 1785 H2 HOH A 595 26.473 27.040 1.355 1.00 0.00 H +HETATM 1786 O HOH A 596 0.992 37.080 24.041 1.00 0.00 O +HETATM 1787 H1 HOH A 596 1.741 37.457 23.579 1.00 0.00 H +HETATM 1788 H2 HOH A 596 1.026 37.467 24.913 1.00 0.00 H +HETATM 1789 O HOH A 597 28.681 19.887 45.630 1.00 0.00 O +HETATM 1790 H1 HOH A 597 28.162 20.366 46.276 1.00 0.00 H +HETATM 1791 H2 HOH A 597 29.548 19.812 46.025 1.00 0.00 H +HETATM 1792 O HOH A 598 32.451 16.543 38.102 1.00 0.00 O +HETATM 1793 H1 HOH A 598 32.696 17.033 37.316 1.00 0.00 H +HETATM 1794 H2 HOH A 598 33.215 16.003 38.297 1.00 0.00 H +HETATM 1795 O HOH A 599 12.722 43.206 16.027 1.00 0.00 O +HETATM 1796 H1 HOH A 599 12.063 43.747 15.591 1.00 0.00 H +HETATM 1797 H2 HOH A 599 12.651 43.438 16.951 1.00 0.00 H +HETATM 1798 O HOH A 600 10.804 35.616 30.683 1.00 0.00 O +HETATM 1799 H1 HOH A 600 11.219 35.033 30.047 1.00 0.00 H +HETATM 1800 H2 HOH A 600 11.350 35.551 31.464 1.00 0.00 H +HETATM 1801 O HOH A 601 36.916 49.360 42.457 1.00 0.00 O +HETATM 1802 H1 HOH A 601 36.001 49.639 42.479 1.00 0.00 H +HETATM 1803 H2 HOH A 601 37.348 49.993 41.886 1.00 0.00 H +HETATM 1804 O HOH A 602 23.183 16.215 27.870 1.00 0.00 O +HETATM 1805 H1 HOH A 602 23.386 15.678 27.103 1.00 0.00 H +HETATM 1806 H2 HOH A 602 22.644 15.652 28.422 1.00 0.00 H +HETATM 1807 O HOH A 603 2.814 20.604 8.166 1.00 0.00 O +HETATM 1808 H1 HOH A 603 2.289 19.986 8.674 1.00 0.00 H +HETATM 1809 H2 HOH A 603 3.714 20.438 8.439 1.00 0.00 H +HETATM 1810 O HOH A 604 40.104 39.329 9.287 1.00 0.00 O +HETATM 1811 H1 HOH A 604 40.989 39.010 9.467 1.00 0.00 H +HETATM 1812 H2 HOH A 604 39.726 38.674 8.703 1.00 0.00 H +HETATM 1813 O HOH A 605 33.341 34.234 42.445 1.00 0.00 O +HETATM 1814 H1 HOH A 605 32.650 34.497 41.837 1.00 0.00 H +HETATM 1815 H2 HOH A 605 33.644 35.052 42.835 1.00 0.00 H +HETATM 1816 O HOH A 606 5.110 46.521 40.467 1.00 0.00 O +HETATM 1817 H1 HOH A 606 6.001 46.698 40.163 1.00 0.00 H +HETATM 1818 H2 HOH A 606 4.969 45.596 40.273 1.00 0.00 H +HETATM 1819 O HOH A 607 30.394 3.214 16.603 1.00 0.00 O +HETATM 1820 H1 HOH A 607 30.292 2.520 17.255 1.00 0.00 H +HETATM 1821 H2 HOH A 607 31.036 3.810 16.984 1.00 0.00 H +HETATM 1822 O HOH A 608 47.267 45.659 9.838 1.00 0.00 O +HETATM 1823 H1 HOH A 608 48.086 46.120 9.654 1.00 0.00 H +HETATM 1824 H2 HOH A 608 46.840 46.184 10.513 1.00 0.00 H +HETATM 1825 O HOH A 609 29.848 36.134 17.234 1.00 0.00 O +HETATM 1826 H1 HOH A 609 29.816 37.001 16.828 1.00 0.00 H +HETATM 1827 H2 HOH A 609 29.264 36.200 17.987 1.00 0.00 H +HETATM 1828 O HOH A 610 38.699 6.970 10.408 1.00 0.00 O +HETATM 1829 H1 HOH A 610 39.398 6.727 9.801 1.00 0.00 H +HETATM 1830 H2 HOH A 610 37.956 6.427 10.150 1.00 0.00 H +HETATM 1831 O HOH A 611 38.010 31.079 42.305 1.00 0.00 O +HETATM 1832 H1 HOH A 611 38.238 31.647 43.042 1.00 0.00 H +HETATM 1833 H2 HOH A 611 37.171 30.694 42.548 1.00 0.00 H +HETATM 1834 O HOH A 612 21.602 41.084 7.778 1.00 0.00 O +HETATM 1835 H1 HOH A 612 21.821 40.407 8.419 1.00 0.00 H +HETATM 1836 H2 HOH A 612 21.198 41.781 8.292 1.00 0.00 H +HETATM 1837 O HOH A 613 28.315 17.935 21.003 1.00 0.00 O +HETATM 1838 H1 HOH A 613 27.448 17.788 20.626 1.00 0.00 H +HETATM 1839 H2 HOH A 613 28.840 18.271 20.278 1.00 0.00 H +HETATM 1840 O HOH A 614 16.719 29.342 23.021 1.00 0.00 O +HETATM 1841 H1 HOH A 614 17.540 29.623 22.615 1.00 0.00 H +HETATM 1842 H2 HOH A 614 16.152 29.115 22.286 1.00 0.00 H +HETATM 1843 O HOH A 615 1.573 0.698 33.839 1.00 0.00 O +HETATM 1844 H1 HOH A 615 0.881 1.304 34.102 1.00 0.00 H +HETATM 1845 H2 HOH A 615 1.197 0.202 33.114 1.00 0.00 H +HETATM 1846 O HOH A 616 19.766 34.010 38.182 1.00 0.00 O +HETATM 1847 H1 HOH A 616 18.934 33.735 37.796 1.00 0.00 H +HETATM 1848 H2 HOH A 616 19.733 34.965 38.172 1.00 0.00 H +HETATM 1849 O HOH A 617 42.228 21.234 41.851 1.00 0.00 O +HETATM 1850 H1 HOH A 617 41.594 21.916 42.072 1.00 0.00 H +HETATM 1851 H2 HOH A 617 41.941 20.467 42.345 1.00 0.00 H +HETATM 1852 O HOH A 618 20.127 3.426 30.146 1.00 0.00 O +HETATM 1853 H1 HOH A 618 20.654 2.884 30.734 1.00 0.00 H +HETATM 1854 H2 HOH A 618 20.563 4.277 30.147 1.00 0.00 H +HETATM 1855 O HOH A 619 33.309 8.738 31.529 1.00 0.00 O +HETATM 1856 H1 HOH A 619 34.191 8.624 31.176 1.00 0.00 H +HETATM 1857 H2 HOH A 619 33.316 8.261 32.357 1.00 0.00 H +HETATM 1858 O HOH A 620 7.560 47.397 37.896 1.00 0.00 O +HETATM 1859 H1 HOH A 620 8.114 46.983 38.558 1.00 0.00 H +HETATM 1860 H2 HOH A 620 7.940 48.265 37.772 1.00 0.00 H +HETATM 1861 O HOH A 621 38.677 38.212 23.979 1.00 0.00 O +HETATM 1862 H1 HOH A 621 39.481 38.406 23.497 1.00 0.00 H +HETATM 1863 H2 HOH A 621 37.997 38.176 23.308 1.00 0.00 H +HETATM 1864 O HOH A 622 2.554 10.615 5.754 1.00 0.00 O +HETATM 1865 H1 HOH A 622 2.749 9.831 6.268 1.00 0.00 H +HETATM 1866 H2 HOH A 622 1.664 10.479 5.434 1.00 0.00 H +HETATM 1867 O HOH A 623 17.178 5.215 19.038 1.00 0.00 O +HETATM 1868 H1 HOH A 623 17.261 6.098 18.678 1.00 0.00 H +HETATM 1869 H2 HOH A 623 17.587 4.649 18.386 1.00 0.00 H +HETATM 1870 O HOH A 624 22.480 21.693 43.486 1.00 0.00 O +HETATM 1871 H1 HOH A 624 23.306 22.175 43.461 1.00 0.00 H +HETATM 1872 H2 HOH A 624 22.735 20.774 43.433 1.00 0.00 H +HETATM 1873 O HOH A 625 1.211 38.765 20.886 1.00 0.00 O +HETATM 1874 H1 HOH A 625 1.533 39.641 21.101 1.00 0.00 H +HETATM 1875 H2 HOH A 625 0.801 38.454 21.691 1.00 0.00 H +HETATM 1876 O HOH A 626 13.662 10.557 24.230 1.00 0.00 O +HETATM 1877 H1 HOH A 626 13.416 9.815 24.783 1.00 0.00 H +HETATM 1878 H2 HOH A 626 12.896 11.127 24.236 1.00 0.00 H +HETATM 1879 O HOH A 627 39.460 40.857 4.817 1.00 0.00 O +HETATM 1880 H1 HOH A 627 39.125 41.127 3.962 1.00 0.00 H +HETATM 1881 H2 HOH A 627 39.028 40.024 4.994 1.00 0.00 H +HETATM 1882 O HOH A 628 25.669 23.573 48.597 1.00 0.00 O +HETATM 1883 H1 HOH A 628 26.107 23.506 47.748 1.00 0.00 H +HETATM 1884 H2 HOH A 628 26.372 23.756 49.217 1.00 0.00 H +HETATM 1885 O HOH A 629 11.840 5.997 37.019 1.00 0.00 O +HETATM 1886 H1 HOH A 629 12.076 5.420 37.746 1.00 0.00 H +HETATM 1887 H2 HOH A 629 12.676 6.259 36.638 1.00 0.00 H +HETATM 1888 O HOH A 630 7.764 6.513 3.292 1.00 0.00 O +HETATM 1889 H1 HOH A 630 8.188 5.878 2.714 1.00 0.00 H +HETATM 1890 H2 HOH A 630 6.913 6.677 2.887 1.00 0.00 H +HETATM 1891 O HOH A 631 43.156 35.569 43.218 1.00 0.00 O +HETATM 1892 H1 HOH A 631 42.817 36.234 42.617 1.00 0.00 H +HETATM 1893 H2 HOH A 631 43.810 36.027 43.741 1.00 0.00 H +HETATM 1894 O HOH A 632 37.015 46.191 25.570 1.00 0.00 O +HETATM 1895 H1 HOH A 632 37.068 46.560 24.688 1.00 0.00 H +HETATM 1896 H2 HOH A 632 37.882 46.335 25.945 1.00 0.00 H +HETATM 1897 O HOH A 633 16.173 29.836 25.755 1.00 0.00 O +HETATM 1898 H1 HOH A 633 15.328 29.582 25.385 1.00 0.00 H +HETATM 1899 H2 HOH A 633 16.321 30.724 25.435 1.00 0.00 H +HETATM 1900 O HOH A 634 10.416 1.352 13.543 1.00 0.00 O +HETATM 1901 H1 HOH A 634 10.554 1.922 12.786 1.00 0.00 H +HETATM 1902 H2 HOH A 634 9.797 0.692 13.238 1.00 0.00 H +HETATM 1903 O HOH A 635 38.353 42.719 25.828 1.00 0.00 O +HETATM 1904 H1 HOH A 635 38.710 43.410 26.386 1.00 0.00 H +HETATM 1905 H2 HOH A 635 37.507 43.056 25.539 1.00 0.00 H +HETATM 1906 O HOH A 636 26.538 3.980 1.110 1.00 0.00 O +HETATM 1907 H1 HOH A 636 26.195 4.369 1.915 1.00 0.00 H +HETATM 1908 H2 HOH A 636 26.410 4.653 0.443 1.00 0.00 H +HETATM 1909 O HOH A 637 27.969 47.738 15.943 1.00 0.00 O +HETATM 1910 H1 HOH A 637 27.652 47.537 16.824 1.00 0.00 H +HETATM 1911 H2 HOH A 637 27.376 48.416 15.623 1.00 0.00 H +HETATM 1912 O HOH A 638 20.814 17.084 35.352 1.00 0.00 O +HETATM 1913 H1 HOH A 638 20.119 17.041 36.010 1.00 0.00 H +HETATM 1914 H2 HOH A 638 21.597 16.779 35.808 1.00 0.00 H +HETATM 1915 O HOH A 639 9.795 17.318 27.243 1.00 0.00 O +HETATM 1916 H1 HOH A 639 10.278 18.124 27.060 1.00 0.00 H +HETATM 1917 H2 HOH A 639 9.206 17.545 27.960 1.00 0.00 H +HETATM 1918 O HOH A 640 44.377 35.788 48.989 1.00 0.00 O +HETATM 1919 H1 HOH A 640 44.632 34.933 48.642 1.00 0.00 H +HETATM 1920 H2 HOH A 640 43.430 35.728 49.105 1.00 0.00 H +HETATM 1921 O HOH A 641 37.550 11.863 44.230 1.00 0.00 O +HETATM 1922 H1 HOH A 641 36.904 11.477 43.639 1.00 0.00 H +HETATM 1923 H2 HOH A 641 37.711 12.736 43.877 1.00 0.00 H +HETATM 1924 O HOH A 642 28.947 27.155 39.434 1.00 0.00 O +HETATM 1925 H1 HOH A 642 29.214 27.059 38.519 1.00 0.00 H +HETATM 1926 H2 HOH A 642 28.513 26.330 39.646 1.00 0.00 H +HETATM 1927 O HOH A 643 39.390 20.309 32.622 1.00 0.00 O +HETATM 1928 H1 HOH A 643 39.514 19.808 33.429 1.00 0.00 H +HETATM 1929 H2 HOH A 643 40.173 20.851 32.551 1.00 0.00 H +HETATM 1930 O HOH A 644 14.942 38.119 3.327 1.00 0.00 O +HETATM 1931 H1 HOH A 644 14.764 37.435 2.680 1.00 0.00 H +HETATM 1932 H2 HOH A 644 14.454 38.879 3.014 1.00 0.00 H +HETATM 1933 O HOH A 645 9.338 29.178 15.056 1.00 0.00 O +HETATM 1934 H1 HOH A 645 9.965 29.821 14.726 1.00 0.00 H +HETATM 1935 H2 HOH A 645 9.178 28.595 14.316 1.00 0.00 H +HETATM 1936 O HOH A 646 11.493 17.052 23.104 1.00 0.00 O +HETATM 1937 H1 HOH A 646 10.892 17.792 23.200 1.00 0.00 H +HETATM 1938 H2 HOH A 646 12.079 17.307 22.395 1.00 0.00 H +HETATM 1939 O HOH A 647 43.693 10.910 40.845 1.00 0.00 O +HETATM 1940 H1 HOH A 647 43.198 10.237 40.379 1.00 0.00 H +HETATM 1941 H2 HOH A 647 44.542 10.934 40.407 1.00 0.00 H +HETATM 1942 O HOH A 648 37.168 1.888 9.586 1.00 0.00 O +HETATM 1943 H1 HOH A 648 37.236 2.202 10.488 1.00 0.00 H +HETATM 1944 H2 HOH A 648 36.804 2.626 9.100 1.00 0.00 H +HETATM 1945 O HOH A 649 46.738 37.997 43.082 1.00 0.00 O +HETATM 1946 H1 HOH A 649 46.004 38.562 42.841 1.00 0.00 H +HETATM 1947 H2 HOH A 649 47.512 38.548 42.976 1.00 0.00 H +HETATM 1948 O HOH A 650 46.208 17.678 10.732 1.00 0.00 O +HETATM 1949 H1 HOH A 650 47.143 17.726 10.932 1.00 0.00 H +HETATM 1950 H2 HOH A 650 45.784 18.149 11.446 1.00 0.00 H +HETATM 1951 O HOH A 651 41.766 13.899 19.741 1.00 0.00 O +HETATM 1952 H1 HOH A 651 42.052 13.874 18.827 1.00 0.00 H +HETATM 1953 H2 HOH A 651 42.216 13.165 20.155 1.00 0.00 H +HETATM 1954 O HOH A 652 25.219 46.663 38.510 1.00 0.00 O +HETATM 1955 H1 HOH A 652 25.786 47.404 38.723 1.00 0.00 H +HETATM 1956 H2 HOH A 652 24.772 46.457 39.329 1.00 0.00 H +HETATM 1957 O HOH A 653 2.976 2.818 5.855 1.00 0.00 O +HETATM 1958 H1 HOH A 653 3.095 1.919 6.163 1.00 0.00 H +HETATM 1959 H2 HOH A 653 3.405 3.359 6.515 1.00 0.00 H +HETATM 1960 O HOH A 654 35.623 6.717 35.278 1.00 0.00 O +HETATM 1961 H1 HOH A 654 36.183 6.249 35.898 1.00 0.00 H +HETATM 1962 H2 HOH A 654 35.915 6.422 34.418 1.00 0.00 H +HETATM 1963 O HOH A 655 6.115 43.669 6.805 1.00 0.00 O +HETATM 1964 H1 HOH A 655 5.188 43.708 7.041 1.00 0.00 H +HETATM 1965 H2 HOH A 655 6.244 42.780 6.479 1.00 0.00 H +HETATM 1966 O HOH A 656 49.853 7.952 14.899 1.00 0.00 O +HETATM 1967 H1 HOH A 656 49.962 7.946 13.948 1.00 0.00 H +HETATM 1968 H2 HOH A 656 49.992 8.863 15.153 1.00 0.00 H +HETATM 1969 O HOH A 657 14.113 19.103 24.950 1.00 0.00 O +HETATM 1970 H1 HOH A 657 15.025 19.391 24.984 1.00 0.00 H +HETATM 1971 H2 HOH A 657 13.858 18.999 25.865 1.00 0.00 H +HETATM 1972 O HOH A 658 32.619 16.909 10.029 1.00 0.00 O +HETATM 1973 H1 HOH A 658 32.192 17.762 10.105 1.00 0.00 H +HETATM 1974 H2 HOH A 658 33.250 16.891 10.746 1.00 0.00 H +HETATM 1975 O HOH A 659 44.394 9.465 31.936 1.00 0.00 O +HETATM 1976 H1 HOH A 659 43.613 9.755 32.407 1.00 0.00 H +HETATM 1977 H2 HOH A 659 45.102 9.537 32.573 1.00 0.00 H +HETATM 1978 O HOH A 660 16.446 17.280 2.835 1.00 0.00 O +HETATM 1979 H1 HOH A 660 15.508 17.470 2.838 1.00 0.00 H +HETATM 1980 H2 HOH A 660 16.847 18.030 3.272 1.00 0.00 H +HETATM 1981 O HOH A 661 43.675 22.346 10.713 1.00 0.00 O +HETATM 1982 H1 HOH A 661 43.911 22.137 11.617 1.00 0.00 H +HETATM 1983 H2 HOH A 661 43.199 23.172 10.772 1.00 0.00 H +HETATM 1984 O HOH A 662 34.447 23.706 7.240 1.00 0.00 O +HETATM 1985 H1 HOH A 662 33.821 23.356 6.606 1.00 0.00 H +HETATM 1986 H2 HOH A 662 34.699 24.557 6.886 1.00 0.00 H +HETATM 1987 O HOH A 663 19.789 42.639 9.762 1.00 0.00 O +HETATM 1988 H1 HOH A 663 19.425 43.377 9.272 1.00 0.00 H +HETATM 1989 H2 HOH A 663 19.173 41.923 9.614 1.00 0.00 H +HETATM 1990 O HOH A 664 41.258 30.412 1.062 1.00 0.00 O +HETATM 1991 H1 HOH A 664 41.181 29.458 1.078 1.00 0.00 H +HETATM 1992 H2 HOH A 664 40.506 30.707 0.553 1.00 0.00 H +HETATM 1993 O HOH A 665 14.100 23.114 1.638 1.00 0.00 O +HETATM 1994 H1 HOH A 665 14.346 23.584 0.841 1.00 0.00 H +HETATM 1995 H2 HOH A 665 13.245 23.471 1.874 1.00 0.00 H +HETATM 1996 O HOH A 666 48.735 33.295 11.400 1.00 0.00 O +HETATM 1997 H1 HOH A 666 47.813 33.438 11.185 1.00 0.00 H +HETATM 1998 H2 HOH A 666 48.762 33.290 12.355 1.00 0.00 H +HETATM 1999 O HOH A 667 34.142 45.470 21.182 1.00 0.00 O +HETATM 2000 H1 HOH A 667 33.474 44.989 21.673 1.00 0.00 H +HETATM 2001 H2 HOH A 667 34.508 44.826 20.579 1.00 0.00 H +HETATM 2002 O HOH A 668 49.395 13.527 13.754 1.00 0.00 O +HETATM 2003 H1 HOH A 668 48.604 13.581 14.291 1.00 0.00 H +HETATM 2004 H2 HOH A 668 50.000 12.996 14.267 1.00 0.00 H +HETATM 2005 O HOH A 669 4.646 42.040 30.148 1.00 0.00 O +HETATM 2006 H1 HOH A 669 4.424 41.170 30.479 1.00 0.00 H +HETATM 2007 H2 HOH A 669 5.236 42.406 30.805 1.00 0.00 H +HETATM 2008 O HOH A 670 42.249 41.283 10.648 1.00 0.00 O +HETATM 2009 H1 HOH A 670 42.066 42.061 10.122 1.00 0.00 H +HETATM 2010 H2 HOH A 670 42.874 40.782 10.128 1.00 0.00 H +HETATM 2011 O HOH A 671 10.918 47.742 25.071 1.00 0.00 O +HETATM 2012 H1 HOH A 671 11.644 47.118 25.082 1.00 0.00 H +HETATM 2013 H2 HOH A 671 10.305 47.387 24.430 1.00 0.00 H +HETATM 2014 O HOH A 672 14.830 31.879 14.002 1.00 0.00 O +HETATM 2015 H1 HOH A 672 14.247 32.323 13.385 1.00 0.00 H +HETATM 2016 H2 HOH A 672 15.707 32.017 13.648 1.00 0.00 H +HETATM 2017 O HOH A 673 36.408 43.215 14.447 1.00 0.00 O +HETATM 2018 H1 HOH A 673 36.228 44.155 14.407 1.00 0.00 H +HETATM 2019 H2 HOH A 673 36.074 42.942 15.300 1.00 0.00 H +HETATM 2020 O HOH A 674 11.124 7.801 14.731 1.00 0.00 O +HETATM 2021 H1 HOH A 674 10.581 7.221 15.266 1.00 0.00 H +HETATM 2022 H2 HOH A 674 10.566 8.555 14.548 1.00 0.00 H +HETATM 2023 O HOH A 675 3.642 8.864 46.911 1.00 0.00 O +HETATM 2024 H1 HOH A 675 3.802 9.725 46.525 1.00 0.00 H +HETATM 2025 H2 HOH A 675 4.141 8.259 46.365 1.00 0.00 H +HETATM 2026 O HOH A 676 29.457 37.642 0.515 1.00 0.00 O +HETATM 2027 H1 HOH A 676 30.227 37.504 1.068 1.00 0.00 H +HETATM 2028 H2 HOH A 676 28.754 37.847 1.128 1.00 0.00 H +HETATM 2029 O HOH A 677 36.426 2.248 1.135 1.00 0.00 O +HETATM 2030 H1 HOH A 677 36.324 2.987 1.735 1.00 0.00 H +HETATM 2031 H2 HOH A 677 36.363 2.634 0.264 1.00 0.00 H +HETATM 2032 O HOH A 678 12.113 29.214 45.641 1.00 0.00 O +HETATM 2033 H1 HOH A 678 11.274 29.624 45.430 1.00 0.00 H +HETATM 2034 H2 HOH A 678 11.885 28.458 46.178 1.00 0.00 H +HETATM 2035 O HOH A 679 33.435 17.217 47.799 1.00 0.00 O +HETATM 2036 H1 HOH A 679 32.995 16.443 48.152 1.00 0.00 H +HETATM 2037 H2 HOH A 679 34.163 17.374 48.397 1.00 0.00 H +HETATM 2038 O HOH A 680 40.136 47.789 19.151 1.00 0.00 O +HETATM 2039 H1 HOH A 680 40.572 47.071 18.691 1.00 0.00 H +HETATM 2040 H2 HOH A 680 40.842 48.258 19.592 1.00 0.00 H +HETATM 2041 O HOH A 681 35.510 1.256 17.497 1.00 0.00 O +HETATM 2042 H1 HOH A 681 35.673 2.146 17.810 1.00 0.00 H +HETATM 2043 H2 HOH A 681 34.760 1.339 16.911 1.00 0.00 H +HETATM 2044 O HOH A 682 12.129 46.367 20.203 1.00 0.00 O +HETATM 2045 H1 HOH A 682 12.668 45.583 20.100 1.00 0.00 H +HETATM 2046 H2 HOH A 682 11.368 46.074 20.701 1.00 0.00 H +HETATM 2047 O HOH A 683 17.849 41.719 28.580 1.00 0.00 O +HETATM 2048 H1 HOH A 683 17.149 41.542 29.209 1.00 0.00 H +HETATM 2049 H2 HOH A 683 18.609 41.257 28.928 1.00 0.00 H +HETATM 2050 O HOH A 684 45.785 2.292 14.024 1.00 0.00 O +HETATM 2051 H1 HOH A 684 45.894 2.895 14.760 1.00 0.00 H +HETATM 2052 H2 HOH A 684 45.506 1.471 14.425 1.00 0.00 H +HETATM 2053 O HOH A 685 44.260 30.365 17.182 1.00 0.00 O +HETATM 2054 H1 HOH A 685 43.406 30.446 17.607 1.00 0.00 H +HETATM 2055 H2 HOH A 685 44.868 30.180 17.896 1.00 0.00 H +HETATM 2056 O HOH A 686 2.593 37.561 14.972 1.00 0.00 O +HETATM 2057 H1 HOH A 686 2.494 37.608 14.021 1.00 0.00 H +HETATM 2058 H2 HOH A 686 3.477 37.227 15.107 1.00 0.00 H +HETATM 2059 O HOH A 687 13.298 49.057 36.507 1.00 0.00 O +HETATM 2060 H1 HOH A 687 13.999 48.984 35.860 1.00 0.00 H +HETATM 2061 H2 HOH A 687 12.674 48.375 36.264 1.00 0.00 H +HETATM 2062 O HOH A 688 39.340 28.871 29.028 1.00 0.00 O +HETATM 2063 H1 HOH A 688 39.473 28.233 28.327 1.00 0.00 H +HETATM 2064 H2 HOH A 688 40.162 28.871 29.515 1.00 0.00 H +HETATM 2065 O HOH A 689 5.437 20.777 43.524 1.00 0.00 O +HETATM 2066 H1 HOH A 689 4.544 21.020 43.282 1.00 0.00 H +HETATM 2067 H2 HOH A 689 5.974 21.066 42.789 1.00 0.00 H +HETATM 2068 O HOH A 690 21.134 40.858 39.231 1.00 0.00 O +HETATM 2069 H1 HOH A 690 22.083 40.980 39.186 1.00 0.00 H +HETATM 2070 H2 HOH A 690 20.920 40.344 38.455 1.00 0.00 H +HETATM 2071 O HOH A 691 28.054 33.032 32.575 1.00 0.00 O +HETATM 2072 H1 HOH A 691 27.871 33.968 32.493 1.00 0.00 H +HETATM 2073 H2 HOH A 691 28.802 32.881 31.999 1.00 0.00 H +HETATM 2074 O HOH A 692 20.746 29.309 37.555 1.00 0.00 O +HETATM 2075 H1 HOH A 692 21.374 29.765 38.115 1.00 0.00 H +HETATM 2076 H2 HOH A 692 19.894 29.658 37.812 1.00 0.00 H +HETATM 2077 O HOH A 693 22.164 26.905 -0.023 1.00 0.00 O +HETATM 2078 H1 HOH A 693 22.214 26.092 0.481 1.00 0.00 H +HETATM 2079 H2 HOH A 693 22.882 27.440 0.311 1.00 0.00 H +HETATM 2080 O HOH A 694 1.390 1.849 21.138 1.00 0.00 O +HETATM 2081 H1 HOH A 694 2.310 1.925 21.394 1.00 0.00 H +HETATM 2082 H2 HOH A 694 1.203 2.658 20.666 1.00 0.00 H +HETATM 2083 O HOH A 695 8.995 15.955 1.329 1.00 0.00 O +HETATM 2084 H1 HOH A 695 8.206 16.224 1.799 1.00 0.00 H +HETATM 2085 H2 HOH A 695 9.471 16.768 1.170 1.00 0.00 H +HETATM 2086 O HOH A 696 45.806 23.015 6.976 1.00 0.00 O +HETATM 2087 H1 HOH A 696 45.235 23.450 6.342 1.00 0.00 H +HETATM 2088 H2 HOH A 696 45.212 22.526 7.541 1.00 0.00 H +HETATM 2089 O HOH A 697 48.670 2.953 0.673 1.00 0.00 O +HETATM 2090 H1 HOH A 697 47.968 2.824 0.036 1.00 0.00 H +HETATM 2091 H2 HOH A 697 49.041 3.806 0.455 1.00 0.00 H +HETATM 2092 O HOH A 698 44.944 37.743 46.113 1.00 0.00 O +HETATM 2093 H1 HOH A 698 44.381 36.983 46.260 1.00 0.00 H +HETATM 2094 H2 HOH A 698 45.475 37.808 46.904 1.00 0.00 H +HETATM 2095 O HOH A 699 12.933 37.517 46.487 1.00 0.00 O +HETATM 2096 H1 HOH A 699 12.997 38.367 46.052 1.00 0.00 H +HETATM 2097 H2 HOH A 699 12.866 37.726 47.417 1.00 0.00 H +HETATM 2098 O HOH A 700 5.759 9.682 12.948 1.00 0.00 O +HETATM 2099 H1 HOH A 700 5.645 8.740 12.819 1.00 0.00 H +HETATM 2100 H2 HOH A 700 5.029 10.080 12.477 1.00 0.00 H +HETATM 2101 O HOH A 701 39.652 7.766 7.707 1.00 0.00 O +HETATM 2102 H1 HOH A 701 40.297 7.447 7.075 1.00 0.00 H +HETATM 2103 H2 HOH A 701 38.814 7.441 7.382 1.00 0.00 H +HETATM 2104 O HOH A 702 39.882 8.929 20.645 1.00 0.00 O +HETATM 2105 H1 HOH A 702 40.451 9.698 20.643 1.00 0.00 H +HETATM 2106 H2 HOH A 702 39.332 9.033 19.871 1.00 0.00 H +HETATM 2107 O HOH A 703 39.042 48.120 30.826 1.00 0.00 O +HETATM 2108 H1 HOH A 703 39.528 47.462 31.324 1.00 0.00 H +HETATM 2109 H2 HOH A 703 39.689 48.506 30.239 1.00 0.00 H +HETATM 2110 O HOH A 704 44.162 29.503 14.244 1.00 0.00 O +HETATM 2111 H1 HOH A 704 43.396 28.946 14.105 1.00 0.00 H +HETATM 2112 H2 HOH A 704 44.341 29.437 15.180 1.00 0.00 H +HETATM 2113 O HOH A 705 31.796 2.870 11.342 1.00 0.00 O +HETATM 2114 H1 HOH A 705 31.765 1.914 11.321 1.00 0.00 H +HETATM 2115 H2 HOH A 705 31.310 3.111 12.128 1.00 0.00 H +HETATM 2116 O HOH A 706 9.025 43.826 25.656 1.00 0.00 O +HETATM 2117 H1 HOH A 706 9.229 43.897 26.589 1.00 0.00 H +HETATM 2118 H2 HOH A 706 8.389 44.520 25.494 1.00 0.00 H +HETATM 2119 O HOH A 707 49.995 32.335 45.900 1.00 0.00 O +HETATM 2120 H1 HOH A 707 49.798 33.247 46.114 1.00 0.00 H +HETATM 2121 H2 HOH A 707 49.765 31.847 46.689 1.00 0.00 H +HETATM 2122 O HOH A 708 31.609 36.653 45.847 1.00 0.00 O +HETATM 2123 H1 HOH A 708 31.496 36.576 46.795 1.00 0.00 H +HETATM 2124 H2 HOH A 708 30.999 37.342 45.588 1.00 0.00 H +HETATM 2125 O HOH A 709 49.993 37.560 44.753 1.00 0.00 O +HETATM 2126 H1 HOH A 709 49.623 37.816 45.598 1.00 0.00 H +HETATM 2127 H2 HOH A 709 49.802 36.627 44.679 1.00 0.00 H +HETATM 2128 O HOH A 710 48.477 23.282 29.410 1.00 0.00 O +HETATM 2129 H1 HOH A 710 48.121 23.246 28.522 1.00 0.00 H +HETATM 2130 H2 HOH A 710 48.112 22.516 29.848 1.00 0.00 H +HETATM 2131 O HOH A 711 19.313 33.898 13.779 1.00 0.00 O +HETATM 2132 H1 HOH A 711 19.940 34.500 14.181 1.00 0.00 H +HETATM 2133 H2 HOH A 711 18.628 34.463 13.426 1.00 0.00 H +HETATM 2134 O HOH A 712 0.916 28.309 27.775 1.00 0.00 O +HETATM 2135 H1 HOH A 712 0.195 28.585 27.209 1.00 0.00 H +HETATM 2136 H2 HOH A 712 1.699 28.663 27.358 1.00 0.00 H +HETATM 2137 O HOH A 713 46.073 0.270 45.689 1.00 0.00 O +HETATM 2138 H1 HOH A 713 46.796 0.140 45.075 1.00 0.00 H +HETATM 2139 H2 HOH A 713 46.491 0.341 46.545 1.00 0.00 H +HETATM 2140 O HOH A 714 33.502 16.407 34.473 1.00 0.00 O +HETATM 2141 H1 HOH A 714 32.762 16.998 34.336 1.00 0.00 H +HETATM 2142 H2 HOH A 714 33.111 15.608 34.824 1.00 0.00 H +HETATM 2143 O HOH A 715 37.744 48.653 19.725 1.00 0.00 O +HETATM 2144 H1 HOH A 715 37.757 47.704 19.851 1.00 0.00 H +HETATM 2145 H2 HOH A 715 37.379 48.776 18.851 1.00 0.00 H +HETATM 2146 O HOH A 716 43.778 26.954 8.389 1.00 0.00 O +HETATM 2147 H1 HOH A 716 43.308 26.270 8.867 1.00 0.00 H +HETATM 2148 H2 HOH A 716 44.389 27.318 9.027 1.00 0.00 H +HETATM 2149 O HOH A 717 14.459 15.926 17.768 1.00 0.00 O +HETATM 2150 H1 HOH A 717 13.685 16.233 17.294 1.00 0.00 H +HETATM 2151 H2 HOH A 717 15.186 16.408 17.379 1.00 0.00 H +HETATM 2152 O HOH A 718 41.233 4.813 37.109 1.00 0.00 O +HETATM 2153 H1 HOH A 718 41.053 5.561 36.540 1.00 0.00 H +HETATM 2154 H2 HOH A 718 42.086 4.491 36.823 1.00 0.00 H +HETATM 2155 O HOH A 719 8.999 41.126 44.282 1.00 0.00 O +HETATM 2156 H1 HOH A 719 9.135 41.846 44.897 1.00 0.00 H +HETATM 2157 H2 HOH A 719 8.255 40.643 44.635 1.00 0.00 H +HETATM 2158 O HOH A 720 48.749 41.768 39.496 1.00 0.00 O +HETATM 2159 H1 HOH A 720 48.447 41.723 40.403 1.00 0.00 H +HETATM 2160 H2 HOH A 720 48.016 41.437 38.981 1.00 0.00 H +HETATM 2161 O HOH A 721 27.472 47.130 46.836 1.00 0.00 O +HETATM 2162 H1 HOH A 721 27.389 46.873 47.755 1.00 0.00 H +HETATM 2163 H2 HOH A 721 27.625 46.311 46.369 1.00 0.00 H +HETATM 2164 O HOH A 722 17.579 14.773 32.164 1.00 0.00 O +HETATM 2165 H1 HOH A 722 18.198 15.151 32.790 1.00 0.00 H +HETATM 2166 H2 HOH A 722 17.338 15.501 31.594 1.00 0.00 H +HETATM 2167 O HOH A 723 41.820 4.168 45.855 1.00 0.00 O +HETATM 2168 H1 HOH A 723 41.878 4.123 46.809 1.00 0.00 H +HETATM 2169 H2 HOH A 723 41.965 5.090 45.647 1.00 0.00 H +HETATM 2170 O HOH A 724 20.008 26.275 34.315 1.00 0.00 O +HETATM 2171 H1 HOH A 724 20.760 26.061 34.867 1.00 0.00 H +HETATM 2172 H2 HOH A 724 20.207 27.139 33.959 1.00 0.00 H +HETATM 2173 O HOH A 725 18.305 11.773 32.788 1.00 0.00 O +HETATM 2174 H1 HOH A 725 18.084 11.292 33.586 1.00 0.00 H +HETATM 2175 H2 HOH A 725 19.187 12.106 32.943 1.00 0.00 H +HETATM 2176 O HOH A 726 12.355 47.687 30.524 1.00 0.00 O +HETATM 2177 H1 HOH A 726 12.415 48.450 31.100 1.00 0.00 H +HETATM 2178 H2 HOH A 726 11.782 47.966 29.812 1.00 0.00 H +HETATM 2179 O HOH A 727 17.088 5.550 3.148 1.00 0.00 O +HETATM 2180 H1 HOH A 727 16.904 6.486 3.233 1.00 0.00 H +HETATM 2181 H2 HOH A 727 17.342 5.274 4.027 1.00 0.00 H +HETATM 2182 O HOH A 728 1.148 21.615 43.500 1.00 0.00 O +HETATM 2183 H1 HOH A 728 2.051 21.742 43.210 1.00 0.00 H +HETATM 2184 H2 HOH A 728 0.702 21.238 42.743 1.00 0.00 H +HETATM 2185 O HOH A 729 4.538 13.083 46.799 1.00 0.00 O +HETATM 2186 H1 HOH A 729 3.954 12.907 46.061 1.00 0.00 H +HETATM 2187 H2 HOH A 729 4.522 12.279 47.316 1.00 0.00 H +HETATM 2188 O HOH A 730 32.061 36.172 9.879 1.00 0.00 O +HETATM 2189 H1 HOH A 730 32.704 36.761 9.484 1.00 0.00 H +HETATM 2190 H2 HOH A 730 32.309 35.302 9.573 1.00 0.00 H +HETATM 2191 O HOH A 731 38.527 36.455 13.944 1.00 0.00 O +HETATM 2192 H1 HOH A 731 39.473 36.477 13.804 1.00 0.00 H +HETATM 2193 H2 HOH A 731 38.190 37.190 13.435 1.00 0.00 H +HETATM 2194 O HOH A 732 30.308 31.432 37.421 1.00 0.00 O +HETATM 2195 H1 HOH A 732 30.323 32.287 37.853 1.00 0.00 H +HETATM 2196 H2 HOH A 732 29.439 31.083 37.605 1.00 0.00 H +HETATM 2197 O HOH A 733 41.130 31.712 35.138 1.00 0.00 O +HETATM 2198 H1 HOH A 733 41.730 31.286 35.751 1.00 0.00 H +HETATM 2199 H2 HOH A 733 41.697 32.083 34.465 1.00 0.00 H +HETATM 2200 O HOH A 734 40.599 42.231 15.884 1.00 0.00 O +HETATM 2201 H1 HOH A 734 40.236 41.346 15.839 1.00 0.00 H +HETATM 2202 H2 HOH A 734 41.218 42.202 16.611 1.00 0.00 H +HETATM 2203 O HOH A 735 41.181 9.986 34.642 1.00 0.00 O +HETATM 2204 H1 HOH A 735 41.053 9.250 35.240 1.00 0.00 H +HETATM 2205 H2 HOH A 735 42.033 10.346 34.881 1.00 0.00 H +HETATM 2206 O HOH A 736 19.262 10.420 15.110 1.00 0.00 O +HETATM 2207 H1 HOH A 736 18.321 10.593 15.072 1.00 0.00 H +HETATM 2208 H2 HOH A 736 19.634 10.953 14.410 1.00 0.00 H +HETATM 2209 O HOH A 737 3.639 7.841 49.619 1.00 0.00 O +HETATM 2210 H1 HOH A 737 3.107 8.542 49.242 1.00 0.00 H +HETATM 2211 H2 HOH A 737 3.061 7.081 49.635 1.00 0.00 H +HETATM 2212 O HOH A 738 40.257 22.642 27.615 1.00 0.00 O +HETATM 2213 H1 HOH A 738 39.933 22.054 28.298 1.00 0.00 H +HETATM 2214 H2 HOH A 738 39.878 23.492 27.828 1.00 0.00 H +HETATM 2215 O HOH A 739 44.675 40.151 31.329 1.00 0.00 O +HETATM 2216 H1 HOH A 739 44.528 40.877 30.723 1.00 0.00 H +HETATM 2217 H2 HOH A 739 45.341 39.613 30.906 1.00 0.00 H +HETATM 2218 O HOH A 740 1.095 5.808 29.999 1.00 0.00 O +HETATM 2219 H1 HOH A 740 1.880 6.300 30.244 1.00 0.00 H +HETATM 2220 H2 HOH A 740 0.367 6.359 30.281 1.00 0.00 H +HETATM 2221 O HOH A 741 25.737 11.787 32.253 1.00 0.00 O +HETATM 2222 H1 HOH A 741 25.360 12.083 31.424 1.00 0.00 H +HETATM 2223 H2 HOH A 741 26.678 11.920 32.152 1.00 0.00 H +HETATM 2224 O HOH A 742 22.313 7.993 30.512 1.00 0.00 O +HETATM 2225 H1 HOH A 742 23.077 7.447 30.701 1.00 0.00 H +HETATM 2226 H2 HOH A 742 22.155 8.475 31.322 1.00 0.00 H +HETATM 2227 O HOH A 743 37.368 27.126 40.997 1.00 0.00 O +HETATM 2228 H1 HOH A 743 37.213 27.505 40.131 1.00 0.00 H +HETATM 2229 H2 HOH A 743 36.683 27.498 41.549 1.00 0.00 H +HETATM 2230 O HOH A 744 6.312 35.029 13.696 1.00 0.00 O +HETATM 2231 H1 HOH A 744 5.676 34.390 13.372 1.00 0.00 H +HETATM 2232 H2 HOH A 744 6.191 35.031 14.643 1.00 0.00 H +HETATM 2233 O HOH A 745 8.069 11.443 24.316 1.00 0.00 O +HETATM 2234 H1 HOH A 745 7.546 10.730 24.685 1.00 0.00 H +HETATM 2235 H2 HOH A 745 8.904 11.038 24.090 1.00 0.00 H +HETATM 2236 O HOH A 746 43.433 22.032 37.973 1.00 0.00 O +HETATM 2237 H1 HOH A 746 42.798 21.337 38.146 1.00 0.00 H +HETATM 2238 H2 HOH A 746 42.929 22.717 37.537 1.00 0.00 H +HETATM 2239 O HOH A 747 8.734 8.072 34.721 1.00 0.00 O +HETATM 2240 H1 HOH A 747 8.860 8.782 34.090 1.00 0.00 H +HETATM 2241 H2 HOH A 747 9.428 7.447 34.522 1.00 0.00 H +HETATM 2242 O HOH A 748 3.587 44.151 47.569 1.00 0.00 O +HETATM 2243 H1 HOH A 748 3.093 44.805 47.074 1.00 0.00 H +HETATM 2244 H2 HOH A 748 2.920 43.620 48.000 1.00 0.00 H +HETATM 2245 O HOH A 749 42.549 24.984 22.501 1.00 0.00 O +HETATM 2246 H1 HOH A 749 41.697 24.837 22.913 1.00 0.00 H +HETATM 2247 H2 HOH A 749 43.116 24.310 22.871 1.00 0.00 H +HETATM 2248 O HOH A 750 3.746 7.573 41.349 1.00 0.00 O +HETATM 2249 H1 HOH A 750 2.799 7.703 41.306 1.00 0.00 H +HETATM 2250 H2 HOH A 750 3.863 6.851 41.964 1.00 0.00 H +HETATM 2251 O HOH A 751 42.713 33.122 46.818 1.00 0.00 O +HETATM 2252 H1 HOH A 751 43.509 33.150 47.349 1.00 0.00 H +HETATM 2253 H2 HOH A 751 42.569 34.028 46.551 1.00 0.00 H +HETATM 2254 O HOH A 752 44.296 19.826 5.417 1.00 0.00 O +HETATM 2255 H1 HOH A 752 43.853 20.639 5.660 1.00 0.00 H +HETATM 2256 H2 HOH A 752 43.624 19.306 4.979 1.00 0.00 H +HETATM 2257 O HOH A 753 39.198 1.703 4.425 1.00 0.00 O +HETATM 2258 H1 HOH A 753 39.720 1.728 5.228 1.00 0.00 H +HETATM 2259 H2 HOH A 753 38.579 2.424 4.518 1.00 0.00 H +HETATM 2260 O HOH A 754 37.647 19.930 28.224 1.00 0.00 O +HETATM 2261 H1 HOH A 754 38.250 19.374 27.731 1.00 0.00 H +HETATM 2262 H2 HOH A 754 37.103 20.347 27.558 1.00 0.00 H +HETATM 2263 O HOH A 755 24.846 6.093 15.324 1.00 0.00 O +HETATM 2264 H1 HOH A 755 24.338 5.350 15.650 1.00 0.00 H +HETATM 2265 H2 HOH A 755 25.688 6.024 15.769 1.00 0.00 H +HETATM 2266 O HOH A 756 21.785 9.006 39.563 1.00 0.00 O +HETATM 2267 H1 HOH A 756 22.397 8.626 38.932 1.00 0.00 H +HETATM 2268 H2 HOH A 756 20.920 8.769 39.233 1.00 0.00 H +HETATM 2269 O HOH A 757 3.785 34.422 16.587 1.00 0.00 O +HETATM 2270 H1 HOH A 757 3.163 34.072 15.948 1.00 0.00 H +HETATM 2271 H2 HOH A 757 4.618 34.011 16.362 1.00 0.00 H +HETATM 2272 O HOH A 758 23.242 28.769 43.391 1.00 0.00 O +HETATM 2273 H1 HOH A 758 22.861 28.756 44.269 1.00 0.00 H +HETATM 2274 H2 HOH A 758 23.233 29.690 43.137 1.00 0.00 H +HETATM 2275 O HOH A 759 14.099 15.526 6.194 1.00 0.00 O +HETATM 2276 H1 HOH A 759 15.000 15.457 6.512 1.00 0.00 H +HETATM 2277 H2 HOH A 759 13.854 14.632 5.966 1.00 0.00 H +HETATM 2278 O HOH A 760 7.070 26.881 10.724 1.00 0.00 O +HETATM 2279 H1 HOH A 760 7.067 27.126 9.798 1.00 0.00 H +HETATM 2280 H2 HOH A 760 7.882 26.392 10.842 1.00 0.00 H +HETATM 2281 O HOH A 761 29.994 22.484 46.453 1.00 0.00 O +HETATM 2282 H1 HOH A 761 30.185 23.377 46.741 1.00 0.00 H +HETATM 2283 H2 HOH A 761 30.068 21.954 47.245 1.00 0.00 H +HETATM 2284 O HOH A 762 14.774 11.032 0.627 1.00 0.00 O +HETATM 2285 H1 HOH A 762 15.688 11.271 0.475 1.00 0.00 H +HETATM 2286 H2 HOH A 762 14.647 10.230 0.124 1.00 0.00 H +HETATM 2287 O HOH A 763 22.597 6.120 34.268 1.00 0.00 O +HETATM 2288 H1 HOH A 763 21.990 5.936 34.986 1.00 0.00 H +HETATM 2289 H2 HOH A 763 23.464 6.059 34.664 1.00 0.00 H +HETATM 2290 O HOH A 764 39.941 28.839 40.629 1.00 0.00 O +HETATM 2291 H1 HOH A 764 39.999 28.743 41.579 1.00 0.00 H +HETATM 2292 H2 HOH A 764 39.624 29.729 40.494 1.00 0.00 H +HETATM 2293 O HOH A 765 35.552 39.265 46.701 1.00 0.00 O +HETATM 2294 H1 HOH A 765 34.769 39.454 47.218 1.00 0.00 H +HETATM 2295 H2 HOH A 765 35.984 38.554 47.169 1.00 0.00 H +HETATM 2296 O HOH A 766 20.728 39.373 31.026 1.00 0.00 O +HETATM 2297 H1 HOH A 766 20.048 39.977 30.727 1.00 0.00 H +HETATM 2298 H2 HOH A 766 21.489 39.581 30.487 1.00 0.00 H +HETATM 2299 O HOH A 767 6.891 2.215 36.256 1.00 0.00 O +HETATM 2300 H1 HOH A 767 6.018 1.873 36.451 1.00 0.00 H +HETATM 2301 H2 HOH A 767 6.926 3.057 36.704 1.00 0.00 H +HETATM 2302 O HOH A 768 38.639 18.167 31.458 1.00 0.00 O +HETATM 2303 H1 HOH A 768 38.651 17.546 32.187 1.00 0.00 H +HETATM 2304 H2 HOH A 768 39.290 17.830 30.844 1.00 0.00 H +HETATM 2305 O HOH A 769 20.167 23.398 32.250 1.00 0.00 O +HETATM 2306 H1 HOH A 769 20.022 22.914 33.064 1.00 0.00 H +HETATM 2307 H2 HOH A 769 20.654 22.793 31.693 1.00 0.00 H +HETATM 2308 O HOH A 770 31.153 16.124 22.638 1.00 0.00 O +HETATM 2309 H1 HOH A 770 32.050 16.180 22.309 1.00 0.00 H +HETATM 2310 H2 HOH A 770 31.104 16.791 23.320 1.00 0.00 H +HETATM 2311 O HOH A 771 28.195 19.364 10.687 1.00 0.00 O +HETATM 2312 H1 HOH A 771 27.311 19.002 10.624 1.00 0.00 H +HETATM 2313 H2 HOH A 771 28.772 18.621 10.524 1.00 0.00 H +HETATM 2314 O HOH A 772 31.712 40.095 40.571 1.00 0.00 O +HETATM 2315 H1 HOH A 772 32.197 40.167 41.393 1.00 0.00 H +HETATM 2316 H2 HOH A 772 31.290 39.239 40.613 1.00 0.00 H +HETATM 2317 O HOH A 773 24.176 4.257 39.791 1.00 0.00 O +HETATM 2318 H1 HOH A 773 24.589 3.707 40.457 1.00 0.00 H +HETATM 2319 H2 HOH A 773 23.507 4.749 40.264 1.00 0.00 H +HETATM 2320 O HOH A 774 49.291 37.439 18.696 1.00 0.00 O +HETATM 2321 H1 HOH A 774 48.578 37.843 19.190 1.00 0.00 H +HETATM 2322 H2 HOH A 774 49.080 36.507 18.686 1.00 0.00 H +HETATM 2323 O HOH A 775 25.648 7.985 2.159 1.00 0.00 O +HETATM 2324 H1 HOH A 775 25.148 7.251 1.799 1.00 0.00 H +HETATM 2325 H2 HOH A 775 25.651 8.639 1.463 1.00 0.00 H +HETATM 2326 O HOH A 776 48.633 47.040 49.497 1.00 0.00 O +HETATM 2327 H1 HOH A 776 48.026 47.462 48.888 1.00 0.00 H +HETATM 2328 H2 HOH A 776 48.692 46.137 49.192 1.00 0.00 H +HETATM 2329 O HOH A 777 10.287 26.298 44.804 1.00 0.00 O +HETATM 2330 H1 HOH A 777 11.053 26.864 44.708 1.00 0.00 H +HETATM 2331 H2 HOH A 777 9.563 26.808 44.444 1.00 0.00 H +HETATM 2332 O HOH A 778 24.342 7.056 27.777 1.00 0.00 O +HETATM 2333 H1 HOH A 778 24.951 6.702 27.128 1.00 0.00 H +HETATM 2334 H2 HOH A 778 23.511 6.623 27.590 1.00 0.00 H +HETATM 2335 O HOH A 779 38.086 25.075 46.092 1.00 0.00 O +HETATM 2336 H1 HOH A 779 37.895 25.681 46.809 1.00 0.00 H +HETATM 2337 H2 HOH A 779 37.689 25.478 45.322 1.00 0.00 H +HETATM 2338 O HOH A 780 14.670 25.725 18.637 1.00 0.00 O +HETATM 2339 H1 HOH A 780 14.660 26.394 17.952 1.00 0.00 H +HETATM 2340 H2 HOH A 780 15.403 25.157 18.409 1.00 0.00 H +HETATM 2341 O HOH A 781 7.746 36.226 42.015 1.00 0.00 O +HETATM 2342 H1 HOH A 781 8.013 36.177 41.097 1.00 0.00 H +HETATM 2343 H2 HOH A 781 7.696 37.162 42.202 1.00 0.00 H +HETATM 2344 O HOH A 782 30.020 36.058 20.388 1.00 0.00 O +HETATM 2345 H1 HOH A 782 30.303 36.787 19.836 1.00 0.00 H +HETATM 2346 H2 HOH A 782 30.812 35.775 20.841 1.00 0.00 H +HETATM 2347 O HOH A 783 49.482 35.565 14.362 1.00 0.00 O +HETATM 2348 H1 HOH A 783 48.666 35.545 14.861 1.00 0.00 H +HETATM 2349 H2 HOH A 783 50.000 34.844 14.717 1.00 0.00 H +HETATM 2350 O HOH A 784 24.885 30.962 25.217 1.00 0.00 O +HETATM 2351 H1 HOH A 784 24.459 31.227 26.032 1.00 0.00 H +HETATM 2352 H2 HOH A 784 25.488 30.268 25.474 1.00 0.00 H +HETATM 2353 O HOH A 785 44.056 19.123 20.445 1.00 0.00 O +HETATM 2354 H1 HOH A 785 44.269 19.965 20.041 1.00 0.00 H +HETATM 2355 H2 HOH A 785 44.162 19.272 21.383 1.00 0.00 H +HETATM 2356 O HOH A 786 3.635 19.810 30.958 1.00 0.00 O +HETATM 2357 H1 HOH A 786 4.078 19.157 31.500 1.00 0.00 H +HETATM 2358 H2 HOH A 786 2.825 19.385 30.682 1.00 0.00 H +HETATM 2359 O HOH A 787 42.030 49.021 9.716 1.00 0.00 O +HETATM 2360 H1 HOH A 787 41.244 49.512 9.477 1.00 0.00 H +HETATM 2361 H2 HOH A 787 42.755 49.600 9.488 1.00 0.00 H +HETATM 2362 O HOH A 788 42.792 20.505 25.915 1.00 0.00 O +HETATM 2363 H1 HOH A 788 41.954 20.135 25.636 1.00 0.00 H +HETATM 2364 H2 HOH A 788 42.673 21.451 25.847 1.00 0.00 H +HETATM 2365 O HOH A 789 1.698 37.965 18.026 1.00 0.00 O +HETATM 2366 H1 HOH A 789 1.125 37.627 17.338 1.00 0.00 H +HETATM 2367 H2 HOH A 789 1.959 38.831 17.719 1.00 0.00 H +HETATM 2368 O HOH A 790 19.801 45.575 5.682 1.00 0.00 O +HETATM 2369 H1 HOH A 790 19.263 46.315 5.964 1.00 0.00 H +HETATM 2370 H2 HOH A 790 19.443 44.823 6.151 1.00 0.00 H +HETATM 2371 O HOH A 791 10.954 13.451 12.536 1.00 0.00 O +HETATM 2372 H1 HOH A 791 10.414 14.132 12.938 1.00 0.00 H +HETATM 2373 H2 HOH A 791 10.379 12.691 12.473 1.00 0.00 H +HETATM 2374 O HOH A 792 32.430 17.781 44.103 1.00 0.00 O +HETATM 2375 H1 HOH A 792 31.671 17.325 44.467 1.00 0.00 H +HETATM 2376 H2 HOH A 792 32.060 18.515 43.615 1.00 0.00 H +HETATM 2377 O HOH A 793 19.077 37.941 11.675 1.00 0.00 O +HETATM 2378 H1 HOH A 793 20.016 38.106 11.588 1.00 0.00 H +HETATM 2379 H2 HOH A 793 18.746 38.685 12.173 1.00 0.00 H +HETATM 2380 O HOH A 794 6.145 9.037 43.707 1.00 0.00 O +HETATM 2381 H1 HOH A 794 6.933 9.384 44.126 1.00 0.00 H +HETATM 2382 H2 HOH A 794 6.106 8.124 43.985 1.00 0.00 H +HETATM 2383 O HOH A 795 7.862 46.917 3.159 1.00 0.00 O +HETATM 2384 H1 HOH A 795 7.584 47.651 3.708 1.00 0.00 H +HETATM 2385 H2 HOH A 795 7.047 46.511 2.870 1.00 0.00 H +HETATM 2386 O HOH A 796 25.993 3.899 17.079 1.00 0.00 O +HETATM 2387 H1 HOH A 796 25.214 3.508 17.475 1.00 0.00 H +HETATM 2388 H2 HOH A 796 26.565 4.101 17.818 1.00 0.00 H +HETATM 2389 O HOH A 797 21.937 17.340 31.384 1.00 0.00 O +HETATM 2390 H1 HOH A 797 22.461 17.643 32.126 1.00 0.00 H +HETATM 2391 H2 HOH A 797 21.046 17.617 31.588 1.00 0.00 H +HETATM 2392 O HOH A 798 34.981 35.106 3.891 1.00 0.00 O +HETATM 2393 H1 HOH A 798 34.783 34.312 3.396 1.00 0.00 H +HETATM 2394 H2 HOH A 798 34.724 35.822 3.313 1.00 0.00 H +HETATM 2395 O HOH A 799 46.967 32.764 42.668 1.00 0.00 O +HETATM 2396 H1 HOH A 799 46.752 32.303 41.857 1.00 0.00 H +HETATM 2397 H2 HOH A 799 46.270 33.409 42.771 1.00 0.00 H +HETATM 2398 O HOH A 800 39.012 13.461 7.096 1.00 0.00 O +HETATM 2399 H1 HOH A 800 38.509 12.686 6.844 1.00 0.00 H +HETATM 2400 H2 HOH A 800 39.810 13.411 6.573 1.00 0.00 H +HETATM 2401 O HOH A 801 8.203 30.704 20.373 1.00 0.00 O +HETATM 2402 H1 HOH A 801 7.859 30.020 20.948 1.00 0.00 H +HETATM 2403 H2 HOH A 801 7.495 31.342 20.305 1.00 0.00 H +HETATM 2404 O HOH A 802 46.303 38.507 8.775 1.00 0.00 O +HETATM 2405 H1 HOH A 802 46.516 39.370 9.131 1.00 0.00 H +HETATM 2406 H2 HOH A 802 45.685 38.684 8.068 1.00 0.00 H +HETATM 2407 O HOH A 803 36.402 30.233 19.257 1.00 0.00 O +HETATM 2408 H1 HOH A 803 35.497 29.956 19.402 1.00 0.00 H +HETATM 2409 H2 HOH A 803 36.929 29.603 19.744 1.00 0.00 H +HETATM 2410 O HOH A 804 12.414 43.206 3.052 1.00 0.00 O +HETATM 2411 H1 HOH A 804 13.127 42.588 3.217 1.00 0.00 H +HETATM 2412 H2 HOH A 804 12.525 43.464 2.139 1.00 0.00 H +HETATM 2413 O HOH A 805 40.054 39.016 43.847 1.00 0.00 O +HETATM 2414 H1 HOH A 805 40.785 39.138 44.454 1.00 0.00 H +HETATM 2415 H2 HOH A 805 39.513 39.795 43.962 1.00 0.00 H +HETATM 2416 O HOH A 806 39.828 43.519 28.902 1.00 0.00 O +HETATM 2417 H1 HOH A 806 40.180 44.405 28.985 1.00 0.00 H +HETATM 2418 H2 HOH A 806 38.894 43.643 28.743 1.00 0.00 H +HETATM 2419 O HOH A 807 27.807 1.027 3.088 1.00 0.00 O +HETATM 2420 H1 HOH A 807 27.855 0.170 3.513 1.00 0.00 H +HETATM 2421 H2 HOH A 807 28.665 1.144 2.684 1.00 0.00 H +HETATM 2422 O HOH A 808 20.718 27.039 26.802 1.00 0.00 O +HETATM 2423 H1 HOH A 808 21.266 27.701 26.379 1.00 0.00 H +HETATM 2424 H2 HOH A 808 21.024 26.208 26.444 1.00 0.00 H +HETATM 2425 O HOH A 809 15.864 3.982 44.207 1.00 0.00 O +HETATM 2426 H1 HOH A 809 16.666 4.250 44.656 1.00 0.00 H +HETATM 2427 H2 HOH A 809 15.227 3.855 44.907 1.00 0.00 H +HETATM 2428 O HOH A 810 7.489 26.389 48.726 1.00 0.00 O +HETATM 2429 H1 HOH A 810 7.305 26.814 49.564 1.00 0.00 H +HETATM 2430 H2 HOH A 810 7.331 25.461 48.885 1.00 0.00 H +HETATM 2431 O HOH A 811 38.241 14.369 23.454 1.00 0.00 O +HETATM 2432 H1 HOH A 811 38.852 13.886 22.898 1.00 0.00 H +HETATM 2433 H2 HOH A 811 38.199 15.241 23.065 1.00 0.00 H +HETATM 2434 O HOH A 812 28.542 38.933 21.683 1.00 0.00 O +HETATM 2435 H1 HOH A 812 28.048 39.060 22.493 1.00 0.00 H +HETATM 2436 H2 HOH A 812 29.316 39.485 21.782 1.00 0.00 H +HETATM 2437 O HOH A 813 44.943 18.926 0.212 1.00 0.00 O +HETATM 2438 H1 HOH A 813 44.739 19.857 0.297 1.00 0.00 H +HETATM 2439 H2 HOH A 813 45.644 18.773 0.843 1.00 0.00 H +HETATM 2440 O HOH A 814 11.270 40.986 6.911 1.00 0.00 O +HETATM 2441 H1 HOH A 814 11.969 40.990 7.565 1.00 0.00 H +HETATM 2442 H2 HOH A 814 10.624 41.605 7.244 1.00 0.00 H +HETATM 2443 O HOH A 815 0.590 15.218 25.155 1.00 0.00 O +HETATM 2444 H1 HOH A 815 0.586 14.633 24.397 1.00 0.00 H +HETATM 2445 H2 HOH A 815 1.053 15.998 24.856 1.00 0.00 H +HETATM 2446 O HOH A 816 44.299 5.399 25.542 1.00 0.00 O +HETATM 2447 H1 HOH A 816 45.187 5.244 25.219 1.00 0.00 H +HETATM 2448 H2 HOH A 816 43.764 4.738 25.105 1.00 0.00 H +HETATM 2449 O HOH A 817 46.748 11.887 23.908 1.00 0.00 O +HETATM 2450 H1 HOH A 817 46.952 12.381 23.113 1.00 0.00 H +HETATM 2451 H2 HOH A 817 46.835 10.971 23.652 1.00 0.00 H +HETATM 2452 O HOH A 818 20.090 11.905 39.445 1.00 0.00 O +HETATM 2453 H1 HOH A 818 19.747 12.290 40.252 1.00 0.00 H +HETATM 2454 H2 HOH A 818 20.958 12.292 39.343 1.00 0.00 H +HETATM 2455 O HOH A 819 9.652 29.609 18.326 1.00 0.00 O +HETATM 2456 H1 HOH A 819 10.596 29.760 18.373 1.00 0.00 H +HETATM 2457 H2 HOH A 819 9.458 29.055 19.081 1.00 0.00 H +HETATM 2458 O HOH A 820 26.957 23.795 6.142 1.00 0.00 O +HETATM 2459 H1 HOH A 820 27.462 24.608 6.167 1.00 0.00 H +HETATM 2460 H2 HOH A 820 27.249 23.355 5.346 1.00 0.00 H +HETATM 2461 O HOH A 821 40.657 16.881 14.991 1.00 0.00 O +HETATM 2462 H1 HOH A 821 40.884 16.940 15.919 1.00 0.00 H +HETATM 2463 H2 HOH A 821 41.480 16.665 14.555 1.00 0.00 H +HETATM 2464 O HOH A 822 8.205 35.544 16.937 1.00 0.00 O +HETATM 2465 H1 HOH A 822 7.375 35.973 17.143 1.00 0.00 H +HETATM 2466 H2 HOH A 822 7.974 34.630 16.783 1.00 0.00 H +HETATM 2467 O HOH A 823 0.806 11.329 33.314 1.00 0.00 O +HETATM 2468 H1 HOH A 823 1.436 10.730 32.912 1.00 0.00 H +HETATM 2469 H2 HOH A 823 0.062 11.334 32.715 1.00 0.00 H +HETATM 2470 O HOH A 824 36.996 23.151 43.647 1.00 0.00 O +HETATM 2471 H1 HOH A 824 37.465 22.405 43.271 1.00 0.00 H +HETATM 2472 H2 HOH A 824 37.549 23.906 43.454 1.00 0.00 H +HETATM 2473 O HOH A 825 23.110 26.786 39.841 1.00 0.00 O +HETATM 2474 H1 HOH A 825 23.664 26.859 39.064 1.00 0.00 H +HETATM 2475 H2 HOH A 825 23.100 27.666 40.214 1.00 0.00 H +HETATM 2476 O HOH A 826 33.749 42.420 36.860 1.00 0.00 O +HETATM 2477 H1 HOH A 826 34.705 42.383 36.867 1.00 0.00 H +HETATM 2478 H2 HOH A 826 33.491 41.865 36.126 1.00 0.00 H +HETATM 2479 O HOH A 827 19.538 22.125 40.252 1.00 0.00 O +HETATM 2480 H1 HOH A 827 19.338 22.280 41.176 1.00 0.00 H +HETATM 2481 H2 HOH A 827 20.470 22.316 40.171 1.00 0.00 H +HETATM 2482 O HOH A 828 31.324 46.078 14.973 1.00 0.00 O +HETATM 2483 H1 HOH A 828 31.362 46.846 15.542 1.00 0.00 H +HETATM 2484 H2 HOH A 828 31.824 46.327 14.198 1.00 0.00 H +HETATM 2485 O HOH A 829 47.618 15.425 11.801 1.00 0.00 O +HETATM 2486 H1 HOH A 829 48.503 15.075 11.902 1.00 0.00 H +HETATM 2487 H2 HOH A 829 47.402 15.789 12.657 1.00 0.00 H +HETATM 2488 O HOH A 830 1.306 42.810 28.641 1.00 0.00 O +HETATM 2489 H1 HOH A 830 1.841 43.602 28.593 1.00 0.00 H +HETATM 2490 H2 HOH A 830 1.842 42.186 29.127 1.00 0.00 H +HETATM 2491 O HOH A 831 44.504 14.528 23.989 1.00 0.00 O +HETATM 2492 H1 HOH A 831 45.354 14.629 24.418 1.00 0.00 H +HETATM 2493 H2 HOH A 831 43.946 15.183 24.404 1.00 0.00 H +HETATM 2494 O HOH A 832 22.472 6.670 24.711 1.00 0.00 O +HETATM 2495 H1 HOH A 832 22.831 7.212 25.414 1.00 0.00 H +HETATM 2496 H2 HOH A 832 21.548 6.569 24.932 1.00 0.00 H +HETATM 2497 O HOH A 833 48.312 18.493 36.456 1.00 0.00 O +HETATM 2498 H1 HOH A 833 49.254 18.467 36.624 1.00 0.00 H +HETATM 2499 H2 HOH A 833 48.225 18.987 35.643 1.00 0.00 H +HETATM 2500 O HOH A 834 45.938 28.285 16.488 1.00 0.00 O +HETATM 2501 H1 HOH A 834 46.051 27.464 16.008 1.00 0.00 H +HETATM 2502 H2 HOH A 834 46.624 28.272 17.154 1.00 0.00 H +HETATM 2503 O HOH A 835 6.217 44.948 30.390 1.00 0.00 O +HETATM 2504 H1 HOH A 835 5.411 44.499 30.135 1.00 0.00 H +HETATM 2505 H2 HOH A 835 6.210 44.934 31.345 1.00 0.00 H +HETATM 2506 O HOH A 836 17.963 22.725 3.997 1.00 0.00 O +HETATM 2507 H1 HOH A 836 17.237 22.161 3.727 1.00 0.00 H +HETATM 2508 H2 HOH A 836 18.679 22.495 3.408 1.00 0.00 H +HETATM 2509 O HOH A 837 45.158 18.668 34.494 1.00 0.00 O +HETATM 2510 H1 HOH A 837 45.902 18.692 33.891 1.00 0.00 H +HETATM 2511 H2 HOH A 837 44.587 17.986 34.146 1.00 0.00 H +HETATM 2512 O HOH A 838 10.259 1.629 29.640 1.00 0.00 O +HETATM 2513 H1 HOH A 838 9.585 1.711 28.965 1.00 0.00 H +HETATM 2514 H2 HOH A 838 10.977 1.169 29.210 1.00 0.00 H +HETATM 2515 O HOH A 839 36.427 21.697 34.495 1.00 0.00 O +HETATM 2516 H1 HOH A 839 36.153 21.019 33.877 1.00 0.00 H +HETATM 2517 H2 HOH A 839 36.079 22.510 34.131 1.00 0.00 H +HETATM 2518 O HOH A 840 43.233 4.973 42.939 1.00 0.00 O +HETATM 2519 H1 HOH A 840 43.845 4.307 43.252 1.00 0.00 H +HETATM 2520 H2 HOH A 840 43.502 5.775 43.383 1.00 0.00 H +HETATM 2521 O HOH A 841 46.747 9.137 14.735 1.00 0.00 O +HETATM 2522 H1 HOH A 841 45.926 9.534 14.444 1.00 0.00 H +HETATM 2523 H2 HOH A 841 46.493 8.543 15.439 1.00 0.00 H +HETATM 2524 O HOH A 842 46.824 12.292 44.166 1.00 0.00 O +HETATM 2525 H1 HOH A 842 47.407 12.219 44.922 1.00 0.00 H +HETATM 2526 H2 HOH A 842 45.987 12.572 44.532 1.00 0.00 H +HETATM 2527 O HOH A 843 9.749 22.599 6.860 1.00 0.00 O +HETATM 2528 H1 HOH A 843 9.924 23.407 7.343 1.00 0.00 H +HETATM 2529 H2 HOH A 843 9.844 22.842 5.941 1.00 0.00 H +HETATM 2530 O HOH A 844 48.084 2.213 20.654 1.00 0.00 O +HETATM 2531 H1 HOH A 844 47.839 3.138 20.634 1.00 0.00 H +HETATM 2532 H2 HOH A 844 48.718 2.115 19.946 1.00 0.00 H +HETATM 2533 O HOH A 845 20.685 11.197 34.541 1.00 0.00 O +HETATM 2534 H1 HOH A 845 21.317 10.930 35.210 1.00 0.00 H +HETATM 2535 H2 HOH A 845 21.205 11.668 33.893 1.00 0.00 H +HETATM 2536 O HOH A 846 9.962 1.878 37.010 1.00 0.00 O +HETATM 2537 H1 HOH A 846 9.618 2.611 36.500 1.00 0.00 H +HETATM 2538 H2 HOH A 846 10.739 1.594 36.532 1.00 0.00 H +HETATM 2539 O HOH A 847 2.578 26.921 46.341 1.00 0.00 O +HETATM 2540 H1 HOH A 847 2.394 26.243 46.992 1.00 0.00 H +HETATM 2541 H2 HOH A 847 2.587 27.737 46.838 1.00 0.00 H +HETATM 2542 O HOH A 848 20.485 24.161 12.334 1.00 0.00 O +HETATM 2543 H1 HOH A 848 21.328 24.566 12.129 1.00 0.00 H +HETATM 2544 H2 HOH A 848 19.863 24.586 11.746 1.00 0.00 H +HETATM 2545 O HOH A 849 17.745 8.515 24.574 1.00 0.00 O +HETATM 2546 H1 HOH A 849 16.972 8.889 24.999 1.00 0.00 H +HETATM 2547 H2 HOH A 849 17.918 7.708 25.054 1.00 0.00 H +HETATM 2548 O HOH A 850 33.574 19.614 44.778 1.00 0.00 O +HETATM 2549 H1 HOH A 850 33.934 19.653 43.892 1.00 0.00 H +HETATM 2550 H2 HOH A 850 33.622 20.514 45.098 1.00 0.00 H +HETATM 2551 O HOH A 851 40.312 33.176 40.716 1.00 0.00 O +HETATM 2552 H1 HOH A 851 40.052 32.535 41.378 1.00 0.00 H +HETATM 2553 H2 HOH A 851 41.263 33.099 40.665 1.00 0.00 H +HETATM 2554 O HOH A 852 48.923 47.609 27.240 1.00 0.00 O +HETATM 2555 H1 HOH A 852 48.792 46.826 26.704 1.00 0.00 H +HETATM 2556 H2 HOH A 852 48.130 48.126 27.109 1.00 0.00 H +HETATM 2557 O HOH A 853 24.652 16.899 20.132 1.00 0.00 O +HETATM 2558 H1 HOH A 853 25.200 16.223 19.734 1.00 0.00 H +HETATM 2559 H2 HOH A 853 24.096 17.210 19.419 1.00 0.00 H +HETATM 2560 O HOH A 854 2.622 46.693 40.304 1.00 0.00 O +HETATM 2561 H1 HOH A 854 2.908 47.371 40.916 1.00 0.00 H +HETATM 2562 H2 HOH A 854 1.749 46.448 40.605 1.00 0.00 H +HETATM 2563 O HOH A 855 48.770 19.048 26.592 1.00 0.00 O +HETATM 2564 H1 HOH A 855 49.503 18.984 25.979 1.00 0.00 H +HETATM 2565 H2 HOH A 855 48.543 18.141 26.792 1.00 0.00 H +HETATM 2566 O HOH A 856 7.424 21.267 4.658 1.00 0.00 O +HETATM 2567 H1 HOH A 856 8.087 21.862 5.009 1.00 0.00 H +HETATM 2568 H2 HOH A 856 7.910 20.481 4.415 1.00 0.00 H +HETATM 2569 O HOH A 857 47.461 45.600 15.359 1.00 0.00 O +HETATM 2570 H1 HOH A 857 46.997 46.435 15.427 1.00 0.00 H +HETATM 2571 H2 HOH A 857 48.177 45.669 15.987 1.00 0.00 H +HETATM 2572 O HOH A 858 8.743 24.275 46.904 1.00 0.00 O +HETATM 2573 H1 HOH A 858 8.371 25.129 46.683 1.00 0.00 H +HETATM 2574 H2 HOH A 858 8.212 23.647 46.418 1.00 0.00 H +HETATM 2575 O HOH A 859 48.187 0.438 12.227 1.00 0.00 O +HETATM 2576 H1 HOH A 859 47.550 1.139 12.369 1.00 0.00 H +HETATM 2577 H2 HOH A 859 48.262 0.005 13.075 1.00 0.00 H +HETATM 2578 O HOH A 860 43.778 8.042 1.615 1.00 0.00 O +HETATM 2579 H1 HOH A 860 44.410 7.608 2.188 1.00 0.00 H +HETATM 2580 H2 HOH A 860 44.080 7.847 0.730 1.00 0.00 H +HETATM 2581 O HOH A 861 18.183 17.728 28.677 1.00 0.00 O +HETATM 2582 H1 HOH A 861 18.696 16.986 28.356 1.00 0.00 H +HETATM 2583 H2 HOH A 861 18.721 18.494 28.486 1.00 0.00 H +HETATM 2584 O HOH A 862 4.658 13.353 1.444 1.00 0.00 O +HETATM 2585 H1 HOH A 862 4.265 14.201 1.653 1.00 0.00 H +HETATM 2586 H2 HOH A 862 3.944 12.842 1.068 1.00 0.00 H +HETATM 2587 O HOH A 863 3.536 4.661 49.176 1.00 0.00 O +HETATM 2588 H1 HOH A 863 3.483 3.989 48.496 1.00 0.00 H +HETATM 2589 H2 HOH A 863 3.063 4.291 49.919 1.00 0.00 H +HETATM 2590 O HOH A 864 25.686 34.602 15.081 1.00 0.00 O +HETATM 2591 H1 HOH A 864 26.511 35.088 15.070 1.00 0.00 H +HETATM 2592 H2 HOH A 864 25.013 35.271 15.188 1.00 0.00 H +HETATM 2593 O HOH A 865 34.401 43.608 27.522 1.00 0.00 O +HETATM 2594 H1 HOH A 865 35.028 43.623 28.246 1.00 0.00 H +HETATM 2595 H2 HOH A 865 33.646 44.096 27.846 1.00 0.00 H +HETATM 2596 O HOH A 866 33.795 35.334 36.106 1.00 0.00 O +HETATM 2597 H1 HOH A 866 34.387 35.456 35.364 1.00 0.00 H +HETATM 2598 H2 HOH A 866 33.717 34.386 36.200 1.00 0.00 H +HETATM 2599 O HOH A 867 48.179 48.434 30.545 1.00 0.00 O +HETATM 2600 H1 HOH A 867 47.666 49.133 30.137 1.00 0.00 H +HETATM 2601 H2 HOH A 867 48.960 48.359 30.000 1.00 0.00 H +HETATM 2602 O HOH A 868 39.733 47.065 13.868 1.00 0.00 O +HETATM 2603 H1 HOH A 868 40.562 46.589 13.812 1.00 0.00 H +HETATM 2604 H2 HOH A 868 39.712 47.409 14.759 1.00 0.00 H +HETATM 2605 O HOH A 869 24.338 8.917 35.485 1.00 0.00 O +HETATM 2606 H1 HOH A 869 25.110 9.096 36.022 1.00 0.00 H +HETATM 2607 H2 HOH A 869 23.618 9.341 35.949 1.00 0.00 H +HETATM 2608 O HOH A 870 47.145 26.330 45.585 1.00 0.00 O +HETATM 2609 H1 HOH A 870 47.061 25.666 46.269 1.00 0.00 H +HETATM 2610 H2 HOH A 870 47.795 26.943 45.922 1.00 0.00 H +HETATM 2611 O HOH A 871 25.489 42.023 25.920 1.00 0.00 O +HETATM 2612 H1 HOH A 871 25.887 41.410 25.302 1.00 0.00 H +HETATM 2613 H2 HOH A 871 25.077 42.687 25.370 1.00 0.00 H +HETATM 2614 O HOH A 872 6.296 14.202 35.748 1.00 0.00 O +HETATM 2615 H1 HOH A 872 5.808 13.579 35.209 1.00 0.00 H +HETATM 2616 H2 HOH A 872 7.060 14.431 35.222 1.00 0.00 H +HETATM 2617 O HOH A 873 21.258 14.752 4.505 1.00 0.00 O +HETATM 2618 H1 HOH A 873 22.202 14.817 4.651 1.00 0.00 H +HETATM 2619 H2 HOH A 873 21.161 14.054 3.860 1.00 0.00 H +HETATM 2620 O HOH A 874 20.905 17.581 14.608 1.00 0.00 O +HETATM 2621 H1 HOH A 874 21.430 18.381 14.560 1.00 0.00 H +HETATM 2622 H2 HOH A 874 21.539 16.886 14.772 1.00 0.00 H +HETATM 2623 O HOH A 875 43.742 2.397 7.378 1.00 0.00 O +HETATM 2624 H1 HOH A 875 43.610 1.550 6.951 1.00 0.00 H +HETATM 2625 H2 HOH A 875 43.106 2.978 6.964 1.00 0.00 H +HETATM 2626 O HOH A 876 34.999 30.040 22.085 1.00 0.00 O +HETATM 2627 H1 HOH A 876 35.539 29.300 22.362 1.00 0.00 H +HETATM 2628 H2 HOH A 876 35.447 30.809 22.433 1.00 0.00 H +HETATM 2629 O HOH A 877 42.421 27.233 44.436 1.00 0.00 O +HETATM 2630 H1 HOH A 877 42.382 27.891 43.741 1.00 0.00 H +HETATM 2631 H2 HOH A 877 42.174 26.415 44.009 1.00 0.00 H +HETATM 2632 O HOH A 878 7.368 6.179 21.370 1.00 0.00 O +HETATM 2633 H1 HOH A 878 7.095 7.089 21.484 1.00 0.00 H +HETATM 2634 H2 HOH A 878 6.552 5.684 21.331 1.00 0.00 H +HETATM 2635 O HOH A 879 49.173 35.358 29.350 1.00 0.00 O +HETATM 2636 H1 HOH A 879 48.804 34.499 29.142 1.00 0.00 H +HETATM 2637 H2 HOH A 879 48.618 35.696 30.050 1.00 0.00 H +HETATM 2638 O HOH A 880 15.959 33.070 27.095 1.00 0.00 O +HETATM 2639 H1 HOH A 880 16.196 32.150 27.212 1.00 0.00 H +HETATM 2640 H2 HOH A 880 15.032 33.112 27.326 1.00 0.00 H +HETATM 2641 O HOH A 881 28.336 45.944 36.290 1.00 0.00 O +HETATM 2642 H1 HOH A 881 27.687 45.485 36.823 1.00 0.00 H +HETATM 2643 H2 HOH A 881 29.140 45.909 36.806 1.00 0.00 H +HETATM 2644 O HOH A 882 45.536 40.543 40.496 1.00 0.00 O +HETATM 2645 H1 HOH A 882 44.763 41.091 40.355 1.00 0.00 H +HETATM 2646 H2 HOH A 882 45.522 39.916 39.775 1.00 0.00 H +HETATM 2647 O HOH A 883 3.623 8.119 37.292 1.00 0.00 O +HETATM 2648 H1 HOH A 883 3.622 7.945 36.350 1.00 0.00 H +HETATM 2649 H2 HOH A 883 3.294 9.012 37.373 1.00 0.00 H +HETATM 2650 O HOH A 884 44.864 33.349 39.300 1.00 0.00 O +HETATM 2651 H1 HOH A 884 45.270 32.727 38.695 1.00 0.00 H +HETATM 2652 H2 HOH A 884 45.336 34.168 39.157 1.00 0.00 H +HETATM 2653 O HOH A 885 42.829 43.341 44.847 1.00 0.00 O +HETATM 2654 H1 HOH A 885 42.959 43.442 45.790 1.00 0.00 H +HETATM 2655 H2 HOH A 885 42.264 42.576 44.761 1.00 0.00 H +HETATM 2656 O HOH A 886 30.521 41.470 18.726 1.00 0.00 O +HETATM 2657 H1 HOH A 886 30.074 40.671 19.006 1.00 0.00 H +HETATM 2658 H2 HOH A 886 30.610 41.989 19.523 1.00 0.00 H +HETATM 2659 O HOH A 887 38.519 16.462 19.905 1.00 0.00 O +HETATM 2660 H1 HOH A 887 39.308 16.241 19.410 1.00 0.00 H +HETATM 2661 H2 HOH A 887 37.800 16.108 19.385 1.00 0.00 H +HETATM 2662 O HOH A 888 24.894 33.533 24.652 1.00 0.00 O +HETATM 2663 H1 HOH A 888 24.113 33.629 24.107 1.00 0.00 H +HETATM 2664 H2 HOH A 888 25.461 34.256 24.391 1.00 0.00 H +HETATM 2665 O HOH A 889 27.218 30.385 19.119 1.00 0.00 O +HETATM 2666 H1 HOH A 889 26.677 29.609 19.271 1.00 0.00 H +HETATM 2667 H2 HOH A 889 26.806 30.826 18.378 1.00 0.00 H +HETATM 2668 O HOH A 890 42.941 18.302 48.968 1.00 0.00 O +HETATM 2669 H1 HOH A 890 42.357 17.825 48.377 1.00 0.00 H +HETATM 2670 H2 HOH A 890 42.937 19.199 48.639 1.00 0.00 H +HETATM 2671 O HOH A 891 8.142 18.799 33.102 1.00 0.00 O +HETATM 2672 H1 HOH A 891 8.173 18.212 32.345 1.00 0.00 H +HETATM 2673 H2 HOH A 891 9.058 18.936 33.338 1.00 0.00 H +HETATM 2674 O HOH A 892 18.334 37.835 1.819 1.00 0.00 O +HETATM 2675 H1 HOH A 892 17.721 38.480 1.465 1.00 0.00 H +HETATM 2676 H2 HOH A 892 18.087 37.012 1.401 1.00 0.00 H +HETATM 2677 O HOH A 893 40.431 31.745 13.652 1.00 0.00 O +HETATM 2678 H1 HOH A 893 40.731 32.475 14.195 1.00 0.00 H +HETATM 2679 H2 HOH A 893 39.527 31.597 13.924 1.00 0.00 H +HETATM 2680 O HOH A 894 22.062 39.697 19.618 1.00 0.00 O +HETATM 2681 H1 HOH A 894 21.110 39.661 19.524 1.00 0.00 H +HETATM 2682 H2 HOH A 894 22.349 40.309 18.942 1.00 0.00 H +HETATM 2683 O HOH A 895 47.438 1.970 9.491 1.00 0.00 O +HETATM 2684 H1 HOH A 895 47.434 2.858 9.133 1.00 0.00 H +HETATM 2685 H2 HOH A 895 46.516 1.723 9.533 1.00 0.00 H +HETATM 2686 O HOH A 896 36.207 29.676 40.318 1.00 0.00 O +HETATM 2687 H1 HOH A 896 36.550 30.433 39.842 1.00 0.00 H +HETATM 2688 H2 HOH A 896 35.258 29.766 40.263 1.00 0.00 H +HETATM 2689 O HOH A 897 5.569 17.249 43.367 1.00 0.00 O +HETATM 2690 H1 HOH A 897 4.913 17.762 42.895 1.00 0.00 H +HETATM 2691 H2 HOH A 897 6.019 17.884 43.921 1.00 0.00 H +HETATM 2692 O HOH A 898 39.996 29.403 14.394 1.00 0.00 O +HETATM 2693 H1 HOH A 898 40.566 28.764 13.966 1.00 0.00 H +HETATM 2694 H2 HOH A 898 39.446 28.885 14.978 1.00 0.00 H +HETATM 2695 O HOH A 899 47.901 18.798 30.935 1.00 0.00 O +HETATM 2696 H1 HOH A 899 48.096 19.082 30.042 1.00 0.00 H +HETATM 2697 H2 HOH A 899 48.115 17.867 30.944 1.00 0.00 H +HETATM 2698 O HOH A 900 22.874 24.632 48.579 1.00 0.00 O +HETATM 2699 H1 HOH A 900 22.813 23.911 47.951 1.00 0.00 H +HETATM 2700 H2 HOH A 900 22.229 25.269 48.279 1.00 0.00 H +HETATM 2701 O HOH A 901 16.429 11.660 18.540 1.00 0.00 O +HETATM 2702 H1 HOH A 901 15.894 12.149 17.915 1.00 0.00 H +HETATM 2703 H2 HOH A 901 17.292 11.613 18.135 1.00 0.00 H +HETATM 2704 O HOH A 902 31.629 20.321 17.198 1.00 0.00 O +HETATM 2705 H1 HOH A 902 31.596 19.981 18.092 1.00 0.00 H +HETATM 2706 H2 HOH A 902 32.538 20.199 16.927 1.00 0.00 H +HETATM 2707 O HOH A 903 8.321 7.357 31.985 1.00 0.00 O +HETATM 2708 H1 HOH A 903 8.486 6.570 32.505 1.00 0.00 H +HETATM 2709 H2 HOH A 903 7.533 7.739 32.367 1.00 0.00 H +HETATM 2710 O HOH A 904 41.778 14.892 35.181 1.00 0.00 O +HETATM 2711 H1 HOH A 904 41.139 15.590 35.036 1.00 0.00 H +HETATM 2712 H2 HOH A 904 41.938 14.903 36.123 1.00 0.00 H +HETATM 2713 O HOH A 905 30.349 43.027 7.951 1.00 0.00 O +HETATM 2714 H1 HOH A 905 29.620 42.954 7.334 1.00 0.00 H +HETATM 2715 H2 HOH A 905 30.892 43.731 7.602 1.00 0.00 H +HETATM 2716 O HOH A 906 0.831 30.870 11.346 1.00 0.00 O +HETATM 2717 H1 HOH A 906 1.370 31.458 10.817 1.00 0.00 H +HETATM 2718 H2 HOH A 906 1.432 30.186 11.636 1.00 0.00 H +HETATM 2719 O HOH A 907 38.569 46.521 3.447 1.00 0.00 O +HETATM 2720 H1 HOH A 907 39.342 46.883 3.882 1.00 0.00 H +HETATM 2721 H2 HOH A 907 38.794 45.609 3.274 1.00 0.00 H +HETATM 2722 O HOH A 908 16.141 11.172 25.952 1.00 0.00 O +HETATM 2723 H1 HOH A 908 16.418 11.275 26.862 1.00 0.00 H +HETATM 2724 H2 HOH A 908 15.188 11.233 25.981 1.00 0.00 H +HETATM 2725 O HOH A 909 21.787 2.717 32.686 1.00 0.00 O +HETATM 2726 H1 HOH A 909 21.433 3.309 33.350 1.00 0.00 H +HETATM 2727 H2 HOH A 909 21.288 1.910 32.792 1.00 0.00 H +HETATM 2728 O HOH A 910 47.133 12.210 1.151 1.00 0.00 O +HETATM 2729 H1 HOH A 910 47.672 12.593 1.843 1.00 0.00 H +HETATM 2730 H2 HOH A 910 47.187 12.834 0.429 1.00 0.00 H +HETATM 2731 O HOH A 911 14.830 21.149 19.626 1.00 0.00 O +HETATM 2732 H1 HOH A 911 15.165 21.521 20.442 1.00 0.00 H +HETATM 2733 H2 HOH A 911 13.917 21.429 19.590 1.00 0.00 H +HETATM 2734 O HOH A 912 41.488 41.004 21.819 1.00 0.00 O +HETATM 2735 H1 HOH A 912 41.782 41.899 21.652 1.00 0.00 H +HETATM 2736 H2 HOH A 912 41.636 40.871 22.753 1.00 0.00 H +HETATM 2737 O HOH A 913 11.072 12.423 2.201 1.00 0.00 O +HETATM 2738 H1 HOH A 913 11.591 12.223 2.981 1.00 0.00 H +HETATM 2739 H2 HOH A 913 10.881 11.571 1.813 1.00 0.00 H +HETATM 2740 O HOH A 914 17.301 33.297 42.042 1.00 0.00 O +HETATM 2741 H1 HOH A 914 16.715 32.735 42.548 1.00 0.00 H +HETATM 2742 H2 HOH A 914 18.168 33.138 42.412 1.00 0.00 H +HETATM 2743 O HOH A 915 14.514 44.094 6.822 1.00 0.00 O +HETATM 2744 H1 HOH A 915 15.234 44.291 6.222 1.00 0.00 H +HETATM 2745 H2 HOH A 915 14.135 43.284 6.488 1.00 0.00 H +HETATM 2746 O HOH A 916 22.414 36.701 45.538 1.00 0.00 O +HETATM 2747 H1 HOH A 916 21.758 36.497 46.205 1.00 0.00 H +HETATM 2748 H2 HOH A 916 22.279 36.044 44.857 1.00 0.00 H +HETATM 2749 O HOH A 917 47.005 19.487 8.484 1.00 0.00 O +HETATM 2750 H1 HOH A 917 46.668 19.342 9.369 1.00 0.00 H +HETATM 2751 H2 HOH A 917 47.108 18.610 8.118 1.00 0.00 H +HETATM 2752 O HOH A 918 8.408 22.176 30.091 1.00 0.00 O +HETATM 2753 H1 HOH A 918 8.673 21.465 30.675 1.00 0.00 H +HETATM 2754 H2 HOH A 918 8.803 21.957 29.249 1.00 0.00 H +HETATM 2755 O HOH A 919 14.164 42.800 24.798 1.00 0.00 O +HETATM 2756 H1 HOH A 919 13.719 42.654 25.633 1.00 0.00 H +HETATM 2757 H2 HOH A 919 14.611 41.975 24.616 1.00 0.00 H +HETATM 2758 O HOH A 920 3.619 32.692 23.510 1.00 0.00 O +HETATM 2759 H1 HOH A 920 3.469 33.415 22.901 1.00 0.00 H +HETATM 2760 H2 HOH A 920 4.440 32.299 23.221 1.00 0.00 H +HETATM 2761 O HOH A 921 48.074 5.496 16.082 1.00 0.00 O +HETATM 2762 H1 HOH A 921 47.934 6.122 16.792 1.00 0.00 H +HETATM 2763 H2 HOH A 921 48.773 4.926 16.396 1.00 0.00 H +HETATM 2764 O HOH A 922 6.490 7.879 38.519 1.00 0.00 O +HETATM 2765 H1 HOH A 922 7.020 7.696 39.296 1.00 0.00 H +HETATM 2766 H2 HOH A 922 5.750 8.387 38.847 1.00 0.00 H +HETATM 2767 O HOH A 923 8.353 37.301 32.595 1.00 0.00 O +HETATM 2768 H1 HOH A 923 8.160 36.594 33.212 1.00 0.00 H +HETATM 2769 H2 HOH A 923 9.185 37.662 32.894 1.00 0.00 H +HETATM 2770 O HOH A 924 19.118 19.033 32.489 1.00 0.00 O +HETATM 2771 H1 HOH A 924 20.021 19.228 32.739 1.00 0.00 H +HETATM 2772 H2 HOH A 924 19.068 18.078 32.492 1.00 0.00 H +HETATM 2773 O HOH A 925 37.755 27.769 37.018 1.00 0.00 O +HETATM 2774 H1 HOH A 925 37.305 26.981 37.324 1.00 0.00 H +HETATM 2775 H2 HOH A 925 38.280 27.474 36.276 1.00 0.00 H +HETATM 2776 O HOH A 926 14.237 49.097 17.020 1.00 0.00 O +HETATM 2777 H1 HOH A 926 15.149 49.182 17.297 1.00 0.00 H +HETATM 2778 H2 HOH A 926 13.968 48.236 17.336 1.00 0.00 H +HETATM 2779 O HOH A 927 13.688 28.157 3.718 1.00 0.00 O +HETATM 2780 H1 HOH A 927 13.220 27.587 3.108 1.00 0.00 H +HETATM 2781 H2 HOH A 927 13.534 29.041 3.389 1.00 0.00 H +HETATM 2782 O HOH A 928 47.064 15.965 44.172 1.00 0.00 O +HETATM 2783 H1 HOH A 928 46.807 16.198 43.279 1.00 0.00 H +HETATM 2784 H2 HOH A 928 47.623 16.684 44.458 1.00 0.00 H +HETATM 2785 O HOH A 929 4.002 37.220 12.218 1.00 0.00 O +HETATM 2786 H1 HOH A 929 3.352 37.131 11.521 1.00 0.00 H +HETATM 2787 H2 HOH A 929 4.546 37.958 11.948 1.00 0.00 H +HETATM 2788 O HOH A 930 24.378 5.575 44.590 1.00 0.00 O +HETATM 2789 H1 HOH A 930 25.272 5.296 44.392 1.00 0.00 H +HETATM 2790 H2 HOH A 930 24.106 6.078 43.825 1.00 0.00 H +HETATM 2791 O HOH A 931 28.237 6.620 41.782 1.00 0.00 O +HETATM 2792 H1 HOH A 931 27.517 7.119 42.167 1.00 0.00 H +HETATM 2793 H2 HOH A 931 28.062 5.714 42.029 1.00 0.00 H +HETATM 2794 O HOH A 932 38.593 1.459 46.827 1.00 0.00 O +HETATM 2795 H1 HOH A 932 38.430 0.743 47.441 1.00 0.00 H +HETATM 2796 H2 HOH A 932 37.753 1.603 46.394 1.00 0.00 H +HETATM 2797 O HOH A 933 20.266 30.580 14.205 1.00 0.00 O +HETATM 2798 H1 HOH A 933 19.740 30.658 15.001 1.00 0.00 H +HETATM 2799 H2 HOH A 933 19.806 31.112 13.558 1.00 0.00 H +HETATM 2800 O HOH A 934 2.782 3.820 41.183 1.00 0.00 O +HETATM 2801 H1 HOH A 934 3.356 3.974 40.433 1.00 0.00 H +HETATM 2802 H2 HOH A 934 3.190 3.098 41.656 1.00 0.00 H +HETATM 2803 O HOH A 935 32.224 20.114 47.593 1.00 0.00 O +HETATM 2804 H1 HOH A 935 31.718 19.995 46.789 1.00 0.00 H +HETATM 2805 H2 HOH A 935 33.053 19.671 47.425 1.00 0.00 H +HETATM 2806 O HOH A 936 49.901 37.036 9.913 1.00 0.00 O +HETATM 2807 H1 HOH A 936 49.344 37.145 10.684 1.00 0.00 H +HETATM 2808 H2 HOH A 936 49.851 37.875 9.458 1.00 0.00 H +HETATM 2809 O HOH A 937 34.423 25.986 31.574 1.00 0.00 O +HETATM 2810 H1 HOH A 937 34.202 25.792 30.663 1.00 0.00 H +HETATM 2811 H2 HOH A 937 33.864 26.726 31.806 1.00 0.00 H +HETATM 2812 O HOH A 938 38.630 32.134 18.220 1.00 0.00 O +HETATM 2813 H1 HOH A 938 38.388 33.059 18.175 1.00 0.00 H +HETATM 2814 H2 HOH A 938 38.794 31.883 17.313 1.00 0.00 H +HETATM 2815 O HOH A 939 29.751 30.936 21.097 1.00 0.00 O +HETATM 2816 H1 HOH A 939 30.652 31.088 21.383 1.00 0.00 H +HETATM 2817 H2 HOH A 939 29.589 31.612 20.441 1.00 0.00 H +HETATM 2818 O HOH A 940 24.546 33.447 39.324 1.00 0.00 O +HETATM 2819 H1 HOH A 940 24.735 32.746 39.948 1.00 0.00 H +HETATM 2820 H2 HOH A 940 24.039 34.085 39.824 1.00 0.00 H +HETATM 2821 O HOH A 941 48.952 42.552 33.101 1.00 0.00 O +HETATM 2822 H1 HOH A 941 49.886 42.369 33.000 1.00 0.00 H +HETATM 2823 H2 HOH A 941 48.578 42.387 32.237 1.00 0.00 H +HETATM 2824 O HOH A 942 10.339 18.432 35.284 1.00 0.00 O +HETATM 2825 H1 HOH A 942 11.006 18.335 34.605 1.00 0.00 H +HETATM 2826 H2 HOH A 942 10.184 19.374 35.339 1.00 0.00 H +HETATM 2827 O HOH A 943 47.874 19.648 12.697 1.00 0.00 O +HETATM 2828 H1 HOH A 943 47.551 19.951 13.546 1.00 0.00 H +HETATM 2829 H2 HOH A 943 47.991 18.706 12.804 1.00 0.00 H +HETATM 2830 O HOH A 944 19.941 19.564 26.385 1.00 0.00 O +HETATM 2831 H1 HOH A 944 20.418 19.009 25.768 1.00 0.00 H +HETATM 2832 H2 HOH A 944 19.256 19.975 25.860 1.00 0.00 H +HETATM 2833 O HOH A 945 33.338 45.226 4.923 1.00 0.00 O +HETATM 2834 H1 HOH A 945 33.329 46.168 5.094 1.00 0.00 H +HETATM 2835 H2 HOH A 945 32.737 44.857 5.568 1.00 0.00 H +HETATM 2836 O HOH A 946 23.576 7.907 46.302 1.00 0.00 O +HETATM 2837 H1 HOH A 946 24.317 8.184 45.764 1.00 0.00 H +HETATM 2838 H2 HOH A 946 23.410 7.004 46.038 1.00 0.00 H +HETATM 2839 O HOH A 947 32.554 4.789 32.246 1.00 0.00 O +HETATM 2840 H1 HOH A 947 33.255 4.988 32.867 1.00 0.00 H +HETATM 2841 H2 HOH A 947 31.786 5.236 32.598 1.00 0.00 H +HETATM 2842 O HOH A 948 22.708 45.710 38.721 1.00 0.00 O +HETATM 2843 H1 HOH A 948 22.796 45.481 39.647 1.00 0.00 H +HETATM 2844 H2 HOH A 948 23.212 45.043 38.259 1.00 0.00 H +HETATM 2845 O HOH A 949 2.421 45.341 29.881 1.00 0.00 O +HETATM 2846 H1 HOH A 949 3.103 45.698 29.311 1.00 0.00 H +HETATM 2847 H2 HOH A 949 2.890 44.784 30.499 1.00 0.00 H +HETATM 2848 O HOH A 950 27.453 29.166 2.891 1.00 0.00 O +HETATM 2849 H1 HOH A 950 26.666 29.106 3.433 1.00 0.00 H +HETATM 2850 H2 HOH A 950 27.126 29.202 1.994 1.00 0.00 H +HETATM 2851 O HOH A 951 12.428 12.280 16.076 1.00 0.00 O +HETATM 2852 H1 HOH A 951 11.590 12.467 16.500 1.00 0.00 H +HETATM 2853 H2 HOH A 951 12.200 11.748 15.315 1.00 0.00 H +HETATM 2854 O HOH A 952 35.458 4.511 6.096 1.00 0.00 O +HETATM 2855 H1 HOH A 952 34.752 4.010 5.687 1.00 0.00 H +HETATM 2856 H2 HOH A 952 35.564 5.279 5.536 1.00 0.00 H +HETATM 2857 O HOH A 953 15.658 40.127 32.249 1.00 0.00 O +HETATM 2858 H1 HOH A 953 15.388 40.894 32.754 1.00 0.00 H +HETATM 2859 H2 HOH A 953 15.237 39.389 32.688 1.00 0.00 H +HETATM 2860 O HOH A 954 33.530 31.896 32.663 1.00 0.00 O +HETATM 2861 H1 HOH A 954 33.313 32.714 33.110 1.00 0.00 H +HETATM 2862 H2 HOH A 954 32.843 31.287 32.925 1.00 0.00 H +HETATM 2863 O HOH A 955 41.564 20.308 11.757 1.00 0.00 O +HETATM 2864 H1 HOH A 955 42.353 19.834 12.019 1.00 0.00 H +HETATM 2865 H2 HOH A 955 41.840 21.221 11.698 1.00 0.00 H +HETATM 2866 O HOH A 956 4.513 22.401 5.175 1.00 0.00 O +HETATM 2867 H1 HOH A 956 3.964 23.012 5.668 1.00 0.00 H +HETATM 2868 H2 HOH A 956 4.278 21.539 5.514 1.00 0.00 H +HETATM 2869 O HOH A 957 2.735 18.107 35.644 1.00 0.00 O +HETATM 2870 H1 HOH A 957 3.104 18.729 35.017 1.00 0.00 H +HETATM 2871 H2 HOH A 957 2.794 18.551 36.488 1.00 0.00 H +HETATM 2872 O HOH A 958 4.221 39.021 34.058 1.00 0.00 O +HETATM 2873 H1 HOH A 958 3.553 38.384 33.804 1.00 0.00 H +HETATM 2874 H2 HOH A 958 4.246 39.647 33.337 1.00 0.00 H +HETATM 2875 O HOH A 959 33.623 35.709 38.936 1.00 0.00 O +HETATM 2876 H1 HOH A 959 34.138 36.498 38.770 1.00 0.00 H +HETATM 2877 H2 HOH A 959 34.206 35.140 39.436 1.00 0.00 H +HETATM 2878 O HOH A 960 3.034 32.992 12.580 1.00 0.00 O +HETATM 2879 H1 HOH A 960 2.667 32.915 13.461 1.00 0.00 H +HETATM 2880 H2 HOH A 960 3.570 33.783 12.611 1.00 0.00 H +HETATM 2881 O HOH A 961 27.020 18.950 6.055 1.00 0.00 O +HETATM 2882 H1 HOH A 961 26.734 18.130 5.650 1.00 0.00 H +HETATM 2883 H2 HOH A 961 26.266 19.531 5.982 1.00 0.00 H +HETATM 2884 O HOH A 962 28.353 28.694 23.376 1.00 0.00 O +HETATM 2885 H1 HOH A 962 28.313 29.643 23.259 1.00 0.00 H +HETATM 2886 H2 HOH A 962 28.720 28.573 24.250 1.00 0.00 H +HETATM 2887 O HOH A 963 4.725 25.102 33.838 1.00 0.00 O +HETATM 2888 H1 HOH A 963 5.673 25.075 33.969 1.00 0.00 H +HETATM 2889 H2 HOH A 963 4.613 25.145 32.890 1.00 0.00 H +HETATM 2890 O HOH A 964 34.624 6.918 17.733 1.00 0.00 O +HETATM 2891 H1 HOH A 964 34.652 7.604 17.065 1.00 0.00 H +HETATM 2892 H2 HOH A 964 34.621 6.100 17.239 1.00 0.00 H +HETATM 2893 O HOH A 965 4.909 26.371 47.594 1.00 0.00 O +HETATM 2894 H1 HOH A 965 4.909 26.966 46.845 1.00 0.00 H +HETATM 2895 H2 HOH A 965 5.446 25.631 47.315 1.00 0.00 H +HETATM 2896 O HOH A 966 19.430 14.718 30.595 1.00 0.00 O +HETATM 2897 H1 HOH A 966 20.152 15.302 30.829 1.00 0.00 H +HETATM 2898 H2 HOH A 966 19.317 14.838 29.654 1.00 0.00 H +HETATM 2899 O HOH A 967 48.507 11.303 11.749 1.00 0.00 O +HETATM 2900 H1 HOH A 967 48.532 10.486 12.246 1.00 0.00 H +HETATM 2901 H2 HOH A 967 48.973 11.933 12.296 1.00 0.00 H +HETATM 2902 O HOH A 968 37.128 26.619 24.350 1.00 0.00 O +HETATM 2903 H1 HOH A 968 36.389 26.972 24.845 1.00 0.00 H +HETATM 2904 H2 HOH A 968 36.798 25.809 23.967 1.00 0.00 H +HETATM 2905 O HOH A 969 25.110 41.448 1.636 1.00 0.00 O +HETATM 2906 H1 HOH A 969 25.985 41.399 1.251 1.00 0.00 H +HETATM 2907 H2 HOH A 969 24.892 40.545 1.856 1.00 0.00 H +HETATM 2908 O HOH A 970 14.864 11.261 10.906 1.00 0.00 O +HETATM 2909 H1 HOH A 970 15.589 10.894 11.414 1.00 0.00 H +HETATM 2910 H2 HOH A 970 14.563 12.008 11.421 1.00 0.00 H +HETATM 2911 O HOH A 971 20.548 45.504 21.799 1.00 0.00 O +HETATM 2912 H1 HOH A 971 19.918 46.174 22.064 1.00 0.00 H +HETATM 2913 H2 HOH A 971 20.088 44.676 21.928 1.00 0.00 H +HETATM 2914 O HOH A 972 21.474 42.285 14.870 1.00 0.00 O +HETATM 2915 H1 HOH A 972 20.846 41.567 14.955 1.00 0.00 H +HETATM 2916 H2 HOH A 972 22.165 41.937 14.310 1.00 0.00 H +HETATM 2917 O HOH A 973 45.490 17.297 37.032 1.00 0.00 O +HETATM 2918 H1 HOH A 973 46.038 17.323 37.817 1.00 0.00 H +HETATM 2919 H2 HOH A 973 46.099 17.431 36.308 1.00 0.00 H +HETATM 2920 O HOH A 974 39.857 26.886 10.325 1.00 0.00 O +HETATM 2921 H1 HOH A 974 38.909 26.972 10.219 1.00 0.00 H +HETATM 2922 H2 HOH A 974 40.160 27.771 10.517 1.00 0.00 H +HETATM 2923 O HOH A 975 2.138 6.529 26.973 1.00 0.00 O +HETATM 2924 H1 HOH A 975 2.578 6.006 26.303 1.00 0.00 H +HETATM 2925 H2 HOH A 975 1.599 5.903 27.454 1.00 0.00 H +HETATM 2926 O HOH A 976 24.253 25.477 4.365 1.00 0.00 O +HETATM 2927 H1 HOH A 976 24.223 25.651 5.306 1.00 0.00 H +HETATM 2928 H2 HOH A 976 24.623 24.599 4.293 1.00 0.00 H +HETATM 2929 O HOH A 977 1.716 30.464 32.827 1.00 0.00 O +HETATM 2930 H1 HOH A 977 1.049 30.656 32.168 1.00 0.00 H +HETATM 2931 H2 HOH A 977 2.446 31.040 32.607 1.00 0.00 H +HETATM 2932 O HOH A 978 39.663 11.150 48.614 1.00 0.00 O +HETATM 2933 H1 HOH A 978 40.347 10.485 48.531 1.00 0.00 H +HETATM 2934 H2 HOH A 978 40.128 11.983 48.557 1.00 0.00 H +HETATM 2935 O HOH A 979 7.364 47.941 21.230 1.00 0.00 O +HETATM 2936 H1 HOH A 979 8.248 48.293 21.343 1.00 0.00 H +HETATM 2937 H2 HOH A 979 7.442 47.016 21.458 1.00 0.00 H +HETATM 2938 O HOH A 980 37.087 20.443 0.598 1.00 0.00 O +HETATM 2939 H1 HOH A 980 37.594 20.704 1.367 1.00 0.00 H +HETATM 2940 H2 HOH A 980 37.093 19.487 0.618 1.00 0.00 H +HETATM 2941 O HOH A 981 6.981 23.459 22.217 1.00 0.00 O +HETATM 2942 H1 HOH A 981 7.098 23.401 21.269 1.00 0.00 H +HETATM 2943 H2 HOH A 981 6.545 24.298 22.357 1.00 0.00 H +HETATM 2944 O HOH A 982 15.341 34.271 19.524 1.00 0.00 O +HETATM 2945 H1 HOH A 982 15.316 33.750 20.327 1.00 0.00 H +HETATM 2946 H2 HOH A 982 14.671 34.941 19.651 1.00 0.00 H +HETATM 2947 O HOH A 983 10.809 12.146 46.382 1.00 0.00 O +HETATM 2948 H1 HOH A 983 11.170 11.278 46.201 1.00 0.00 H +HETATM 2949 H2 HOH A 983 9.864 12.010 46.427 1.00 0.00 H +HETATM 2950 O HOH A 984 8.771 6.779 8.960 1.00 0.00 O +HETATM 2951 H1 HOH A 984 9.293 5.980 8.875 1.00 0.00 H +HETATM 2952 H2 HOH A 984 9.317 7.370 9.475 1.00 0.00 H +HETATM 2953 O HOH A 985 2.988 35.875 39.245 1.00 0.00 O +HETATM 2954 H1 HOH A 985 2.533 36.407 39.898 1.00 0.00 H +HETATM 2955 H2 HOH A 985 2.909 36.370 38.432 1.00 0.00 H +HETATM 2956 O HOH A 986 21.351 19.921 29.172 1.00 0.00 O +HETATM 2957 H1 HOH A 986 20.422 19.916 28.940 1.00 0.00 H +HETATM 2958 H2 HOH A 986 21.799 20.182 28.370 1.00 0.00 H +HETATM 2959 O HOH A 987 45.437 20.292 37.419 1.00 0.00 O +HETATM 2960 H1 HOH A 987 45.176 20.649 36.570 1.00 0.00 H +HETATM 2961 H2 HOH A 987 46.112 19.648 37.214 1.00 0.00 H +HETATM 2962 O HOH A 988 17.931 8.094 39.114 1.00 0.00 O +HETATM 2963 H1 HOH A 988 17.126 8.436 39.504 1.00 0.00 H +HETATM 2964 H2 HOH A 988 17.944 7.170 39.357 1.00 0.00 H +HETATM 2965 O HOH A 989 27.889 28.102 17.199 1.00 0.00 O +HETATM 2966 H1 HOH A 989 27.791 27.478 17.917 1.00 0.00 H +HETATM 2967 H2 HOH A 989 28.616 28.664 17.464 1.00 0.00 H +HETATM 2968 O HOH A 990 37.677 44.955 21.483 1.00 0.00 O +HETATM 2969 H1 HOH A 990 37.975 44.072 21.698 1.00 0.00 H +HETATM 2970 H2 HOH A 990 37.075 44.835 20.751 1.00 0.00 H +HETATM 2971 O HOH A 991 6.914 22.263 10.184 1.00 0.00 O +HETATM 2972 H1 HOH A 991 6.341 22.890 9.742 1.00 0.00 H +HETATM 2973 H2 HOH A 991 7.064 22.642 11.049 1.00 0.00 H +HETATM 2974 O HOH A 992 27.064 17.468 0.635 1.00 0.00 O +HETATM 2975 H1 HOH A 992 26.555 16.663 0.544 1.00 0.00 H +HETATM 2976 H2 HOH A 992 26.416 18.169 0.599 1.00 0.00 H +HETATM 2977 O HOH A 993 4.677 25.666 28.109 1.00 0.00 O +HETATM 2978 H1 HOH A 993 5.003 25.998 27.273 1.00 0.00 H +HETATM 2979 H2 HOH A 993 4.942 24.749 28.126 1.00 0.00 H +HETATM 2980 O HOH A 994 7.990 28.113 30.593 1.00 0.00 O +HETATM 2981 H1 HOH A 994 8.873 27.747 30.653 1.00 0.00 H +HETATM 2982 H2 HOH A 994 7.873 28.595 31.410 1.00 0.00 H +HETATM 2983 O HOH A 995 26.720 11.533 18.898 1.00 0.00 O +HETATM 2984 H1 HOH A 995 26.049 11.602 18.219 1.00 0.00 H +HETATM 2985 H2 HOH A 995 27.522 11.837 18.477 1.00 0.00 H +HETATM 2986 O HOH A 996 15.543 41.468 13.907 1.00 0.00 O +HETATM 2987 H1 HOH A 996 16.001 41.156 13.126 1.00 0.00 H +HETATM 2988 H2 HOH A 996 14.616 41.381 13.694 1.00 0.00 H +HETATM 2989 O HOH A 997 45.367 22.636 41.311 1.00 0.00 O +HETATM 2990 H1 HOH A 997 46.300 22.468 41.176 1.00 0.00 H +HETATM 2991 H2 HOH A 997 44.947 22.322 40.512 1.00 0.00 H +HETATM 2992 O HOH A 998 44.788 35.783 31.272 1.00 0.00 O +HETATM 2993 H1 HOH A 998 44.084 35.846 30.627 1.00 0.00 H +HETATM 2994 H2 HOH A 998 45.523 36.246 30.874 1.00 0.00 H +HETATM 2995 O HOH A 999 49.012 34.429 3.015 1.00 0.00 O +HETATM 2996 H1 HOH A 999 48.678 33.756 2.422 1.00 0.00 H +HETATM 2997 H2 HOH A 999 49.811 34.053 3.381 1.00 0.00 H +HETATM 2998 O HOH A1000 14.621 47.950 33.963 1.00 0.00 O +HETATM 2999 H1 HOH A1000 15.556 47.981 33.760 1.00 0.00 H +HETATM 3000 H2 HOH A1000 14.188 48.178 33.142 1.00 0.00 H +HETATM 3001 O HOH A1001 38.530 31.297 34.589 1.00 0.00 O +HETATM 3002 H1 HOH A1001 39.245 31.393 33.960 1.00 0.00 H +HETATM 3003 H2 HOH A1001 37.975 30.612 34.221 1.00 0.00 H +HETATM 3004 O HOH A1002 11.427 6.378 17.630 1.00 0.00 O +HETATM 3005 H1 HOH A1002 11.934 5.591 17.832 1.00 0.00 H +HETATM 3006 H2 HOH A1002 11.528 6.934 18.400 1.00 0.00 H +HETATM 3007 O HOH A1003 25.470 0.853 26.518 1.00 0.00 O +HETATM 3008 H1 HOH A1003 25.395 1.360 27.326 1.00 0.00 H +HETATM 3009 H2 HOH A1003 24.949 1.337 25.880 1.00 0.00 H +HETATM 3010 O HOH A1004 44.358 33.493 17.591 1.00 0.00 O +HETATM 3011 H1 HOH A1004 44.023 32.687 17.196 1.00 0.00 H +HETATM 3012 H2 HOH A1004 45.106 33.211 18.115 1.00 0.00 H +HETATM 3013 O HOH A1005 39.339 18.161 36.351 1.00 0.00 O +HETATM 3014 H1 HOH A1005 39.070 17.746 37.170 1.00 0.00 H +HETATM 3015 H2 HOH A1005 40.042 18.758 36.602 1.00 0.00 H +HETATM 3016 O HOH A1006 19.784 44.582 16.458 1.00 0.00 O +HETATM 3017 H1 HOH A1006 20.494 45.012 15.981 1.00 0.00 H +HETATM 3018 H2 HOH A1006 19.678 43.737 16.024 1.00 0.00 H +HETATM 3019 O HOH A1007 10.990 44.441 28.218 1.00 0.00 O +HETATM 3020 H1 HOH A1007 11.195 43.703 28.791 1.00 0.00 H +HETATM 3021 H2 HOH A1007 10.583 45.087 28.792 1.00 0.00 H +HETATM 3022 O HOH A1008 34.288 41.400 2.723 1.00 0.00 O +HETATM 3023 H1 HOH A1008 34.436 40.455 2.695 1.00 0.00 H +HETATM 3024 H2 HOH A1008 34.321 41.676 1.809 1.00 0.00 H +HETATM 3025 O HOH A1009 49.206 49.302 41.341 1.00 0.00 O +HETATM 3026 H1 HOH A1009 48.761 49.953 41.884 1.00 0.00 H +HETATM 3027 H2 HOH A1009 49.876 48.929 41.911 1.00 0.00 H +HETATM 3028 O HOH A1010 40.539 41.039 38.151 1.00 0.00 O +HETATM 3029 H1 HOH A1010 39.832 41.451 37.653 1.00 0.00 H +HETATM 3030 H2 HOH A1010 41.340 41.335 37.722 1.00 0.00 H +HETATM 3031 O HOH A1011 1.010 39.947 28.635 1.00 0.00 O +HETATM 3032 H1 HOH A1011 1.775 40.169 28.103 1.00 0.00 H +HETATM 3033 H2 HOH A1011 1.182 39.061 28.947 1.00 0.00 H +HETATM 3034 O HOH A1012 49.720 43.120 24.185 1.00 0.00 O +HETATM 3035 H1 HOH A1012 49.748 42.916 23.250 1.00 0.00 H +HETATM 3036 H2 HOH A1012 48.819 43.398 24.344 1.00 0.00 H +HETATM 3037 O HOH A1013 37.634 40.802 39.496 1.00 0.00 O +HETATM 3038 H1 HOH A1013 37.408 39.992 39.954 1.00 0.00 H +HETATM 3039 H2 HOH A1013 38.583 40.870 39.582 1.00 0.00 H +HETATM 3040 O HOH A1014 18.131 34.259 15.777 1.00 0.00 O +HETATM 3041 H1 HOH A1014 18.312 34.737 16.587 1.00 0.00 H +HETATM 3042 H2 HOH A1014 17.331 33.769 15.961 1.00 0.00 H +HETATM 3043 O HOH A1015 46.095 5.170 48.188 1.00 0.00 O +HETATM 3044 H1 HOH A1015 47.030 5.310 48.034 1.00 0.00 H +HETATM 3045 H2 HOH A1015 45.661 5.834 47.656 1.00 0.00 H +HETATM 3046 O HOH A1016 47.854 11.464 17.569 1.00 0.00 O +HETATM 3047 H1 HOH A1016 46.954 11.776 17.466 1.00 0.00 H +HETATM 3048 H2 HOH A1016 48.323 11.831 16.822 1.00 0.00 H +HETATM 3049 O HOH A1017 14.573 22.744 34.903 1.00 0.00 O +HETATM 3050 H1 HOH A1017 15.212 22.553 34.216 1.00 0.00 H +HETATM 3051 H2 HOH A1017 13.768 22.322 34.608 1.00 0.00 H +HETATM 3052 O HOH A1018 47.040 15.538 15.727 1.00 0.00 O +HETATM 3053 H1 HOH A1018 47.116 16.072 14.936 1.00 0.00 H +HETATM 3054 H2 HOH A1018 47.012 14.638 15.409 1.00 0.00 H +HETATM 3055 O HOH A1019 49.131 25.861 17.631 1.00 0.00 O +HETATM 3056 H1 HOH A1019 48.599 25.524 16.910 1.00 0.00 H +HETATM 3057 H2 HOH A1019 48.794 25.420 18.408 1.00 0.00 H +HETATM 3058 O HOH A1020 4.033 44.625 35.493 1.00 0.00 O +HETATM 3059 H1 HOH A1020 4.046 44.159 34.657 1.00 0.00 H +HETATM 3060 H2 HOH A1020 3.113 44.640 35.748 1.00 0.00 H +HETATM 3061 O HOH A1021 37.973 46.358 9.636 1.00 0.00 O +HETATM 3062 H1 HOH A1021 37.824 47.247 9.959 1.00 0.00 H +HETATM 3063 H2 HOH A1021 38.912 46.319 9.462 1.00 0.00 H +HETATM 3064 O HOH A1022 35.859 39.993 9.841 1.00 0.00 O +HETATM 3065 H1 HOH A1022 35.806 39.289 9.195 1.00 0.00 H +HETATM 3066 H2 HOH A1022 36.781 40.023 10.091 1.00 0.00 H +HETATM 3067 O HOH A1023 27.164 18.385 27.109 1.00 0.00 O +HETATM 3068 H1 HOH A1023 27.541 18.734 27.917 1.00 0.00 H +HETATM 3069 H2 HOH A1023 26.388 17.905 27.391 1.00 0.00 H +HETATM 3070 O HOH A1024 43.009 0.618 37.643 1.00 0.00 O +HETATM 3071 H1 HOH A1024 43.436 0.145 38.357 1.00 0.00 H +HETATM 3072 H2 HOH A1024 42.813 1.479 38.007 1.00 0.00 H +END \ No newline at end of file diff --git a/examples/water_1024/water1024.pdb b/examples/water_1024/water1024.pdb new file mode 100644 index 000000000..61123b49d --- /dev/null +++ b/examples/water_1024/water1024.pdb @@ -0,0 +1,3075 @@ +REMARK testcase for ADMP forcefield +CRYST1 50.000 50.000 50.000 90.00 90.00 90.00 P 1 1 +HETATM 1 O HOH A 1 6.151 10.912 26.734 1.00 0.00 O +HETATM 2 H1 HOH A 1 5.478 11.372 26.233 1.00 0.00 H +HETATM 3 H2 HOH A 1 6.773 11.592 26.985 1.00 0.00 H +HETATM 4 O HOH A 2 12.550 2.171 44.888 1.00 0.00 O +HETATM 5 H1 HOH A 2 13.046 2.984 44.792 1.00 0.00 H +HETATM 6 H2 HOH A 2 12.159 2.229 45.758 1.00 0.00 H +HETATM 7 O HOH A 3 46.148 27.324 43.627 1.00 0.00 O +HETATM 8 H1 HOH A 3 46.403 28.072 44.167 1.00 0.00 H +HETATM 9 H2 HOH A 3 45.334 27.011 44.017 1.00 0.00 H +HETATM 10 O HOH A 4 40.594 22.790 34.698 1.00 0.00 O +HETATM 11 H1 HOH A 4 40.164 21.938 34.615 1.00 0.00 H +HETATM 12 H2 HOH A 4 39.930 23.359 35.082 1.00 0.00 H +HETATM 13 O HOH A 5 33.118 26.837 14.565 1.00 0.00 O +HETATM 14 H1 HOH A 5 33.572 26.369 15.267 1.00 0.00 H +HETATM 15 H2 HOH A 5 32.245 26.450 14.543 1.00 0.00 H +HETATM 16 O HOH A 6 40.034 31.573 47.251 1.00 0.00 O +HETATM 17 H1 HOH A 6 39.640 32.286 47.755 1.00 0.00 H +HETATM 18 H2 HOH A 6 39.677 31.674 46.371 1.00 0.00 H +HETATM 19 O HOH A 7 49.815 10.339 6.098 1.00 0.00 O +HETATM 20 H1 HOH A 7 49.912 11.183 6.540 1.00 0.00 H +HETATM 21 H2 HOH A 7 49.116 9.895 6.574 1.00 0.00 H +HETATM 22 O HOH A 8 10.855 9.466 36.213 1.00 0.00 O +HETATM 23 H1 HOH A 8 11.018 9.388 35.273 1.00 0.00 H +HETATM 24 H2 HOH A 8 9.916 9.319 36.308 1.00 0.00 H +HETATM 25 O HOH A 9 21.272 43.663 40.433 1.00 0.00 O +HETATM 26 H1 HOH A 9 21.139 43.690 41.380 1.00 0.00 H +HETATM 27 H2 HOH A 9 21.984 43.038 40.307 1.00 0.00 H +HETATM 28 O HOH A 10 35.753 44.780 38.645 1.00 0.00 O +HETATM 29 H1 HOH A 10 36.224 45.549 38.967 1.00 0.00 H +HETATM 30 H2 HOH A 10 34.836 45.047 38.630 1.00 0.00 H +HETATM 31 O HOH A 11 29.889 39.528 9.239 1.00 0.00 O +HETATM 32 H1 HOH A 11 29.181 39.592 8.598 1.00 0.00 H +HETATM 33 H2 HOH A 11 30.536 40.168 8.948 1.00 0.00 H +HETATM 34 O HOH A 12 21.616 29.638 45.881 1.00 0.00 O +HETATM 35 H1 HOH A 12 21.943 29.335 46.728 1.00 0.00 H +HETATM 36 H2 HOH A 12 20.739 29.971 46.065 1.00 0.00 H +HETATM 37 O HOH A 13 0.005 29.640 36.910 1.00 0.00 O +HETATM 38 H1 HOH A 13 0.000 30.328 37.575 1.00 0.00 H +HETATM 39 H2 HOH A 13 0.692 29.899 36.299 1.00 0.00 H +HETATM 40 O HOH A 14 2.764 43.853 42.732 1.00 0.00 O +HETATM 41 H1 HOH A 14 2.189 43.883 41.966 1.00 0.00 H +HETATM 42 H2 HOH A 14 2.986 44.766 42.902 1.00 0.00 H +HETATM 43 O HOH A 15 10.324 5.385 39.574 1.00 0.00 O +HETATM 44 H1 HOH A 15 9.508 5.129 40.005 1.00 0.00 H +HETATM 45 H2 HOH A 15 10.924 5.582 40.291 1.00 0.00 H +HETATM 46 O HOH A 16 16.091 35.659 5.421 1.00 0.00 O +HETATM 47 H1 HOH A 16 16.481 36.317 5.998 1.00 0.00 H +HETATM 48 H2 HOH A 16 15.967 36.111 4.588 1.00 0.00 H +HETATM 49 O HOH A 17 9.401 4.374 18.073 1.00 0.00 O +HETATM 50 H1 HOH A 17 8.784 3.933 17.489 1.00 0.00 H +HETATM 51 H2 HOH A 17 8.897 5.084 18.466 1.00 0.00 H +HETATM 52 O HOH A 18 20.255 44.908 19.573 1.00 0.00 O +HETATM 53 H1 HOH A 18 19.313 44.823 19.424 1.00 0.00 H +HETATM 54 H2 HOH A 18 20.537 44.034 19.838 1.00 0.00 H +HETATM 55 O HOH A 19 23.927 22.842 11.483 1.00 0.00 O +HETATM 56 H1 HOH A 19 23.610 23.507 12.095 1.00 0.00 H +HETATM 57 H2 HOH A 19 23.607 22.015 11.837 1.00 0.00 H +HETATM 58 O HOH A 20 43.629 25.630 31.651 1.00 0.00 O +HETATM 59 H1 HOH A 20 42.714 25.635 31.933 1.00 0.00 H +HETATM 60 H2 HOH A 20 44.088 26.146 32.311 1.00 0.00 H +HETATM 61 O HOH A 21 26.278 18.996 46.617 1.00 0.00 O +HETATM 62 H1 HOH A 21 25.644 19.703 46.737 1.00 0.00 H +HETATM 63 H2 HOH A 21 26.687 18.890 47.474 1.00 0.00 H +HETATM 64 O HOH A 22 43.578 0.881 26.370 1.00 0.00 O +HETATM 65 H1 HOH A 22 44.087 0.335 25.770 1.00 0.00 H +HETATM 66 H2 HOH A 22 42.697 0.890 26.001 1.00 0.00 H +HETATM 67 O HOH A 23 11.967 11.477 29.754 1.00 0.00 O +HETATM 68 H1 HOH A 23 11.838 12.395 29.516 1.00 0.00 H +HETATM 69 H2 HOH A 23 12.899 11.407 29.951 1.00 0.00 H +HETATM 70 O HOH A 24 0.851 35.755 36.667 1.00 0.00 O +HETATM 71 H1 HOH A 24 0.615 36.504 37.215 1.00 0.00 H +HETATM 72 H2 HOH A 24 1.803 35.794 36.602 1.00 0.00 H +HETATM 73 O HOH A 25 11.692 27.787 30.997 1.00 0.00 O +HETATM 74 H1 HOH A 25 11.485 28.635 30.604 1.00 0.00 H +HETATM 75 H2 HOH A 25 12.632 27.682 30.863 1.00 0.00 H +HETATM 76 O HOH A 26 8.295 17.260 23.637 1.00 0.00 O +HETATM 77 H1 HOH A 26 8.099 18.090 23.202 1.00 0.00 H +HETATM 78 H2 HOH A 26 7.453 16.958 23.972 1.00 0.00 H +HETATM 79 O HOH A 27 33.921 30.567 29.637 1.00 0.00 O +HETATM 80 H1 HOH A 27 33.946 31.514 29.496 1.00 0.00 H +HETATM 81 H2 HOH A 27 34.212 30.449 30.539 1.00 0.00 H +HETATM 82 O HOH A 28 41.329 36.813 18.771 1.00 0.00 O +HETATM 83 H1 HOH A 28 40.808 37.425 19.292 1.00 0.00 H +HETATM 84 H2 HOH A 28 42.076 37.328 18.471 1.00 0.00 H +HETATM 85 O HOH A 29 25.788 31.230 47.843 1.00 0.00 O +HETATM 86 H1 HOH A 29 26.400 30.669 48.319 1.00 0.00 H +HETATM 87 H2 HOH A 29 25.489 31.866 48.491 1.00 0.00 H +HETATM 88 O HOH A 30 26.887 29.994 38.981 1.00 0.00 O +HETATM 89 H1 HOH A 30 26.729 30.693 38.347 1.00 0.00 H +HETATM 90 H2 HOH A 30 26.048 29.872 39.422 1.00 0.00 H +HETATM 91 O HOH A 31 7.358 25.186 43.231 1.00 0.00 O +HETATM 92 H1 HOH A 31 7.137 26.106 43.372 1.00 0.00 H +HETATM 93 H2 HOH A 31 7.753 25.163 42.361 1.00 0.00 H +HETATM 94 O HOH A 32 48.233 28.815 26.308 1.00 0.00 O +HETATM 95 H1 HOH A 32 48.423 28.316 25.514 1.00 0.00 H +HETATM 96 H2 HOH A 32 48.407 28.206 27.023 1.00 0.00 H +HETATM 97 O HOH A 33 25.978 36.217 33.090 1.00 0.00 O +HETATM 98 H1 HOH A 33 26.211 35.656 32.351 1.00 0.00 H +HETATM 99 H2 HOH A 33 25.729 37.049 32.692 1.00 0.00 H +HETATM 100 O HOH A 34 1.073 18.333 3.389 1.00 0.00 O +HETATM 101 H1 HOH A 34 0.154 18.074 3.325 1.00 0.00 H +HETATM 102 H2 HOH A 34 1.387 18.335 2.487 1.00 0.00 H +HETATM 103 O HOH A 35 7.602 35.488 9.012 1.00 0.00 O +HETATM 104 H1 HOH A 35 7.851 34.610 8.722 1.00 0.00 H +HETATM 105 H2 HOH A 35 8.397 35.848 9.402 1.00 0.00 H +HETATM 106 O HOH A 36 31.687 29.537 12.400 1.00 0.00 O +HETATM 107 H1 HOH A 36 31.758 28.881 11.706 1.00 0.00 H +HETATM 108 H2 HOH A 36 31.082 30.190 12.054 1.00 0.00 H +HETATM 109 O HOH A 37 14.022 21.951 29.138 1.00 0.00 O +HETATM 110 H1 HOH A 37 13.922 21.147 29.648 1.00 0.00 H +HETATM 111 H2 HOH A 37 14.825 22.349 29.468 1.00 0.00 H +HETATM 112 O HOH A 38 35.815 5.649 30.538 1.00 0.00 O +HETATM 113 H1 HOH A 38 36.250 6.023 29.772 1.00 0.00 H +HETATM 114 H2 HOH A 38 34.919 5.976 30.490 1.00 0.00 H +HETATM 115 O HOH A 39 44.368 44.723 32.156 1.00 0.00 O +HETATM 116 H1 HOH A 39 43.554 44.530 32.622 1.00 0.00 H +HETATM 117 H2 HOH A 39 45.050 44.300 32.676 1.00 0.00 H +HETATM 118 O HOH A 40 43.418 43.692 25.308 1.00 0.00 O +HETATM 119 H1 HOH A 40 44.162 43.092 25.246 1.00 0.00 H +HETATM 120 H2 HOH A 40 43.389 44.129 24.458 1.00 0.00 H +HETATM 121 O HOH A 41 28.443 14.096 33.492 1.00 0.00 O +HETATM 122 H1 HOH A 41 28.129 13.598 32.737 1.00 0.00 H +HETATM 123 H2 HOH A 41 27.660 14.266 34.012 1.00 0.00 H +HETATM 124 O HOH A 42 15.934 39.259 20.862 1.00 0.00 O +HETATM 125 H1 HOH A 42 15.922 39.625 19.978 1.00 0.00 H +HETATM 126 H2 HOH A 42 16.146 38.336 20.738 1.00 0.00 H +HETATM 127 O HOH A 43 42.310 26.848 34.686 1.00 0.00 O +HETATM 128 H1 HOH A 43 42.731 26.283 34.037 1.00 0.00 H +HETATM 129 H2 HOH A 43 41.395 26.885 34.416 1.00 0.00 H +HETATM 130 O HOH A 44 33.903 16.522 25.778 1.00 0.00 O +HETATM 131 H1 HOH A 44 33.166 15.932 25.622 1.00 0.00 H +HETATM 132 H2 HOH A 44 34.062 16.466 26.718 1.00 0.00 H +HETATM 133 O HOH A 45 39.033 46.458 47.207 1.00 0.00 O +HETATM 134 H1 HOH A 45 39.439 46.519 48.072 1.00 0.00 H +HETATM 135 H2 HOH A 45 38.569 45.623 47.217 1.00 0.00 H +HETATM 136 O HOH A 46 23.853 44.157 14.062 1.00 0.00 O +HETATM 137 H1 HOH A 46 24.799 44.213 14.202 1.00 0.00 H +HETATM 138 H2 HOH A 46 23.519 45.013 14.324 1.00 0.00 H +HETATM 139 O HOH A 47 46.585 4.433 35.865 1.00 0.00 O +HETATM 140 H1 HOH A 47 46.425 4.030 36.719 1.00 0.00 H +HETATM 141 H2 HOH A 47 47.334 5.009 36.007 1.00 0.00 H +HETATM 142 O HOH A 48 45.664 30.713 43.434 1.00 0.00 O +HETATM 143 H1 HOH A 48 44.799 30.998 43.141 1.00 0.00 H +HETATM 144 H2 HOH A 48 45.716 30.996 44.346 1.00 0.00 H +HETATM 145 O HOH A 49 34.836 5.637 38.867 1.00 0.00 O +HETATM 146 H1 HOH A 49 34.438 4.914 39.352 1.00 0.00 H +HETATM 147 H2 HOH A 49 35.669 5.794 39.308 1.00 0.00 H +HETATM 148 O HOH A 50 49.255 19.337 7.792 1.00 0.00 O +HETATM 149 H1 HOH A 50 49.979 18.747 7.581 1.00 0.00 H +HETATM 150 H2 HOH A 50 49.112 19.839 6.992 1.00 0.00 H +HETATM 151 O HOH A 51 30.520 22.550 17.927 1.00 0.00 O +HETATM 152 H1 HOH A 51 30.968 22.070 18.624 1.00 0.00 H +HETATM 153 H2 HOH A 51 30.412 23.434 18.273 1.00 0.00 H +HETATM 154 O HOH A 52 16.816 13.004 12.328 1.00 0.00 O +HETATM 155 H1 HOH A 52 17.246 13.854 12.419 1.00 0.00 H +HETATM 156 H2 HOH A 52 17.508 12.414 12.035 1.00 0.00 H +HETATM 157 O HOH A 53 42.152 33.922 16.020 1.00 0.00 O +HETATM 158 H1 HOH A 53 42.914 34.320 15.599 1.00 0.00 H +HETATM 159 H2 HOH A 53 41.516 34.632 16.089 1.00 0.00 H +HETATM 160 O HOH A 54 34.962 1.054 39.704 1.00 0.00 O +HETATM 161 H1 HOH A 54 34.870 0.411 40.407 1.00 0.00 H +HETATM 162 H2 HOH A 54 34.728 1.888 40.107 1.00 0.00 H +HETATM 163 O HOH A 55 4.852 39.350 42.155 1.00 0.00 O +HETATM 164 H1 HOH A 55 5.462 39.987 42.528 1.00 0.00 H +HETATM 165 H2 HOH A 55 4.131 39.311 42.780 1.00 0.00 H +HETATM 166 O HOH A 56 35.052 8.586 38.954 1.00 0.00 O +HETATM 167 H1 HOH A 56 34.984 8.724 38.009 1.00 0.00 H +HETATM 168 H2 HOH A 56 34.941 9.455 39.334 1.00 0.00 H +HETATM 169 O HOH A 57 23.302 13.812 8.923 1.00 0.00 O +HETATM 170 H1 HOH A 57 23.496 13.120 9.556 1.00 0.00 H +HETATM 171 H2 HOH A 57 23.795 14.569 9.234 1.00 0.00 H +HETATM 172 O HOH A 58 48.045 47.881 33.392 1.00 0.00 O +HETATM 173 H1 HOH A 58 48.827 47.469 33.024 1.00 0.00 H +HETATM 174 H2 HOH A 58 47.318 47.503 32.900 1.00 0.00 H +HETATM 175 O HOH A 59 47.963 47.365 38.718 1.00 0.00 O +HETATM 176 H1 HOH A 59 47.969 48.195 38.241 1.00 0.00 H +HETATM 177 H2 HOH A 59 47.689 46.717 38.072 1.00 0.00 H +HETATM 178 O HOH A 60 46.169 21.437 10.235 1.00 0.00 O +HETATM 179 H1 HOH A 60 46.467 21.817 9.409 1.00 0.00 H +HETATM 180 H2 HOH A 60 45.348 20.998 10.018 1.00 0.00 H +HETATM 181 O HOH A 61 27.218 32.487 26.197 1.00 0.00 O +HETATM 182 H1 HOH A 61 26.479 32.932 26.612 1.00 0.00 H +HETATM 183 H2 HOH A 61 27.982 32.772 26.694 1.00 0.00 H +HETATM 184 O HOH A 62 43.817 36.399 16.494 1.00 0.00 O +HETATM 185 H1 HOH A 62 43.957 35.778 17.209 1.00 0.00 H +HETATM 186 H2 HOH A 62 44.666 36.819 16.369 1.00 0.00 H +HETATM 187 O HOH A 63 10.054 12.231 43.611 1.00 0.00 O +HETATM 188 H1 HOH A 63 10.384 12.877 44.236 1.00 0.00 H +HETATM 189 H2 HOH A 63 9.198 11.978 43.953 1.00 0.00 H +HETATM 190 O HOH A 64 9.767 39.986 9.024 1.00 0.00 O +HETATM 191 H1 HOH A 64 9.274 40.803 9.103 1.00 0.00 H +HETATM 192 H2 HOH A 64 10.675 40.235 9.188 1.00 0.00 H +HETATM 193 O HOH A 65 27.980 33.009 22.732 1.00 0.00 O +HETATM 194 H1 HOH A 65 27.293 33.033 22.066 1.00 0.00 H +HETATM 195 H2 HOH A 65 28.552 33.743 22.516 1.00 0.00 H +HETATM 196 O HOH A 66 0.006 35.929 39.629 1.00 0.00 O +HETATM 197 H1 HOH A 66 0.274 36.792 39.946 1.00 0.00 H +HETATM 198 H2 HOH A 66 0.198 35.336 40.353 1.00 0.00 H +HETATM 199 O HOH A 67 43.754 5.879 33.391 1.00 0.00 O +HETATM 200 H1 HOH A 67 43.383 5.141 33.875 1.00 0.00 H +HETATM 201 H2 HOH A 67 43.226 6.631 33.654 1.00 0.00 H +HETATM 202 O HOH A 68 16.153 5.452 7.416 1.00 0.00 O +HETATM 203 H1 HOH A 68 15.998 5.819 8.287 1.00 0.00 H +HETATM 204 H2 HOH A 68 16.201 4.508 7.557 1.00 0.00 H +HETATM 205 O HOH A 69 6.157 37.365 7.820 1.00 0.00 O +HETATM 206 H1 HOH A 69 5.738 36.539 7.575 1.00 0.00 H +HETATM 207 H2 HOH A 69 6.201 37.864 7.006 1.00 0.00 H +HETATM 208 O HOH A 70 38.820 21.685 4.868 1.00 0.00 O +HETATM 209 H1 HOH A 70 39.706 21.536 4.536 1.00 0.00 H +HETATM 210 H2 HOH A 70 38.906 22.430 5.460 1.00 0.00 H +HETATM 211 O HOH A 71 39.752 4.314 34.768 1.00 0.00 O +HETATM 212 H1 HOH A 71 40.004 4.985 34.134 1.00 0.00 H +HETATM 213 H2 HOH A 71 40.069 3.495 34.393 1.00 0.00 H +HETATM 214 O HOH A 72 30.828 4.957 13.676 1.00 0.00 O +HETATM 215 H1 HOH A 72 30.521 4.100 13.973 1.00 0.00 H +HETATM 216 H2 HOH A 72 30.570 5.560 14.370 1.00 0.00 H +HETATM 217 O HOH A 73 11.951 36.221 14.674 1.00 0.00 O +HETATM 218 H1 HOH A 73 12.442 36.365 13.864 1.00 0.00 H +HETATM 219 H2 HOH A 73 12.520 35.666 15.204 1.00 0.00 H +HETATM 220 O HOH A 74 17.071 15.826 34.735 1.00 0.00 O +HETATM 221 H1 HOH A 74 17.590 15.040 34.906 1.00 0.00 H +HETATM 222 H2 HOH A 74 16.670 16.039 35.576 1.00 0.00 H +HETATM 223 O HOH A 75 4.308 9.229 33.467 1.00 0.00 O +HETATM 224 H1 HOH A 75 4.260 8.729 34.282 1.00 0.00 H +HETATM 225 H2 HOH A 75 5.209 9.546 33.431 1.00 0.00 H +HETATM 226 O HOH A 76 1.199 8.357 46.881 1.00 0.00 O +HETATM 227 H1 HOH A 76 1.402 8.042 47.762 1.00 0.00 H +HETATM 228 H2 HOH A 76 0.250 8.279 46.809 1.00 0.00 H +HETATM 229 O HOH A 77 17.732 48.670 27.048 1.00 0.00 O +HETATM 230 H1 HOH A 77 17.835 47.719 27.007 1.00 0.00 H +HETATM 231 H2 HOH A 77 17.883 48.968 26.153 1.00 0.00 H +HETATM 232 O HOH A 78 29.805 38.190 27.814 1.00 0.00 O +HETATM 233 H1 HOH A 78 28.966 38.650 27.818 1.00 0.00 H +HETATM 234 H2 HOH A 78 30.421 38.808 28.204 1.00 0.00 H +HETATM 235 O HOH A 79 21.317 23.625 29.134 1.00 0.00 O +HETATM 236 H1 HOH A 79 20.712 23.764 28.405 1.00 0.00 H +HETATM 237 H2 HOH A 79 20.924 24.093 29.867 1.00 0.00 H +HETATM 238 O HOH A 80 42.732 7.143 49.361 1.00 0.00 O +HETATM 239 H1 HOH A 80 42.541 7.515 48.500 1.00 0.00 H +HETATM 240 H2 HOH A 80 42.628 7.873 49.968 1.00 0.00 H +HETATM 241 O HOH A 81 16.255 5.466 38.637 1.00 0.00 O +HETATM 242 H1 HOH A 81 15.533 4.970 39.024 1.00 0.00 H +HETATM 243 H2 HOH A 81 16.744 4.824 38.127 1.00 0.00 H +HETATM 244 O HOH A 82 28.221 24.013 19.080 1.00 0.00 O +HETATM 245 H1 HOH A 82 27.291 24.099 18.870 1.00 0.00 H +HETATM 246 H2 HOH A 82 28.617 24.821 18.759 1.00 0.00 H +HETATM 247 O HOH A 83 9.793 26.257 39.436 1.00 0.00 O +HETATM 248 H1 HOH A 83 9.011 26.319 39.984 1.00 0.00 H +HETATM 249 H2 HOH A 83 9.850 27.106 39.001 1.00 0.00 H +HETATM 250 O HOH A 84 39.514 8.011 42.206 1.00 0.00 O +HETATM 251 H1 HOH A 84 40.130 8.591 42.655 1.00 0.00 H +HETATM 252 H2 HOH A 84 39.971 7.175 42.145 1.00 0.00 H +HETATM 253 O HOH A 85 17.844 2.939 46.079 1.00 0.00 O +HETATM 254 H1 HOH A 85 17.782 2.522 46.939 1.00 0.00 H +HETATM 255 H2 HOH A 85 17.727 2.225 45.455 1.00 0.00 H +HETATM 256 O HOH A 86 48.868 44.392 42.012 1.00 0.00 O +HETATM 257 H1 HOH A 86 48.161 44.921 42.382 1.00 0.00 H +HETATM 258 H2 HOH A 86 48.464 43.922 41.285 1.00 0.00 H +HETATM 259 O HOH A 87 29.407 25.249 43.329 1.00 0.00 O +HETATM 260 H1 HOH A 87 29.004 24.976 42.504 1.00 0.00 H +HETATM 261 H2 HOH A 87 29.695 24.435 43.738 1.00 0.00 H +HETATM 262 O HOH A 88 11.728 38.155 2.936 1.00 0.00 O +HETATM 263 H1 HOH A 88 11.152 38.841 2.599 1.00 0.00 H +HETATM 264 H2 HOH A 88 11.829 37.545 2.207 1.00 0.00 H +HETATM 265 O HOH A 89 42.251 38.405 24.935 1.00 0.00 O +HETATM 266 H1 HOH A 89 43.208 38.419 24.973 1.00 0.00 H +HETATM 267 H2 HOH A 89 41.971 38.828 25.744 1.00 0.00 H +HETATM 268 O HOH A 90 21.103 25.734 44.801 1.00 0.00 O +HETATM 269 H1 HOH A 90 21.103 25.320 43.938 1.00 0.00 H +HETATM 270 H2 HOH A 90 22.026 25.882 44.999 1.00 0.00 H +HETATM 271 O HOH A 91 0.427 32.871 38.868 1.00 0.00 O +HETATM 272 H1 HOH A 91 0.998 33.597 38.616 1.00 0.00 H +HETATM 273 H2 HOH A 91 0.003 32.604 38.054 1.00 0.00 H +HETATM 274 O HOH A 92 49.217 30.965 18.351 1.00 0.00 O +HETATM 275 H1 HOH A 92 49.378 30.404 17.592 1.00 0.00 H +HETATM 276 H2 HOH A 92 48.768 31.730 17.994 1.00 0.00 H +HETATM 277 O HOH A 93 25.706 7.944 23.915 1.00 0.00 O +HETATM 278 H1 HOH A 93 26.560 7.688 24.263 1.00 0.00 H +HETATM 279 H2 HOH A 93 25.078 7.409 24.397 1.00 0.00 H +HETATM 280 O HOH A 94 1.609 42.292 37.577 1.00 0.00 O +HETATM 281 H1 HOH A 94 1.026 41.831 38.181 1.00 0.00 H +HETATM 282 H2 HOH A 94 2.485 42.149 37.931 1.00 0.00 H +HETATM 283 O HOH A 95 20.995 43.565 32.784 1.00 0.00 O +HETATM 284 H1 HOH A 95 20.286 43.882 33.344 1.00 0.00 H +HETATM 285 H2 HOH A 95 21.431 42.892 33.304 1.00 0.00 H +HETATM 286 O HOH A 96 31.514 3.565 5.591 1.00 0.00 O +HETATM 287 H1 HOH A 96 31.494 4.522 5.578 1.00 0.00 H +HETATM 288 H2 HOH A 96 30.612 3.307 5.770 1.00 0.00 H +HETATM 289 O HOH A 97 38.892 31.994 3.332 1.00 0.00 O +HETATM 290 H1 HOH A 97 38.892 32.717 2.705 1.00 0.00 H +HETATM 291 H2 HOH A 97 39.718 31.540 3.178 1.00 0.00 H +HETATM 292 O HOH A 98 30.446 33.862 11.753 1.00 0.00 O +HETATM 293 H1 HOH A 98 31.336 34.106 11.499 1.00 0.00 H +HETATM 294 H2 HOH A 98 30.510 33.648 12.682 1.00 0.00 H +HETATM 295 O HOH A 99 20.091 47.050 42.681 1.00 0.00 O +HETATM 296 H1 HOH A 99 19.353 47.461 42.231 1.00 0.00 H +HETATM 297 H2 HOH A 99 20.324 46.305 42.130 1.00 0.00 H +HETATM 298 O HOH A 100 14.273 31.618 29.238 1.00 0.00 O +HETATM 299 H1 HOH A 100 14.599 30.727 29.116 1.00 0.00 H +HETATM 300 H2 HOH A 100 14.952 32.057 29.747 1.00 0.00 H +HETATM 301 O HOH A 101 38.422 40.348 29.570 1.00 0.00 O +HETATM 302 H1 HOH A 101 39.052 39.635 29.458 1.00 0.00 H +HETATM 303 H2 HOH A 101 38.951 41.143 29.548 1.00 0.00 H +HETATM 304 O HOH A 102 7.507 47.780 9.342 1.00 0.00 O +HETATM 305 H1 HOH A 102 7.159 48.577 8.942 1.00 0.00 H +HETATM 306 H2 HOH A 102 7.977 47.340 8.636 1.00 0.00 H +HETATM 307 O HOH A 103 16.880 25.590 41.072 1.00 0.00 O +HETATM 308 H1 HOH A 103 17.419 25.940 40.362 1.00 0.00 H +HETATM 309 H2 HOH A 103 16.080 25.293 40.644 1.00 0.00 H +HETATM 310 O HOH A 104 27.531 1.908 35.206 1.00 0.00 O +HETATM 311 H1 HOH A 104 28.133 2.044 35.938 1.00 0.00 H +HETATM 312 H2 HOH A 104 26.698 2.265 35.509 1.00 0.00 H +HETATM 313 O HOH A 105 18.598 9.178 45.643 1.00 0.00 O +HETATM 314 H1 HOH A 105 18.553 8.792 46.518 1.00 0.00 H +HETATM 315 H2 HOH A 105 19.004 10.033 45.776 1.00 0.00 H +HETATM 316 O HOH A 106 35.802 8.011 11.689 1.00 0.00 O +HETATM 317 H1 HOH A 106 36.071 8.630 12.368 1.00 0.00 H +HETATM 318 H2 HOH A 106 36.581 7.892 11.148 1.00 0.00 H +HETATM 319 O HOH A 107 5.967 41.290 20.414 1.00 0.00 O +HETATM 320 H1 HOH A 107 5.324 40.621 20.181 1.00 0.00 H +HETATM 321 H2 HOH A 107 5.910 41.935 19.712 1.00 0.00 H +HETATM 322 O HOH A 108 7.595 18.776 47.511 1.00 0.00 O +HETATM 323 H1 HOH A 108 7.337 19.119 48.367 1.00 0.00 H +HETATM 324 H2 HOH A 108 8.057 17.963 47.706 1.00 0.00 H +HETATM 325 O HOH A 109 27.414 33.262 9.719 1.00 0.00 O +HETATM 326 H1 HOH A 109 26.718 33.338 10.373 1.00 0.00 H +HETATM 327 H2 HOH A 109 27.732 32.366 9.808 1.00 0.00 H +HETATM 328 O HOH A 110 14.293 34.508 44.917 1.00 0.00 O +HETATM 329 H1 HOH A 110 13.783 33.838 44.461 1.00 0.00 H +HETATM 330 H2 HOH A 110 15.090 34.059 45.193 1.00 0.00 H +HETATM 331 O HOH A 111 4.375 30.138 15.856 1.00 0.00 O +HETATM 332 H1 HOH A 111 4.898 30.914 16.059 1.00 0.00 H +HETATM 333 H2 HOH A 111 4.968 29.567 15.372 1.00 0.00 H +HETATM 334 O HOH A 112 44.428 30.610 4.467 1.00 0.00 O +HETATM 335 H1 HOH A 112 44.480 30.632 3.511 1.00 0.00 H +HETATM 336 H2 HOH A 112 45.289 30.900 4.763 1.00 0.00 H +HETATM 337 O HOH A 113 46.672 22.349 36.545 1.00 0.00 O +HETATM 338 H1 HOH A 113 46.225 23.169 36.334 1.00 0.00 H +HETATM 339 H2 HOH A 113 47.272 22.206 35.815 1.00 0.00 H +HETATM 340 O HOH A 114 20.688 38.088 21.293 1.00 0.00 O +HETATM 341 H1 HOH A 114 21.467 37.833 20.799 1.00 0.00 H +HETATM 342 H2 HOH A 114 20.980 38.125 22.202 1.00 0.00 H +HETATM 343 O HOH A 115 14.919 39.637 48.870 1.00 0.00 O +HETATM 344 H1 HOH A 115 14.463 40.350 48.422 1.00 0.00 H +HETATM 345 H2 HOH A 115 15.575 39.338 48.244 1.00 0.00 H +HETATM 346 O HOH A 116 5.498 15.531 41.933 1.00 0.00 O +HETATM 347 H1 HOH A 116 4.944 15.058 42.554 1.00 0.00 H +HETATM 348 H2 HOH A 116 6.381 15.452 42.289 1.00 0.00 H +HETATM 349 O HOH A 117 11.622 13.254 49.280 1.00 0.00 O +HETATM 350 H1 HOH A 117 11.424 12.793 48.465 1.00 0.00 H +HETATM 351 H2 HOH A 117 10.790 13.642 49.546 1.00 0.00 H +HETATM 352 O HOH A 118 31.956 15.269 12.934 1.00 0.00 O +HETATM 353 H1 HOH A 118 32.097 14.348 13.151 1.00 0.00 H +HETATM 354 H2 HOH A 118 32.782 15.698 13.150 1.00 0.00 H +HETATM 355 O HOH A 119 22.286 23.872 39.145 1.00 0.00 O +HETATM 356 H1 HOH A 119 23.042 23.531 39.623 1.00 0.00 H +HETATM 357 H2 HOH A 119 22.522 23.782 38.223 1.00 0.00 H +HETATM 358 O HOH A 120 11.045 43.884 36.405 1.00 0.00 O +HETATM 359 H1 HOH A 120 11.107 43.563 37.305 1.00 0.00 H +HETATM 360 H2 HOH A 120 10.896 43.101 35.879 1.00 0.00 H +HETATM 361 O HOH A 121 22.992 7.941 1.949 1.00 0.00 O +HETATM 362 H1 HOH A 121 22.504 7.247 1.506 1.00 0.00 H +HETATM 363 H2 HOH A 121 22.578 8.751 1.655 1.00 0.00 H +HETATM 364 O HOH A 122 5.889 34.711 37.399 1.00 0.00 O +HETATM 365 H1 HOH A 122 5.072 34.218 37.478 1.00 0.00 H +HETATM 366 H2 HOH A 122 5.884 35.044 36.503 1.00 0.00 H +HETATM 367 O HOH A 123 47.497 36.247 46.703 1.00 0.00 O +HETATM 368 H1 HOH A 123 47.488 36.859 45.966 1.00 0.00 H +HETATM 369 H2 HOH A 123 47.618 35.388 46.302 1.00 0.00 H +HETATM 370 O HOH A 124 40.451 48.946 44.772 1.00 0.00 O +HETATM 371 H1 HOH A 124 41.223 49.293 44.325 1.00 0.00 H +HETATM 372 H2 HOH A 124 39.712 49.247 44.246 1.00 0.00 H +HETATM 373 O HOH A 125 16.433 42.097 39.528 1.00 0.00 O +HETATM 374 H1 HOH A 125 16.730 41.559 38.794 1.00 0.00 H +HETATM 375 H2 HOH A 125 16.062 41.473 40.149 1.00 0.00 H +HETATM 376 O HOH A 126 31.541 38.601 7.207 1.00 0.00 O +HETATM 377 H1 HOH A 126 32.086 38.464 6.431 1.00 0.00 H +HETATM 378 H2 HOH A 126 30.841 37.956 7.128 1.00 0.00 H +HETATM 379 O HOH A 127 0.612 37.295 6.270 1.00 0.00 O +HETATM 380 H1 HOH A 127 0.905 37.597 5.410 1.00 0.00 H +HETATM 381 H2 HOH A 127 0.055 38.000 6.596 1.00 0.00 H +HETATM 382 O HOH A 128 46.443 12.298 5.973 1.00 0.00 O +HETATM 383 H1 HOH A 128 46.958 12.424 6.770 1.00 0.00 H +HETATM 384 H2 HOH A 128 45.535 12.379 6.257 1.00 0.00 H +HETATM 385 O HOH A 129 47.549 23.231 47.613 1.00 0.00 O +HETATM 386 H1 HOH A 129 48.268 22.632 47.412 1.00 0.00 H +HETATM 387 H2 HOH A 129 47.188 23.469 46.760 1.00 0.00 H +HETATM 388 O HOH A 130 38.046 16.133 27.846 1.00 0.00 O +HETATM 389 H1 HOH A 130 38.703 16.784 28.091 1.00 0.00 H +HETATM 390 H2 HOH A 130 37.299 16.319 28.412 1.00 0.00 H +HETATM 391 O HOH A 131 21.243 24.954 15.010 1.00 0.00 O +HETATM 392 H1 HOH A 131 21.504 25.816 14.687 1.00 0.00 H +HETATM 393 H2 HOH A 131 21.727 24.336 14.464 1.00 0.00 H +HETATM 394 O HOH A 132 6.098 0.851 4.968 1.00 0.00 O +HETATM 395 H1 HOH A 132 5.664 0.005 5.081 1.00 0.00 H +HETATM 396 H2 HOH A 132 5.702 1.222 4.181 1.00 0.00 H +HETATM 397 O HOH A 133 35.004 49.306 48.884 1.00 0.00 O +HETATM 398 H1 HOH A 133 35.905 49.042 48.698 1.00 0.00 H +HETATM 399 H2 HOH A 133 34.818 49.995 48.249 1.00 0.00 H +HETATM 400 O HOH A 134 41.038 31.736 7.277 1.00 0.00 O +HETATM 401 H1 HOH A 134 41.633 32.058 7.954 1.00 0.00 H +HETATM 402 H2 HOH A 134 40.168 31.995 7.577 1.00 0.00 H +HETATM 403 O HOH A 135 26.669 36.906 6.867 1.00 0.00 O +HETATM 404 H1 HOH A 135 25.717 36.997 6.829 1.00 0.00 H +HETATM 405 H2 HOH A 135 26.855 36.108 6.376 1.00 0.00 H +HETATM 406 O HOH A 136 21.380 16.109 7.514 1.00 0.00 O +HETATM 407 H1 HOH A 136 22.215 15.786 7.852 1.00 0.00 H +HETATM 408 H2 HOH A 136 21.342 15.789 6.615 1.00 0.00 H +HETATM 409 O HOH A 137 46.839 3.073 42.554 1.00 0.00 O +HETATM 410 H1 HOH A 137 46.920 3.851 43.105 1.00 0.00 H +HETATM 411 H2 HOH A 137 47.730 2.734 42.481 1.00 0.00 H +HETATM 412 O HOH A 138 16.644 32.128 47.096 1.00 0.00 O +HETATM 413 H1 HOH A 138 15.724 32.210 47.349 1.00 0.00 H +HETATM 414 H2 HOH A 138 17.117 32.069 47.924 1.00 0.00 H +HETATM 415 O HOH A 139 16.403 48.566 28.807 1.00 0.00 O +HETATM 416 H1 HOH A 139 16.918 48.625 29.612 1.00 0.00 H +HETATM 417 H2 HOH A 139 16.065 47.672 28.802 1.00 0.00 H +HETATM 418 O HOH A 140 5.299 25.530 19.192 1.00 0.00 O +HETATM 419 H1 HOH A 140 5.558 25.981 19.995 1.00 0.00 H +HETATM 420 H2 HOH A 140 4.484 25.085 19.417 1.00 0.00 H +HETATM 421 O HOH A 141 18.139 29.710 0.636 1.00 0.00 O +HETATM 422 H1 HOH A 141 18.427 30.299 1.333 1.00 0.00 H +HETATM 423 H2 HOH A 141 18.947 29.406 0.227 1.00 0.00 H +HETATM 424 O HOH A 142 48.630 38.232 31.076 1.00 0.00 O +HETATM 425 H1 HOH A 142 47.989 38.511 31.730 1.00 0.00 H +HETATM 426 H2 HOH A 142 48.111 37.810 30.394 1.00 0.00 H +HETATM 427 O HOH A 143 44.693 31.708 7.745 1.00 0.00 O +HETATM 428 H1 HOH A 143 43.961 31.504 7.163 1.00 0.00 H +HETATM 429 H2 HOH A 143 45.003 32.563 7.452 1.00 0.00 H +HETATM 430 O HOH A 144 44.045 8.301 26.038 1.00 0.00 O +HETATM 431 H1 HOH A 144 43.385 8.786 26.534 1.00 0.00 H +HETATM 432 H2 HOH A 144 43.700 8.266 25.147 1.00 0.00 H +HETATM 433 O HOH A 145 2.437 23.621 30.311 1.00 0.00 O +HETATM 434 H1 HOH A 145 2.809 23.674 31.192 1.00 0.00 H +HETATM 435 H2 HOH A 145 3.188 23.470 29.741 1.00 0.00 H +HETATM 436 O HOH A 146 32.696 21.306 12.777 1.00 0.00 O +HETATM 437 H1 HOH A 146 31.747 21.201 12.696 1.00 0.00 H +HETATM 438 H2 HOH A 146 32.835 22.251 12.766 1.00 0.00 H +HETATM 439 O HOH A 147 9.841 15.239 15.184 1.00 0.00 O +HETATM 440 H1 HOH A 147 10.627 15.723 14.930 1.00 0.00 H +HETATM 441 H2 HOH A 147 9.147 15.599 14.635 1.00 0.00 H +HETATM 442 O HOH A 148 38.483 44.372 36.216 1.00 0.00 O +HETATM 443 H1 HOH A 148 38.996 43.818 36.805 1.00 0.00 H +HETATM 444 H2 HOH A 148 38.715 45.265 36.460 1.00 0.00 H +HETATM 445 O HOH A 149 23.546 29.948 49.958 1.00 0.00 O +HETATM 446 H1 HOH A 149 22.849 29.881 49.305 1.00 0.00 H +HETATM 447 H2 HOH A 149 23.997 30.764 49.748 1.00 0.00 H +HETATM 448 O HOH A 150 32.581 40.735 7.418 1.00 0.00 O +HETATM 449 H1 HOH A 150 32.644 40.750 8.373 1.00 0.00 H +HETATM 450 H2 HOH A 150 31.833 41.294 7.216 1.00 0.00 H +HETATM 451 O HOH A 151 11.491 49.695 21.664 1.00 0.00 O +HETATM 452 H1 HOH A 151 11.081 49.877 20.818 1.00 0.00 H +HETATM 453 H2 HOH A 151 10.881 49.108 22.107 1.00 0.00 H +HETATM 454 O HOH A 152 42.077 18.402 9.716 1.00 0.00 O +HETATM 455 H1 HOH A 152 41.765 18.746 8.879 1.00 0.00 H +HETATM 456 H2 HOH A 152 43.003 18.216 9.570 1.00 0.00 H +HETATM 457 O HOH A 153 9.811 32.811 21.913 1.00 0.00 O +HETATM 458 H1 HOH A 153 8.998 32.374 21.661 1.00 0.00 H +HETATM 459 H2 HOH A 153 9.858 33.580 21.347 1.00 0.00 H +HETATM 460 O HOH A 154 31.511 3.291 2.057 1.00 0.00 O +HETATM 461 H1 HOH A 154 32.047 2.498 2.016 1.00 0.00 H +HETATM 462 H2 HOH A 154 32.012 3.945 1.574 1.00 0.00 H +HETATM 463 O HOH A 155 30.609 34.589 32.551 1.00 0.00 O +HETATM 464 H1 HOH A 155 29.844 34.976 32.126 1.00 0.00 H +HETATM 465 H2 HOH A 155 31.355 34.921 32.056 1.00 0.00 H +HETATM 466 O HOH A 156 33.475 41.242 16.494 1.00 0.00 O +HETATM 467 H1 HOH A 156 34.136 40.925 15.879 1.00 0.00 H +HETATM 468 H2 HOH A 156 32.680 41.330 15.972 1.00 0.00 H +HETATM 469 O HOH A 157 37.770 16.970 40.700 1.00 0.00 O +HETATM 470 H1 HOH A 157 38.390 16.990 39.971 1.00 0.00 H +HETATM 471 H2 HOH A 157 38.181 16.406 41.353 1.00 0.00 H +HETATM 472 O HOH A 158 20.332 8.906 24.932 1.00 0.00 O +HETATM 473 H1 HOH A 158 20.661 8.529 24.116 1.00 0.00 H +HETATM 474 H2 HOH A 158 21.026 9.494 25.224 1.00 0.00 H +HETATM 475 O HOH A 159 19.913 40.848 43.124 1.00 0.00 O +HETATM 476 H1 HOH A 159 19.615 39.968 43.358 1.00 0.00 H +HETATM 477 H2 HOH A 159 20.571 40.707 42.445 1.00 0.00 H +HETATM 478 O HOH A 160 34.903 15.713 44.966 1.00 0.00 O +HETATM 479 H1 HOH A 160 35.157 14.856 45.309 1.00 0.00 H +HETATM 480 H2 HOH A 160 35.256 16.339 45.596 1.00 0.00 H +HETATM 481 O HOH A 161 16.756 4.892 32.410 1.00 0.00 O +HETATM 482 H1 HOH A 161 17.588 4.435 32.531 1.00 0.00 H +HETATM 483 H2 HOH A 161 16.267 4.346 31.797 1.00 0.00 H +HETATM 484 O HOH A 162 20.926 29.788 22.021 1.00 0.00 O +HETATM 485 H1 HOH A 162 20.371 29.944 22.785 1.00 0.00 H +HETATM 486 H2 HOH A 162 20.506 29.065 21.560 1.00 0.00 H +HETATM 487 O HOH A 163 46.571 5.620 8.627 1.00 0.00 O +HETATM 488 H1 HOH A 163 45.774 6.150 8.622 1.00 0.00 H +HETATM 489 H2 HOH A 163 46.344 4.838 8.126 1.00 0.00 H +HETATM 490 O HOH A 164 27.339 13.897 10.465 1.00 0.00 O +HETATM 491 H1 HOH A 164 26.823 13.481 9.773 1.00 0.00 H +HETATM 492 H2 HOH A 164 27.585 14.747 10.105 1.00 0.00 H +HETATM 493 O HOH A 165 31.281 11.457 16.843 1.00 0.00 O +HETATM 494 H1 HOH A 165 31.381 12.270 17.339 1.00 0.00 H +HETATM 495 H2 HOH A 165 30.456 11.086 17.152 1.00 0.00 H +HETATM 496 O HOH A 166 11.629 43.905 25.743 1.00 0.00 O +HETATM 497 H1 HOH A 166 11.144 44.318 25.029 1.00 0.00 H +HETATM 498 H2 HOH A 166 12.297 44.544 25.983 1.00 0.00 H +HETATM 499 O HOH A 167 27.593 49.424 46.476 1.00 0.00 O +HETATM 500 H1 HOH A 167 26.866 49.956 46.800 1.00 0.00 H +HETATM 501 H2 HOH A 167 28.221 49.409 47.196 1.00 0.00 H +HETATM 502 O HOH A 168 7.488 38.316 1.522 1.00 0.00 O +HETATM 503 H1 HOH A 168 8.039 37.540 1.632 1.00 0.00 H +HETATM 504 H2 HOH A 168 8.098 39.051 1.544 1.00 0.00 H +HETATM 505 O HOH A 169 27.930 3.077 22.804 1.00 0.00 O +HETATM 506 H1 HOH A 169 26.987 2.957 22.693 1.00 0.00 H +HETATM 507 H2 HOH A 169 28.318 2.674 22.029 1.00 0.00 H +HETATM 508 O HOH A 170 22.588 29.803 25.328 1.00 0.00 O +HETATM 509 H1 HOH A 170 21.955 30.513 25.222 1.00 0.00 H +HETATM 510 H2 HOH A 170 22.778 29.786 26.264 1.00 0.00 H +HETATM 511 O HOH A 171 25.079 2.225 6.224 1.00 0.00 O +HETATM 512 H1 HOH A 171 24.301 2.512 5.746 1.00 0.00 H +HETATM 513 H2 HOH A 171 25.796 2.730 5.844 1.00 0.00 H +HETATM 514 O HOH A 172 43.046 26.916 5.457 1.00 0.00 O +HETATM 515 H1 HOH A 172 43.690 26.899 6.164 1.00 0.00 H +HETATM 516 H2 HOH A 172 42.805 26.001 5.327 1.00 0.00 H +HETATM 517 O HOH A 173 42.017 2.030 33.274 1.00 0.00 O +HETATM 518 H1 HOH A 173 41.953 2.026 32.319 1.00 0.00 H +HETATM 519 H2 HOH A 173 41.156 1.744 33.575 1.00 0.00 H +HETATM 520 O HOH A 174 38.595 41.652 23.812 1.00 0.00 O +HETATM 521 H1 HOH A 174 38.786 40.916 23.230 1.00 0.00 H +HETATM 522 H2 HOH A 174 37.846 42.089 23.411 1.00 0.00 H +HETATM 523 O HOH A 175 16.200 44.305 42.349 1.00 0.00 O +HETATM 524 H1 HOH A 175 15.472 44.103 42.937 1.00 0.00 H +HETATM 525 H2 HOH A 175 15.925 45.096 41.888 1.00 0.00 H +HETATM 526 O HOH A 176 4.993 29.996 4.393 1.00 0.00 O +HETATM 527 H1 HOH A 176 5.739 29.751 4.940 1.00 0.00 H +HETATM 528 H2 HOH A 176 5.380 30.247 3.556 1.00 0.00 H +HETATM 529 O HOH A 177 3.473 49.333 39.885 1.00 0.00 O +HETATM 530 H1 HOH A 177 4.355 49.360 40.256 1.00 0.00 H +HETATM 531 H2 HOH A 177 2.983 49.988 40.379 1.00 0.00 H +HETATM 532 O HOH A 178 14.655 12.992 2.773 1.00 0.00 O +HETATM 533 H1 HOH A 178 15.231 13.741 2.929 1.00 0.00 H +HETATM 534 H2 HOH A 178 13.786 13.299 3.023 1.00 0.00 H +HETATM 535 O HOH A 179 43.176 23.824 5.206 1.00 0.00 O +HETATM 536 H1 HOH A 179 42.999 22.997 5.654 1.00 0.00 H +HETATM 537 H2 HOH A 179 42.849 23.693 4.318 1.00 0.00 H +HETATM 538 O HOH A 180 5.085 4.543 3.763 1.00 0.00 O +HETATM 539 H1 HOH A 180 4.738 5.299 4.237 1.00 0.00 H +HETATM 540 H2 HOH A 180 4.670 3.788 4.177 1.00 0.00 H +HETATM 541 O HOH A 181 49.920 46.860 39.697 1.00 0.00 O +HETATM 542 H1 HOH A 181 49.453 47.197 40.462 1.00 0.00 H +HETATM 543 H2 HOH A 181 49.996 45.921 39.854 1.00 0.00 H +HETATM 544 O HOH A 182 13.467 6.961 32.688 1.00 0.00 O +HETATM 545 H1 HOH A 182 13.391 6.127 32.225 1.00 0.00 H +HETATM 546 H2 HOH A 182 12.870 7.548 32.226 1.00 0.00 H +HETATM 547 O HOH A 183 32.681 32.570 2.170 1.00 0.00 O +HETATM 548 H1 HOH A 183 31.816 32.673 2.568 1.00 0.00 H +HETATM 549 H2 HOH A 183 32.524 32.639 1.231 1.00 0.00 H +HETATM 550 O HOH A 184 30.853 7.823 25.435 1.00 0.00 O +HETATM 551 H1 HOH A 184 30.277 7.067 25.320 1.00 0.00 H +HETATM 552 H2 HOH A 184 30.466 8.313 26.158 1.00 0.00 H +HETATM 553 O HOH A 185 1.430 4.582 47.854 1.00 0.00 O +HETATM 554 H1 HOH A 185 0.995 5.062 48.559 1.00 0.00 H +HETATM 555 H2 HOH A 185 1.201 3.667 48.008 1.00 0.00 H +HETATM 556 O HOH A 186 30.226 37.405 24.165 1.00 0.00 O +HETATM 557 H1 HOH A 186 29.723 36.592 24.217 1.00 0.00 H +HETATM 558 H2 HOH A 186 31.136 37.134 24.271 1.00 0.00 H +HETATM 559 O HOH A 187 22.862 37.691 5.296 1.00 0.00 O +HETATM 560 H1 HOH A 187 23.478 37.523 6.010 1.00 0.00 H +HETATM 561 H2 HOH A 187 22.556 38.583 5.447 1.00 0.00 H +HETATM 562 O HOH A 188 40.674 39.983 41.945 1.00 0.00 O +HETATM 563 H1 HOH A 188 39.952 39.551 41.488 1.00 0.00 H +HETATM 564 H2 HOH A 188 40.717 40.855 41.557 1.00 0.00 H +HETATM 565 O HOH A 189 11.523 0.251 34.418 1.00 0.00 O +HETATM 566 H1 HOH A 189 11.552 1.203 34.523 1.00 0.00 H +HETATM 567 H2 HOH A 189 12.332 0.034 33.959 1.00 0.00 H +HETATM 568 O HOH A 190 1.773 22.373 3.296 1.00 0.00 O +HETATM 569 H1 HOH A 190 2.003 21.712 3.949 1.00 0.00 H +HETATM 570 H2 HOH A 190 2.171 23.179 3.617 1.00 0.00 H +HETATM 571 O HOH A 191 48.516 26.257 29.814 1.00 0.00 O +HETATM 572 H1 HOH A 191 49.335 26.730 29.959 1.00 0.00 H +HETATM 573 H2 HOH A 191 47.838 26.929 29.864 1.00 0.00 H +HETATM 574 O HOH A 192 48.953 31.403 4.436 1.00 0.00 O +HETATM 575 H1 HOH A 192 48.478 32.172 4.118 1.00 0.00 H +HETATM 576 H2 HOH A 192 49.079 30.860 3.660 1.00 0.00 H +HETATM 577 O HOH A 193 9.456 5.978 43.179 1.00 0.00 O +HETATM 578 H1 HOH A 193 8.979 6.259 43.960 1.00 0.00 H +HETATM 579 H2 HOH A 193 9.297 6.669 42.539 1.00 0.00 H +HETATM 580 O HOH A 194 31.701 9.900 37.973 1.00 0.00 O +HETATM 581 H1 HOH A 194 31.991 10.601 38.557 1.00 0.00 H +HETATM 582 H2 HOH A 194 30.793 9.739 38.221 1.00 0.00 H +HETATM 583 O HOH A 195 28.190 36.953 9.904 1.00 0.00 O +HETATM 584 H1 HOH A 195 27.972 37.357 9.064 1.00 0.00 H +HETATM 585 H2 HOH A 195 28.220 37.682 10.521 1.00 0.00 H +HETATM 586 O HOH A 196 17.262 25.041 12.174 1.00 0.00 O +HETATM 587 H1 HOH A 196 17.569 24.489 11.455 1.00 0.00 H +HETATM 588 H2 HOH A 196 16.388 25.321 11.908 1.00 0.00 H +HETATM 589 O HOH A 197 39.014 22.758 12.611 1.00 0.00 O +HETATM 590 H1 HOH A 197 39.097 22.274 11.789 1.00 0.00 H +HETATM 591 H2 HOH A 197 38.732 22.105 13.249 1.00 0.00 H +HETATM 592 O HOH A 198 39.306 24.018 2.933 1.00 0.00 O +HETATM 593 H1 HOH A 198 39.429 23.069 2.976 1.00 0.00 H +HETATM 594 H2 HOH A 198 38.692 24.150 2.213 1.00 0.00 H +HETATM 595 O HOH A 199 28.771 49.695 4.931 1.00 0.00 O +HETATM 596 H1 HOH A 199 29.215 49.569 5.770 1.00 0.00 H +HETATM 597 H2 HOH A 199 27.896 50.000 5.165 1.00 0.00 H +HETATM 598 O HOH A 200 10.530 26.023 15.999 1.00 0.00 O +HETATM 599 H1 HOH A 200 9.654 26.032 15.614 1.00 0.00 H +HETATM 600 H2 HOH A 200 10.936 26.832 15.695 1.00 0.00 H +HETATM 601 O HOH A 201 24.417 25.009 1.612 1.00 0.00 O +HETATM 602 H1 HOH A 201 24.564 25.877 1.235 1.00 0.00 H +HETATM 603 H2 HOH A 201 23.681 25.127 2.209 1.00 0.00 H +HETATM 604 O HOH A 202 9.546 41.461 48.203 1.00 0.00 O +HETATM 605 H1 HOH A 202 9.050 41.833 48.933 1.00 0.00 H +HETATM 606 H2 HOH A 202 9.653 40.539 48.429 1.00 0.00 H +HETATM 607 O HOH A 203 16.056 32.958 11.056 1.00 0.00 O +HETATM 608 H1 HOH A 203 15.565 32.495 10.378 1.00 0.00 H +HETATM 609 H2 HOH A 203 15.984 33.881 10.818 1.00 0.00 H +HETATM 610 O HOH A 204 10.169 24.718 30.067 1.00 0.00 O +HETATM 611 H1 HOH A 204 9.679 24.897 29.265 1.00 0.00 H +HETATM 612 H2 HOH A 204 10.010 23.793 30.247 1.00 0.00 H +HETATM 613 O HOH A 205 49.646 43.995 44.122 1.00 0.00 O +HETATM 614 H1 HOH A 205 49.398 44.688 44.735 1.00 0.00 H +HETATM 615 H2 HOH A 205 49.244 43.204 44.476 1.00 0.00 H +HETATM 616 O HOH A 206 23.292 31.088 29.956 1.00 0.00 O +HETATM 617 H1 HOH A 206 23.270 31.292 29.021 1.00 0.00 H +HETATM 618 H2 HOH A 206 23.823 31.781 30.343 1.00 0.00 H +HETATM 619 O HOH A 207 21.321 4.258 15.291 1.00 0.00 O +HETATM 620 H1 HOH A 207 21.469 3.639 14.575 1.00 0.00 H +HETATM 621 H2 HOH A 207 20.633 4.837 14.970 1.00 0.00 H +HETATM 622 O HOH A 208 45.943 25.910 40.486 1.00 0.00 O +HETATM 623 H1 HOH A 208 45.493 26.516 39.897 1.00 0.00 H +HETATM 624 H2 HOH A 208 46.835 25.862 40.147 1.00 0.00 H +HETATM 625 O HOH A 209 23.763 21.646 21.049 1.00 0.00 O +HETATM 626 H1 HOH A 209 24.190 22.500 21.120 1.00 0.00 H +HETATM 627 H2 HOH A 209 24.428 21.073 20.673 1.00 0.00 H +HETATM 628 O HOH A 210 20.855 27.815 1.501 1.00 0.00 O +HETATM 629 H1 HOH A 210 21.576 27.617 2.099 1.00 0.00 H +HETATM 630 H2 HOH A 210 20.284 28.399 1.997 1.00 0.00 H +HETATM 631 O HOH A 211 24.108 37.417 9.267 1.00 0.00 O +HETATM 632 H1 HOH A 211 23.281 37.370 8.786 1.00 0.00 H +HETATM 633 H2 HOH A 211 24.117 38.293 9.648 1.00 0.00 H +HETATM 634 O HOH A 212 25.984 3.490 13.636 1.00 0.00 O +HETATM 635 H1 HOH A 212 25.368 2.881 14.043 1.00 0.00 H +HETATM 636 H2 HOH A 212 26.045 3.201 12.727 1.00 0.00 H +HETATM 637 O HOH A 213 3.720 24.943 2.909 1.00 0.00 O +HETATM 638 H1 HOH A 213 3.252 24.515 2.192 1.00 0.00 H +HETATM 639 H2 HOH A 213 4.124 24.227 3.396 1.00 0.00 H +HETATM 640 O HOH A 214 20.947 49.086 28.589 1.00 0.00 O +HETATM 641 H1 HOH A 214 20.279 49.751 28.758 1.00 0.00 H +HETATM 642 H2 HOH A 214 20.502 48.424 28.064 1.00 0.00 H +HETATM 643 O HOH A 215 47.409 30.486 45.729 1.00 0.00 O +HETATM 644 H1 HOH A 215 47.339 30.757 46.645 1.00 0.00 H +HETATM 645 H2 HOH A 215 48.072 29.799 45.731 1.00 0.00 H +HETATM 646 O HOH A 216 3.064 33.066 35.397 1.00 0.00 O +HETATM 647 H1 HOH A 216 3.249 33.762 34.766 1.00 0.00 H +HETATM 648 H2 HOH A 216 3.227 33.464 36.250 1.00 0.00 H +HETATM 649 O HOH A 217 41.111 49.499 25.079 1.00 0.00 O +HETATM 650 H1 HOH A 217 41.237 48.558 24.953 1.00 0.00 H +HETATM 651 H2 HOH A 217 41.645 49.715 25.841 1.00 0.00 H +HETATM 652 O HOH A 218 40.002 42.842 31.581 1.00 0.00 O +HETATM 653 H1 HOH A 218 40.050 43.663 32.072 1.00 0.00 H +HETATM 654 H2 HOH A 218 40.430 42.199 32.143 1.00 0.00 H +HETATM 655 O HOH A 219 11.100 16.528 7.630 1.00 0.00 O +HETATM 656 H1 HOH A 219 11.530 15.922 7.025 1.00 0.00 H +HETATM 657 H2 HOH A 219 10.643 17.149 7.066 1.00 0.00 H +HETATM 658 O HOH A 220 8.327 19.626 37.582 1.00 0.00 O +HETATM 659 H1 HOH A 220 8.540 20.009 36.731 1.00 0.00 H +HETATM 660 H2 HOH A 220 9.174 19.412 37.969 1.00 0.00 H +HETATM 661 O HOH A 221 8.611 32.444 38.427 1.00 0.00 O +HETATM 662 H1 HOH A 221 9.386 32.371 38.985 1.00 0.00 H +HETATM 663 H2 HOH A 221 8.647 33.333 38.079 1.00 0.00 H +HETATM 664 O HOH A 222 32.992 13.476 19.962 1.00 0.00 O +HETATM 665 H1 HOH A 222 32.991 12.665 20.470 1.00 0.00 H +HETATM 666 H2 HOH A 222 33.589 14.055 20.432 1.00 0.00 H +HETATM 667 O HOH A 223 46.724 33.958 21.015 1.00 0.00 O +HETATM 668 H1 HOH A 223 46.679 34.356 20.146 1.00 0.00 H +HETATM 669 H2 HOH A 223 47.567 33.508 21.031 1.00 0.00 H +HETATM 670 O HOH A 224 7.194 33.808 26.261 1.00 0.00 O +HETATM 671 H1 HOH A 224 6.240 33.873 26.214 1.00 0.00 H +HETATM 672 H2 HOH A 224 7.366 32.878 26.397 1.00 0.00 H +HETATM 673 O HOH A 225 8.135 41.762 30.866 1.00 0.00 O +HETATM 674 H1 HOH A 225 7.579 42.479 30.560 1.00 0.00 H +HETATM 675 H2 HOH A 225 7.586 41.276 31.478 1.00 0.00 H +HETATM 676 O HOH A 226 24.786 22.809 15.681 1.00 0.00 O +HETATM 677 H1 HOH A 226 24.469 23.592 15.230 1.00 0.00 H +HETATM 678 H2 HOH A 226 24.570 22.088 15.092 1.00 0.00 H +HETATM 679 O HOH A 227 9.390 48.700 12.541 1.00 0.00 O +HETATM 680 H1 HOH A 227 9.275 49.316 13.266 1.00 0.00 H +HETATM 681 H2 HOH A 227 9.347 47.837 12.949 1.00 0.00 H +HETATM 682 O HOH A 228 26.651 37.376 44.836 1.00 0.00 O +HETATM 683 H1 HOH A 228 26.908 36.600 45.334 1.00 0.00 H +HETATM 684 H2 HOH A 228 26.316 37.033 44.009 1.00 0.00 H +HETATM 685 O HOH A 229 46.070 2.407 17.247 1.00 0.00 O +HETATM 686 H1 HOH A 229 46.868 2.492 16.724 1.00 0.00 H +HETATM 687 H2 HOH A 229 45.639 1.626 16.904 1.00 0.00 H +HETATM 688 O HOH A 230 42.495 37.411 21.587 1.00 0.00 O +HETATM 689 H1 HOH A 230 42.178 36.673 21.066 1.00 0.00 H +HETATM 690 H2 HOH A 230 41.703 37.869 21.864 1.00 0.00 H +HETATM 691 O HOH A 231 22.092 33.705 44.529 1.00 0.00 O +HETATM 692 H1 HOH A 231 22.847 33.380 45.019 1.00 0.00 H +HETATM 693 H2 HOH A 231 21.433 33.018 44.617 1.00 0.00 H +HETATM 694 O HOH A 232 15.949 3.189 21.628 1.00 0.00 O +HETATM 695 H1 HOH A 232 15.480 3.488 20.848 1.00 0.00 H +HETATM 696 H2 HOH A 232 16.826 3.556 21.538 1.00 0.00 H +HETATM 697 O HOH A 233 44.107 47.629 38.976 1.00 0.00 O +HETATM 698 H1 HOH A 233 44.552 48.455 39.166 1.00 0.00 H +HETATM 699 H2 HOH A 233 43.524 47.492 39.721 1.00 0.00 H +HETATM 700 O HOH A 234 49.993 33.094 37.445 1.00 0.00 O +HETATM 701 H1 HOH A 234 49.409 32.397 37.145 1.00 0.00 H +HETATM 702 H2 HOH A 234 49.769 33.847 36.901 1.00 0.00 H +HETATM 703 O HOH A 235 26.841 6.559 12.164 1.00 0.00 O +HETATM 704 H1 HOH A 235 26.902 7.283 11.540 1.00 0.00 H +HETATM 705 H2 HOH A 235 27.379 5.867 11.785 1.00 0.00 H +HETATM 706 O HOH A 236 49.478 25.544 32.415 1.00 0.00 O +HETATM 707 H1 HOH A 236 49.343 24.895 31.724 1.00 0.00 H +HETATM 708 H2 HOH A 236 50.000 26.230 32.004 1.00 0.00 H +HETATM 709 O HOH A 237 44.802 47.887 15.447 1.00 0.00 O +HETATM 710 H1 HOH A 237 45.029 47.292 14.733 1.00 0.00 H +HETATM 711 H2 HOH A 237 43.919 48.187 15.241 1.00 0.00 H +HETATM 712 O HOH A 238 36.338 36.398 26.144 1.00 0.00 O +HETATM 713 H1 HOH A 238 37.125 36.085 25.697 1.00 0.00 H +HETATM 714 H2 HOH A 238 36.497 36.215 27.068 1.00 0.00 H +HETATM 715 O HOH A 239 47.968 42.245 9.473 1.00 0.00 O +HETATM 716 H1 HOH A 239 47.845 41.299 9.556 1.00 0.00 H +HETATM 717 H2 HOH A 239 47.223 42.540 8.953 1.00 0.00 H +HETATM 718 O HOH A 240 0.920 2.386 6.555 1.00 0.00 O +HETATM 719 H1 HOH A 240 1.303 2.603 7.406 1.00 0.00 H +HETATM 720 H2 HOH A 240 0.553 3.208 6.239 1.00 0.00 H +HETATM 721 O HOH A 241 19.757 22.689 38.075 1.00 0.00 O +HETATM 722 H1 HOH A 241 20.100 23.185 37.331 1.00 0.00 H +HETATM 723 H2 HOH A 241 19.583 21.817 37.724 1.00 0.00 H +HETATM 724 O HOH A 242 4.961 16.536 25.784 1.00 0.00 O +HETATM 725 H1 HOH A 242 5.816 16.910 25.571 1.00 0.00 H +HETATM 726 H2 HOH A 242 4.821 15.862 25.122 1.00 0.00 H +HETATM 727 O HOH A 243 4.778 33.764 3.987 1.00 0.00 O +HETATM 728 H1 HOH A 243 5.297 34.388 3.479 1.00 0.00 H +HETATM 729 H2 HOH A 243 4.078 33.494 3.395 1.00 0.00 H +HETATM 730 O HOH A 244 40.482 45.841 25.384 1.00 0.00 O +HETATM 731 H1 HOH A 244 39.828 45.174 25.593 1.00 0.00 H +HETATM 732 H2 HOH A 244 40.047 46.672 25.565 1.00 0.00 H +HETATM 733 O HOH A 245 8.226 3.152 7.200 1.00 0.00 O +HETATM 734 H1 HOH A 245 9.004 2.595 7.202 1.00 0.00 H +HETATM 735 H2 HOH A 245 8.503 3.953 6.760 1.00 0.00 H +HETATM 736 O HOH A 246 16.814 36.361 43.840 1.00 0.00 O +HETATM 737 H1 HOH A 246 17.170 35.478 43.742 1.00 0.00 H +HETATM 738 H2 HOH A 246 17.411 36.796 44.446 1.00 0.00 H +HETATM 739 O HOH A 247 12.467 39.184 43.949 1.00 0.00 O +HETATM 740 H1 HOH A 247 11.670 39.482 43.510 1.00 0.00 H +HETATM 741 H2 HOH A 247 13.172 39.673 43.529 1.00 0.00 H +HETATM 742 O HOH A 248 45.796 46.573 8.069 1.00 0.00 O +HETATM 743 H1 HOH A 248 46.209 46.854 7.252 1.00 0.00 H +HETATM 744 H2 HOH A 248 45.911 45.625 8.084 1.00 0.00 H +HETATM 745 O HOH A 249 31.636 17.425 3.673 1.00 0.00 O +HETATM 746 H1 HOH A 249 32.420 16.883 3.761 1.00 0.00 H +HETATM 747 H2 HOH A 249 30.973 16.836 3.318 1.00 0.00 H +HETATM 748 O HOH A 250 33.046 2.496 20.363 1.00 0.00 O +HETATM 749 H1 HOH A 250 33.609 2.155 19.668 1.00 0.00 H +HETATM 750 H2 HOH A 250 32.305 1.894 20.391 1.00 0.00 H +HETATM 751 O HOH A 251 22.488 47.553 16.015 1.00 0.00 O +HETATM 752 H1 HOH A 251 22.762 47.379 15.114 1.00 0.00 H +HETATM 753 H2 HOH A 251 21.591 47.230 16.061 1.00 0.00 H +HETATM 754 O HOH A 252 32.223 48.328 19.335 1.00 0.00 O +HETATM 755 H1 HOH A 252 32.516 49.240 19.324 1.00 0.00 H +HETATM 756 H2 HOH A 252 32.680 47.937 20.078 1.00 0.00 H +HETATM 757 O HOH A 253 39.221 15.712 12.464 1.00 0.00 O +HETATM 758 H1 HOH A 253 39.487 16.070 11.617 1.00 0.00 H +HETATM 759 H2 HOH A 253 39.252 14.764 12.346 1.00 0.00 H +HETATM 760 O HOH A 254 49.371 12.566 25.498 1.00 0.00 O +HETATM 761 H1 HOH A 254 50.000 13.280 25.603 1.00 0.00 H +HETATM 762 H2 HOH A 254 48.585 12.984 25.152 1.00 0.00 H +HETATM 763 O HOH A 255 45.767 20.725 4.049 1.00 0.00 O +HETATM 764 H1 HOH A 255 45.899 21.661 4.201 1.00 0.00 H +HETATM 765 H2 HOH A 255 46.636 20.340 4.144 1.00 0.00 H +HETATM 766 O HOH A 256 8.350 30.570 35.016 1.00 0.00 O +HETATM 767 H1 HOH A 256 8.545 31.304 35.600 1.00 0.00 H +HETATM 768 H2 HOH A 256 7.448 30.331 35.223 1.00 0.00 H +HETATM 769 O HOH A 257 6.668 2.583 17.425 1.00 0.00 O +HETATM 770 H1 HOH A 257 6.375 3.493 17.478 1.00 0.00 H +HETATM 771 H2 HOH A 257 5.862 2.069 17.439 1.00 0.00 H +HETATM 772 O HOH A 258 2.896 25.375 36.149 1.00 0.00 O +HETATM 773 H1 HOH A 258 3.799 25.483 35.851 1.00 0.00 H +HETATM 774 H2 HOH A 258 2.533 24.701 35.577 1.00 0.00 H +HETATM 775 O HOH A 259 37.926 46.308 28.242 1.00 0.00 O +HETATM 776 H1 HOH A 259 37.760 47.226 28.025 1.00 0.00 H +HETATM 777 H2 HOH A 259 38.650 46.334 28.865 1.00 0.00 H +HETATM 778 O HOH A 260 6.359 32.728 46.267 1.00 0.00 O +HETATM 779 H1 HOH A 260 7.261 32.587 46.555 1.00 0.00 H +HETATM 780 H2 HOH A 260 6.250 33.677 46.273 1.00 0.00 H +HETATM 781 O HOH A 261 35.511 30.025 15.336 1.00 0.00 O +HETATM 782 H1 HOH A 261 34.644 29.644 15.479 1.00 0.00 H +HETATM 783 H2 HOH A 261 36.080 29.569 15.953 1.00 0.00 H +HETATM 784 O HOH A 262 10.205 33.369 33.228 1.00 0.00 O +HETATM 785 H1 HOH A 262 10.445 32.547 32.800 1.00 0.00 H +HETATM 786 H2 HOH A 262 10.930 33.961 33.037 1.00 0.00 H +HETATM 787 O HOH A 263 13.272 34.118 7.111 1.00 0.00 O +HETATM 788 H1 HOH A 263 12.599 34.034 7.788 1.00 0.00 H +HETATM 789 H2 HOH A 263 14.060 33.752 7.508 1.00 0.00 H +HETATM 790 O HOH A 264 20.925 4.120 41.968 1.00 0.00 O +HETATM 791 H1 HOH A 264 20.815 4.206 41.021 1.00 0.00 H +HETATM 792 H2 HOH A 264 21.408 4.902 42.228 1.00 0.00 H +HETATM 793 O HOH A 265 15.922 44.150 37.173 1.00 0.00 O +HETATM 794 H1 HOH A 265 15.469 44.775 36.607 1.00 0.00 H +HETATM 795 H2 HOH A 265 16.570 43.736 36.606 1.00 0.00 H +HETATM 796 O HOH A 266 12.918 24.815 25.567 1.00 0.00 O +HETATM 797 H1 HOH A 266 12.389 24.170 25.098 1.00 0.00 H +HETATM 798 H2 HOH A 266 12.965 25.565 24.976 1.00 0.00 H +HETATM 799 O HOH A 267 43.154 0.800 18.471 1.00 0.00 O +HETATM 800 H1 HOH A 267 43.152 1.716 18.193 1.00 0.00 H +HETATM 801 H2 HOH A 267 43.517 0.816 19.354 1.00 0.00 H +HETATM 802 O HOH A 268 12.343 6.684 49.427 1.00 0.00 O +HETATM 803 H1 HOH A 268 12.251 7.448 49.997 1.00 0.00 H +HETATM 804 H2 HOH A 268 11.742 6.037 49.790 1.00 0.00 H +HETATM 805 O HOH A 269 27.065 7.953 36.916 1.00 0.00 O +HETATM 806 H1 HOH A 269 27.819 8.452 36.600 1.00 0.00 H +HETATM 807 H2 HOH A 269 26.959 7.248 36.281 1.00 0.00 H +HETATM 808 O HOH A 270 46.680 5.017 2.258 1.00 0.00 O +HETATM 809 H1 HOH A 270 45.904 4.541 2.553 1.00 0.00 H +HETATM 810 H2 HOH A 270 47.336 4.852 2.933 1.00 0.00 H +HETATM 811 O HOH A 271 37.122 27.106 20.471 1.00 0.00 O +HETATM 812 H1 HOH A 271 37.820 27.598 20.904 1.00 0.00 H +HETATM 813 H2 HOH A 271 36.341 27.644 20.586 1.00 0.00 H +HETATM 814 O HOH A 272 36.262 32.606 23.681 1.00 0.00 O +HETATM 815 H1 HOH A 272 36.864 32.173 24.287 1.00 0.00 H +HETATM 816 H2 HOH A 272 36.525 33.524 23.695 1.00 0.00 H +HETATM 817 O HOH A 273 37.707 39.043 17.556 1.00 0.00 O +HETATM 818 H1 HOH A 273 36.884 39.436 17.264 1.00 0.00 H +HETATM 819 H2 HOH A 273 37.864 39.425 18.418 1.00 0.00 H +HETATM 820 O HOH A 274 34.521 24.436 22.560 1.00 0.00 O +HETATM 821 H1 HOH A 274 34.768 24.142 23.437 1.00 0.00 H +HETATM 822 H2 HOH A 274 33.595 24.214 22.483 1.00 0.00 H +HETATM 823 O HOH A 275 20.063 26.056 41.881 1.00 0.00 O +HETATM 824 H1 HOH A 275 19.214 26.157 42.312 1.00 0.00 H +HETATM 825 H2 HOH A 275 20.161 25.114 41.757 1.00 0.00 H +HETATM 826 O HOH A 276 35.555 44.832 23.361 1.00 0.00 O +HETATM 827 H1 HOH A 276 36.257 44.557 23.951 1.00 0.00 H +HETATM 828 H2 HOH A 276 35.153 45.581 23.796 1.00 0.00 H +HETATM 829 O HOH A 277 14.997 34.758 23.151 1.00 0.00 O +HETATM 830 H1 HOH A 277 15.427 35.497 23.581 1.00 0.00 H +HETATM 831 H2 HOH A 277 14.504 34.327 23.846 1.00 0.00 H +HETATM 832 O HOH A 278 48.101 18.597 19.776 1.00 0.00 O +HETATM 833 H1 HOH A 278 48.797 18.693 19.126 1.00 0.00 H +HETATM 834 H2 HOH A 278 47.373 18.208 19.294 1.00 0.00 H +HETATM 835 O HOH A 279 17.625 0.722 19.204 1.00 0.00 O +HETATM 836 H1 HOH A 279 17.554 0.371 18.316 1.00 0.00 H +HETATM 837 H2 HOH A 279 18.511 1.074 19.255 1.00 0.00 H +HETATM 838 O HOH A 280 16.838 33.485 23.198 1.00 0.00 O +HETATM 839 H1 HOH A 280 16.770 33.038 24.042 1.00 0.00 H +HETATM 840 H2 HOH A 280 17.775 33.612 23.066 1.00 0.00 H +HETATM 841 O HOH A 281 44.653 15.947 48.499 1.00 0.00 O +HETATM 842 H1 HOH A 281 43.917 15.694 47.941 1.00 0.00 H +HETATM 843 H2 HOH A 281 44.955 16.778 48.137 1.00 0.00 H +HETATM 844 O HOH A 282 7.923 37.987 9.095 1.00 0.00 O +HETATM 845 H1 HOH A 282 8.552 38.090 9.809 1.00 0.00 H +HETATM 846 H2 HOH A 282 7.427 38.804 9.091 1.00 0.00 H +HETATM 847 O HOH A 283 8.880 26.008 25.241 1.00 0.00 O +HETATM 848 H1 HOH A 283 9.802 25.754 25.197 1.00 0.00 H +HETATM 849 H2 HOH A 283 8.467 25.325 25.766 1.00 0.00 H +HETATM 850 O HOH A 284 42.802 36.005 10.941 1.00 0.00 O +HETATM 851 H1 HOH A 284 42.859 35.282 10.316 1.00 0.00 H +HETATM 852 H2 HOH A 284 43.044 36.779 10.436 1.00 0.00 H +HETATM 853 O HOH A 285 26.675 11.161 24.738 1.00 0.00 O +HETATM 854 H1 HOH A 285 26.446 10.835 23.868 1.00 0.00 H +HETATM 855 H2 HOH A 285 26.403 12.077 24.732 1.00 0.00 H +HETATM 856 O HOH A 286 39.857 27.830 43.979 1.00 0.00 O +HETATM 857 H1 HOH A 286 39.866 28.770 44.163 1.00 0.00 H +HETATM 858 H2 HOH A 286 39.871 27.415 44.839 1.00 0.00 H +HETATM 859 O HOH A 287 23.107 4.344 0.966 1.00 0.00 O +HETATM 860 H1 HOH A 287 23.301 4.267 0.031 1.00 0.00 H +HETATM 861 H2 HOH A 287 22.250 4.765 1.000 1.00 0.00 H +HETATM 862 O HOH A 288 23.338 29.767 20.894 1.00 0.00 O +HETATM 863 H1 HOH A 288 22.870 29.664 20.065 1.00 0.00 H +HETATM 864 H2 HOH A 288 23.403 28.881 21.246 1.00 0.00 H +HETATM 865 O HOH A 289 15.541 36.576 15.661 1.00 0.00 O +HETATM 866 H1 HOH A 289 16.305 36.097 15.984 1.00 0.00 H +HETATM 867 H2 HOH A 289 14.875 35.905 15.527 1.00 0.00 H +HETATM 868 O HOH A 290 42.254 28.010 22.939 1.00 0.00 O +HETATM 869 H1 HOH A 290 42.306 28.755 23.537 1.00 0.00 H +HETATM 870 H2 HOH A 290 41.938 27.288 23.479 1.00 0.00 H +HETATM 871 O HOH A 291 5.107 32.066 36.400 1.00 0.00 O +HETATM 872 H1 HOH A 291 5.855 31.833 36.951 1.00 0.00 H +HETATM 873 H2 HOH A 291 5.426 32.779 35.849 1.00 0.00 H +HETATM 874 O HOH A 292 20.963 48.896 12.843 1.00 0.00 O +HETATM 875 H1 HOH A 292 21.717 49.111 12.294 1.00 0.00 H +HETATM 876 H2 HOH A 292 20.727 48.005 12.592 1.00 0.00 H +HETATM 877 O HOH A 293 27.815 41.307 15.592 1.00 0.00 O +HETATM 878 H1 HOH A 293 27.201 41.776 16.157 1.00 0.00 H +HETATM 879 H2 HOH A 293 27.864 40.429 15.964 1.00 0.00 H +HETATM 880 O HOH A 294 14.876 29.051 20.106 1.00 0.00 O +HETATM 881 H1 HOH A 294 15.691 28.559 20.206 1.00 0.00 H +HETATM 882 H2 HOH A 294 14.245 28.410 19.784 1.00 0.00 H +HETATM 883 O HOH A 295 24.779 16.551 40.490 1.00 0.00 O +HETATM 884 H1 HOH A 295 24.797 17.183 41.208 1.00 0.00 H +HETATM 885 H2 HOH A 295 24.315 16.999 39.785 1.00 0.00 H +HETATM 886 O HOH A 296 0.003 18.378 44.475 1.00 0.00 O +HETATM 887 H1 HOH A 296 0.187 17.473 44.729 1.00 0.00 H +HETATM 888 H2 HOH A 296 0.838 18.713 44.153 1.00 0.00 H +HETATM 889 O HOH A 297 41.377 5.565 5.476 1.00 0.00 O +HETATM 890 H1 HOH A 297 40.764 5.148 6.082 1.00 0.00 H +HETATM 891 H2 HOH A 297 42.239 5.397 5.852 1.00 0.00 H +HETATM 892 O HOH A 298 46.676 27.229 12.482 1.00 0.00 O +HETATM 893 H1 HOH A 298 47.275 27.770 11.968 1.00 0.00 H +HETATM 894 H2 HOH A 298 46.621 26.405 12.001 1.00 0.00 H +HETATM 895 O HOH A 299 22.453 6.482 20.946 1.00 0.00 O +HETATM 896 H1 HOH A 299 21.630 6.075 21.220 1.00 0.00 H +HETATM 897 H2 HOH A 299 23.112 6.111 21.530 1.00 0.00 H +HETATM 898 O HOH A 300 47.543 29.422 31.288 1.00 0.00 O +HETATM 899 H1 HOH A 300 48.152 30.139 31.465 1.00 0.00 H +HETATM 900 H2 HOH A 300 47.965 28.649 31.658 1.00 0.00 H +HETATM 901 O HOH A 301 46.131 44.163 34.654 1.00 0.00 O +HETATM 902 H1 HOH A 301 45.851 44.257 35.565 1.00 0.00 H +HETATM 903 H2 HOH A 301 46.638 44.952 34.475 1.00 0.00 H +HETATM 904 O HOH A 302 31.240 14.669 36.268 1.00 0.00 O +HETATM 905 H1 HOH A 302 30.617 15.332 36.566 1.00 0.00 H +HETATM 906 H2 HOH A 302 31.219 13.996 36.945 1.00 0.00 H +HETATM 907 O HOH A 303 17.337 43.568 44.546 1.00 0.00 O +HETATM 908 H1 HOH A 303 18.060 42.942 44.603 1.00 0.00 H +HETATM 909 H2 HOH A 303 17.046 43.682 45.449 1.00 0.00 H +HETATM 910 O HOH A 304 48.897 2.300 47.328 1.00 0.00 O +HETATM 911 H1 HOH A 304 49.533 2.465 48.024 1.00 0.00 H +HETATM 912 H2 HOH A 304 49.415 1.946 46.607 1.00 0.00 H +HETATM 913 O HOH A 305 30.520 9.930 12.039 1.00 0.00 O +HETATM 914 H1 HOH A 305 31.203 9.789 11.383 1.00 0.00 H +HETATM 915 H2 HOH A 305 29.846 9.286 11.829 1.00 0.00 H +HETATM 916 O HOH A 306 22.699 42.527 44.985 1.00 0.00 O +HETATM 917 H1 HOH A 306 22.988 42.219 45.844 1.00 0.00 H +HETATM 918 H2 HOH A 306 22.431 41.736 44.522 1.00 0.00 H +HETATM 919 O HOH A 307 48.081 32.348 35.129 1.00 0.00 O +HETATM 920 H1 HOH A 307 48.933 32.364 34.693 1.00 0.00 H +HETATM 921 H2 HOH A 307 48.016 31.470 35.500 1.00 0.00 H +HETATM 922 O HOH A 308 28.611 1.440 27.509 1.00 0.00 O +HETATM 923 H1 HOH A 308 27.986 1.903 28.066 1.00 0.00 H +HETATM 924 H2 HOH A 308 28.571 0.532 27.803 1.00 0.00 H +HETATM 925 O HOH A 309 7.546 45.010 37.108 1.00 0.00 O +HETATM 926 H1 HOH A 309 8.107 45.412 36.445 1.00 0.00 H +HETATM 927 H2 HOH A 309 7.467 44.097 36.838 1.00 0.00 H +HETATM 928 O HOH A 310 19.541 32.042 32.548 1.00 0.00 O +HETATM 929 H1 HOH A 310 19.074 31.322 32.973 1.00 0.00 H +HETATM 930 H2 HOH A 310 19.128 32.833 32.890 1.00 0.00 H +HETATM 931 O HOH A 311 39.619 31.836 24.409 1.00 0.00 O +HETATM 932 H1 HOH A 311 39.333 30.997 24.768 1.00 0.00 H +HETATM 933 H2 HOH A 311 39.120 32.490 24.895 1.00 0.00 H +HETATM 934 O HOH A 312 38.255 11.232 33.445 1.00 0.00 O +HETATM 935 H1 HOH A 312 38.356 11.831 34.185 1.00 0.00 H +HETATM 936 H2 HOH A 312 38.732 11.649 32.730 1.00 0.00 H +HETATM 937 O HOH A 313 10.471 27.401 48.183 1.00 0.00 O +HETATM 938 H1 HOH A 313 10.850 26.524 48.112 1.00 0.00 H +HETATM 939 H2 HOH A 313 9.535 27.271 48.045 1.00 0.00 H +HETATM 940 O HOH A 314 7.668 41.618 41.125 1.00 0.00 O +HETATM 941 H1 HOH A 314 7.291 41.870 41.968 1.00 0.00 H +HETATM 942 H2 HOH A 314 7.838 40.681 41.206 1.00 0.00 H +HETATM 943 O HOH A 315 42.701 25.751 36.547 1.00 0.00 O +HETATM 944 H1 HOH A 315 42.936 24.824 36.503 1.00 0.00 H +HETATM 945 H2 HOH A 315 41.826 25.760 36.932 1.00 0.00 H +HETATM 946 O HOH A 316 39.267 2.564 8.046 1.00 0.00 O +HETATM 947 H1 HOH A 316 38.819 1.811 7.659 1.00 0.00 H +HETATM 948 H2 HOH A 316 39.026 3.301 7.489 1.00 0.00 H +HETATM 949 O HOH A 317 5.389 22.208 32.072 1.00 0.00 O +HETATM 950 H1 HOH A 317 5.311 22.998 32.607 1.00 0.00 H +HETATM 951 H2 HOH A 317 5.177 21.492 32.668 1.00 0.00 H +HETATM 952 O HOH A 318 36.651 16.083 36.303 1.00 0.00 O +HETATM 953 H1 HOH A 318 36.469 15.227 36.691 1.00 0.00 H +HETATM 954 H2 HOH A 318 36.976 16.612 37.029 1.00 0.00 H +HETATM 955 O HOH A 319 7.897 33.772 1.751 1.00 0.00 O +HETATM 956 H1 HOH A 319 7.870 34.616 2.202 1.00 0.00 H +HETATM 957 H2 HOH A 319 7.074 33.347 1.982 1.00 0.00 H +HETATM 958 O HOH A 320 36.946 9.379 7.835 1.00 0.00 O +HETATM 959 H1 HOH A 320 36.169 9.606 8.345 1.00 0.00 H +HETATM 960 H2 HOH A 320 36.799 8.476 7.559 1.00 0.00 H +HETATM 961 O HOH A 321 2.986 46.459 24.133 1.00 0.00 O +HETATM 962 H1 HOH A 321 2.777 45.746 24.737 1.00 0.00 H +HETATM 963 H2 HOH A 321 3.838 46.779 24.422 1.00 0.00 H +HETATM 964 O HOH A 322 39.305 7.930 48.041 1.00 0.00 O +HETATM 965 H1 HOH A 322 38.557 8.203 47.510 1.00 0.00 H +HETATM 966 H2 HOH A 322 39.083 7.050 48.338 1.00 0.00 H +HETATM 967 O HOH A 323 42.354 7.751 4.170 1.00 0.00 O +HETATM 968 H1 HOH A 323 43.214 8.172 4.164 1.00 0.00 H +HETATM 969 H2 HOH A 323 42.354 7.190 3.397 1.00 0.00 H +HETATM 970 O HOH A 324 26.287 43.225 6.433 1.00 0.00 O +HETATM 971 H1 HOH A 324 27.095 43.415 6.910 1.00 0.00 H +HETATM 972 H2 HOH A 324 26.560 42.665 5.708 1.00 0.00 H +HETATM 973 O HOH A 325 15.328 47.074 31.602 1.00 0.00 O +HETATM 974 H1 HOH A 325 15.541 47.955 31.295 1.00 0.00 H +HETATM 975 H2 HOH A 325 15.630 46.495 30.905 1.00 0.00 H +HETATM 976 O HOH A 326 24.931 2.659 47.471 1.00 0.00 O +HETATM 977 H1 HOH A 326 24.364 3.280 47.927 1.00 0.00 H +HETATM 978 H2 HOH A 326 24.340 1.977 47.157 1.00 0.00 H +HETATM 979 O HOH A 327 10.336 15.342 3.498 1.00 0.00 O +HETATM 980 H1 HOH A 327 11.191 15.741 3.338 1.00 0.00 H +HETATM 981 H2 HOH A 327 10.245 14.681 2.814 1.00 0.00 H +HETATM 982 O HOH A 328 11.882 45.498 6.294 1.00 0.00 O +HETATM 983 H1 HOH A 328 11.310 46.266 6.298 1.00 0.00 H +HETATM 984 H2 HOH A 328 11.702 45.059 7.123 1.00 0.00 H +HETATM 985 O HOH A 329 29.713 10.436 42.632 1.00 0.00 O +HETATM 986 H1 HOH A 329 30.480 10.321 42.070 1.00 0.00 H +HETATM 987 H2 HOH A 329 29.208 11.131 42.212 1.00 0.00 H +HETATM 988 O HOH A 330 27.176 9.045 22.066 1.00 0.00 O +HETATM 989 H1 HOH A 330 27.934 8.653 22.500 1.00 0.00 H +HETATM 990 H2 HOH A 330 27.545 9.547 21.342 1.00 0.00 H +HETATM 991 O HOH A 331 25.076 28.528 16.864 1.00 0.00 O +HETATM 992 H1 HOH A 331 24.589 28.282 17.650 1.00 0.00 H +HETATM 993 H2 HOH A 331 24.445 29.006 16.328 1.00 0.00 H +HETATM 994 O HOH A 332 22.907 31.426 46.201 1.00 0.00 O +HETATM 995 H1 HOH A 332 23.691 31.366 45.655 1.00 0.00 H +HETATM 996 H2 HOH A 332 23.146 32.032 46.901 1.00 0.00 H +HETATM 997 O HOH A 333 35.961 46.003 29.228 1.00 0.00 O +HETATM 998 H1 HOH A 333 35.362 46.690 29.523 1.00 0.00 H +HETATM 999 H2 HOH A 333 36.118 45.470 30.004 1.00 0.00 H +HETATM 1000 O HOH A 334 38.379 7.679 4.789 1.00 0.00 O +HETATM 1001 H1 HOH A 334 38.771 6.809 4.870 1.00 0.00 H +HETATM 1002 H2 HOH A 334 39.124 8.277 4.759 1.00 0.00 H +HETATM 1003 O HOH A 335 8.890 35.182 23.922 1.00 0.00 O +HETATM 1004 H1 HOH A 335 8.913 35.691 23.112 1.00 0.00 H +HETATM 1005 H2 HOH A 335 8.900 34.271 23.635 1.00 0.00 H +HETATM 1006 O HOH A 336 11.795 5.979 45.336 1.00 0.00 O +HETATM 1007 H1 HOH A 336 10.852 5.817 45.338 1.00 0.00 H +HETATM 1008 H2 HOH A 336 12.189 5.114 45.237 1.00 0.00 H +HETATM 1009 O HOH A 337 35.623 28.253 10.213 1.00 0.00 O +HETATM 1010 H1 HOH A 337 36.228 27.527 10.053 1.00 0.00 H +HETATM 1011 H2 HOH A 337 35.913 28.630 11.041 1.00 0.00 H +HETATM 1012 O HOH A 338 41.832 19.551 14.998 1.00 0.00 O +HETATM 1013 H1 HOH A 338 41.067 19.135 15.395 1.00 0.00 H +HETATM 1014 H2 HOH A 338 42.130 18.928 14.337 1.00 0.00 H +HETATM 1015 O HOH A 339 45.521 18.542 42.449 1.00 0.00 O +HETATM 1016 H1 HOH A 339 45.232 19.116 41.739 1.00 0.00 H +HETATM 1017 H2 HOH A 339 46.454 18.726 42.543 1.00 0.00 H +HETATM 1018 O HOH A 340 22.741 27.510 49.197 1.00 0.00 O +HETATM 1019 H1 HOH A 340 22.427 27.643 48.303 1.00 0.00 H +HETATM 1020 H2 HOH A 340 23.658 27.779 49.174 1.00 0.00 H +HETATM 1021 O HOH A 341 20.249 43.463 45.461 1.00 0.00 O +HETATM 1022 H1 HOH A 341 20.704 44.025 44.833 1.00 0.00 H +HETATM 1023 H2 HOH A 341 20.368 42.577 45.122 1.00 0.00 H +HETATM 1024 O HOH A 342 21.419 10.306 21.366 1.00 0.00 O +HETATM 1025 H1 HOH A 342 20.739 10.729 20.840 1.00 0.00 H +HETATM 1026 H2 HOH A 342 22.137 10.154 20.755 1.00 0.00 H +HETATM 1027 O HOH A 343 2.402 15.944 30.409 1.00 0.00 O +HETATM 1028 H1 HOH A 343 1.648 16.316 30.866 1.00 0.00 H +HETATM 1029 H2 HOH A 343 2.825 16.692 29.991 1.00 0.00 H +HETATM 1030 O HOH A 344 37.478 36.340 44.707 1.00 0.00 O +HETATM 1031 H1 HOH A 344 38.011 36.060 43.962 1.00 0.00 H +HETATM 1032 H2 HOH A 344 37.832 35.858 45.452 1.00 0.00 H +HETATM 1033 O HOH A 345 35.994 31.792 34.554 1.00 0.00 O +HETATM 1034 H1 HOH A 345 35.800 31.226 33.807 1.00 0.00 H +HETATM 1035 H2 HOH A 345 35.460 31.443 35.266 1.00 0.00 H +HETATM 1036 O HOH A 346 42.950 29.794 20.490 1.00 0.00 O +HETATM 1037 H1 HOH A 346 42.024 29.557 20.444 1.00 0.00 H +HETATM 1038 H2 HOH A 346 43.036 30.277 21.310 1.00 0.00 H +HETATM 1039 O HOH A 347 44.292 36.026 25.722 1.00 0.00 O +HETATM 1040 H1 HOH A 347 44.261 35.997 26.678 1.00 0.00 H +HETATM 1041 H2 HOH A 347 43.482 35.603 25.441 1.00 0.00 H +HETATM 1042 O HOH A 348 12.208 10.992 7.252 1.00 0.00 O +HETATM 1043 H1 HOH A 348 11.422 11.003 6.706 1.00 0.00 H +HETATM 1044 H2 HOH A 348 12.728 11.731 6.942 1.00 0.00 H +HETATM 1045 O HOH A 349 3.273 38.819 4.165 1.00 0.00 O +HETATM 1046 H1 HOH A 349 4.078 38.415 4.490 1.00 0.00 H +HETATM 1047 H2 HOH A 349 2.904 38.175 3.564 1.00 0.00 H +HETATM 1048 O HOH A 350 15.404 31.284 4.728 1.00 0.00 O +HETATM 1049 H1 HOH A 350 15.117 30.370 4.726 1.00 0.00 H +HETATM 1050 H2 HOH A 350 15.729 31.437 3.843 1.00 0.00 H +HETATM 1051 O HOH A 351 46.521 46.144 40.751 1.00 0.00 O +HETATM 1052 H1 HOH A 351 47.311 46.524 41.136 1.00 0.00 H +HETATM 1053 H2 HOH A 351 45.801 46.629 41.149 1.00 0.00 H +HETATM 1054 O HOH A 352 30.604 13.371 39.391 1.00 0.00 O +HETATM 1055 H1 HOH A 352 30.389 13.566 40.303 1.00 0.00 H +HETATM 1056 H2 HOH A 352 30.439 12.434 39.298 1.00 0.00 H +HETATM 1057 O HOH A 353 31.239 28.586 45.468 1.00 0.00 O +HETATM 1058 H1 HOH A 353 30.348 28.410 45.769 1.00 0.00 H +HETATM 1059 H2 HOH A 353 31.413 29.485 45.741 1.00 0.00 H +HETATM 1060 O HOH A 354 42.029 44.888 14.794 1.00 0.00 O +HETATM 1061 H1 HOH A 354 42.047 45.419 15.590 1.00 0.00 H +HETATM 1062 H2 HOH A 354 41.525 44.113 15.031 1.00 0.00 H +HETATM 1063 O HOH A 355 27.127 40.644 45.232 1.00 0.00 O +HETATM 1064 H1 HOH A 355 26.422 40.188 45.693 1.00 0.00 H +HETATM 1065 H2 HOH A 355 26.961 40.471 44.307 1.00 0.00 H +HETATM 1066 O HOH A 356 19.759 20.208 44.779 1.00 0.00 O +HETATM 1067 H1 HOH A 356 19.731 20.923 44.143 1.00 0.00 H +HETATM 1068 H2 HOH A 356 20.403 19.597 44.428 1.00 0.00 H +HETATM 1069 O HOH A 357 14.098 7.092 18.711 1.00 0.00 O +HETATM 1070 H1 HOH A 357 13.617 7.837 18.350 1.00 0.00 H +HETATM 1071 H2 HOH A 357 14.857 6.995 18.139 1.00 0.00 H +HETATM 1072 O HOH A 358 1.016 22.030 0.789 1.00 0.00 O +HETATM 1073 H1 HOH A 358 0.338 21.772 1.413 1.00 0.00 H +HETATM 1074 H2 HOH A 358 1.832 21.719 1.177 1.00 0.00 H +HETATM 1075 O HOH A 359 16.962 16.946 41.876 1.00 0.00 O +HETATM 1076 H1 HOH A 359 16.812 17.346 42.732 1.00 0.00 H +HETATM 1077 H2 HOH A 359 16.349 17.389 41.292 1.00 0.00 H +HETATM 1078 O HOH A 360 34.392 3.346 15.906 1.00 0.00 O +HETATM 1079 H1 HOH A 360 34.613 2.923 15.076 1.00 0.00 H +HETATM 1080 H2 HOH A 360 33.455 3.522 15.846 1.00 0.00 H +HETATM 1081 O HOH A 361 29.713 22.219 28.174 1.00 0.00 O +HETATM 1082 H1 HOH A 361 29.819 22.368 29.113 1.00 0.00 H +HETATM 1083 H2 HOH A 361 30.591 22.005 27.863 1.00 0.00 H +HETATM 1084 O HOH A 362 42.481 26.216 41.839 1.00 0.00 O +HETATM 1085 H1 HOH A 362 42.528 25.539 41.165 1.00 0.00 H +HETATM 1086 H2 HOH A 362 43.240 26.772 41.676 1.00 0.00 H +HETATM 1087 O HOH A 363 16.391 1.161 7.720 1.00 0.00 O +HETATM 1088 H1 HOH A 363 15.724 1.314 8.389 1.00 0.00 H +HETATM 1089 H2 HOH A 363 16.939 0.465 8.079 1.00 0.00 H +HETATM 1090 O HOH A 364 35.272 18.709 41.500 1.00 0.00 O +HETATM 1091 H1 HOH A 364 35.281 18.210 40.684 1.00 0.00 H +HETATM 1092 H2 HOH A 364 34.377 19.036 41.574 1.00 0.00 H +HETATM 1093 O HOH A 365 11.281 40.011 4.937 1.00 0.00 O +HETATM 1094 H1 HOH A 365 10.423 39.736 4.614 1.00 0.00 H +HETATM 1095 H2 HOH A 365 11.628 40.577 4.250 1.00 0.00 H +HETATM 1096 O HOH A 366 15.862 7.036 27.479 1.00 0.00 O +HETATM 1097 H1 HOH A 366 14.918 6.887 27.544 1.00 0.00 H +HETATM 1098 H2 HOH A 366 16.162 7.085 28.385 1.00 0.00 H +HETATM 1099 O HOH A 367 21.156 20.898 41.708 1.00 0.00 O +HETATM 1100 H1 HOH A 367 21.508 20.296 41.052 1.00 0.00 H +HETATM 1101 H2 HOH A 367 20.400 20.443 42.072 1.00 0.00 H +HETATM 1102 O HOH A 368 6.694 26.775 28.485 1.00 0.00 O +HETATM 1103 H1 HOH A 368 6.082 27.073 29.158 1.00 0.00 H +HETATM 1104 H2 HOH A 368 7.001 25.926 28.796 1.00 0.00 H +HETATM 1105 O HOH A 369 8.511 12.050 33.311 1.00 0.00 O +HETATM 1106 H1 HOH A 369 8.534 12.478 32.455 1.00 0.00 H +HETATM 1107 H2 HOH A 369 9.255 11.450 33.301 1.00 0.00 H +HETATM 1108 O HOH A 370 44.466 31.420 36.550 1.00 0.00 O +HETATM 1109 H1 HOH A 370 43.889 30.907 37.116 1.00 0.00 H +HETATM 1110 H2 HOH A 370 45.324 31.366 36.966 1.00 0.00 H +HETATM 1111 O HOH A 371 32.242 43.774 17.655 1.00 0.00 O +HETATM 1112 H1 HOH A 371 32.602 44.493 17.135 1.00 0.00 H +HETATM 1113 H2 HOH A 371 31.994 44.176 18.485 1.00 0.00 H +HETATM 1114 O HOH A 372 9.697 9.895 40.272 1.00 0.00 O +HETATM 1115 H1 HOH A 372 10.205 10.406 40.902 1.00 0.00 H +HETATM 1116 H2 HOH A 372 9.225 9.257 40.804 1.00 0.00 H +HETATM 1117 O HOH A 373 3.047 40.160 6.152 1.00 0.00 O +HETATM 1118 H1 HOH A 373 2.366 39.717 6.658 1.00 0.00 H +HETATM 1119 H2 HOH A 373 3.864 39.924 6.588 1.00 0.00 H +HETATM 1120 O HOH A 374 21.380 20.488 37.974 1.00 0.00 O +HETATM 1121 H1 HOH A 374 22.267 20.803 37.798 1.00 0.00 H +HETATM 1122 H2 HOH A 374 21.468 19.944 38.754 1.00 0.00 H +HETATM 1123 O HOH A 375 5.568 19.556 6.381 1.00 0.00 O +HETATM 1124 H1 HOH A 375 5.392 19.131 5.541 1.00 0.00 H +HETATM 1125 H2 HOH A 375 4.864 19.259 6.954 1.00 0.00 H +HETATM 1126 O HOH A 376 41.623 1.526 22.627 1.00 0.00 O +HETATM 1127 H1 HOH A 376 42.304 1.797 23.243 1.00 0.00 H +HETATM 1128 H2 HOH A 376 40.817 1.897 22.979 1.00 0.00 H +HETATM 1129 O HOH A 377 47.604 10.840 41.987 1.00 0.00 O +HETATM 1130 H1 HOH A 377 47.962 10.232 41.340 1.00 0.00 H +HETATM 1131 H2 HOH A 377 46.656 10.764 41.891 1.00 0.00 H +HETATM 1132 O HOH A 378 15.395 23.610 10.410 1.00 0.00 O +HETATM 1133 H1 HOH A 378 15.488 24.261 9.714 1.00 0.00 H +HETATM 1134 H2 HOH A 378 14.538 23.215 10.259 1.00 0.00 H +HETATM 1135 O HOH A 379 26.709 10.386 48.674 1.00 0.00 O +HETATM 1136 H1 HOH A 379 25.822 10.643 48.422 1.00 0.00 H +HETATM 1137 H2 HOH A 379 26.614 10.021 49.552 1.00 0.00 H +HETATM 1138 O HOH A 380 41.528 31.120 38.785 1.00 0.00 O +HETATM 1139 H1 HOH A 380 41.358 30.545 38.040 1.00 0.00 H +HETATM 1140 H2 HOH A 380 42.322 30.770 39.185 1.00 0.00 H +HETATM 1141 O HOH A 381 34.781 14.154 47.936 1.00 0.00 O +HETATM 1142 H1 HOH A 381 35.675 14.493 47.895 1.00 0.00 H +HETATM 1143 H2 HOH A 381 34.397 14.578 48.701 1.00 0.00 H +HETATM 1144 O HOH A 382 20.049 7.606 37.012 1.00 0.00 O +HETATM 1145 H1 HOH A 382 20.324 6.821 37.486 1.00 0.00 H +HETATM 1146 H2 HOH A 382 20.836 7.907 36.563 1.00 0.00 H +HETATM 1147 O HOH A 383 39.898 5.803 22.446 1.00 0.00 O +HETATM 1148 H1 HOH A 383 39.939 5.138 21.759 1.00 0.00 H +HETATM 1149 H2 HOH A 383 40.032 6.632 21.989 1.00 0.00 H +HETATM 1150 O HOH A 384 14.548 1.529 22.861 1.00 0.00 O +HETATM 1151 H1 HOH A 384 14.651 1.399 21.919 1.00 0.00 H +HETATM 1152 H2 HOH A 384 14.437 0.649 23.216 1.00 0.00 H +HETATM 1153 O HOH A 385 32.834 27.195 6.141 1.00 0.00 O +HETATM 1154 H1 HOH A 385 32.026 27.244 6.652 1.00 0.00 H +HETATM 1155 H2 HOH A 385 32.542 27.100 5.236 1.00 0.00 H +HETATM 1156 O HOH A 386 32.644 19.748 36.820 1.00 0.00 O +HETATM 1157 H1 HOH A 386 33.165 19.436 37.560 1.00 0.00 H +HETATM 1158 H2 HOH A 386 31.828 20.056 37.211 1.00 0.00 H +HETATM 1159 O HOH A 387 45.633 27.292 35.369 1.00 0.00 O +HETATM 1160 H1 HOH A 387 46.415 27.271 35.921 1.00 0.00 H +HETATM 1161 H2 HOH A 387 45.023 27.861 35.835 1.00 0.00 H +HETATM 1162 O HOH A 388 21.952 11.312 49.083 1.00 0.00 O +HETATM 1163 H1 HOH A 388 22.699 10.772 49.344 1.00 0.00 H +HETATM 1164 H2 HOH A 388 21.547 11.577 49.906 1.00 0.00 H +HETATM 1165 O HOH A 389 7.951 8.438 6.246 1.00 0.00 O +HETATM 1166 H1 HOH A 389 8.426 9.064 6.793 1.00 0.00 H +HETATM 1167 H2 HOH A 389 7.028 8.631 6.404 1.00 0.00 H +HETATM 1168 O HOH A 390 0.708 49.805 8.993 1.00 0.00 O +HETATM 1169 H1 HOH A 390 0.167 49.941 9.771 1.00 0.00 H +HETATM 1170 H2 HOH A 390 1.355 49.154 9.259 1.00 0.00 H +HETATM 1171 O HOH A 391 43.692 17.357 6.955 1.00 0.00 O +HETATM 1172 H1 HOH A 391 43.360 16.785 7.647 1.00 0.00 H +HETATM 1173 H2 HOH A 391 43.359 18.225 7.178 1.00 0.00 H +HETATM 1174 O HOH A 392 5.320 2.407 42.237 1.00 0.00 O +HETATM 1175 H1 HOH A 392 4.861 2.599 43.055 1.00 0.00 H +HETATM 1176 H2 HOH A 392 6.247 2.446 42.465 1.00 0.00 H +HETATM 1177 O HOH A 393 34.082 11.187 12.480 1.00 0.00 O +HETATM 1178 H1 HOH A 393 33.747 11.783 13.150 1.00 0.00 H +HETATM 1179 H2 HOH A 393 33.892 10.313 12.817 1.00 0.00 H +HETATM 1180 O HOH A 394 37.721 0.797 36.590 1.00 0.00 O +HETATM 1181 H1 HOH A 394 38.463 0.689 35.994 1.00 0.00 H +HETATM 1182 H2 HOH A 394 37.163 0.040 36.421 1.00 0.00 H +HETATM 1183 O HOH A 395 4.154 43.336 3.063 1.00 0.00 O +HETATM 1184 H1 HOH A 395 4.059 42.673 2.379 1.00 0.00 H +HETATM 1185 H2 HOH A 395 3.577 44.047 2.792 1.00 0.00 H +HETATM 1186 O HOH A 396 28.037 32.725 44.787 1.00 0.00 O +HETATM 1187 H1 HOH A 396 27.667 32.485 45.637 1.00 0.00 H +HETATM 1188 H2 HOH A 396 27.441 33.388 44.443 1.00 0.00 H +HETATM 1189 O HOH A 397 4.134 33.571 41.198 1.00 0.00 O +HETATM 1190 H1 HOH A 397 3.951 33.884 42.084 1.00 0.00 H +HETATM 1191 H2 HOH A 397 3.273 33.432 40.808 1.00 0.00 H +HETATM 1192 O HOH A 398 4.473 11.037 3.766 1.00 0.00 O +HETATM 1193 H1 HOH A 398 4.581 11.108 4.715 1.00 0.00 H +HETATM 1194 H2 HOH A 398 4.800 10.165 3.551 1.00 0.00 H +HETATM 1195 O HOH A 399 26.641 9.590 14.746 1.00 0.00 O +HETATM 1196 H1 HOH A 399 26.826 10.246 15.418 1.00 0.00 H +HETATM 1197 H2 HOH A 399 25.811 9.198 15.013 1.00 0.00 H +HETATM 1198 O HOH A 400 29.377 1.097 13.778 1.00 0.00 O +HETATM 1199 H1 HOH A 400 30.291 1.223 13.522 1.00 0.00 H +HETATM 1200 H2 HOH A 400 29.395 1.068 14.733 1.00 0.00 H +HETATM 1201 O HOH A 401 0.865 28.865 21.101 1.00 0.00 O +HETATM 1202 H1 HOH A 401 1.157 28.618 20.223 1.00 0.00 H +HETATM 1203 H2 HOH A 401 0.008 28.452 21.196 1.00 0.00 H +HETATM 1204 O HOH A 402 49.681 10.041 0.155 1.00 0.00 O +HETATM 1205 H1 HOH A 402 49.978 10.893 0.476 1.00 0.00 H +HETATM 1206 H2 HOH A 402 49.988 9.417 0.810 1.00 0.00 H +HETATM 1207 O HOH A 403 7.167 18.402 7.399 1.00 0.00 O +HETATM 1208 H1 HOH A 403 7.746 17.874 6.848 1.00 0.00 H +HETATM 1209 H2 HOH A 403 6.713 17.767 7.950 1.00 0.00 H +HETATM 1210 O HOH A 404 38.182 14.723 35.098 1.00 0.00 O +HETATM 1211 H1 HOH A 404 37.645 15.221 34.481 1.00 0.00 H +HETATM 1212 H2 HOH A 404 39.073 14.803 34.763 1.00 0.00 H +HETATM 1213 O HOH A 405 6.049 23.764 30.633 1.00 0.00 O +HETATM 1214 H1 HOH A 405 6.459 23.545 29.796 1.00 0.00 H +HETATM 1215 H2 HOH A 405 5.389 24.419 30.414 1.00 0.00 H +HETATM 1216 O HOH A 406 49.439 35.728 26.656 1.00 0.00 O +HETATM 1217 H1 HOH A 406 48.623 35.967 27.096 1.00 0.00 H +HETATM 1218 H2 HOH A 406 49.557 34.800 26.853 1.00 0.00 H +HETATM 1219 O HOH A 407 30.139 19.937 22.581 1.00 0.00 O +HETATM 1220 H1 HOH A 407 31.009 19.967 22.980 1.00 0.00 H +HETATM 1221 H2 HOH A 407 29.878 20.853 22.501 1.00 0.00 H +HETATM 1222 O HOH A 408 34.622 1.037 45.961 1.00 0.00 O +HETATM 1223 H1 HOH A 408 34.118 1.451 45.260 1.00 0.00 H +HETATM 1224 H2 HOH A 408 35.452 1.510 45.973 1.00 0.00 H +HETATM 1225 O HOH A 409 22.426 2.852 26.734 1.00 0.00 O +HETATM 1226 H1 HOH A 409 21.907 3.011 25.945 1.00 0.00 H +HETATM 1227 H2 HOH A 409 23.321 3.069 26.481 1.00 0.00 H +HETATM 1228 O HOH A 410 48.907 1.615 6.596 1.00 0.00 O +HETATM 1229 H1 HOH A 410 47.988 1.858 6.481 1.00 0.00 H +HETATM 1230 H2 HOH A 410 49.144 1.174 5.782 1.00 0.00 H +HETATM 1231 O HOH A 411 28.491 6.421 21.953 1.00 0.00 O +HETATM 1232 H1 HOH A 411 29.126 6.954 21.475 1.00 0.00 H +HETATM 1233 H2 HOH A 411 28.969 6.103 22.717 1.00 0.00 H +HETATM 1234 O HOH A 412 37.650 29.237 24.398 1.00 0.00 O +HETATM 1235 H1 HOH A 412 37.392 29.751 23.633 1.00 0.00 H +HETATM 1236 H2 HOH A 412 36.966 29.404 25.043 1.00 0.00 H +HETATM 1237 O HOH A 413 21.676 24.183 9.455 1.00 0.00 O +HETATM 1238 H1 HOH A 413 21.985 25.042 9.165 1.00 0.00 H +HETATM 1239 H2 HOH A 413 21.901 23.591 8.739 1.00 0.00 H +HETATM 1240 O HOH A 414 9.909 41.396 14.845 1.00 0.00 O +HETATM 1241 H1 HOH A 414 9.393 41.283 14.046 1.00 0.00 H +HETATM 1242 H2 HOH A 414 9.945 42.341 14.977 1.00 0.00 H +HETATM 1243 O HOH A 415 25.375 33.094 45.314 1.00 0.00 O +HETATM 1244 H1 HOH A 415 24.943 33.004 44.465 1.00 0.00 H +HETATM 1245 H2 HOH A 415 25.427 34.036 45.461 1.00 0.00 H +HETATM 1246 O HOH A 416 36.467 12.408 47.503 1.00 0.00 O +HETATM 1247 H1 HOH A 416 36.119 11.605 47.890 1.00 0.00 H +HETATM 1248 H2 HOH A 416 36.328 12.303 46.563 1.00 0.00 H +HETATM 1249 O HOH A 417 2.777 20.956 34.398 1.00 0.00 O +HETATM 1250 H1 HOH A 417 3.309 21.630 33.976 1.00 0.00 H +HETATM 1251 H2 HOH A 417 2.347 21.405 35.123 1.00 0.00 H +HETATM 1252 O HOH A 418 18.044 11.418 8.355 1.00 0.00 O +HETATM 1253 H1 HOH A 418 17.738 11.419 7.447 1.00 0.00 H +HETATM 1254 H2 HOH A 418 18.895 10.985 8.322 1.00 0.00 H +HETATM 1255 O HOH A 419 23.820 7.700 12.839 1.00 0.00 O +HETATM 1256 H1 HOH A 419 22.939 7.416 13.083 1.00 0.00 H +HETATM 1257 H2 HOH A 419 24.195 8.048 13.646 1.00 0.00 H +HETATM 1258 O HOH A 420 32.094 44.104 46.364 1.00 0.00 O +HETATM 1259 H1 HOH A 420 32.304 44.599 47.156 1.00 0.00 H +HETATM 1260 H2 HOH A 420 31.207 43.781 46.508 1.00 0.00 H +HETATM 1261 O HOH A 421 37.792 7.072 0.865 1.00 0.00 O +HETATM 1262 H1 HOH A 421 38.616 7.200 0.394 1.00 0.00 H +HETATM 1263 H2 HOH A 421 37.442 6.252 0.521 1.00 0.00 H +HETATM 1264 O HOH A 422 26.776 38.527 38.523 1.00 0.00 O +HETATM 1265 H1 HOH A 422 26.216 39.082 37.979 1.00 0.00 H +HETATM 1266 H2 HOH A 422 27.648 38.620 38.145 1.00 0.00 H +HETATM 1267 O HOH A 423 7.105 1.238 38.971 1.00 0.00 O +HETATM 1268 H1 HOH A 423 6.443 1.893 38.752 1.00 0.00 H +HETATM 1269 H2 HOH A 423 6.873 0.474 38.446 1.00 0.00 H +HETATM 1270 O HOH A 424 42.793 17.860 40.315 1.00 0.00 O +HETATM 1271 H1 HOH A 424 43.312 18.382 40.927 1.00 0.00 H +HETATM 1272 H2 HOH A 424 41.909 17.872 40.678 1.00 0.00 H +HETATM 1273 O HOH A 425 37.140 7.710 40.839 1.00 0.00 O +HETATM 1274 H1 HOH A 425 37.799 8.345 40.559 1.00 0.00 H +HETATM 1275 H2 HOH A 425 37.347 7.536 41.756 1.00 0.00 H +HETATM 1276 O HOH A 426 1.389 11.119 46.678 1.00 0.00 O +HETATM 1277 H1 HOH A 426 2.216 11.528 46.421 1.00 0.00 H +HETATM 1278 H2 HOH A 426 1.154 10.565 45.936 1.00 0.00 H +HETATM 1279 O HOH A 427 2.955 26.475 11.324 1.00 0.00 O +HETATM 1280 H1 HOH A 427 3.275 26.080 10.512 1.00 0.00 H +HETATM 1281 H2 HOH A 427 3.586 26.205 11.989 1.00 0.00 H +HETATM 1282 O HOH A 428 46.081 42.777 6.507 1.00 0.00 O +HETATM 1283 H1 HOH A 428 45.489 42.708 5.758 1.00 0.00 H +HETATM 1284 H2 HOH A 428 45.562 43.202 7.187 1.00 0.00 H +HETATM 1285 O HOH A 429 25.597 21.744 2.830 1.00 0.00 O +HETATM 1286 H1 HOH A 429 25.313 21.463 3.700 1.00 0.00 H +HETATM 1287 H2 HOH A 429 26.466 22.117 2.968 1.00 0.00 H +HETATM 1288 O HOH A 430 23.734 13.642 37.415 1.00 0.00 O +HETATM 1289 H1 HOH A 430 23.873 13.599 38.361 1.00 0.00 H +HETATM 1290 H2 HOH A 430 24.604 13.788 37.049 1.00 0.00 H +HETATM 1291 O HOH A 431 9.066 32.045 4.261 1.00 0.00 O +HETATM 1292 H1 HOH A 431 8.734 32.765 4.797 1.00 0.00 H +HETATM 1293 H2 HOH A 431 8.535 32.069 3.467 1.00 0.00 H +HETATM 1294 O HOH A 432 37.143 5.609 23.264 1.00 0.00 O +HETATM 1295 H1 HOH A 432 37.213 5.201 22.401 1.00 0.00 H +HETATM 1296 H2 HOH A 432 37.067 4.876 23.872 1.00 0.00 H +HETATM 1297 O HOH A 433 33.589 34.991 21.106 1.00 0.00 O +HETATM 1298 H1 HOH A 433 33.084 34.827 21.902 1.00 0.00 H +HETATM 1299 H2 HOH A 433 34.253 34.304 21.095 1.00 0.00 H +HETATM 1300 O HOH A 434 6.524 48.156 13.237 1.00 0.00 O +HETATM 1301 H1 HOH A 434 6.347 48.989 12.800 1.00 0.00 H +HETATM 1302 H2 HOH A 434 7.284 48.329 13.790 1.00 0.00 H +HETATM 1303 O HOH A 435 48.983 34.572 42.208 1.00 0.00 O +HETATM 1304 H1 HOH A 435 48.106 34.455 41.841 1.00 0.00 H +HETATM 1305 H2 HOH A 435 48.939 34.166 43.072 1.00 0.00 H +HETATM 1306 O HOH A 436 39.666 25.951 42.669 1.00 0.00 O +HETATM 1307 H1 HOH A 436 38.840 26.401 42.491 1.00 0.00 H +HETATM 1308 H2 HOH A 436 40.208 26.128 41.902 1.00 0.00 H +HETATM 1309 O HOH A 437 6.177 34.201 48.799 1.00 0.00 O +HETATM 1310 H1 HOH A 437 5.582 34.593 48.160 1.00 0.00 H +HETATM 1311 H2 HOH A 437 7.016 34.630 48.643 1.00 0.00 H +HETATM 1312 O HOH A 438 30.861 26.831 19.978 1.00 0.00 O +HETATM 1313 H1 HOH A 438 31.187 26.154 19.385 1.00 0.00 H +HETATM 1314 H2 HOH A 438 29.912 26.813 19.867 1.00 0.00 H +HETATM 1315 O HOH A 439 43.541 22.772 33.716 1.00 0.00 O +HETATM 1316 H1 HOH A 439 42.778 23.341 33.822 1.00 0.00 H +HETATM 1317 H2 HOH A 439 43.334 21.992 34.227 1.00 0.00 H +HETATM 1318 O HOH A 440 33.318 15.176 42.636 1.00 0.00 O +HETATM 1319 H1 HOH A 440 34.072 14.595 42.537 1.00 0.00 H +HETATM 1320 H2 HOH A 440 32.869 15.135 41.794 1.00 0.00 H +HETATM 1321 O HOH A 441 10.458 48.320 2.173 1.00 0.00 O +HETATM 1322 H1 HOH A 441 9.650 47.808 2.144 1.00 0.00 H +HETATM 1323 H2 HOH A 441 10.252 49.065 2.735 1.00 0.00 H +HETATM 1324 O HOH A 442 10.861 38.472 14.912 1.00 0.00 O +HETATM 1325 H1 HOH A 442 11.506 38.336 14.218 1.00 0.00 H +HETATM 1326 H2 HOH A 442 10.111 37.939 14.654 1.00 0.00 H +HETATM 1327 O HOH A 443 5.232 31.138 48.330 1.00 0.00 O +HETATM 1328 H1 HOH A 443 5.559 31.028 47.437 1.00 0.00 H +HETATM 1329 H2 HOH A 443 5.846 30.649 48.875 1.00 0.00 H +HETATM 1330 O HOH A 444 19.833 42.686 38.232 1.00 0.00 O +HETATM 1331 H1 HOH A 444 19.703 43.430 38.820 1.00 0.00 H +HETATM 1332 H2 HOH A 444 19.334 41.974 38.630 1.00 0.00 H +HETATM 1333 O HOH A 445 15.179 41.690 46.677 1.00 0.00 O +HETATM 1334 H1 HOH A 445 15.342 42.307 45.963 1.00 0.00 H +HETATM 1335 H2 HOH A 445 14.576 41.047 46.308 1.00 0.00 H +HETATM 1336 O HOH A 446 40.714 25.294 30.915 1.00 0.00 O +HETATM 1337 H1 HOH A 446 41.370 24.855 30.373 1.00 0.00 H +HETATM 1338 H2 HOH A 446 40.902 26.226 30.815 1.00 0.00 H +HETATM 1339 O HOH A 447 18.569 25.722 26.988 1.00 0.00 O +HETATM 1340 H1 HOH A 447 19.158 24.969 27.034 1.00 0.00 H +HETATM 1341 H2 HOH A 447 18.452 25.881 26.053 1.00 0.00 H +HETATM 1342 O HOH A 448 43.175 14.613 16.264 1.00 0.00 O +HETATM 1343 H1 HOH A 448 43.431 15.394 16.755 1.00 0.00 H +HETATM 1344 H2 HOH A 448 43.630 14.692 15.428 1.00 0.00 H +HETATM 1345 O HOH A 449 45.570 14.573 11.790 1.00 0.00 O +HETATM 1346 H1 HOH A 449 44.998 15.257 11.444 1.00 0.00 H +HETATM 1347 H2 HOH A 449 45.121 13.755 11.585 1.00 0.00 H +HETATM 1348 O HOH A 450 24.943 3.463 28.892 1.00 0.00 O +HETATM 1349 H1 HOH A 450 24.906 2.557 29.198 1.00 0.00 H +HETATM 1350 H2 HOH A 450 25.442 3.925 29.563 1.00 0.00 H +HETATM 1351 O HOH A 451 45.393 24.068 44.295 1.00 0.00 O +HETATM 1352 H1 HOH A 451 45.123 23.319 43.762 1.00 0.00 H +HETATM 1353 H2 HOH A 451 45.572 24.762 43.664 1.00 0.00 H +HETATM 1354 O HOH A 452 42.067 47.174 12.223 1.00 0.00 O +HETATM 1355 H1 HOH A 452 42.611 46.535 11.761 1.00 0.00 H +HETATM 1356 H2 HOH A 452 42.620 47.949 12.302 1.00 0.00 H +HETATM 1357 O HOH A 453 28.110 13.583 21.096 1.00 0.00 O +HETATM 1358 H1 HOH A 453 28.029 12.979 20.358 1.00 0.00 H +HETATM 1359 H2 HOH A 453 28.856 13.256 21.595 1.00 0.00 H +HETATM 1360 O HOH A 454 3.600 15.127 47.181 1.00 0.00 O +HETATM 1361 H1 HOH A 454 3.440 14.648 47.995 1.00 0.00 H +HETATM 1362 H2 HOH A 454 4.416 15.600 47.335 1.00 0.00 H +HETATM 1363 O HOH A 455 7.303 47.726 16.231 1.00 0.00 O +HETATM 1364 H1 HOH A 455 6.400 48.013 16.098 1.00 0.00 H +HETATM 1365 H2 HOH A 455 7.739 48.475 16.633 1.00 0.00 H +HETATM 1366 O HOH A 456 20.535 48.278 45.797 1.00 0.00 O +HETATM 1367 H1 HOH A 456 20.203 49.176 45.821 1.00 0.00 H +HETATM 1368 H2 HOH A 456 20.490 48.028 44.876 1.00 0.00 H +HETATM 1369 O HOH A 457 11.327 46.165 10.474 1.00 0.00 O +HETATM 1370 H1 HOH A 457 11.611 46.023 11.377 1.00 0.00 H +HETATM 1371 H2 HOH A 457 11.991 46.741 10.100 1.00 0.00 H +HETATM 1372 O HOH A 458 8.074 40.274 19.515 1.00 0.00 O +HETATM 1373 H1 HOH A 458 7.608 39.440 19.447 1.00 0.00 H +HETATM 1374 H2 HOH A 458 8.116 40.452 20.453 1.00 0.00 H +HETATM 1375 O HOH A 459 20.592 26.488 30.111 1.00 0.00 O +HETATM 1376 H1 HOH A 459 20.195 27.329 30.338 1.00 0.00 H +HETATM 1377 H2 HOH A 459 19.955 26.066 29.538 1.00 0.00 H +HETATM 1378 O HOH A 460 7.357 10.997 34.868 1.00 0.00 O +HETATM 1379 H1 HOH A 460 6.524 11.319 35.211 1.00 0.00 H +HETATM 1380 H2 HOH A 460 7.480 10.149 35.290 1.00 0.00 H +HETATM 1381 O HOH A 461 24.196 37.331 2.275 1.00 0.00 O +HETATM 1382 H1 HOH A 461 24.287 36.415 2.540 1.00 0.00 H +HETATM 1383 H2 HOH A 461 24.734 37.409 1.489 1.00 0.00 H +HETATM 1384 O HOH A 462 12.198 32.956 21.617 1.00 0.00 O +HETATM 1385 H1 HOH A 462 12.545 32.077 21.468 1.00 0.00 H +HETATM 1386 H2 HOH A 462 11.956 33.271 20.748 1.00 0.00 H +HETATM 1387 O HOH A 463 6.819 11.167 39.327 1.00 0.00 O +HETATM 1388 H1 HOH A 463 6.195 11.892 39.292 1.00 0.00 H +HETATM 1389 H2 HOH A 463 6.402 10.515 39.887 1.00 0.00 H +HETATM 1390 O HOH A 464 1.800 36.337 2.966 1.00 0.00 O +HETATM 1391 H1 HOH A 464 0.867 36.143 2.869 1.00 0.00 H +HETATM 1392 H2 HOH A 464 2.191 36.060 2.139 1.00 0.00 H +HETATM 1393 O HOH A 465 40.353 2.300 37.792 1.00 0.00 O +HETATM 1394 H1 HOH A 465 39.799 3.078 37.860 1.00 0.00 H +HETATM 1395 H2 HOH A 465 40.826 2.267 38.622 1.00 0.00 H +HETATM 1396 O HOH A 466 10.399 46.720 37.359 1.00 0.00 O +HETATM 1397 H1 HOH A 466 10.648 47.066 38.217 1.00 0.00 H +HETATM 1398 H2 HOH A 466 11.207 46.730 36.851 1.00 0.00 H +HETATM 1399 O HOH A 467 17.384 19.886 49.152 1.00 0.00 O +HETATM 1400 H1 HOH A 467 16.689 19.344 48.778 1.00 0.00 H +HETATM 1401 H2 HOH A 467 17.571 19.487 50.000 1.00 0.00 H +HETATM 1402 O HOH A 468 16.739 47.936 49.202 1.00 0.00 O +HETATM 1403 H1 HOH A 468 16.293 48.750 49.437 1.00 0.00 H +HETATM 1404 H2 HOH A 468 16.054 47.270 49.226 1.00 0.00 H +HETATM 1405 O HOH A 469 18.046 13.611 6.777 1.00 0.00 O +HETATM 1406 H1 HOH A 469 18.211 14.135 5.992 1.00 0.00 H +HETATM 1407 H2 HOH A 469 17.635 14.218 7.390 1.00 0.00 H +HETATM 1408 O HOH A 470 34.896 42.873 24.352 1.00 0.00 O +HETATM 1409 H1 HOH A 470 35.281 42.080 24.725 1.00 0.00 H +HETATM 1410 H2 HOH A 470 34.518 43.333 25.099 1.00 0.00 H +HETATM 1411 O HOH A 471 34.529 47.055 40.110 1.00 0.00 O +HETATM 1412 H1 HOH A 471 34.559 46.363 40.772 1.00 0.00 H +HETATM 1413 H2 HOH A 471 33.714 47.522 40.286 1.00 0.00 H +HETATM 1414 O HOH A 472 48.296 44.341 13.000 1.00 0.00 O +HETATM 1415 H1 HOH A 472 48.074 44.017 12.126 1.00 0.00 H +HETATM 1416 H2 HOH A 472 48.568 45.246 12.860 1.00 0.00 H +HETATM 1417 O HOH A 473 42.828 37.819 12.516 1.00 0.00 O +HETATM 1418 H1 HOH A 473 42.698 38.568 13.098 1.00 0.00 H +HETATM 1419 H2 HOH A 473 42.218 37.157 12.836 1.00 0.00 H +HETATM 1420 O HOH A 474 26.864 15.352 38.715 1.00 0.00 O +HETATM 1421 H1 HOH A 474 26.539 14.512 39.039 1.00 0.00 H +HETATM 1422 H2 HOH A 474 26.401 15.487 37.890 1.00 0.00 H +HETATM 1423 O HOH A 475 35.284 36.306 49.313 1.00 0.00 O +HETATM 1424 H1 HOH A 475 35.238 37.025 48.683 1.00 0.00 H +HETATM 1425 H2 HOH A 475 35.896 36.608 49.981 1.00 0.00 H +HETATM 1426 O HOH A 476 3.377 13.450 30.180 1.00 0.00 O +HETATM 1427 H1 HOH A 476 2.601 13.560 29.630 1.00 0.00 H +HETATM 1428 H2 HOH A 476 4.102 13.759 29.640 1.00 0.00 H +HETATM 1429 O HOH A 477 39.947 15.283 17.128 1.00 0.00 O +HETATM 1430 H1 HOH A 477 39.555 14.501 16.740 1.00 0.00 H +HETATM 1431 H2 HOH A 477 39.234 15.919 17.163 1.00 0.00 H +HETATM 1432 O HOH A 478 38.030 11.041 18.215 1.00 0.00 O +HETATM 1433 H1 HOH A 478 38.094 11.767 17.594 1.00 0.00 H +HETATM 1434 H2 HOH A 478 38.604 10.366 17.858 1.00 0.00 H +HETATM 1435 O HOH A 479 36.495 47.555 15.670 1.00 0.00 O +HETATM 1436 H1 HOH A 479 36.560 47.554 14.715 1.00 0.00 H +HETATM 1437 H2 HOH A 479 37.117 46.888 15.955 1.00 0.00 H +HETATM 1438 O HOH A 480 12.083 20.199 16.643 1.00 0.00 O +HETATM 1439 H1 HOH A 480 11.576 19.391 16.734 1.00 0.00 H +HETATM 1440 H2 HOH A 480 12.957 19.972 16.955 1.00 0.00 H +HETATM 1441 O HOH A 481 17.977 37.766 37.247 1.00 0.00 O +HETATM 1442 H1 HOH A 481 17.134 37.366 37.460 1.00 0.00 H +HETATM 1443 H2 HOH A 481 17.773 38.422 36.584 1.00 0.00 H +HETATM 1444 O HOH A 482 28.319 48.616 31.439 1.00 0.00 O +HETATM 1445 H1 HOH A 482 29.092 49.174 31.350 1.00 0.00 H +HETATM 1446 H2 HOH A 482 28.583 47.935 32.055 1.00 0.00 H +HETATM 1447 O HOH A 483 36.826 16.481 7.807 1.00 0.00 O +HETATM 1448 H1 HOH A 483 37.411 16.667 8.542 1.00 0.00 H +HETATM 1449 H2 HOH A 483 35.973 16.807 8.089 1.00 0.00 H +HETATM 1450 O HOH A 484 4.694 5.743 33.621 1.00 0.00 O +HETATM 1451 H1 HOH A 484 3.990 6.033 33.040 1.00 0.00 H +HETATM 1452 H2 HOH A 484 4.937 6.525 34.114 1.00 0.00 H +HETATM 1453 O HOH A 485 46.778 15.439 31.782 1.00 0.00 O +HETATM 1454 H1 HOH A 485 47.699 15.384 31.527 1.00 0.00 H +HETATM 1455 H2 HOH A 485 46.671 16.330 32.110 1.00 0.00 H +HETATM 1456 O HOH A 486 48.080 32.670 25.129 1.00 0.00 O +HETATM 1457 H1 HOH A 486 47.698 32.290 25.921 1.00 0.00 H +HETATM 1458 H2 HOH A 486 48.659 33.360 25.448 1.00 0.00 H +HETATM 1459 O HOH A 487 25.928 38.356 35.138 1.00 0.00 O +HETATM 1460 H1 HOH A 487 25.343 37.720 35.550 1.00 0.00 H +HETATM 1461 H2 HOH A 487 26.765 37.902 35.063 1.00 0.00 H +HETATM 1462 O HOH A 488 14.267 4.109 10.382 1.00 0.00 O +HETATM 1463 H1 HOH A 488 13.877 4.087 11.256 1.00 0.00 H +HETATM 1464 H2 HOH A 488 15.142 3.743 10.499 1.00 0.00 H +HETATM 1465 O HOH A 489 48.095 32.187 48.677 1.00 0.00 O +HETATM 1466 H1 HOH A 489 48.087 33.137 48.555 1.00 0.00 H +HETATM 1467 H2 HOH A 489 47.456 32.027 49.368 1.00 0.00 H +HETATM 1468 O HOH A 490 44.464 28.578 31.333 1.00 0.00 O +HETATM 1469 H1 HOH A 490 45.387 28.777 31.177 1.00 0.00 H +HETATM 1470 H2 HOH A 490 44.335 28.740 32.265 1.00 0.00 H +HETATM 1471 O HOH A 491 40.751 24.429 48.375 1.00 0.00 O +HETATM 1472 H1 HOH A 491 41.117 24.988 47.690 1.00 0.00 H +HETATM 1473 H2 HOH A 491 41.316 23.659 48.388 1.00 0.00 H +HETATM 1474 O HOH A 492 18.874 18.615 10.465 1.00 0.00 O +HETATM 1475 H1 HOH A 492 18.780 19.540 10.691 1.00 0.00 H +HETATM 1476 H2 HOH A 492 19.652 18.579 9.912 1.00 0.00 H +HETATM 1477 O HOH A 493 15.185 26.412 8.602 1.00 0.00 O +HETATM 1478 H1 HOH A 493 15.647 25.751 8.085 1.00 0.00 H +HETATM 1479 H2 HOH A 493 14.289 26.087 8.666 1.00 0.00 H +HETATM 1480 O HOH A 494 5.260 4.821 29.279 1.00 0.00 O +HETATM 1481 H1 HOH A 494 4.570 4.188 29.083 1.00 0.00 H +HETATM 1482 H2 HOH A 494 4.814 5.529 29.740 1.00 0.00 H +HETATM 1483 O HOH A 495 35.061 36.965 32.492 1.00 0.00 O +HETATM 1484 H1 HOH A 495 34.111 36.976 32.377 1.00 0.00 H +HETATM 1485 H2 HOH A 495 35.405 37.377 31.702 1.00 0.00 H +HETATM 1486 O HOH A 496 41.508 20.141 44.880 1.00 0.00 O +HETATM 1487 H1 HOH A 496 40.984 20.922 45.060 1.00 0.00 H +HETATM 1488 H2 HOH A 496 40.869 19.473 44.635 1.00 0.00 H +HETATM 1489 O HOH A 497 42.463 29.320 29.895 1.00 0.00 O +HETATM 1490 H1 HOH A 497 41.952 29.553 30.670 1.00 0.00 H +HETATM 1491 H2 HOH A 497 43.246 29.866 29.949 1.00 0.00 H +HETATM 1492 O HOH A 498 17.473 42.760 4.730 1.00 0.00 O +HETATM 1493 H1 HOH A 498 17.936 42.588 5.550 1.00 0.00 H +HETATM 1494 H2 HOH A 498 17.589 41.964 4.215 1.00 0.00 H +HETATM 1495 O HOH A 499 11.106 27.378 17.855 1.00 0.00 O +HETATM 1496 H1 HOH A 499 10.893 26.652 18.441 1.00 0.00 H +HETATM 1497 H2 HOH A 499 12.040 27.281 17.680 1.00 0.00 H +HETATM 1498 O HOH A 500 44.361 14.106 20.734 1.00 0.00 O +HETATM 1499 H1 HOH A 500 44.760 13.767 21.535 1.00 0.00 H +HETATM 1500 H2 HOH A 500 44.643 15.018 20.690 1.00 0.00 H +HETATM 1501 O HOH A 501 27.426 10.055 38.622 1.00 0.00 O +HETATM 1502 H1 HOH A 501 28.069 9.627 39.188 1.00 0.00 H +HETATM 1503 H2 HOH A 501 27.192 10.857 39.085 1.00 0.00 H +HETATM 1504 O HOH A 502 47.519 34.346 39.568 1.00 0.00 O +HETATM 1505 H1 HOH A 502 47.788 33.460 39.324 1.00 0.00 H +HETATM 1506 H2 HOH A 502 48.315 34.869 39.493 1.00 0.00 H +HETATM 1507 O HOH A 503 30.931 18.586 39.356 1.00 0.00 O +HETATM 1508 H1 HOH A 503 30.783 17.755 39.808 1.00 0.00 H +HETATM 1509 H2 HOH A 503 31.777 18.890 39.680 1.00 0.00 H +HETATM 1510 O HOH A 504 23.878 25.866 19.617 1.00 0.00 O +HETATM 1511 H1 HOH A 504 23.196 25.212 19.461 1.00 0.00 H +HETATM 1512 H2 HOH A 504 24.163 26.131 18.745 1.00 0.00 H +HETATM 1513 O HOH A 505 39.871 38.648 26.547 1.00 0.00 O +HETATM 1514 H1 HOH A 505 39.882 38.421 27.477 1.00 0.00 H +HETATM 1515 H2 HOH A 505 39.371 37.947 26.134 1.00 0.00 H +HETATM 1516 O HOH A 506 2.525 22.786 11.397 1.00 0.00 O +HETATM 1517 H1 HOH A 506 1.801 22.159 11.390 1.00 0.00 H +HETATM 1518 H2 HOH A 506 3.023 22.571 12.183 1.00 0.00 H +HETATM 1519 O HOH A 507 26.265 0.495 11.192 1.00 0.00 O +HETATM 1520 H1 HOH A 507 27.089 0.859 10.869 1.00 0.00 H +HETATM 1521 H2 HOH A 507 26.099 0.960 12.010 1.00 0.00 H +HETATM 1522 O HOH A 508 29.412 10.031 27.915 1.00 0.00 O +HETATM 1523 H1 HOH A 508 29.870 9.396 28.466 1.00 0.00 H +HETATM 1524 H2 HOH A 508 29.296 10.797 28.473 1.00 0.00 H +HETATM 1525 O HOH A 509 27.565 36.541 49.230 1.00 0.00 O +HETATM 1526 H1 HOH A 509 26.842 36.445 48.610 1.00 0.00 H +HETATM 1527 H2 HOH A 509 28.019 37.334 48.952 1.00 0.00 H +HETATM 1528 O HOH A 510 15.032 23.020 16.730 1.00 0.00 O +HETATM 1529 H1 HOH A 510 15.150 22.883 15.790 1.00 0.00 H +HETATM 1530 H2 HOH A 510 15.906 22.916 17.101 1.00 0.00 H +HETATM 1531 O HOH A 511 25.643 19.306 49.519 1.00 0.00 O +HETATM 1532 H1 HOH A 511 24.760 19.588 49.280 1.00 0.00 H +HETATM 1533 H2 HOH A 511 26.161 20.109 49.521 1.00 0.00 H +HETATM 1534 O HOH A 512 46.632 48.940 43.952 1.00 0.00 O +HETATM 1535 H1 HOH A 512 47.483 49.024 44.382 1.00 0.00 H +HETATM 1536 H2 HOH A 512 46.037 48.667 44.647 1.00 0.00 H +HETATM 1537 O HOH A 513 47.703 6.880 5.152 1.00 0.00 O +HETATM 1538 H1 HOH A 513 47.861 7.671 4.637 1.00 0.00 H +HETATM 1539 H2 HOH A 513 47.455 7.200 6.017 1.00 0.00 H +HETATM 1540 O HOH A 514 12.649 30.012 6.208 1.00 0.00 O +HETATM 1541 H1 HOH A 514 12.399 30.259 5.317 1.00 0.00 H +HETATM 1542 H2 HOH A 514 13.313 29.335 6.093 1.00 0.00 H +HETATM 1543 O HOH A 515 49.481 8.202 37.122 1.00 0.00 O +HETATM 1544 H1 HOH A 515 48.690 8.234 37.659 1.00 0.00 H +HETATM 1545 H2 HOH A 515 49.386 7.409 36.598 1.00 0.00 H +HETATM 1546 O HOH A 516 16.386 22.189 25.509 1.00 0.00 O +HETATM 1547 H1 HOH A 516 15.892 22.099 24.694 1.00 0.00 H +HETATM 1548 H2 HOH A 516 16.968 22.932 25.359 1.00 0.00 H +HETATM 1549 O HOH A 517 1.631 25.599 7.151 1.00 0.00 O +HETATM 1550 H1 HOH A 517 1.952 26.081 7.913 1.00 0.00 H +HETATM 1551 H2 HOH A 517 0.705 25.829 7.092 1.00 0.00 H +HETATM 1552 O HOH A 518 36.235 2.868 49.140 1.00 0.00 O +HETATM 1553 H1 HOH A 518 36.476 2.506 48.287 1.00 0.00 H +HETATM 1554 H2 HOH A 518 36.705 2.328 49.773 1.00 0.00 H +HETATM 1555 O HOH A 519 23.796 49.303 47.160 1.00 0.00 O +HETATM 1556 H1 HOH A 519 23.141 49.053 46.509 1.00 0.00 H +HETATM 1557 H2 HOH A 519 24.467 48.626 47.101 1.00 0.00 H +HETATM 1558 O HOH A 520 27.031 24.532 37.815 1.00 0.00 O +HETATM 1559 H1 HOH A 520 27.707 23.914 38.093 1.00 0.00 H +HETATM 1560 H2 HOH A 520 26.842 25.052 38.594 1.00 0.00 H +HETATM 1561 O HOH A 521 48.751 8.880 26.574 1.00 0.00 O +HETATM 1562 H1 HOH A 521 48.200 8.331 27.132 1.00 0.00 H +HETATM 1563 H2 HOH A 521 49.641 8.724 26.885 1.00 0.00 H +HETATM 1564 O HOH A 522 19.578 8.146 48.942 1.00 0.00 O +HETATM 1565 H1 HOH A 522 18.764 7.856 48.529 1.00 0.00 H +HETATM 1566 H2 HOH A 522 19.597 7.694 49.783 1.00 0.00 H +HETATM 1567 O HOH A 523 7.232 26.060 32.592 1.00 0.00 O +HETATM 1568 H1 HOH A 523 6.740 26.815 32.269 1.00 0.00 H +HETATM 1569 H2 HOH A 523 8.023 26.041 32.057 1.00 0.00 H +HETATM 1570 O HOH A 524 17.209 30.207 35.001 1.00 0.00 O +HETATM 1571 H1 HOH A 524 16.965 29.575 34.324 1.00 0.00 H +HETATM 1572 H2 HOH A 524 16.845 31.037 34.700 1.00 0.00 H +HETATM 1573 O HOH A 525 15.520 19.130 32.296 1.00 0.00 O +HETATM 1574 H1 HOH A 525 15.270 18.214 32.418 1.00 0.00 H +HETATM 1575 H2 HOH A 525 14.712 19.567 32.029 1.00 0.00 H +HETATM 1576 O HOH A 526 46.572 8.042 10.289 1.00 0.00 O +HETATM 1577 H1 HOH A 526 45.926 7.594 10.835 1.00 0.00 H +HETATM 1578 H2 HOH A 526 47.400 7.928 10.751 1.00 0.00 H +HETATM 1579 O HOH A 527 14.418 37.884 23.735 1.00 0.00 O +HETATM 1580 H1 HOH A 527 15.196 37.785 23.186 1.00 0.00 H +HETATM 1581 H2 HOH A 527 13.787 37.264 23.373 1.00 0.00 H +HETATM 1582 O HOH A 528 34.289 28.455 35.266 1.00 0.00 O +HETATM 1583 H1 HOH A 528 33.676 28.671 34.563 1.00 0.00 H +HETATM 1584 H2 HOH A 528 34.887 29.200 35.302 1.00 0.00 H +HETATM 1585 O HOH A 529 46.310 43.810 25.371 1.00 0.00 O +HETATM 1586 H1 HOH A 529 46.307 42.997 25.876 1.00 0.00 H +HETATM 1587 H2 HOH A 529 46.826 44.419 25.896 1.00 0.00 H +HETATM 1588 O HOH A 530 38.007 24.927 25.992 1.00 0.00 O +HETATM 1589 H1 HOH A 530 37.875 24.330 26.729 1.00 0.00 H +HETATM 1590 H2 HOH A 530 38.402 24.386 25.311 1.00 0.00 H +HETATM 1591 O HOH A 531 21.815 2.746 10.328 1.00 0.00 O +HETATM 1592 H1 HOH A 531 22.183 3.594 10.081 1.00 0.00 H +HETATM 1593 H2 HOH A 531 22.387 2.104 9.912 1.00 0.00 H +HETATM 1594 O HOH A 532 8.470 11.543 19.150 1.00 0.00 O +HETATM 1595 H1 HOH A 532 8.066 12.211 18.596 1.00 0.00 H +HETATM 1596 H2 HOH A 532 8.630 11.984 19.982 1.00 0.00 H +HETATM 1597 O HOH A 533 27.525 48.703 13.406 1.00 0.00 O +HETATM 1598 H1 HOH A 533 27.694 48.021 12.755 1.00 0.00 H +HETATM 1599 H2 HOH A 533 26.728 49.134 13.102 1.00 0.00 H +HETATM 1600 O HOH A 534 19.304 47.863 36.253 1.00 0.00 O +HETATM 1601 H1 HOH A 534 18.814 48.182 37.011 1.00 0.00 H +HETATM 1602 H2 HOH A 534 19.778 47.099 36.576 1.00 0.00 H +HETATM 1603 O HOH A 535 33.396 17.973 14.741 1.00 0.00 O +HETATM 1604 H1 HOH A 535 32.909 17.425 15.357 1.00 0.00 H +HETATM 1605 H2 HOH A 535 34.286 17.994 15.089 1.00 0.00 H +HETATM 1606 O HOH A 536 35.374 11.470 24.509 1.00 0.00 O +HETATM 1607 H1 HOH A 536 35.444 12.162 23.851 1.00 0.00 H +HETATM 1608 H2 HOH A 536 35.902 10.753 24.162 1.00 0.00 H +HETATM 1609 O HOH A 537 27.407 5.500 25.103 1.00 0.00 O +HETATM 1610 H1 HOH A 537 27.254 4.830 25.770 1.00 0.00 H +HETATM 1611 H2 HOH A 537 26.721 5.356 24.454 1.00 0.00 H +HETATM 1612 O HOH A 538 5.351 10.300 37.036 1.00 0.00 O +HETATM 1613 H1 HOH A 538 5.417 9.587 36.399 1.00 0.00 H +HETATM 1614 H2 HOH A 538 6.249 10.451 37.324 1.00 0.00 H +HETATM 1615 O HOH A 539 11.580 23.912 15.061 1.00 0.00 O +HETATM 1616 H1 HOH A 539 12.501 23.686 14.930 1.00 0.00 H +HETATM 1617 H2 HOH A 539 11.145 23.626 14.260 1.00 0.00 H +HETATM 1618 O HOH A 540 41.960 45.600 26.996 1.00 0.00 O +HETATM 1619 H1 HOH A 540 42.001 45.011 27.750 1.00 0.00 H +HETATM 1620 H2 HOH A 540 42.410 46.392 27.284 1.00 0.00 H +HETATM 1621 O HOH A 541 36.762 23.907 4.884 1.00 0.00 O +HETATM 1622 H1 HOH A 541 37.088 24.706 4.469 1.00 0.00 H +HETATM 1623 H2 HOH A 541 36.984 23.209 4.270 1.00 0.00 H +HETATM 1624 O HOH A 542 40.034 26.210 19.078 1.00 0.00 O +HETATM 1625 H1 HOH A 542 39.693 26.652 19.856 1.00 0.00 H +HETATM 1626 H2 HOH A 542 39.769 25.298 19.184 1.00 0.00 H +HETATM 1627 O HOH A 543 1.577 13.191 3.938 1.00 0.00 O +HETATM 1628 H1 HOH A 543 1.678 12.615 4.696 1.00 0.00 H +HETATM 1629 H2 HOH A 543 2.219 12.873 3.306 1.00 0.00 H +HETATM 1630 O HOH A 544 20.060 34.350 40.852 1.00 0.00 O +HETATM 1631 H1 HOH A 544 20.837 34.324 40.294 1.00 0.00 H +HETATM 1632 H2 HOH A 544 19.984 33.465 41.203 1.00 0.00 H +HETATM 1633 O HOH A 545 34.452 35.570 46.826 1.00 0.00 O +HETATM 1634 H1 HOH A 545 35.164 35.305 46.243 1.00 0.00 H +HETATM 1635 H2 HOH A 545 34.317 36.497 46.637 1.00 0.00 H +HETATM 1636 O HOH A 546 30.617 16.672 6.401 1.00 0.00 O +HETATM 1637 H1 HOH A 546 31.413 16.396 6.857 1.00 0.00 H +HETATM 1638 H2 HOH A 546 29.909 16.481 7.014 1.00 0.00 H +HETATM 1639 O HOH A 547 21.890 18.131 41.175 1.00 0.00 O +HETATM 1640 H1 HOH A 547 22.698 18.462 40.783 1.00 0.00 H +HETATM 1641 H2 HOH A 547 21.828 17.226 40.875 1.00 0.00 H +HETATM 1642 O HOH A 548 43.505 20.626 23.140 1.00 0.00 O +HETATM 1643 H1 HOH A 548 44.065 20.411 23.886 1.00 0.00 H +HETATM 1644 H2 HOH A 548 42.752 21.071 23.524 1.00 0.00 H +HETATM 1645 O HOH A 549 14.248 13.060 36.450 1.00 0.00 O +HETATM 1646 H1 HOH A 549 13.312 13.159 36.271 1.00 0.00 H +HETATM 1647 H2 HOH A 549 14.396 13.563 37.248 1.00 0.00 H +HETATM 1648 O HOH A 550 24.863 26.470 36.096 1.00 0.00 O +HETATM 1649 H1 HOH A 550 25.017 26.683 35.175 1.00 0.00 H +HETATM 1650 H2 HOH A 550 25.012 27.290 36.562 1.00 0.00 H +HETATM 1651 O HOH A 551 2.088 0.360 40.052 1.00 0.00 O +HETATM 1652 H1 HOH A 551 2.295 1.293 40.118 1.00 0.00 H +HETATM 1653 H2 HOH A 551 1.285 0.254 40.558 1.00 0.00 H +HETATM 1654 O HOH A 552 35.031 47.576 2.077 1.00 0.00 O +HETATM 1655 H1 HOH A 552 35.049 48.282 2.723 1.00 0.00 H +HETATM 1656 H2 HOH A 552 34.725 47.991 1.273 1.00 0.00 H +HETATM 1657 O HOH A 553 34.797 8.018 41.883 1.00 0.00 O +HETATM 1658 H1 HOH A 553 34.981 7.137 42.210 1.00 0.00 H +HETATM 1659 H2 HOH A 553 35.339 8.593 42.419 1.00 0.00 H +HETATM 1660 O HOH A 554 13.556 49.406 46.503 1.00 0.00 O +HETATM 1661 H1 HOH A 554 13.739 49.990 47.239 1.00 0.00 H +HETATM 1662 H2 HOH A 554 13.436 48.546 46.900 1.00 0.00 H +HETATM 1663 O HOH A 555 31.734 27.608 17.331 1.00 0.00 O +HETATM 1664 H1 HOH A 555 31.145 28.231 17.758 1.00 0.00 H +HETATM 1665 H2 HOH A 555 32.495 27.561 17.906 1.00 0.00 H +HETATM 1666 O HOH A 556 36.703 8.971 0.580 1.00 0.00 O +HETATM 1667 H1 HOH A 556 36.997 9.111 1.480 1.00 0.00 H +HETATM 1668 H2 HOH A 556 36.010 9.615 0.450 1.00 0.00 H +HETATM 1669 O HOH A 557 16.016 2.974 35.133 1.00 0.00 O +HETATM 1670 H1 HOH A 557 15.156 2.555 35.175 1.00 0.00 H +HETATM 1671 H2 HOH A 557 16.336 2.958 36.033 1.00 0.00 H +HETATM 1672 O HOH A 558 5.451 47.956 47.185 1.00 0.00 O +HETATM 1673 H1 HOH A 558 6.083 48.525 47.624 1.00 0.00 H +HETATM 1674 H2 HOH A 558 5.771 47.070 47.344 1.00 0.00 H +HETATM 1675 O HOH A 559 46.884 21.142 45.143 1.00 0.00 O +HETATM 1676 H1 HOH A 559 46.210 21.338 45.794 1.00 0.00 H +HETATM 1677 H2 HOH A 559 47.087 20.218 45.276 1.00 0.00 H +HETATM 1678 O HOH A 560 16.303 3.797 28.424 1.00 0.00 O +HETATM 1679 H1 HOH A 560 16.250 2.872 28.182 1.00 0.00 H +HETATM 1680 H2 HOH A 560 15.478 4.173 28.124 1.00 0.00 H +HETATM 1681 O HOH A 561 47.817 44.437 31.582 1.00 0.00 O +HETATM 1682 H1 HOH A 561 47.378 44.774 30.801 1.00 0.00 H +HETATM 1683 H2 HOH A 561 47.473 44.966 32.299 1.00 0.00 H +HETATM 1684 O HOH A 562 22.572 28.955 36.144 1.00 0.00 O +HETATM 1685 H1 HOH A 562 22.134 28.373 35.523 1.00 0.00 H +HETATM 1686 H2 HOH A 562 22.725 29.760 35.654 1.00 0.00 H +HETATM 1687 O HOH A 563 21.559 40.084 12.898 1.00 0.00 O +HETATM 1688 H1 HOH A 563 20.654 40.355 13.054 1.00 0.00 H +HETATM 1689 H2 HOH A 563 21.542 39.665 12.040 1.00 0.00 H +HETATM 1690 O HOH A 564 1.442 6.421 36.640 1.00 0.00 O +HETATM 1691 H1 HOH A 564 0.888 6.807 37.319 1.00 0.00 H +HETATM 1692 H2 HOH A 564 2.298 6.323 37.054 1.00 0.00 H +HETATM 1693 O HOH A 565 35.721 8.418 25.135 1.00 0.00 O +HETATM 1694 H1 HOH A 565 35.698 8.317 26.087 1.00 0.00 H +HETATM 1695 H2 HOH A 565 35.756 7.524 24.798 1.00 0.00 H +HETATM 1696 O HOH A 566 14.775 25.584 28.840 1.00 0.00 O +HETATM 1697 H1 HOH A 566 14.141 24.869 28.783 1.00 0.00 H +HETATM 1698 H2 HOH A 566 14.285 26.313 29.216 1.00 0.00 H +HETATM 1699 O HOH A 567 0.967 28.846 5.906 1.00 0.00 O +HETATM 1700 H1 HOH A 567 1.828 29.211 6.108 1.00 0.00 H +HETATM 1701 H2 HOH A 567 0.948 28.005 6.360 1.00 0.00 H +HETATM 1702 O HOH A 568 36.652 32.042 10.649 1.00 0.00 O +HETATM 1703 H1 HOH A 568 35.720 31.904 10.478 1.00 0.00 H +HETATM 1704 H2 HOH A 568 36.949 32.597 9.931 1.00 0.00 H +HETATM 1705 O HOH A 569 25.158 34.750 7.813 1.00 0.00 O +HETATM 1706 H1 HOH A 569 25.548 34.074 7.257 1.00 0.00 H +HETATM 1707 H2 HOH A 569 25.878 35.057 8.361 1.00 0.00 H +HETATM 1708 O HOH A 570 45.900 24.540 26.324 1.00 0.00 O +HETATM 1709 H1 HOH A 570 45.513 25.170 25.717 1.00 0.00 H +HETATM 1710 H2 HOH A 570 45.965 25.011 27.153 1.00 0.00 H +HETATM 1711 O HOH A 571 27.136 27.348 41.027 1.00 0.00 O +HETATM 1712 H1 HOH A 571 26.541 27.997 40.653 1.00 0.00 H +HETATM 1713 H2 HOH A 571 26.809 27.202 41.913 1.00 0.00 H +HETATM 1714 O HOH A 572 16.972 40.789 10.157 1.00 0.00 O +HETATM 1715 H1 HOH A 572 16.293 40.441 10.734 1.00 0.00 H +HETATM 1716 H2 HOH A 572 17.162 41.659 10.504 1.00 0.00 H +HETATM 1717 O HOH A 573 46.297 9.399 3.927 1.00 0.00 O +HETATM 1718 H1 HOH A 573 47.030 9.302 3.319 1.00 0.00 H +HETATM 1719 H2 HOH A 573 45.546 9.036 3.459 1.00 0.00 H +HETATM 1720 O HOH A 574 46.810 45.333 5.642 1.00 0.00 O +HETATM 1721 H1 HOH A 574 46.274 45.785 4.989 1.00 0.00 H +HETATM 1722 H2 HOH A 574 47.676 45.726 5.557 1.00 0.00 H +HETATM 1723 O HOH A 575 40.580 21.623 49.733 1.00 0.00 O +HETATM 1724 H1 HOH A 575 41.304 20.997 49.763 1.00 0.00 H +HETATM 1725 H2 HOH A 575 40.374 21.710 48.804 1.00 0.00 H +HETATM 1726 O HOH A 576 3.164 41.633 34.046 1.00 0.00 O +HETATM 1727 H1 HOH A 576 3.412 41.630 34.970 1.00 0.00 H +HETATM 1728 H2 HOH A 576 2.221 41.482 34.049 1.00 0.00 H +HETATM 1729 O HOH A 577 3.741 19.140 12.322 1.00 0.00 O +HETATM 1730 H1 HOH A 577 4.389 19.455 12.952 1.00 0.00 H +HETATM 1731 H2 HOH A 577 2.909 19.490 12.636 1.00 0.00 H +HETATM 1732 O HOH A 578 11.989 29.710 9.587 1.00 0.00 O +HETATM 1733 H1 HOH A 578 11.358 30.409 9.759 1.00 0.00 H +HETATM 1734 H2 HOH A 578 12.815 30.164 9.428 1.00 0.00 H +HETATM 1735 O HOH A 579 24.668 34.509 48.140 1.00 0.00 O +HETATM 1736 H1 HOH A 579 24.035 34.333 48.836 1.00 0.00 H +HETATM 1737 H2 HOH A 579 24.611 33.749 47.564 1.00 0.00 H +HETATM 1738 O HOH A 580 7.031 30.296 16.668 1.00 0.00 O +HETATM 1739 H1 HOH A 580 7.333 29.799 15.908 1.00 0.00 H +HETATM 1740 H2 HOH A 580 7.831 30.605 17.089 1.00 0.00 H +HETATM 1741 O HOH A 581 12.359 33.362 14.684 1.00 0.00 O +HETATM 1742 H1 HOH A 581 12.047 32.473 14.513 1.00 0.00 H +HETATM 1743 H2 HOH A 581 12.970 33.268 15.412 1.00 0.00 H +HETATM 1744 O HOH A 582 24.650 30.969 1.545 1.00 0.00 O +HETATM 1745 H1 HOH A 582 24.028 31.225 0.863 1.00 0.00 H +HETATM 1746 H2 HOH A 582 25.509 31.089 1.146 1.00 0.00 H +HETATM 1747 O HOH A 583 48.998 23.278 41.274 1.00 0.00 O +HETATM 1748 H1 HOH A 583 48.224 23.380 41.829 1.00 0.00 H +HETATM 1749 H2 HOH A 583 49.663 23.828 41.684 1.00 0.00 H +HETATM 1750 O HOH A 584 21.691 48.310 35.897 1.00 0.00 O +HETATM 1751 H1 HOH A 584 22.280 48.257 35.144 1.00 0.00 H +HETATM 1752 H2 HOH A 584 22.214 48.721 36.583 1.00 0.00 H +HETATM 1753 O HOH A 585 47.757 34.982 32.079 1.00 0.00 O +HETATM 1754 H1 HOH A 585 47.245 35.733 32.379 1.00 0.00 H +HETATM 1755 H2 HOH A 585 48.129 34.608 32.876 1.00 0.00 H +HETATM 1756 O HOH A 586 38.038 28.442 45.787 1.00 0.00 O +HETATM 1757 H1 HOH A 586 37.173 28.778 45.552 1.00 0.00 H +HETATM 1758 H2 HOH A 586 38.247 28.872 46.614 1.00 0.00 H +HETATM 1759 O HOH A 587 42.034 30.090 42.151 1.00 0.00 O +HETATM 1760 H1 HOH A 587 41.577 30.523 41.429 1.00 0.00 H +HETATM 1761 H2 HOH A 587 42.648 29.494 41.725 1.00 0.00 H +HETATM 1762 O HOH A 588 36.897 49.551 25.156 1.00 0.00 O +HETATM 1763 H1 HOH A 588 37.275 48.755 24.783 1.00 0.00 H +HETATM 1764 H2 HOH A 588 36.146 49.248 25.663 1.00 0.00 H +HETATM 1765 O HOH A 589 25.119 31.781 10.256 1.00 0.00 O +HETATM 1766 H1 HOH A 589 24.989 31.059 9.642 1.00 0.00 H +HETATM 1767 H2 HOH A 589 24.627 32.509 9.880 1.00 0.00 H +HETATM 1768 O HOH A 590 35.809 37.642 12.356 1.00 0.00 O +HETATM 1769 H1 HOH A 590 36.612 37.540 11.845 1.00 0.00 H +HETATM 1770 H2 HOH A 590 35.539 36.749 12.564 1.00 0.00 H +HETATM 1771 O HOH A 591 12.792 33.509 47.210 1.00 0.00 O +HETATM 1772 H1 HOH A 591 12.871 32.707 46.693 1.00 0.00 H +HETATM 1773 H2 HOH A 591 12.106 34.010 46.774 1.00 0.00 H +HETATM 1774 O HOH A 592 5.851 8.304 25.495 1.00 0.00 O +HETATM 1775 H1 HOH A 592 5.554 9.212 25.440 1.00 0.00 H +HETATM 1776 H2 HOH A 592 6.376 8.269 26.292 1.00 0.00 H +HETATM 1777 O HOH A 593 10.312 7.806 2.696 1.00 0.00 O +HETATM 1778 H1 HOH A 593 11.213 7.842 3.018 1.00 0.00 H +HETATM 1779 H2 HOH A 593 9.776 8.032 3.453 1.00 0.00 H +HETATM 1780 O HOH A 594 12.807 29.489 0.901 1.00 0.00 O +HETATM 1781 H1 HOH A 594 12.407 28.741 1.345 1.00 0.00 H +HETATM 1782 H2 HOH A 594 12.942 29.193 0.002 1.00 0.00 H +HETATM 1783 O HOH A 595 27.200 26.638 0.882 1.00 0.00 O +HETATM 1784 H1 HOH A 595 27.848 26.438 1.557 1.00 0.00 H +HETATM 1785 H2 HOH A 595 26.473 27.040 1.355 1.00 0.00 H +HETATM 1786 O HOH A 596 0.992 37.080 24.041 1.00 0.00 O +HETATM 1787 H1 HOH A 596 1.741 37.457 23.579 1.00 0.00 H +HETATM 1788 H2 HOH A 596 1.026 37.467 24.913 1.00 0.00 H +HETATM 1789 O HOH A 597 28.681 19.887 45.630 1.00 0.00 O +HETATM 1790 H1 HOH A 597 28.162 20.366 46.276 1.00 0.00 H +HETATM 1791 H2 HOH A 597 29.548 19.812 46.025 1.00 0.00 H +HETATM 1792 O HOH A 598 32.451 16.543 38.102 1.00 0.00 O +HETATM 1793 H1 HOH A 598 32.696 17.033 37.316 1.00 0.00 H +HETATM 1794 H2 HOH A 598 33.215 16.003 38.297 1.00 0.00 H +HETATM 1795 O HOH A 599 12.722 43.206 16.027 1.00 0.00 O +HETATM 1796 H1 HOH A 599 12.063 43.747 15.591 1.00 0.00 H +HETATM 1797 H2 HOH A 599 12.651 43.438 16.951 1.00 0.00 H +HETATM 1798 O HOH A 600 10.804 35.616 30.683 1.00 0.00 O +HETATM 1799 H1 HOH A 600 11.219 35.033 30.047 1.00 0.00 H +HETATM 1800 H2 HOH A 600 11.350 35.551 31.464 1.00 0.00 H +HETATM 1801 O HOH A 601 36.916 49.360 42.457 1.00 0.00 O +HETATM 1802 H1 HOH A 601 36.001 49.639 42.479 1.00 0.00 H +HETATM 1803 H2 HOH A 601 37.348 49.993 41.886 1.00 0.00 H +HETATM 1804 O HOH A 602 23.183 16.215 27.870 1.00 0.00 O +HETATM 1805 H1 HOH A 602 23.386 15.678 27.103 1.00 0.00 H +HETATM 1806 H2 HOH A 602 22.644 15.652 28.422 1.00 0.00 H +HETATM 1807 O HOH A 603 2.814 20.604 8.166 1.00 0.00 O +HETATM 1808 H1 HOH A 603 2.289 19.986 8.674 1.00 0.00 H +HETATM 1809 H2 HOH A 603 3.714 20.438 8.439 1.00 0.00 H +HETATM 1810 O HOH A 604 40.104 39.329 9.287 1.00 0.00 O +HETATM 1811 H1 HOH A 604 40.989 39.010 9.467 1.00 0.00 H +HETATM 1812 H2 HOH A 604 39.726 38.674 8.703 1.00 0.00 H +HETATM 1813 O HOH A 605 33.341 34.234 42.445 1.00 0.00 O +HETATM 1814 H1 HOH A 605 32.650 34.497 41.837 1.00 0.00 H +HETATM 1815 H2 HOH A 605 33.644 35.052 42.835 1.00 0.00 H +HETATM 1816 O HOH A 606 5.110 46.521 40.467 1.00 0.00 O +HETATM 1817 H1 HOH A 606 6.001 46.698 40.163 1.00 0.00 H +HETATM 1818 H2 HOH A 606 4.969 45.596 40.273 1.00 0.00 H +HETATM 1819 O HOH A 607 30.394 3.214 16.603 1.00 0.00 O +HETATM 1820 H1 HOH A 607 30.292 2.520 17.255 1.00 0.00 H +HETATM 1821 H2 HOH A 607 31.036 3.810 16.984 1.00 0.00 H +HETATM 1822 O HOH A 608 47.267 45.659 9.838 1.00 0.00 O +HETATM 1823 H1 HOH A 608 48.086 46.120 9.654 1.00 0.00 H +HETATM 1824 H2 HOH A 608 46.840 46.184 10.513 1.00 0.00 H +HETATM 1825 O HOH A 609 29.848 36.134 17.234 1.00 0.00 O +HETATM 1826 H1 HOH A 609 29.816 37.001 16.828 1.00 0.00 H +HETATM 1827 H2 HOH A 609 29.264 36.200 17.987 1.00 0.00 H +HETATM 1828 O HOH A 610 38.699 6.970 10.408 1.00 0.00 O +HETATM 1829 H1 HOH A 610 39.398 6.727 9.801 1.00 0.00 H +HETATM 1830 H2 HOH A 610 37.956 6.427 10.150 1.00 0.00 H +HETATM 1831 O HOH A 611 38.010 31.079 42.305 1.00 0.00 O +HETATM 1832 H1 HOH A 611 38.238 31.647 43.042 1.00 0.00 H +HETATM 1833 H2 HOH A 611 37.171 30.694 42.548 1.00 0.00 H +HETATM 1834 O HOH A 612 21.602 41.084 7.778 1.00 0.00 O +HETATM 1835 H1 HOH A 612 21.821 40.407 8.419 1.00 0.00 H +HETATM 1836 H2 HOH A 612 21.198 41.781 8.292 1.00 0.00 H +HETATM 1837 O HOH A 613 28.315 17.935 21.003 1.00 0.00 O +HETATM 1838 H1 HOH A 613 27.448 17.788 20.626 1.00 0.00 H +HETATM 1839 H2 HOH A 613 28.840 18.271 20.278 1.00 0.00 H +HETATM 1840 O HOH A 614 16.719 29.342 23.021 1.00 0.00 O +HETATM 1841 H1 HOH A 614 17.540 29.623 22.615 1.00 0.00 H +HETATM 1842 H2 HOH A 614 16.152 29.115 22.286 1.00 0.00 H +HETATM 1843 O HOH A 615 1.573 0.698 33.839 1.00 0.00 O +HETATM 1844 H1 HOH A 615 0.881 1.304 34.102 1.00 0.00 H +HETATM 1845 H2 HOH A 615 1.197 0.202 33.114 1.00 0.00 H +HETATM 1846 O HOH A 616 19.766 34.010 38.182 1.00 0.00 O +HETATM 1847 H1 HOH A 616 18.934 33.735 37.796 1.00 0.00 H +HETATM 1848 H2 HOH A 616 19.733 34.965 38.172 1.00 0.00 H +HETATM 1849 O HOH A 617 42.228 21.234 41.851 1.00 0.00 O +HETATM 1850 H1 HOH A 617 41.594 21.916 42.072 1.00 0.00 H +HETATM 1851 H2 HOH A 617 41.941 20.467 42.345 1.00 0.00 H +HETATM 1852 O HOH A 618 20.127 3.426 30.146 1.00 0.00 O +HETATM 1853 H1 HOH A 618 20.654 2.884 30.734 1.00 0.00 H +HETATM 1854 H2 HOH A 618 20.563 4.277 30.147 1.00 0.00 H +HETATM 1855 O HOH A 619 33.309 8.738 31.529 1.00 0.00 O +HETATM 1856 H1 HOH A 619 34.191 8.624 31.176 1.00 0.00 H +HETATM 1857 H2 HOH A 619 33.316 8.261 32.357 1.00 0.00 H +HETATM 1858 O HOH A 620 7.560 47.397 37.896 1.00 0.00 O +HETATM 1859 H1 HOH A 620 8.114 46.983 38.558 1.00 0.00 H +HETATM 1860 H2 HOH A 620 7.940 48.265 37.772 1.00 0.00 H +HETATM 1861 O HOH A 621 38.677 38.212 23.979 1.00 0.00 O +HETATM 1862 H1 HOH A 621 39.481 38.406 23.497 1.00 0.00 H +HETATM 1863 H2 HOH A 621 37.997 38.176 23.308 1.00 0.00 H +HETATM 1864 O HOH A 622 2.554 10.615 5.754 1.00 0.00 O +HETATM 1865 H1 HOH A 622 2.749 9.831 6.268 1.00 0.00 H +HETATM 1866 H2 HOH A 622 1.664 10.479 5.434 1.00 0.00 H +HETATM 1867 O HOH A 623 17.178 5.215 19.038 1.00 0.00 O +HETATM 1868 H1 HOH A 623 17.261 6.098 18.678 1.00 0.00 H +HETATM 1869 H2 HOH A 623 17.587 4.649 18.386 1.00 0.00 H +HETATM 1870 O HOH A 624 22.480 21.693 43.486 1.00 0.00 O +HETATM 1871 H1 HOH A 624 23.306 22.175 43.461 1.00 0.00 H +HETATM 1872 H2 HOH A 624 22.735 20.774 43.433 1.00 0.00 H +HETATM 1873 O HOH A 625 1.211 38.765 20.886 1.00 0.00 O +HETATM 1874 H1 HOH A 625 1.533 39.641 21.101 1.00 0.00 H +HETATM 1875 H2 HOH A 625 0.801 38.454 21.691 1.00 0.00 H +HETATM 1876 O HOH A 626 13.662 10.557 24.230 1.00 0.00 O +HETATM 1877 H1 HOH A 626 13.416 9.815 24.783 1.00 0.00 H +HETATM 1878 H2 HOH A 626 12.896 11.127 24.236 1.00 0.00 H +HETATM 1879 O HOH A 627 39.460 40.857 4.817 1.00 0.00 O +HETATM 1880 H1 HOH A 627 39.125 41.127 3.962 1.00 0.00 H +HETATM 1881 H2 HOH A 627 39.028 40.024 4.994 1.00 0.00 H +HETATM 1882 O HOH A 628 25.669 23.573 48.597 1.00 0.00 O +HETATM 1883 H1 HOH A 628 26.107 23.506 47.748 1.00 0.00 H +HETATM 1884 H2 HOH A 628 26.372 23.756 49.217 1.00 0.00 H +HETATM 1885 O HOH A 629 11.840 5.997 37.019 1.00 0.00 O +HETATM 1886 H1 HOH A 629 12.076 5.420 37.746 1.00 0.00 H +HETATM 1887 H2 HOH A 629 12.676 6.259 36.638 1.00 0.00 H +HETATM 1888 O HOH A 630 7.764 6.513 3.292 1.00 0.00 O +HETATM 1889 H1 HOH A 630 8.188 5.878 2.714 1.00 0.00 H +HETATM 1890 H2 HOH A 630 6.913 6.677 2.887 1.00 0.00 H +HETATM 1891 O HOH A 631 43.156 35.569 43.218 1.00 0.00 O +HETATM 1892 H1 HOH A 631 42.817 36.234 42.617 1.00 0.00 H +HETATM 1893 H2 HOH A 631 43.810 36.027 43.741 1.00 0.00 H +HETATM 1894 O HOH A 632 37.015 46.191 25.570 1.00 0.00 O +HETATM 1895 H1 HOH A 632 37.068 46.560 24.688 1.00 0.00 H +HETATM 1896 H2 HOH A 632 37.882 46.335 25.945 1.00 0.00 H +HETATM 1897 O HOH A 633 16.173 29.836 25.755 1.00 0.00 O +HETATM 1898 H1 HOH A 633 15.328 29.582 25.385 1.00 0.00 H +HETATM 1899 H2 HOH A 633 16.321 30.724 25.435 1.00 0.00 H +HETATM 1900 O HOH A 634 10.416 1.352 13.543 1.00 0.00 O +HETATM 1901 H1 HOH A 634 10.554 1.922 12.786 1.00 0.00 H +HETATM 1902 H2 HOH A 634 9.797 0.692 13.238 1.00 0.00 H +HETATM 1903 O HOH A 635 38.353 42.719 25.828 1.00 0.00 O +HETATM 1904 H1 HOH A 635 38.710 43.410 26.386 1.00 0.00 H +HETATM 1905 H2 HOH A 635 37.507 43.056 25.539 1.00 0.00 H +HETATM 1906 O HOH A 636 26.538 3.980 1.110 1.00 0.00 O +HETATM 1907 H1 HOH A 636 26.195 4.369 1.915 1.00 0.00 H +HETATM 1908 H2 HOH A 636 26.410 4.653 0.443 1.00 0.00 H +HETATM 1909 O HOH A 637 27.969 47.738 15.943 1.00 0.00 O +HETATM 1910 H1 HOH A 637 27.652 47.537 16.824 1.00 0.00 H +HETATM 1911 H2 HOH A 637 27.376 48.416 15.623 1.00 0.00 H +HETATM 1912 O HOH A 638 20.814 17.084 35.352 1.00 0.00 O +HETATM 1913 H1 HOH A 638 20.119 17.041 36.010 1.00 0.00 H +HETATM 1914 H2 HOH A 638 21.597 16.779 35.808 1.00 0.00 H +HETATM 1915 O HOH A 639 9.795 17.318 27.243 1.00 0.00 O +HETATM 1916 H1 HOH A 639 10.278 18.124 27.060 1.00 0.00 H +HETATM 1917 H2 HOH A 639 9.206 17.545 27.960 1.00 0.00 H +HETATM 1918 O HOH A 640 44.377 35.788 48.989 1.00 0.00 O +HETATM 1919 H1 HOH A 640 44.632 34.933 48.642 1.00 0.00 H +HETATM 1920 H2 HOH A 640 43.430 35.728 49.105 1.00 0.00 H +HETATM 1921 O HOH A 641 37.550 11.863 44.230 1.00 0.00 O +HETATM 1922 H1 HOH A 641 36.904 11.477 43.639 1.00 0.00 H +HETATM 1923 H2 HOH A 641 37.711 12.736 43.877 1.00 0.00 H +HETATM 1924 O HOH A 642 28.947 27.155 39.434 1.00 0.00 O +HETATM 1925 H1 HOH A 642 29.214 27.059 38.519 1.00 0.00 H +HETATM 1926 H2 HOH A 642 28.513 26.330 39.646 1.00 0.00 H +HETATM 1927 O HOH A 643 39.390 20.309 32.622 1.00 0.00 O +HETATM 1928 H1 HOH A 643 39.514 19.808 33.429 1.00 0.00 H +HETATM 1929 H2 HOH A 643 40.173 20.851 32.551 1.00 0.00 H +HETATM 1930 O HOH A 644 14.942 38.119 3.327 1.00 0.00 O +HETATM 1931 H1 HOH A 644 14.764 37.435 2.680 1.00 0.00 H +HETATM 1932 H2 HOH A 644 14.454 38.879 3.014 1.00 0.00 H +HETATM 1933 O HOH A 645 9.338 29.178 15.056 1.00 0.00 O +HETATM 1934 H1 HOH A 645 9.965 29.821 14.726 1.00 0.00 H +HETATM 1935 H2 HOH A 645 9.178 28.595 14.316 1.00 0.00 H +HETATM 1936 O HOH A 646 11.493 17.052 23.104 1.00 0.00 O +HETATM 1937 H1 HOH A 646 10.892 17.792 23.200 1.00 0.00 H +HETATM 1938 H2 HOH A 646 12.079 17.307 22.395 1.00 0.00 H +HETATM 1939 O HOH A 647 43.693 10.910 40.845 1.00 0.00 O +HETATM 1940 H1 HOH A 647 43.198 10.237 40.379 1.00 0.00 H +HETATM 1941 H2 HOH A 647 44.542 10.934 40.407 1.00 0.00 H +HETATM 1942 O HOH A 648 37.168 1.888 9.586 1.00 0.00 O +HETATM 1943 H1 HOH A 648 37.236 2.202 10.488 1.00 0.00 H +HETATM 1944 H2 HOH A 648 36.804 2.626 9.100 1.00 0.00 H +HETATM 1945 O HOH A 649 46.738 37.997 43.082 1.00 0.00 O +HETATM 1946 H1 HOH A 649 46.004 38.562 42.841 1.00 0.00 H +HETATM 1947 H2 HOH A 649 47.512 38.548 42.976 1.00 0.00 H +HETATM 1948 O HOH A 650 46.208 17.678 10.732 1.00 0.00 O +HETATM 1949 H1 HOH A 650 47.143 17.726 10.932 1.00 0.00 H +HETATM 1950 H2 HOH A 650 45.784 18.149 11.446 1.00 0.00 H +HETATM 1951 O HOH A 651 41.766 13.899 19.741 1.00 0.00 O +HETATM 1952 H1 HOH A 651 42.052 13.874 18.827 1.00 0.00 H +HETATM 1953 H2 HOH A 651 42.216 13.165 20.155 1.00 0.00 H +HETATM 1954 O HOH A 652 25.219 46.663 38.510 1.00 0.00 O +HETATM 1955 H1 HOH A 652 25.786 47.404 38.723 1.00 0.00 H +HETATM 1956 H2 HOH A 652 24.772 46.457 39.329 1.00 0.00 H +HETATM 1957 O HOH A 653 2.976 2.818 5.855 1.00 0.00 O +HETATM 1958 H1 HOH A 653 3.095 1.919 6.163 1.00 0.00 H +HETATM 1959 H2 HOH A 653 3.405 3.359 6.515 1.00 0.00 H +HETATM 1960 O HOH A 654 35.623 6.717 35.278 1.00 0.00 O +HETATM 1961 H1 HOH A 654 36.183 6.249 35.898 1.00 0.00 H +HETATM 1962 H2 HOH A 654 35.915 6.422 34.418 1.00 0.00 H +HETATM 1963 O HOH A 655 6.115 43.669 6.805 1.00 0.00 O +HETATM 1964 H1 HOH A 655 5.188 43.708 7.041 1.00 0.00 H +HETATM 1965 H2 HOH A 655 6.244 42.780 6.479 1.00 0.00 H +HETATM 1966 O HOH A 656 49.853 7.952 14.899 1.00 0.00 O +HETATM 1967 H1 HOH A 656 49.962 7.946 13.948 1.00 0.00 H +HETATM 1968 H2 HOH A 656 49.992 8.863 15.153 1.00 0.00 H +HETATM 1969 O HOH A 657 14.113 19.103 24.950 1.00 0.00 O +HETATM 1970 H1 HOH A 657 15.025 19.391 24.984 1.00 0.00 H +HETATM 1971 H2 HOH A 657 13.858 18.999 25.865 1.00 0.00 H +HETATM 1972 O HOH A 658 32.619 16.909 10.029 1.00 0.00 O +HETATM 1973 H1 HOH A 658 32.192 17.762 10.105 1.00 0.00 H +HETATM 1974 H2 HOH A 658 33.250 16.891 10.746 1.00 0.00 H +HETATM 1975 O HOH A 659 44.394 9.465 31.936 1.00 0.00 O +HETATM 1976 H1 HOH A 659 43.613 9.755 32.407 1.00 0.00 H +HETATM 1977 H2 HOH A 659 45.102 9.537 32.573 1.00 0.00 H +HETATM 1978 O HOH A 660 16.446 17.280 2.835 1.00 0.00 O +HETATM 1979 H1 HOH A 660 15.508 17.470 2.838 1.00 0.00 H +HETATM 1980 H2 HOH A 660 16.847 18.030 3.272 1.00 0.00 H +HETATM 1981 O HOH A 661 43.675 22.346 10.713 1.00 0.00 O +HETATM 1982 H1 HOH A 661 43.911 22.137 11.617 1.00 0.00 H +HETATM 1983 H2 HOH A 661 43.199 23.172 10.772 1.00 0.00 H +HETATM 1984 O HOH A 662 34.447 23.706 7.240 1.00 0.00 O +HETATM 1985 H1 HOH A 662 33.821 23.356 6.606 1.00 0.00 H +HETATM 1986 H2 HOH A 662 34.699 24.557 6.886 1.00 0.00 H +HETATM 1987 O HOH A 663 19.789 42.639 9.762 1.00 0.00 O +HETATM 1988 H1 HOH A 663 19.425 43.377 9.272 1.00 0.00 H +HETATM 1989 H2 HOH A 663 19.173 41.923 9.614 1.00 0.00 H +HETATM 1990 O HOH A 664 41.258 30.412 1.062 1.00 0.00 O +HETATM 1991 H1 HOH A 664 41.181 29.458 1.078 1.00 0.00 H +HETATM 1992 H2 HOH A 664 40.506 30.707 0.553 1.00 0.00 H +HETATM 1993 O HOH A 665 14.100 23.114 1.638 1.00 0.00 O +HETATM 1994 H1 HOH A 665 14.346 23.584 0.841 1.00 0.00 H +HETATM 1995 H2 HOH A 665 13.245 23.471 1.874 1.00 0.00 H +HETATM 1996 O HOH A 666 48.735 33.295 11.400 1.00 0.00 O +HETATM 1997 H1 HOH A 666 47.813 33.438 11.185 1.00 0.00 H +HETATM 1998 H2 HOH A 666 48.762 33.290 12.355 1.00 0.00 H +HETATM 1999 O HOH A 667 34.142 45.470 21.182 1.00 0.00 O +HETATM 2000 H1 HOH A 667 33.474 44.989 21.673 1.00 0.00 H +HETATM 2001 H2 HOH A 667 34.508 44.826 20.579 1.00 0.00 H +HETATM 2002 O HOH A 668 49.395 13.527 13.754 1.00 0.00 O +HETATM 2003 H1 HOH A 668 48.604 13.581 14.291 1.00 0.00 H +HETATM 2004 H2 HOH A 668 50.000 12.996 14.267 1.00 0.00 H +HETATM 2005 O HOH A 669 4.646 42.040 30.148 1.00 0.00 O +HETATM 2006 H1 HOH A 669 4.424 41.170 30.479 1.00 0.00 H +HETATM 2007 H2 HOH A 669 5.236 42.406 30.805 1.00 0.00 H +HETATM 2008 O HOH A 670 42.249 41.283 10.648 1.00 0.00 O +HETATM 2009 H1 HOH A 670 42.066 42.061 10.122 1.00 0.00 H +HETATM 2010 H2 HOH A 670 42.874 40.782 10.128 1.00 0.00 H +HETATM 2011 O HOH A 671 10.918 47.742 25.071 1.00 0.00 O +HETATM 2012 H1 HOH A 671 11.644 47.118 25.082 1.00 0.00 H +HETATM 2013 H2 HOH A 671 10.305 47.387 24.430 1.00 0.00 H +HETATM 2014 O HOH A 672 14.830 31.879 14.002 1.00 0.00 O +HETATM 2015 H1 HOH A 672 14.247 32.323 13.385 1.00 0.00 H +HETATM 2016 H2 HOH A 672 15.707 32.017 13.648 1.00 0.00 H +HETATM 2017 O HOH A 673 36.408 43.215 14.447 1.00 0.00 O +HETATM 2018 H1 HOH A 673 36.228 44.155 14.407 1.00 0.00 H +HETATM 2019 H2 HOH A 673 36.074 42.942 15.300 1.00 0.00 H +HETATM 2020 O HOH A 674 11.124 7.801 14.731 1.00 0.00 O +HETATM 2021 H1 HOH A 674 10.581 7.221 15.266 1.00 0.00 H +HETATM 2022 H2 HOH A 674 10.566 8.555 14.548 1.00 0.00 H +HETATM 2023 O HOH A 675 3.642 8.864 46.911 1.00 0.00 O +HETATM 2024 H1 HOH A 675 3.802 9.725 46.525 1.00 0.00 H +HETATM 2025 H2 HOH A 675 4.141 8.259 46.365 1.00 0.00 H +HETATM 2026 O HOH A 676 29.457 37.642 0.515 1.00 0.00 O +HETATM 2027 H1 HOH A 676 30.227 37.504 1.068 1.00 0.00 H +HETATM 2028 H2 HOH A 676 28.754 37.847 1.128 1.00 0.00 H +HETATM 2029 O HOH A 677 36.426 2.248 1.135 1.00 0.00 O +HETATM 2030 H1 HOH A 677 36.324 2.987 1.735 1.00 0.00 H +HETATM 2031 H2 HOH A 677 36.363 2.634 0.264 1.00 0.00 H +HETATM 2032 O HOH A 678 12.113 29.214 45.641 1.00 0.00 O +HETATM 2033 H1 HOH A 678 11.274 29.624 45.430 1.00 0.00 H +HETATM 2034 H2 HOH A 678 11.885 28.458 46.178 1.00 0.00 H +HETATM 2035 O HOH A 679 33.435 17.217 47.799 1.00 0.00 O +HETATM 2036 H1 HOH A 679 32.995 16.443 48.152 1.00 0.00 H +HETATM 2037 H2 HOH A 679 34.163 17.374 48.397 1.00 0.00 H +HETATM 2038 O HOH A 680 40.136 47.789 19.151 1.00 0.00 O +HETATM 2039 H1 HOH A 680 40.572 47.071 18.691 1.00 0.00 H +HETATM 2040 H2 HOH A 680 40.842 48.258 19.592 1.00 0.00 H +HETATM 2041 O HOH A 681 35.510 1.256 17.497 1.00 0.00 O +HETATM 2042 H1 HOH A 681 35.673 2.146 17.810 1.00 0.00 H +HETATM 2043 H2 HOH A 681 34.760 1.339 16.911 1.00 0.00 H +HETATM 2044 O HOH A 682 12.129 46.367 20.203 1.00 0.00 O +HETATM 2045 H1 HOH A 682 12.668 45.583 20.100 1.00 0.00 H +HETATM 2046 H2 HOH A 682 11.368 46.074 20.701 1.00 0.00 H +HETATM 2047 O HOH A 683 17.849 41.719 28.580 1.00 0.00 O +HETATM 2048 H1 HOH A 683 17.149 41.542 29.209 1.00 0.00 H +HETATM 2049 H2 HOH A 683 18.609 41.257 28.928 1.00 0.00 H +HETATM 2050 O HOH A 684 45.785 2.292 14.024 1.00 0.00 O +HETATM 2051 H1 HOH A 684 45.894 2.895 14.760 1.00 0.00 H +HETATM 2052 H2 HOH A 684 45.506 1.471 14.425 1.00 0.00 H +HETATM 2053 O HOH A 685 44.260 30.365 17.182 1.00 0.00 O +HETATM 2054 H1 HOH A 685 43.406 30.446 17.607 1.00 0.00 H +HETATM 2055 H2 HOH A 685 44.868 30.180 17.896 1.00 0.00 H +HETATM 2056 O HOH A 686 2.593 37.561 14.972 1.00 0.00 O +HETATM 2057 H1 HOH A 686 2.494 37.608 14.021 1.00 0.00 H +HETATM 2058 H2 HOH A 686 3.477 37.227 15.107 1.00 0.00 H +HETATM 2059 O HOH A 687 13.298 49.057 36.507 1.00 0.00 O +HETATM 2060 H1 HOH A 687 13.999 48.984 35.860 1.00 0.00 H +HETATM 2061 H2 HOH A 687 12.674 48.375 36.264 1.00 0.00 H +HETATM 2062 O HOH A 688 39.340 28.871 29.028 1.00 0.00 O +HETATM 2063 H1 HOH A 688 39.473 28.233 28.327 1.00 0.00 H +HETATM 2064 H2 HOH A 688 40.162 28.871 29.515 1.00 0.00 H +HETATM 2065 O HOH A 689 5.437 20.777 43.524 1.00 0.00 O +HETATM 2066 H1 HOH A 689 4.544 21.020 43.282 1.00 0.00 H +HETATM 2067 H2 HOH A 689 5.974 21.066 42.789 1.00 0.00 H +HETATM 2068 O HOH A 690 21.134 40.858 39.231 1.00 0.00 O +HETATM 2069 H1 HOH A 690 22.083 40.980 39.186 1.00 0.00 H +HETATM 2070 H2 HOH A 690 20.920 40.344 38.455 1.00 0.00 H +HETATM 2071 O HOH A 691 28.054 33.032 32.575 1.00 0.00 O +HETATM 2072 H1 HOH A 691 27.871 33.968 32.493 1.00 0.00 H +HETATM 2073 H2 HOH A 691 28.802 32.881 31.999 1.00 0.00 H +HETATM 2074 O HOH A 692 20.746 29.309 37.555 1.00 0.00 O +HETATM 2075 H1 HOH A 692 21.374 29.765 38.115 1.00 0.00 H +HETATM 2076 H2 HOH A 692 19.894 29.658 37.812 1.00 0.00 H +HETATM 2077 O HOH A 693 22.164 26.905 -0.023 1.00 0.00 O +HETATM 2078 H1 HOH A 693 22.214 26.092 0.481 1.00 0.00 H +HETATM 2079 H2 HOH A 693 22.882 27.440 0.311 1.00 0.00 H +HETATM 2080 O HOH A 694 1.390 1.849 21.138 1.00 0.00 O +HETATM 2081 H1 HOH A 694 2.310 1.925 21.394 1.00 0.00 H +HETATM 2082 H2 HOH A 694 1.203 2.658 20.666 1.00 0.00 H +HETATM 2083 O HOH A 695 8.995 15.955 1.329 1.00 0.00 O +HETATM 2084 H1 HOH A 695 8.206 16.224 1.799 1.00 0.00 H +HETATM 2085 H2 HOH A 695 9.471 16.768 1.170 1.00 0.00 H +HETATM 2086 O HOH A 696 45.806 23.015 6.976 1.00 0.00 O +HETATM 2087 H1 HOH A 696 45.235 23.450 6.342 1.00 0.00 H +HETATM 2088 H2 HOH A 696 45.212 22.526 7.541 1.00 0.00 H +HETATM 2089 O HOH A 697 48.670 2.953 0.673 1.00 0.00 O +HETATM 2090 H1 HOH A 697 47.968 2.824 0.036 1.00 0.00 H +HETATM 2091 H2 HOH A 697 49.041 3.806 0.455 1.00 0.00 H +HETATM 2092 O HOH A 698 44.944 37.743 46.113 1.00 0.00 O +HETATM 2093 H1 HOH A 698 44.381 36.983 46.260 1.00 0.00 H +HETATM 2094 H2 HOH A 698 45.475 37.808 46.904 1.00 0.00 H +HETATM 2095 O HOH A 699 12.933 37.517 46.487 1.00 0.00 O +HETATM 2096 H1 HOH A 699 12.997 38.367 46.052 1.00 0.00 H +HETATM 2097 H2 HOH A 699 12.866 37.726 47.417 1.00 0.00 H +HETATM 2098 O HOH A 700 5.759 9.682 12.948 1.00 0.00 O +HETATM 2099 H1 HOH A 700 5.645 8.740 12.819 1.00 0.00 H +HETATM 2100 H2 HOH A 700 5.029 10.080 12.477 1.00 0.00 H +HETATM 2101 O HOH A 701 39.652 7.766 7.707 1.00 0.00 O +HETATM 2102 H1 HOH A 701 40.297 7.447 7.075 1.00 0.00 H +HETATM 2103 H2 HOH A 701 38.814 7.441 7.382 1.00 0.00 H +HETATM 2104 O HOH A 702 39.882 8.929 20.645 1.00 0.00 O +HETATM 2105 H1 HOH A 702 40.451 9.698 20.643 1.00 0.00 H +HETATM 2106 H2 HOH A 702 39.332 9.033 19.871 1.00 0.00 H +HETATM 2107 O HOH A 703 39.042 48.120 30.826 1.00 0.00 O +HETATM 2108 H1 HOH A 703 39.528 47.462 31.324 1.00 0.00 H +HETATM 2109 H2 HOH A 703 39.689 48.506 30.239 1.00 0.00 H +HETATM 2110 O HOH A 704 44.162 29.503 14.244 1.00 0.00 O +HETATM 2111 H1 HOH A 704 43.396 28.946 14.105 1.00 0.00 H +HETATM 2112 H2 HOH A 704 44.341 29.437 15.180 1.00 0.00 H +HETATM 2113 O HOH A 705 31.796 2.870 11.342 1.00 0.00 O +HETATM 2114 H1 HOH A 705 31.765 1.914 11.321 1.00 0.00 H +HETATM 2115 H2 HOH A 705 31.310 3.111 12.128 1.00 0.00 H +HETATM 2116 O HOH A 706 9.025 43.826 25.656 1.00 0.00 O +HETATM 2117 H1 HOH A 706 9.229 43.897 26.589 1.00 0.00 H +HETATM 2118 H2 HOH A 706 8.389 44.520 25.494 1.00 0.00 H +HETATM 2119 O HOH A 707 49.995 32.335 45.900 1.00 0.00 O +HETATM 2120 H1 HOH A 707 49.798 33.247 46.114 1.00 0.00 H +HETATM 2121 H2 HOH A 707 49.765 31.847 46.689 1.00 0.00 H +HETATM 2122 O HOH A 708 31.609 36.653 45.847 1.00 0.00 O +HETATM 2123 H1 HOH A 708 31.496 36.576 46.795 1.00 0.00 H +HETATM 2124 H2 HOH A 708 30.999 37.342 45.588 1.00 0.00 H +HETATM 2125 O HOH A 709 49.993 37.560 44.753 1.00 0.00 O +HETATM 2126 H1 HOH A 709 49.623 37.816 45.598 1.00 0.00 H +HETATM 2127 H2 HOH A 709 49.802 36.627 44.679 1.00 0.00 H +HETATM 2128 O HOH A 710 48.477 23.282 29.410 1.00 0.00 O +HETATM 2129 H1 HOH A 710 48.121 23.246 28.522 1.00 0.00 H +HETATM 2130 H2 HOH A 710 48.112 22.516 29.848 1.00 0.00 H +HETATM 2131 O HOH A 711 19.313 33.898 13.779 1.00 0.00 O +HETATM 2132 H1 HOH A 711 19.940 34.500 14.181 1.00 0.00 H +HETATM 2133 H2 HOH A 711 18.628 34.463 13.426 1.00 0.00 H +HETATM 2134 O HOH A 712 0.916 28.309 27.775 1.00 0.00 O +HETATM 2135 H1 HOH A 712 0.195 28.585 27.209 1.00 0.00 H +HETATM 2136 H2 HOH A 712 1.699 28.663 27.358 1.00 0.00 H +HETATM 2137 O HOH A 713 46.073 0.270 45.689 1.00 0.00 O +HETATM 2138 H1 HOH A 713 46.796 0.140 45.075 1.00 0.00 H +HETATM 2139 H2 HOH A 713 46.491 0.341 46.545 1.00 0.00 H +HETATM 2140 O HOH A 714 33.502 16.407 34.473 1.00 0.00 O +HETATM 2141 H1 HOH A 714 32.762 16.998 34.336 1.00 0.00 H +HETATM 2142 H2 HOH A 714 33.111 15.608 34.824 1.00 0.00 H +HETATM 2143 O HOH A 715 37.744 48.653 19.725 1.00 0.00 O +HETATM 2144 H1 HOH A 715 37.757 47.704 19.851 1.00 0.00 H +HETATM 2145 H2 HOH A 715 37.379 48.776 18.851 1.00 0.00 H +HETATM 2146 O HOH A 716 43.778 26.954 8.389 1.00 0.00 O +HETATM 2147 H1 HOH A 716 43.308 26.270 8.867 1.00 0.00 H +HETATM 2148 H2 HOH A 716 44.389 27.318 9.027 1.00 0.00 H +HETATM 2149 O HOH A 717 14.459 15.926 17.768 1.00 0.00 O +HETATM 2150 H1 HOH A 717 13.685 16.233 17.294 1.00 0.00 H +HETATM 2151 H2 HOH A 717 15.186 16.408 17.379 1.00 0.00 H +HETATM 2152 O HOH A 718 41.233 4.813 37.109 1.00 0.00 O +HETATM 2153 H1 HOH A 718 41.053 5.561 36.540 1.00 0.00 H +HETATM 2154 H2 HOH A 718 42.086 4.491 36.823 1.00 0.00 H +HETATM 2155 O HOH A 719 8.999 41.126 44.282 1.00 0.00 O +HETATM 2156 H1 HOH A 719 9.135 41.846 44.897 1.00 0.00 H +HETATM 2157 H2 HOH A 719 8.255 40.643 44.635 1.00 0.00 H +HETATM 2158 O HOH A 720 48.749 41.768 39.496 1.00 0.00 O +HETATM 2159 H1 HOH A 720 48.447 41.723 40.403 1.00 0.00 H +HETATM 2160 H2 HOH A 720 48.016 41.437 38.981 1.00 0.00 H +HETATM 2161 O HOH A 721 27.472 47.130 46.836 1.00 0.00 O +HETATM 2162 H1 HOH A 721 27.389 46.873 47.755 1.00 0.00 H +HETATM 2163 H2 HOH A 721 27.625 46.311 46.369 1.00 0.00 H +HETATM 2164 O HOH A 722 17.579 14.773 32.164 1.00 0.00 O +HETATM 2165 H1 HOH A 722 18.198 15.151 32.790 1.00 0.00 H +HETATM 2166 H2 HOH A 722 17.338 15.501 31.594 1.00 0.00 H +HETATM 2167 O HOH A 723 41.820 4.168 45.855 1.00 0.00 O +HETATM 2168 H1 HOH A 723 41.878 4.123 46.809 1.00 0.00 H +HETATM 2169 H2 HOH A 723 41.965 5.090 45.647 1.00 0.00 H +HETATM 2170 O HOH A 724 20.008 26.275 34.315 1.00 0.00 O +HETATM 2171 H1 HOH A 724 20.760 26.061 34.867 1.00 0.00 H +HETATM 2172 H2 HOH A 724 20.207 27.139 33.959 1.00 0.00 H +HETATM 2173 O HOH A 725 18.305 11.773 32.788 1.00 0.00 O +HETATM 2174 H1 HOH A 725 18.084 11.292 33.586 1.00 0.00 H +HETATM 2175 H2 HOH A 725 19.187 12.106 32.943 1.00 0.00 H +HETATM 2176 O HOH A 726 12.355 47.687 30.524 1.00 0.00 O +HETATM 2177 H1 HOH A 726 12.415 48.450 31.100 1.00 0.00 H +HETATM 2178 H2 HOH A 726 11.782 47.966 29.812 1.00 0.00 H +HETATM 2179 O HOH A 727 17.088 5.550 3.148 1.00 0.00 O +HETATM 2180 H1 HOH A 727 16.904 6.486 3.233 1.00 0.00 H +HETATM 2181 H2 HOH A 727 17.342 5.274 4.027 1.00 0.00 H +HETATM 2182 O HOH A 728 1.148 21.615 43.500 1.00 0.00 O +HETATM 2183 H1 HOH A 728 2.051 21.742 43.210 1.00 0.00 H +HETATM 2184 H2 HOH A 728 0.702 21.238 42.743 1.00 0.00 H +HETATM 2185 O HOH A 729 4.538 13.083 46.799 1.00 0.00 O +HETATM 2186 H1 HOH A 729 3.954 12.907 46.061 1.00 0.00 H +HETATM 2187 H2 HOH A 729 4.522 12.279 47.316 1.00 0.00 H +HETATM 2188 O HOH A 730 32.061 36.172 9.879 1.00 0.00 O +HETATM 2189 H1 HOH A 730 32.704 36.761 9.484 1.00 0.00 H +HETATM 2190 H2 HOH A 730 32.309 35.302 9.573 1.00 0.00 H +HETATM 2191 O HOH A 731 38.527 36.455 13.944 1.00 0.00 O +HETATM 2192 H1 HOH A 731 39.473 36.477 13.804 1.00 0.00 H +HETATM 2193 H2 HOH A 731 38.190 37.190 13.435 1.00 0.00 H +HETATM 2194 O HOH A 732 30.308 31.432 37.421 1.00 0.00 O +HETATM 2195 H1 HOH A 732 30.323 32.287 37.853 1.00 0.00 H +HETATM 2196 H2 HOH A 732 29.439 31.083 37.605 1.00 0.00 H +HETATM 2197 O HOH A 733 41.130 31.712 35.138 1.00 0.00 O +HETATM 2198 H1 HOH A 733 41.730 31.286 35.751 1.00 0.00 H +HETATM 2199 H2 HOH A 733 41.697 32.083 34.465 1.00 0.00 H +HETATM 2200 O HOH A 734 40.599 42.231 15.884 1.00 0.00 O +HETATM 2201 H1 HOH A 734 40.236 41.346 15.839 1.00 0.00 H +HETATM 2202 H2 HOH A 734 41.218 42.202 16.611 1.00 0.00 H +HETATM 2203 O HOH A 735 41.181 9.986 34.642 1.00 0.00 O +HETATM 2204 H1 HOH A 735 41.053 9.250 35.240 1.00 0.00 H +HETATM 2205 H2 HOH A 735 42.033 10.346 34.881 1.00 0.00 H +HETATM 2206 O HOH A 736 19.262 10.420 15.110 1.00 0.00 O +HETATM 2207 H1 HOH A 736 18.321 10.593 15.072 1.00 0.00 H +HETATM 2208 H2 HOH A 736 19.634 10.953 14.410 1.00 0.00 H +HETATM 2209 O HOH A 737 3.639 7.841 49.619 1.00 0.00 O +HETATM 2210 H1 HOH A 737 3.107 8.542 49.242 1.00 0.00 H +HETATM 2211 H2 HOH A 737 3.061 7.081 49.635 1.00 0.00 H +HETATM 2212 O HOH A 738 40.257 22.642 27.615 1.00 0.00 O +HETATM 2213 H1 HOH A 738 39.933 22.054 28.298 1.00 0.00 H +HETATM 2214 H2 HOH A 738 39.878 23.492 27.828 1.00 0.00 H +HETATM 2215 O HOH A 739 44.675 40.151 31.329 1.00 0.00 O +HETATM 2216 H1 HOH A 739 44.528 40.877 30.723 1.00 0.00 H +HETATM 2217 H2 HOH A 739 45.341 39.613 30.906 1.00 0.00 H +HETATM 2218 O HOH A 740 1.095 5.808 29.999 1.00 0.00 O +HETATM 2219 H1 HOH A 740 1.880 6.300 30.244 1.00 0.00 H +HETATM 2220 H2 HOH A 740 0.367 6.359 30.281 1.00 0.00 H +HETATM 2221 O HOH A 741 25.737 11.787 32.253 1.00 0.00 O +HETATM 2222 H1 HOH A 741 25.360 12.083 31.424 1.00 0.00 H +HETATM 2223 H2 HOH A 741 26.678 11.920 32.152 1.00 0.00 H +HETATM 2224 O HOH A 742 22.313 7.993 30.512 1.00 0.00 O +HETATM 2225 H1 HOH A 742 23.077 7.447 30.701 1.00 0.00 H +HETATM 2226 H2 HOH A 742 22.155 8.475 31.322 1.00 0.00 H +HETATM 2227 O HOH A 743 37.368 27.126 40.997 1.00 0.00 O +HETATM 2228 H1 HOH A 743 37.213 27.505 40.131 1.00 0.00 H +HETATM 2229 H2 HOH A 743 36.683 27.498 41.549 1.00 0.00 H +HETATM 2230 O HOH A 744 6.312 35.029 13.696 1.00 0.00 O +HETATM 2231 H1 HOH A 744 5.676 34.390 13.372 1.00 0.00 H +HETATM 2232 H2 HOH A 744 6.191 35.031 14.643 1.00 0.00 H +HETATM 2233 O HOH A 745 8.069 11.443 24.316 1.00 0.00 O +HETATM 2234 H1 HOH A 745 7.546 10.730 24.685 1.00 0.00 H +HETATM 2235 H2 HOH A 745 8.904 11.038 24.090 1.00 0.00 H +HETATM 2236 O HOH A 746 43.433 22.032 37.973 1.00 0.00 O +HETATM 2237 H1 HOH A 746 42.798 21.337 38.146 1.00 0.00 H +HETATM 2238 H2 HOH A 746 42.929 22.717 37.537 1.00 0.00 H +HETATM 2239 O HOH A 747 8.734 8.072 34.721 1.00 0.00 O +HETATM 2240 H1 HOH A 747 8.860 8.782 34.090 1.00 0.00 H +HETATM 2241 H2 HOH A 747 9.428 7.447 34.522 1.00 0.00 H +HETATM 2242 O HOH A 748 3.587 44.151 47.569 1.00 0.00 O +HETATM 2243 H1 HOH A 748 3.093 44.805 47.074 1.00 0.00 H +HETATM 2244 H2 HOH A 748 2.920 43.620 48.000 1.00 0.00 H +HETATM 2245 O HOH A 749 42.549 24.984 22.501 1.00 0.00 O +HETATM 2246 H1 HOH A 749 41.697 24.837 22.913 1.00 0.00 H +HETATM 2247 H2 HOH A 749 43.116 24.310 22.871 1.00 0.00 H +HETATM 2248 O HOH A 750 3.746 7.573 41.349 1.00 0.00 O +HETATM 2249 H1 HOH A 750 2.799 7.703 41.306 1.00 0.00 H +HETATM 2250 H2 HOH A 750 3.863 6.851 41.964 1.00 0.00 H +HETATM 2251 O HOH A 751 42.713 33.122 46.818 1.00 0.00 O +HETATM 2252 H1 HOH A 751 43.509 33.150 47.349 1.00 0.00 H +HETATM 2253 H2 HOH A 751 42.569 34.028 46.551 1.00 0.00 H +HETATM 2254 O HOH A 752 44.296 19.826 5.417 1.00 0.00 O +HETATM 2255 H1 HOH A 752 43.853 20.639 5.660 1.00 0.00 H +HETATM 2256 H2 HOH A 752 43.624 19.306 4.979 1.00 0.00 H +HETATM 2257 O HOH A 753 39.198 1.703 4.425 1.00 0.00 O +HETATM 2258 H1 HOH A 753 39.720 1.728 5.228 1.00 0.00 H +HETATM 2259 H2 HOH A 753 38.579 2.424 4.518 1.00 0.00 H +HETATM 2260 O HOH A 754 37.647 19.930 28.224 1.00 0.00 O +HETATM 2261 H1 HOH A 754 38.250 19.374 27.731 1.00 0.00 H +HETATM 2262 H2 HOH A 754 37.103 20.347 27.558 1.00 0.00 H +HETATM 2263 O HOH A 755 24.846 6.093 15.324 1.00 0.00 O +HETATM 2264 H1 HOH A 755 24.338 5.350 15.650 1.00 0.00 H +HETATM 2265 H2 HOH A 755 25.688 6.024 15.769 1.00 0.00 H +HETATM 2266 O HOH A 756 21.785 9.006 39.563 1.00 0.00 O +HETATM 2267 H1 HOH A 756 22.397 8.626 38.932 1.00 0.00 H +HETATM 2268 H2 HOH A 756 20.920 8.769 39.233 1.00 0.00 H +HETATM 2269 O HOH A 757 3.785 34.422 16.587 1.00 0.00 O +HETATM 2270 H1 HOH A 757 3.163 34.072 15.948 1.00 0.00 H +HETATM 2271 H2 HOH A 757 4.618 34.011 16.362 1.00 0.00 H +HETATM 2272 O HOH A 758 23.242 28.769 43.391 1.00 0.00 O +HETATM 2273 H1 HOH A 758 22.861 28.756 44.269 1.00 0.00 H +HETATM 2274 H2 HOH A 758 23.233 29.690 43.137 1.00 0.00 H +HETATM 2275 O HOH A 759 14.099 15.526 6.194 1.00 0.00 O +HETATM 2276 H1 HOH A 759 15.000 15.457 6.512 1.00 0.00 H +HETATM 2277 H2 HOH A 759 13.854 14.632 5.966 1.00 0.00 H +HETATM 2278 O HOH A 760 7.070 26.881 10.724 1.00 0.00 O +HETATM 2279 H1 HOH A 760 7.067 27.126 9.798 1.00 0.00 H +HETATM 2280 H2 HOH A 760 7.882 26.392 10.842 1.00 0.00 H +HETATM 2281 O HOH A 761 29.994 22.484 46.453 1.00 0.00 O +HETATM 2282 H1 HOH A 761 30.185 23.377 46.741 1.00 0.00 H +HETATM 2283 H2 HOH A 761 30.068 21.954 47.245 1.00 0.00 H +HETATM 2284 O HOH A 762 14.774 11.032 0.627 1.00 0.00 O +HETATM 2285 H1 HOH A 762 15.688 11.271 0.475 1.00 0.00 H +HETATM 2286 H2 HOH A 762 14.647 10.230 0.124 1.00 0.00 H +HETATM 2287 O HOH A 763 22.597 6.120 34.268 1.00 0.00 O +HETATM 2288 H1 HOH A 763 21.990 5.936 34.986 1.00 0.00 H +HETATM 2289 H2 HOH A 763 23.464 6.059 34.664 1.00 0.00 H +HETATM 2290 O HOH A 764 39.941 28.839 40.629 1.00 0.00 O +HETATM 2291 H1 HOH A 764 39.999 28.743 41.579 1.00 0.00 H +HETATM 2292 H2 HOH A 764 39.624 29.729 40.494 1.00 0.00 H +HETATM 2293 O HOH A 765 35.552 39.265 46.701 1.00 0.00 O +HETATM 2294 H1 HOH A 765 34.769 39.454 47.218 1.00 0.00 H +HETATM 2295 H2 HOH A 765 35.984 38.554 47.169 1.00 0.00 H +HETATM 2296 O HOH A 766 20.728 39.373 31.026 1.00 0.00 O +HETATM 2297 H1 HOH A 766 20.048 39.977 30.727 1.00 0.00 H +HETATM 2298 H2 HOH A 766 21.489 39.581 30.487 1.00 0.00 H +HETATM 2299 O HOH A 767 6.891 2.215 36.256 1.00 0.00 O +HETATM 2300 H1 HOH A 767 6.018 1.873 36.451 1.00 0.00 H +HETATM 2301 H2 HOH A 767 6.926 3.057 36.704 1.00 0.00 H +HETATM 2302 O HOH A 768 38.639 18.167 31.458 1.00 0.00 O +HETATM 2303 H1 HOH A 768 38.651 17.546 32.187 1.00 0.00 H +HETATM 2304 H2 HOH A 768 39.290 17.830 30.844 1.00 0.00 H +HETATM 2305 O HOH A 769 20.167 23.398 32.250 1.00 0.00 O +HETATM 2306 H1 HOH A 769 20.022 22.914 33.064 1.00 0.00 H +HETATM 2307 H2 HOH A 769 20.654 22.793 31.693 1.00 0.00 H +HETATM 2308 O HOH A 770 31.153 16.124 22.638 1.00 0.00 O +HETATM 2309 H1 HOH A 770 32.050 16.180 22.309 1.00 0.00 H +HETATM 2310 H2 HOH A 770 31.104 16.791 23.320 1.00 0.00 H +HETATM 2311 O HOH A 771 28.195 19.364 10.687 1.00 0.00 O +HETATM 2312 H1 HOH A 771 27.311 19.002 10.624 1.00 0.00 H +HETATM 2313 H2 HOH A 771 28.772 18.621 10.524 1.00 0.00 H +HETATM 2314 O HOH A 772 31.712 40.095 40.571 1.00 0.00 O +HETATM 2315 H1 HOH A 772 32.197 40.167 41.393 1.00 0.00 H +HETATM 2316 H2 HOH A 772 31.290 39.239 40.613 1.00 0.00 H +HETATM 2317 O HOH A 773 24.176 4.257 39.791 1.00 0.00 O +HETATM 2318 H1 HOH A 773 24.589 3.707 40.457 1.00 0.00 H +HETATM 2319 H2 HOH A 773 23.507 4.749 40.264 1.00 0.00 H +HETATM 2320 O HOH A 774 49.291 37.439 18.696 1.00 0.00 O +HETATM 2321 H1 HOH A 774 48.578 37.843 19.190 1.00 0.00 H +HETATM 2322 H2 HOH A 774 49.080 36.507 18.686 1.00 0.00 H +HETATM 2323 O HOH A 775 25.648 7.985 2.159 1.00 0.00 O +HETATM 2324 H1 HOH A 775 25.148 7.251 1.799 1.00 0.00 H +HETATM 2325 H2 HOH A 775 25.651 8.639 1.463 1.00 0.00 H +HETATM 2326 O HOH A 776 48.633 47.040 49.497 1.00 0.00 O +HETATM 2327 H1 HOH A 776 48.026 47.462 48.888 1.00 0.00 H +HETATM 2328 H2 HOH A 776 48.692 46.137 49.192 1.00 0.00 H +HETATM 2329 O HOH A 777 10.287 26.298 44.804 1.00 0.00 O +HETATM 2330 H1 HOH A 777 11.053 26.864 44.708 1.00 0.00 H +HETATM 2331 H2 HOH A 777 9.563 26.808 44.444 1.00 0.00 H +HETATM 2332 O HOH A 778 24.342 7.056 27.777 1.00 0.00 O +HETATM 2333 H1 HOH A 778 24.951 6.702 27.128 1.00 0.00 H +HETATM 2334 H2 HOH A 778 23.511 6.623 27.590 1.00 0.00 H +HETATM 2335 O HOH A 779 38.086 25.075 46.092 1.00 0.00 O +HETATM 2336 H1 HOH A 779 37.895 25.681 46.809 1.00 0.00 H +HETATM 2337 H2 HOH A 779 37.689 25.478 45.322 1.00 0.00 H +HETATM 2338 O HOH A 780 14.670 25.725 18.637 1.00 0.00 O +HETATM 2339 H1 HOH A 780 14.660 26.394 17.952 1.00 0.00 H +HETATM 2340 H2 HOH A 780 15.403 25.157 18.409 1.00 0.00 H +HETATM 2341 O HOH A 781 7.746 36.226 42.015 1.00 0.00 O +HETATM 2342 H1 HOH A 781 8.013 36.177 41.097 1.00 0.00 H +HETATM 2343 H2 HOH A 781 7.696 37.162 42.202 1.00 0.00 H +HETATM 2344 O HOH A 782 30.020 36.058 20.388 1.00 0.00 O +HETATM 2345 H1 HOH A 782 30.303 36.787 19.836 1.00 0.00 H +HETATM 2346 H2 HOH A 782 30.812 35.775 20.841 1.00 0.00 H +HETATM 2347 O HOH A 783 49.482 35.565 14.362 1.00 0.00 O +HETATM 2348 H1 HOH A 783 48.666 35.545 14.861 1.00 0.00 H +HETATM 2349 H2 HOH A 783 50.000 34.844 14.717 1.00 0.00 H +HETATM 2350 O HOH A 784 24.885 30.962 25.217 1.00 0.00 O +HETATM 2351 H1 HOH A 784 24.459 31.227 26.032 1.00 0.00 H +HETATM 2352 H2 HOH A 784 25.488 30.268 25.474 1.00 0.00 H +HETATM 2353 O HOH A 785 44.056 19.123 20.445 1.00 0.00 O +HETATM 2354 H1 HOH A 785 44.269 19.965 20.041 1.00 0.00 H +HETATM 2355 H2 HOH A 785 44.162 19.272 21.383 1.00 0.00 H +HETATM 2356 O HOH A 786 3.635 19.810 30.958 1.00 0.00 O +HETATM 2357 H1 HOH A 786 4.078 19.157 31.500 1.00 0.00 H +HETATM 2358 H2 HOH A 786 2.825 19.385 30.682 1.00 0.00 H +HETATM 2359 O HOH A 787 42.030 49.021 9.716 1.00 0.00 O +HETATM 2360 H1 HOH A 787 41.244 49.512 9.477 1.00 0.00 H +HETATM 2361 H2 HOH A 787 42.755 49.600 9.488 1.00 0.00 H +HETATM 2362 O HOH A 788 42.792 20.505 25.915 1.00 0.00 O +HETATM 2363 H1 HOH A 788 41.954 20.135 25.636 1.00 0.00 H +HETATM 2364 H2 HOH A 788 42.673 21.451 25.847 1.00 0.00 H +HETATM 2365 O HOH A 789 1.698 37.965 18.026 1.00 0.00 O +HETATM 2366 H1 HOH A 789 1.125 37.627 17.338 1.00 0.00 H +HETATM 2367 H2 HOH A 789 1.959 38.831 17.719 1.00 0.00 H +HETATM 2368 O HOH A 790 19.801 45.575 5.682 1.00 0.00 O +HETATM 2369 H1 HOH A 790 19.263 46.315 5.964 1.00 0.00 H +HETATM 2370 H2 HOH A 790 19.443 44.823 6.151 1.00 0.00 H +HETATM 2371 O HOH A 791 10.954 13.451 12.536 1.00 0.00 O +HETATM 2372 H1 HOH A 791 10.414 14.132 12.938 1.00 0.00 H +HETATM 2373 H2 HOH A 791 10.379 12.691 12.473 1.00 0.00 H +HETATM 2374 O HOH A 792 32.430 17.781 44.103 1.00 0.00 O +HETATM 2375 H1 HOH A 792 31.671 17.325 44.467 1.00 0.00 H +HETATM 2376 H2 HOH A 792 32.060 18.515 43.615 1.00 0.00 H +HETATM 2377 O HOH A 793 19.077 37.941 11.675 1.00 0.00 O +HETATM 2378 H1 HOH A 793 20.016 38.106 11.588 1.00 0.00 H +HETATM 2379 H2 HOH A 793 18.746 38.685 12.173 1.00 0.00 H +HETATM 2380 O HOH A 794 6.145 9.037 43.707 1.00 0.00 O +HETATM 2381 H1 HOH A 794 6.933 9.384 44.126 1.00 0.00 H +HETATM 2382 H2 HOH A 794 6.106 8.124 43.985 1.00 0.00 H +HETATM 2383 O HOH A 795 7.862 46.917 3.159 1.00 0.00 O +HETATM 2384 H1 HOH A 795 7.584 47.651 3.708 1.00 0.00 H +HETATM 2385 H2 HOH A 795 7.047 46.511 2.870 1.00 0.00 H +HETATM 2386 O HOH A 796 25.993 3.899 17.079 1.00 0.00 O +HETATM 2387 H1 HOH A 796 25.214 3.508 17.475 1.00 0.00 H +HETATM 2388 H2 HOH A 796 26.565 4.101 17.818 1.00 0.00 H +HETATM 2389 O HOH A 797 21.937 17.340 31.384 1.00 0.00 O +HETATM 2390 H1 HOH A 797 22.461 17.643 32.126 1.00 0.00 H +HETATM 2391 H2 HOH A 797 21.046 17.617 31.588 1.00 0.00 H +HETATM 2392 O HOH A 798 34.981 35.106 3.891 1.00 0.00 O +HETATM 2393 H1 HOH A 798 34.783 34.312 3.396 1.00 0.00 H +HETATM 2394 H2 HOH A 798 34.724 35.822 3.313 1.00 0.00 H +HETATM 2395 O HOH A 799 46.967 32.764 42.668 1.00 0.00 O +HETATM 2396 H1 HOH A 799 46.752 32.303 41.857 1.00 0.00 H +HETATM 2397 H2 HOH A 799 46.270 33.409 42.771 1.00 0.00 H +HETATM 2398 O HOH A 800 39.012 13.461 7.096 1.00 0.00 O +HETATM 2399 H1 HOH A 800 38.509 12.686 6.844 1.00 0.00 H +HETATM 2400 H2 HOH A 800 39.810 13.411 6.573 1.00 0.00 H +HETATM 2401 O HOH A 801 8.203 30.704 20.373 1.00 0.00 O +HETATM 2402 H1 HOH A 801 7.859 30.020 20.948 1.00 0.00 H +HETATM 2403 H2 HOH A 801 7.495 31.342 20.305 1.00 0.00 H +HETATM 2404 O HOH A 802 46.303 38.507 8.775 1.00 0.00 O +HETATM 2405 H1 HOH A 802 46.516 39.370 9.131 1.00 0.00 H +HETATM 2406 H2 HOH A 802 45.685 38.684 8.068 1.00 0.00 H +HETATM 2407 O HOH A 803 36.402 30.233 19.257 1.00 0.00 O +HETATM 2408 H1 HOH A 803 35.497 29.956 19.402 1.00 0.00 H +HETATM 2409 H2 HOH A 803 36.929 29.603 19.744 1.00 0.00 H +HETATM 2410 O HOH A 804 12.414 43.206 3.052 1.00 0.00 O +HETATM 2411 H1 HOH A 804 13.127 42.588 3.217 1.00 0.00 H +HETATM 2412 H2 HOH A 804 12.525 43.464 2.139 1.00 0.00 H +HETATM 2413 O HOH A 805 40.054 39.016 43.847 1.00 0.00 O +HETATM 2414 H1 HOH A 805 40.785 39.138 44.454 1.00 0.00 H +HETATM 2415 H2 HOH A 805 39.513 39.795 43.962 1.00 0.00 H +HETATM 2416 O HOH A 806 39.828 43.519 28.902 1.00 0.00 O +HETATM 2417 H1 HOH A 806 40.180 44.405 28.985 1.00 0.00 H +HETATM 2418 H2 HOH A 806 38.894 43.643 28.743 1.00 0.00 H +HETATM 2419 O HOH A 807 27.807 1.027 3.088 1.00 0.00 O +HETATM 2420 H1 HOH A 807 27.855 0.170 3.513 1.00 0.00 H +HETATM 2421 H2 HOH A 807 28.665 1.144 2.684 1.00 0.00 H +HETATM 2422 O HOH A 808 20.718 27.039 26.802 1.00 0.00 O +HETATM 2423 H1 HOH A 808 21.266 27.701 26.379 1.00 0.00 H +HETATM 2424 H2 HOH A 808 21.024 26.208 26.444 1.00 0.00 H +HETATM 2425 O HOH A 809 15.864 3.982 44.207 1.00 0.00 O +HETATM 2426 H1 HOH A 809 16.666 4.250 44.656 1.00 0.00 H +HETATM 2427 H2 HOH A 809 15.227 3.855 44.907 1.00 0.00 H +HETATM 2428 O HOH A 810 7.489 26.389 48.726 1.00 0.00 O +HETATM 2429 H1 HOH A 810 7.305 26.814 49.564 1.00 0.00 H +HETATM 2430 H2 HOH A 810 7.331 25.461 48.885 1.00 0.00 H +HETATM 2431 O HOH A 811 38.241 14.369 23.454 1.00 0.00 O +HETATM 2432 H1 HOH A 811 38.852 13.886 22.898 1.00 0.00 H +HETATM 2433 H2 HOH A 811 38.199 15.241 23.065 1.00 0.00 H +HETATM 2434 O HOH A 812 28.542 38.933 21.683 1.00 0.00 O +HETATM 2435 H1 HOH A 812 28.048 39.060 22.493 1.00 0.00 H +HETATM 2436 H2 HOH A 812 29.316 39.485 21.782 1.00 0.00 H +HETATM 2437 O HOH A 813 44.943 18.926 0.212 1.00 0.00 O +HETATM 2438 H1 HOH A 813 44.739 19.857 0.297 1.00 0.00 H +HETATM 2439 H2 HOH A 813 45.644 18.773 0.843 1.00 0.00 H +HETATM 2440 O HOH A 814 11.270 40.986 6.911 1.00 0.00 O +HETATM 2441 H1 HOH A 814 11.969 40.990 7.565 1.00 0.00 H +HETATM 2442 H2 HOH A 814 10.624 41.605 7.244 1.00 0.00 H +HETATM 2443 O HOH A 815 0.590 15.218 25.155 1.00 0.00 O +HETATM 2444 H1 HOH A 815 0.586 14.633 24.397 1.00 0.00 H +HETATM 2445 H2 HOH A 815 1.053 15.998 24.856 1.00 0.00 H +HETATM 2446 O HOH A 816 44.299 5.399 25.542 1.00 0.00 O +HETATM 2447 H1 HOH A 816 45.187 5.244 25.219 1.00 0.00 H +HETATM 2448 H2 HOH A 816 43.764 4.738 25.105 1.00 0.00 H +HETATM 2449 O HOH A 817 46.748 11.887 23.908 1.00 0.00 O +HETATM 2450 H1 HOH A 817 46.952 12.381 23.113 1.00 0.00 H +HETATM 2451 H2 HOH A 817 46.835 10.971 23.652 1.00 0.00 H +HETATM 2452 O HOH A 818 20.090 11.905 39.445 1.00 0.00 O +HETATM 2453 H1 HOH A 818 19.747 12.290 40.252 1.00 0.00 H +HETATM 2454 H2 HOH A 818 20.958 12.292 39.343 1.00 0.00 H +HETATM 2455 O HOH A 819 9.652 29.609 18.326 1.00 0.00 O +HETATM 2456 H1 HOH A 819 10.596 29.760 18.373 1.00 0.00 H +HETATM 2457 H2 HOH A 819 9.458 29.055 19.081 1.00 0.00 H +HETATM 2458 O HOH A 820 26.957 23.795 6.142 1.00 0.00 O +HETATM 2459 H1 HOH A 820 27.462 24.608 6.167 1.00 0.00 H +HETATM 2460 H2 HOH A 820 27.249 23.355 5.346 1.00 0.00 H +HETATM 2461 O HOH A 821 40.657 16.881 14.991 1.00 0.00 O +HETATM 2462 H1 HOH A 821 40.884 16.940 15.919 1.00 0.00 H +HETATM 2463 H2 HOH A 821 41.480 16.665 14.555 1.00 0.00 H +HETATM 2464 O HOH A 822 8.205 35.544 16.937 1.00 0.00 O +HETATM 2465 H1 HOH A 822 7.375 35.973 17.143 1.00 0.00 H +HETATM 2466 H2 HOH A 822 7.974 34.630 16.783 1.00 0.00 H +HETATM 2467 O HOH A 823 0.806 11.329 33.314 1.00 0.00 O +HETATM 2468 H1 HOH A 823 1.436 10.730 32.912 1.00 0.00 H +HETATM 2469 H2 HOH A 823 0.062 11.334 32.715 1.00 0.00 H +HETATM 2470 O HOH A 824 36.996 23.151 43.647 1.00 0.00 O +HETATM 2471 H1 HOH A 824 37.465 22.405 43.271 1.00 0.00 H +HETATM 2472 H2 HOH A 824 37.549 23.906 43.454 1.00 0.00 H +HETATM 2473 O HOH A 825 23.110 26.786 39.841 1.00 0.00 O +HETATM 2474 H1 HOH A 825 23.664 26.859 39.064 1.00 0.00 H +HETATM 2475 H2 HOH A 825 23.100 27.666 40.214 1.00 0.00 H +HETATM 2476 O HOH A 826 33.749 42.420 36.860 1.00 0.00 O +HETATM 2477 H1 HOH A 826 34.705 42.383 36.867 1.00 0.00 H +HETATM 2478 H2 HOH A 826 33.491 41.865 36.126 1.00 0.00 H +HETATM 2479 O HOH A 827 19.538 22.125 40.252 1.00 0.00 O +HETATM 2480 H1 HOH A 827 19.338 22.280 41.176 1.00 0.00 H +HETATM 2481 H2 HOH A 827 20.470 22.316 40.171 1.00 0.00 H +HETATM 2482 O HOH A 828 31.324 46.078 14.973 1.00 0.00 O +HETATM 2483 H1 HOH A 828 31.362 46.846 15.542 1.00 0.00 H +HETATM 2484 H2 HOH A 828 31.824 46.327 14.198 1.00 0.00 H +HETATM 2485 O HOH A 829 47.618 15.425 11.801 1.00 0.00 O +HETATM 2486 H1 HOH A 829 48.503 15.075 11.902 1.00 0.00 H +HETATM 2487 H2 HOH A 829 47.402 15.789 12.657 1.00 0.00 H +HETATM 2488 O HOH A 830 1.306 42.810 28.641 1.00 0.00 O +HETATM 2489 H1 HOH A 830 1.841 43.602 28.593 1.00 0.00 H +HETATM 2490 H2 HOH A 830 1.842 42.186 29.127 1.00 0.00 H +HETATM 2491 O HOH A 831 44.504 14.528 23.989 1.00 0.00 O +HETATM 2492 H1 HOH A 831 45.354 14.629 24.418 1.00 0.00 H +HETATM 2493 H2 HOH A 831 43.946 15.183 24.404 1.00 0.00 H +HETATM 2494 O HOH A 832 22.472 6.670 24.711 1.00 0.00 O +HETATM 2495 H1 HOH A 832 22.831 7.212 25.414 1.00 0.00 H +HETATM 2496 H2 HOH A 832 21.548 6.569 24.932 1.00 0.00 H +HETATM 2497 O HOH A 833 48.312 18.493 36.456 1.00 0.00 O +HETATM 2498 H1 HOH A 833 49.254 18.467 36.624 1.00 0.00 H +HETATM 2499 H2 HOH A 833 48.225 18.987 35.643 1.00 0.00 H +HETATM 2500 O HOH A 834 45.938 28.285 16.488 1.00 0.00 O +HETATM 2501 H1 HOH A 834 46.051 27.464 16.008 1.00 0.00 H +HETATM 2502 H2 HOH A 834 46.624 28.272 17.154 1.00 0.00 H +HETATM 2503 O HOH A 835 6.217 44.948 30.390 1.00 0.00 O +HETATM 2504 H1 HOH A 835 5.411 44.499 30.135 1.00 0.00 H +HETATM 2505 H2 HOH A 835 6.210 44.934 31.345 1.00 0.00 H +HETATM 2506 O HOH A 836 17.963 22.725 3.997 1.00 0.00 O +HETATM 2507 H1 HOH A 836 17.237 22.161 3.727 1.00 0.00 H +HETATM 2508 H2 HOH A 836 18.679 22.495 3.408 1.00 0.00 H +HETATM 2509 O HOH A 837 45.158 18.668 34.494 1.00 0.00 O +HETATM 2510 H1 HOH A 837 45.902 18.692 33.891 1.00 0.00 H +HETATM 2511 H2 HOH A 837 44.587 17.986 34.146 1.00 0.00 H +HETATM 2512 O HOH A 838 10.259 1.629 29.640 1.00 0.00 O +HETATM 2513 H1 HOH A 838 9.585 1.711 28.965 1.00 0.00 H +HETATM 2514 H2 HOH A 838 10.977 1.169 29.210 1.00 0.00 H +HETATM 2515 O HOH A 839 36.427 21.697 34.495 1.00 0.00 O +HETATM 2516 H1 HOH A 839 36.153 21.019 33.877 1.00 0.00 H +HETATM 2517 H2 HOH A 839 36.079 22.510 34.131 1.00 0.00 H +HETATM 2518 O HOH A 840 43.233 4.973 42.939 1.00 0.00 O +HETATM 2519 H1 HOH A 840 43.845 4.307 43.252 1.00 0.00 H +HETATM 2520 H2 HOH A 840 43.502 5.775 43.383 1.00 0.00 H +HETATM 2521 O HOH A 841 46.747 9.137 14.735 1.00 0.00 O +HETATM 2522 H1 HOH A 841 45.926 9.534 14.444 1.00 0.00 H +HETATM 2523 H2 HOH A 841 46.493 8.543 15.439 1.00 0.00 H +HETATM 2524 O HOH A 842 46.824 12.292 44.166 1.00 0.00 O +HETATM 2525 H1 HOH A 842 47.407 12.219 44.922 1.00 0.00 H +HETATM 2526 H2 HOH A 842 45.987 12.572 44.532 1.00 0.00 H +HETATM 2527 O HOH A 843 9.749 22.599 6.860 1.00 0.00 O +HETATM 2528 H1 HOH A 843 9.924 23.407 7.343 1.00 0.00 H +HETATM 2529 H2 HOH A 843 9.844 22.842 5.941 1.00 0.00 H +HETATM 2530 O HOH A 844 48.084 2.213 20.654 1.00 0.00 O +HETATM 2531 H1 HOH A 844 47.839 3.138 20.634 1.00 0.00 H +HETATM 2532 H2 HOH A 844 48.718 2.115 19.946 1.00 0.00 H +HETATM 2533 O HOH A 845 20.685 11.197 34.541 1.00 0.00 O +HETATM 2534 H1 HOH A 845 21.317 10.930 35.210 1.00 0.00 H +HETATM 2535 H2 HOH A 845 21.205 11.668 33.893 1.00 0.00 H +HETATM 2536 O HOH A 846 9.962 1.878 37.010 1.00 0.00 O +HETATM 2537 H1 HOH A 846 9.618 2.611 36.500 1.00 0.00 H +HETATM 2538 H2 HOH A 846 10.739 1.594 36.532 1.00 0.00 H +HETATM 2539 O HOH A 847 2.578 26.921 46.341 1.00 0.00 O +HETATM 2540 H1 HOH A 847 2.394 26.243 46.992 1.00 0.00 H +HETATM 2541 H2 HOH A 847 2.587 27.737 46.838 1.00 0.00 H +HETATM 2542 O HOH A 848 20.485 24.161 12.334 1.00 0.00 O +HETATM 2543 H1 HOH A 848 21.328 24.566 12.129 1.00 0.00 H +HETATM 2544 H2 HOH A 848 19.863 24.586 11.746 1.00 0.00 H +HETATM 2545 O HOH A 849 17.745 8.515 24.574 1.00 0.00 O +HETATM 2546 H1 HOH A 849 16.972 8.889 24.999 1.00 0.00 H +HETATM 2547 H2 HOH A 849 17.918 7.708 25.054 1.00 0.00 H +HETATM 2548 O HOH A 850 33.574 19.614 44.778 1.00 0.00 O +HETATM 2549 H1 HOH A 850 33.934 19.653 43.892 1.00 0.00 H +HETATM 2550 H2 HOH A 850 33.622 20.514 45.098 1.00 0.00 H +HETATM 2551 O HOH A 851 40.312 33.176 40.716 1.00 0.00 O +HETATM 2552 H1 HOH A 851 40.052 32.535 41.378 1.00 0.00 H +HETATM 2553 H2 HOH A 851 41.263 33.099 40.665 1.00 0.00 H +HETATM 2554 O HOH A 852 48.923 47.609 27.240 1.00 0.00 O +HETATM 2555 H1 HOH A 852 48.792 46.826 26.704 1.00 0.00 H +HETATM 2556 H2 HOH A 852 48.130 48.126 27.109 1.00 0.00 H +HETATM 2557 O HOH A 853 24.652 16.899 20.132 1.00 0.00 O +HETATM 2558 H1 HOH A 853 25.200 16.223 19.734 1.00 0.00 H +HETATM 2559 H2 HOH A 853 24.096 17.210 19.419 1.00 0.00 H +HETATM 2560 O HOH A 854 2.622 46.693 40.304 1.00 0.00 O +HETATM 2561 H1 HOH A 854 2.908 47.371 40.916 1.00 0.00 H +HETATM 2562 H2 HOH A 854 1.749 46.448 40.605 1.00 0.00 H +HETATM 2563 O HOH A 855 48.770 19.048 26.592 1.00 0.00 O +HETATM 2564 H1 HOH A 855 49.503 18.984 25.979 1.00 0.00 H +HETATM 2565 H2 HOH A 855 48.543 18.141 26.792 1.00 0.00 H +HETATM 2566 O HOH A 856 7.424 21.267 4.658 1.00 0.00 O +HETATM 2567 H1 HOH A 856 8.087 21.862 5.009 1.00 0.00 H +HETATM 2568 H2 HOH A 856 7.910 20.481 4.415 1.00 0.00 H +HETATM 2569 O HOH A 857 47.461 45.600 15.359 1.00 0.00 O +HETATM 2570 H1 HOH A 857 46.997 46.435 15.427 1.00 0.00 H +HETATM 2571 H2 HOH A 857 48.177 45.669 15.987 1.00 0.00 H +HETATM 2572 O HOH A 858 8.743 24.275 46.904 1.00 0.00 O +HETATM 2573 H1 HOH A 858 8.371 25.129 46.683 1.00 0.00 H +HETATM 2574 H2 HOH A 858 8.212 23.647 46.418 1.00 0.00 H +HETATM 2575 O HOH A 859 48.187 0.438 12.227 1.00 0.00 O +HETATM 2576 H1 HOH A 859 47.550 1.139 12.369 1.00 0.00 H +HETATM 2577 H2 HOH A 859 48.262 0.005 13.075 1.00 0.00 H +HETATM 2578 O HOH A 860 43.778 8.042 1.615 1.00 0.00 O +HETATM 2579 H1 HOH A 860 44.410 7.608 2.188 1.00 0.00 H +HETATM 2580 H2 HOH A 860 44.080 7.847 0.730 1.00 0.00 H +HETATM 2581 O HOH A 861 18.183 17.728 28.677 1.00 0.00 O +HETATM 2582 H1 HOH A 861 18.696 16.986 28.356 1.00 0.00 H +HETATM 2583 H2 HOH A 861 18.721 18.494 28.486 1.00 0.00 H +HETATM 2584 O HOH A 862 4.658 13.353 1.444 1.00 0.00 O +HETATM 2585 H1 HOH A 862 4.265 14.201 1.653 1.00 0.00 H +HETATM 2586 H2 HOH A 862 3.944 12.842 1.068 1.00 0.00 H +HETATM 2587 O HOH A 863 3.536 4.661 49.176 1.00 0.00 O +HETATM 2588 H1 HOH A 863 3.483 3.989 48.496 1.00 0.00 H +HETATM 2589 H2 HOH A 863 3.063 4.291 49.919 1.00 0.00 H +HETATM 2590 O HOH A 864 25.686 34.602 15.081 1.00 0.00 O +HETATM 2591 H1 HOH A 864 26.511 35.088 15.070 1.00 0.00 H +HETATM 2592 H2 HOH A 864 25.013 35.271 15.188 1.00 0.00 H +HETATM 2593 O HOH A 865 34.401 43.608 27.522 1.00 0.00 O +HETATM 2594 H1 HOH A 865 35.028 43.623 28.246 1.00 0.00 H +HETATM 2595 H2 HOH A 865 33.646 44.096 27.846 1.00 0.00 H +HETATM 2596 O HOH A 866 33.795 35.334 36.106 1.00 0.00 O +HETATM 2597 H1 HOH A 866 34.387 35.456 35.364 1.00 0.00 H +HETATM 2598 H2 HOH A 866 33.717 34.386 36.200 1.00 0.00 H +HETATM 2599 O HOH A 867 48.179 48.434 30.545 1.00 0.00 O +HETATM 2600 H1 HOH A 867 47.666 49.133 30.137 1.00 0.00 H +HETATM 2601 H2 HOH A 867 48.960 48.359 30.000 1.00 0.00 H +HETATM 2602 O HOH A 868 39.733 47.065 13.868 1.00 0.00 O +HETATM 2603 H1 HOH A 868 40.562 46.589 13.812 1.00 0.00 H +HETATM 2604 H2 HOH A 868 39.712 47.409 14.759 1.00 0.00 H +HETATM 2605 O HOH A 869 24.338 8.917 35.485 1.00 0.00 O +HETATM 2606 H1 HOH A 869 25.110 9.096 36.022 1.00 0.00 H +HETATM 2607 H2 HOH A 869 23.618 9.341 35.949 1.00 0.00 H +HETATM 2608 O HOH A 870 47.145 26.330 45.585 1.00 0.00 O +HETATM 2609 H1 HOH A 870 47.061 25.666 46.269 1.00 0.00 H +HETATM 2610 H2 HOH A 870 47.795 26.943 45.922 1.00 0.00 H +HETATM 2611 O HOH A 871 25.489 42.023 25.920 1.00 0.00 O +HETATM 2612 H1 HOH A 871 25.887 41.410 25.302 1.00 0.00 H +HETATM 2613 H2 HOH A 871 25.077 42.687 25.370 1.00 0.00 H +HETATM 2614 O HOH A 872 6.296 14.202 35.748 1.00 0.00 O +HETATM 2615 H1 HOH A 872 5.808 13.579 35.209 1.00 0.00 H +HETATM 2616 H2 HOH A 872 7.060 14.431 35.222 1.00 0.00 H +HETATM 2617 O HOH A 873 21.258 14.752 4.505 1.00 0.00 O +HETATM 2618 H1 HOH A 873 22.202 14.817 4.651 1.00 0.00 H +HETATM 2619 H2 HOH A 873 21.161 14.054 3.860 1.00 0.00 H +HETATM 2620 O HOH A 874 20.905 17.581 14.608 1.00 0.00 O +HETATM 2621 H1 HOH A 874 21.430 18.381 14.560 1.00 0.00 H +HETATM 2622 H2 HOH A 874 21.539 16.886 14.772 1.00 0.00 H +HETATM 2623 O HOH A 875 43.742 2.397 7.378 1.00 0.00 O +HETATM 2624 H1 HOH A 875 43.610 1.550 6.951 1.00 0.00 H +HETATM 2625 H2 HOH A 875 43.106 2.978 6.964 1.00 0.00 H +HETATM 2626 O HOH A 876 34.999 30.040 22.085 1.00 0.00 O +HETATM 2627 H1 HOH A 876 35.539 29.300 22.362 1.00 0.00 H +HETATM 2628 H2 HOH A 876 35.447 30.809 22.433 1.00 0.00 H +HETATM 2629 O HOH A 877 42.421 27.233 44.436 1.00 0.00 O +HETATM 2630 H1 HOH A 877 42.382 27.891 43.741 1.00 0.00 H +HETATM 2631 H2 HOH A 877 42.174 26.415 44.009 1.00 0.00 H +HETATM 2632 O HOH A 878 7.368 6.179 21.370 1.00 0.00 O +HETATM 2633 H1 HOH A 878 7.095 7.089 21.484 1.00 0.00 H +HETATM 2634 H2 HOH A 878 6.552 5.684 21.331 1.00 0.00 H +HETATM 2635 O HOH A 879 49.173 35.358 29.350 1.00 0.00 O +HETATM 2636 H1 HOH A 879 48.804 34.499 29.142 1.00 0.00 H +HETATM 2637 H2 HOH A 879 48.618 35.696 30.050 1.00 0.00 H +HETATM 2638 O HOH A 880 15.959 33.070 27.095 1.00 0.00 O +HETATM 2639 H1 HOH A 880 16.196 32.150 27.212 1.00 0.00 H +HETATM 2640 H2 HOH A 880 15.032 33.112 27.326 1.00 0.00 H +HETATM 2641 O HOH A 881 28.336 45.944 36.290 1.00 0.00 O +HETATM 2642 H1 HOH A 881 27.687 45.485 36.823 1.00 0.00 H +HETATM 2643 H2 HOH A 881 29.140 45.909 36.806 1.00 0.00 H +HETATM 2644 O HOH A 882 45.536 40.543 40.496 1.00 0.00 O +HETATM 2645 H1 HOH A 882 44.763 41.091 40.355 1.00 0.00 H +HETATM 2646 H2 HOH A 882 45.522 39.916 39.775 1.00 0.00 H +HETATM 2647 O HOH A 883 3.623 8.119 37.292 1.00 0.00 O +HETATM 2648 H1 HOH A 883 3.622 7.945 36.350 1.00 0.00 H +HETATM 2649 H2 HOH A 883 3.294 9.012 37.373 1.00 0.00 H +HETATM 2650 O HOH A 884 44.864 33.349 39.300 1.00 0.00 O +HETATM 2651 H1 HOH A 884 45.270 32.727 38.695 1.00 0.00 H +HETATM 2652 H2 HOH A 884 45.336 34.168 39.157 1.00 0.00 H +HETATM 2653 O HOH A 885 42.829 43.341 44.847 1.00 0.00 O +HETATM 2654 H1 HOH A 885 42.959 43.442 45.790 1.00 0.00 H +HETATM 2655 H2 HOH A 885 42.264 42.576 44.761 1.00 0.00 H +HETATM 2656 O HOH A 886 30.521 41.470 18.726 1.00 0.00 O +HETATM 2657 H1 HOH A 886 30.074 40.671 19.006 1.00 0.00 H +HETATM 2658 H2 HOH A 886 30.610 41.989 19.523 1.00 0.00 H +HETATM 2659 O HOH A 887 38.519 16.462 19.905 1.00 0.00 O +HETATM 2660 H1 HOH A 887 39.308 16.241 19.410 1.00 0.00 H +HETATM 2661 H2 HOH A 887 37.800 16.108 19.385 1.00 0.00 H +HETATM 2662 O HOH A 888 24.894 33.533 24.652 1.00 0.00 O +HETATM 2663 H1 HOH A 888 24.113 33.629 24.107 1.00 0.00 H +HETATM 2664 H2 HOH A 888 25.461 34.256 24.391 1.00 0.00 H +HETATM 2665 O HOH A 889 27.218 30.385 19.119 1.00 0.00 O +HETATM 2666 H1 HOH A 889 26.677 29.609 19.271 1.00 0.00 H +HETATM 2667 H2 HOH A 889 26.806 30.826 18.378 1.00 0.00 H +HETATM 2668 O HOH A 890 42.941 18.302 48.968 1.00 0.00 O +HETATM 2669 H1 HOH A 890 42.357 17.825 48.377 1.00 0.00 H +HETATM 2670 H2 HOH A 890 42.937 19.199 48.639 1.00 0.00 H +HETATM 2671 O HOH A 891 8.142 18.799 33.102 1.00 0.00 O +HETATM 2672 H1 HOH A 891 8.173 18.212 32.345 1.00 0.00 H +HETATM 2673 H2 HOH A 891 9.058 18.936 33.338 1.00 0.00 H +HETATM 2674 O HOH A 892 18.334 37.835 1.819 1.00 0.00 O +HETATM 2675 H1 HOH A 892 17.721 38.480 1.465 1.00 0.00 H +HETATM 2676 H2 HOH A 892 18.087 37.012 1.401 1.00 0.00 H +HETATM 2677 O HOH A 893 40.431 31.745 13.652 1.00 0.00 O +HETATM 2678 H1 HOH A 893 40.731 32.475 14.195 1.00 0.00 H +HETATM 2679 H2 HOH A 893 39.527 31.597 13.924 1.00 0.00 H +HETATM 2680 O HOH A 894 22.062 39.697 19.618 1.00 0.00 O +HETATM 2681 H1 HOH A 894 21.110 39.661 19.524 1.00 0.00 H +HETATM 2682 H2 HOH A 894 22.349 40.309 18.942 1.00 0.00 H +HETATM 2683 O HOH A 895 47.438 1.970 9.491 1.00 0.00 O +HETATM 2684 H1 HOH A 895 47.434 2.858 9.133 1.00 0.00 H +HETATM 2685 H2 HOH A 895 46.516 1.723 9.533 1.00 0.00 H +HETATM 2686 O HOH A 896 36.207 29.676 40.318 1.00 0.00 O +HETATM 2687 H1 HOH A 896 36.550 30.433 39.842 1.00 0.00 H +HETATM 2688 H2 HOH A 896 35.258 29.766 40.263 1.00 0.00 H +HETATM 2689 O HOH A 897 5.569 17.249 43.367 1.00 0.00 O +HETATM 2690 H1 HOH A 897 4.913 17.762 42.895 1.00 0.00 H +HETATM 2691 H2 HOH A 897 6.019 17.884 43.921 1.00 0.00 H +HETATM 2692 O HOH A 898 39.996 29.403 14.394 1.00 0.00 O +HETATM 2693 H1 HOH A 898 40.566 28.764 13.966 1.00 0.00 H +HETATM 2694 H2 HOH A 898 39.446 28.885 14.978 1.00 0.00 H +HETATM 2695 O HOH A 899 47.901 18.798 30.935 1.00 0.00 O +HETATM 2696 H1 HOH A 899 48.096 19.082 30.042 1.00 0.00 H +HETATM 2697 H2 HOH A 899 48.115 17.867 30.944 1.00 0.00 H +HETATM 2698 O HOH A 900 22.874 24.632 48.579 1.00 0.00 O +HETATM 2699 H1 HOH A 900 22.813 23.911 47.951 1.00 0.00 H +HETATM 2700 H2 HOH A 900 22.229 25.269 48.279 1.00 0.00 H +HETATM 2701 O HOH A 901 16.429 11.660 18.540 1.00 0.00 O +HETATM 2702 H1 HOH A 901 15.894 12.149 17.915 1.00 0.00 H +HETATM 2703 H2 HOH A 901 17.292 11.613 18.135 1.00 0.00 H +HETATM 2704 O HOH A 902 31.629 20.321 17.198 1.00 0.00 O +HETATM 2705 H1 HOH A 902 31.596 19.981 18.092 1.00 0.00 H +HETATM 2706 H2 HOH A 902 32.538 20.199 16.927 1.00 0.00 H +HETATM 2707 O HOH A 903 8.321 7.357 31.985 1.00 0.00 O +HETATM 2708 H1 HOH A 903 8.486 6.570 32.505 1.00 0.00 H +HETATM 2709 H2 HOH A 903 7.533 7.739 32.367 1.00 0.00 H +HETATM 2710 O HOH A 904 41.778 14.892 35.181 1.00 0.00 O +HETATM 2711 H1 HOH A 904 41.139 15.590 35.036 1.00 0.00 H +HETATM 2712 H2 HOH A 904 41.938 14.903 36.123 1.00 0.00 H +HETATM 2713 O HOH A 905 30.349 43.027 7.951 1.00 0.00 O +HETATM 2714 H1 HOH A 905 29.620 42.954 7.334 1.00 0.00 H +HETATM 2715 H2 HOH A 905 30.892 43.731 7.602 1.00 0.00 H +HETATM 2716 O HOH A 906 0.831 30.870 11.346 1.00 0.00 O +HETATM 2717 H1 HOH A 906 1.370 31.458 10.817 1.00 0.00 H +HETATM 2718 H2 HOH A 906 1.432 30.186 11.636 1.00 0.00 H +HETATM 2719 O HOH A 907 38.569 46.521 3.447 1.00 0.00 O +HETATM 2720 H1 HOH A 907 39.342 46.883 3.882 1.00 0.00 H +HETATM 2721 H2 HOH A 907 38.794 45.609 3.274 1.00 0.00 H +HETATM 2722 O HOH A 908 16.141 11.172 25.952 1.00 0.00 O +HETATM 2723 H1 HOH A 908 16.418 11.275 26.862 1.00 0.00 H +HETATM 2724 H2 HOH A 908 15.188 11.233 25.981 1.00 0.00 H +HETATM 2725 O HOH A 909 21.787 2.717 32.686 1.00 0.00 O +HETATM 2726 H1 HOH A 909 21.433 3.309 33.350 1.00 0.00 H +HETATM 2727 H2 HOH A 909 21.288 1.910 32.792 1.00 0.00 H +HETATM 2728 O HOH A 910 47.133 12.210 1.151 1.00 0.00 O +HETATM 2729 H1 HOH A 910 47.672 12.593 1.843 1.00 0.00 H +HETATM 2730 H2 HOH A 910 47.187 12.834 0.429 1.00 0.00 H +HETATM 2731 O HOH A 911 14.830 21.149 19.626 1.00 0.00 O +HETATM 2732 H1 HOH A 911 15.165 21.521 20.442 1.00 0.00 H +HETATM 2733 H2 HOH A 911 13.917 21.429 19.590 1.00 0.00 H +HETATM 2734 O HOH A 912 41.488 41.004 21.819 1.00 0.00 O +HETATM 2735 H1 HOH A 912 41.782 41.899 21.652 1.00 0.00 H +HETATM 2736 H2 HOH A 912 41.636 40.871 22.753 1.00 0.00 H +HETATM 2737 O HOH A 913 11.072 12.423 2.201 1.00 0.00 O +HETATM 2738 H1 HOH A 913 11.591 12.223 2.981 1.00 0.00 H +HETATM 2739 H2 HOH A 913 10.881 11.571 1.813 1.00 0.00 H +HETATM 2740 O HOH A 914 17.301 33.297 42.042 1.00 0.00 O +HETATM 2741 H1 HOH A 914 16.715 32.735 42.548 1.00 0.00 H +HETATM 2742 H2 HOH A 914 18.168 33.138 42.412 1.00 0.00 H +HETATM 2743 O HOH A 915 14.514 44.094 6.822 1.00 0.00 O +HETATM 2744 H1 HOH A 915 15.234 44.291 6.222 1.00 0.00 H +HETATM 2745 H2 HOH A 915 14.135 43.284 6.488 1.00 0.00 H +HETATM 2746 O HOH A 916 22.414 36.701 45.538 1.00 0.00 O +HETATM 2747 H1 HOH A 916 21.758 36.497 46.205 1.00 0.00 H +HETATM 2748 H2 HOH A 916 22.279 36.044 44.857 1.00 0.00 H +HETATM 2749 O HOH A 917 47.005 19.487 8.484 1.00 0.00 O +HETATM 2750 H1 HOH A 917 46.668 19.342 9.369 1.00 0.00 H +HETATM 2751 H2 HOH A 917 47.108 18.610 8.118 1.00 0.00 H +HETATM 2752 O HOH A 918 8.408 22.176 30.091 1.00 0.00 O +HETATM 2753 H1 HOH A 918 8.673 21.465 30.675 1.00 0.00 H +HETATM 2754 H2 HOH A 918 8.803 21.957 29.249 1.00 0.00 H +HETATM 2755 O HOH A 919 14.164 42.800 24.798 1.00 0.00 O +HETATM 2756 H1 HOH A 919 13.719 42.654 25.633 1.00 0.00 H +HETATM 2757 H2 HOH A 919 14.611 41.975 24.616 1.00 0.00 H +HETATM 2758 O HOH A 920 3.619 32.692 23.510 1.00 0.00 O +HETATM 2759 H1 HOH A 920 3.469 33.415 22.901 1.00 0.00 H +HETATM 2760 H2 HOH A 920 4.440 32.299 23.221 1.00 0.00 H +HETATM 2761 O HOH A 921 48.074 5.496 16.082 1.00 0.00 O +HETATM 2762 H1 HOH A 921 47.934 6.122 16.792 1.00 0.00 H +HETATM 2763 H2 HOH A 921 48.773 4.926 16.396 1.00 0.00 H +HETATM 2764 O HOH A 922 6.490 7.879 38.519 1.00 0.00 O +HETATM 2765 H1 HOH A 922 7.020 7.696 39.296 1.00 0.00 H +HETATM 2766 H2 HOH A 922 5.750 8.387 38.847 1.00 0.00 H +HETATM 2767 O HOH A 923 8.353 37.301 32.595 1.00 0.00 O +HETATM 2768 H1 HOH A 923 8.160 36.594 33.212 1.00 0.00 H +HETATM 2769 H2 HOH A 923 9.185 37.662 32.894 1.00 0.00 H +HETATM 2770 O HOH A 924 19.118 19.033 32.489 1.00 0.00 O +HETATM 2771 H1 HOH A 924 20.021 19.228 32.739 1.00 0.00 H +HETATM 2772 H2 HOH A 924 19.068 18.078 32.492 1.00 0.00 H +HETATM 2773 O HOH A 925 37.755 27.769 37.018 1.00 0.00 O +HETATM 2774 H1 HOH A 925 37.305 26.981 37.324 1.00 0.00 H +HETATM 2775 H2 HOH A 925 38.280 27.474 36.276 1.00 0.00 H +HETATM 2776 O HOH A 926 14.237 49.097 17.020 1.00 0.00 O +HETATM 2777 H1 HOH A 926 15.149 49.182 17.297 1.00 0.00 H +HETATM 2778 H2 HOH A 926 13.968 48.236 17.336 1.00 0.00 H +HETATM 2779 O HOH A 927 13.688 28.157 3.718 1.00 0.00 O +HETATM 2780 H1 HOH A 927 13.220 27.587 3.108 1.00 0.00 H +HETATM 2781 H2 HOH A 927 13.534 29.041 3.389 1.00 0.00 H +HETATM 2782 O HOH A 928 47.064 15.965 44.172 1.00 0.00 O +HETATM 2783 H1 HOH A 928 46.807 16.198 43.279 1.00 0.00 H +HETATM 2784 H2 HOH A 928 47.623 16.684 44.458 1.00 0.00 H +HETATM 2785 O HOH A 929 4.002 37.220 12.218 1.00 0.00 O +HETATM 2786 H1 HOH A 929 3.352 37.131 11.521 1.00 0.00 H +HETATM 2787 H2 HOH A 929 4.546 37.958 11.948 1.00 0.00 H +HETATM 2788 O HOH A 930 24.378 5.575 44.590 1.00 0.00 O +HETATM 2789 H1 HOH A 930 25.272 5.296 44.392 1.00 0.00 H +HETATM 2790 H2 HOH A 930 24.106 6.078 43.825 1.00 0.00 H +HETATM 2791 O HOH A 931 28.237 6.620 41.782 1.00 0.00 O +HETATM 2792 H1 HOH A 931 27.517 7.119 42.167 1.00 0.00 H +HETATM 2793 H2 HOH A 931 28.062 5.714 42.029 1.00 0.00 H +HETATM 2794 O HOH A 932 38.593 1.459 46.827 1.00 0.00 O +HETATM 2795 H1 HOH A 932 38.430 0.743 47.441 1.00 0.00 H +HETATM 2796 H2 HOH A 932 37.753 1.603 46.394 1.00 0.00 H +HETATM 2797 O HOH A 933 20.266 30.580 14.205 1.00 0.00 O +HETATM 2798 H1 HOH A 933 19.740 30.658 15.001 1.00 0.00 H +HETATM 2799 H2 HOH A 933 19.806 31.112 13.558 1.00 0.00 H +HETATM 2800 O HOH A 934 2.782 3.820 41.183 1.00 0.00 O +HETATM 2801 H1 HOH A 934 3.356 3.974 40.433 1.00 0.00 H +HETATM 2802 H2 HOH A 934 3.190 3.098 41.656 1.00 0.00 H +HETATM 2803 O HOH A 935 32.224 20.114 47.593 1.00 0.00 O +HETATM 2804 H1 HOH A 935 31.718 19.995 46.789 1.00 0.00 H +HETATM 2805 H2 HOH A 935 33.053 19.671 47.425 1.00 0.00 H +HETATM 2806 O HOH A 936 49.901 37.036 9.913 1.00 0.00 O +HETATM 2807 H1 HOH A 936 49.344 37.145 10.684 1.00 0.00 H +HETATM 2808 H2 HOH A 936 49.851 37.875 9.458 1.00 0.00 H +HETATM 2809 O HOH A 937 34.423 25.986 31.574 1.00 0.00 O +HETATM 2810 H1 HOH A 937 34.202 25.792 30.663 1.00 0.00 H +HETATM 2811 H2 HOH A 937 33.864 26.726 31.806 1.00 0.00 H +HETATM 2812 O HOH A 938 38.630 32.134 18.220 1.00 0.00 O +HETATM 2813 H1 HOH A 938 38.388 33.059 18.175 1.00 0.00 H +HETATM 2814 H2 HOH A 938 38.794 31.883 17.313 1.00 0.00 H +HETATM 2815 O HOH A 939 29.751 30.936 21.097 1.00 0.00 O +HETATM 2816 H1 HOH A 939 30.652 31.088 21.383 1.00 0.00 H +HETATM 2817 H2 HOH A 939 29.589 31.612 20.441 1.00 0.00 H +HETATM 2818 O HOH A 940 24.546 33.447 39.324 1.00 0.00 O +HETATM 2819 H1 HOH A 940 24.735 32.746 39.948 1.00 0.00 H +HETATM 2820 H2 HOH A 940 24.039 34.085 39.824 1.00 0.00 H +HETATM 2821 O HOH A 941 48.952 42.552 33.101 1.00 0.00 O +HETATM 2822 H1 HOH A 941 49.886 42.369 33.000 1.00 0.00 H +HETATM 2823 H2 HOH A 941 48.578 42.387 32.237 1.00 0.00 H +HETATM 2824 O HOH A 942 10.339 18.432 35.284 1.00 0.00 O +HETATM 2825 H1 HOH A 942 11.006 18.335 34.605 1.00 0.00 H +HETATM 2826 H2 HOH A 942 10.184 19.374 35.339 1.00 0.00 H +HETATM 2827 O HOH A 943 47.874 19.648 12.697 1.00 0.00 O +HETATM 2828 H1 HOH A 943 47.551 19.951 13.546 1.00 0.00 H +HETATM 2829 H2 HOH A 943 47.991 18.706 12.804 1.00 0.00 H +HETATM 2830 O HOH A 944 19.941 19.564 26.385 1.00 0.00 O +HETATM 2831 H1 HOH A 944 20.418 19.009 25.768 1.00 0.00 H +HETATM 2832 H2 HOH A 944 19.256 19.975 25.860 1.00 0.00 H +HETATM 2833 O HOH A 945 33.338 45.226 4.923 1.00 0.00 O +HETATM 2834 H1 HOH A 945 33.329 46.168 5.094 1.00 0.00 H +HETATM 2835 H2 HOH A 945 32.737 44.857 5.568 1.00 0.00 H +HETATM 2836 O HOH A 946 23.576 7.907 46.302 1.00 0.00 O +HETATM 2837 H1 HOH A 946 24.317 8.184 45.764 1.00 0.00 H +HETATM 2838 H2 HOH A 946 23.410 7.004 46.038 1.00 0.00 H +HETATM 2839 O HOH A 947 32.554 4.789 32.246 1.00 0.00 O +HETATM 2840 H1 HOH A 947 33.255 4.988 32.867 1.00 0.00 H +HETATM 2841 H2 HOH A 947 31.786 5.236 32.598 1.00 0.00 H +HETATM 2842 O HOH A 948 22.708 45.710 38.721 1.00 0.00 O +HETATM 2843 H1 HOH A 948 22.796 45.481 39.647 1.00 0.00 H +HETATM 2844 H2 HOH A 948 23.212 45.043 38.259 1.00 0.00 H +HETATM 2845 O HOH A 949 2.421 45.341 29.881 1.00 0.00 O +HETATM 2846 H1 HOH A 949 3.103 45.698 29.311 1.00 0.00 H +HETATM 2847 H2 HOH A 949 2.890 44.784 30.499 1.00 0.00 H +HETATM 2848 O HOH A 950 27.453 29.166 2.891 1.00 0.00 O +HETATM 2849 H1 HOH A 950 26.666 29.106 3.433 1.00 0.00 H +HETATM 2850 H2 HOH A 950 27.126 29.202 1.994 1.00 0.00 H +HETATM 2851 O HOH A 951 12.428 12.280 16.076 1.00 0.00 O +HETATM 2852 H1 HOH A 951 11.590 12.467 16.500 1.00 0.00 H +HETATM 2853 H2 HOH A 951 12.200 11.748 15.315 1.00 0.00 H +HETATM 2854 O HOH A 952 35.458 4.511 6.096 1.00 0.00 O +HETATM 2855 H1 HOH A 952 34.752 4.010 5.687 1.00 0.00 H +HETATM 2856 H2 HOH A 952 35.564 5.279 5.536 1.00 0.00 H +HETATM 2857 O HOH A 953 15.658 40.127 32.249 1.00 0.00 O +HETATM 2858 H1 HOH A 953 15.388 40.894 32.754 1.00 0.00 H +HETATM 2859 H2 HOH A 953 15.237 39.389 32.688 1.00 0.00 H +HETATM 2860 O HOH A 954 33.530 31.896 32.663 1.00 0.00 O +HETATM 2861 H1 HOH A 954 33.313 32.714 33.110 1.00 0.00 H +HETATM 2862 H2 HOH A 954 32.843 31.287 32.925 1.00 0.00 H +HETATM 2863 O HOH A 955 41.564 20.308 11.757 1.00 0.00 O +HETATM 2864 H1 HOH A 955 42.353 19.834 12.019 1.00 0.00 H +HETATM 2865 H2 HOH A 955 41.840 21.221 11.698 1.00 0.00 H +HETATM 2866 O HOH A 956 4.513 22.401 5.175 1.00 0.00 O +HETATM 2867 H1 HOH A 956 3.964 23.012 5.668 1.00 0.00 H +HETATM 2868 H2 HOH A 956 4.278 21.539 5.514 1.00 0.00 H +HETATM 2869 O HOH A 957 2.735 18.107 35.644 1.00 0.00 O +HETATM 2870 H1 HOH A 957 3.104 18.729 35.017 1.00 0.00 H +HETATM 2871 H2 HOH A 957 2.794 18.551 36.488 1.00 0.00 H +HETATM 2872 O HOH A 958 4.221 39.021 34.058 1.00 0.00 O +HETATM 2873 H1 HOH A 958 3.553 38.384 33.804 1.00 0.00 H +HETATM 2874 H2 HOH A 958 4.246 39.647 33.337 1.00 0.00 H +HETATM 2875 O HOH A 959 33.623 35.709 38.936 1.00 0.00 O +HETATM 2876 H1 HOH A 959 34.138 36.498 38.770 1.00 0.00 H +HETATM 2877 H2 HOH A 959 34.206 35.140 39.436 1.00 0.00 H +HETATM 2878 O HOH A 960 3.034 32.992 12.580 1.00 0.00 O +HETATM 2879 H1 HOH A 960 2.667 32.915 13.461 1.00 0.00 H +HETATM 2880 H2 HOH A 960 3.570 33.783 12.611 1.00 0.00 H +HETATM 2881 O HOH A 961 27.020 18.950 6.055 1.00 0.00 O +HETATM 2882 H1 HOH A 961 26.734 18.130 5.650 1.00 0.00 H +HETATM 2883 H2 HOH A 961 26.266 19.531 5.982 1.00 0.00 H +HETATM 2884 O HOH A 962 28.353 28.694 23.376 1.00 0.00 O +HETATM 2885 H1 HOH A 962 28.313 29.643 23.259 1.00 0.00 H +HETATM 2886 H2 HOH A 962 28.720 28.573 24.250 1.00 0.00 H +HETATM 2887 O HOH A 963 4.725 25.102 33.838 1.00 0.00 O +HETATM 2888 H1 HOH A 963 5.673 25.075 33.969 1.00 0.00 H +HETATM 2889 H2 HOH A 963 4.613 25.145 32.890 1.00 0.00 H +HETATM 2890 O HOH A 964 34.624 6.918 17.733 1.00 0.00 O +HETATM 2891 H1 HOH A 964 34.652 7.604 17.065 1.00 0.00 H +HETATM 2892 H2 HOH A 964 34.621 6.100 17.239 1.00 0.00 H +HETATM 2893 O HOH A 965 4.909 26.371 47.594 1.00 0.00 O +HETATM 2894 H1 HOH A 965 4.909 26.966 46.845 1.00 0.00 H +HETATM 2895 H2 HOH A 965 5.446 25.631 47.315 1.00 0.00 H +HETATM 2896 O HOH A 966 19.430 14.718 30.595 1.00 0.00 O +HETATM 2897 H1 HOH A 966 20.152 15.302 30.829 1.00 0.00 H +HETATM 2898 H2 HOH A 966 19.317 14.838 29.654 1.00 0.00 H +HETATM 2899 O HOH A 967 48.507 11.303 11.749 1.00 0.00 O +HETATM 2900 H1 HOH A 967 48.532 10.486 12.246 1.00 0.00 H +HETATM 2901 H2 HOH A 967 48.973 11.933 12.296 1.00 0.00 H +HETATM 2902 O HOH A 968 37.128 26.619 24.350 1.00 0.00 O +HETATM 2903 H1 HOH A 968 36.389 26.972 24.845 1.00 0.00 H +HETATM 2904 H2 HOH A 968 36.798 25.809 23.967 1.00 0.00 H +HETATM 2905 O HOH A 969 25.110 41.448 1.636 1.00 0.00 O +HETATM 2906 H1 HOH A 969 25.985 41.399 1.251 1.00 0.00 H +HETATM 2907 H2 HOH A 969 24.892 40.545 1.856 1.00 0.00 H +HETATM 2908 O HOH A 970 14.864 11.261 10.906 1.00 0.00 O +HETATM 2909 H1 HOH A 970 15.589 10.894 11.414 1.00 0.00 H +HETATM 2910 H2 HOH A 970 14.563 12.008 11.421 1.00 0.00 H +HETATM 2911 O HOH A 971 20.548 45.504 21.799 1.00 0.00 O +HETATM 2912 H1 HOH A 971 19.918 46.174 22.064 1.00 0.00 H +HETATM 2913 H2 HOH A 971 20.088 44.676 21.928 1.00 0.00 H +HETATM 2914 O HOH A 972 21.474 42.285 14.870 1.00 0.00 O +HETATM 2915 H1 HOH A 972 20.846 41.567 14.955 1.00 0.00 H +HETATM 2916 H2 HOH A 972 22.165 41.937 14.310 1.00 0.00 H +HETATM 2917 O HOH A 973 45.490 17.297 37.032 1.00 0.00 O +HETATM 2918 H1 HOH A 973 46.038 17.323 37.817 1.00 0.00 H +HETATM 2919 H2 HOH A 973 46.099 17.431 36.308 1.00 0.00 H +HETATM 2920 O HOH A 974 39.857 26.886 10.325 1.00 0.00 O +HETATM 2921 H1 HOH A 974 38.909 26.972 10.219 1.00 0.00 H +HETATM 2922 H2 HOH A 974 40.160 27.771 10.517 1.00 0.00 H +HETATM 2923 O HOH A 975 2.138 6.529 26.973 1.00 0.00 O +HETATM 2924 H1 HOH A 975 2.578 6.006 26.303 1.00 0.00 H +HETATM 2925 H2 HOH A 975 1.599 5.903 27.454 1.00 0.00 H +HETATM 2926 O HOH A 976 24.253 25.477 4.365 1.00 0.00 O +HETATM 2927 H1 HOH A 976 24.223 25.651 5.306 1.00 0.00 H +HETATM 2928 H2 HOH A 976 24.623 24.599 4.293 1.00 0.00 H +HETATM 2929 O HOH A 977 1.716 30.464 32.827 1.00 0.00 O +HETATM 2930 H1 HOH A 977 1.049 30.656 32.168 1.00 0.00 H +HETATM 2931 H2 HOH A 977 2.446 31.040 32.607 1.00 0.00 H +HETATM 2932 O HOH A 978 39.663 11.150 48.614 1.00 0.00 O +HETATM 2933 H1 HOH A 978 40.347 10.485 48.531 1.00 0.00 H +HETATM 2934 H2 HOH A 978 40.128 11.983 48.557 1.00 0.00 H +HETATM 2935 O HOH A 979 7.364 47.941 21.230 1.00 0.00 O +HETATM 2936 H1 HOH A 979 8.248 48.293 21.343 1.00 0.00 H +HETATM 2937 H2 HOH A 979 7.442 47.016 21.458 1.00 0.00 H +HETATM 2938 O HOH A 980 37.087 20.443 0.598 1.00 0.00 O +HETATM 2939 H1 HOH A 980 37.594 20.704 1.367 1.00 0.00 H +HETATM 2940 H2 HOH A 980 37.093 19.487 0.618 1.00 0.00 H +HETATM 2941 O HOH A 981 6.981 23.459 22.217 1.00 0.00 O +HETATM 2942 H1 HOH A 981 7.098 23.401 21.269 1.00 0.00 H +HETATM 2943 H2 HOH A 981 6.545 24.298 22.357 1.00 0.00 H +HETATM 2944 O HOH A 982 15.341 34.271 19.524 1.00 0.00 O +HETATM 2945 H1 HOH A 982 15.316 33.750 20.327 1.00 0.00 H +HETATM 2946 H2 HOH A 982 14.671 34.941 19.651 1.00 0.00 H +HETATM 2947 O HOH A 983 10.809 12.146 46.382 1.00 0.00 O +HETATM 2948 H1 HOH A 983 11.170 11.278 46.201 1.00 0.00 H +HETATM 2949 H2 HOH A 983 9.864 12.010 46.427 1.00 0.00 H +HETATM 2950 O HOH A 984 8.771 6.779 8.960 1.00 0.00 O +HETATM 2951 H1 HOH A 984 9.293 5.980 8.875 1.00 0.00 H +HETATM 2952 H2 HOH A 984 9.317 7.370 9.475 1.00 0.00 H +HETATM 2953 O HOH A 985 2.988 35.875 39.245 1.00 0.00 O +HETATM 2954 H1 HOH A 985 2.533 36.407 39.898 1.00 0.00 H +HETATM 2955 H2 HOH A 985 2.909 36.370 38.432 1.00 0.00 H +HETATM 2956 O HOH A 986 21.351 19.921 29.172 1.00 0.00 O +HETATM 2957 H1 HOH A 986 20.422 19.916 28.940 1.00 0.00 H +HETATM 2958 H2 HOH A 986 21.799 20.182 28.370 1.00 0.00 H +HETATM 2959 O HOH A 987 45.437 20.292 37.419 1.00 0.00 O +HETATM 2960 H1 HOH A 987 45.176 20.649 36.570 1.00 0.00 H +HETATM 2961 H2 HOH A 987 46.112 19.648 37.214 1.00 0.00 H +HETATM 2962 O HOH A 988 17.931 8.094 39.114 1.00 0.00 O +HETATM 2963 H1 HOH A 988 17.126 8.436 39.504 1.00 0.00 H +HETATM 2964 H2 HOH A 988 17.944 7.170 39.357 1.00 0.00 H +HETATM 2965 O HOH A 989 27.889 28.102 17.199 1.00 0.00 O +HETATM 2966 H1 HOH A 989 27.791 27.478 17.917 1.00 0.00 H +HETATM 2967 H2 HOH A 989 28.616 28.664 17.464 1.00 0.00 H +HETATM 2968 O HOH A 990 37.677 44.955 21.483 1.00 0.00 O +HETATM 2969 H1 HOH A 990 37.975 44.072 21.698 1.00 0.00 H +HETATM 2970 H2 HOH A 990 37.075 44.835 20.751 1.00 0.00 H +HETATM 2971 O HOH A 991 6.914 22.263 10.184 1.00 0.00 O +HETATM 2972 H1 HOH A 991 6.341 22.890 9.742 1.00 0.00 H +HETATM 2973 H2 HOH A 991 7.064 22.642 11.049 1.00 0.00 H +HETATM 2974 O HOH A 992 27.064 17.468 0.635 1.00 0.00 O +HETATM 2975 H1 HOH A 992 26.555 16.663 0.544 1.00 0.00 H +HETATM 2976 H2 HOH A 992 26.416 18.169 0.599 1.00 0.00 H +HETATM 2977 O HOH A 993 4.677 25.666 28.109 1.00 0.00 O +HETATM 2978 H1 HOH A 993 5.003 25.998 27.273 1.00 0.00 H +HETATM 2979 H2 HOH A 993 4.942 24.749 28.126 1.00 0.00 H +HETATM 2980 O HOH A 994 7.990 28.113 30.593 1.00 0.00 O +HETATM 2981 H1 HOH A 994 8.873 27.747 30.653 1.00 0.00 H +HETATM 2982 H2 HOH A 994 7.873 28.595 31.410 1.00 0.00 H +HETATM 2983 O HOH A 995 26.720 11.533 18.898 1.00 0.00 O +HETATM 2984 H1 HOH A 995 26.049 11.602 18.219 1.00 0.00 H +HETATM 2985 H2 HOH A 995 27.522 11.837 18.477 1.00 0.00 H +HETATM 2986 O HOH A 996 15.543 41.468 13.907 1.00 0.00 O +HETATM 2987 H1 HOH A 996 16.001 41.156 13.126 1.00 0.00 H +HETATM 2988 H2 HOH A 996 14.616 41.381 13.694 1.00 0.00 H +HETATM 2989 O HOH A 997 45.367 22.636 41.311 1.00 0.00 O +HETATM 2990 H1 HOH A 997 46.300 22.468 41.176 1.00 0.00 H +HETATM 2991 H2 HOH A 997 44.947 22.322 40.512 1.00 0.00 H +HETATM 2992 O HOH A 998 44.788 35.783 31.272 1.00 0.00 O +HETATM 2993 H1 HOH A 998 44.084 35.846 30.627 1.00 0.00 H +HETATM 2994 H2 HOH A 998 45.523 36.246 30.874 1.00 0.00 H +HETATM 2995 O HOH A 999 49.012 34.429 3.015 1.00 0.00 O +HETATM 2996 H1 HOH A 999 48.678 33.756 2.422 1.00 0.00 H +HETATM 2997 H2 HOH A 999 49.811 34.053 3.381 1.00 0.00 H +HETATM 2998 O HOH A1000 14.621 47.950 33.963 1.00 0.00 O +HETATM 2999 H1 HOH A1000 15.556 47.981 33.760 1.00 0.00 H +HETATM 3000 H2 HOH A1000 14.188 48.178 33.142 1.00 0.00 H +HETATM 3001 O HOH A1001 38.530 31.297 34.589 1.00 0.00 O +HETATM 3002 H1 HOH A1001 39.245 31.393 33.960 1.00 0.00 H +HETATM 3003 H2 HOH A1001 37.975 30.612 34.221 1.00 0.00 H +HETATM 3004 O HOH A1002 11.427 6.378 17.630 1.00 0.00 O +HETATM 3005 H1 HOH A1002 11.934 5.591 17.832 1.00 0.00 H +HETATM 3006 H2 HOH A1002 11.528 6.934 18.400 1.00 0.00 H +HETATM 3007 O HOH A1003 25.470 0.853 26.518 1.00 0.00 O +HETATM 3008 H1 HOH A1003 25.395 1.360 27.326 1.00 0.00 H +HETATM 3009 H2 HOH A1003 24.949 1.337 25.880 1.00 0.00 H +HETATM 3010 O HOH A1004 44.358 33.493 17.591 1.00 0.00 O +HETATM 3011 H1 HOH A1004 44.023 32.687 17.196 1.00 0.00 H +HETATM 3012 H2 HOH A1004 45.106 33.211 18.115 1.00 0.00 H +HETATM 3013 O HOH A1005 39.339 18.161 36.351 1.00 0.00 O +HETATM 3014 H1 HOH A1005 39.070 17.746 37.170 1.00 0.00 H +HETATM 3015 H2 HOH A1005 40.042 18.758 36.602 1.00 0.00 H +HETATM 3016 O HOH A1006 19.784 44.582 16.458 1.00 0.00 O +HETATM 3017 H1 HOH A1006 20.494 45.012 15.981 1.00 0.00 H +HETATM 3018 H2 HOH A1006 19.678 43.737 16.024 1.00 0.00 H +HETATM 3019 O HOH A1007 10.990 44.441 28.218 1.00 0.00 O +HETATM 3020 H1 HOH A1007 11.195 43.703 28.791 1.00 0.00 H +HETATM 3021 H2 HOH A1007 10.583 45.087 28.792 1.00 0.00 H +HETATM 3022 O HOH A1008 34.288 41.400 2.723 1.00 0.00 O +HETATM 3023 H1 HOH A1008 34.436 40.455 2.695 1.00 0.00 H +HETATM 3024 H2 HOH A1008 34.321 41.676 1.809 1.00 0.00 H +HETATM 3025 O HOH A1009 49.206 49.302 41.341 1.00 0.00 O +HETATM 3026 H1 HOH A1009 48.761 49.953 41.884 1.00 0.00 H +HETATM 3027 H2 HOH A1009 49.876 48.929 41.911 1.00 0.00 H +HETATM 3028 O HOH A1010 40.539 41.039 38.151 1.00 0.00 O +HETATM 3029 H1 HOH A1010 39.832 41.451 37.653 1.00 0.00 H +HETATM 3030 H2 HOH A1010 41.340 41.335 37.722 1.00 0.00 H +HETATM 3031 O HOH A1011 1.010 39.947 28.635 1.00 0.00 O +HETATM 3032 H1 HOH A1011 1.775 40.169 28.103 1.00 0.00 H +HETATM 3033 H2 HOH A1011 1.182 39.061 28.947 1.00 0.00 H +HETATM 3034 O HOH A1012 49.720 43.120 24.185 1.00 0.00 O +HETATM 3035 H1 HOH A1012 49.748 42.916 23.250 1.00 0.00 H +HETATM 3036 H2 HOH A1012 48.819 43.398 24.344 1.00 0.00 H +HETATM 3037 O HOH A1013 37.634 40.802 39.496 1.00 0.00 O +HETATM 3038 H1 HOH A1013 37.408 39.992 39.954 1.00 0.00 H +HETATM 3039 H2 HOH A1013 38.583 40.870 39.582 1.00 0.00 H +HETATM 3040 O HOH A1014 18.131 34.259 15.777 1.00 0.00 O +HETATM 3041 H1 HOH A1014 18.312 34.737 16.587 1.00 0.00 H +HETATM 3042 H2 HOH A1014 17.331 33.769 15.961 1.00 0.00 H +HETATM 3043 O HOH A1015 46.095 5.170 48.188 1.00 0.00 O +HETATM 3044 H1 HOH A1015 47.030 5.310 48.034 1.00 0.00 H +HETATM 3045 H2 HOH A1015 45.661 5.834 47.656 1.00 0.00 H +HETATM 3046 O HOH A1016 47.854 11.464 17.569 1.00 0.00 O +HETATM 3047 H1 HOH A1016 46.954 11.776 17.466 1.00 0.00 H +HETATM 3048 H2 HOH A1016 48.323 11.831 16.822 1.00 0.00 H +HETATM 3049 O HOH A1017 14.573 22.744 34.903 1.00 0.00 O +HETATM 3050 H1 HOH A1017 15.212 22.553 34.216 1.00 0.00 H +HETATM 3051 H2 HOH A1017 13.768 22.322 34.608 1.00 0.00 H +HETATM 3052 O HOH A1018 47.040 15.538 15.727 1.00 0.00 O +HETATM 3053 H1 HOH A1018 47.116 16.072 14.936 1.00 0.00 H +HETATM 3054 H2 HOH A1018 47.012 14.638 15.409 1.00 0.00 H +HETATM 3055 O HOH A1019 49.131 25.861 17.631 1.00 0.00 O +HETATM 3056 H1 HOH A1019 48.599 25.524 16.910 1.00 0.00 H +HETATM 3057 H2 HOH A1019 48.794 25.420 18.408 1.00 0.00 H +HETATM 3058 O HOH A1020 4.033 44.625 35.493 1.00 0.00 O +HETATM 3059 H1 HOH A1020 4.046 44.159 34.657 1.00 0.00 H +HETATM 3060 H2 HOH A1020 3.113 44.640 35.748 1.00 0.00 H +HETATM 3061 O HOH A1021 37.973 46.358 9.636 1.00 0.00 O +HETATM 3062 H1 HOH A1021 37.824 47.247 9.959 1.00 0.00 H +HETATM 3063 H2 HOH A1021 38.912 46.319 9.462 1.00 0.00 H +HETATM 3064 O HOH A1022 35.859 39.993 9.841 1.00 0.00 O +HETATM 3065 H1 HOH A1022 35.806 39.289 9.195 1.00 0.00 H +HETATM 3066 H2 HOH A1022 36.781 40.023 10.091 1.00 0.00 H +HETATM 3067 O HOH A1023 27.164 18.385 27.109 1.00 0.00 O +HETATM 3068 H1 HOH A1023 27.541 18.734 27.917 1.00 0.00 H +HETATM 3069 H2 HOH A1023 26.388 17.905 27.391 1.00 0.00 H +HETATM 3070 O HOH A1024 43.009 0.618 37.643 1.00 0.00 O +HETATM 3071 H1 HOH A1024 43.436 0.145 38.357 1.00 0.00 H +HETATM 3072 H2 HOH A1024 42.813 1.479 38.007 1.00 0.00 H +END \ No newline at end of file diff --git a/examples/water_pol_1024/water1024.pdb b/examples/water_pol_1024/water1024.pdb new file mode 100644 index 000000000..61123b49d --- /dev/null +++ b/examples/water_pol_1024/water1024.pdb @@ -0,0 +1,3075 @@ +REMARK testcase for ADMP forcefield +CRYST1 50.000 50.000 50.000 90.00 90.00 90.00 P 1 1 +HETATM 1 O HOH A 1 6.151 10.912 26.734 1.00 0.00 O +HETATM 2 H1 HOH A 1 5.478 11.372 26.233 1.00 0.00 H +HETATM 3 H2 HOH A 1 6.773 11.592 26.985 1.00 0.00 H +HETATM 4 O HOH A 2 12.550 2.171 44.888 1.00 0.00 O +HETATM 5 H1 HOH A 2 13.046 2.984 44.792 1.00 0.00 H +HETATM 6 H2 HOH A 2 12.159 2.229 45.758 1.00 0.00 H +HETATM 7 O HOH A 3 46.148 27.324 43.627 1.00 0.00 O +HETATM 8 H1 HOH A 3 46.403 28.072 44.167 1.00 0.00 H +HETATM 9 H2 HOH A 3 45.334 27.011 44.017 1.00 0.00 H +HETATM 10 O HOH A 4 40.594 22.790 34.698 1.00 0.00 O +HETATM 11 H1 HOH A 4 40.164 21.938 34.615 1.00 0.00 H +HETATM 12 H2 HOH A 4 39.930 23.359 35.082 1.00 0.00 H +HETATM 13 O HOH A 5 33.118 26.837 14.565 1.00 0.00 O +HETATM 14 H1 HOH A 5 33.572 26.369 15.267 1.00 0.00 H +HETATM 15 H2 HOH A 5 32.245 26.450 14.543 1.00 0.00 H +HETATM 16 O HOH A 6 40.034 31.573 47.251 1.00 0.00 O +HETATM 17 H1 HOH A 6 39.640 32.286 47.755 1.00 0.00 H +HETATM 18 H2 HOH A 6 39.677 31.674 46.371 1.00 0.00 H +HETATM 19 O HOH A 7 49.815 10.339 6.098 1.00 0.00 O +HETATM 20 H1 HOH A 7 49.912 11.183 6.540 1.00 0.00 H +HETATM 21 H2 HOH A 7 49.116 9.895 6.574 1.00 0.00 H +HETATM 22 O HOH A 8 10.855 9.466 36.213 1.00 0.00 O +HETATM 23 H1 HOH A 8 11.018 9.388 35.273 1.00 0.00 H +HETATM 24 H2 HOH A 8 9.916 9.319 36.308 1.00 0.00 H +HETATM 25 O HOH A 9 21.272 43.663 40.433 1.00 0.00 O +HETATM 26 H1 HOH A 9 21.139 43.690 41.380 1.00 0.00 H +HETATM 27 H2 HOH A 9 21.984 43.038 40.307 1.00 0.00 H +HETATM 28 O HOH A 10 35.753 44.780 38.645 1.00 0.00 O +HETATM 29 H1 HOH A 10 36.224 45.549 38.967 1.00 0.00 H +HETATM 30 H2 HOH A 10 34.836 45.047 38.630 1.00 0.00 H +HETATM 31 O HOH A 11 29.889 39.528 9.239 1.00 0.00 O +HETATM 32 H1 HOH A 11 29.181 39.592 8.598 1.00 0.00 H +HETATM 33 H2 HOH A 11 30.536 40.168 8.948 1.00 0.00 H +HETATM 34 O HOH A 12 21.616 29.638 45.881 1.00 0.00 O +HETATM 35 H1 HOH A 12 21.943 29.335 46.728 1.00 0.00 H +HETATM 36 H2 HOH A 12 20.739 29.971 46.065 1.00 0.00 H +HETATM 37 O HOH A 13 0.005 29.640 36.910 1.00 0.00 O +HETATM 38 H1 HOH A 13 0.000 30.328 37.575 1.00 0.00 H +HETATM 39 H2 HOH A 13 0.692 29.899 36.299 1.00 0.00 H +HETATM 40 O HOH A 14 2.764 43.853 42.732 1.00 0.00 O +HETATM 41 H1 HOH A 14 2.189 43.883 41.966 1.00 0.00 H +HETATM 42 H2 HOH A 14 2.986 44.766 42.902 1.00 0.00 H +HETATM 43 O HOH A 15 10.324 5.385 39.574 1.00 0.00 O +HETATM 44 H1 HOH A 15 9.508 5.129 40.005 1.00 0.00 H +HETATM 45 H2 HOH A 15 10.924 5.582 40.291 1.00 0.00 H +HETATM 46 O HOH A 16 16.091 35.659 5.421 1.00 0.00 O +HETATM 47 H1 HOH A 16 16.481 36.317 5.998 1.00 0.00 H +HETATM 48 H2 HOH A 16 15.967 36.111 4.588 1.00 0.00 H +HETATM 49 O HOH A 17 9.401 4.374 18.073 1.00 0.00 O +HETATM 50 H1 HOH A 17 8.784 3.933 17.489 1.00 0.00 H +HETATM 51 H2 HOH A 17 8.897 5.084 18.466 1.00 0.00 H +HETATM 52 O HOH A 18 20.255 44.908 19.573 1.00 0.00 O +HETATM 53 H1 HOH A 18 19.313 44.823 19.424 1.00 0.00 H +HETATM 54 H2 HOH A 18 20.537 44.034 19.838 1.00 0.00 H +HETATM 55 O HOH A 19 23.927 22.842 11.483 1.00 0.00 O +HETATM 56 H1 HOH A 19 23.610 23.507 12.095 1.00 0.00 H +HETATM 57 H2 HOH A 19 23.607 22.015 11.837 1.00 0.00 H +HETATM 58 O HOH A 20 43.629 25.630 31.651 1.00 0.00 O +HETATM 59 H1 HOH A 20 42.714 25.635 31.933 1.00 0.00 H +HETATM 60 H2 HOH A 20 44.088 26.146 32.311 1.00 0.00 H +HETATM 61 O HOH A 21 26.278 18.996 46.617 1.00 0.00 O +HETATM 62 H1 HOH A 21 25.644 19.703 46.737 1.00 0.00 H +HETATM 63 H2 HOH A 21 26.687 18.890 47.474 1.00 0.00 H +HETATM 64 O HOH A 22 43.578 0.881 26.370 1.00 0.00 O +HETATM 65 H1 HOH A 22 44.087 0.335 25.770 1.00 0.00 H +HETATM 66 H2 HOH A 22 42.697 0.890 26.001 1.00 0.00 H +HETATM 67 O HOH A 23 11.967 11.477 29.754 1.00 0.00 O +HETATM 68 H1 HOH A 23 11.838 12.395 29.516 1.00 0.00 H +HETATM 69 H2 HOH A 23 12.899 11.407 29.951 1.00 0.00 H +HETATM 70 O HOH A 24 0.851 35.755 36.667 1.00 0.00 O +HETATM 71 H1 HOH A 24 0.615 36.504 37.215 1.00 0.00 H +HETATM 72 H2 HOH A 24 1.803 35.794 36.602 1.00 0.00 H +HETATM 73 O HOH A 25 11.692 27.787 30.997 1.00 0.00 O +HETATM 74 H1 HOH A 25 11.485 28.635 30.604 1.00 0.00 H +HETATM 75 H2 HOH A 25 12.632 27.682 30.863 1.00 0.00 H +HETATM 76 O HOH A 26 8.295 17.260 23.637 1.00 0.00 O +HETATM 77 H1 HOH A 26 8.099 18.090 23.202 1.00 0.00 H +HETATM 78 H2 HOH A 26 7.453 16.958 23.972 1.00 0.00 H +HETATM 79 O HOH A 27 33.921 30.567 29.637 1.00 0.00 O +HETATM 80 H1 HOH A 27 33.946 31.514 29.496 1.00 0.00 H +HETATM 81 H2 HOH A 27 34.212 30.449 30.539 1.00 0.00 H +HETATM 82 O HOH A 28 41.329 36.813 18.771 1.00 0.00 O +HETATM 83 H1 HOH A 28 40.808 37.425 19.292 1.00 0.00 H +HETATM 84 H2 HOH A 28 42.076 37.328 18.471 1.00 0.00 H +HETATM 85 O HOH A 29 25.788 31.230 47.843 1.00 0.00 O +HETATM 86 H1 HOH A 29 26.400 30.669 48.319 1.00 0.00 H +HETATM 87 H2 HOH A 29 25.489 31.866 48.491 1.00 0.00 H +HETATM 88 O HOH A 30 26.887 29.994 38.981 1.00 0.00 O +HETATM 89 H1 HOH A 30 26.729 30.693 38.347 1.00 0.00 H +HETATM 90 H2 HOH A 30 26.048 29.872 39.422 1.00 0.00 H +HETATM 91 O HOH A 31 7.358 25.186 43.231 1.00 0.00 O +HETATM 92 H1 HOH A 31 7.137 26.106 43.372 1.00 0.00 H +HETATM 93 H2 HOH A 31 7.753 25.163 42.361 1.00 0.00 H +HETATM 94 O HOH A 32 48.233 28.815 26.308 1.00 0.00 O +HETATM 95 H1 HOH A 32 48.423 28.316 25.514 1.00 0.00 H +HETATM 96 H2 HOH A 32 48.407 28.206 27.023 1.00 0.00 H +HETATM 97 O HOH A 33 25.978 36.217 33.090 1.00 0.00 O +HETATM 98 H1 HOH A 33 26.211 35.656 32.351 1.00 0.00 H +HETATM 99 H2 HOH A 33 25.729 37.049 32.692 1.00 0.00 H +HETATM 100 O HOH A 34 1.073 18.333 3.389 1.00 0.00 O +HETATM 101 H1 HOH A 34 0.154 18.074 3.325 1.00 0.00 H +HETATM 102 H2 HOH A 34 1.387 18.335 2.487 1.00 0.00 H +HETATM 103 O HOH A 35 7.602 35.488 9.012 1.00 0.00 O +HETATM 104 H1 HOH A 35 7.851 34.610 8.722 1.00 0.00 H +HETATM 105 H2 HOH A 35 8.397 35.848 9.402 1.00 0.00 H +HETATM 106 O HOH A 36 31.687 29.537 12.400 1.00 0.00 O +HETATM 107 H1 HOH A 36 31.758 28.881 11.706 1.00 0.00 H +HETATM 108 H2 HOH A 36 31.082 30.190 12.054 1.00 0.00 H +HETATM 109 O HOH A 37 14.022 21.951 29.138 1.00 0.00 O +HETATM 110 H1 HOH A 37 13.922 21.147 29.648 1.00 0.00 H +HETATM 111 H2 HOH A 37 14.825 22.349 29.468 1.00 0.00 H +HETATM 112 O HOH A 38 35.815 5.649 30.538 1.00 0.00 O +HETATM 113 H1 HOH A 38 36.250 6.023 29.772 1.00 0.00 H +HETATM 114 H2 HOH A 38 34.919 5.976 30.490 1.00 0.00 H +HETATM 115 O HOH A 39 44.368 44.723 32.156 1.00 0.00 O +HETATM 116 H1 HOH A 39 43.554 44.530 32.622 1.00 0.00 H +HETATM 117 H2 HOH A 39 45.050 44.300 32.676 1.00 0.00 H +HETATM 118 O HOH A 40 43.418 43.692 25.308 1.00 0.00 O +HETATM 119 H1 HOH A 40 44.162 43.092 25.246 1.00 0.00 H +HETATM 120 H2 HOH A 40 43.389 44.129 24.458 1.00 0.00 H +HETATM 121 O HOH A 41 28.443 14.096 33.492 1.00 0.00 O +HETATM 122 H1 HOH A 41 28.129 13.598 32.737 1.00 0.00 H +HETATM 123 H2 HOH A 41 27.660 14.266 34.012 1.00 0.00 H +HETATM 124 O HOH A 42 15.934 39.259 20.862 1.00 0.00 O +HETATM 125 H1 HOH A 42 15.922 39.625 19.978 1.00 0.00 H +HETATM 126 H2 HOH A 42 16.146 38.336 20.738 1.00 0.00 H +HETATM 127 O HOH A 43 42.310 26.848 34.686 1.00 0.00 O +HETATM 128 H1 HOH A 43 42.731 26.283 34.037 1.00 0.00 H +HETATM 129 H2 HOH A 43 41.395 26.885 34.416 1.00 0.00 H +HETATM 130 O HOH A 44 33.903 16.522 25.778 1.00 0.00 O +HETATM 131 H1 HOH A 44 33.166 15.932 25.622 1.00 0.00 H +HETATM 132 H2 HOH A 44 34.062 16.466 26.718 1.00 0.00 H +HETATM 133 O HOH A 45 39.033 46.458 47.207 1.00 0.00 O +HETATM 134 H1 HOH A 45 39.439 46.519 48.072 1.00 0.00 H +HETATM 135 H2 HOH A 45 38.569 45.623 47.217 1.00 0.00 H +HETATM 136 O HOH A 46 23.853 44.157 14.062 1.00 0.00 O +HETATM 137 H1 HOH A 46 24.799 44.213 14.202 1.00 0.00 H +HETATM 138 H2 HOH A 46 23.519 45.013 14.324 1.00 0.00 H +HETATM 139 O HOH A 47 46.585 4.433 35.865 1.00 0.00 O +HETATM 140 H1 HOH A 47 46.425 4.030 36.719 1.00 0.00 H +HETATM 141 H2 HOH A 47 47.334 5.009 36.007 1.00 0.00 H +HETATM 142 O HOH A 48 45.664 30.713 43.434 1.00 0.00 O +HETATM 143 H1 HOH A 48 44.799 30.998 43.141 1.00 0.00 H +HETATM 144 H2 HOH A 48 45.716 30.996 44.346 1.00 0.00 H +HETATM 145 O HOH A 49 34.836 5.637 38.867 1.00 0.00 O +HETATM 146 H1 HOH A 49 34.438 4.914 39.352 1.00 0.00 H +HETATM 147 H2 HOH A 49 35.669 5.794 39.308 1.00 0.00 H +HETATM 148 O HOH A 50 49.255 19.337 7.792 1.00 0.00 O +HETATM 149 H1 HOH A 50 49.979 18.747 7.581 1.00 0.00 H +HETATM 150 H2 HOH A 50 49.112 19.839 6.992 1.00 0.00 H +HETATM 151 O HOH A 51 30.520 22.550 17.927 1.00 0.00 O +HETATM 152 H1 HOH A 51 30.968 22.070 18.624 1.00 0.00 H +HETATM 153 H2 HOH A 51 30.412 23.434 18.273 1.00 0.00 H +HETATM 154 O HOH A 52 16.816 13.004 12.328 1.00 0.00 O +HETATM 155 H1 HOH A 52 17.246 13.854 12.419 1.00 0.00 H +HETATM 156 H2 HOH A 52 17.508 12.414 12.035 1.00 0.00 H +HETATM 157 O HOH A 53 42.152 33.922 16.020 1.00 0.00 O +HETATM 158 H1 HOH A 53 42.914 34.320 15.599 1.00 0.00 H +HETATM 159 H2 HOH A 53 41.516 34.632 16.089 1.00 0.00 H +HETATM 160 O HOH A 54 34.962 1.054 39.704 1.00 0.00 O +HETATM 161 H1 HOH A 54 34.870 0.411 40.407 1.00 0.00 H +HETATM 162 H2 HOH A 54 34.728 1.888 40.107 1.00 0.00 H +HETATM 163 O HOH A 55 4.852 39.350 42.155 1.00 0.00 O +HETATM 164 H1 HOH A 55 5.462 39.987 42.528 1.00 0.00 H +HETATM 165 H2 HOH A 55 4.131 39.311 42.780 1.00 0.00 H +HETATM 166 O HOH A 56 35.052 8.586 38.954 1.00 0.00 O +HETATM 167 H1 HOH A 56 34.984 8.724 38.009 1.00 0.00 H +HETATM 168 H2 HOH A 56 34.941 9.455 39.334 1.00 0.00 H +HETATM 169 O HOH A 57 23.302 13.812 8.923 1.00 0.00 O +HETATM 170 H1 HOH A 57 23.496 13.120 9.556 1.00 0.00 H +HETATM 171 H2 HOH A 57 23.795 14.569 9.234 1.00 0.00 H +HETATM 172 O HOH A 58 48.045 47.881 33.392 1.00 0.00 O +HETATM 173 H1 HOH A 58 48.827 47.469 33.024 1.00 0.00 H +HETATM 174 H2 HOH A 58 47.318 47.503 32.900 1.00 0.00 H +HETATM 175 O HOH A 59 47.963 47.365 38.718 1.00 0.00 O +HETATM 176 H1 HOH A 59 47.969 48.195 38.241 1.00 0.00 H +HETATM 177 H2 HOH A 59 47.689 46.717 38.072 1.00 0.00 H +HETATM 178 O HOH A 60 46.169 21.437 10.235 1.00 0.00 O +HETATM 179 H1 HOH A 60 46.467 21.817 9.409 1.00 0.00 H +HETATM 180 H2 HOH A 60 45.348 20.998 10.018 1.00 0.00 H +HETATM 181 O HOH A 61 27.218 32.487 26.197 1.00 0.00 O +HETATM 182 H1 HOH A 61 26.479 32.932 26.612 1.00 0.00 H +HETATM 183 H2 HOH A 61 27.982 32.772 26.694 1.00 0.00 H +HETATM 184 O HOH A 62 43.817 36.399 16.494 1.00 0.00 O +HETATM 185 H1 HOH A 62 43.957 35.778 17.209 1.00 0.00 H +HETATM 186 H2 HOH A 62 44.666 36.819 16.369 1.00 0.00 H +HETATM 187 O HOH A 63 10.054 12.231 43.611 1.00 0.00 O +HETATM 188 H1 HOH A 63 10.384 12.877 44.236 1.00 0.00 H +HETATM 189 H2 HOH A 63 9.198 11.978 43.953 1.00 0.00 H +HETATM 190 O HOH A 64 9.767 39.986 9.024 1.00 0.00 O +HETATM 191 H1 HOH A 64 9.274 40.803 9.103 1.00 0.00 H +HETATM 192 H2 HOH A 64 10.675 40.235 9.188 1.00 0.00 H +HETATM 193 O HOH A 65 27.980 33.009 22.732 1.00 0.00 O +HETATM 194 H1 HOH A 65 27.293 33.033 22.066 1.00 0.00 H +HETATM 195 H2 HOH A 65 28.552 33.743 22.516 1.00 0.00 H +HETATM 196 O HOH A 66 0.006 35.929 39.629 1.00 0.00 O +HETATM 197 H1 HOH A 66 0.274 36.792 39.946 1.00 0.00 H +HETATM 198 H2 HOH A 66 0.198 35.336 40.353 1.00 0.00 H +HETATM 199 O HOH A 67 43.754 5.879 33.391 1.00 0.00 O +HETATM 200 H1 HOH A 67 43.383 5.141 33.875 1.00 0.00 H +HETATM 201 H2 HOH A 67 43.226 6.631 33.654 1.00 0.00 H +HETATM 202 O HOH A 68 16.153 5.452 7.416 1.00 0.00 O +HETATM 203 H1 HOH A 68 15.998 5.819 8.287 1.00 0.00 H +HETATM 204 H2 HOH A 68 16.201 4.508 7.557 1.00 0.00 H +HETATM 205 O HOH A 69 6.157 37.365 7.820 1.00 0.00 O +HETATM 206 H1 HOH A 69 5.738 36.539 7.575 1.00 0.00 H +HETATM 207 H2 HOH A 69 6.201 37.864 7.006 1.00 0.00 H +HETATM 208 O HOH A 70 38.820 21.685 4.868 1.00 0.00 O +HETATM 209 H1 HOH A 70 39.706 21.536 4.536 1.00 0.00 H +HETATM 210 H2 HOH A 70 38.906 22.430 5.460 1.00 0.00 H +HETATM 211 O HOH A 71 39.752 4.314 34.768 1.00 0.00 O +HETATM 212 H1 HOH A 71 40.004 4.985 34.134 1.00 0.00 H +HETATM 213 H2 HOH A 71 40.069 3.495 34.393 1.00 0.00 H +HETATM 214 O HOH A 72 30.828 4.957 13.676 1.00 0.00 O +HETATM 215 H1 HOH A 72 30.521 4.100 13.973 1.00 0.00 H +HETATM 216 H2 HOH A 72 30.570 5.560 14.370 1.00 0.00 H +HETATM 217 O HOH A 73 11.951 36.221 14.674 1.00 0.00 O +HETATM 218 H1 HOH A 73 12.442 36.365 13.864 1.00 0.00 H +HETATM 219 H2 HOH A 73 12.520 35.666 15.204 1.00 0.00 H +HETATM 220 O HOH A 74 17.071 15.826 34.735 1.00 0.00 O +HETATM 221 H1 HOH A 74 17.590 15.040 34.906 1.00 0.00 H +HETATM 222 H2 HOH A 74 16.670 16.039 35.576 1.00 0.00 H +HETATM 223 O HOH A 75 4.308 9.229 33.467 1.00 0.00 O +HETATM 224 H1 HOH A 75 4.260 8.729 34.282 1.00 0.00 H +HETATM 225 H2 HOH A 75 5.209 9.546 33.431 1.00 0.00 H +HETATM 226 O HOH A 76 1.199 8.357 46.881 1.00 0.00 O +HETATM 227 H1 HOH A 76 1.402 8.042 47.762 1.00 0.00 H +HETATM 228 H2 HOH A 76 0.250 8.279 46.809 1.00 0.00 H +HETATM 229 O HOH A 77 17.732 48.670 27.048 1.00 0.00 O +HETATM 230 H1 HOH A 77 17.835 47.719 27.007 1.00 0.00 H +HETATM 231 H2 HOH A 77 17.883 48.968 26.153 1.00 0.00 H +HETATM 232 O HOH A 78 29.805 38.190 27.814 1.00 0.00 O +HETATM 233 H1 HOH A 78 28.966 38.650 27.818 1.00 0.00 H +HETATM 234 H2 HOH A 78 30.421 38.808 28.204 1.00 0.00 H +HETATM 235 O HOH A 79 21.317 23.625 29.134 1.00 0.00 O +HETATM 236 H1 HOH A 79 20.712 23.764 28.405 1.00 0.00 H +HETATM 237 H2 HOH A 79 20.924 24.093 29.867 1.00 0.00 H +HETATM 238 O HOH A 80 42.732 7.143 49.361 1.00 0.00 O +HETATM 239 H1 HOH A 80 42.541 7.515 48.500 1.00 0.00 H +HETATM 240 H2 HOH A 80 42.628 7.873 49.968 1.00 0.00 H +HETATM 241 O HOH A 81 16.255 5.466 38.637 1.00 0.00 O +HETATM 242 H1 HOH A 81 15.533 4.970 39.024 1.00 0.00 H +HETATM 243 H2 HOH A 81 16.744 4.824 38.127 1.00 0.00 H +HETATM 244 O HOH A 82 28.221 24.013 19.080 1.00 0.00 O +HETATM 245 H1 HOH A 82 27.291 24.099 18.870 1.00 0.00 H +HETATM 246 H2 HOH A 82 28.617 24.821 18.759 1.00 0.00 H +HETATM 247 O HOH A 83 9.793 26.257 39.436 1.00 0.00 O +HETATM 248 H1 HOH A 83 9.011 26.319 39.984 1.00 0.00 H +HETATM 249 H2 HOH A 83 9.850 27.106 39.001 1.00 0.00 H +HETATM 250 O HOH A 84 39.514 8.011 42.206 1.00 0.00 O +HETATM 251 H1 HOH A 84 40.130 8.591 42.655 1.00 0.00 H +HETATM 252 H2 HOH A 84 39.971 7.175 42.145 1.00 0.00 H +HETATM 253 O HOH A 85 17.844 2.939 46.079 1.00 0.00 O +HETATM 254 H1 HOH A 85 17.782 2.522 46.939 1.00 0.00 H +HETATM 255 H2 HOH A 85 17.727 2.225 45.455 1.00 0.00 H +HETATM 256 O HOH A 86 48.868 44.392 42.012 1.00 0.00 O +HETATM 257 H1 HOH A 86 48.161 44.921 42.382 1.00 0.00 H +HETATM 258 H2 HOH A 86 48.464 43.922 41.285 1.00 0.00 H +HETATM 259 O HOH A 87 29.407 25.249 43.329 1.00 0.00 O +HETATM 260 H1 HOH A 87 29.004 24.976 42.504 1.00 0.00 H +HETATM 261 H2 HOH A 87 29.695 24.435 43.738 1.00 0.00 H +HETATM 262 O HOH A 88 11.728 38.155 2.936 1.00 0.00 O +HETATM 263 H1 HOH A 88 11.152 38.841 2.599 1.00 0.00 H +HETATM 264 H2 HOH A 88 11.829 37.545 2.207 1.00 0.00 H +HETATM 265 O HOH A 89 42.251 38.405 24.935 1.00 0.00 O +HETATM 266 H1 HOH A 89 43.208 38.419 24.973 1.00 0.00 H +HETATM 267 H2 HOH A 89 41.971 38.828 25.744 1.00 0.00 H +HETATM 268 O HOH A 90 21.103 25.734 44.801 1.00 0.00 O +HETATM 269 H1 HOH A 90 21.103 25.320 43.938 1.00 0.00 H +HETATM 270 H2 HOH A 90 22.026 25.882 44.999 1.00 0.00 H +HETATM 271 O HOH A 91 0.427 32.871 38.868 1.00 0.00 O +HETATM 272 H1 HOH A 91 0.998 33.597 38.616 1.00 0.00 H +HETATM 273 H2 HOH A 91 0.003 32.604 38.054 1.00 0.00 H +HETATM 274 O HOH A 92 49.217 30.965 18.351 1.00 0.00 O +HETATM 275 H1 HOH A 92 49.378 30.404 17.592 1.00 0.00 H +HETATM 276 H2 HOH A 92 48.768 31.730 17.994 1.00 0.00 H +HETATM 277 O HOH A 93 25.706 7.944 23.915 1.00 0.00 O +HETATM 278 H1 HOH A 93 26.560 7.688 24.263 1.00 0.00 H +HETATM 279 H2 HOH A 93 25.078 7.409 24.397 1.00 0.00 H +HETATM 280 O HOH A 94 1.609 42.292 37.577 1.00 0.00 O +HETATM 281 H1 HOH A 94 1.026 41.831 38.181 1.00 0.00 H +HETATM 282 H2 HOH A 94 2.485 42.149 37.931 1.00 0.00 H +HETATM 283 O HOH A 95 20.995 43.565 32.784 1.00 0.00 O +HETATM 284 H1 HOH A 95 20.286 43.882 33.344 1.00 0.00 H +HETATM 285 H2 HOH A 95 21.431 42.892 33.304 1.00 0.00 H +HETATM 286 O HOH A 96 31.514 3.565 5.591 1.00 0.00 O +HETATM 287 H1 HOH A 96 31.494 4.522 5.578 1.00 0.00 H +HETATM 288 H2 HOH A 96 30.612 3.307 5.770 1.00 0.00 H +HETATM 289 O HOH A 97 38.892 31.994 3.332 1.00 0.00 O +HETATM 290 H1 HOH A 97 38.892 32.717 2.705 1.00 0.00 H +HETATM 291 H2 HOH A 97 39.718 31.540 3.178 1.00 0.00 H +HETATM 292 O HOH A 98 30.446 33.862 11.753 1.00 0.00 O +HETATM 293 H1 HOH A 98 31.336 34.106 11.499 1.00 0.00 H +HETATM 294 H2 HOH A 98 30.510 33.648 12.682 1.00 0.00 H +HETATM 295 O HOH A 99 20.091 47.050 42.681 1.00 0.00 O +HETATM 296 H1 HOH A 99 19.353 47.461 42.231 1.00 0.00 H +HETATM 297 H2 HOH A 99 20.324 46.305 42.130 1.00 0.00 H +HETATM 298 O HOH A 100 14.273 31.618 29.238 1.00 0.00 O +HETATM 299 H1 HOH A 100 14.599 30.727 29.116 1.00 0.00 H +HETATM 300 H2 HOH A 100 14.952 32.057 29.747 1.00 0.00 H +HETATM 301 O HOH A 101 38.422 40.348 29.570 1.00 0.00 O +HETATM 302 H1 HOH A 101 39.052 39.635 29.458 1.00 0.00 H +HETATM 303 H2 HOH A 101 38.951 41.143 29.548 1.00 0.00 H +HETATM 304 O HOH A 102 7.507 47.780 9.342 1.00 0.00 O +HETATM 305 H1 HOH A 102 7.159 48.577 8.942 1.00 0.00 H +HETATM 306 H2 HOH A 102 7.977 47.340 8.636 1.00 0.00 H +HETATM 307 O HOH A 103 16.880 25.590 41.072 1.00 0.00 O +HETATM 308 H1 HOH A 103 17.419 25.940 40.362 1.00 0.00 H +HETATM 309 H2 HOH A 103 16.080 25.293 40.644 1.00 0.00 H +HETATM 310 O HOH A 104 27.531 1.908 35.206 1.00 0.00 O +HETATM 311 H1 HOH A 104 28.133 2.044 35.938 1.00 0.00 H +HETATM 312 H2 HOH A 104 26.698 2.265 35.509 1.00 0.00 H +HETATM 313 O HOH A 105 18.598 9.178 45.643 1.00 0.00 O +HETATM 314 H1 HOH A 105 18.553 8.792 46.518 1.00 0.00 H +HETATM 315 H2 HOH A 105 19.004 10.033 45.776 1.00 0.00 H +HETATM 316 O HOH A 106 35.802 8.011 11.689 1.00 0.00 O +HETATM 317 H1 HOH A 106 36.071 8.630 12.368 1.00 0.00 H +HETATM 318 H2 HOH A 106 36.581 7.892 11.148 1.00 0.00 H +HETATM 319 O HOH A 107 5.967 41.290 20.414 1.00 0.00 O +HETATM 320 H1 HOH A 107 5.324 40.621 20.181 1.00 0.00 H +HETATM 321 H2 HOH A 107 5.910 41.935 19.712 1.00 0.00 H +HETATM 322 O HOH A 108 7.595 18.776 47.511 1.00 0.00 O +HETATM 323 H1 HOH A 108 7.337 19.119 48.367 1.00 0.00 H +HETATM 324 H2 HOH A 108 8.057 17.963 47.706 1.00 0.00 H +HETATM 325 O HOH A 109 27.414 33.262 9.719 1.00 0.00 O +HETATM 326 H1 HOH A 109 26.718 33.338 10.373 1.00 0.00 H +HETATM 327 H2 HOH A 109 27.732 32.366 9.808 1.00 0.00 H +HETATM 328 O HOH A 110 14.293 34.508 44.917 1.00 0.00 O +HETATM 329 H1 HOH A 110 13.783 33.838 44.461 1.00 0.00 H +HETATM 330 H2 HOH A 110 15.090 34.059 45.193 1.00 0.00 H +HETATM 331 O HOH A 111 4.375 30.138 15.856 1.00 0.00 O +HETATM 332 H1 HOH A 111 4.898 30.914 16.059 1.00 0.00 H +HETATM 333 H2 HOH A 111 4.968 29.567 15.372 1.00 0.00 H +HETATM 334 O HOH A 112 44.428 30.610 4.467 1.00 0.00 O +HETATM 335 H1 HOH A 112 44.480 30.632 3.511 1.00 0.00 H +HETATM 336 H2 HOH A 112 45.289 30.900 4.763 1.00 0.00 H +HETATM 337 O HOH A 113 46.672 22.349 36.545 1.00 0.00 O +HETATM 338 H1 HOH A 113 46.225 23.169 36.334 1.00 0.00 H +HETATM 339 H2 HOH A 113 47.272 22.206 35.815 1.00 0.00 H +HETATM 340 O HOH A 114 20.688 38.088 21.293 1.00 0.00 O +HETATM 341 H1 HOH A 114 21.467 37.833 20.799 1.00 0.00 H +HETATM 342 H2 HOH A 114 20.980 38.125 22.202 1.00 0.00 H +HETATM 343 O HOH A 115 14.919 39.637 48.870 1.00 0.00 O +HETATM 344 H1 HOH A 115 14.463 40.350 48.422 1.00 0.00 H +HETATM 345 H2 HOH A 115 15.575 39.338 48.244 1.00 0.00 H +HETATM 346 O HOH A 116 5.498 15.531 41.933 1.00 0.00 O +HETATM 347 H1 HOH A 116 4.944 15.058 42.554 1.00 0.00 H +HETATM 348 H2 HOH A 116 6.381 15.452 42.289 1.00 0.00 H +HETATM 349 O HOH A 117 11.622 13.254 49.280 1.00 0.00 O +HETATM 350 H1 HOH A 117 11.424 12.793 48.465 1.00 0.00 H +HETATM 351 H2 HOH A 117 10.790 13.642 49.546 1.00 0.00 H +HETATM 352 O HOH A 118 31.956 15.269 12.934 1.00 0.00 O +HETATM 353 H1 HOH A 118 32.097 14.348 13.151 1.00 0.00 H +HETATM 354 H2 HOH A 118 32.782 15.698 13.150 1.00 0.00 H +HETATM 355 O HOH A 119 22.286 23.872 39.145 1.00 0.00 O +HETATM 356 H1 HOH A 119 23.042 23.531 39.623 1.00 0.00 H +HETATM 357 H2 HOH A 119 22.522 23.782 38.223 1.00 0.00 H +HETATM 358 O HOH A 120 11.045 43.884 36.405 1.00 0.00 O +HETATM 359 H1 HOH A 120 11.107 43.563 37.305 1.00 0.00 H +HETATM 360 H2 HOH A 120 10.896 43.101 35.879 1.00 0.00 H +HETATM 361 O HOH A 121 22.992 7.941 1.949 1.00 0.00 O +HETATM 362 H1 HOH A 121 22.504 7.247 1.506 1.00 0.00 H +HETATM 363 H2 HOH A 121 22.578 8.751 1.655 1.00 0.00 H +HETATM 364 O HOH A 122 5.889 34.711 37.399 1.00 0.00 O +HETATM 365 H1 HOH A 122 5.072 34.218 37.478 1.00 0.00 H +HETATM 366 H2 HOH A 122 5.884 35.044 36.503 1.00 0.00 H +HETATM 367 O HOH A 123 47.497 36.247 46.703 1.00 0.00 O +HETATM 368 H1 HOH A 123 47.488 36.859 45.966 1.00 0.00 H +HETATM 369 H2 HOH A 123 47.618 35.388 46.302 1.00 0.00 H +HETATM 370 O HOH A 124 40.451 48.946 44.772 1.00 0.00 O +HETATM 371 H1 HOH A 124 41.223 49.293 44.325 1.00 0.00 H +HETATM 372 H2 HOH A 124 39.712 49.247 44.246 1.00 0.00 H +HETATM 373 O HOH A 125 16.433 42.097 39.528 1.00 0.00 O +HETATM 374 H1 HOH A 125 16.730 41.559 38.794 1.00 0.00 H +HETATM 375 H2 HOH A 125 16.062 41.473 40.149 1.00 0.00 H +HETATM 376 O HOH A 126 31.541 38.601 7.207 1.00 0.00 O +HETATM 377 H1 HOH A 126 32.086 38.464 6.431 1.00 0.00 H +HETATM 378 H2 HOH A 126 30.841 37.956 7.128 1.00 0.00 H +HETATM 379 O HOH A 127 0.612 37.295 6.270 1.00 0.00 O +HETATM 380 H1 HOH A 127 0.905 37.597 5.410 1.00 0.00 H +HETATM 381 H2 HOH A 127 0.055 38.000 6.596 1.00 0.00 H +HETATM 382 O HOH A 128 46.443 12.298 5.973 1.00 0.00 O +HETATM 383 H1 HOH A 128 46.958 12.424 6.770 1.00 0.00 H +HETATM 384 H2 HOH A 128 45.535 12.379 6.257 1.00 0.00 H +HETATM 385 O HOH A 129 47.549 23.231 47.613 1.00 0.00 O +HETATM 386 H1 HOH A 129 48.268 22.632 47.412 1.00 0.00 H +HETATM 387 H2 HOH A 129 47.188 23.469 46.760 1.00 0.00 H +HETATM 388 O HOH A 130 38.046 16.133 27.846 1.00 0.00 O +HETATM 389 H1 HOH A 130 38.703 16.784 28.091 1.00 0.00 H +HETATM 390 H2 HOH A 130 37.299 16.319 28.412 1.00 0.00 H +HETATM 391 O HOH A 131 21.243 24.954 15.010 1.00 0.00 O +HETATM 392 H1 HOH A 131 21.504 25.816 14.687 1.00 0.00 H +HETATM 393 H2 HOH A 131 21.727 24.336 14.464 1.00 0.00 H +HETATM 394 O HOH A 132 6.098 0.851 4.968 1.00 0.00 O +HETATM 395 H1 HOH A 132 5.664 0.005 5.081 1.00 0.00 H +HETATM 396 H2 HOH A 132 5.702 1.222 4.181 1.00 0.00 H +HETATM 397 O HOH A 133 35.004 49.306 48.884 1.00 0.00 O +HETATM 398 H1 HOH A 133 35.905 49.042 48.698 1.00 0.00 H +HETATM 399 H2 HOH A 133 34.818 49.995 48.249 1.00 0.00 H +HETATM 400 O HOH A 134 41.038 31.736 7.277 1.00 0.00 O +HETATM 401 H1 HOH A 134 41.633 32.058 7.954 1.00 0.00 H +HETATM 402 H2 HOH A 134 40.168 31.995 7.577 1.00 0.00 H +HETATM 403 O HOH A 135 26.669 36.906 6.867 1.00 0.00 O +HETATM 404 H1 HOH A 135 25.717 36.997 6.829 1.00 0.00 H +HETATM 405 H2 HOH A 135 26.855 36.108 6.376 1.00 0.00 H +HETATM 406 O HOH A 136 21.380 16.109 7.514 1.00 0.00 O +HETATM 407 H1 HOH A 136 22.215 15.786 7.852 1.00 0.00 H +HETATM 408 H2 HOH A 136 21.342 15.789 6.615 1.00 0.00 H +HETATM 409 O HOH A 137 46.839 3.073 42.554 1.00 0.00 O +HETATM 410 H1 HOH A 137 46.920 3.851 43.105 1.00 0.00 H +HETATM 411 H2 HOH A 137 47.730 2.734 42.481 1.00 0.00 H +HETATM 412 O HOH A 138 16.644 32.128 47.096 1.00 0.00 O +HETATM 413 H1 HOH A 138 15.724 32.210 47.349 1.00 0.00 H +HETATM 414 H2 HOH A 138 17.117 32.069 47.924 1.00 0.00 H +HETATM 415 O HOH A 139 16.403 48.566 28.807 1.00 0.00 O +HETATM 416 H1 HOH A 139 16.918 48.625 29.612 1.00 0.00 H +HETATM 417 H2 HOH A 139 16.065 47.672 28.802 1.00 0.00 H +HETATM 418 O HOH A 140 5.299 25.530 19.192 1.00 0.00 O +HETATM 419 H1 HOH A 140 5.558 25.981 19.995 1.00 0.00 H +HETATM 420 H2 HOH A 140 4.484 25.085 19.417 1.00 0.00 H +HETATM 421 O HOH A 141 18.139 29.710 0.636 1.00 0.00 O +HETATM 422 H1 HOH A 141 18.427 30.299 1.333 1.00 0.00 H +HETATM 423 H2 HOH A 141 18.947 29.406 0.227 1.00 0.00 H +HETATM 424 O HOH A 142 48.630 38.232 31.076 1.00 0.00 O +HETATM 425 H1 HOH A 142 47.989 38.511 31.730 1.00 0.00 H +HETATM 426 H2 HOH A 142 48.111 37.810 30.394 1.00 0.00 H +HETATM 427 O HOH A 143 44.693 31.708 7.745 1.00 0.00 O +HETATM 428 H1 HOH A 143 43.961 31.504 7.163 1.00 0.00 H +HETATM 429 H2 HOH A 143 45.003 32.563 7.452 1.00 0.00 H +HETATM 430 O HOH A 144 44.045 8.301 26.038 1.00 0.00 O +HETATM 431 H1 HOH A 144 43.385 8.786 26.534 1.00 0.00 H +HETATM 432 H2 HOH A 144 43.700 8.266 25.147 1.00 0.00 H +HETATM 433 O HOH A 145 2.437 23.621 30.311 1.00 0.00 O +HETATM 434 H1 HOH A 145 2.809 23.674 31.192 1.00 0.00 H +HETATM 435 H2 HOH A 145 3.188 23.470 29.741 1.00 0.00 H +HETATM 436 O HOH A 146 32.696 21.306 12.777 1.00 0.00 O +HETATM 437 H1 HOH A 146 31.747 21.201 12.696 1.00 0.00 H +HETATM 438 H2 HOH A 146 32.835 22.251 12.766 1.00 0.00 H +HETATM 439 O HOH A 147 9.841 15.239 15.184 1.00 0.00 O +HETATM 440 H1 HOH A 147 10.627 15.723 14.930 1.00 0.00 H +HETATM 441 H2 HOH A 147 9.147 15.599 14.635 1.00 0.00 H +HETATM 442 O HOH A 148 38.483 44.372 36.216 1.00 0.00 O +HETATM 443 H1 HOH A 148 38.996 43.818 36.805 1.00 0.00 H +HETATM 444 H2 HOH A 148 38.715 45.265 36.460 1.00 0.00 H +HETATM 445 O HOH A 149 23.546 29.948 49.958 1.00 0.00 O +HETATM 446 H1 HOH A 149 22.849 29.881 49.305 1.00 0.00 H +HETATM 447 H2 HOH A 149 23.997 30.764 49.748 1.00 0.00 H +HETATM 448 O HOH A 150 32.581 40.735 7.418 1.00 0.00 O +HETATM 449 H1 HOH A 150 32.644 40.750 8.373 1.00 0.00 H +HETATM 450 H2 HOH A 150 31.833 41.294 7.216 1.00 0.00 H +HETATM 451 O HOH A 151 11.491 49.695 21.664 1.00 0.00 O +HETATM 452 H1 HOH A 151 11.081 49.877 20.818 1.00 0.00 H +HETATM 453 H2 HOH A 151 10.881 49.108 22.107 1.00 0.00 H +HETATM 454 O HOH A 152 42.077 18.402 9.716 1.00 0.00 O +HETATM 455 H1 HOH A 152 41.765 18.746 8.879 1.00 0.00 H +HETATM 456 H2 HOH A 152 43.003 18.216 9.570 1.00 0.00 H +HETATM 457 O HOH A 153 9.811 32.811 21.913 1.00 0.00 O +HETATM 458 H1 HOH A 153 8.998 32.374 21.661 1.00 0.00 H +HETATM 459 H2 HOH A 153 9.858 33.580 21.347 1.00 0.00 H +HETATM 460 O HOH A 154 31.511 3.291 2.057 1.00 0.00 O +HETATM 461 H1 HOH A 154 32.047 2.498 2.016 1.00 0.00 H +HETATM 462 H2 HOH A 154 32.012 3.945 1.574 1.00 0.00 H +HETATM 463 O HOH A 155 30.609 34.589 32.551 1.00 0.00 O +HETATM 464 H1 HOH A 155 29.844 34.976 32.126 1.00 0.00 H +HETATM 465 H2 HOH A 155 31.355 34.921 32.056 1.00 0.00 H +HETATM 466 O HOH A 156 33.475 41.242 16.494 1.00 0.00 O +HETATM 467 H1 HOH A 156 34.136 40.925 15.879 1.00 0.00 H +HETATM 468 H2 HOH A 156 32.680 41.330 15.972 1.00 0.00 H +HETATM 469 O HOH A 157 37.770 16.970 40.700 1.00 0.00 O +HETATM 470 H1 HOH A 157 38.390 16.990 39.971 1.00 0.00 H +HETATM 471 H2 HOH A 157 38.181 16.406 41.353 1.00 0.00 H +HETATM 472 O HOH A 158 20.332 8.906 24.932 1.00 0.00 O +HETATM 473 H1 HOH A 158 20.661 8.529 24.116 1.00 0.00 H +HETATM 474 H2 HOH A 158 21.026 9.494 25.224 1.00 0.00 H +HETATM 475 O HOH A 159 19.913 40.848 43.124 1.00 0.00 O +HETATM 476 H1 HOH A 159 19.615 39.968 43.358 1.00 0.00 H +HETATM 477 H2 HOH A 159 20.571 40.707 42.445 1.00 0.00 H +HETATM 478 O HOH A 160 34.903 15.713 44.966 1.00 0.00 O +HETATM 479 H1 HOH A 160 35.157 14.856 45.309 1.00 0.00 H +HETATM 480 H2 HOH A 160 35.256 16.339 45.596 1.00 0.00 H +HETATM 481 O HOH A 161 16.756 4.892 32.410 1.00 0.00 O +HETATM 482 H1 HOH A 161 17.588 4.435 32.531 1.00 0.00 H +HETATM 483 H2 HOH A 161 16.267 4.346 31.797 1.00 0.00 H +HETATM 484 O HOH A 162 20.926 29.788 22.021 1.00 0.00 O +HETATM 485 H1 HOH A 162 20.371 29.944 22.785 1.00 0.00 H +HETATM 486 H2 HOH A 162 20.506 29.065 21.560 1.00 0.00 H +HETATM 487 O HOH A 163 46.571 5.620 8.627 1.00 0.00 O +HETATM 488 H1 HOH A 163 45.774 6.150 8.622 1.00 0.00 H +HETATM 489 H2 HOH A 163 46.344 4.838 8.126 1.00 0.00 H +HETATM 490 O HOH A 164 27.339 13.897 10.465 1.00 0.00 O +HETATM 491 H1 HOH A 164 26.823 13.481 9.773 1.00 0.00 H +HETATM 492 H2 HOH A 164 27.585 14.747 10.105 1.00 0.00 H +HETATM 493 O HOH A 165 31.281 11.457 16.843 1.00 0.00 O +HETATM 494 H1 HOH A 165 31.381 12.270 17.339 1.00 0.00 H +HETATM 495 H2 HOH A 165 30.456 11.086 17.152 1.00 0.00 H +HETATM 496 O HOH A 166 11.629 43.905 25.743 1.00 0.00 O +HETATM 497 H1 HOH A 166 11.144 44.318 25.029 1.00 0.00 H +HETATM 498 H2 HOH A 166 12.297 44.544 25.983 1.00 0.00 H +HETATM 499 O HOH A 167 27.593 49.424 46.476 1.00 0.00 O +HETATM 500 H1 HOH A 167 26.866 49.956 46.800 1.00 0.00 H +HETATM 501 H2 HOH A 167 28.221 49.409 47.196 1.00 0.00 H +HETATM 502 O HOH A 168 7.488 38.316 1.522 1.00 0.00 O +HETATM 503 H1 HOH A 168 8.039 37.540 1.632 1.00 0.00 H +HETATM 504 H2 HOH A 168 8.098 39.051 1.544 1.00 0.00 H +HETATM 505 O HOH A 169 27.930 3.077 22.804 1.00 0.00 O +HETATM 506 H1 HOH A 169 26.987 2.957 22.693 1.00 0.00 H +HETATM 507 H2 HOH A 169 28.318 2.674 22.029 1.00 0.00 H +HETATM 508 O HOH A 170 22.588 29.803 25.328 1.00 0.00 O +HETATM 509 H1 HOH A 170 21.955 30.513 25.222 1.00 0.00 H +HETATM 510 H2 HOH A 170 22.778 29.786 26.264 1.00 0.00 H +HETATM 511 O HOH A 171 25.079 2.225 6.224 1.00 0.00 O +HETATM 512 H1 HOH A 171 24.301 2.512 5.746 1.00 0.00 H +HETATM 513 H2 HOH A 171 25.796 2.730 5.844 1.00 0.00 H +HETATM 514 O HOH A 172 43.046 26.916 5.457 1.00 0.00 O +HETATM 515 H1 HOH A 172 43.690 26.899 6.164 1.00 0.00 H +HETATM 516 H2 HOH A 172 42.805 26.001 5.327 1.00 0.00 H +HETATM 517 O HOH A 173 42.017 2.030 33.274 1.00 0.00 O +HETATM 518 H1 HOH A 173 41.953 2.026 32.319 1.00 0.00 H +HETATM 519 H2 HOH A 173 41.156 1.744 33.575 1.00 0.00 H +HETATM 520 O HOH A 174 38.595 41.652 23.812 1.00 0.00 O +HETATM 521 H1 HOH A 174 38.786 40.916 23.230 1.00 0.00 H +HETATM 522 H2 HOH A 174 37.846 42.089 23.411 1.00 0.00 H +HETATM 523 O HOH A 175 16.200 44.305 42.349 1.00 0.00 O +HETATM 524 H1 HOH A 175 15.472 44.103 42.937 1.00 0.00 H +HETATM 525 H2 HOH A 175 15.925 45.096 41.888 1.00 0.00 H +HETATM 526 O HOH A 176 4.993 29.996 4.393 1.00 0.00 O +HETATM 527 H1 HOH A 176 5.739 29.751 4.940 1.00 0.00 H +HETATM 528 H2 HOH A 176 5.380 30.247 3.556 1.00 0.00 H +HETATM 529 O HOH A 177 3.473 49.333 39.885 1.00 0.00 O +HETATM 530 H1 HOH A 177 4.355 49.360 40.256 1.00 0.00 H +HETATM 531 H2 HOH A 177 2.983 49.988 40.379 1.00 0.00 H +HETATM 532 O HOH A 178 14.655 12.992 2.773 1.00 0.00 O +HETATM 533 H1 HOH A 178 15.231 13.741 2.929 1.00 0.00 H +HETATM 534 H2 HOH A 178 13.786 13.299 3.023 1.00 0.00 H +HETATM 535 O HOH A 179 43.176 23.824 5.206 1.00 0.00 O +HETATM 536 H1 HOH A 179 42.999 22.997 5.654 1.00 0.00 H +HETATM 537 H2 HOH A 179 42.849 23.693 4.318 1.00 0.00 H +HETATM 538 O HOH A 180 5.085 4.543 3.763 1.00 0.00 O +HETATM 539 H1 HOH A 180 4.738 5.299 4.237 1.00 0.00 H +HETATM 540 H2 HOH A 180 4.670 3.788 4.177 1.00 0.00 H +HETATM 541 O HOH A 181 49.920 46.860 39.697 1.00 0.00 O +HETATM 542 H1 HOH A 181 49.453 47.197 40.462 1.00 0.00 H +HETATM 543 H2 HOH A 181 49.996 45.921 39.854 1.00 0.00 H +HETATM 544 O HOH A 182 13.467 6.961 32.688 1.00 0.00 O +HETATM 545 H1 HOH A 182 13.391 6.127 32.225 1.00 0.00 H +HETATM 546 H2 HOH A 182 12.870 7.548 32.226 1.00 0.00 H +HETATM 547 O HOH A 183 32.681 32.570 2.170 1.00 0.00 O +HETATM 548 H1 HOH A 183 31.816 32.673 2.568 1.00 0.00 H +HETATM 549 H2 HOH A 183 32.524 32.639 1.231 1.00 0.00 H +HETATM 550 O HOH A 184 30.853 7.823 25.435 1.00 0.00 O +HETATM 551 H1 HOH A 184 30.277 7.067 25.320 1.00 0.00 H +HETATM 552 H2 HOH A 184 30.466 8.313 26.158 1.00 0.00 H +HETATM 553 O HOH A 185 1.430 4.582 47.854 1.00 0.00 O +HETATM 554 H1 HOH A 185 0.995 5.062 48.559 1.00 0.00 H +HETATM 555 H2 HOH A 185 1.201 3.667 48.008 1.00 0.00 H +HETATM 556 O HOH A 186 30.226 37.405 24.165 1.00 0.00 O +HETATM 557 H1 HOH A 186 29.723 36.592 24.217 1.00 0.00 H +HETATM 558 H2 HOH A 186 31.136 37.134 24.271 1.00 0.00 H +HETATM 559 O HOH A 187 22.862 37.691 5.296 1.00 0.00 O +HETATM 560 H1 HOH A 187 23.478 37.523 6.010 1.00 0.00 H +HETATM 561 H2 HOH A 187 22.556 38.583 5.447 1.00 0.00 H +HETATM 562 O HOH A 188 40.674 39.983 41.945 1.00 0.00 O +HETATM 563 H1 HOH A 188 39.952 39.551 41.488 1.00 0.00 H +HETATM 564 H2 HOH A 188 40.717 40.855 41.557 1.00 0.00 H +HETATM 565 O HOH A 189 11.523 0.251 34.418 1.00 0.00 O +HETATM 566 H1 HOH A 189 11.552 1.203 34.523 1.00 0.00 H +HETATM 567 H2 HOH A 189 12.332 0.034 33.959 1.00 0.00 H +HETATM 568 O HOH A 190 1.773 22.373 3.296 1.00 0.00 O +HETATM 569 H1 HOH A 190 2.003 21.712 3.949 1.00 0.00 H +HETATM 570 H2 HOH A 190 2.171 23.179 3.617 1.00 0.00 H +HETATM 571 O HOH A 191 48.516 26.257 29.814 1.00 0.00 O +HETATM 572 H1 HOH A 191 49.335 26.730 29.959 1.00 0.00 H +HETATM 573 H2 HOH A 191 47.838 26.929 29.864 1.00 0.00 H +HETATM 574 O HOH A 192 48.953 31.403 4.436 1.00 0.00 O +HETATM 575 H1 HOH A 192 48.478 32.172 4.118 1.00 0.00 H +HETATM 576 H2 HOH A 192 49.079 30.860 3.660 1.00 0.00 H +HETATM 577 O HOH A 193 9.456 5.978 43.179 1.00 0.00 O +HETATM 578 H1 HOH A 193 8.979 6.259 43.960 1.00 0.00 H +HETATM 579 H2 HOH A 193 9.297 6.669 42.539 1.00 0.00 H +HETATM 580 O HOH A 194 31.701 9.900 37.973 1.00 0.00 O +HETATM 581 H1 HOH A 194 31.991 10.601 38.557 1.00 0.00 H +HETATM 582 H2 HOH A 194 30.793 9.739 38.221 1.00 0.00 H +HETATM 583 O HOH A 195 28.190 36.953 9.904 1.00 0.00 O +HETATM 584 H1 HOH A 195 27.972 37.357 9.064 1.00 0.00 H +HETATM 585 H2 HOH A 195 28.220 37.682 10.521 1.00 0.00 H +HETATM 586 O HOH A 196 17.262 25.041 12.174 1.00 0.00 O +HETATM 587 H1 HOH A 196 17.569 24.489 11.455 1.00 0.00 H +HETATM 588 H2 HOH A 196 16.388 25.321 11.908 1.00 0.00 H +HETATM 589 O HOH A 197 39.014 22.758 12.611 1.00 0.00 O +HETATM 590 H1 HOH A 197 39.097 22.274 11.789 1.00 0.00 H +HETATM 591 H2 HOH A 197 38.732 22.105 13.249 1.00 0.00 H +HETATM 592 O HOH A 198 39.306 24.018 2.933 1.00 0.00 O +HETATM 593 H1 HOH A 198 39.429 23.069 2.976 1.00 0.00 H +HETATM 594 H2 HOH A 198 38.692 24.150 2.213 1.00 0.00 H +HETATM 595 O HOH A 199 28.771 49.695 4.931 1.00 0.00 O +HETATM 596 H1 HOH A 199 29.215 49.569 5.770 1.00 0.00 H +HETATM 597 H2 HOH A 199 27.896 50.000 5.165 1.00 0.00 H +HETATM 598 O HOH A 200 10.530 26.023 15.999 1.00 0.00 O +HETATM 599 H1 HOH A 200 9.654 26.032 15.614 1.00 0.00 H +HETATM 600 H2 HOH A 200 10.936 26.832 15.695 1.00 0.00 H +HETATM 601 O HOH A 201 24.417 25.009 1.612 1.00 0.00 O +HETATM 602 H1 HOH A 201 24.564 25.877 1.235 1.00 0.00 H +HETATM 603 H2 HOH A 201 23.681 25.127 2.209 1.00 0.00 H +HETATM 604 O HOH A 202 9.546 41.461 48.203 1.00 0.00 O +HETATM 605 H1 HOH A 202 9.050 41.833 48.933 1.00 0.00 H +HETATM 606 H2 HOH A 202 9.653 40.539 48.429 1.00 0.00 H +HETATM 607 O HOH A 203 16.056 32.958 11.056 1.00 0.00 O +HETATM 608 H1 HOH A 203 15.565 32.495 10.378 1.00 0.00 H +HETATM 609 H2 HOH A 203 15.984 33.881 10.818 1.00 0.00 H +HETATM 610 O HOH A 204 10.169 24.718 30.067 1.00 0.00 O +HETATM 611 H1 HOH A 204 9.679 24.897 29.265 1.00 0.00 H +HETATM 612 H2 HOH A 204 10.010 23.793 30.247 1.00 0.00 H +HETATM 613 O HOH A 205 49.646 43.995 44.122 1.00 0.00 O +HETATM 614 H1 HOH A 205 49.398 44.688 44.735 1.00 0.00 H +HETATM 615 H2 HOH A 205 49.244 43.204 44.476 1.00 0.00 H +HETATM 616 O HOH A 206 23.292 31.088 29.956 1.00 0.00 O +HETATM 617 H1 HOH A 206 23.270 31.292 29.021 1.00 0.00 H +HETATM 618 H2 HOH A 206 23.823 31.781 30.343 1.00 0.00 H +HETATM 619 O HOH A 207 21.321 4.258 15.291 1.00 0.00 O +HETATM 620 H1 HOH A 207 21.469 3.639 14.575 1.00 0.00 H +HETATM 621 H2 HOH A 207 20.633 4.837 14.970 1.00 0.00 H +HETATM 622 O HOH A 208 45.943 25.910 40.486 1.00 0.00 O +HETATM 623 H1 HOH A 208 45.493 26.516 39.897 1.00 0.00 H +HETATM 624 H2 HOH A 208 46.835 25.862 40.147 1.00 0.00 H +HETATM 625 O HOH A 209 23.763 21.646 21.049 1.00 0.00 O +HETATM 626 H1 HOH A 209 24.190 22.500 21.120 1.00 0.00 H +HETATM 627 H2 HOH A 209 24.428 21.073 20.673 1.00 0.00 H +HETATM 628 O HOH A 210 20.855 27.815 1.501 1.00 0.00 O +HETATM 629 H1 HOH A 210 21.576 27.617 2.099 1.00 0.00 H +HETATM 630 H2 HOH A 210 20.284 28.399 1.997 1.00 0.00 H +HETATM 631 O HOH A 211 24.108 37.417 9.267 1.00 0.00 O +HETATM 632 H1 HOH A 211 23.281 37.370 8.786 1.00 0.00 H +HETATM 633 H2 HOH A 211 24.117 38.293 9.648 1.00 0.00 H +HETATM 634 O HOH A 212 25.984 3.490 13.636 1.00 0.00 O +HETATM 635 H1 HOH A 212 25.368 2.881 14.043 1.00 0.00 H +HETATM 636 H2 HOH A 212 26.045 3.201 12.727 1.00 0.00 H +HETATM 637 O HOH A 213 3.720 24.943 2.909 1.00 0.00 O +HETATM 638 H1 HOH A 213 3.252 24.515 2.192 1.00 0.00 H +HETATM 639 H2 HOH A 213 4.124 24.227 3.396 1.00 0.00 H +HETATM 640 O HOH A 214 20.947 49.086 28.589 1.00 0.00 O +HETATM 641 H1 HOH A 214 20.279 49.751 28.758 1.00 0.00 H +HETATM 642 H2 HOH A 214 20.502 48.424 28.064 1.00 0.00 H +HETATM 643 O HOH A 215 47.409 30.486 45.729 1.00 0.00 O +HETATM 644 H1 HOH A 215 47.339 30.757 46.645 1.00 0.00 H +HETATM 645 H2 HOH A 215 48.072 29.799 45.731 1.00 0.00 H +HETATM 646 O HOH A 216 3.064 33.066 35.397 1.00 0.00 O +HETATM 647 H1 HOH A 216 3.249 33.762 34.766 1.00 0.00 H +HETATM 648 H2 HOH A 216 3.227 33.464 36.250 1.00 0.00 H +HETATM 649 O HOH A 217 41.111 49.499 25.079 1.00 0.00 O +HETATM 650 H1 HOH A 217 41.237 48.558 24.953 1.00 0.00 H +HETATM 651 H2 HOH A 217 41.645 49.715 25.841 1.00 0.00 H +HETATM 652 O HOH A 218 40.002 42.842 31.581 1.00 0.00 O +HETATM 653 H1 HOH A 218 40.050 43.663 32.072 1.00 0.00 H +HETATM 654 H2 HOH A 218 40.430 42.199 32.143 1.00 0.00 H +HETATM 655 O HOH A 219 11.100 16.528 7.630 1.00 0.00 O +HETATM 656 H1 HOH A 219 11.530 15.922 7.025 1.00 0.00 H +HETATM 657 H2 HOH A 219 10.643 17.149 7.066 1.00 0.00 H +HETATM 658 O HOH A 220 8.327 19.626 37.582 1.00 0.00 O +HETATM 659 H1 HOH A 220 8.540 20.009 36.731 1.00 0.00 H +HETATM 660 H2 HOH A 220 9.174 19.412 37.969 1.00 0.00 H +HETATM 661 O HOH A 221 8.611 32.444 38.427 1.00 0.00 O +HETATM 662 H1 HOH A 221 9.386 32.371 38.985 1.00 0.00 H +HETATM 663 H2 HOH A 221 8.647 33.333 38.079 1.00 0.00 H +HETATM 664 O HOH A 222 32.992 13.476 19.962 1.00 0.00 O +HETATM 665 H1 HOH A 222 32.991 12.665 20.470 1.00 0.00 H +HETATM 666 H2 HOH A 222 33.589 14.055 20.432 1.00 0.00 H +HETATM 667 O HOH A 223 46.724 33.958 21.015 1.00 0.00 O +HETATM 668 H1 HOH A 223 46.679 34.356 20.146 1.00 0.00 H +HETATM 669 H2 HOH A 223 47.567 33.508 21.031 1.00 0.00 H +HETATM 670 O HOH A 224 7.194 33.808 26.261 1.00 0.00 O +HETATM 671 H1 HOH A 224 6.240 33.873 26.214 1.00 0.00 H +HETATM 672 H2 HOH A 224 7.366 32.878 26.397 1.00 0.00 H +HETATM 673 O HOH A 225 8.135 41.762 30.866 1.00 0.00 O +HETATM 674 H1 HOH A 225 7.579 42.479 30.560 1.00 0.00 H +HETATM 675 H2 HOH A 225 7.586 41.276 31.478 1.00 0.00 H +HETATM 676 O HOH A 226 24.786 22.809 15.681 1.00 0.00 O +HETATM 677 H1 HOH A 226 24.469 23.592 15.230 1.00 0.00 H +HETATM 678 H2 HOH A 226 24.570 22.088 15.092 1.00 0.00 H +HETATM 679 O HOH A 227 9.390 48.700 12.541 1.00 0.00 O +HETATM 680 H1 HOH A 227 9.275 49.316 13.266 1.00 0.00 H +HETATM 681 H2 HOH A 227 9.347 47.837 12.949 1.00 0.00 H +HETATM 682 O HOH A 228 26.651 37.376 44.836 1.00 0.00 O +HETATM 683 H1 HOH A 228 26.908 36.600 45.334 1.00 0.00 H +HETATM 684 H2 HOH A 228 26.316 37.033 44.009 1.00 0.00 H +HETATM 685 O HOH A 229 46.070 2.407 17.247 1.00 0.00 O +HETATM 686 H1 HOH A 229 46.868 2.492 16.724 1.00 0.00 H +HETATM 687 H2 HOH A 229 45.639 1.626 16.904 1.00 0.00 H +HETATM 688 O HOH A 230 42.495 37.411 21.587 1.00 0.00 O +HETATM 689 H1 HOH A 230 42.178 36.673 21.066 1.00 0.00 H +HETATM 690 H2 HOH A 230 41.703 37.869 21.864 1.00 0.00 H +HETATM 691 O HOH A 231 22.092 33.705 44.529 1.00 0.00 O +HETATM 692 H1 HOH A 231 22.847 33.380 45.019 1.00 0.00 H +HETATM 693 H2 HOH A 231 21.433 33.018 44.617 1.00 0.00 H +HETATM 694 O HOH A 232 15.949 3.189 21.628 1.00 0.00 O +HETATM 695 H1 HOH A 232 15.480 3.488 20.848 1.00 0.00 H +HETATM 696 H2 HOH A 232 16.826 3.556 21.538 1.00 0.00 H +HETATM 697 O HOH A 233 44.107 47.629 38.976 1.00 0.00 O +HETATM 698 H1 HOH A 233 44.552 48.455 39.166 1.00 0.00 H +HETATM 699 H2 HOH A 233 43.524 47.492 39.721 1.00 0.00 H +HETATM 700 O HOH A 234 49.993 33.094 37.445 1.00 0.00 O +HETATM 701 H1 HOH A 234 49.409 32.397 37.145 1.00 0.00 H +HETATM 702 H2 HOH A 234 49.769 33.847 36.901 1.00 0.00 H +HETATM 703 O HOH A 235 26.841 6.559 12.164 1.00 0.00 O +HETATM 704 H1 HOH A 235 26.902 7.283 11.540 1.00 0.00 H +HETATM 705 H2 HOH A 235 27.379 5.867 11.785 1.00 0.00 H +HETATM 706 O HOH A 236 49.478 25.544 32.415 1.00 0.00 O +HETATM 707 H1 HOH A 236 49.343 24.895 31.724 1.00 0.00 H +HETATM 708 H2 HOH A 236 50.000 26.230 32.004 1.00 0.00 H +HETATM 709 O HOH A 237 44.802 47.887 15.447 1.00 0.00 O +HETATM 710 H1 HOH A 237 45.029 47.292 14.733 1.00 0.00 H +HETATM 711 H2 HOH A 237 43.919 48.187 15.241 1.00 0.00 H +HETATM 712 O HOH A 238 36.338 36.398 26.144 1.00 0.00 O +HETATM 713 H1 HOH A 238 37.125 36.085 25.697 1.00 0.00 H +HETATM 714 H2 HOH A 238 36.497 36.215 27.068 1.00 0.00 H +HETATM 715 O HOH A 239 47.968 42.245 9.473 1.00 0.00 O +HETATM 716 H1 HOH A 239 47.845 41.299 9.556 1.00 0.00 H +HETATM 717 H2 HOH A 239 47.223 42.540 8.953 1.00 0.00 H +HETATM 718 O HOH A 240 0.920 2.386 6.555 1.00 0.00 O +HETATM 719 H1 HOH A 240 1.303 2.603 7.406 1.00 0.00 H +HETATM 720 H2 HOH A 240 0.553 3.208 6.239 1.00 0.00 H +HETATM 721 O HOH A 241 19.757 22.689 38.075 1.00 0.00 O +HETATM 722 H1 HOH A 241 20.100 23.185 37.331 1.00 0.00 H +HETATM 723 H2 HOH A 241 19.583 21.817 37.724 1.00 0.00 H +HETATM 724 O HOH A 242 4.961 16.536 25.784 1.00 0.00 O +HETATM 725 H1 HOH A 242 5.816 16.910 25.571 1.00 0.00 H +HETATM 726 H2 HOH A 242 4.821 15.862 25.122 1.00 0.00 H +HETATM 727 O HOH A 243 4.778 33.764 3.987 1.00 0.00 O +HETATM 728 H1 HOH A 243 5.297 34.388 3.479 1.00 0.00 H +HETATM 729 H2 HOH A 243 4.078 33.494 3.395 1.00 0.00 H +HETATM 730 O HOH A 244 40.482 45.841 25.384 1.00 0.00 O +HETATM 731 H1 HOH A 244 39.828 45.174 25.593 1.00 0.00 H +HETATM 732 H2 HOH A 244 40.047 46.672 25.565 1.00 0.00 H +HETATM 733 O HOH A 245 8.226 3.152 7.200 1.00 0.00 O +HETATM 734 H1 HOH A 245 9.004 2.595 7.202 1.00 0.00 H +HETATM 735 H2 HOH A 245 8.503 3.953 6.760 1.00 0.00 H +HETATM 736 O HOH A 246 16.814 36.361 43.840 1.00 0.00 O +HETATM 737 H1 HOH A 246 17.170 35.478 43.742 1.00 0.00 H +HETATM 738 H2 HOH A 246 17.411 36.796 44.446 1.00 0.00 H +HETATM 739 O HOH A 247 12.467 39.184 43.949 1.00 0.00 O +HETATM 740 H1 HOH A 247 11.670 39.482 43.510 1.00 0.00 H +HETATM 741 H2 HOH A 247 13.172 39.673 43.529 1.00 0.00 H +HETATM 742 O HOH A 248 45.796 46.573 8.069 1.00 0.00 O +HETATM 743 H1 HOH A 248 46.209 46.854 7.252 1.00 0.00 H +HETATM 744 H2 HOH A 248 45.911 45.625 8.084 1.00 0.00 H +HETATM 745 O HOH A 249 31.636 17.425 3.673 1.00 0.00 O +HETATM 746 H1 HOH A 249 32.420 16.883 3.761 1.00 0.00 H +HETATM 747 H2 HOH A 249 30.973 16.836 3.318 1.00 0.00 H +HETATM 748 O HOH A 250 33.046 2.496 20.363 1.00 0.00 O +HETATM 749 H1 HOH A 250 33.609 2.155 19.668 1.00 0.00 H +HETATM 750 H2 HOH A 250 32.305 1.894 20.391 1.00 0.00 H +HETATM 751 O HOH A 251 22.488 47.553 16.015 1.00 0.00 O +HETATM 752 H1 HOH A 251 22.762 47.379 15.114 1.00 0.00 H +HETATM 753 H2 HOH A 251 21.591 47.230 16.061 1.00 0.00 H +HETATM 754 O HOH A 252 32.223 48.328 19.335 1.00 0.00 O +HETATM 755 H1 HOH A 252 32.516 49.240 19.324 1.00 0.00 H +HETATM 756 H2 HOH A 252 32.680 47.937 20.078 1.00 0.00 H +HETATM 757 O HOH A 253 39.221 15.712 12.464 1.00 0.00 O +HETATM 758 H1 HOH A 253 39.487 16.070 11.617 1.00 0.00 H +HETATM 759 H2 HOH A 253 39.252 14.764 12.346 1.00 0.00 H +HETATM 760 O HOH A 254 49.371 12.566 25.498 1.00 0.00 O +HETATM 761 H1 HOH A 254 50.000 13.280 25.603 1.00 0.00 H +HETATM 762 H2 HOH A 254 48.585 12.984 25.152 1.00 0.00 H +HETATM 763 O HOH A 255 45.767 20.725 4.049 1.00 0.00 O +HETATM 764 H1 HOH A 255 45.899 21.661 4.201 1.00 0.00 H +HETATM 765 H2 HOH A 255 46.636 20.340 4.144 1.00 0.00 H +HETATM 766 O HOH A 256 8.350 30.570 35.016 1.00 0.00 O +HETATM 767 H1 HOH A 256 8.545 31.304 35.600 1.00 0.00 H +HETATM 768 H2 HOH A 256 7.448 30.331 35.223 1.00 0.00 H +HETATM 769 O HOH A 257 6.668 2.583 17.425 1.00 0.00 O +HETATM 770 H1 HOH A 257 6.375 3.493 17.478 1.00 0.00 H +HETATM 771 H2 HOH A 257 5.862 2.069 17.439 1.00 0.00 H +HETATM 772 O HOH A 258 2.896 25.375 36.149 1.00 0.00 O +HETATM 773 H1 HOH A 258 3.799 25.483 35.851 1.00 0.00 H +HETATM 774 H2 HOH A 258 2.533 24.701 35.577 1.00 0.00 H +HETATM 775 O HOH A 259 37.926 46.308 28.242 1.00 0.00 O +HETATM 776 H1 HOH A 259 37.760 47.226 28.025 1.00 0.00 H +HETATM 777 H2 HOH A 259 38.650 46.334 28.865 1.00 0.00 H +HETATM 778 O HOH A 260 6.359 32.728 46.267 1.00 0.00 O +HETATM 779 H1 HOH A 260 7.261 32.587 46.555 1.00 0.00 H +HETATM 780 H2 HOH A 260 6.250 33.677 46.273 1.00 0.00 H +HETATM 781 O HOH A 261 35.511 30.025 15.336 1.00 0.00 O +HETATM 782 H1 HOH A 261 34.644 29.644 15.479 1.00 0.00 H +HETATM 783 H2 HOH A 261 36.080 29.569 15.953 1.00 0.00 H +HETATM 784 O HOH A 262 10.205 33.369 33.228 1.00 0.00 O +HETATM 785 H1 HOH A 262 10.445 32.547 32.800 1.00 0.00 H +HETATM 786 H2 HOH A 262 10.930 33.961 33.037 1.00 0.00 H +HETATM 787 O HOH A 263 13.272 34.118 7.111 1.00 0.00 O +HETATM 788 H1 HOH A 263 12.599 34.034 7.788 1.00 0.00 H +HETATM 789 H2 HOH A 263 14.060 33.752 7.508 1.00 0.00 H +HETATM 790 O HOH A 264 20.925 4.120 41.968 1.00 0.00 O +HETATM 791 H1 HOH A 264 20.815 4.206 41.021 1.00 0.00 H +HETATM 792 H2 HOH A 264 21.408 4.902 42.228 1.00 0.00 H +HETATM 793 O HOH A 265 15.922 44.150 37.173 1.00 0.00 O +HETATM 794 H1 HOH A 265 15.469 44.775 36.607 1.00 0.00 H +HETATM 795 H2 HOH A 265 16.570 43.736 36.606 1.00 0.00 H +HETATM 796 O HOH A 266 12.918 24.815 25.567 1.00 0.00 O +HETATM 797 H1 HOH A 266 12.389 24.170 25.098 1.00 0.00 H +HETATM 798 H2 HOH A 266 12.965 25.565 24.976 1.00 0.00 H +HETATM 799 O HOH A 267 43.154 0.800 18.471 1.00 0.00 O +HETATM 800 H1 HOH A 267 43.152 1.716 18.193 1.00 0.00 H +HETATM 801 H2 HOH A 267 43.517 0.816 19.354 1.00 0.00 H +HETATM 802 O HOH A 268 12.343 6.684 49.427 1.00 0.00 O +HETATM 803 H1 HOH A 268 12.251 7.448 49.997 1.00 0.00 H +HETATM 804 H2 HOH A 268 11.742 6.037 49.790 1.00 0.00 H +HETATM 805 O HOH A 269 27.065 7.953 36.916 1.00 0.00 O +HETATM 806 H1 HOH A 269 27.819 8.452 36.600 1.00 0.00 H +HETATM 807 H2 HOH A 269 26.959 7.248 36.281 1.00 0.00 H +HETATM 808 O HOH A 270 46.680 5.017 2.258 1.00 0.00 O +HETATM 809 H1 HOH A 270 45.904 4.541 2.553 1.00 0.00 H +HETATM 810 H2 HOH A 270 47.336 4.852 2.933 1.00 0.00 H +HETATM 811 O HOH A 271 37.122 27.106 20.471 1.00 0.00 O +HETATM 812 H1 HOH A 271 37.820 27.598 20.904 1.00 0.00 H +HETATM 813 H2 HOH A 271 36.341 27.644 20.586 1.00 0.00 H +HETATM 814 O HOH A 272 36.262 32.606 23.681 1.00 0.00 O +HETATM 815 H1 HOH A 272 36.864 32.173 24.287 1.00 0.00 H +HETATM 816 H2 HOH A 272 36.525 33.524 23.695 1.00 0.00 H +HETATM 817 O HOH A 273 37.707 39.043 17.556 1.00 0.00 O +HETATM 818 H1 HOH A 273 36.884 39.436 17.264 1.00 0.00 H +HETATM 819 H2 HOH A 273 37.864 39.425 18.418 1.00 0.00 H +HETATM 820 O HOH A 274 34.521 24.436 22.560 1.00 0.00 O +HETATM 821 H1 HOH A 274 34.768 24.142 23.437 1.00 0.00 H +HETATM 822 H2 HOH A 274 33.595 24.214 22.483 1.00 0.00 H +HETATM 823 O HOH A 275 20.063 26.056 41.881 1.00 0.00 O +HETATM 824 H1 HOH A 275 19.214 26.157 42.312 1.00 0.00 H +HETATM 825 H2 HOH A 275 20.161 25.114 41.757 1.00 0.00 H +HETATM 826 O HOH A 276 35.555 44.832 23.361 1.00 0.00 O +HETATM 827 H1 HOH A 276 36.257 44.557 23.951 1.00 0.00 H +HETATM 828 H2 HOH A 276 35.153 45.581 23.796 1.00 0.00 H +HETATM 829 O HOH A 277 14.997 34.758 23.151 1.00 0.00 O +HETATM 830 H1 HOH A 277 15.427 35.497 23.581 1.00 0.00 H +HETATM 831 H2 HOH A 277 14.504 34.327 23.846 1.00 0.00 H +HETATM 832 O HOH A 278 48.101 18.597 19.776 1.00 0.00 O +HETATM 833 H1 HOH A 278 48.797 18.693 19.126 1.00 0.00 H +HETATM 834 H2 HOH A 278 47.373 18.208 19.294 1.00 0.00 H +HETATM 835 O HOH A 279 17.625 0.722 19.204 1.00 0.00 O +HETATM 836 H1 HOH A 279 17.554 0.371 18.316 1.00 0.00 H +HETATM 837 H2 HOH A 279 18.511 1.074 19.255 1.00 0.00 H +HETATM 838 O HOH A 280 16.838 33.485 23.198 1.00 0.00 O +HETATM 839 H1 HOH A 280 16.770 33.038 24.042 1.00 0.00 H +HETATM 840 H2 HOH A 280 17.775 33.612 23.066 1.00 0.00 H +HETATM 841 O HOH A 281 44.653 15.947 48.499 1.00 0.00 O +HETATM 842 H1 HOH A 281 43.917 15.694 47.941 1.00 0.00 H +HETATM 843 H2 HOH A 281 44.955 16.778 48.137 1.00 0.00 H +HETATM 844 O HOH A 282 7.923 37.987 9.095 1.00 0.00 O +HETATM 845 H1 HOH A 282 8.552 38.090 9.809 1.00 0.00 H +HETATM 846 H2 HOH A 282 7.427 38.804 9.091 1.00 0.00 H +HETATM 847 O HOH A 283 8.880 26.008 25.241 1.00 0.00 O +HETATM 848 H1 HOH A 283 9.802 25.754 25.197 1.00 0.00 H +HETATM 849 H2 HOH A 283 8.467 25.325 25.766 1.00 0.00 H +HETATM 850 O HOH A 284 42.802 36.005 10.941 1.00 0.00 O +HETATM 851 H1 HOH A 284 42.859 35.282 10.316 1.00 0.00 H +HETATM 852 H2 HOH A 284 43.044 36.779 10.436 1.00 0.00 H +HETATM 853 O HOH A 285 26.675 11.161 24.738 1.00 0.00 O +HETATM 854 H1 HOH A 285 26.446 10.835 23.868 1.00 0.00 H +HETATM 855 H2 HOH A 285 26.403 12.077 24.732 1.00 0.00 H +HETATM 856 O HOH A 286 39.857 27.830 43.979 1.00 0.00 O +HETATM 857 H1 HOH A 286 39.866 28.770 44.163 1.00 0.00 H +HETATM 858 H2 HOH A 286 39.871 27.415 44.839 1.00 0.00 H +HETATM 859 O HOH A 287 23.107 4.344 0.966 1.00 0.00 O +HETATM 860 H1 HOH A 287 23.301 4.267 0.031 1.00 0.00 H +HETATM 861 H2 HOH A 287 22.250 4.765 1.000 1.00 0.00 H +HETATM 862 O HOH A 288 23.338 29.767 20.894 1.00 0.00 O +HETATM 863 H1 HOH A 288 22.870 29.664 20.065 1.00 0.00 H +HETATM 864 H2 HOH A 288 23.403 28.881 21.246 1.00 0.00 H +HETATM 865 O HOH A 289 15.541 36.576 15.661 1.00 0.00 O +HETATM 866 H1 HOH A 289 16.305 36.097 15.984 1.00 0.00 H +HETATM 867 H2 HOH A 289 14.875 35.905 15.527 1.00 0.00 H +HETATM 868 O HOH A 290 42.254 28.010 22.939 1.00 0.00 O +HETATM 869 H1 HOH A 290 42.306 28.755 23.537 1.00 0.00 H +HETATM 870 H2 HOH A 290 41.938 27.288 23.479 1.00 0.00 H +HETATM 871 O HOH A 291 5.107 32.066 36.400 1.00 0.00 O +HETATM 872 H1 HOH A 291 5.855 31.833 36.951 1.00 0.00 H +HETATM 873 H2 HOH A 291 5.426 32.779 35.849 1.00 0.00 H +HETATM 874 O HOH A 292 20.963 48.896 12.843 1.00 0.00 O +HETATM 875 H1 HOH A 292 21.717 49.111 12.294 1.00 0.00 H +HETATM 876 H2 HOH A 292 20.727 48.005 12.592 1.00 0.00 H +HETATM 877 O HOH A 293 27.815 41.307 15.592 1.00 0.00 O +HETATM 878 H1 HOH A 293 27.201 41.776 16.157 1.00 0.00 H +HETATM 879 H2 HOH A 293 27.864 40.429 15.964 1.00 0.00 H +HETATM 880 O HOH A 294 14.876 29.051 20.106 1.00 0.00 O +HETATM 881 H1 HOH A 294 15.691 28.559 20.206 1.00 0.00 H +HETATM 882 H2 HOH A 294 14.245 28.410 19.784 1.00 0.00 H +HETATM 883 O HOH A 295 24.779 16.551 40.490 1.00 0.00 O +HETATM 884 H1 HOH A 295 24.797 17.183 41.208 1.00 0.00 H +HETATM 885 H2 HOH A 295 24.315 16.999 39.785 1.00 0.00 H +HETATM 886 O HOH A 296 0.003 18.378 44.475 1.00 0.00 O +HETATM 887 H1 HOH A 296 0.187 17.473 44.729 1.00 0.00 H +HETATM 888 H2 HOH A 296 0.838 18.713 44.153 1.00 0.00 H +HETATM 889 O HOH A 297 41.377 5.565 5.476 1.00 0.00 O +HETATM 890 H1 HOH A 297 40.764 5.148 6.082 1.00 0.00 H +HETATM 891 H2 HOH A 297 42.239 5.397 5.852 1.00 0.00 H +HETATM 892 O HOH A 298 46.676 27.229 12.482 1.00 0.00 O +HETATM 893 H1 HOH A 298 47.275 27.770 11.968 1.00 0.00 H +HETATM 894 H2 HOH A 298 46.621 26.405 12.001 1.00 0.00 H +HETATM 895 O HOH A 299 22.453 6.482 20.946 1.00 0.00 O +HETATM 896 H1 HOH A 299 21.630 6.075 21.220 1.00 0.00 H +HETATM 897 H2 HOH A 299 23.112 6.111 21.530 1.00 0.00 H +HETATM 898 O HOH A 300 47.543 29.422 31.288 1.00 0.00 O +HETATM 899 H1 HOH A 300 48.152 30.139 31.465 1.00 0.00 H +HETATM 900 H2 HOH A 300 47.965 28.649 31.658 1.00 0.00 H +HETATM 901 O HOH A 301 46.131 44.163 34.654 1.00 0.00 O +HETATM 902 H1 HOH A 301 45.851 44.257 35.565 1.00 0.00 H +HETATM 903 H2 HOH A 301 46.638 44.952 34.475 1.00 0.00 H +HETATM 904 O HOH A 302 31.240 14.669 36.268 1.00 0.00 O +HETATM 905 H1 HOH A 302 30.617 15.332 36.566 1.00 0.00 H +HETATM 906 H2 HOH A 302 31.219 13.996 36.945 1.00 0.00 H +HETATM 907 O HOH A 303 17.337 43.568 44.546 1.00 0.00 O +HETATM 908 H1 HOH A 303 18.060 42.942 44.603 1.00 0.00 H +HETATM 909 H2 HOH A 303 17.046 43.682 45.449 1.00 0.00 H +HETATM 910 O HOH A 304 48.897 2.300 47.328 1.00 0.00 O +HETATM 911 H1 HOH A 304 49.533 2.465 48.024 1.00 0.00 H +HETATM 912 H2 HOH A 304 49.415 1.946 46.607 1.00 0.00 H +HETATM 913 O HOH A 305 30.520 9.930 12.039 1.00 0.00 O +HETATM 914 H1 HOH A 305 31.203 9.789 11.383 1.00 0.00 H +HETATM 915 H2 HOH A 305 29.846 9.286 11.829 1.00 0.00 H +HETATM 916 O HOH A 306 22.699 42.527 44.985 1.00 0.00 O +HETATM 917 H1 HOH A 306 22.988 42.219 45.844 1.00 0.00 H +HETATM 918 H2 HOH A 306 22.431 41.736 44.522 1.00 0.00 H +HETATM 919 O HOH A 307 48.081 32.348 35.129 1.00 0.00 O +HETATM 920 H1 HOH A 307 48.933 32.364 34.693 1.00 0.00 H +HETATM 921 H2 HOH A 307 48.016 31.470 35.500 1.00 0.00 H +HETATM 922 O HOH A 308 28.611 1.440 27.509 1.00 0.00 O +HETATM 923 H1 HOH A 308 27.986 1.903 28.066 1.00 0.00 H +HETATM 924 H2 HOH A 308 28.571 0.532 27.803 1.00 0.00 H +HETATM 925 O HOH A 309 7.546 45.010 37.108 1.00 0.00 O +HETATM 926 H1 HOH A 309 8.107 45.412 36.445 1.00 0.00 H +HETATM 927 H2 HOH A 309 7.467 44.097 36.838 1.00 0.00 H +HETATM 928 O HOH A 310 19.541 32.042 32.548 1.00 0.00 O +HETATM 929 H1 HOH A 310 19.074 31.322 32.973 1.00 0.00 H +HETATM 930 H2 HOH A 310 19.128 32.833 32.890 1.00 0.00 H +HETATM 931 O HOH A 311 39.619 31.836 24.409 1.00 0.00 O +HETATM 932 H1 HOH A 311 39.333 30.997 24.768 1.00 0.00 H +HETATM 933 H2 HOH A 311 39.120 32.490 24.895 1.00 0.00 H +HETATM 934 O HOH A 312 38.255 11.232 33.445 1.00 0.00 O +HETATM 935 H1 HOH A 312 38.356 11.831 34.185 1.00 0.00 H +HETATM 936 H2 HOH A 312 38.732 11.649 32.730 1.00 0.00 H +HETATM 937 O HOH A 313 10.471 27.401 48.183 1.00 0.00 O +HETATM 938 H1 HOH A 313 10.850 26.524 48.112 1.00 0.00 H +HETATM 939 H2 HOH A 313 9.535 27.271 48.045 1.00 0.00 H +HETATM 940 O HOH A 314 7.668 41.618 41.125 1.00 0.00 O +HETATM 941 H1 HOH A 314 7.291 41.870 41.968 1.00 0.00 H +HETATM 942 H2 HOH A 314 7.838 40.681 41.206 1.00 0.00 H +HETATM 943 O HOH A 315 42.701 25.751 36.547 1.00 0.00 O +HETATM 944 H1 HOH A 315 42.936 24.824 36.503 1.00 0.00 H +HETATM 945 H2 HOH A 315 41.826 25.760 36.932 1.00 0.00 H +HETATM 946 O HOH A 316 39.267 2.564 8.046 1.00 0.00 O +HETATM 947 H1 HOH A 316 38.819 1.811 7.659 1.00 0.00 H +HETATM 948 H2 HOH A 316 39.026 3.301 7.489 1.00 0.00 H +HETATM 949 O HOH A 317 5.389 22.208 32.072 1.00 0.00 O +HETATM 950 H1 HOH A 317 5.311 22.998 32.607 1.00 0.00 H +HETATM 951 H2 HOH A 317 5.177 21.492 32.668 1.00 0.00 H +HETATM 952 O HOH A 318 36.651 16.083 36.303 1.00 0.00 O +HETATM 953 H1 HOH A 318 36.469 15.227 36.691 1.00 0.00 H +HETATM 954 H2 HOH A 318 36.976 16.612 37.029 1.00 0.00 H +HETATM 955 O HOH A 319 7.897 33.772 1.751 1.00 0.00 O +HETATM 956 H1 HOH A 319 7.870 34.616 2.202 1.00 0.00 H +HETATM 957 H2 HOH A 319 7.074 33.347 1.982 1.00 0.00 H +HETATM 958 O HOH A 320 36.946 9.379 7.835 1.00 0.00 O +HETATM 959 H1 HOH A 320 36.169 9.606 8.345 1.00 0.00 H +HETATM 960 H2 HOH A 320 36.799 8.476 7.559 1.00 0.00 H +HETATM 961 O HOH A 321 2.986 46.459 24.133 1.00 0.00 O +HETATM 962 H1 HOH A 321 2.777 45.746 24.737 1.00 0.00 H +HETATM 963 H2 HOH A 321 3.838 46.779 24.422 1.00 0.00 H +HETATM 964 O HOH A 322 39.305 7.930 48.041 1.00 0.00 O +HETATM 965 H1 HOH A 322 38.557 8.203 47.510 1.00 0.00 H +HETATM 966 H2 HOH A 322 39.083 7.050 48.338 1.00 0.00 H +HETATM 967 O HOH A 323 42.354 7.751 4.170 1.00 0.00 O +HETATM 968 H1 HOH A 323 43.214 8.172 4.164 1.00 0.00 H +HETATM 969 H2 HOH A 323 42.354 7.190 3.397 1.00 0.00 H +HETATM 970 O HOH A 324 26.287 43.225 6.433 1.00 0.00 O +HETATM 971 H1 HOH A 324 27.095 43.415 6.910 1.00 0.00 H +HETATM 972 H2 HOH A 324 26.560 42.665 5.708 1.00 0.00 H +HETATM 973 O HOH A 325 15.328 47.074 31.602 1.00 0.00 O +HETATM 974 H1 HOH A 325 15.541 47.955 31.295 1.00 0.00 H +HETATM 975 H2 HOH A 325 15.630 46.495 30.905 1.00 0.00 H +HETATM 976 O HOH A 326 24.931 2.659 47.471 1.00 0.00 O +HETATM 977 H1 HOH A 326 24.364 3.280 47.927 1.00 0.00 H +HETATM 978 H2 HOH A 326 24.340 1.977 47.157 1.00 0.00 H +HETATM 979 O HOH A 327 10.336 15.342 3.498 1.00 0.00 O +HETATM 980 H1 HOH A 327 11.191 15.741 3.338 1.00 0.00 H +HETATM 981 H2 HOH A 327 10.245 14.681 2.814 1.00 0.00 H +HETATM 982 O HOH A 328 11.882 45.498 6.294 1.00 0.00 O +HETATM 983 H1 HOH A 328 11.310 46.266 6.298 1.00 0.00 H +HETATM 984 H2 HOH A 328 11.702 45.059 7.123 1.00 0.00 H +HETATM 985 O HOH A 329 29.713 10.436 42.632 1.00 0.00 O +HETATM 986 H1 HOH A 329 30.480 10.321 42.070 1.00 0.00 H +HETATM 987 H2 HOH A 329 29.208 11.131 42.212 1.00 0.00 H +HETATM 988 O HOH A 330 27.176 9.045 22.066 1.00 0.00 O +HETATM 989 H1 HOH A 330 27.934 8.653 22.500 1.00 0.00 H +HETATM 990 H2 HOH A 330 27.545 9.547 21.342 1.00 0.00 H +HETATM 991 O HOH A 331 25.076 28.528 16.864 1.00 0.00 O +HETATM 992 H1 HOH A 331 24.589 28.282 17.650 1.00 0.00 H +HETATM 993 H2 HOH A 331 24.445 29.006 16.328 1.00 0.00 H +HETATM 994 O HOH A 332 22.907 31.426 46.201 1.00 0.00 O +HETATM 995 H1 HOH A 332 23.691 31.366 45.655 1.00 0.00 H +HETATM 996 H2 HOH A 332 23.146 32.032 46.901 1.00 0.00 H +HETATM 997 O HOH A 333 35.961 46.003 29.228 1.00 0.00 O +HETATM 998 H1 HOH A 333 35.362 46.690 29.523 1.00 0.00 H +HETATM 999 H2 HOH A 333 36.118 45.470 30.004 1.00 0.00 H +HETATM 1000 O HOH A 334 38.379 7.679 4.789 1.00 0.00 O +HETATM 1001 H1 HOH A 334 38.771 6.809 4.870 1.00 0.00 H +HETATM 1002 H2 HOH A 334 39.124 8.277 4.759 1.00 0.00 H +HETATM 1003 O HOH A 335 8.890 35.182 23.922 1.00 0.00 O +HETATM 1004 H1 HOH A 335 8.913 35.691 23.112 1.00 0.00 H +HETATM 1005 H2 HOH A 335 8.900 34.271 23.635 1.00 0.00 H +HETATM 1006 O HOH A 336 11.795 5.979 45.336 1.00 0.00 O +HETATM 1007 H1 HOH A 336 10.852 5.817 45.338 1.00 0.00 H +HETATM 1008 H2 HOH A 336 12.189 5.114 45.237 1.00 0.00 H +HETATM 1009 O HOH A 337 35.623 28.253 10.213 1.00 0.00 O +HETATM 1010 H1 HOH A 337 36.228 27.527 10.053 1.00 0.00 H +HETATM 1011 H2 HOH A 337 35.913 28.630 11.041 1.00 0.00 H +HETATM 1012 O HOH A 338 41.832 19.551 14.998 1.00 0.00 O +HETATM 1013 H1 HOH A 338 41.067 19.135 15.395 1.00 0.00 H +HETATM 1014 H2 HOH A 338 42.130 18.928 14.337 1.00 0.00 H +HETATM 1015 O HOH A 339 45.521 18.542 42.449 1.00 0.00 O +HETATM 1016 H1 HOH A 339 45.232 19.116 41.739 1.00 0.00 H +HETATM 1017 H2 HOH A 339 46.454 18.726 42.543 1.00 0.00 H +HETATM 1018 O HOH A 340 22.741 27.510 49.197 1.00 0.00 O +HETATM 1019 H1 HOH A 340 22.427 27.643 48.303 1.00 0.00 H +HETATM 1020 H2 HOH A 340 23.658 27.779 49.174 1.00 0.00 H +HETATM 1021 O HOH A 341 20.249 43.463 45.461 1.00 0.00 O +HETATM 1022 H1 HOH A 341 20.704 44.025 44.833 1.00 0.00 H +HETATM 1023 H2 HOH A 341 20.368 42.577 45.122 1.00 0.00 H +HETATM 1024 O HOH A 342 21.419 10.306 21.366 1.00 0.00 O +HETATM 1025 H1 HOH A 342 20.739 10.729 20.840 1.00 0.00 H +HETATM 1026 H2 HOH A 342 22.137 10.154 20.755 1.00 0.00 H +HETATM 1027 O HOH A 343 2.402 15.944 30.409 1.00 0.00 O +HETATM 1028 H1 HOH A 343 1.648 16.316 30.866 1.00 0.00 H +HETATM 1029 H2 HOH A 343 2.825 16.692 29.991 1.00 0.00 H +HETATM 1030 O HOH A 344 37.478 36.340 44.707 1.00 0.00 O +HETATM 1031 H1 HOH A 344 38.011 36.060 43.962 1.00 0.00 H +HETATM 1032 H2 HOH A 344 37.832 35.858 45.452 1.00 0.00 H +HETATM 1033 O HOH A 345 35.994 31.792 34.554 1.00 0.00 O +HETATM 1034 H1 HOH A 345 35.800 31.226 33.807 1.00 0.00 H +HETATM 1035 H2 HOH A 345 35.460 31.443 35.266 1.00 0.00 H +HETATM 1036 O HOH A 346 42.950 29.794 20.490 1.00 0.00 O +HETATM 1037 H1 HOH A 346 42.024 29.557 20.444 1.00 0.00 H +HETATM 1038 H2 HOH A 346 43.036 30.277 21.310 1.00 0.00 H +HETATM 1039 O HOH A 347 44.292 36.026 25.722 1.00 0.00 O +HETATM 1040 H1 HOH A 347 44.261 35.997 26.678 1.00 0.00 H +HETATM 1041 H2 HOH A 347 43.482 35.603 25.441 1.00 0.00 H +HETATM 1042 O HOH A 348 12.208 10.992 7.252 1.00 0.00 O +HETATM 1043 H1 HOH A 348 11.422 11.003 6.706 1.00 0.00 H +HETATM 1044 H2 HOH A 348 12.728 11.731 6.942 1.00 0.00 H +HETATM 1045 O HOH A 349 3.273 38.819 4.165 1.00 0.00 O +HETATM 1046 H1 HOH A 349 4.078 38.415 4.490 1.00 0.00 H +HETATM 1047 H2 HOH A 349 2.904 38.175 3.564 1.00 0.00 H +HETATM 1048 O HOH A 350 15.404 31.284 4.728 1.00 0.00 O +HETATM 1049 H1 HOH A 350 15.117 30.370 4.726 1.00 0.00 H +HETATM 1050 H2 HOH A 350 15.729 31.437 3.843 1.00 0.00 H +HETATM 1051 O HOH A 351 46.521 46.144 40.751 1.00 0.00 O +HETATM 1052 H1 HOH A 351 47.311 46.524 41.136 1.00 0.00 H +HETATM 1053 H2 HOH A 351 45.801 46.629 41.149 1.00 0.00 H +HETATM 1054 O HOH A 352 30.604 13.371 39.391 1.00 0.00 O +HETATM 1055 H1 HOH A 352 30.389 13.566 40.303 1.00 0.00 H +HETATM 1056 H2 HOH A 352 30.439 12.434 39.298 1.00 0.00 H +HETATM 1057 O HOH A 353 31.239 28.586 45.468 1.00 0.00 O +HETATM 1058 H1 HOH A 353 30.348 28.410 45.769 1.00 0.00 H +HETATM 1059 H2 HOH A 353 31.413 29.485 45.741 1.00 0.00 H +HETATM 1060 O HOH A 354 42.029 44.888 14.794 1.00 0.00 O +HETATM 1061 H1 HOH A 354 42.047 45.419 15.590 1.00 0.00 H +HETATM 1062 H2 HOH A 354 41.525 44.113 15.031 1.00 0.00 H +HETATM 1063 O HOH A 355 27.127 40.644 45.232 1.00 0.00 O +HETATM 1064 H1 HOH A 355 26.422 40.188 45.693 1.00 0.00 H +HETATM 1065 H2 HOH A 355 26.961 40.471 44.307 1.00 0.00 H +HETATM 1066 O HOH A 356 19.759 20.208 44.779 1.00 0.00 O +HETATM 1067 H1 HOH A 356 19.731 20.923 44.143 1.00 0.00 H +HETATM 1068 H2 HOH A 356 20.403 19.597 44.428 1.00 0.00 H +HETATM 1069 O HOH A 357 14.098 7.092 18.711 1.00 0.00 O +HETATM 1070 H1 HOH A 357 13.617 7.837 18.350 1.00 0.00 H +HETATM 1071 H2 HOH A 357 14.857 6.995 18.139 1.00 0.00 H +HETATM 1072 O HOH A 358 1.016 22.030 0.789 1.00 0.00 O +HETATM 1073 H1 HOH A 358 0.338 21.772 1.413 1.00 0.00 H +HETATM 1074 H2 HOH A 358 1.832 21.719 1.177 1.00 0.00 H +HETATM 1075 O HOH A 359 16.962 16.946 41.876 1.00 0.00 O +HETATM 1076 H1 HOH A 359 16.812 17.346 42.732 1.00 0.00 H +HETATM 1077 H2 HOH A 359 16.349 17.389 41.292 1.00 0.00 H +HETATM 1078 O HOH A 360 34.392 3.346 15.906 1.00 0.00 O +HETATM 1079 H1 HOH A 360 34.613 2.923 15.076 1.00 0.00 H +HETATM 1080 H2 HOH A 360 33.455 3.522 15.846 1.00 0.00 H +HETATM 1081 O HOH A 361 29.713 22.219 28.174 1.00 0.00 O +HETATM 1082 H1 HOH A 361 29.819 22.368 29.113 1.00 0.00 H +HETATM 1083 H2 HOH A 361 30.591 22.005 27.863 1.00 0.00 H +HETATM 1084 O HOH A 362 42.481 26.216 41.839 1.00 0.00 O +HETATM 1085 H1 HOH A 362 42.528 25.539 41.165 1.00 0.00 H +HETATM 1086 H2 HOH A 362 43.240 26.772 41.676 1.00 0.00 H +HETATM 1087 O HOH A 363 16.391 1.161 7.720 1.00 0.00 O +HETATM 1088 H1 HOH A 363 15.724 1.314 8.389 1.00 0.00 H +HETATM 1089 H2 HOH A 363 16.939 0.465 8.079 1.00 0.00 H +HETATM 1090 O HOH A 364 35.272 18.709 41.500 1.00 0.00 O +HETATM 1091 H1 HOH A 364 35.281 18.210 40.684 1.00 0.00 H +HETATM 1092 H2 HOH A 364 34.377 19.036 41.574 1.00 0.00 H +HETATM 1093 O HOH A 365 11.281 40.011 4.937 1.00 0.00 O +HETATM 1094 H1 HOH A 365 10.423 39.736 4.614 1.00 0.00 H +HETATM 1095 H2 HOH A 365 11.628 40.577 4.250 1.00 0.00 H +HETATM 1096 O HOH A 366 15.862 7.036 27.479 1.00 0.00 O +HETATM 1097 H1 HOH A 366 14.918 6.887 27.544 1.00 0.00 H +HETATM 1098 H2 HOH A 366 16.162 7.085 28.385 1.00 0.00 H +HETATM 1099 O HOH A 367 21.156 20.898 41.708 1.00 0.00 O +HETATM 1100 H1 HOH A 367 21.508 20.296 41.052 1.00 0.00 H +HETATM 1101 H2 HOH A 367 20.400 20.443 42.072 1.00 0.00 H +HETATM 1102 O HOH A 368 6.694 26.775 28.485 1.00 0.00 O +HETATM 1103 H1 HOH A 368 6.082 27.073 29.158 1.00 0.00 H +HETATM 1104 H2 HOH A 368 7.001 25.926 28.796 1.00 0.00 H +HETATM 1105 O HOH A 369 8.511 12.050 33.311 1.00 0.00 O +HETATM 1106 H1 HOH A 369 8.534 12.478 32.455 1.00 0.00 H +HETATM 1107 H2 HOH A 369 9.255 11.450 33.301 1.00 0.00 H +HETATM 1108 O HOH A 370 44.466 31.420 36.550 1.00 0.00 O +HETATM 1109 H1 HOH A 370 43.889 30.907 37.116 1.00 0.00 H +HETATM 1110 H2 HOH A 370 45.324 31.366 36.966 1.00 0.00 H +HETATM 1111 O HOH A 371 32.242 43.774 17.655 1.00 0.00 O +HETATM 1112 H1 HOH A 371 32.602 44.493 17.135 1.00 0.00 H +HETATM 1113 H2 HOH A 371 31.994 44.176 18.485 1.00 0.00 H +HETATM 1114 O HOH A 372 9.697 9.895 40.272 1.00 0.00 O +HETATM 1115 H1 HOH A 372 10.205 10.406 40.902 1.00 0.00 H +HETATM 1116 H2 HOH A 372 9.225 9.257 40.804 1.00 0.00 H +HETATM 1117 O HOH A 373 3.047 40.160 6.152 1.00 0.00 O +HETATM 1118 H1 HOH A 373 2.366 39.717 6.658 1.00 0.00 H +HETATM 1119 H2 HOH A 373 3.864 39.924 6.588 1.00 0.00 H +HETATM 1120 O HOH A 374 21.380 20.488 37.974 1.00 0.00 O +HETATM 1121 H1 HOH A 374 22.267 20.803 37.798 1.00 0.00 H +HETATM 1122 H2 HOH A 374 21.468 19.944 38.754 1.00 0.00 H +HETATM 1123 O HOH A 375 5.568 19.556 6.381 1.00 0.00 O +HETATM 1124 H1 HOH A 375 5.392 19.131 5.541 1.00 0.00 H +HETATM 1125 H2 HOH A 375 4.864 19.259 6.954 1.00 0.00 H +HETATM 1126 O HOH A 376 41.623 1.526 22.627 1.00 0.00 O +HETATM 1127 H1 HOH A 376 42.304 1.797 23.243 1.00 0.00 H +HETATM 1128 H2 HOH A 376 40.817 1.897 22.979 1.00 0.00 H +HETATM 1129 O HOH A 377 47.604 10.840 41.987 1.00 0.00 O +HETATM 1130 H1 HOH A 377 47.962 10.232 41.340 1.00 0.00 H +HETATM 1131 H2 HOH A 377 46.656 10.764 41.891 1.00 0.00 H +HETATM 1132 O HOH A 378 15.395 23.610 10.410 1.00 0.00 O +HETATM 1133 H1 HOH A 378 15.488 24.261 9.714 1.00 0.00 H +HETATM 1134 H2 HOH A 378 14.538 23.215 10.259 1.00 0.00 H +HETATM 1135 O HOH A 379 26.709 10.386 48.674 1.00 0.00 O +HETATM 1136 H1 HOH A 379 25.822 10.643 48.422 1.00 0.00 H +HETATM 1137 H2 HOH A 379 26.614 10.021 49.552 1.00 0.00 H +HETATM 1138 O HOH A 380 41.528 31.120 38.785 1.00 0.00 O +HETATM 1139 H1 HOH A 380 41.358 30.545 38.040 1.00 0.00 H +HETATM 1140 H2 HOH A 380 42.322 30.770 39.185 1.00 0.00 H +HETATM 1141 O HOH A 381 34.781 14.154 47.936 1.00 0.00 O +HETATM 1142 H1 HOH A 381 35.675 14.493 47.895 1.00 0.00 H +HETATM 1143 H2 HOH A 381 34.397 14.578 48.701 1.00 0.00 H +HETATM 1144 O HOH A 382 20.049 7.606 37.012 1.00 0.00 O +HETATM 1145 H1 HOH A 382 20.324 6.821 37.486 1.00 0.00 H +HETATM 1146 H2 HOH A 382 20.836 7.907 36.563 1.00 0.00 H +HETATM 1147 O HOH A 383 39.898 5.803 22.446 1.00 0.00 O +HETATM 1148 H1 HOH A 383 39.939 5.138 21.759 1.00 0.00 H +HETATM 1149 H2 HOH A 383 40.032 6.632 21.989 1.00 0.00 H +HETATM 1150 O HOH A 384 14.548 1.529 22.861 1.00 0.00 O +HETATM 1151 H1 HOH A 384 14.651 1.399 21.919 1.00 0.00 H +HETATM 1152 H2 HOH A 384 14.437 0.649 23.216 1.00 0.00 H +HETATM 1153 O HOH A 385 32.834 27.195 6.141 1.00 0.00 O +HETATM 1154 H1 HOH A 385 32.026 27.244 6.652 1.00 0.00 H +HETATM 1155 H2 HOH A 385 32.542 27.100 5.236 1.00 0.00 H +HETATM 1156 O HOH A 386 32.644 19.748 36.820 1.00 0.00 O +HETATM 1157 H1 HOH A 386 33.165 19.436 37.560 1.00 0.00 H +HETATM 1158 H2 HOH A 386 31.828 20.056 37.211 1.00 0.00 H +HETATM 1159 O HOH A 387 45.633 27.292 35.369 1.00 0.00 O +HETATM 1160 H1 HOH A 387 46.415 27.271 35.921 1.00 0.00 H +HETATM 1161 H2 HOH A 387 45.023 27.861 35.835 1.00 0.00 H +HETATM 1162 O HOH A 388 21.952 11.312 49.083 1.00 0.00 O +HETATM 1163 H1 HOH A 388 22.699 10.772 49.344 1.00 0.00 H +HETATM 1164 H2 HOH A 388 21.547 11.577 49.906 1.00 0.00 H +HETATM 1165 O HOH A 389 7.951 8.438 6.246 1.00 0.00 O +HETATM 1166 H1 HOH A 389 8.426 9.064 6.793 1.00 0.00 H +HETATM 1167 H2 HOH A 389 7.028 8.631 6.404 1.00 0.00 H +HETATM 1168 O HOH A 390 0.708 49.805 8.993 1.00 0.00 O +HETATM 1169 H1 HOH A 390 0.167 49.941 9.771 1.00 0.00 H +HETATM 1170 H2 HOH A 390 1.355 49.154 9.259 1.00 0.00 H +HETATM 1171 O HOH A 391 43.692 17.357 6.955 1.00 0.00 O +HETATM 1172 H1 HOH A 391 43.360 16.785 7.647 1.00 0.00 H +HETATM 1173 H2 HOH A 391 43.359 18.225 7.178 1.00 0.00 H +HETATM 1174 O HOH A 392 5.320 2.407 42.237 1.00 0.00 O +HETATM 1175 H1 HOH A 392 4.861 2.599 43.055 1.00 0.00 H +HETATM 1176 H2 HOH A 392 6.247 2.446 42.465 1.00 0.00 H +HETATM 1177 O HOH A 393 34.082 11.187 12.480 1.00 0.00 O +HETATM 1178 H1 HOH A 393 33.747 11.783 13.150 1.00 0.00 H +HETATM 1179 H2 HOH A 393 33.892 10.313 12.817 1.00 0.00 H +HETATM 1180 O HOH A 394 37.721 0.797 36.590 1.00 0.00 O +HETATM 1181 H1 HOH A 394 38.463 0.689 35.994 1.00 0.00 H +HETATM 1182 H2 HOH A 394 37.163 0.040 36.421 1.00 0.00 H +HETATM 1183 O HOH A 395 4.154 43.336 3.063 1.00 0.00 O +HETATM 1184 H1 HOH A 395 4.059 42.673 2.379 1.00 0.00 H +HETATM 1185 H2 HOH A 395 3.577 44.047 2.792 1.00 0.00 H +HETATM 1186 O HOH A 396 28.037 32.725 44.787 1.00 0.00 O +HETATM 1187 H1 HOH A 396 27.667 32.485 45.637 1.00 0.00 H +HETATM 1188 H2 HOH A 396 27.441 33.388 44.443 1.00 0.00 H +HETATM 1189 O HOH A 397 4.134 33.571 41.198 1.00 0.00 O +HETATM 1190 H1 HOH A 397 3.951 33.884 42.084 1.00 0.00 H +HETATM 1191 H2 HOH A 397 3.273 33.432 40.808 1.00 0.00 H +HETATM 1192 O HOH A 398 4.473 11.037 3.766 1.00 0.00 O +HETATM 1193 H1 HOH A 398 4.581 11.108 4.715 1.00 0.00 H +HETATM 1194 H2 HOH A 398 4.800 10.165 3.551 1.00 0.00 H +HETATM 1195 O HOH A 399 26.641 9.590 14.746 1.00 0.00 O +HETATM 1196 H1 HOH A 399 26.826 10.246 15.418 1.00 0.00 H +HETATM 1197 H2 HOH A 399 25.811 9.198 15.013 1.00 0.00 H +HETATM 1198 O HOH A 400 29.377 1.097 13.778 1.00 0.00 O +HETATM 1199 H1 HOH A 400 30.291 1.223 13.522 1.00 0.00 H +HETATM 1200 H2 HOH A 400 29.395 1.068 14.733 1.00 0.00 H +HETATM 1201 O HOH A 401 0.865 28.865 21.101 1.00 0.00 O +HETATM 1202 H1 HOH A 401 1.157 28.618 20.223 1.00 0.00 H +HETATM 1203 H2 HOH A 401 0.008 28.452 21.196 1.00 0.00 H +HETATM 1204 O HOH A 402 49.681 10.041 0.155 1.00 0.00 O +HETATM 1205 H1 HOH A 402 49.978 10.893 0.476 1.00 0.00 H +HETATM 1206 H2 HOH A 402 49.988 9.417 0.810 1.00 0.00 H +HETATM 1207 O HOH A 403 7.167 18.402 7.399 1.00 0.00 O +HETATM 1208 H1 HOH A 403 7.746 17.874 6.848 1.00 0.00 H +HETATM 1209 H2 HOH A 403 6.713 17.767 7.950 1.00 0.00 H +HETATM 1210 O HOH A 404 38.182 14.723 35.098 1.00 0.00 O +HETATM 1211 H1 HOH A 404 37.645 15.221 34.481 1.00 0.00 H +HETATM 1212 H2 HOH A 404 39.073 14.803 34.763 1.00 0.00 H +HETATM 1213 O HOH A 405 6.049 23.764 30.633 1.00 0.00 O +HETATM 1214 H1 HOH A 405 6.459 23.545 29.796 1.00 0.00 H +HETATM 1215 H2 HOH A 405 5.389 24.419 30.414 1.00 0.00 H +HETATM 1216 O HOH A 406 49.439 35.728 26.656 1.00 0.00 O +HETATM 1217 H1 HOH A 406 48.623 35.967 27.096 1.00 0.00 H +HETATM 1218 H2 HOH A 406 49.557 34.800 26.853 1.00 0.00 H +HETATM 1219 O HOH A 407 30.139 19.937 22.581 1.00 0.00 O +HETATM 1220 H1 HOH A 407 31.009 19.967 22.980 1.00 0.00 H +HETATM 1221 H2 HOH A 407 29.878 20.853 22.501 1.00 0.00 H +HETATM 1222 O HOH A 408 34.622 1.037 45.961 1.00 0.00 O +HETATM 1223 H1 HOH A 408 34.118 1.451 45.260 1.00 0.00 H +HETATM 1224 H2 HOH A 408 35.452 1.510 45.973 1.00 0.00 H +HETATM 1225 O HOH A 409 22.426 2.852 26.734 1.00 0.00 O +HETATM 1226 H1 HOH A 409 21.907 3.011 25.945 1.00 0.00 H +HETATM 1227 H2 HOH A 409 23.321 3.069 26.481 1.00 0.00 H +HETATM 1228 O HOH A 410 48.907 1.615 6.596 1.00 0.00 O +HETATM 1229 H1 HOH A 410 47.988 1.858 6.481 1.00 0.00 H +HETATM 1230 H2 HOH A 410 49.144 1.174 5.782 1.00 0.00 H +HETATM 1231 O HOH A 411 28.491 6.421 21.953 1.00 0.00 O +HETATM 1232 H1 HOH A 411 29.126 6.954 21.475 1.00 0.00 H +HETATM 1233 H2 HOH A 411 28.969 6.103 22.717 1.00 0.00 H +HETATM 1234 O HOH A 412 37.650 29.237 24.398 1.00 0.00 O +HETATM 1235 H1 HOH A 412 37.392 29.751 23.633 1.00 0.00 H +HETATM 1236 H2 HOH A 412 36.966 29.404 25.043 1.00 0.00 H +HETATM 1237 O HOH A 413 21.676 24.183 9.455 1.00 0.00 O +HETATM 1238 H1 HOH A 413 21.985 25.042 9.165 1.00 0.00 H +HETATM 1239 H2 HOH A 413 21.901 23.591 8.739 1.00 0.00 H +HETATM 1240 O HOH A 414 9.909 41.396 14.845 1.00 0.00 O +HETATM 1241 H1 HOH A 414 9.393 41.283 14.046 1.00 0.00 H +HETATM 1242 H2 HOH A 414 9.945 42.341 14.977 1.00 0.00 H +HETATM 1243 O HOH A 415 25.375 33.094 45.314 1.00 0.00 O +HETATM 1244 H1 HOH A 415 24.943 33.004 44.465 1.00 0.00 H +HETATM 1245 H2 HOH A 415 25.427 34.036 45.461 1.00 0.00 H +HETATM 1246 O HOH A 416 36.467 12.408 47.503 1.00 0.00 O +HETATM 1247 H1 HOH A 416 36.119 11.605 47.890 1.00 0.00 H +HETATM 1248 H2 HOH A 416 36.328 12.303 46.563 1.00 0.00 H +HETATM 1249 O HOH A 417 2.777 20.956 34.398 1.00 0.00 O +HETATM 1250 H1 HOH A 417 3.309 21.630 33.976 1.00 0.00 H +HETATM 1251 H2 HOH A 417 2.347 21.405 35.123 1.00 0.00 H +HETATM 1252 O HOH A 418 18.044 11.418 8.355 1.00 0.00 O +HETATM 1253 H1 HOH A 418 17.738 11.419 7.447 1.00 0.00 H +HETATM 1254 H2 HOH A 418 18.895 10.985 8.322 1.00 0.00 H +HETATM 1255 O HOH A 419 23.820 7.700 12.839 1.00 0.00 O +HETATM 1256 H1 HOH A 419 22.939 7.416 13.083 1.00 0.00 H +HETATM 1257 H2 HOH A 419 24.195 8.048 13.646 1.00 0.00 H +HETATM 1258 O HOH A 420 32.094 44.104 46.364 1.00 0.00 O +HETATM 1259 H1 HOH A 420 32.304 44.599 47.156 1.00 0.00 H +HETATM 1260 H2 HOH A 420 31.207 43.781 46.508 1.00 0.00 H +HETATM 1261 O HOH A 421 37.792 7.072 0.865 1.00 0.00 O +HETATM 1262 H1 HOH A 421 38.616 7.200 0.394 1.00 0.00 H +HETATM 1263 H2 HOH A 421 37.442 6.252 0.521 1.00 0.00 H +HETATM 1264 O HOH A 422 26.776 38.527 38.523 1.00 0.00 O +HETATM 1265 H1 HOH A 422 26.216 39.082 37.979 1.00 0.00 H +HETATM 1266 H2 HOH A 422 27.648 38.620 38.145 1.00 0.00 H +HETATM 1267 O HOH A 423 7.105 1.238 38.971 1.00 0.00 O +HETATM 1268 H1 HOH A 423 6.443 1.893 38.752 1.00 0.00 H +HETATM 1269 H2 HOH A 423 6.873 0.474 38.446 1.00 0.00 H +HETATM 1270 O HOH A 424 42.793 17.860 40.315 1.00 0.00 O +HETATM 1271 H1 HOH A 424 43.312 18.382 40.927 1.00 0.00 H +HETATM 1272 H2 HOH A 424 41.909 17.872 40.678 1.00 0.00 H +HETATM 1273 O HOH A 425 37.140 7.710 40.839 1.00 0.00 O +HETATM 1274 H1 HOH A 425 37.799 8.345 40.559 1.00 0.00 H +HETATM 1275 H2 HOH A 425 37.347 7.536 41.756 1.00 0.00 H +HETATM 1276 O HOH A 426 1.389 11.119 46.678 1.00 0.00 O +HETATM 1277 H1 HOH A 426 2.216 11.528 46.421 1.00 0.00 H +HETATM 1278 H2 HOH A 426 1.154 10.565 45.936 1.00 0.00 H +HETATM 1279 O HOH A 427 2.955 26.475 11.324 1.00 0.00 O +HETATM 1280 H1 HOH A 427 3.275 26.080 10.512 1.00 0.00 H +HETATM 1281 H2 HOH A 427 3.586 26.205 11.989 1.00 0.00 H +HETATM 1282 O HOH A 428 46.081 42.777 6.507 1.00 0.00 O +HETATM 1283 H1 HOH A 428 45.489 42.708 5.758 1.00 0.00 H +HETATM 1284 H2 HOH A 428 45.562 43.202 7.187 1.00 0.00 H +HETATM 1285 O HOH A 429 25.597 21.744 2.830 1.00 0.00 O +HETATM 1286 H1 HOH A 429 25.313 21.463 3.700 1.00 0.00 H +HETATM 1287 H2 HOH A 429 26.466 22.117 2.968 1.00 0.00 H +HETATM 1288 O HOH A 430 23.734 13.642 37.415 1.00 0.00 O +HETATM 1289 H1 HOH A 430 23.873 13.599 38.361 1.00 0.00 H +HETATM 1290 H2 HOH A 430 24.604 13.788 37.049 1.00 0.00 H +HETATM 1291 O HOH A 431 9.066 32.045 4.261 1.00 0.00 O +HETATM 1292 H1 HOH A 431 8.734 32.765 4.797 1.00 0.00 H +HETATM 1293 H2 HOH A 431 8.535 32.069 3.467 1.00 0.00 H +HETATM 1294 O HOH A 432 37.143 5.609 23.264 1.00 0.00 O +HETATM 1295 H1 HOH A 432 37.213 5.201 22.401 1.00 0.00 H +HETATM 1296 H2 HOH A 432 37.067 4.876 23.872 1.00 0.00 H +HETATM 1297 O HOH A 433 33.589 34.991 21.106 1.00 0.00 O +HETATM 1298 H1 HOH A 433 33.084 34.827 21.902 1.00 0.00 H +HETATM 1299 H2 HOH A 433 34.253 34.304 21.095 1.00 0.00 H +HETATM 1300 O HOH A 434 6.524 48.156 13.237 1.00 0.00 O +HETATM 1301 H1 HOH A 434 6.347 48.989 12.800 1.00 0.00 H +HETATM 1302 H2 HOH A 434 7.284 48.329 13.790 1.00 0.00 H +HETATM 1303 O HOH A 435 48.983 34.572 42.208 1.00 0.00 O +HETATM 1304 H1 HOH A 435 48.106 34.455 41.841 1.00 0.00 H +HETATM 1305 H2 HOH A 435 48.939 34.166 43.072 1.00 0.00 H +HETATM 1306 O HOH A 436 39.666 25.951 42.669 1.00 0.00 O +HETATM 1307 H1 HOH A 436 38.840 26.401 42.491 1.00 0.00 H +HETATM 1308 H2 HOH A 436 40.208 26.128 41.902 1.00 0.00 H +HETATM 1309 O HOH A 437 6.177 34.201 48.799 1.00 0.00 O +HETATM 1310 H1 HOH A 437 5.582 34.593 48.160 1.00 0.00 H +HETATM 1311 H2 HOH A 437 7.016 34.630 48.643 1.00 0.00 H +HETATM 1312 O HOH A 438 30.861 26.831 19.978 1.00 0.00 O +HETATM 1313 H1 HOH A 438 31.187 26.154 19.385 1.00 0.00 H +HETATM 1314 H2 HOH A 438 29.912 26.813 19.867 1.00 0.00 H +HETATM 1315 O HOH A 439 43.541 22.772 33.716 1.00 0.00 O +HETATM 1316 H1 HOH A 439 42.778 23.341 33.822 1.00 0.00 H +HETATM 1317 H2 HOH A 439 43.334 21.992 34.227 1.00 0.00 H +HETATM 1318 O HOH A 440 33.318 15.176 42.636 1.00 0.00 O +HETATM 1319 H1 HOH A 440 34.072 14.595 42.537 1.00 0.00 H +HETATM 1320 H2 HOH A 440 32.869 15.135 41.794 1.00 0.00 H +HETATM 1321 O HOH A 441 10.458 48.320 2.173 1.00 0.00 O +HETATM 1322 H1 HOH A 441 9.650 47.808 2.144 1.00 0.00 H +HETATM 1323 H2 HOH A 441 10.252 49.065 2.735 1.00 0.00 H +HETATM 1324 O HOH A 442 10.861 38.472 14.912 1.00 0.00 O +HETATM 1325 H1 HOH A 442 11.506 38.336 14.218 1.00 0.00 H +HETATM 1326 H2 HOH A 442 10.111 37.939 14.654 1.00 0.00 H +HETATM 1327 O HOH A 443 5.232 31.138 48.330 1.00 0.00 O +HETATM 1328 H1 HOH A 443 5.559 31.028 47.437 1.00 0.00 H +HETATM 1329 H2 HOH A 443 5.846 30.649 48.875 1.00 0.00 H +HETATM 1330 O HOH A 444 19.833 42.686 38.232 1.00 0.00 O +HETATM 1331 H1 HOH A 444 19.703 43.430 38.820 1.00 0.00 H +HETATM 1332 H2 HOH A 444 19.334 41.974 38.630 1.00 0.00 H +HETATM 1333 O HOH A 445 15.179 41.690 46.677 1.00 0.00 O +HETATM 1334 H1 HOH A 445 15.342 42.307 45.963 1.00 0.00 H +HETATM 1335 H2 HOH A 445 14.576 41.047 46.308 1.00 0.00 H +HETATM 1336 O HOH A 446 40.714 25.294 30.915 1.00 0.00 O +HETATM 1337 H1 HOH A 446 41.370 24.855 30.373 1.00 0.00 H +HETATM 1338 H2 HOH A 446 40.902 26.226 30.815 1.00 0.00 H +HETATM 1339 O HOH A 447 18.569 25.722 26.988 1.00 0.00 O +HETATM 1340 H1 HOH A 447 19.158 24.969 27.034 1.00 0.00 H +HETATM 1341 H2 HOH A 447 18.452 25.881 26.053 1.00 0.00 H +HETATM 1342 O HOH A 448 43.175 14.613 16.264 1.00 0.00 O +HETATM 1343 H1 HOH A 448 43.431 15.394 16.755 1.00 0.00 H +HETATM 1344 H2 HOH A 448 43.630 14.692 15.428 1.00 0.00 H +HETATM 1345 O HOH A 449 45.570 14.573 11.790 1.00 0.00 O +HETATM 1346 H1 HOH A 449 44.998 15.257 11.444 1.00 0.00 H +HETATM 1347 H2 HOH A 449 45.121 13.755 11.585 1.00 0.00 H +HETATM 1348 O HOH A 450 24.943 3.463 28.892 1.00 0.00 O +HETATM 1349 H1 HOH A 450 24.906 2.557 29.198 1.00 0.00 H +HETATM 1350 H2 HOH A 450 25.442 3.925 29.563 1.00 0.00 H +HETATM 1351 O HOH A 451 45.393 24.068 44.295 1.00 0.00 O +HETATM 1352 H1 HOH A 451 45.123 23.319 43.762 1.00 0.00 H +HETATM 1353 H2 HOH A 451 45.572 24.762 43.664 1.00 0.00 H +HETATM 1354 O HOH A 452 42.067 47.174 12.223 1.00 0.00 O +HETATM 1355 H1 HOH A 452 42.611 46.535 11.761 1.00 0.00 H +HETATM 1356 H2 HOH A 452 42.620 47.949 12.302 1.00 0.00 H +HETATM 1357 O HOH A 453 28.110 13.583 21.096 1.00 0.00 O +HETATM 1358 H1 HOH A 453 28.029 12.979 20.358 1.00 0.00 H +HETATM 1359 H2 HOH A 453 28.856 13.256 21.595 1.00 0.00 H +HETATM 1360 O HOH A 454 3.600 15.127 47.181 1.00 0.00 O +HETATM 1361 H1 HOH A 454 3.440 14.648 47.995 1.00 0.00 H +HETATM 1362 H2 HOH A 454 4.416 15.600 47.335 1.00 0.00 H +HETATM 1363 O HOH A 455 7.303 47.726 16.231 1.00 0.00 O +HETATM 1364 H1 HOH A 455 6.400 48.013 16.098 1.00 0.00 H +HETATM 1365 H2 HOH A 455 7.739 48.475 16.633 1.00 0.00 H +HETATM 1366 O HOH A 456 20.535 48.278 45.797 1.00 0.00 O +HETATM 1367 H1 HOH A 456 20.203 49.176 45.821 1.00 0.00 H +HETATM 1368 H2 HOH A 456 20.490 48.028 44.876 1.00 0.00 H +HETATM 1369 O HOH A 457 11.327 46.165 10.474 1.00 0.00 O +HETATM 1370 H1 HOH A 457 11.611 46.023 11.377 1.00 0.00 H +HETATM 1371 H2 HOH A 457 11.991 46.741 10.100 1.00 0.00 H +HETATM 1372 O HOH A 458 8.074 40.274 19.515 1.00 0.00 O +HETATM 1373 H1 HOH A 458 7.608 39.440 19.447 1.00 0.00 H +HETATM 1374 H2 HOH A 458 8.116 40.452 20.453 1.00 0.00 H +HETATM 1375 O HOH A 459 20.592 26.488 30.111 1.00 0.00 O +HETATM 1376 H1 HOH A 459 20.195 27.329 30.338 1.00 0.00 H +HETATM 1377 H2 HOH A 459 19.955 26.066 29.538 1.00 0.00 H +HETATM 1378 O HOH A 460 7.357 10.997 34.868 1.00 0.00 O +HETATM 1379 H1 HOH A 460 6.524 11.319 35.211 1.00 0.00 H +HETATM 1380 H2 HOH A 460 7.480 10.149 35.290 1.00 0.00 H +HETATM 1381 O HOH A 461 24.196 37.331 2.275 1.00 0.00 O +HETATM 1382 H1 HOH A 461 24.287 36.415 2.540 1.00 0.00 H +HETATM 1383 H2 HOH A 461 24.734 37.409 1.489 1.00 0.00 H +HETATM 1384 O HOH A 462 12.198 32.956 21.617 1.00 0.00 O +HETATM 1385 H1 HOH A 462 12.545 32.077 21.468 1.00 0.00 H +HETATM 1386 H2 HOH A 462 11.956 33.271 20.748 1.00 0.00 H +HETATM 1387 O HOH A 463 6.819 11.167 39.327 1.00 0.00 O +HETATM 1388 H1 HOH A 463 6.195 11.892 39.292 1.00 0.00 H +HETATM 1389 H2 HOH A 463 6.402 10.515 39.887 1.00 0.00 H +HETATM 1390 O HOH A 464 1.800 36.337 2.966 1.00 0.00 O +HETATM 1391 H1 HOH A 464 0.867 36.143 2.869 1.00 0.00 H +HETATM 1392 H2 HOH A 464 2.191 36.060 2.139 1.00 0.00 H +HETATM 1393 O HOH A 465 40.353 2.300 37.792 1.00 0.00 O +HETATM 1394 H1 HOH A 465 39.799 3.078 37.860 1.00 0.00 H +HETATM 1395 H2 HOH A 465 40.826 2.267 38.622 1.00 0.00 H +HETATM 1396 O HOH A 466 10.399 46.720 37.359 1.00 0.00 O +HETATM 1397 H1 HOH A 466 10.648 47.066 38.217 1.00 0.00 H +HETATM 1398 H2 HOH A 466 11.207 46.730 36.851 1.00 0.00 H +HETATM 1399 O HOH A 467 17.384 19.886 49.152 1.00 0.00 O +HETATM 1400 H1 HOH A 467 16.689 19.344 48.778 1.00 0.00 H +HETATM 1401 H2 HOH A 467 17.571 19.487 50.000 1.00 0.00 H +HETATM 1402 O HOH A 468 16.739 47.936 49.202 1.00 0.00 O +HETATM 1403 H1 HOH A 468 16.293 48.750 49.437 1.00 0.00 H +HETATM 1404 H2 HOH A 468 16.054 47.270 49.226 1.00 0.00 H +HETATM 1405 O HOH A 469 18.046 13.611 6.777 1.00 0.00 O +HETATM 1406 H1 HOH A 469 18.211 14.135 5.992 1.00 0.00 H +HETATM 1407 H2 HOH A 469 17.635 14.218 7.390 1.00 0.00 H +HETATM 1408 O HOH A 470 34.896 42.873 24.352 1.00 0.00 O +HETATM 1409 H1 HOH A 470 35.281 42.080 24.725 1.00 0.00 H +HETATM 1410 H2 HOH A 470 34.518 43.333 25.099 1.00 0.00 H +HETATM 1411 O HOH A 471 34.529 47.055 40.110 1.00 0.00 O +HETATM 1412 H1 HOH A 471 34.559 46.363 40.772 1.00 0.00 H +HETATM 1413 H2 HOH A 471 33.714 47.522 40.286 1.00 0.00 H +HETATM 1414 O HOH A 472 48.296 44.341 13.000 1.00 0.00 O +HETATM 1415 H1 HOH A 472 48.074 44.017 12.126 1.00 0.00 H +HETATM 1416 H2 HOH A 472 48.568 45.246 12.860 1.00 0.00 H +HETATM 1417 O HOH A 473 42.828 37.819 12.516 1.00 0.00 O +HETATM 1418 H1 HOH A 473 42.698 38.568 13.098 1.00 0.00 H +HETATM 1419 H2 HOH A 473 42.218 37.157 12.836 1.00 0.00 H +HETATM 1420 O HOH A 474 26.864 15.352 38.715 1.00 0.00 O +HETATM 1421 H1 HOH A 474 26.539 14.512 39.039 1.00 0.00 H +HETATM 1422 H2 HOH A 474 26.401 15.487 37.890 1.00 0.00 H +HETATM 1423 O HOH A 475 35.284 36.306 49.313 1.00 0.00 O +HETATM 1424 H1 HOH A 475 35.238 37.025 48.683 1.00 0.00 H +HETATM 1425 H2 HOH A 475 35.896 36.608 49.981 1.00 0.00 H +HETATM 1426 O HOH A 476 3.377 13.450 30.180 1.00 0.00 O +HETATM 1427 H1 HOH A 476 2.601 13.560 29.630 1.00 0.00 H +HETATM 1428 H2 HOH A 476 4.102 13.759 29.640 1.00 0.00 H +HETATM 1429 O HOH A 477 39.947 15.283 17.128 1.00 0.00 O +HETATM 1430 H1 HOH A 477 39.555 14.501 16.740 1.00 0.00 H +HETATM 1431 H2 HOH A 477 39.234 15.919 17.163 1.00 0.00 H +HETATM 1432 O HOH A 478 38.030 11.041 18.215 1.00 0.00 O +HETATM 1433 H1 HOH A 478 38.094 11.767 17.594 1.00 0.00 H +HETATM 1434 H2 HOH A 478 38.604 10.366 17.858 1.00 0.00 H +HETATM 1435 O HOH A 479 36.495 47.555 15.670 1.00 0.00 O +HETATM 1436 H1 HOH A 479 36.560 47.554 14.715 1.00 0.00 H +HETATM 1437 H2 HOH A 479 37.117 46.888 15.955 1.00 0.00 H +HETATM 1438 O HOH A 480 12.083 20.199 16.643 1.00 0.00 O +HETATM 1439 H1 HOH A 480 11.576 19.391 16.734 1.00 0.00 H +HETATM 1440 H2 HOH A 480 12.957 19.972 16.955 1.00 0.00 H +HETATM 1441 O HOH A 481 17.977 37.766 37.247 1.00 0.00 O +HETATM 1442 H1 HOH A 481 17.134 37.366 37.460 1.00 0.00 H +HETATM 1443 H2 HOH A 481 17.773 38.422 36.584 1.00 0.00 H +HETATM 1444 O HOH A 482 28.319 48.616 31.439 1.00 0.00 O +HETATM 1445 H1 HOH A 482 29.092 49.174 31.350 1.00 0.00 H +HETATM 1446 H2 HOH A 482 28.583 47.935 32.055 1.00 0.00 H +HETATM 1447 O HOH A 483 36.826 16.481 7.807 1.00 0.00 O +HETATM 1448 H1 HOH A 483 37.411 16.667 8.542 1.00 0.00 H +HETATM 1449 H2 HOH A 483 35.973 16.807 8.089 1.00 0.00 H +HETATM 1450 O HOH A 484 4.694 5.743 33.621 1.00 0.00 O +HETATM 1451 H1 HOH A 484 3.990 6.033 33.040 1.00 0.00 H +HETATM 1452 H2 HOH A 484 4.937 6.525 34.114 1.00 0.00 H +HETATM 1453 O HOH A 485 46.778 15.439 31.782 1.00 0.00 O +HETATM 1454 H1 HOH A 485 47.699 15.384 31.527 1.00 0.00 H +HETATM 1455 H2 HOH A 485 46.671 16.330 32.110 1.00 0.00 H +HETATM 1456 O HOH A 486 48.080 32.670 25.129 1.00 0.00 O +HETATM 1457 H1 HOH A 486 47.698 32.290 25.921 1.00 0.00 H +HETATM 1458 H2 HOH A 486 48.659 33.360 25.448 1.00 0.00 H +HETATM 1459 O HOH A 487 25.928 38.356 35.138 1.00 0.00 O +HETATM 1460 H1 HOH A 487 25.343 37.720 35.550 1.00 0.00 H +HETATM 1461 H2 HOH A 487 26.765 37.902 35.063 1.00 0.00 H +HETATM 1462 O HOH A 488 14.267 4.109 10.382 1.00 0.00 O +HETATM 1463 H1 HOH A 488 13.877 4.087 11.256 1.00 0.00 H +HETATM 1464 H2 HOH A 488 15.142 3.743 10.499 1.00 0.00 H +HETATM 1465 O HOH A 489 48.095 32.187 48.677 1.00 0.00 O +HETATM 1466 H1 HOH A 489 48.087 33.137 48.555 1.00 0.00 H +HETATM 1467 H2 HOH A 489 47.456 32.027 49.368 1.00 0.00 H +HETATM 1468 O HOH A 490 44.464 28.578 31.333 1.00 0.00 O +HETATM 1469 H1 HOH A 490 45.387 28.777 31.177 1.00 0.00 H +HETATM 1470 H2 HOH A 490 44.335 28.740 32.265 1.00 0.00 H +HETATM 1471 O HOH A 491 40.751 24.429 48.375 1.00 0.00 O +HETATM 1472 H1 HOH A 491 41.117 24.988 47.690 1.00 0.00 H +HETATM 1473 H2 HOH A 491 41.316 23.659 48.388 1.00 0.00 H +HETATM 1474 O HOH A 492 18.874 18.615 10.465 1.00 0.00 O +HETATM 1475 H1 HOH A 492 18.780 19.540 10.691 1.00 0.00 H +HETATM 1476 H2 HOH A 492 19.652 18.579 9.912 1.00 0.00 H +HETATM 1477 O HOH A 493 15.185 26.412 8.602 1.00 0.00 O +HETATM 1478 H1 HOH A 493 15.647 25.751 8.085 1.00 0.00 H +HETATM 1479 H2 HOH A 493 14.289 26.087 8.666 1.00 0.00 H +HETATM 1480 O HOH A 494 5.260 4.821 29.279 1.00 0.00 O +HETATM 1481 H1 HOH A 494 4.570 4.188 29.083 1.00 0.00 H +HETATM 1482 H2 HOH A 494 4.814 5.529 29.740 1.00 0.00 H +HETATM 1483 O HOH A 495 35.061 36.965 32.492 1.00 0.00 O +HETATM 1484 H1 HOH A 495 34.111 36.976 32.377 1.00 0.00 H +HETATM 1485 H2 HOH A 495 35.405 37.377 31.702 1.00 0.00 H +HETATM 1486 O HOH A 496 41.508 20.141 44.880 1.00 0.00 O +HETATM 1487 H1 HOH A 496 40.984 20.922 45.060 1.00 0.00 H +HETATM 1488 H2 HOH A 496 40.869 19.473 44.635 1.00 0.00 H +HETATM 1489 O HOH A 497 42.463 29.320 29.895 1.00 0.00 O +HETATM 1490 H1 HOH A 497 41.952 29.553 30.670 1.00 0.00 H +HETATM 1491 H2 HOH A 497 43.246 29.866 29.949 1.00 0.00 H +HETATM 1492 O HOH A 498 17.473 42.760 4.730 1.00 0.00 O +HETATM 1493 H1 HOH A 498 17.936 42.588 5.550 1.00 0.00 H +HETATM 1494 H2 HOH A 498 17.589 41.964 4.215 1.00 0.00 H +HETATM 1495 O HOH A 499 11.106 27.378 17.855 1.00 0.00 O +HETATM 1496 H1 HOH A 499 10.893 26.652 18.441 1.00 0.00 H +HETATM 1497 H2 HOH A 499 12.040 27.281 17.680 1.00 0.00 H +HETATM 1498 O HOH A 500 44.361 14.106 20.734 1.00 0.00 O +HETATM 1499 H1 HOH A 500 44.760 13.767 21.535 1.00 0.00 H +HETATM 1500 H2 HOH A 500 44.643 15.018 20.690 1.00 0.00 H +HETATM 1501 O HOH A 501 27.426 10.055 38.622 1.00 0.00 O +HETATM 1502 H1 HOH A 501 28.069 9.627 39.188 1.00 0.00 H +HETATM 1503 H2 HOH A 501 27.192 10.857 39.085 1.00 0.00 H +HETATM 1504 O HOH A 502 47.519 34.346 39.568 1.00 0.00 O +HETATM 1505 H1 HOH A 502 47.788 33.460 39.324 1.00 0.00 H +HETATM 1506 H2 HOH A 502 48.315 34.869 39.493 1.00 0.00 H +HETATM 1507 O HOH A 503 30.931 18.586 39.356 1.00 0.00 O +HETATM 1508 H1 HOH A 503 30.783 17.755 39.808 1.00 0.00 H +HETATM 1509 H2 HOH A 503 31.777 18.890 39.680 1.00 0.00 H +HETATM 1510 O HOH A 504 23.878 25.866 19.617 1.00 0.00 O +HETATM 1511 H1 HOH A 504 23.196 25.212 19.461 1.00 0.00 H +HETATM 1512 H2 HOH A 504 24.163 26.131 18.745 1.00 0.00 H +HETATM 1513 O HOH A 505 39.871 38.648 26.547 1.00 0.00 O +HETATM 1514 H1 HOH A 505 39.882 38.421 27.477 1.00 0.00 H +HETATM 1515 H2 HOH A 505 39.371 37.947 26.134 1.00 0.00 H +HETATM 1516 O HOH A 506 2.525 22.786 11.397 1.00 0.00 O +HETATM 1517 H1 HOH A 506 1.801 22.159 11.390 1.00 0.00 H +HETATM 1518 H2 HOH A 506 3.023 22.571 12.183 1.00 0.00 H +HETATM 1519 O HOH A 507 26.265 0.495 11.192 1.00 0.00 O +HETATM 1520 H1 HOH A 507 27.089 0.859 10.869 1.00 0.00 H +HETATM 1521 H2 HOH A 507 26.099 0.960 12.010 1.00 0.00 H +HETATM 1522 O HOH A 508 29.412 10.031 27.915 1.00 0.00 O +HETATM 1523 H1 HOH A 508 29.870 9.396 28.466 1.00 0.00 H +HETATM 1524 H2 HOH A 508 29.296 10.797 28.473 1.00 0.00 H +HETATM 1525 O HOH A 509 27.565 36.541 49.230 1.00 0.00 O +HETATM 1526 H1 HOH A 509 26.842 36.445 48.610 1.00 0.00 H +HETATM 1527 H2 HOH A 509 28.019 37.334 48.952 1.00 0.00 H +HETATM 1528 O HOH A 510 15.032 23.020 16.730 1.00 0.00 O +HETATM 1529 H1 HOH A 510 15.150 22.883 15.790 1.00 0.00 H +HETATM 1530 H2 HOH A 510 15.906 22.916 17.101 1.00 0.00 H +HETATM 1531 O HOH A 511 25.643 19.306 49.519 1.00 0.00 O +HETATM 1532 H1 HOH A 511 24.760 19.588 49.280 1.00 0.00 H +HETATM 1533 H2 HOH A 511 26.161 20.109 49.521 1.00 0.00 H +HETATM 1534 O HOH A 512 46.632 48.940 43.952 1.00 0.00 O +HETATM 1535 H1 HOH A 512 47.483 49.024 44.382 1.00 0.00 H +HETATM 1536 H2 HOH A 512 46.037 48.667 44.647 1.00 0.00 H +HETATM 1537 O HOH A 513 47.703 6.880 5.152 1.00 0.00 O +HETATM 1538 H1 HOH A 513 47.861 7.671 4.637 1.00 0.00 H +HETATM 1539 H2 HOH A 513 47.455 7.200 6.017 1.00 0.00 H +HETATM 1540 O HOH A 514 12.649 30.012 6.208 1.00 0.00 O +HETATM 1541 H1 HOH A 514 12.399 30.259 5.317 1.00 0.00 H +HETATM 1542 H2 HOH A 514 13.313 29.335 6.093 1.00 0.00 H +HETATM 1543 O HOH A 515 49.481 8.202 37.122 1.00 0.00 O +HETATM 1544 H1 HOH A 515 48.690 8.234 37.659 1.00 0.00 H +HETATM 1545 H2 HOH A 515 49.386 7.409 36.598 1.00 0.00 H +HETATM 1546 O HOH A 516 16.386 22.189 25.509 1.00 0.00 O +HETATM 1547 H1 HOH A 516 15.892 22.099 24.694 1.00 0.00 H +HETATM 1548 H2 HOH A 516 16.968 22.932 25.359 1.00 0.00 H +HETATM 1549 O HOH A 517 1.631 25.599 7.151 1.00 0.00 O +HETATM 1550 H1 HOH A 517 1.952 26.081 7.913 1.00 0.00 H +HETATM 1551 H2 HOH A 517 0.705 25.829 7.092 1.00 0.00 H +HETATM 1552 O HOH A 518 36.235 2.868 49.140 1.00 0.00 O +HETATM 1553 H1 HOH A 518 36.476 2.506 48.287 1.00 0.00 H +HETATM 1554 H2 HOH A 518 36.705 2.328 49.773 1.00 0.00 H +HETATM 1555 O HOH A 519 23.796 49.303 47.160 1.00 0.00 O +HETATM 1556 H1 HOH A 519 23.141 49.053 46.509 1.00 0.00 H +HETATM 1557 H2 HOH A 519 24.467 48.626 47.101 1.00 0.00 H +HETATM 1558 O HOH A 520 27.031 24.532 37.815 1.00 0.00 O +HETATM 1559 H1 HOH A 520 27.707 23.914 38.093 1.00 0.00 H +HETATM 1560 H2 HOH A 520 26.842 25.052 38.594 1.00 0.00 H +HETATM 1561 O HOH A 521 48.751 8.880 26.574 1.00 0.00 O +HETATM 1562 H1 HOH A 521 48.200 8.331 27.132 1.00 0.00 H +HETATM 1563 H2 HOH A 521 49.641 8.724 26.885 1.00 0.00 H +HETATM 1564 O HOH A 522 19.578 8.146 48.942 1.00 0.00 O +HETATM 1565 H1 HOH A 522 18.764 7.856 48.529 1.00 0.00 H +HETATM 1566 H2 HOH A 522 19.597 7.694 49.783 1.00 0.00 H +HETATM 1567 O HOH A 523 7.232 26.060 32.592 1.00 0.00 O +HETATM 1568 H1 HOH A 523 6.740 26.815 32.269 1.00 0.00 H +HETATM 1569 H2 HOH A 523 8.023 26.041 32.057 1.00 0.00 H +HETATM 1570 O HOH A 524 17.209 30.207 35.001 1.00 0.00 O +HETATM 1571 H1 HOH A 524 16.965 29.575 34.324 1.00 0.00 H +HETATM 1572 H2 HOH A 524 16.845 31.037 34.700 1.00 0.00 H +HETATM 1573 O HOH A 525 15.520 19.130 32.296 1.00 0.00 O +HETATM 1574 H1 HOH A 525 15.270 18.214 32.418 1.00 0.00 H +HETATM 1575 H2 HOH A 525 14.712 19.567 32.029 1.00 0.00 H +HETATM 1576 O HOH A 526 46.572 8.042 10.289 1.00 0.00 O +HETATM 1577 H1 HOH A 526 45.926 7.594 10.835 1.00 0.00 H +HETATM 1578 H2 HOH A 526 47.400 7.928 10.751 1.00 0.00 H +HETATM 1579 O HOH A 527 14.418 37.884 23.735 1.00 0.00 O +HETATM 1580 H1 HOH A 527 15.196 37.785 23.186 1.00 0.00 H +HETATM 1581 H2 HOH A 527 13.787 37.264 23.373 1.00 0.00 H +HETATM 1582 O HOH A 528 34.289 28.455 35.266 1.00 0.00 O +HETATM 1583 H1 HOH A 528 33.676 28.671 34.563 1.00 0.00 H +HETATM 1584 H2 HOH A 528 34.887 29.200 35.302 1.00 0.00 H +HETATM 1585 O HOH A 529 46.310 43.810 25.371 1.00 0.00 O +HETATM 1586 H1 HOH A 529 46.307 42.997 25.876 1.00 0.00 H +HETATM 1587 H2 HOH A 529 46.826 44.419 25.896 1.00 0.00 H +HETATM 1588 O HOH A 530 38.007 24.927 25.992 1.00 0.00 O +HETATM 1589 H1 HOH A 530 37.875 24.330 26.729 1.00 0.00 H +HETATM 1590 H2 HOH A 530 38.402 24.386 25.311 1.00 0.00 H +HETATM 1591 O HOH A 531 21.815 2.746 10.328 1.00 0.00 O +HETATM 1592 H1 HOH A 531 22.183 3.594 10.081 1.00 0.00 H +HETATM 1593 H2 HOH A 531 22.387 2.104 9.912 1.00 0.00 H +HETATM 1594 O HOH A 532 8.470 11.543 19.150 1.00 0.00 O +HETATM 1595 H1 HOH A 532 8.066 12.211 18.596 1.00 0.00 H +HETATM 1596 H2 HOH A 532 8.630 11.984 19.982 1.00 0.00 H +HETATM 1597 O HOH A 533 27.525 48.703 13.406 1.00 0.00 O +HETATM 1598 H1 HOH A 533 27.694 48.021 12.755 1.00 0.00 H +HETATM 1599 H2 HOH A 533 26.728 49.134 13.102 1.00 0.00 H +HETATM 1600 O HOH A 534 19.304 47.863 36.253 1.00 0.00 O +HETATM 1601 H1 HOH A 534 18.814 48.182 37.011 1.00 0.00 H +HETATM 1602 H2 HOH A 534 19.778 47.099 36.576 1.00 0.00 H +HETATM 1603 O HOH A 535 33.396 17.973 14.741 1.00 0.00 O +HETATM 1604 H1 HOH A 535 32.909 17.425 15.357 1.00 0.00 H +HETATM 1605 H2 HOH A 535 34.286 17.994 15.089 1.00 0.00 H +HETATM 1606 O HOH A 536 35.374 11.470 24.509 1.00 0.00 O +HETATM 1607 H1 HOH A 536 35.444 12.162 23.851 1.00 0.00 H +HETATM 1608 H2 HOH A 536 35.902 10.753 24.162 1.00 0.00 H +HETATM 1609 O HOH A 537 27.407 5.500 25.103 1.00 0.00 O +HETATM 1610 H1 HOH A 537 27.254 4.830 25.770 1.00 0.00 H +HETATM 1611 H2 HOH A 537 26.721 5.356 24.454 1.00 0.00 H +HETATM 1612 O HOH A 538 5.351 10.300 37.036 1.00 0.00 O +HETATM 1613 H1 HOH A 538 5.417 9.587 36.399 1.00 0.00 H +HETATM 1614 H2 HOH A 538 6.249 10.451 37.324 1.00 0.00 H +HETATM 1615 O HOH A 539 11.580 23.912 15.061 1.00 0.00 O +HETATM 1616 H1 HOH A 539 12.501 23.686 14.930 1.00 0.00 H +HETATM 1617 H2 HOH A 539 11.145 23.626 14.260 1.00 0.00 H +HETATM 1618 O HOH A 540 41.960 45.600 26.996 1.00 0.00 O +HETATM 1619 H1 HOH A 540 42.001 45.011 27.750 1.00 0.00 H +HETATM 1620 H2 HOH A 540 42.410 46.392 27.284 1.00 0.00 H +HETATM 1621 O HOH A 541 36.762 23.907 4.884 1.00 0.00 O +HETATM 1622 H1 HOH A 541 37.088 24.706 4.469 1.00 0.00 H +HETATM 1623 H2 HOH A 541 36.984 23.209 4.270 1.00 0.00 H +HETATM 1624 O HOH A 542 40.034 26.210 19.078 1.00 0.00 O +HETATM 1625 H1 HOH A 542 39.693 26.652 19.856 1.00 0.00 H +HETATM 1626 H2 HOH A 542 39.769 25.298 19.184 1.00 0.00 H +HETATM 1627 O HOH A 543 1.577 13.191 3.938 1.00 0.00 O +HETATM 1628 H1 HOH A 543 1.678 12.615 4.696 1.00 0.00 H +HETATM 1629 H2 HOH A 543 2.219 12.873 3.306 1.00 0.00 H +HETATM 1630 O HOH A 544 20.060 34.350 40.852 1.00 0.00 O +HETATM 1631 H1 HOH A 544 20.837 34.324 40.294 1.00 0.00 H +HETATM 1632 H2 HOH A 544 19.984 33.465 41.203 1.00 0.00 H +HETATM 1633 O HOH A 545 34.452 35.570 46.826 1.00 0.00 O +HETATM 1634 H1 HOH A 545 35.164 35.305 46.243 1.00 0.00 H +HETATM 1635 H2 HOH A 545 34.317 36.497 46.637 1.00 0.00 H +HETATM 1636 O HOH A 546 30.617 16.672 6.401 1.00 0.00 O +HETATM 1637 H1 HOH A 546 31.413 16.396 6.857 1.00 0.00 H +HETATM 1638 H2 HOH A 546 29.909 16.481 7.014 1.00 0.00 H +HETATM 1639 O HOH A 547 21.890 18.131 41.175 1.00 0.00 O +HETATM 1640 H1 HOH A 547 22.698 18.462 40.783 1.00 0.00 H +HETATM 1641 H2 HOH A 547 21.828 17.226 40.875 1.00 0.00 H +HETATM 1642 O HOH A 548 43.505 20.626 23.140 1.00 0.00 O +HETATM 1643 H1 HOH A 548 44.065 20.411 23.886 1.00 0.00 H +HETATM 1644 H2 HOH A 548 42.752 21.071 23.524 1.00 0.00 H +HETATM 1645 O HOH A 549 14.248 13.060 36.450 1.00 0.00 O +HETATM 1646 H1 HOH A 549 13.312 13.159 36.271 1.00 0.00 H +HETATM 1647 H2 HOH A 549 14.396 13.563 37.248 1.00 0.00 H +HETATM 1648 O HOH A 550 24.863 26.470 36.096 1.00 0.00 O +HETATM 1649 H1 HOH A 550 25.017 26.683 35.175 1.00 0.00 H +HETATM 1650 H2 HOH A 550 25.012 27.290 36.562 1.00 0.00 H +HETATM 1651 O HOH A 551 2.088 0.360 40.052 1.00 0.00 O +HETATM 1652 H1 HOH A 551 2.295 1.293 40.118 1.00 0.00 H +HETATM 1653 H2 HOH A 551 1.285 0.254 40.558 1.00 0.00 H +HETATM 1654 O HOH A 552 35.031 47.576 2.077 1.00 0.00 O +HETATM 1655 H1 HOH A 552 35.049 48.282 2.723 1.00 0.00 H +HETATM 1656 H2 HOH A 552 34.725 47.991 1.273 1.00 0.00 H +HETATM 1657 O HOH A 553 34.797 8.018 41.883 1.00 0.00 O +HETATM 1658 H1 HOH A 553 34.981 7.137 42.210 1.00 0.00 H +HETATM 1659 H2 HOH A 553 35.339 8.593 42.419 1.00 0.00 H +HETATM 1660 O HOH A 554 13.556 49.406 46.503 1.00 0.00 O +HETATM 1661 H1 HOH A 554 13.739 49.990 47.239 1.00 0.00 H +HETATM 1662 H2 HOH A 554 13.436 48.546 46.900 1.00 0.00 H +HETATM 1663 O HOH A 555 31.734 27.608 17.331 1.00 0.00 O +HETATM 1664 H1 HOH A 555 31.145 28.231 17.758 1.00 0.00 H +HETATM 1665 H2 HOH A 555 32.495 27.561 17.906 1.00 0.00 H +HETATM 1666 O HOH A 556 36.703 8.971 0.580 1.00 0.00 O +HETATM 1667 H1 HOH A 556 36.997 9.111 1.480 1.00 0.00 H +HETATM 1668 H2 HOH A 556 36.010 9.615 0.450 1.00 0.00 H +HETATM 1669 O HOH A 557 16.016 2.974 35.133 1.00 0.00 O +HETATM 1670 H1 HOH A 557 15.156 2.555 35.175 1.00 0.00 H +HETATM 1671 H2 HOH A 557 16.336 2.958 36.033 1.00 0.00 H +HETATM 1672 O HOH A 558 5.451 47.956 47.185 1.00 0.00 O +HETATM 1673 H1 HOH A 558 6.083 48.525 47.624 1.00 0.00 H +HETATM 1674 H2 HOH A 558 5.771 47.070 47.344 1.00 0.00 H +HETATM 1675 O HOH A 559 46.884 21.142 45.143 1.00 0.00 O +HETATM 1676 H1 HOH A 559 46.210 21.338 45.794 1.00 0.00 H +HETATM 1677 H2 HOH A 559 47.087 20.218 45.276 1.00 0.00 H +HETATM 1678 O HOH A 560 16.303 3.797 28.424 1.00 0.00 O +HETATM 1679 H1 HOH A 560 16.250 2.872 28.182 1.00 0.00 H +HETATM 1680 H2 HOH A 560 15.478 4.173 28.124 1.00 0.00 H +HETATM 1681 O HOH A 561 47.817 44.437 31.582 1.00 0.00 O +HETATM 1682 H1 HOH A 561 47.378 44.774 30.801 1.00 0.00 H +HETATM 1683 H2 HOH A 561 47.473 44.966 32.299 1.00 0.00 H +HETATM 1684 O HOH A 562 22.572 28.955 36.144 1.00 0.00 O +HETATM 1685 H1 HOH A 562 22.134 28.373 35.523 1.00 0.00 H +HETATM 1686 H2 HOH A 562 22.725 29.760 35.654 1.00 0.00 H +HETATM 1687 O HOH A 563 21.559 40.084 12.898 1.00 0.00 O +HETATM 1688 H1 HOH A 563 20.654 40.355 13.054 1.00 0.00 H +HETATM 1689 H2 HOH A 563 21.542 39.665 12.040 1.00 0.00 H +HETATM 1690 O HOH A 564 1.442 6.421 36.640 1.00 0.00 O +HETATM 1691 H1 HOH A 564 0.888 6.807 37.319 1.00 0.00 H +HETATM 1692 H2 HOH A 564 2.298 6.323 37.054 1.00 0.00 H +HETATM 1693 O HOH A 565 35.721 8.418 25.135 1.00 0.00 O +HETATM 1694 H1 HOH A 565 35.698 8.317 26.087 1.00 0.00 H +HETATM 1695 H2 HOH A 565 35.756 7.524 24.798 1.00 0.00 H +HETATM 1696 O HOH A 566 14.775 25.584 28.840 1.00 0.00 O +HETATM 1697 H1 HOH A 566 14.141 24.869 28.783 1.00 0.00 H +HETATM 1698 H2 HOH A 566 14.285 26.313 29.216 1.00 0.00 H +HETATM 1699 O HOH A 567 0.967 28.846 5.906 1.00 0.00 O +HETATM 1700 H1 HOH A 567 1.828 29.211 6.108 1.00 0.00 H +HETATM 1701 H2 HOH A 567 0.948 28.005 6.360 1.00 0.00 H +HETATM 1702 O HOH A 568 36.652 32.042 10.649 1.00 0.00 O +HETATM 1703 H1 HOH A 568 35.720 31.904 10.478 1.00 0.00 H +HETATM 1704 H2 HOH A 568 36.949 32.597 9.931 1.00 0.00 H +HETATM 1705 O HOH A 569 25.158 34.750 7.813 1.00 0.00 O +HETATM 1706 H1 HOH A 569 25.548 34.074 7.257 1.00 0.00 H +HETATM 1707 H2 HOH A 569 25.878 35.057 8.361 1.00 0.00 H +HETATM 1708 O HOH A 570 45.900 24.540 26.324 1.00 0.00 O +HETATM 1709 H1 HOH A 570 45.513 25.170 25.717 1.00 0.00 H +HETATM 1710 H2 HOH A 570 45.965 25.011 27.153 1.00 0.00 H +HETATM 1711 O HOH A 571 27.136 27.348 41.027 1.00 0.00 O +HETATM 1712 H1 HOH A 571 26.541 27.997 40.653 1.00 0.00 H +HETATM 1713 H2 HOH A 571 26.809 27.202 41.913 1.00 0.00 H +HETATM 1714 O HOH A 572 16.972 40.789 10.157 1.00 0.00 O +HETATM 1715 H1 HOH A 572 16.293 40.441 10.734 1.00 0.00 H +HETATM 1716 H2 HOH A 572 17.162 41.659 10.504 1.00 0.00 H +HETATM 1717 O HOH A 573 46.297 9.399 3.927 1.00 0.00 O +HETATM 1718 H1 HOH A 573 47.030 9.302 3.319 1.00 0.00 H +HETATM 1719 H2 HOH A 573 45.546 9.036 3.459 1.00 0.00 H +HETATM 1720 O HOH A 574 46.810 45.333 5.642 1.00 0.00 O +HETATM 1721 H1 HOH A 574 46.274 45.785 4.989 1.00 0.00 H +HETATM 1722 H2 HOH A 574 47.676 45.726 5.557 1.00 0.00 H +HETATM 1723 O HOH A 575 40.580 21.623 49.733 1.00 0.00 O +HETATM 1724 H1 HOH A 575 41.304 20.997 49.763 1.00 0.00 H +HETATM 1725 H2 HOH A 575 40.374 21.710 48.804 1.00 0.00 H +HETATM 1726 O HOH A 576 3.164 41.633 34.046 1.00 0.00 O +HETATM 1727 H1 HOH A 576 3.412 41.630 34.970 1.00 0.00 H +HETATM 1728 H2 HOH A 576 2.221 41.482 34.049 1.00 0.00 H +HETATM 1729 O HOH A 577 3.741 19.140 12.322 1.00 0.00 O +HETATM 1730 H1 HOH A 577 4.389 19.455 12.952 1.00 0.00 H +HETATM 1731 H2 HOH A 577 2.909 19.490 12.636 1.00 0.00 H +HETATM 1732 O HOH A 578 11.989 29.710 9.587 1.00 0.00 O +HETATM 1733 H1 HOH A 578 11.358 30.409 9.759 1.00 0.00 H +HETATM 1734 H2 HOH A 578 12.815 30.164 9.428 1.00 0.00 H +HETATM 1735 O HOH A 579 24.668 34.509 48.140 1.00 0.00 O +HETATM 1736 H1 HOH A 579 24.035 34.333 48.836 1.00 0.00 H +HETATM 1737 H2 HOH A 579 24.611 33.749 47.564 1.00 0.00 H +HETATM 1738 O HOH A 580 7.031 30.296 16.668 1.00 0.00 O +HETATM 1739 H1 HOH A 580 7.333 29.799 15.908 1.00 0.00 H +HETATM 1740 H2 HOH A 580 7.831 30.605 17.089 1.00 0.00 H +HETATM 1741 O HOH A 581 12.359 33.362 14.684 1.00 0.00 O +HETATM 1742 H1 HOH A 581 12.047 32.473 14.513 1.00 0.00 H +HETATM 1743 H2 HOH A 581 12.970 33.268 15.412 1.00 0.00 H +HETATM 1744 O HOH A 582 24.650 30.969 1.545 1.00 0.00 O +HETATM 1745 H1 HOH A 582 24.028 31.225 0.863 1.00 0.00 H +HETATM 1746 H2 HOH A 582 25.509 31.089 1.146 1.00 0.00 H +HETATM 1747 O HOH A 583 48.998 23.278 41.274 1.00 0.00 O +HETATM 1748 H1 HOH A 583 48.224 23.380 41.829 1.00 0.00 H +HETATM 1749 H2 HOH A 583 49.663 23.828 41.684 1.00 0.00 H +HETATM 1750 O HOH A 584 21.691 48.310 35.897 1.00 0.00 O +HETATM 1751 H1 HOH A 584 22.280 48.257 35.144 1.00 0.00 H +HETATM 1752 H2 HOH A 584 22.214 48.721 36.583 1.00 0.00 H +HETATM 1753 O HOH A 585 47.757 34.982 32.079 1.00 0.00 O +HETATM 1754 H1 HOH A 585 47.245 35.733 32.379 1.00 0.00 H +HETATM 1755 H2 HOH A 585 48.129 34.608 32.876 1.00 0.00 H +HETATM 1756 O HOH A 586 38.038 28.442 45.787 1.00 0.00 O +HETATM 1757 H1 HOH A 586 37.173 28.778 45.552 1.00 0.00 H +HETATM 1758 H2 HOH A 586 38.247 28.872 46.614 1.00 0.00 H +HETATM 1759 O HOH A 587 42.034 30.090 42.151 1.00 0.00 O +HETATM 1760 H1 HOH A 587 41.577 30.523 41.429 1.00 0.00 H +HETATM 1761 H2 HOH A 587 42.648 29.494 41.725 1.00 0.00 H +HETATM 1762 O HOH A 588 36.897 49.551 25.156 1.00 0.00 O +HETATM 1763 H1 HOH A 588 37.275 48.755 24.783 1.00 0.00 H +HETATM 1764 H2 HOH A 588 36.146 49.248 25.663 1.00 0.00 H +HETATM 1765 O HOH A 589 25.119 31.781 10.256 1.00 0.00 O +HETATM 1766 H1 HOH A 589 24.989 31.059 9.642 1.00 0.00 H +HETATM 1767 H2 HOH A 589 24.627 32.509 9.880 1.00 0.00 H +HETATM 1768 O HOH A 590 35.809 37.642 12.356 1.00 0.00 O +HETATM 1769 H1 HOH A 590 36.612 37.540 11.845 1.00 0.00 H +HETATM 1770 H2 HOH A 590 35.539 36.749 12.564 1.00 0.00 H +HETATM 1771 O HOH A 591 12.792 33.509 47.210 1.00 0.00 O +HETATM 1772 H1 HOH A 591 12.871 32.707 46.693 1.00 0.00 H +HETATM 1773 H2 HOH A 591 12.106 34.010 46.774 1.00 0.00 H +HETATM 1774 O HOH A 592 5.851 8.304 25.495 1.00 0.00 O +HETATM 1775 H1 HOH A 592 5.554 9.212 25.440 1.00 0.00 H +HETATM 1776 H2 HOH A 592 6.376 8.269 26.292 1.00 0.00 H +HETATM 1777 O HOH A 593 10.312 7.806 2.696 1.00 0.00 O +HETATM 1778 H1 HOH A 593 11.213 7.842 3.018 1.00 0.00 H +HETATM 1779 H2 HOH A 593 9.776 8.032 3.453 1.00 0.00 H +HETATM 1780 O HOH A 594 12.807 29.489 0.901 1.00 0.00 O +HETATM 1781 H1 HOH A 594 12.407 28.741 1.345 1.00 0.00 H +HETATM 1782 H2 HOH A 594 12.942 29.193 0.002 1.00 0.00 H +HETATM 1783 O HOH A 595 27.200 26.638 0.882 1.00 0.00 O +HETATM 1784 H1 HOH A 595 27.848 26.438 1.557 1.00 0.00 H +HETATM 1785 H2 HOH A 595 26.473 27.040 1.355 1.00 0.00 H +HETATM 1786 O HOH A 596 0.992 37.080 24.041 1.00 0.00 O +HETATM 1787 H1 HOH A 596 1.741 37.457 23.579 1.00 0.00 H +HETATM 1788 H2 HOH A 596 1.026 37.467 24.913 1.00 0.00 H +HETATM 1789 O HOH A 597 28.681 19.887 45.630 1.00 0.00 O +HETATM 1790 H1 HOH A 597 28.162 20.366 46.276 1.00 0.00 H +HETATM 1791 H2 HOH A 597 29.548 19.812 46.025 1.00 0.00 H +HETATM 1792 O HOH A 598 32.451 16.543 38.102 1.00 0.00 O +HETATM 1793 H1 HOH A 598 32.696 17.033 37.316 1.00 0.00 H +HETATM 1794 H2 HOH A 598 33.215 16.003 38.297 1.00 0.00 H +HETATM 1795 O HOH A 599 12.722 43.206 16.027 1.00 0.00 O +HETATM 1796 H1 HOH A 599 12.063 43.747 15.591 1.00 0.00 H +HETATM 1797 H2 HOH A 599 12.651 43.438 16.951 1.00 0.00 H +HETATM 1798 O HOH A 600 10.804 35.616 30.683 1.00 0.00 O +HETATM 1799 H1 HOH A 600 11.219 35.033 30.047 1.00 0.00 H +HETATM 1800 H2 HOH A 600 11.350 35.551 31.464 1.00 0.00 H +HETATM 1801 O HOH A 601 36.916 49.360 42.457 1.00 0.00 O +HETATM 1802 H1 HOH A 601 36.001 49.639 42.479 1.00 0.00 H +HETATM 1803 H2 HOH A 601 37.348 49.993 41.886 1.00 0.00 H +HETATM 1804 O HOH A 602 23.183 16.215 27.870 1.00 0.00 O +HETATM 1805 H1 HOH A 602 23.386 15.678 27.103 1.00 0.00 H +HETATM 1806 H2 HOH A 602 22.644 15.652 28.422 1.00 0.00 H +HETATM 1807 O HOH A 603 2.814 20.604 8.166 1.00 0.00 O +HETATM 1808 H1 HOH A 603 2.289 19.986 8.674 1.00 0.00 H +HETATM 1809 H2 HOH A 603 3.714 20.438 8.439 1.00 0.00 H +HETATM 1810 O HOH A 604 40.104 39.329 9.287 1.00 0.00 O +HETATM 1811 H1 HOH A 604 40.989 39.010 9.467 1.00 0.00 H +HETATM 1812 H2 HOH A 604 39.726 38.674 8.703 1.00 0.00 H +HETATM 1813 O HOH A 605 33.341 34.234 42.445 1.00 0.00 O +HETATM 1814 H1 HOH A 605 32.650 34.497 41.837 1.00 0.00 H +HETATM 1815 H2 HOH A 605 33.644 35.052 42.835 1.00 0.00 H +HETATM 1816 O HOH A 606 5.110 46.521 40.467 1.00 0.00 O +HETATM 1817 H1 HOH A 606 6.001 46.698 40.163 1.00 0.00 H +HETATM 1818 H2 HOH A 606 4.969 45.596 40.273 1.00 0.00 H +HETATM 1819 O HOH A 607 30.394 3.214 16.603 1.00 0.00 O +HETATM 1820 H1 HOH A 607 30.292 2.520 17.255 1.00 0.00 H +HETATM 1821 H2 HOH A 607 31.036 3.810 16.984 1.00 0.00 H +HETATM 1822 O HOH A 608 47.267 45.659 9.838 1.00 0.00 O +HETATM 1823 H1 HOH A 608 48.086 46.120 9.654 1.00 0.00 H +HETATM 1824 H2 HOH A 608 46.840 46.184 10.513 1.00 0.00 H +HETATM 1825 O HOH A 609 29.848 36.134 17.234 1.00 0.00 O +HETATM 1826 H1 HOH A 609 29.816 37.001 16.828 1.00 0.00 H +HETATM 1827 H2 HOH A 609 29.264 36.200 17.987 1.00 0.00 H +HETATM 1828 O HOH A 610 38.699 6.970 10.408 1.00 0.00 O +HETATM 1829 H1 HOH A 610 39.398 6.727 9.801 1.00 0.00 H +HETATM 1830 H2 HOH A 610 37.956 6.427 10.150 1.00 0.00 H +HETATM 1831 O HOH A 611 38.010 31.079 42.305 1.00 0.00 O +HETATM 1832 H1 HOH A 611 38.238 31.647 43.042 1.00 0.00 H +HETATM 1833 H2 HOH A 611 37.171 30.694 42.548 1.00 0.00 H +HETATM 1834 O HOH A 612 21.602 41.084 7.778 1.00 0.00 O +HETATM 1835 H1 HOH A 612 21.821 40.407 8.419 1.00 0.00 H +HETATM 1836 H2 HOH A 612 21.198 41.781 8.292 1.00 0.00 H +HETATM 1837 O HOH A 613 28.315 17.935 21.003 1.00 0.00 O +HETATM 1838 H1 HOH A 613 27.448 17.788 20.626 1.00 0.00 H +HETATM 1839 H2 HOH A 613 28.840 18.271 20.278 1.00 0.00 H +HETATM 1840 O HOH A 614 16.719 29.342 23.021 1.00 0.00 O +HETATM 1841 H1 HOH A 614 17.540 29.623 22.615 1.00 0.00 H +HETATM 1842 H2 HOH A 614 16.152 29.115 22.286 1.00 0.00 H +HETATM 1843 O HOH A 615 1.573 0.698 33.839 1.00 0.00 O +HETATM 1844 H1 HOH A 615 0.881 1.304 34.102 1.00 0.00 H +HETATM 1845 H2 HOH A 615 1.197 0.202 33.114 1.00 0.00 H +HETATM 1846 O HOH A 616 19.766 34.010 38.182 1.00 0.00 O +HETATM 1847 H1 HOH A 616 18.934 33.735 37.796 1.00 0.00 H +HETATM 1848 H2 HOH A 616 19.733 34.965 38.172 1.00 0.00 H +HETATM 1849 O HOH A 617 42.228 21.234 41.851 1.00 0.00 O +HETATM 1850 H1 HOH A 617 41.594 21.916 42.072 1.00 0.00 H +HETATM 1851 H2 HOH A 617 41.941 20.467 42.345 1.00 0.00 H +HETATM 1852 O HOH A 618 20.127 3.426 30.146 1.00 0.00 O +HETATM 1853 H1 HOH A 618 20.654 2.884 30.734 1.00 0.00 H +HETATM 1854 H2 HOH A 618 20.563 4.277 30.147 1.00 0.00 H +HETATM 1855 O HOH A 619 33.309 8.738 31.529 1.00 0.00 O +HETATM 1856 H1 HOH A 619 34.191 8.624 31.176 1.00 0.00 H +HETATM 1857 H2 HOH A 619 33.316 8.261 32.357 1.00 0.00 H +HETATM 1858 O HOH A 620 7.560 47.397 37.896 1.00 0.00 O +HETATM 1859 H1 HOH A 620 8.114 46.983 38.558 1.00 0.00 H +HETATM 1860 H2 HOH A 620 7.940 48.265 37.772 1.00 0.00 H +HETATM 1861 O HOH A 621 38.677 38.212 23.979 1.00 0.00 O +HETATM 1862 H1 HOH A 621 39.481 38.406 23.497 1.00 0.00 H +HETATM 1863 H2 HOH A 621 37.997 38.176 23.308 1.00 0.00 H +HETATM 1864 O HOH A 622 2.554 10.615 5.754 1.00 0.00 O +HETATM 1865 H1 HOH A 622 2.749 9.831 6.268 1.00 0.00 H +HETATM 1866 H2 HOH A 622 1.664 10.479 5.434 1.00 0.00 H +HETATM 1867 O HOH A 623 17.178 5.215 19.038 1.00 0.00 O +HETATM 1868 H1 HOH A 623 17.261 6.098 18.678 1.00 0.00 H +HETATM 1869 H2 HOH A 623 17.587 4.649 18.386 1.00 0.00 H +HETATM 1870 O HOH A 624 22.480 21.693 43.486 1.00 0.00 O +HETATM 1871 H1 HOH A 624 23.306 22.175 43.461 1.00 0.00 H +HETATM 1872 H2 HOH A 624 22.735 20.774 43.433 1.00 0.00 H +HETATM 1873 O HOH A 625 1.211 38.765 20.886 1.00 0.00 O +HETATM 1874 H1 HOH A 625 1.533 39.641 21.101 1.00 0.00 H +HETATM 1875 H2 HOH A 625 0.801 38.454 21.691 1.00 0.00 H +HETATM 1876 O HOH A 626 13.662 10.557 24.230 1.00 0.00 O +HETATM 1877 H1 HOH A 626 13.416 9.815 24.783 1.00 0.00 H +HETATM 1878 H2 HOH A 626 12.896 11.127 24.236 1.00 0.00 H +HETATM 1879 O HOH A 627 39.460 40.857 4.817 1.00 0.00 O +HETATM 1880 H1 HOH A 627 39.125 41.127 3.962 1.00 0.00 H +HETATM 1881 H2 HOH A 627 39.028 40.024 4.994 1.00 0.00 H +HETATM 1882 O HOH A 628 25.669 23.573 48.597 1.00 0.00 O +HETATM 1883 H1 HOH A 628 26.107 23.506 47.748 1.00 0.00 H +HETATM 1884 H2 HOH A 628 26.372 23.756 49.217 1.00 0.00 H +HETATM 1885 O HOH A 629 11.840 5.997 37.019 1.00 0.00 O +HETATM 1886 H1 HOH A 629 12.076 5.420 37.746 1.00 0.00 H +HETATM 1887 H2 HOH A 629 12.676 6.259 36.638 1.00 0.00 H +HETATM 1888 O HOH A 630 7.764 6.513 3.292 1.00 0.00 O +HETATM 1889 H1 HOH A 630 8.188 5.878 2.714 1.00 0.00 H +HETATM 1890 H2 HOH A 630 6.913 6.677 2.887 1.00 0.00 H +HETATM 1891 O HOH A 631 43.156 35.569 43.218 1.00 0.00 O +HETATM 1892 H1 HOH A 631 42.817 36.234 42.617 1.00 0.00 H +HETATM 1893 H2 HOH A 631 43.810 36.027 43.741 1.00 0.00 H +HETATM 1894 O HOH A 632 37.015 46.191 25.570 1.00 0.00 O +HETATM 1895 H1 HOH A 632 37.068 46.560 24.688 1.00 0.00 H +HETATM 1896 H2 HOH A 632 37.882 46.335 25.945 1.00 0.00 H +HETATM 1897 O HOH A 633 16.173 29.836 25.755 1.00 0.00 O +HETATM 1898 H1 HOH A 633 15.328 29.582 25.385 1.00 0.00 H +HETATM 1899 H2 HOH A 633 16.321 30.724 25.435 1.00 0.00 H +HETATM 1900 O HOH A 634 10.416 1.352 13.543 1.00 0.00 O +HETATM 1901 H1 HOH A 634 10.554 1.922 12.786 1.00 0.00 H +HETATM 1902 H2 HOH A 634 9.797 0.692 13.238 1.00 0.00 H +HETATM 1903 O HOH A 635 38.353 42.719 25.828 1.00 0.00 O +HETATM 1904 H1 HOH A 635 38.710 43.410 26.386 1.00 0.00 H +HETATM 1905 H2 HOH A 635 37.507 43.056 25.539 1.00 0.00 H +HETATM 1906 O HOH A 636 26.538 3.980 1.110 1.00 0.00 O +HETATM 1907 H1 HOH A 636 26.195 4.369 1.915 1.00 0.00 H +HETATM 1908 H2 HOH A 636 26.410 4.653 0.443 1.00 0.00 H +HETATM 1909 O HOH A 637 27.969 47.738 15.943 1.00 0.00 O +HETATM 1910 H1 HOH A 637 27.652 47.537 16.824 1.00 0.00 H +HETATM 1911 H2 HOH A 637 27.376 48.416 15.623 1.00 0.00 H +HETATM 1912 O HOH A 638 20.814 17.084 35.352 1.00 0.00 O +HETATM 1913 H1 HOH A 638 20.119 17.041 36.010 1.00 0.00 H +HETATM 1914 H2 HOH A 638 21.597 16.779 35.808 1.00 0.00 H +HETATM 1915 O HOH A 639 9.795 17.318 27.243 1.00 0.00 O +HETATM 1916 H1 HOH A 639 10.278 18.124 27.060 1.00 0.00 H +HETATM 1917 H2 HOH A 639 9.206 17.545 27.960 1.00 0.00 H +HETATM 1918 O HOH A 640 44.377 35.788 48.989 1.00 0.00 O +HETATM 1919 H1 HOH A 640 44.632 34.933 48.642 1.00 0.00 H +HETATM 1920 H2 HOH A 640 43.430 35.728 49.105 1.00 0.00 H +HETATM 1921 O HOH A 641 37.550 11.863 44.230 1.00 0.00 O +HETATM 1922 H1 HOH A 641 36.904 11.477 43.639 1.00 0.00 H +HETATM 1923 H2 HOH A 641 37.711 12.736 43.877 1.00 0.00 H +HETATM 1924 O HOH A 642 28.947 27.155 39.434 1.00 0.00 O +HETATM 1925 H1 HOH A 642 29.214 27.059 38.519 1.00 0.00 H +HETATM 1926 H2 HOH A 642 28.513 26.330 39.646 1.00 0.00 H +HETATM 1927 O HOH A 643 39.390 20.309 32.622 1.00 0.00 O +HETATM 1928 H1 HOH A 643 39.514 19.808 33.429 1.00 0.00 H +HETATM 1929 H2 HOH A 643 40.173 20.851 32.551 1.00 0.00 H +HETATM 1930 O HOH A 644 14.942 38.119 3.327 1.00 0.00 O +HETATM 1931 H1 HOH A 644 14.764 37.435 2.680 1.00 0.00 H +HETATM 1932 H2 HOH A 644 14.454 38.879 3.014 1.00 0.00 H +HETATM 1933 O HOH A 645 9.338 29.178 15.056 1.00 0.00 O +HETATM 1934 H1 HOH A 645 9.965 29.821 14.726 1.00 0.00 H +HETATM 1935 H2 HOH A 645 9.178 28.595 14.316 1.00 0.00 H +HETATM 1936 O HOH A 646 11.493 17.052 23.104 1.00 0.00 O +HETATM 1937 H1 HOH A 646 10.892 17.792 23.200 1.00 0.00 H +HETATM 1938 H2 HOH A 646 12.079 17.307 22.395 1.00 0.00 H +HETATM 1939 O HOH A 647 43.693 10.910 40.845 1.00 0.00 O +HETATM 1940 H1 HOH A 647 43.198 10.237 40.379 1.00 0.00 H +HETATM 1941 H2 HOH A 647 44.542 10.934 40.407 1.00 0.00 H +HETATM 1942 O HOH A 648 37.168 1.888 9.586 1.00 0.00 O +HETATM 1943 H1 HOH A 648 37.236 2.202 10.488 1.00 0.00 H +HETATM 1944 H2 HOH A 648 36.804 2.626 9.100 1.00 0.00 H +HETATM 1945 O HOH A 649 46.738 37.997 43.082 1.00 0.00 O +HETATM 1946 H1 HOH A 649 46.004 38.562 42.841 1.00 0.00 H +HETATM 1947 H2 HOH A 649 47.512 38.548 42.976 1.00 0.00 H +HETATM 1948 O HOH A 650 46.208 17.678 10.732 1.00 0.00 O +HETATM 1949 H1 HOH A 650 47.143 17.726 10.932 1.00 0.00 H +HETATM 1950 H2 HOH A 650 45.784 18.149 11.446 1.00 0.00 H +HETATM 1951 O HOH A 651 41.766 13.899 19.741 1.00 0.00 O +HETATM 1952 H1 HOH A 651 42.052 13.874 18.827 1.00 0.00 H +HETATM 1953 H2 HOH A 651 42.216 13.165 20.155 1.00 0.00 H +HETATM 1954 O HOH A 652 25.219 46.663 38.510 1.00 0.00 O +HETATM 1955 H1 HOH A 652 25.786 47.404 38.723 1.00 0.00 H +HETATM 1956 H2 HOH A 652 24.772 46.457 39.329 1.00 0.00 H +HETATM 1957 O HOH A 653 2.976 2.818 5.855 1.00 0.00 O +HETATM 1958 H1 HOH A 653 3.095 1.919 6.163 1.00 0.00 H +HETATM 1959 H2 HOH A 653 3.405 3.359 6.515 1.00 0.00 H +HETATM 1960 O HOH A 654 35.623 6.717 35.278 1.00 0.00 O +HETATM 1961 H1 HOH A 654 36.183 6.249 35.898 1.00 0.00 H +HETATM 1962 H2 HOH A 654 35.915 6.422 34.418 1.00 0.00 H +HETATM 1963 O HOH A 655 6.115 43.669 6.805 1.00 0.00 O +HETATM 1964 H1 HOH A 655 5.188 43.708 7.041 1.00 0.00 H +HETATM 1965 H2 HOH A 655 6.244 42.780 6.479 1.00 0.00 H +HETATM 1966 O HOH A 656 49.853 7.952 14.899 1.00 0.00 O +HETATM 1967 H1 HOH A 656 49.962 7.946 13.948 1.00 0.00 H +HETATM 1968 H2 HOH A 656 49.992 8.863 15.153 1.00 0.00 H +HETATM 1969 O HOH A 657 14.113 19.103 24.950 1.00 0.00 O +HETATM 1970 H1 HOH A 657 15.025 19.391 24.984 1.00 0.00 H +HETATM 1971 H2 HOH A 657 13.858 18.999 25.865 1.00 0.00 H +HETATM 1972 O HOH A 658 32.619 16.909 10.029 1.00 0.00 O +HETATM 1973 H1 HOH A 658 32.192 17.762 10.105 1.00 0.00 H +HETATM 1974 H2 HOH A 658 33.250 16.891 10.746 1.00 0.00 H +HETATM 1975 O HOH A 659 44.394 9.465 31.936 1.00 0.00 O +HETATM 1976 H1 HOH A 659 43.613 9.755 32.407 1.00 0.00 H +HETATM 1977 H2 HOH A 659 45.102 9.537 32.573 1.00 0.00 H +HETATM 1978 O HOH A 660 16.446 17.280 2.835 1.00 0.00 O +HETATM 1979 H1 HOH A 660 15.508 17.470 2.838 1.00 0.00 H +HETATM 1980 H2 HOH A 660 16.847 18.030 3.272 1.00 0.00 H +HETATM 1981 O HOH A 661 43.675 22.346 10.713 1.00 0.00 O +HETATM 1982 H1 HOH A 661 43.911 22.137 11.617 1.00 0.00 H +HETATM 1983 H2 HOH A 661 43.199 23.172 10.772 1.00 0.00 H +HETATM 1984 O HOH A 662 34.447 23.706 7.240 1.00 0.00 O +HETATM 1985 H1 HOH A 662 33.821 23.356 6.606 1.00 0.00 H +HETATM 1986 H2 HOH A 662 34.699 24.557 6.886 1.00 0.00 H +HETATM 1987 O HOH A 663 19.789 42.639 9.762 1.00 0.00 O +HETATM 1988 H1 HOH A 663 19.425 43.377 9.272 1.00 0.00 H +HETATM 1989 H2 HOH A 663 19.173 41.923 9.614 1.00 0.00 H +HETATM 1990 O HOH A 664 41.258 30.412 1.062 1.00 0.00 O +HETATM 1991 H1 HOH A 664 41.181 29.458 1.078 1.00 0.00 H +HETATM 1992 H2 HOH A 664 40.506 30.707 0.553 1.00 0.00 H +HETATM 1993 O HOH A 665 14.100 23.114 1.638 1.00 0.00 O +HETATM 1994 H1 HOH A 665 14.346 23.584 0.841 1.00 0.00 H +HETATM 1995 H2 HOH A 665 13.245 23.471 1.874 1.00 0.00 H +HETATM 1996 O HOH A 666 48.735 33.295 11.400 1.00 0.00 O +HETATM 1997 H1 HOH A 666 47.813 33.438 11.185 1.00 0.00 H +HETATM 1998 H2 HOH A 666 48.762 33.290 12.355 1.00 0.00 H +HETATM 1999 O HOH A 667 34.142 45.470 21.182 1.00 0.00 O +HETATM 2000 H1 HOH A 667 33.474 44.989 21.673 1.00 0.00 H +HETATM 2001 H2 HOH A 667 34.508 44.826 20.579 1.00 0.00 H +HETATM 2002 O HOH A 668 49.395 13.527 13.754 1.00 0.00 O +HETATM 2003 H1 HOH A 668 48.604 13.581 14.291 1.00 0.00 H +HETATM 2004 H2 HOH A 668 50.000 12.996 14.267 1.00 0.00 H +HETATM 2005 O HOH A 669 4.646 42.040 30.148 1.00 0.00 O +HETATM 2006 H1 HOH A 669 4.424 41.170 30.479 1.00 0.00 H +HETATM 2007 H2 HOH A 669 5.236 42.406 30.805 1.00 0.00 H +HETATM 2008 O HOH A 670 42.249 41.283 10.648 1.00 0.00 O +HETATM 2009 H1 HOH A 670 42.066 42.061 10.122 1.00 0.00 H +HETATM 2010 H2 HOH A 670 42.874 40.782 10.128 1.00 0.00 H +HETATM 2011 O HOH A 671 10.918 47.742 25.071 1.00 0.00 O +HETATM 2012 H1 HOH A 671 11.644 47.118 25.082 1.00 0.00 H +HETATM 2013 H2 HOH A 671 10.305 47.387 24.430 1.00 0.00 H +HETATM 2014 O HOH A 672 14.830 31.879 14.002 1.00 0.00 O +HETATM 2015 H1 HOH A 672 14.247 32.323 13.385 1.00 0.00 H +HETATM 2016 H2 HOH A 672 15.707 32.017 13.648 1.00 0.00 H +HETATM 2017 O HOH A 673 36.408 43.215 14.447 1.00 0.00 O +HETATM 2018 H1 HOH A 673 36.228 44.155 14.407 1.00 0.00 H +HETATM 2019 H2 HOH A 673 36.074 42.942 15.300 1.00 0.00 H +HETATM 2020 O HOH A 674 11.124 7.801 14.731 1.00 0.00 O +HETATM 2021 H1 HOH A 674 10.581 7.221 15.266 1.00 0.00 H +HETATM 2022 H2 HOH A 674 10.566 8.555 14.548 1.00 0.00 H +HETATM 2023 O HOH A 675 3.642 8.864 46.911 1.00 0.00 O +HETATM 2024 H1 HOH A 675 3.802 9.725 46.525 1.00 0.00 H +HETATM 2025 H2 HOH A 675 4.141 8.259 46.365 1.00 0.00 H +HETATM 2026 O HOH A 676 29.457 37.642 0.515 1.00 0.00 O +HETATM 2027 H1 HOH A 676 30.227 37.504 1.068 1.00 0.00 H +HETATM 2028 H2 HOH A 676 28.754 37.847 1.128 1.00 0.00 H +HETATM 2029 O HOH A 677 36.426 2.248 1.135 1.00 0.00 O +HETATM 2030 H1 HOH A 677 36.324 2.987 1.735 1.00 0.00 H +HETATM 2031 H2 HOH A 677 36.363 2.634 0.264 1.00 0.00 H +HETATM 2032 O HOH A 678 12.113 29.214 45.641 1.00 0.00 O +HETATM 2033 H1 HOH A 678 11.274 29.624 45.430 1.00 0.00 H +HETATM 2034 H2 HOH A 678 11.885 28.458 46.178 1.00 0.00 H +HETATM 2035 O HOH A 679 33.435 17.217 47.799 1.00 0.00 O +HETATM 2036 H1 HOH A 679 32.995 16.443 48.152 1.00 0.00 H +HETATM 2037 H2 HOH A 679 34.163 17.374 48.397 1.00 0.00 H +HETATM 2038 O HOH A 680 40.136 47.789 19.151 1.00 0.00 O +HETATM 2039 H1 HOH A 680 40.572 47.071 18.691 1.00 0.00 H +HETATM 2040 H2 HOH A 680 40.842 48.258 19.592 1.00 0.00 H +HETATM 2041 O HOH A 681 35.510 1.256 17.497 1.00 0.00 O +HETATM 2042 H1 HOH A 681 35.673 2.146 17.810 1.00 0.00 H +HETATM 2043 H2 HOH A 681 34.760 1.339 16.911 1.00 0.00 H +HETATM 2044 O HOH A 682 12.129 46.367 20.203 1.00 0.00 O +HETATM 2045 H1 HOH A 682 12.668 45.583 20.100 1.00 0.00 H +HETATM 2046 H2 HOH A 682 11.368 46.074 20.701 1.00 0.00 H +HETATM 2047 O HOH A 683 17.849 41.719 28.580 1.00 0.00 O +HETATM 2048 H1 HOH A 683 17.149 41.542 29.209 1.00 0.00 H +HETATM 2049 H2 HOH A 683 18.609 41.257 28.928 1.00 0.00 H +HETATM 2050 O HOH A 684 45.785 2.292 14.024 1.00 0.00 O +HETATM 2051 H1 HOH A 684 45.894 2.895 14.760 1.00 0.00 H +HETATM 2052 H2 HOH A 684 45.506 1.471 14.425 1.00 0.00 H +HETATM 2053 O HOH A 685 44.260 30.365 17.182 1.00 0.00 O +HETATM 2054 H1 HOH A 685 43.406 30.446 17.607 1.00 0.00 H +HETATM 2055 H2 HOH A 685 44.868 30.180 17.896 1.00 0.00 H +HETATM 2056 O HOH A 686 2.593 37.561 14.972 1.00 0.00 O +HETATM 2057 H1 HOH A 686 2.494 37.608 14.021 1.00 0.00 H +HETATM 2058 H2 HOH A 686 3.477 37.227 15.107 1.00 0.00 H +HETATM 2059 O HOH A 687 13.298 49.057 36.507 1.00 0.00 O +HETATM 2060 H1 HOH A 687 13.999 48.984 35.860 1.00 0.00 H +HETATM 2061 H2 HOH A 687 12.674 48.375 36.264 1.00 0.00 H +HETATM 2062 O HOH A 688 39.340 28.871 29.028 1.00 0.00 O +HETATM 2063 H1 HOH A 688 39.473 28.233 28.327 1.00 0.00 H +HETATM 2064 H2 HOH A 688 40.162 28.871 29.515 1.00 0.00 H +HETATM 2065 O HOH A 689 5.437 20.777 43.524 1.00 0.00 O +HETATM 2066 H1 HOH A 689 4.544 21.020 43.282 1.00 0.00 H +HETATM 2067 H2 HOH A 689 5.974 21.066 42.789 1.00 0.00 H +HETATM 2068 O HOH A 690 21.134 40.858 39.231 1.00 0.00 O +HETATM 2069 H1 HOH A 690 22.083 40.980 39.186 1.00 0.00 H +HETATM 2070 H2 HOH A 690 20.920 40.344 38.455 1.00 0.00 H +HETATM 2071 O HOH A 691 28.054 33.032 32.575 1.00 0.00 O +HETATM 2072 H1 HOH A 691 27.871 33.968 32.493 1.00 0.00 H +HETATM 2073 H2 HOH A 691 28.802 32.881 31.999 1.00 0.00 H +HETATM 2074 O HOH A 692 20.746 29.309 37.555 1.00 0.00 O +HETATM 2075 H1 HOH A 692 21.374 29.765 38.115 1.00 0.00 H +HETATM 2076 H2 HOH A 692 19.894 29.658 37.812 1.00 0.00 H +HETATM 2077 O HOH A 693 22.164 26.905 -0.023 1.00 0.00 O +HETATM 2078 H1 HOH A 693 22.214 26.092 0.481 1.00 0.00 H +HETATM 2079 H2 HOH A 693 22.882 27.440 0.311 1.00 0.00 H +HETATM 2080 O HOH A 694 1.390 1.849 21.138 1.00 0.00 O +HETATM 2081 H1 HOH A 694 2.310 1.925 21.394 1.00 0.00 H +HETATM 2082 H2 HOH A 694 1.203 2.658 20.666 1.00 0.00 H +HETATM 2083 O HOH A 695 8.995 15.955 1.329 1.00 0.00 O +HETATM 2084 H1 HOH A 695 8.206 16.224 1.799 1.00 0.00 H +HETATM 2085 H2 HOH A 695 9.471 16.768 1.170 1.00 0.00 H +HETATM 2086 O HOH A 696 45.806 23.015 6.976 1.00 0.00 O +HETATM 2087 H1 HOH A 696 45.235 23.450 6.342 1.00 0.00 H +HETATM 2088 H2 HOH A 696 45.212 22.526 7.541 1.00 0.00 H +HETATM 2089 O HOH A 697 48.670 2.953 0.673 1.00 0.00 O +HETATM 2090 H1 HOH A 697 47.968 2.824 0.036 1.00 0.00 H +HETATM 2091 H2 HOH A 697 49.041 3.806 0.455 1.00 0.00 H +HETATM 2092 O HOH A 698 44.944 37.743 46.113 1.00 0.00 O +HETATM 2093 H1 HOH A 698 44.381 36.983 46.260 1.00 0.00 H +HETATM 2094 H2 HOH A 698 45.475 37.808 46.904 1.00 0.00 H +HETATM 2095 O HOH A 699 12.933 37.517 46.487 1.00 0.00 O +HETATM 2096 H1 HOH A 699 12.997 38.367 46.052 1.00 0.00 H +HETATM 2097 H2 HOH A 699 12.866 37.726 47.417 1.00 0.00 H +HETATM 2098 O HOH A 700 5.759 9.682 12.948 1.00 0.00 O +HETATM 2099 H1 HOH A 700 5.645 8.740 12.819 1.00 0.00 H +HETATM 2100 H2 HOH A 700 5.029 10.080 12.477 1.00 0.00 H +HETATM 2101 O HOH A 701 39.652 7.766 7.707 1.00 0.00 O +HETATM 2102 H1 HOH A 701 40.297 7.447 7.075 1.00 0.00 H +HETATM 2103 H2 HOH A 701 38.814 7.441 7.382 1.00 0.00 H +HETATM 2104 O HOH A 702 39.882 8.929 20.645 1.00 0.00 O +HETATM 2105 H1 HOH A 702 40.451 9.698 20.643 1.00 0.00 H +HETATM 2106 H2 HOH A 702 39.332 9.033 19.871 1.00 0.00 H +HETATM 2107 O HOH A 703 39.042 48.120 30.826 1.00 0.00 O +HETATM 2108 H1 HOH A 703 39.528 47.462 31.324 1.00 0.00 H +HETATM 2109 H2 HOH A 703 39.689 48.506 30.239 1.00 0.00 H +HETATM 2110 O HOH A 704 44.162 29.503 14.244 1.00 0.00 O +HETATM 2111 H1 HOH A 704 43.396 28.946 14.105 1.00 0.00 H +HETATM 2112 H2 HOH A 704 44.341 29.437 15.180 1.00 0.00 H +HETATM 2113 O HOH A 705 31.796 2.870 11.342 1.00 0.00 O +HETATM 2114 H1 HOH A 705 31.765 1.914 11.321 1.00 0.00 H +HETATM 2115 H2 HOH A 705 31.310 3.111 12.128 1.00 0.00 H +HETATM 2116 O HOH A 706 9.025 43.826 25.656 1.00 0.00 O +HETATM 2117 H1 HOH A 706 9.229 43.897 26.589 1.00 0.00 H +HETATM 2118 H2 HOH A 706 8.389 44.520 25.494 1.00 0.00 H +HETATM 2119 O HOH A 707 49.995 32.335 45.900 1.00 0.00 O +HETATM 2120 H1 HOH A 707 49.798 33.247 46.114 1.00 0.00 H +HETATM 2121 H2 HOH A 707 49.765 31.847 46.689 1.00 0.00 H +HETATM 2122 O HOH A 708 31.609 36.653 45.847 1.00 0.00 O +HETATM 2123 H1 HOH A 708 31.496 36.576 46.795 1.00 0.00 H +HETATM 2124 H2 HOH A 708 30.999 37.342 45.588 1.00 0.00 H +HETATM 2125 O HOH A 709 49.993 37.560 44.753 1.00 0.00 O +HETATM 2126 H1 HOH A 709 49.623 37.816 45.598 1.00 0.00 H +HETATM 2127 H2 HOH A 709 49.802 36.627 44.679 1.00 0.00 H +HETATM 2128 O HOH A 710 48.477 23.282 29.410 1.00 0.00 O +HETATM 2129 H1 HOH A 710 48.121 23.246 28.522 1.00 0.00 H +HETATM 2130 H2 HOH A 710 48.112 22.516 29.848 1.00 0.00 H +HETATM 2131 O HOH A 711 19.313 33.898 13.779 1.00 0.00 O +HETATM 2132 H1 HOH A 711 19.940 34.500 14.181 1.00 0.00 H +HETATM 2133 H2 HOH A 711 18.628 34.463 13.426 1.00 0.00 H +HETATM 2134 O HOH A 712 0.916 28.309 27.775 1.00 0.00 O +HETATM 2135 H1 HOH A 712 0.195 28.585 27.209 1.00 0.00 H +HETATM 2136 H2 HOH A 712 1.699 28.663 27.358 1.00 0.00 H +HETATM 2137 O HOH A 713 46.073 0.270 45.689 1.00 0.00 O +HETATM 2138 H1 HOH A 713 46.796 0.140 45.075 1.00 0.00 H +HETATM 2139 H2 HOH A 713 46.491 0.341 46.545 1.00 0.00 H +HETATM 2140 O HOH A 714 33.502 16.407 34.473 1.00 0.00 O +HETATM 2141 H1 HOH A 714 32.762 16.998 34.336 1.00 0.00 H +HETATM 2142 H2 HOH A 714 33.111 15.608 34.824 1.00 0.00 H +HETATM 2143 O HOH A 715 37.744 48.653 19.725 1.00 0.00 O +HETATM 2144 H1 HOH A 715 37.757 47.704 19.851 1.00 0.00 H +HETATM 2145 H2 HOH A 715 37.379 48.776 18.851 1.00 0.00 H +HETATM 2146 O HOH A 716 43.778 26.954 8.389 1.00 0.00 O +HETATM 2147 H1 HOH A 716 43.308 26.270 8.867 1.00 0.00 H +HETATM 2148 H2 HOH A 716 44.389 27.318 9.027 1.00 0.00 H +HETATM 2149 O HOH A 717 14.459 15.926 17.768 1.00 0.00 O +HETATM 2150 H1 HOH A 717 13.685 16.233 17.294 1.00 0.00 H +HETATM 2151 H2 HOH A 717 15.186 16.408 17.379 1.00 0.00 H +HETATM 2152 O HOH A 718 41.233 4.813 37.109 1.00 0.00 O +HETATM 2153 H1 HOH A 718 41.053 5.561 36.540 1.00 0.00 H +HETATM 2154 H2 HOH A 718 42.086 4.491 36.823 1.00 0.00 H +HETATM 2155 O HOH A 719 8.999 41.126 44.282 1.00 0.00 O +HETATM 2156 H1 HOH A 719 9.135 41.846 44.897 1.00 0.00 H +HETATM 2157 H2 HOH A 719 8.255 40.643 44.635 1.00 0.00 H +HETATM 2158 O HOH A 720 48.749 41.768 39.496 1.00 0.00 O +HETATM 2159 H1 HOH A 720 48.447 41.723 40.403 1.00 0.00 H +HETATM 2160 H2 HOH A 720 48.016 41.437 38.981 1.00 0.00 H +HETATM 2161 O HOH A 721 27.472 47.130 46.836 1.00 0.00 O +HETATM 2162 H1 HOH A 721 27.389 46.873 47.755 1.00 0.00 H +HETATM 2163 H2 HOH A 721 27.625 46.311 46.369 1.00 0.00 H +HETATM 2164 O HOH A 722 17.579 14.773 32.164 1.00 0.00 O +HETATM 2165 H1 HOH A 722 18.198 15.151 32.790 1.00 0.00 H +HETATM 2166 H2 HOH A 722 17.338 15.501 31.594 1.00 0.00 H +HETATM 2167 O HOH A 723 41.820 4.168 45.855 1.00 0.00 O +HETATM 2168 H1 HOH A 723 41.878 4.123 46.809 1.00 0.00 H +HETATM 2169 H2 HOH A 723 41.965 5.090 45.647 1.00 0.00 H +HETATM 2170 O HOH A 724 20.008 26.275 34.315 1.00 0.00 O +HETATM 2171 H1 HOH A 724 20.760 26.061 34.867 1.00 0.00 H +HETATM 2172 H2 HOH A 724 20.207 27.139 33.959 1.00 0.00 H +HETATM 2173 O HOH A 725 18.305 11.773 32.788 1.00 0.00 O +HETATM 2174 H1 HOH A 725 18.084 11.292 33.586 1.00 0.00 H +HETATM 2175 H2 HOH A 725 19.187 12.106 32.943 1.00 0.00 H +HETATM 2176 O HOH A 726 12.355 47.687 30.524 1.00 0.00 O +HETATM 2177 H1 HOH A 726 12.415 48.450 31.100 1.00 0.00 H +HETATM 2178 H2 HOH A 726 11.782 47.966 29.812 1.00 0.00 H +HETATM 2179 O HOH A 727 17.088 5.550 3.148 1.00 0.00 O +HETATM 2180 H1 HOH A 727 16.904 6.486 3.233 1.00 0.00 H +HETATM 2181 H2 HOH A 727 17.342 5.274 4.027 1.00 0.00 H +HETATM 2182 O HOH A 728 1.148 21.615 43.500 1.00 0.00 O +HETATM 2183 H1 HOH A 728 2.051 21.742 43.210 1.00 0.00 H +HETATM 2184 H2 HOH A 728 0.702 21.238 42.743 1.00 0.00 H +HETATM 2185 O HOH A 729 4.538 13.083 46.799 1.00 0.00 O +HETATM 2186 H1 HOH A 729 3.954 12.907 46.061 1.00 0.00 H +HETATM 2187 H2 HOH A 729 4.522 12.279 47.316 1.00 0.00 H +HETATM 2188 O HOH A 730 32.061 36.172 9.879 1.00 0.00 O +HETATM 2189 H1 HOH A 730 32.704 36.761 9.484 1.00 0.00 H +HETATM 2190 H2 HOH A 730 32.309 35.302 9.573 1.00 0.00 H +HETATM 2191 O HOH A 731 38.527 36.455 13.944 1.00 0.00 O +HETATM 2192 H1 HOH A 731 39.473 36.477 13.804 1.00 0.00 H +HETATM 2193 H2 HOH A 731 38.190 37.190 13.435 1.00 0.00 H +HETATM 2194 O HOH A 732 30.308 31.432 37.421 1.00 0.00 O +HETATM 2195 H1 HOH A 732 30.323 32.287 37.853 1.00 0.00 H +HETATM 2196 H2 HOH A 732 29.439 31.083 37.605 1.00 0.00 H +HETATM 2197 O HOH A 733 41.130 31.712 35.138 1.00 0.00 O +HETATM 2198 H1 HOH A 733 41.730 31.286 35.751 1.00 0.00 H +HETATM 2199 H2 HOH A 733 41.697 32.083 34.465 1.00 0.00 H +HETATM 2200 O HOH A 734 40.599 42.231 15.884 1.00 0.00 O +HETATM 2201 H1 HOH A 734 40.236 41.346 15.839 1.00 0.00 H +HETATM 2202 H2 HOH A 734 41.218 42.202 16.611 1.00 0.00 H +HETATM 2203 O HOH A 735 41.181 9.986 34.642 1.00 0.00 O +HETATM 2204 H1 HOH A 735 41.053 9.250 35.240 1.00 0.00 H +HETATM 2205 H2 HOH A 735 42.033 10.346 34.881 1.00 0.00 H +HETATM 2206 O HOH A 736 19.262 10.420 15.110 1.00 0.00 O +HETATM 2207 H1 HOH A 736 18.321 10.593 15.072 1.00 0.00 H +HETATM 2208 H2 HOH A 736 19.634 10.953 14.410 1.00 0.00 H +HETATM 2209 O HOH A 737 3.639 7.841 49.619 1.00 0.00 O +HETATM 2210 H1 HOH A 737 3.107 8.542 49.242 1.00 0.00 H +HETATM 2211 H2 HOH A 737 3.061 7.081 49.635 1.00 0.00 H +HETATM 2212 O HOH A 738 40.257 22.642 27.615 1.00 0.00 O +HETATM 2213 H1 HOH A 738 39.933 22.054 28.298 1.00 0.00 H +HETATM 2214 H2 HOH A 738 39.878 23.492 27.828 1.00 0.00 H +HETATM 2215 O HOH A 739 44.675 40.151 31.329 1.00 0.00 O +HETATM 2216 H1 HOH A 739 44.528 40.877 30.723 1.00 0.00 H +HETATM 2217 H2 HOH A 739 45.341 39.613 30.906 1.00 0.00 H +HETATM 2218 O HOH A 740 1.095 5.808 29.999 1.00 0.00 O +HETATM 2219 H1 HOH A 740 1.880 6.300 30.244 1.00 0.00 H +HETATM 2220 H2 HOH A 740 0.367 6.359 30.281 1.00 0.00 H +HETATM 2221 O HOH A 741 25.737 11.787 32.253 1.00 0.00 O +HETATM 2222 H1 HOH A 741 25.360 12.083 31.424 1.00 0.00 H +HETATM 2223 H2 HOH A 741 26.678 11.920 32.152 1.00 0.00 H +HETATM 2224 O HOH A 742 22.313 7.993 30.512 1.00 0.00 O +HETATM 2225 H1 HOH A 742 23.077 7.447 30.701 1.00 0.00 H +HETATM 2226 H2 HOH A 742 22.155 8.475 31.322 1.00 0.00 H +HETATM 2227 O HOH A 743 37.368 27.126 40.997 1.00 0.00 O +HETATM 2228 H1 HOH A 743 37.213 27.505 40.131 1.00 0.00 H +HETATM 2229 H2 HOH A 743 36.683 27.498 41.549 1.00 0.00 H +HETATM 2230 O HOH A 744 6.312 35.029 13.696 1.00 0.00 O +HETATM 2231 H1 HOH A 744 5.676 34.390 13.372 1.00 0.00 H +HETATM 2232 H2 HOH A 744 6.191 35.031 14.643 1.00 0.00 H +HETATM 2233 O HOH A 745 8.069 11.443 24.316 1.00 0.00 O +HETATM 2234 H1 HOH A 745 7.546 10.730 24.685 1.00 0.00 H +HETATM 2235 H2 HOH A 745 8.904 11.038 24.090 1.00 0.00 H +HETATM 2236 O HOH A 746 43.433 22.032 37.973 1.00 0.00 O +HETATM 2237 H1 HOH A 746 42.798 21.337 38.146 1.00 0.00 H +HETATM 2238 H2 HOH A 746 42.929 22.717 37.537 1.00 0.00 H +HETATM 2239 O HOH A 747 8.734 8.072 34.721 1.00 0.00 O +HETATM 2240 H1 HOH A 747 8.860 8.782 34.090 1.00 0.00 H +HETATM 2241 H2 HOH A 747 9.428 7.447 34.522 1.00 0.00 H +HETATM 2242 O HOH A 748 3.587 44.151 47.569 1.00 0.00 O +HETATM 2243 H1 HOH A 748 3.093 44.805 47.074 1.00 0.00 H +HETATM 2244 H2 HOH A 748 2.920 43.620 48.000 1.00 0.00 H +HETATM 2245 O HOH A 749 42.549 24.984 22.501 1.00 0.00 O +HETATM 2246 H1 HOH A 749 41.697 24.837 22.913 1.00 0.00 H +HETATM 2247 H2 HOH A 749 43.116 24.310 22.871 1.00 0.00 H +HETATM 2248 O HOH A 750 3.746 7.573 41.349 1.00 0.00 O +HETATM 2249 H1 HOH A 750 2.799 7.703 41.306 1.00 0.00 H +HETATM 2250 H2 HOH A 750 3.863 6.851 41.964 1.00 0.00 H +HETATM 2251 O HOH A 751 42.713 33.122 46.818 1.00 0.00 O +HETATM 2252 H1 HOH A 751 43.509 33.150 47.349 1.00 0.00 H +HETATM 2253 H2 HOH A 751 42.569 34.028 46.551 1.00 0.00 H +HETATM 2254 O HOH A 752 44.296 19.826 5.417 1.00 0.00 O +HETATM 2255 H1 HOH A 752 43.853 20.639 5.660 1.00 0.00 H +HETATM 2256 H2 HOH A 752 43.624 19.306 4.979 1.00 0.00 H +HETATM 2257 O HOH A 753 39.198 1.703 4.425 1.00 0.00 O +HETATM 2258 H1 HOH A 753 39.720 1.728 5.228 1.00 0.00 H +HETATM 2259 H2 HOH A 753 38.579 2.424 4.518 1.00 0.00 H +HETATM 2260 O HOH A 754 37.647 19.930 28.224 1.00 0.00 O +HETATM 2261 H1 HOH A 754 38.250 19.374 27.731 1.00 0.00 H +HETATM 2262 H2 HOH A 754 37.103 20.347 27.558 1.00 0.00 H +HETATM 2263 O HOH A 755 24.846 6.093 15.324 1.00 0.00 O +HETATM 2264 H1 HOH A 755 24.338 5.350 15.650 1.00 0.00 H +HETATM 2265 H2 HOH A 755 25.688 6.024 15.769 1.00 0.00 H +HETATM 2266 O HOH A 756 21.785 9.006 39.563 1.00 0.00 O +HETATM 2267 H1 HOH A 756 22.397 8.626 38.932 1.00 0.00 H +HETATM 2268 H2 HOH A 756 20.920 8.769 39.233 1.00 0.00 H +HETATM 2269 O HOH A 757 3.785 34.422 16.587 1.00 0.00 O +HETATM 2270 H1 HOH A 757 3.163 34.072 15.948 1.00 0.00 H +HETATM 2271 H2 HOH A 757 4.618 34.011 16.362 1.00 0.00 H +HETATM 2272 O HOH A 758 23.242 28.769 43.391 1.00 0.00 O +HETATM 2273 H1 HOH A 758 22.861 28.756 44.269 1.00 0.00 H +HETATM 2274 H2 HOH A 758 23.233 29.690 43.137 1.00 0.00 H +HETATM 2275 O HOH A 759 14.099 15.526 6.194 1.00 0.00 O +HETATM 2276 H1 HOH A 759 15.000 15.457 6.512 1.00 0.00 H +HETATM 2277 H2 HOH A 759 13.854 14.632 5.966 1.00 0.00 H +HETATM 2278 O HOH A 760 7.070 26.881 10.724 1.00 0.00 O +HETATM 2279 H1 HOH A 760 7.067 27.126 9.798 1.00 0.00 H +HETATM 2280 H2 HOH A 760 7.882 26.392 10.842 1.00 0.00 H +HETATM 2281 O HOH A 761 29.994 22.484 46.453 1.00 0.00 O +HETATM 2282 H1 HOH A 761 30.185 23.377 46.741 1.00 0.00 H +HETATM 2283 H2 HOH A 761 30.068 21.954 47.245 1.00 0.00 H +HETATM 2284 O HOH A 762 14.774 11.032 0.627 1.00 0.00 O +HETATM 2285 H1 HOH A 762 15.688 11.271 0.475 1.00 0.00 H +HETATM 2286 H2 HOH A 762 14.647 10.230 0.124 1.00 0.00 H +HETATM 2287 O HOH A 763 22.597 6.120 34.268 1.00 0.00 O +HETATM 2288 H1 HOH A 763 21.990 5.936 34.986 1.00 0.00 H +HETATM 2289 H2 HOH A 763 23.464 6.059 34.664 1.00 0.00 H +HETATM 2290 O HOH A 764 39.941 28.839 40.629 1.00 0.00 O +HETATM 2291 H1 HOH A 764 39.999 28.743 41.579 1.00 0.00 H +HETATM 2292 H2 HOH A 764 39.624 29.729 40.494 1.00 0.00 H +HETATM 2293 O HOH A 765 35.552 39.265 46.701 1.00 0.00 O +HETATM 2294 H1 HOH A 765 34.769 39.454 47.218 1.00 0.00 H +HETATM 2295 H2 HOH A 765 35.984 38.554 47.169 1.00 0.00 H +HETATM 2296 O HOH A 766 20.728 39.373 31.026 1.00 0.00 O +HETATM 2297 H1 HOH A 766 20.048 39.977 30.727 1.00 0.00 H +HETATM 2298 H2 HOH A 766 21.489 39.581 30.487 1.00 0.00 H +HETATM 2299 O HOH A 767 6.891 2.215 36.256 1.00 0.00 O +HETATM 2300 H1 HOH A 767 6.018 1.873 36.451 1.00 0.00 H +HETATM 2301 H2 HOH A 767 6.926 3.057 36.704 1.00 0.00 H +HETATM 2302 O HOH A 768 38.639 18.167 31.458 1.00 0.00 O +HETATM 2303 H1 HOH A 768 38.651 17.546 32.187 1.00 0.00 H +HETATM 2304 H2 HOH A 768 39.290 17.830 30.844 1.00 0.00 H +HETATM 2305 O HOH A 769 20.167 23.398 32.250 1.00 0.00 O +HETATM 2306 H1 HOH A 769 20.022 22.914 33.064 1.00 0.00 H +HETATM 2307 H2 HOH A 769 20.654 22.793 31.693 1.00 0.00 H +HETATM 2308 O HOH A 770 31.153 16.124 22.638 1.00 0.00 O +HETATM 2309 H1 HOH A 770 32.050 16.180 22.309 1.00 0.00 H +HETATM 2310 H2 HOH A 770 31.104 16.791 23.320 1.00 0.00 H +HETATM 2311 O HOH A 771 28.195 19.364 10.687 1.00 0.00 O +HETATM 2312 H1 HOH A 771 27.311 19.002 10.624 1.00 0.00 H +HETATM 2313 H2 HOH A 771 28.772 18.621 10.524 1.00 0.00 H +HETATM 2314 O HOH A 772 31.712 40.095 40.571 1.00 0.00 O +HETATM 2315 H1 HOH A 772 32.197 40.167 41.393 1.00 0.00 H +HETATM 2316 H2 HOH A 772 31.290 39.239 40.613 1.00 0.00 H +HETATM 2317 O HOH A 773 24.176 4.257 39.791 1.00 0.00 O +HETATM 2318 H1 HOH A 773 24.589 3.707 40.457 1.00 0.00 H +HETATM 2319 H2 HOH A 773 23.507 4.749 40.264 1.00 0.00 H +HETATM 2320 O HOH A 774 49.291 37.439 18.696 1.00 0.00 O +HETATM 2321 H1 HOH A 774 48.578 37.843 19.190 1.00 0.00 H +HETATM 2322 H2 HOH A 774 49.080 36.507 18.686 1.00 0.00 H +HETATM 2323 O HOH A 775 25.648 7.985 2.159 1.00 0.00 O +HETATM 2324 H1 HOH A 775 25.148 7.251 1.799 1.00 0.00 H +HETATM 2325 H2 HOH A 775 25.651 8.639 1.463 1.00 0.00 H +HETATM 2326 O HOH A 776 48.633 47.040 49.497 1.00 0.00 O +HETATM 2327 H1 HOH A 776 48.026 47.462 48.888 1.00 0.00 H +HETATM 2328 H2 HOH A 776 48.692 46.137 49.192 1.00 0.00 H +HETATM 2329 O HOH A 777 10.287 26.298 44.804 1.00 0.00 O +HETATM 2330 H1 HOH A 777 11.053 26.864 44.708 1.00 0.00 H +HETATM 2331 H2 HOH A 777 9.563 26.808 44.444 1.00 0.00 H +HETATM 2332 O HOH A 778 24.342 7.056 27.777 1.00 0.00 O +HETATM 2333 H1 HOH A 778 24.951 6.702 27.128 1.00 0.00 H +HETATM 2334 H2 HOH A 778 23.511 6.623 27.590 1.00 0.00 H +HETATM 2335 O HOH A 779 38.086 25.075 46.092 1.00 0.00 O +HETATM 2336 H1 HOH A 779 37.895 25.681 46.809 1.00 0.00 H +HETATM 2337 H2 HOH A 779 37.689 25.478 45.322 1.00 0.00 H +HETATM 2338 O HOH A 780 14.670 25.725 18.637 1.00 0.00 O +HETATM 2339 H1 HOH A 780 14.660 26.394 17.952 1.00 0.00 H +HETATM 2340 H2 HOH A 780 15.403 25.157 18.409 1.00 0.00 H +HETATM 2341 O HOH A 781 7.746 36.226 42.015 1.00 0.00 O +HETATM 2342 H1 HOH A 781 8.013 36.177 41.097 1.00 0.00 H +HETATM 2343 H2 HOH A 781 7.696 37.162 42.202 1.00 0.00 H +HETATM 2344 O HOH A 782 30.020 36.058 20.388 1.00 0.00 O +HETATM 2345 H1 HOH A 782 30.303 36.787 19.836 1.00 0.00 H +HETATM 2346 H2 HOH A 782 30.812 35.775 20.841 1.00 0.00 H +HETATM 2347 O HOH A 783 49.482 35.565 14.362 1.00 0.00 O +HETATM 2348 H1 HOH A 783 48.666 35.545 14.861 1.00 0.00 H +HETATM 2349 H2 HOH A 783 50.000 34.844 14.717 1.00 0.00 H +HETATM 2350 O HOH A 784 24.885 30.962 25.217 1.00 0.00 O +HETATM 2351 H1 HOH A 784 24.459 31.227 26.032 1.00 0.00 H +HETATM 2352 H2 HOH A 784 25.488 30.268 25.474 1.00 0.00 H +HETATM 2353 O HOH A 785 44.056 19.123 20.445 1.00 0.00 O +HETATM 2354 H1 HOH A 785 44.269 19.965 20.041 1.00 0.00 H +HETATM 2355 H2 HOH A 785 44.162 19.272 21.383 1.00 0.00 H +HETATM 2356 O HOH A 786 3.635 19.810 30.958 1.00 0.00 O +HETATM 2357 H1 HOH A 786 4.078 19.157 31.500 1.00 0.00 H +HETATM 2358 H2 HOH A 786 2.825 19.385 30.682 1.00 0.00 H +HETATM 2359 O HOH A 787 42.030 49.021 9.716 1.00 0.00 O +HETATM 2360 H1 HOH A 787 41.244 49.512 9.477 1.00 0.00 H +HETATM 2361 H2 HOH A 787 42.755 49.600 9.488 1.00 0.00 H +HETATM 2362 O HOH A 788 42.792 20.505 25.915 1.00 0.00 O +HETATM 2363 H1 HOH A 788 41.954 20.135 25.636 1.00 0.00 H +HETATM 2364 H2 HOH A 788 42.673 21.451 25.847 1.00 0.00 H +HETATM 2365 O HOH A 789 1.698 37.965 18.026 1.00 0.00 O +HETATM 2366 H1 HOH A 789 1.125 37.627 17.338 1.00 0.00 H +HETATM 2367 H2 HOH A 789 1.959 38.831 17.719 1.00 0.00 H +HETATM 2368 O HOH A 790 19.801 45.575 5.682 1.00 0.00 O +HETATM 2369 H1 HOH A 790 19.263 46.315 5.964 1.00 0.00 H +HETATM 2370 H2 HOH A 790 19.443 44.823 6.151 1.00 0.00 H +HETATM 2371 O HOH A 791 10.954 13.451 12.536 1.00 0.00 O +HETATM 2372 H1 HOH A 791 10.414 14.132 12.938 1.00 0.00 H +HETATM 2373 H2 HOH A 791 10.379 12.691 12.473 1.00 0.00 H +HETATM 2374 O HOH A 792 32.430 17.781 44.103 1.00 0.00 O +HETATM 2375 H1 HOH A 792 31.671 17.325 44.467 1.00 0.00 H +HETATM 2376 H2 HOH A 792 32.060 18.515 43.615 1.00 0.00 H +HETATM 2377 O HOH A 793 19.077 37.941 11.675 1.00 0.00 O +HETATM 2378 H1 HOH A 793 20.016 38.106 11.588 1.00 0.00 H +HETATM 2379 H2 HOH A 793 18.746 38.685 12.173 1.00 0.00 H +HETATM 2380 O HOH A 794 6.145 9.037 43.707 1.00 0.00 O +HETATM 2381 H1 HOH A 794 6.933 9.384 44.126 1.00 0.00 H +HETATM 2382 H2 HOH A 794 6.106 8.124 43.985 1.00 0.00 H +HETATM 2383 O HOH A 795 7.862 46.917 3.159 1.00 0.00 O +HETATM 2384 H1 HOH A 795 7.584 47.651 3.708 1.00 0.00 H +HETATM 2385 H2 HOH A 795 7.047 46.511 2.870 1.00 0.00 H +HETATM 2386 O HOH A 796 25.993 3.899 17.079 1.00 0.00 O +HETATM 2387 H1 HOH A 796 25.214 3.508 17.475 1.00 0.00 H +HETATM 2388 H2 HOH A 796 26.565 4.101 17.818 1.00 0.00 H +HETATM 2389 O HOH A 797 21.937 17.340 31.384 1.00 0.00 O +HETATM 2390 H1 HOH A 797 22.461 17.643 32.126 1.00 0.00 H +HETATM 2391 H2 HOH A 797 21.046 17.617 31.588 1.00 0.00 H +HETATM 2392 O HOH A 798 34.981 35.106 3.891 1.00 0.00 O +HETATM 2393 H1 HOH A 798 34.783 34.312 3.396 1.00 0.00 H +HETATM 2394 H2 HOH A 798 34.724 35.822 3.313 1.00 0.00 H +HETATM 2395 O HOH A 799 46.967 32.764 42.668 1.00 0.00 O +HETATM 2396 H1 HOH A 799 46.752 32.303 41.857 1.00 0.00 H +HETATM 2397 H2 HOH A 799 46.270 33.409 42.771 1.00 0.00 H +HETATM 2398 O HOH A 800 39.012 13.461 7.096 1.00 0.00 O +HETATM 2399 H1 HOH A 800 38.509 12.686 6.844 1.00 0.00 H +HETATM 2400 H2 HOH A 800 39.810 13.411 6.573 1.00 0.00 H +HETATM 2401 O HOH A 801 8.203 30.704 20.373 1.00 0.00 O +HETATM 2402 H1 HOH A 801 7.859 30.020 20.948 1.00 0.00 H +HETATM 2403 H2 HOH A 801 7.495 31.342 20.305 1.00 0.00 H +HETATM 2404 O HOH A 802 46.303 38.507 8.775 1.00 0.00 O +HETATM 2405 H1 HOH A 802 46.516 39.370 9.131 1.00 0.00 H +HETATM 2406 H2 HOH A 802 45.685 38.684 8.068 1.00 0.00 H +HETATM 2407 O HOH A 803 36.402 30.233 19.257 1.00 0.00 O +HETATM 2408 H1 HOH A 803 35.497 29.956 19.402 1.00 0.00 H +HETATM 2409 H2 HOH A 803 36.929 29.603 19.744 1.00 0.00 H +HETATM 2410 O HOH A 804 12.414 43.206 3.052 1.00 0.00 O +HETATM 2411 H1 HOH A 804 13.127 42.588 3.217 1.00 0.00 H +HETATM 2412 H2 HOH A 804 12.525 43.464 2.139 1.00 0.00 H +HETATM 2413 O HOH A 805 40.054 39.016 43.847 1.00 0.00 O +HETATM 2414 H1 HOH A 805 40.785 39.138 44.454 1.00 0.00 H +HETATM 2415 H2 HOH A 805 39.513 39.795 43.962 1.00 0.00 H +HETATM 2416 O HOH A 806 39.828 43.519 28.902 1.00 0.00 O +HETATM 2417 H1 HOH A 806 40.180 44.405 28.985 1.00 0.00 H +HETATM 2418 H2 HOH A 806 38.894 43.643 28.743 1.00 0.00 H +HETATM 2419 O HOH A 807 27.807 1.027 3.088 1.00 0.00 O +HETATM 2420 H1 HOH A 807 27.855 0.170 3.513 1.00 0.00 H +HETATM 2421 H2 HOH A 807 28.665 1.144 2.684 1.00 0.00 H +HETATM 2422 O HOH A 808 20.718 27.039 26.802 1.00 0.00 O +HETATM 2423 H1 HOH A 808 21.266 27.701 26.379 1.00 0.00 H +HETATM 2424 H2 HOH A 808 21.024 26.208 26.444 1.00 0.00 H +HETATM 2425 O HOH A 809 15.864 3.982 44.207 1.00 0.00 O +HETATM 2426 H1 HOH A 809 16.666 4.250 44.656 1.00 0.00 H +HETATM 2427 H2 HOH A 809 15.227 3.855 44.907 1.00 0.00 H +HETATM 2428 O HOH A 810 7.489 26.389 48.726 1.00 0.00 O +HETATM 2429 H1 HOH A 810 7.305 26.814 49.564 1.00 0.00 H +HETATM 2430 H2 HOH A 810 7.331 25.461 48.885 1.00 0.00 H +HETATM 2431 O HOH A 811 38.241 14.369 23.454 1.00 0.00 O +HETATM 2432 H1 HOH A 811 38.852 13.886 22.898 1.00 0.00 H +HETATM 2433 H2 HOH A 811 38.199 15.241 23.065 1.00 0.00 H +HETATM 2434 O HOH A 812 28.542 38.933 21.683 1.00 0.00 O +HETATM 2435 H1 HOH A 812 28.048 39.060 22.493 1.00 0.00 H +HETATM 2436 H2 HOH A 812 29.316 39.485 21.782 1.00 0.00 H +HETATM 2437 O HOH A 813 44.943 18.926 0.212 1.00 0.00 O +HETATM 2438 H1 HOH A 813 44.739 19.857 0.297 1.00 0.00 H +HETATM 2439 H2 HOH A 813 45.644 18.773 0.843 1.00 0.00 H +HETATM 2440 O HOH A 814 11.270 40.986 6.911 1.00 0.00 O +HETATM 2441 H1 HOH A 814 11.969 40.990 7.565 1.00 0.00 H +HETATM 2442 H2 HOH A 814 10.624 41.605 7.244 1.00 0.00 H +HETATM 2443 O HOH A 815 0.590 15.218 25.155 1.00 0.00 O +HETATM 2444 H1 HOH A 815 0.586 14.633 24.397 1.00 0.00 H +HETATM 2445 H2 HOH A 815 1.053 15.998 24.856 1.00 0.00 H +HETATM 2446 O HOH A 816 44.299 5.399 25.542 1.00 0.00 O +HETATM 2447 H1 HOH A 816 45.187 5.244 25.219 1.00 0.00 H +HETATM 2448 H2 HOH A 816 43.764 4.738 25.105 1.00 0.00 H +HETATM 2449 O HOH A 817 46.748 11.887 23.908 1.00 0.00 O +HETATM 2450 H1 HOH A 817 46.952 12.381 23.113 1.00 0.00 H +HETATM 2451 H2 HOH A 817 46.835 10.971 23.652 1.00 0.00 H +HETATM 2452 O HOH A 818 20.090 11.905 39.445 1.00 0.00 O +HETATM 2453 H1 HOH A 818 19.747 12.290 40.252 1.00 0.00 H +HETATM 2454 H2 HOH A 818 20.958 12.292 39.343 1.00 0.00 H +HETATM 2455 O HOH A 819 9.652 29.609 18.326 1.00 0.00 O +HETATM 2456 H1 HOH A 819 10.596 29.760 18.373 1.00 0.00 H +HETATM 2457 H2 HOH A 819 9.458 29.055 19.081 1.00 0.00 H +HETATM 2458 O HOH A 820 26.957 23.795 6.142 1.00 0.00 O +HETATM 2459 H1 HOH A 820 27.462 24.608 6.167 1.00 0.00 H +HETATM 2460 H2 HOH A 820 27.249 23.355 5.346 1.00 0.00 H +HETATM 2461 O HOH A 821 40.657 16.881 14.991 1.00 0.00 O +HETATM 2462 H1 HOH A 821 40.884 16.940 15.919 1.00 0.00 H +HETATM 2463 H2 HOH A 821 41.480 16.665 14.555 1.00 0.00 H +HETATM 2464 O HOH A 822 8.205 35.544 16.937 1.00 0.00 O +HETATM 2465 H1 HOH A 822 7.375 35.973 17.143 1.00 0.00 H +HETATM 2466 H2 HOH A 822 7.974 34.630 16.783 1.00 0.00 H +HETATM 2467 O HOH A 823 0.806 11.329 33.314 1.00 0.00 O +HETATM 2468 H1 HOH A 823 1.436 10.730 32.912 1.00 0.00 H +HETATM 2469 H2 HOH A 823 0.062 11.334 32.715 1.00 0.00 H +HETATM 2470 O HOH A 824 36.996 23.151 43.647 1.00 0.00 O +HETATM 2471 H1 HOH A 824 37.465 22.405 43.271 1.00 0.00 H +HETATM 2472 H2 HOH A 824 37.549 23.906 43.454 1.00 0.00 H +HETATM 2473 O HOH A 825 23.110 26.786 39.841 1.00 0.00 O +HETATM 2474 H1 HOH A 825 23.664 26.859 39.064 1.00 0.00 H +HETATM 2475 H2 HOH A 825 23.100 27.666 40.214 1.00 0.00 H +HETATM 2476 O HOH A 826 33.749 42.420 36.860 1.00 0.00 O +HETATM 2477 H1 HOH A 826 34.705 42.383 36.867 1.00 0.00 H +HETATM 2478 H2 HOH A 826 33.491 41.865 36.126 1.00 0.00 H +HETATM 2479 O HOH A 827 19.538 22.125 40.252 1.00 0.00 O +HETATM 2480 H1 HOH A 827 19.338 22.280 41.176 1.00 0.00 H +HETATM 2481 H2 HOH A 827 20.470 22.316 40.171 1.00 0.00 H +HETATM 2482 O HOH A 828 31.324 46.078 14.973 1.00 0.00 O +HETATM 2483 H1 HOH A 828 31.362 46.846 15.542 1.00 0.00 H +HETATM 2484 H2 HOH A 828 31.824 46.327 14.198 1.00 0.00 H +HETATM 2485 O HOH A 829 47.618 15.425 11.801 1.00 0.00 O +HETATM 2486 H1 HOH A 829 48.503 15.075 11.902 1.00 0.00 H +HETATM 2487 H2 HOH A 829 47.402 15.789 12.657 1.00 0.00 H +HETATM 2488 O HOH A 830 1.306 42.810 28.641 1.00 0.00 O +HETATM 2489 H1 HOH A 830 1.841 43.602 28.593 1.00 0.00 H +HETATM 2490 H2 HOH A 830 1.842 42.186 29.127 1.00 0.00 H +HETATM 2491 O HOH A 831 44.504 14.528 23.989 1.00 0.00 O +HETATM 2492 H1 HOH A 831 45.354 14.629 24.418 1.00 0.00 H +HETATM 2493 H2 HOH A 831 43.946 15.183 24.404 1.00 0.00 H +HETATM 2494 O HOH A 832 22.472 6.670 24.711 1.00 0.00 O +HETATM 2495 H1 HOH A 832 22.831 7.212 25.414 1.00 0.00 H +HETATM 2496 H2 HOH A 832 21.548 6.569 24.932 1.00 0.00 H +HETATM 2497 O HOH A 833 48.312 18.493 36.456 1.00 0.00 O +HETATM 2498 H1 HOH A 833 49.254 18.467 36.624 1.00 0.00 H +HETATM 2499 H2 HOH A 833 48.225 18.987 35.643 1.00 0.00 H +HETATM 2500 O HOH A 834 45.938 28.285 16.488 1.00 0.00 O +HETATM 2501 H1 HOH A 834 46.051 27.464 16.008 1.00 0.00 H +HETATM 2502 H2 HOH A 834 46.624 28.272 17.154 1.00 0.00 H +HETATM 2503 O HOH A 835 6.217 44.948 30.390 1.00 0.00 O +HETATM 2504 H1 HOH A 835 5.411 44.499 30.135 1.00 0.00 H +HETATM 2505 H2 HOH A 835 6.210 44.934 31.345 1.00 0.00 H +HETATM 2506 O HOH A 836 17.963 22.725 3.997 1.00 0.00 O +HETATM 2507 H1 HOH A 836 17.237 22.161 3.727 1.00 0.00 H +HETATM 2508 H2 HOH A 836 18.679 22.495 3.408 1.00 0.00 H +HETATM 2509 O HOH A 837 45.158 18.668 34.494 1.00 0.00 O +HETATM 2510 H1 HOH A 837 45.902 18.692 33.891 1.00 0.00 H +HETATM 2511 H2 HOH A 837 44.587 17.986 34.146 1.00 0.00 H +HETATM 2512 O HOH A 838 10.259 1.629 29.640 1.00 0.00 O +HETATM 2513 H1 HOH A 838 9.585 1.711 28.965 1.00 0.00 H +HETATM 2514 H2 HOH A 838 10.977 1.169 29.210 1.00 0.00 H +HETATM 2515 O HOH A 839 36.427 21.697 34.495 1.00 0.00 O +HETATM 2516 H1 HOH A 839 36.153 21.019 33.877 1.00 0.00 H +HETATM 2517 H2 HOH A 839 36.079 22.510 34.131 1.00 0.00 H +HETATM 2518 O HOH A 840 43.233 4.973 42.939 1.00 0.00 O +HETATM 2519 H1 HOH A 840 43.845 4.307 43.252 1.00 0.00 H +HETATM 2520 H2 HOH A 840 43.502 5.775 43.383 1.00 0.00 H +HETATM 2521 O HOH A 841 46.747 9.137 14.735 1.00 0.00 O +HETATM 2522 H1 HOH A 841 45.926 9.534 14.444 1.00 0.00 H +HETATM 2523 H2 HOH A 841 46.493 8.543 15.439 1.00 0.00 H +HETATM 2524 O HOH A 842 46.824 12.292 44.166 1.00 0.00 O +HETATM 2525 H1 HOH A 842 47.407 12.219 44.922 1.00 0.00 H +HETATM 2526 H2 HOH A 842 45.987 12.572 44.532 1.00 0.00 H +HETATM 2527 O HOH A 843 9.749 22.599 6.860 1.00 0.00 O +HETATM 2528 H1 HOH A 843 9.924 23.407 7.343 1.00 0.00 H +HETATM 2529 H2 HOH A 843 9.844 22.842 5.941 1.00 0.00 H +HETATM 2530 O HOH A 844 48.084 2.213 20.654 1.00 0.00 O +HETATM 2531 H1 HOH A 844 47.839 3.138 20.634 1.00 0.00 H +HETATM 2532 H2 HOH A 844 48.718 2.115 19.946 1.00 0.00 H +HETATM 2533 O HOH A 845 20.685 11.197 34.541 1.00 0.00 O +HETATM 2534 H1 HOH A 845 21.317 10.930 35.210 1.00 0.00 H +HETATM 2535 H2 HOH A 845 21.205 11.668 33.893 1.00 0.00 H +HETATM 2536 O HOH A 846 9.962 1.878 37.010 1.00 0.00 O +HETATM 2537 H1 HOH A 846 9.618 2.611 36.500 1.00 0.00 H +HETATM 2538 H2 HOH A 846 10.739 1.594 36.532 1.00 0.00 H +HETATM 2539 O HOH A 847 2.578 26.921 46.341 1.00 0.00 O +HETATM 2540 H1 HOH A 847 2.394 26.243 46.992 1.00 0.00 H +HETATM 2541 H2 HOH A 847 2.587 27.737 46.838 1.00 0.00 H +HETATM 2542 O HOH A 848 20.485 24.161 12.334 1.00 0.00 O +HETATM 2543 H1 HOH A 848 21.328 24.566 12.129 1.00 0.00 H +HETATM 2544 H2 HOH A 848 19.863 24.586 11.746 1.00 0.00 H +HETATM 2545 O HOH A 849 17.745 8.515 24.574 1.00 0.00 O +HETATM 2546 H1 HOH A 849 16.972 8.889 24.999 1.00 0.00 H +HETATM 2547 H2 HOH A 849 17.918 7.708 25.054 1.00 0.00 H +HETATM 2548 O HOH A 850 33.574 19.614 44.778 1.00 0.00 O +HETATM 2549 H1 HOH A 850 33.934 19.653 43.892 1.00 0.00 H +HETATM 2550 H2 HOH A 850 33.622 20.514 45.098 1.00 0.00 H +HETATM 2551 O HOH A 851 40.312 33.176 40.716 1.00 0.00 O +HETATM 2552 H1 HOH A 851 40.052 32.535 41.378 1.00 0.00 H +HETATM 2553 H2 HOH A 851 41.263 33.099 40.665 1.00 0.00 H +HETATM 2554 O HOH A 852 48.923 47.609 27.240 1.00 0.00 O +HETATM 2555 H1 HOH A 852 48.792 46.826 26.704 1.00 0.00 H +HETATM 2556 H2 HOH A 852 48.130 48.126 27.109 1.00 0.00 H +HETATM 2557 O HOH A 853 24.652 16.899 20.132 1.00 0.00 O +HETATM 2558 H1 HOH A 853 25.200 16.223 19.734 1.00 0.00 H +HETATM 2559 H2 HOH A 853 24.096 17.210 19.419 1.00 0.00 H +HETATM 2560 O HOH A 854 2.622 46.693 40.304 1.00 0.00 O +HETATM 2561 H1 HOH A 854 2.908 47.371 40.916 1.00 0.00 H +HETATM 2562 H2 HOH A 854 1.749 46.448 40.605 1.00 0.00 H +HETATM 2563 O HOH A 855 48.770 19.048 26.592 1.00 0.00 O +HETATM 2564 H1 HOH A 855 49.503 18.984 25.979 1.00 0.00 H +HETATM 2565 H2 HOH A 855 48.543 18.141 26.792 1.00 0.00 H +HETATM 2566 O HOH A 856 7.424 21.267 4.658 1.00 0.00 O +HETATM 2567 H1 HOH A 856 8.087 21.862 5.009 1.00 0.00 H +HETATM 2568 H2 HOH A 856 7.910 20.481 4.415 1.00 0.00 H +HETATM 2569 O HOH A 857 47.461 45.600 15.359 1.00 0.00 O +HETATM 2570 H1 HOH A 857 46.997 46.435 15.427 1.00 0.00 H +HETATM 2571 H2 HOH A 857 48.177 45.669 15.987 1.00 0.00 H +HETATM 2572 O HOH A 858 8.743 24.275 46.904 1.00 0.00 O +HETATM 2573 H1 HOH A 858 8.371 25.129 46.683 1.00 0.00 H +HETATM 2574 H2 HOH A 858 8.212 23.647 46.418 1.00 0.00 H +HETATM 2575 O HOH A 859 48.187 0.438 12.227 1.00 0.00 O +HETATM 2576 H1 HOH A 859 47.550 1.139 12.369 1.00 0.00 H +HETATM 2577 H2 HOH A 859 48.262 0.005 13.075 1.00 0.00 H +HETATM 2578 O HOH A 860 43.778 8.042 1.615 1.00 0.00 O +HETATM 2579 H1 HOH A 860 44.410 7.608 2.188 1.00 0.00 H +HETATM 2580 H2 HOH A 860 44.080 7.847 0.730 1.00 0.00 H +HETATM 2581 O HOH A 861 18.183 17.728 28.677 1.00 0.00 O +HETATM 2582 H1 HOH A 861 18.696 16.986 28.356 1.00 0.00 H +HETATM 2583 H2 HOH A 861 18.721 18.494 28.486 1.00 0.00 H +HETATM 2584 O HOH A 862 4.658 13.353 1.444 1.00 0.00 O +HETATM 2585 H1 HOH A 862 4.265 14.201 1.653 1.00 0.00 H +HETATM 2586 H2 HOH A 862 3.944 12.842 1.068 1.00 0.00 H +HETATM 2587 O HOH A 863 3.536 4.661 49.176 1.00 0.00 O +HETATM 2588 H1 HOH A 863 3.483 3.989 48.496 1.00 0.00 H +HETATM 2589 H2 HOH A 863 3.063 4.291 49.919 1.00 0.00 H +HETATM 2590 O HOH A 864 25.686 34.602 15.081 1.00 0.00 O +HETATM 2591 H1 HOH A 864 26.511 35.088 15.070 1.00 0.00 H +HETATM 2592 H2 HOH A 864 25.013 35.271 15.188 1.00 0.00 H +HETATM 2593 O HOH A 865 34.401 43.608 27.522 1.00 0.00 O +HETATM 2594 H1 HOH A 865 35.028 43.623 28.246 1.00 0.00 H +HETATM 2595 H2 HOH A 865 33.646 44.096 27.846 1.00 0.00 H +HETATM 2596 O HOH A 866 33.795 35.334 36.106 1.00 0.00 O +HETATM 2597 H1 HOH A 866 34.387 35.456 35.364 1.00 0.00 H +HETATM 2598 H2 HOH A 866 33.717 34.386 36.200 1.00 0.00 H +HETATM 2599 O HOH A 867 48.179 48.434 30.545 1.00 0.00 O +HETATM 2600 H1 HOH A 867 47.666 49.133 30.137 1.00 0.00 H +HETATM 2601 H2 HOH A 867 48.960 48.359 30.000 1.00 0.00 H +HETATM 2602 O HOH A 868 39.733 47.065 13.868 1.00 0.00 O +HETATM 2603 H1 HOH A 868 40.562 46.589 13.812 1.00 0.00 H +HETATM 2604 H2 HOH A 868 39.712 47.409 14.759 1.00 0.00 H +HETATM 2605 O HOH A 869 24.338 8.917 35.485 1.00 0.00 O +HETATM 2606 H1 HOH A 869 25.110 9.096 36.022 1.00 0.00 H +HETATM 2607 H2 HOH A 869 23.618 9.341 35.949 1.00 0.00 H +HETATM 2608 O HOH A 870 47.145 26.330 45.585 1.00 0.00 O +HETATM 2609 H1 HOH A 870 47.061 25.666 46.269 1.00 0.00 H +HETATM 2610 H2 HOH A 870 47.795 26.943 45.922 1.00 0.00 H +HETATM 2611 O HOH A 871 25.489 42.023 25.920 1.00 0.00 O +HETATM 2612 H1 HOH A 871 25.887 41.410 25.302 1.00 0.00 H +HETATM 2613 H2 HOH A 871 25.077 42.687 25.370 1.00 0.00 H +HETATM 2614 O HOH A 872 6.296 14.202 35.748 1.00 0.00 O +HETATM 2615 H1 HOH A 872 5.808 13.579 35.209 1.00 0.00 H +HETATM 2616 H2 HOH A 872 7.060 14.431 35.222 1.00 0.00 H +HETATM 2617 O HOH A 873 21.258 14.752 4.505 1.00 0.00 O +HETATM 2618 H1 HOH A 873 22.202 14.817 4.651 1.00 0.00 H +HETATM 2619 H2 HOH A 873 21.161 14.054 3.860 1.00 0.00 H +HETATM 2620 O HOH A 874 20.905 17.581 14.608 1.00 0.00 O +HETATM 2621 H1 HOH A 874 21.430 18.381 14.560 1.00 0.00 H +HETATM 2622 H2 HOH A 874 21.539 16.886 14.772 1.00 0.00 H +HETATM 2623 O HOH A 875 43.742 2.397 7.378 1.00 0.00 O +HETATM 2624 H1 HOH A 875 43.610 1.550 6.951 1.00 0.00 H +HETATM 2625 H2 HOH A 875 43.106 2.978 6.964 1.00 0.00 H +HETATM 2626 O HOH A 876 34.999 30.040 22.085 1.00 0.00 O +HETATM 2627 H1 HOH A 876 35.539 29.300 22.362 1.00 0.00 H +HETATM 2628 H2 HOH A 876 35.447 30.809 22.433 1.00 0.00 H +HETATM 2629 O HOH A 877 42.421 27.233 44.436 1.00 0.00 O +HETATM 2630 H1 HOH A 877 42.382 27.891 43.741 1.00 0.00 H +HETATM 2631 H2 HOH A 877 42.174 26.415 44.009 1.00 0.00 H +HETATM 2632 O HOH A 878 7.368 6.179 21.370 1.00 0.00 O +HETATM 2633 H1 HOH A 878 7.095 7.089 21.484 1.00 0.00 H +HETATM 2634 H2 HOH A 878 6.552 5.684 21.331 1.00 0.00 H +HETATM 2635 O HOH A 879 49.173 35.358 29.350 1.00 0.00 O +HETATM 2636 H1 HOH A 879 48.804 34.499 29.142 1.00 0.00 H +HETATM 2637 H2 HOH A 879 48.618 35.696 30.050 1.00 0.00 H +HETATM 2638 O HOH A 880 15.959 33.070 27.095 1.00 0.00 O +HETATM 2639 H1 HOH A 880 16.196 32.150 27.212 1.00 0.00 H +HETATM 2640 H2 HOH A 880 15.032 33.112 27.326 1.00 0.00 H +HETATM 2641 O HOH A 881 28.336 45.944 36.290 1.00 0.00 O +HETATM 2642 H1 HOH A 881 27.687 45.485 36.823 1.00 0.00 H +HETATM 2643 H2 HOH A 881 29.140 45.909 36.806 1.00 0.00 H +HETATM 2644 O HOH A 882 45.536 40.543 40.496 1.00 0.00 O +HETATM 2645 H1 HOH A 882 44.763 41.091 40.355 1.00 0.00 H +HETATM 2646 H2 HOH A 882 45.522 39.916 39.775 1.00 0.00 H +HETATM 2647 O HOH A 883 3.623 8.119 37.292 1.00 0.00 O +HETATM 2648 H1 HOH A 883 3.622 7.945 36.350 1.00 0.00 H +HETATM 2649 H2 HOH A 883 3.294 9.012 37.373 1.00 0.00 H +HETATM 2650 O HOH A 884 44.864 33.349 39.300 1.00 0.00 O +HETATM 2651 H1 HOH A 884 45.270 32.727 38.695 1.00 0.00 H +HETATM 2652 H2 HOH A 884 45.336 34.168 39.157 1.00 0.00 H +HETATM 2653 O HOH A 885 42.829 43.341 44.847 1.00 0.00 O +HETATM 2654 H1 HOH A 885 42.959 43.442 45.790 1.00 0.00 H +HETATM 2655 H2 HOH A 885 42.264 42.576 44.761 1.00 0.00 H +HETATM 2656 O HOH A 886 30.521 41.470 18.726 1.00 0.00 O +HETATM 2657 H1 HOH A 886 30.074 40.671 19.006 1.00 0.00 H +HETATM 2658 H2 HOH A 886 30.610 41.989 19.523 1.00 0.00 H +HETATM 2659 O HOH A 887 38.519 16.462 19.905 1.00 0.00 O +HETATM 2660 H1 HOH A 887 39.308 16.241 19.410 1.00 0.00 H +HETATM 2661 H2 HOH A 887 37.800 16.108 19.385 1.00 0.00 H +HETATM 2662 O HOH A 888 24.894 33.533 24.652 1.00 0.00 O +HETATM 2663 H1 HOH A 888 24.113 33.629 24.107 1.00 0.00 H +HETATM 2664 H2 HOH A 888 25.461 34.256 24.391 1.00 0.00 H +HETATM 2665 O HOH A 889 27.218 30.385 19.119 1.00 0.00 O +HETATM 2666 H1 HOH A 889 26.677 29.609 19.271 1.00 0.00 H +HETATM 2667 H2 HOH A 889 26.806 30.826 18.378 1.00 0.00 H +HETATM 2668 O HOH A 890 42.941 18.302 48.968 1.00 0.00 O +HETATM 2669 H1 HOH A 890 42.357 17.825 48.377 1.00 0.00 H +HETATM 2670 H2 HOH A 890 42.937 19.199 48.639 1.00 0.00 H +HETATM 2671 O HOH A 891 8.142 18.799 33.102 1.00 0.00 O +HETATM 2672 H1 HOH A 891 8.173 18.212 32.345 1.00 0.00 H +HETATM 2673 H2 HOH A 891 9.058 18.936 33.338 1.00 0.00 H +HETATM 2674 O HOH A 892 18.334 37.835 1.819 1.00 0.00 O +HETATM 2675 H1 HOH A 892 17.721 38.480 1.465 1.00 0.00 H +HETATM 2676 H2 HOH A 892 18.087 37.012 1.401 1.00 0.00 H +HETATM 2677 O HOH A 893 40.431 31.745 13.652 1.00 0.00 O +HETATM 2678 H1 HOH A 893 40.731 32.475 14.195 1.00 0.00 H +HETATM 2679 H2 HOH A 893 39.527 31.597 13.924 1.00 0.00 H +HETATM 2680 O HOH A 894 22.062 39.697 19.618 1.00 0.00 O +HETATM 2681 H1 HOH A 894 21.110 39.661 19.524 1.00 0.00 H +HETATM 2682 H2 HOH A 894 22.349 40.309 18.942 1.00 0.00 H +HETATM 2683 O HOH A 895 47.438 1.970 9.491 1.00 0.00 O +HETATM 2684 H1 HOH A 895 47.434 2.858 9.133 1.00 0.00 H +HETATM 2685 H2 HOH A 895 46.516 1.723 9.533 1.00 0.00 H +HETATM 2686 O HOH A 896 36.207 29.676 40.318 1.00 0.00 O +HETATM 2687 H1 HOH A 896 36.550 30.433 39.842 1.00 0.00 H +HETATM 2688 H2 HOH A 896 35.258 29.766 40.263 1.00 0.00 H +HETATM 2689 O HOH A 897 5.569 17.249 43.367 1.00 0.00 O +HETATM 2690 H1 HOH A 897 4.913 17.762 42.895 1.00 0.00 H +HETATM 2691 H2 HOH A 897 6.019 17.884 43.921 1.00 0.00 H +HETATM 2692 O HOH A 898 39.996 29.403 14.394 1.00 0.00 O +HETATM 2693 H1 HOH A 898 40.566 28.764 13.966 1.00 0.00 H +HETATM 2694 H2 HOH A 898 39.446 28.885 14.978 1.00 0.00 H +HETATM 2695 O HOH A 899 47.901 18.798 30.935 1.00 0.00 O +HETATM 2696 H1 HOH A 899 48.096 19.082 30.042 1.00 0.00 H +HETATM 2697 H2 HOH A 899 48.115 17.867 30.944 1.00 0.00 H +HETATM 2698 O HOH A 900 22.874 24.632 48.579 1.00 0.00 O +HETATM 2699 H1 HOH A 900 22.813 23.911 47.951 1.00 0.00 H +HETATM 2700 H2 HOH A 900 22.229 25.269 48.279 1.00 0.00 H +HETATM 2701 O HOH A 901 16.429 11.660 18.540 1.00 0.00 O +HETATM 2702 H1 HOH A 901 15.894 12.149 17.915 1.00 0.00 H +HETATM 2703 H2 HOH A 901 17.292 11.613 18.135 1.00 0.00 H +HETATM 2704 O HOH A 902 31.629 20.321 17.198 1.00 0.00 O +HETATM 2705 H1 HOH A 902 31.596 19.981 18.092 1.00 0.00 H +HETATM 2706 H2 HOH A 902 32.538 20.199 16.927 1.00 0.00 H +HETATM 2707 O HOH A 903 8.321 7.357 31.985 1.00 0.00 O +HETATM 2708 H1 HOH A 903 8.486 6.570 32.505 1.00 0.00 H +HETATM 2709 H2 HOH A 903 7.533 7.739 32.367 1.00 0.00 H +HETATM 2710 O HOH A 904 41.778 14.892 35.181 1.00 0.00 O +HETATM 2711 H1 HOH A 904 41.139 15.590 35.036 1.00 0.00 H +HETATM 2712 H2 HOH A 904 41.938 14.903 36.123 1.00 0.00 H +HETATM 2713 O HOH A 905 30.349 43.027 7.951 1.00 0.00 O +HETATM 2714 H1 HOH A 905 29.620 42.954 7.334 1.00 0.00 H +HETATM 2715 H2 HOH A 905 30.892 43.731 7.602 1.00 0.00 H +HETATM 2716 O HOH A 906 0.831 30.870 11.346 1.00 0.00 O +HETATM 2717 H1 HOH A 906 1.370 31.458 10.817 1.00 0.00 H +HETATM 2718 H2 HOH A 906 1.432 30.186 11.636 1.00 0.00 H +HETATM 2719 O HOH A 907 38.569 46.521 3.447 1.00 0.00 O +HETATM 2720 H1 HOH A 907 39.342 46.883 3.882 1.00 0.00 H +HETATM 2721 H2 HOH A 907 38.794 45.609 3.274 1.00 0.00 H +HETATM 2722 O HOH A 908 16.141 11.172 25.952 1.00 0.00 O +HETATM 2723 H1 HOH A 908 16.418 11.275 26.862 1.00 0.00 H +HETATM 2724 H2 HOH A 908 15.188 11.233 25.981 1.00 0.00 H +HETATM 2725 O HOH A 909 21.787 2.717 32.686 1.00 0.00 O +HETATM 2726 H1 HOH A 909 21.433 3.309 33.350 1.00 0.00 H +HETATM 2727 H2 HOH A 909 21.288 1.910 32.792 1.00 0.00 H +HETATM 2728 O HOH A 910 47.133 12.210 1.151 1.00 0.00 O +HETATM 2729 H1 HOH A 910 47.672 12.593 1.843 1.00 0.00 H +HETATM 2730 H2 HOH A 910 47.187 12.834 0.429 1.00 0.00 H +HETATM 2731 O HOH A 911 14.830 21.149 19.626 1.00 0.00 O +HETATM 2732 H1 HOH A 911 15.165 21.521 20.442 1.00 0.00 H +HETATM 2733 H2 HOH A 911 13.917 21.429 19.590 1.00 0.00 H +HETATM 2734 O HOH A 912 41.488 41.004 21.819 1.00 0.00 O +HETATM 2735 H1 HOH A 912 41.782 41.899 21.652 1.00 0.00 H +HETATM 2736 H2 HOH A 912 41.636 40.871 22.753 1.00 0.00 H +HETATM 2737 O HOH A 913 11.072 12.423 2.201 1.00 0.00 O +HETATM 2738 H1 HOH A 913 11.591 12.223 2.981 1.00 0.00 H +HETATM 2739 H2 HOH A 913 10.881 11.571 1.813 1.00 0.00 H +HETATM 2740 O HOH A 914 17.301 33.297 42.042 1.00 0.00 O +HETATM 2741 H1 HOH A 914 16.715 32.735 42.548 1.00 0.00 H +HETATM 2742 H2 HOH A 914 18.168 33.138 42.412 1.00 0.00 H +HETATM 2743 O HOH A 915 14.514 44.094 6.822 1.00 0.00 O +HETATM 2744 H1 HOH A 915 15.234 44.291 6.222 1.00 0.00 H +HETATM 2745 H2 HOH A 915 14.135 43.284 6.488 1.00 0.00 H +HETATM 2746 O HOH A 916 22.414 36.701 45.538 1.00 0.00 O +HETATM 2747 H1 HOH A 916 21.758 36.497 46.205 1.00 0.00 H +HETATM 2748 H2 HOH A 916 22.279 36.044 44.857 1.00 0.00 H +HETATM 2749 O HOH A 917 47.005 19.487 8.484 1.00 0.00 O +HETATM 2750 H1 HOH A 917 46.668 19.342 9.369 1.00 0.00 H +HETATM 2751 H2 HOH A 917 47.108 18.610 8.118 1.00 0.00 H +HETATM 2752 O HOH A 918 8.408 22.176 30.091 1.00 0.00 O +HETATM 2753 H1 HOH A 918 8.673 21.465 30.675 1.00 0.00 H +HETATM 2754 H2 HOH A 918 8.803 21.957 29.249 1.00 0.00 H +HETATM 2755 O HOH A 919 14.164 42.800 24.798 1.00 0.00 O +HETATM 2756 H1 HOH A 919 13.719 42.654 25.633 1.00 0.00 H +HETATM 2757 H2 HOH A 919 14.611 41.975 24.616 1.00 0.00 H +HETATM 2758 O HOH A 920 3.619 32.692 23.510 1.00 0.00 O +HETATM 2759 H1 HOH A 920 3.469 33.415 22.901 1.00 0.00 H +HETATM 2760 H2 HOH A 920 4.440 32.299 23.221 1.00 0.00 H +HETATM 2761 O HOH A 921 48.074 5.496 16.082 1.00 0.00 O +HETATM 2762 H1 HOH A 921 47.934 6.122 16.792 1.00 0.00 H +HETATM 2763 H2 HOH A 921 48.773 4.926 16.396 1.00 0.00 H +HETATM 2764 O HOH A 922 6.490 7.879 38.519 1.00 0.00 O +HETATM 2765 H1 HOH A 922 7.020 7.696 39.296 1.00 0.00 H +HETATM 2766 H2 HOH A 922 5.750 8.387 38.847 1.00 0.00 H +HETATM 2767 O HOH A 923 8.353 37.301 32.595 1.00 0.00 O +HETATM 2768 H1 HOH A 923 8.160 36.594 33.212 1.00 0.00 H +HETATM 2769 H2 HOH A 923 9.185 37.662 32.894 1.00 0.00 H +HETATM 2770 O HOH A 924 19.118 19.033 32.489 1.00 0.00 O +HETATM 2771 H1 HOH A 924 20.021 19.228 32.739 1.00 0.00 H +HETATM 2772 H2 HOH A 924 19.068 18.078 32.492 1.00 0.00 H +HETATM 2773 O HOH A 925 37.755 27.769 37.018 1.00 0.00 O +HETATM 2774 H1 HOH A 925 37.305 26.981 37.324 1.00 0.00 H +HETATM 2775 H2 HOH A 925 38.280 27.474 36.276 1.00 0.00 H +HETATM 2776 O HOH A 926 14.237 49.097 17.020 1.00 0.00 O +HETATM 2777 H1 HOH A 926 15.149 49.182 17.297 1.00 0.00 H +HETATM 2778 H2 HOH A 926 13.968 48.236 17.336 1.00 0.00 H +HETATM 2779 O HOH A 927 13.688 28.157 3.718 1.00 0.00 O +HETATM 2780 H1 HOH A 927 13.220 27.587 3.108 1.00 0.00 H +HETATM 2781 H2 HOH A 927 13.534 29.041 3.389 1.00 0.00 H +HETATM 2782 O HOH A 928 47.064 15.965 44.172 1.00 0.00 O +HETATM 2783 H1 HOH A 928 46.807 16.198 43.279 1.00 0.00 H +HETATM 2784 H2 HOH A 928 47.623 16.684 44.458 1.00 0.00 H +HETATM 2785 O HOH A 929 4.002 37.220 12.218 1.00 0.00 O +HETATM 2786 H1 HOH A 929 3.352 37.131 11.521 1.00 0.00 H +HETATM 2787 H2 HOH A 929 4.546 37.958 11.948 1.00 0.00 H +HETATM 2788 O HOH A 930 24.378 5.575 44.590 1.00 0.00 O +HETATM 2789 H1 HOH A 930 25.272 5.296 44.392 1.00 0.00 H +HETATM 2790 H2 HOH A 930 24.106 6.078 43.825 1.00 0.00 H +HETATM 2791 O HOH A 931 28.237 6.620 41.782 1.00 0.00 O +HETATM 2792 H1 HOH A 931 27.517 7.119 42.167 1.00 0.00 H +HETATM 2793 H2 HOH A 931 28.062 5.714 42.029 1.00 0.00 H +HETATM 2794 O HOH A 932 38.593 1.459 46.827 1.00 0.00 O +HETATM 2795 H1 HOH A 932 38.430 0.743 47.441 1.00 0.00 H +HETATM 2796 H2 HOH A 932 37.753 1.603 46.394 1.00 0.00 H +HETATM 2797 O HOH A 933 20.266 30.580 14.205 1.00 0.00 O +HETATM 2798 H1 HOH A 933 19.740 30.658 15.001 1.00 0.00 H +HETATM 2799 H2 HOH A 933 19.806 31.112 13.558 1.00 0.00 H +HETATM 2800 O HOH A 934 2.782 3.820 41.183 1.00 0.00 O +HETATM 2801 H1 HOH A 934 3.356 3.974 40.433 1.00 0.00 H +HETATM 2802 H2 HOH A 934 3.190 3.098 41.656 1.00 0.00 H +HETATM 2803 O HOH A 935 32.224 20.114 47.593 1.00 0.00 O +HETATM 2804 H1 HOH A 935 31.718 19.995 46.789 1.00 0.00 H +HETATM 2805 H2 HOH A 935 33.053 19.671 47.425 1.00 0.00 H +HETATM 2806 O HOH A 936 49.901 37.036 9.913 1.00 0.00 O +HETATM 2807 H1 HOH A 936 49.344 37.145 10.684 1.00 0.00 H +HETATM 2808 H2 HOH A 936 49.851 37.875 9.458 1.00 0.00 H +HETATM 2809 O HOH A 937 34.423 25.986 31.574 1.00 0.00 O +HETATM 2810 H1 HOH A 937 34.202 25.792 30.663 1.00 0.00 H +HETATM 2811 H2 HOH A 937 33.864 26.726 31.806 1.00 0.00 H +HETATM 2812 O HOH A 938 38.630 32.134 18.220 1.00 0.00 O +HETATM 2813 H1 HOH A 938 38.388 33.059 18.175 1.00 0.00 H +HETATM 2814 H2 HOH A 938 38.794 31.883 17.313 1.00 0.00 H +HETATM 2815 O HOH A 939 29.751 30.936 21.097 1.00 0.00 O +HETATM 2816 H1 HOH A 939 30.652 31.088 21.383 1.00 0.00 H +HETATM 2817 H2 HOH A 939 29.589 31.612 20.441 1.00 0.00 H +HETATM 2818 O HOH A 940 24.546 33.447 39.324 1.00 0.00 O +HETATM 2819 H1 HOH A 940 24.735 32.746 39.948 1.00 0.00 H +HETATM 2820 H2 HOH A 940 24.039 34.085 39.824 1.00 0.00 H +HETATM 2821 O HOH A 941 48.952 42.552 33.101 1.00 0.00 O +HETATM 2822 H1 HOH A 941 49.886 42.369 33.000 1.00 0.00 H +HETATM 2823 H2 HOH A 941 48.578 42.387 32.237 1.00 0.00 H +HETATM 2824 O HOH A 942 10.339 18.432 35.284 1.00 0.00 O +HETATM 2825 H1 HOH A 942 11.006 18.335 34.605 1.00 0.00 H +HETATM 2826 H2 HOH A 942 10.184 19.374 35.339 1.00 0.00 H +HETATM 2827 O HOH A 943 47.874 19.648 12.697 1.00 0.00 O +HETATM 2828 H1 HOH A 943 47.551 19.951 13.546 1.00 0.00 H +HETATM 2829 H2 HOH A 943 47.991 18.706 12.804 1.00 0.00 H +HETATM 2830 O HOH A 944 19.941 19.564 26.385 1.00 0.00 O +HETATM 2831 H1 HOH A 944 20.418 19.009 25.768 1.00 0.00 H +HETATM 2832 H2 HOH A 944 19.256 19.975 25.860 1.00 0.00 H +HETATM 2833 O HOH A 945 33.338 45.226 4.923 1.00 0.00 O +HETATM 2834 H1 HOH A 945 33.329 46.168 5.094 1.00 0.00 H +HETATM 2835 H2 HOH A 945 32.737 44.857 5.568 1.00 0.00 H +HETATM 2836 O HOH A 946 23.576 7.907 46.302 1.00 0.00 O +HETATM 2837 H1 HOH A 946 24.317 8.184 45.764 1.00 0.00 H +HETATM 2838 H2 HOH A 946 23.410 7.004 46.038 1.00 0.00 H +HETATM 2839 O HOH A 947 32.554 4.789 32.246 1.00 0.00 O +HETATM 2840 H1 HOH A 947 33.255 4.988 32.867 1.00 0.00 H +HETATM 2841 H2 HOH A 947 31.786 5.236 32.598 1.00 0.00 H +HETATM 2842 O HOH A 948 22.708 45.710 38.721 1.00 0.00 O +HETATM 2843 H1 HOH A 948 22.796 45.481 39.647 1.00 0.00 H +HETATM 2844 H2 HOH A 948 23.212 45.043 38.259 1.00 0.00 H +HETATM 2845 O HOH A 949 2.421 45.341 29.881 1.00 0.00 O +HETATM 2846 H1 HOH A 949 3.103 45.698 29.311 1.00 0.00 H +HETATM 2847 H2 HOH A 949 2.890 44.784 30.499 1.00 0.00 H +HETATM 2848 O HOH A 950 27.453 29.166 2.891 1.00 0.00 O +HETATM 2849 H1 HOH A 950 26.666 29.106 3.433 1.00 0.00 H +HETATM 2850 H2 HOH A 950 27.126 29.202 1.994 1.00 0.00 H +HETATM 2851 O HOH A 951 12.428 12.280 16.076 1.00 0.00 O +HETATM 2852 H1 HOH A 951 11.590 12.467 16.500 1.00 0.00 H +HETATM 2853 H2 HOH A 951 12.200 11.748 15.315 1.00 0.00 H +HETATM 2854 O HOH A 952 35.458 4.511 6.096 1.00 0.00 O +HETATM 2855 H1 HOH A 952 34.752 4.010 5.687 1.00 0.00 H +HETATM 2856 H2 HOH A 952 35.564 5.279 5.536 1.00 0.00 H +HETATM 2857 O HOH A 953 15.658 40.127 32.249 1.00 0.00 O +HETATM 2858 H1 HOH A 953 15.388 40.894 32.754 1.00 0.00 H +HETATM 2859 H2 HOH A 953 15.237 39.389 32.688 1.00 0.00 H +HETATM 2860 O HOH A 954 33.530 31.896 32.663 1.00 0.00 O +HETATM 2861 H1 HOH A 954 33.313 32.714 33.110 1.00 0.00 H +HETATM 2862 H2 HOH A 954 32.843 31.287 32.925 1.00 0.00 H +HETATM 2863 O HOH A 955 41.564 20.308 11.757 1.00 0.00 O +HETATM 2864 H1 HOH A 955 42.353 19.834 12.019 1.00 0.00 H +HETATM 2865 H2 HOH A 955 41.840 21.221 11.698 1.00 0.00 H +HETATM 2866 O HOH A 956 4.513 22.401 5.175 1.00 0.00 O +HETATM 2867 H1 HOH A 956 3.964 23.012 5.668 1.00 0.00 H +HETATM 2868 H2 HOH A 956 4.278 21.539 5.514 1.00 0.00 H +HETATM 2869 O HOH A 957 2.735 18.107 35.644 1.00 0.00 O +HETATM 2870 H1 HOH A 957 3.104 18.729 35.017 1.00 0.00 H +HETATM 2871 H2 HOH A 957 2.794 18.551 36.488 1.00 0.00 H +HETATM 2872 O HOH A 958 4.221 39.021 34.058 1.00 0.00 O +HETATM 2873 H1 HOH A 958 3.553 38.384 33.804 1.00 0.00 H +HETATM 2874 H2 HOH A 958 4.246 39.647 33.337 1.00 0.00 H +HETATM 2875 O HOH A 959 33.623 35.709 38.936 1.00 0.00 O +HETATM 2876 H1 HOH A 959 34.138 36.498 38.770 1.00 0.00 H +HETATM 2877 H2 HOH A 959 34.206 35.140 39.436 1.00 0.00 H +HETATM 2878 O HOH A 960 3.034 32.992 12.580 1.00 0.00 O +HETATM 2879 H1 HOH A 960 2.667 32.915 13.461 1.00 0.00 H +HETATM 2880 H2 HOH A 960 3.570 33.783 12.611 1.00 0.00 H +HETATM 2881 O HOH A 961 27.020 18.950 6.055 1.00 0.00 O +HETATM 2882 H1 HOH A 961 26.734 18.130 5.650 1.00 0.00 H +HETATM 2883 H2 HOH A 961 26.266 19.531 5.982 1.00 0.00 H +HETATM 2884 O HOH A 962 28.353 28.694 23.376 1.00 0.00 O +HETATM 2885 H1 HOH A 962 28.313 29.643 23.259 1.00 0.00 H +HETATM 2886 H2 HOH A 962 28.720 28.573 24.250 1.00 0.00 H +HETATM 2887 O HOH A 963 4.725 25.102 33.838 1.00 0.00 O +HETATM 2888 H1 HOH A 963 5.673 25.075 33.969 1.00 0.00 H +HETATM 2889 H2 HOH A 963 4.613 25.145 32.890 1.00 0.00 H +HETATM 2890 O HOH A 964 34.624 6.918 17.733 1.00 0.00 O +HETATM 2891 H1 HOH A 964 34.652 7.604 17.065 1.00 0.00 H +HETATM 2892 H2 HOH A 964 34.621 6.100 17.239 1.00 0.00 H +HETATM 2893 O HOH A 965 4.909 26.371 47.594 1.00 0.00 O +HETATM 2894 H1 HOH A 965 4.909 26.966 46.845 1.00 0.00 H +HETATM 2895 H2 HOH A 965 5.446 25.631 47.315 1.00 0.00 H +HETATM 2896 O HOH A 966 19.430 14.718 30.595 1.00 0.00 O +HETATM 2897 H1 HOH A 966 20.152 15.302 30.829 1.00 0.00 H +HETATM 2898 H2 HOH A 966 19.317 14.838 29.654 1.00 0.00 H +HETATM 2899 O HOH A 967 48.507 11.303 11.749 1.00 0.00 O +HETATM 2900 H1 HOH A 967 48.532 10.486 12.246 1.00 0.00 H +HETATM 2901 H2 HOH A 967 48.973 11.933 12.296 1.00 0.00 H +HETATM 2902 O HOH A 968 37.128 26.619 24.350 1.00 0.00 O +HETATM 2903 H1 HOH A 968 36.389 26.972 24.845 1.00 0.00 H +HETATM 2904 H2 HOH A 968 36.798 25.809 23.967 1.00 0.00 H +HETATM 2905 O HOH A 969 25.110 41.448 1.636 1.00 0.00 O +HETATM 2906 H1 HOH A 969 25.985 41.399 1.251 1.00 0.00 H +HETATM 2907 H2 HOH A 969 24.892 40.545 1.856 1.00 0.00 H +HETATM 2908 O HOH A 970 14.864 11.261 10.906 1.00 0.00 O +HETATM 2909 H1 HOH A 970 15.589 10.894 11.414 1.00 0.00 H +HETATM 2910 H2 HOH A 970 14.563 12.008 11.421 1.00 0.00 H +HETATM 2911 O HOH A 971 20.548 45.504 21.799 1.00 0.00 O +HETATM 2912 H1 HOH A 971 19.918 46.174 22.064 1.00 0.00 H +HETATM 2913 H2 HOH A 971 20.088 44.676 21.928 1.00 0.00 H +HETATM 2914 O HOH A 972 21.474 42.285 14.870 1.00 0.00 O +HETATM 2915 H1 HOH A 972 20.846 41.567 14.955 1.00 0.00 H +HETATM 2916 H2 HOH A 972 22.165 41.937 14.310 1.00 0.00 H +HETATM 2917 O HOH A 973 45.490 17.297 37.032 1.00 0.00 O +HETATM 2918 H1 HOH A 973 46.038 17.323 37.817 1.00 0.00 H +HETATM 2919 H2 HOH A 973 46.099 17.431 36.308 1.00 0.00 H +HETATM 2920 O HOH A 974 39.857 26.886 10.325 1.00 0.00 O +HETATM 2921 H1 HOH A 974 38.909 26.972 10.219 1.00 0.00 H +HETATM 2922 H2 HOH A 974 40.160 27.771 10.517 1.00 0.00 H +HETATM 2923 O HOH A 975 2.138 6.529 26.973 1.00 0.00 O +HETATM 2924 H1 HOH A 975 2.578 6.006 26.303 1.00 0.00 H +HETATM 2925 H2 HOH A 975 1.599 5.903 27.454 1.00 0.00 H +HETATM 2926 O HOH A 976 24.253 25.477 4.365 1.00 0.00 O +HETATM 2927 H1 HOH A 976 24.223 25.651 5.306 1.00 0.00 H +HETATM 2928 H2 HOH A 976 24.623 24.599 4.293 1.00 0.00 H +HETATM 2929 O HOH A 977 1.716 30.464 32.827 1.00 0.00 O +HETATM 2930 H1 HOH A 977 1.049 30.656 32.168 1.00 0.00 H +HETATM 2931 H2 HOH A 977 2.446 31.040 32.607 1.00 0.00 H +HETATM 2932 O HOH A 978 39.663 11.150 48.614 1.00 0.00 O +HETATM 2933 H1 HOH A 978 40.347 10.485 48.531 1.00 0.00 H +HETATM 2934 H2 HOH A 978 40.128 11.983 48.557 1.00 0.00 H +HETATM 2935 O HOH A 979 7.364 47.941 21.230 1.00 0.00 O +HETATM 2936 H1 HOH A 979 8.248 48.293 21.343 1.00 0.00 H +HETATM 2937 H2 HOH A 979 7.442 47.016 21.458 1.00 0.00 H +HETATM 2938 O HOH A 980 37.087 20.443 0.598 1.00 0.00 O +HETATM 2939 H1 HOH A 980 37.594 20.704 1.367 1.00 0.00 H +HETATM 2940 H2 HOH A 980 37.093 19.487 0.618 1.00 0.00 H +HETATM 2941 O HOH A 981 6.981 23.459 22.217 1.00 0.00 O +HETATM 2942 H1 HOH A 981 7.098 23.401 21.269 1.00 0.00 H +HETATM 2943 H2 HOH A 981 6.545 24.298 22.357 1.00 0.00 H +HETATM 2944 O HOH A 982 15.341 34.271 19.524 1.00 0.00 O +HETATM 2945 H1 HOH A 982 15.316 33.750 20.327 1.00 0.00 H +HETATM 2946 H2 HOH A 982 14.671 34.941 19.651 1.00 0.00 H +HETATM 2947 O HOH A 983 10.809 12.146 46.382 1.00 0.00 O +HETATM 2948 H1 HOH A 983 11.170 11.278 46.201 1.00 0.00 H +HETATM 2949 H2 HOH A 983 9.864 12.010 46.427 1.00 0.00 H +HETATM 2950 O HOH A 984 8.771 6.779 8.960 1.00 0.00 O +HETATM 2951 H1 HOH A 984 9.293 5.980 8.875 1.00 0.00 H +HETATM 2952 H2 HOH A 984 9.317 7.370 9.475 1.00 0.00 H +HETATM 2953 O HOH A 985 2.988 35.875 39.245 1.00 0.00 O +HETATM 2954 H1 HOH A 985 2.533 36.407 39.898 1.00 0.00 H +HETATM 2955 H2 HOH A 985 2.909 36.370 38.432 1.00 0.00 H +HETATM 2956 O HOH A 986 21.351 19.921 29.172 1.00 0.00 O +HETATM 2957 H1 HOH A 986 20.422 19.916 28.940 1.00 0.00 H +HETATM 2958 H2 HOH A 986 21.799 20.182 28.370 1.00 0.00 H +HETATM 2959 O HOH A 987 45.437 20.292 37.419 1.00 0.00 O +HETATM 2960 H1 HOH A 987 45.176 20.649 36.570 1.00 0.00 H +HETATM 2961 H2 HOH A 987 46.112 19.648 37.214 1.00 0.00 H +HETATM 2962 O HOH A 988 17.931 8.094 39.114 1.00 0.00 O +HETATM 2963 H1 HOH A 988 17.126 8.436 39.504 1.00 0.00 H +HETATM 2964 H2 HOH A 988 17.944 7.170 39.357 1.00 0.00 H +HETATM 2965 O HOH A 989 27.889 28.102 17.199 1.00 0.00 O +HETATM 2966 H1 HOH A 989 27.791 27.478 17.917 1.00 0.00 H +HETATM 2967 H2 HOH A 989 28.616 28.664 17.464 1.00 0.00 H +HETATM 2968 O HOH A 990 37.677 44.955 21.483 1.00 0.00 O +HETATM 2969 H1 HOH A 990 37.975 44.072 21.698 1.00 0.00 H +HETATM 2970 H2 HOH A 990 37.075 44.835 20.751 1.00 0.00 H +HETATM 2971 O HOH A 991 6.914 22.263 10.184 1.00 0.00 O +HETATM 2972 H1 HOH A 991 6.341 22.890 9.742 1.00 0.00 H +HETATM 2973 H2 HOH A 991 7.064 22.642 11.049 1.00 0.00 H +HETATM 2974 O HOH A 992 27.064 17.468 0.635 1.00 0.00 O +HETATM 2975 H1 HOH A 992 26.555 16.663 0.544 1.00 0.00 H +HETATM 2976 H2 HOH A 992 26.416 18.169 0.599 1.00 0.00 H +HETATM 2977 O HOH A 993 4.677 25.666 28.109 1.00 0.00 O +HETATM 2978 H1 HOH A 993 5.003 25.998 27.273 1.00 0.00 H +HETATM 2979 H2 HOH A 993 4.942 24.749 28.126 1.00 0.00 H +HETATM 2980 O HOH A 994 7.990 28.113 30.593 1.00 0.00 O +HETATM 2981 H1 HOH A 994 8.873 27.747 30.653 1.00 0.00 H +HETATM 2982 H2 HOH A 994 7.873 28.595 31.410 1.00 0.00 H +HETATM 2983 O HOH A 995 26.720 11.533 18.898 1.00 0.00 O +HETATM 2984 H1 HOH A 995 26.049 11.602 18.219 1.00 0.00 H +HETATM 2985 H2 HOH A 995 27.522 11.837 18.477 1.00 0.00 H +HETATM 2986 O HOH A 996 15.543 41.468 13.907 1.00 0.00 O +HETATM 2987 H1 HOH A 996 16.001 41.156 13.126 1.00 0.00 H +HETATM 2988 H2 HOH A 996 14.616 41.381 13.694 1.00 0.00 H +HETATM 2989 O HOH A 997 45.367 22.636 41.311 1.00 0.00 O +HETATM 2990 H1 HOH A 997 46.300 22.468 41.176 1.00 0.00 H +HETATM 2991 H2 HOH A 997 44.947 22.322 40.512 1.00 0.00 H +HETATM 2992 O HOH A 998 44.788 35.783 31.272 1.00 0.00 O +HETATM 2993 H1 HOH A 998 44.084 35.846 30.627 1.00 0.00 H +HETATM 2994 H2 HOH A 998 45.523 36.246 30.874 1.00 0.00 H +HETATM 2995 O HOH A 999 49.012 34.429 3.015 1.00 0.00 O +HETATM 2996 H1 HOH A 999 48.678 33.756 2.422 1.00 0.00 H +HETATM 2997 H2 HOH A 999 49.811 34.053 3.381 1.00 0.00 H +HETATM 2998 O HOH A1000 14.621 47.950 33.963 1.00 0.00 O +HETATM 2999 H1 HOH A1000 15.556 47.981 33.760 1.00 0.00 H +HETATM 3000 H2 HOH A1000 14.188 48.178 33.142 1.00 0.00 H +HETATM 3001 O HOH A1001 38.530 31.297 34.589 1.00 0.00 O +HETATM 3002 H1 HOH A1001 39.245 31.393 33.960 1.00 0.00 H +HETATM 3003 H2 HOH A1001 37.975 30.612 34.221 1.00 0.00 H +HETATM 3004 O HOH A1002 11.427 6.378 17.630 1.00 0.00 O +HETATM 3005 H1 HOH A1002 11.934 5.591 17.832 1.00 0.00 H +HETATM 3006 H2 HOH A1002 11.528 6.934 18.400 1.00 0.00 H +HETATM 3007 O HOH A1003 25.470 0.853 26.518 1.00 0.00 O +HETATM 3008 H1 HOH A1003 25.395 1.360 27.326 1.00 0.00 H +HETATM 3009 H2 HOH A1003 24.949 1.337 25.880 1.00 0.00 H +HETATM 3010 O HOH A1004 44.358 33.493 17.591 1.00 0.00 O +HETATM 3011 H1 HOH A1004 44.023 32.687 17.196 1.00 0.00 H +HETATM 3012 H2 HOH A1004 45.106 33.211 18.115 1.00 0.00 H +HETATM 3013 O HOH A1005 39.339 18.161 36.351 1.00 0.00 O +HETATM 3014 H1 HOH A1005 39.070 17.746 37.170 1.00 0.00 H +HETATM 3015 H2 HOH A1005 40.042 18.758 36.602 1.00 0.00 H +HETATM 3016 O HOH A1006 19.784 44.582 16.458 1.00 0.00 O +HETATM 3017 H1 HOH A1006 20.494 45.012 15.981 1.00 0.00 H +HETATM 3018 H2 HOH A1006 19.678 43.737 16.024 1.00 0.00 H +HETATM 3019 O HOH A1007 10.990 44.441 28.218 1.00 0.00 O +HETATM 3020 H1 HOH A1007 11.195 43.703 28.791 1.00 0.00 H +HETATM 3021 H2 HOH A1007 10.583 45.087 28.792 1.00 0.00 H +HETATM 3022 O HOH A1008 34.288 41.400 2.723 1.00 0.00 O +HETATM 3023 H1 HOH A1008 34.436 40.455 2.695 1.00 0.00 H +HETATM 3024 H2 HOH A1008 34.321 41.676 1.809 1.00 0.00 H +HETATM 3025 O HOH A1009 49.206 49.302 41.341 1.00 0.00 O +HETATM 3026 H1 HOH A1009 48.761 49.953 41.884 1.00 0.00 H +HETATM 3027 H2 HOH A1009 49.876 48.929 41.911 1.00 0.00 H +HETATM 3028 O HOH A1010 40.539 41.039 38.151 1.00 0.00 O +HETATM 3029 H1 HOH A1010 39.832 41.451 37.653 1.00 0.00 H +HETATM 3030 H2 HOH A1010 41.340 41.335 37.722 1.00 0.00 H +HETATM 3031 O HOH A1011 1.010 39.947 28.635 1.00 0.00 O +HETATM 3032 H1 HOH A1011 1.775 40.169 28.103 1.00 0.00 H +HETATM 3033 H2 HOH A1011 1.182 39.061 28.947 1.00 0.00 H +HETATM 3034 O HOH A1012 49.720 43.120 24.185 1.00 0.00 O +HETATM 3035 H1 HOH A1012 49.748 42.916 23.250 1.00 0.00 H +HETATM 3036 H2 HOH A1012 48.819 43.398 24.344 1.00 0.00 H +HETATM 3037 O HOH A1013 37.634 40.802 39.496 1.00 0.00 O +HETATM 3038 H1 HOH A1013 37.408 39.992 39.954 1.00 0.00 H +HETATM 3039 H2 HOH A1013 38.583 40.870 39.582 1.00 0.00 H +HETATM 3040 O HOH A1014 18.131 34.259 15.777 1.00 0.00 O +HETATM 3041 H1 HOH A1014 18.312 34.737 16.587 1.00 0.00 H +HETATM 3042 H2 HOH A1014 17.331 33.769 15.961 1.00 0.00 H +HETATM 3043 O HOH A1015 46.095 5.170 48.188 1.00 0.00 O +HETATM 3044 H1 HOH A1015 47.030 5.310 48.034 1.00 0.00 H +HETATM 3045 H2 HOH A1015 45.661 5.834 47.656 1.00 0.00 H +HETATM 3046 O HOH A1016 47.854 11.464 17.569 1.00 0.00 O +HETATM 3047 H1 HOH A1016 46.954 11.776 17.466 1.00 0.00 H +HETATM 3048 H2 HOH A1016 48.323 11.831 16.822 1.00 0.00 H +HETATM 3049 O HOH A1017 14.573 22.744 34.903 1.00 0.00 O +HETATM 3050 H1 HOH A1017 15.212 22.553 34.216 1.00 0.00 H +HETATM 3051 H2 HOH A1017 13.768 22.322 34.608 1.00 0.00 H +HETATM 3052 O HOH A1018 47.040 15.538 15.727 1.00 0.00 O +HETATM 3053 H1 HOH A1018 47.116 16.072 14.936 1.00 0.00 H +HETATM 3054 H2 HOH A1018 47.012 14.638 15.409 1.00 0.00 H +HETATM 3055 O HOH A1019 49.131 25.861 17.631 1.00 0.00 O +HETATM 3056 H1 HOH A1019 48.599 25.524 16.910 1.00 0.00 H +HETATM 3057 H2 HOH A1019 48.794 25.420 18.408 1.00 0.00 H +HETATM 3058 O HOH A1020 4.033 44.625 35.493 1.00 0.00 O +HETATM 3059 H1 HOH A1020 4.046 44.159 34.657 1.00 0.00 H +HETATM 3060 H2 HOH A1020 3.113 44.640 35.748 1.00 0.00 H +HETATM 3061 O HOH A1021 37.973 46.358 9.636 1.00 0.00 O +HETATM 3062 H1 HOH A1021 37.824 47.247 9.959 1.00 0.00 H +HETATM 3063 H2 HOH A1021 38.912 46.319 9.462 1.00 0.00 H +HETATM 3064 O HOH A1022 35.859 39.993 9.841 1.00 0.00 O +HETATM 3065 H1 HOH A1022 35.806 39.289 9.195 1.00 0.00 H +HETATM 3066 H2 HOH A1022 36.781 40.023 10.091 1.00 0.00 H +HETATM 3067 O HOH A1023 27.164 18.385 27.109 1.00 0.00 O +HETATM 3068 H1 HOH A1023 27.541 18.734 27.917 1.00 0.00 H +HETATM 3069 H2 HOH A1023 26.388 17.905 27.391 1.00 0.00 H +HETATM 3070 O HOH A1024 43.009 0.618 37.643 1.00 0.00 O +HETATM 3071 H1 HOH A1024 43.436 0.145 38.357 1.00 0.00 H +HETATM 3072 H2 HOH A1024 42.813 1.479 38.007 1.00 0.00 H +END \ No newline at end of file diff --git a/examples/water_pol_1024/water2.pdb b/examples/water_pol_1024/water2.pdb new file mode 100644 index 000000000..fbe805952 --- /dev/null +++ b/examples/water_pol_1024/water2.pdb @@ -0,0 +1,9 @@ +CRYST1 31.289 31.289 31.289 90.00 90.00 90.00 P 1 1 +MODEL 1 +HETATM 1 O HOH A 1 1.562 24.460 21.149 1.00 0.00 O +HETATM 2 H1 HOH A 1 2.439 24.438 21.532 1.00 0.00 H +HETATM 3 H2 HOH A 1 0.983 24.178 21.854 1.00 0.00 H +HETATM 4 O HOH A 2 4.788 24.609 0.994 1.00 0.00 O +HETATM 5 H1 HOH A 2 4.026 25.138 1.231 1.00 0.00 H +HETATM 6 H2 HOH A 2 4.462 23.712 0.970 1.00 0.00 H +END diff --git a/tests/data/lj1.pdb b/tests/data/lj1.pdb new file mode 100644 index 000000000..ed9aef01c --- /dev/null +++ b/tests/data/lj1.pdb @@ -0,0 +1,2 @@ +HETATM 1 N1 LIG A 1 0.000 1.000 0.000 1.00 0.00 N +HETATM 2 N2 LIG A 1 1.000 0.000 1.000 1.00 0.00 N \ No newline at end of file diff --git a/tests/data/lj1.xml b/tests/data/lj1.xml new file mode 100644 index 000000000..796b7ed08 --- /dev/null +++ b/tests/data/lj1.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/test_classical.py b/tests/test_classical.py index 4e318d3d3..08c8b36a2 100644 --- a/tests/test_classical.py +++ b/tests/test_classical.py @@ -71,3 +71,25 @@ def test_periodic_torsion_force(self, pdb, prm, value): bondE = h._potentials[0] energy = bondE(pos, box, pairs, h.getGenerators()[0].params) npt.assert_almost_equal(energy, value, decimal=3) + + + @pytest.mark.parametrize( + "pdb, prm, value", + [ + ('data/lj1.pdb', 'data/lj1.xml', 123) + ] + ) + def test_lj_force(self, pdb, prm, value): + pdb = app.PDBFile(pdb) + h = Hamiltonian(prm) + system = h.createPotential(pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False) + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + npt.assert_allclose(pos, jnp.array([[0, 0.1, 0], [0.1, 0, 0.1]])) + box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) + pairs = np.array([[0, 1]], dtype=int) + ljE = h._potentials[0] + # energy = ljE(pos, box, pairs, h.getGenerators()[0].params) + From 76228c42df5035c7db65188b67239f2bd124bbe6 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 13 Mar 2022 14:05:25 +0800 Subject: [PATCH 33/72] feat(classical): Implement 12-6 potential without exclusion --- dmff/classical/inter.py | 100 ++++++++++++++++++++++++++-------------- 1 file changed, 66 insertions(+), 34 deletions(-) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index e116c9852..108288b68 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -1,73 +1,105 @@ import sys -sys.path.append('/share/home/jichen/work/DMFF') import jax.numpy as jnp from dmff.admp.spatial import v_pbc_shift import numpy as np import jax.numpy as jnp from jax import grad + class LennardJonesForce: - - def __init__(self, isShift, isSwitch, r_switch, r_cut) -> None: - + def __init__(self, + r_switch, + r_cut, + map_prm, + map_nbfix, + map_exclusion, + map_14, + scale14=0.0, + isShift=False, + isSwitch=False) -> None: + self.isShift = isShift self.isSwitch = isSwitch self.r_switch = r_switch self.r_cut = r_cut - + + self.map_prm = map_prm + self.map_nbfix = map_nbfix + self.map_exclusion = map_exclusion + self.map_14 = map_14 + def generate_get_energy(self): - - def get_energy(positions, box, pairs, epsilon, sigma): - + def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): + eps_m1 = jnp.repeat(epsilon.reshape((-1, 1)), + epsilon.shape[0], + axis=1) + eps_m2 = eps_m1.T + eps_mat = jnp.sqrt(eps_m1 * eps_m2) + sig_m1 = jnp.repeat(sigma.reshape((-1, 1)), sigma.shape[0], axis=1) + sig_m2 = sig_m1.T + sig_mat = (sig_m1 + sig_m2) * 0.5 + + eps_mat[self.map_nbfix[:, 0], self.map_nbfix[:, 1]] = epsfix + eps_mat[self.map_nbfix[:, 1], self.map_nbfix[:, 0]] = epsfix + sig_mat[self.map_nbfix[:, 0], self.map_nbfix[:, 1]] = sigfix + sig_mat[self.map_nbfix[:, 1], self.map_nbfix[:, 0]] = sigfix + dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] + prm_pair0 = self.map_prm[pairs[:, 0]] + prm_pair1 = self.map_prm[pairs[:, 1]] + eps = eps_mat[prm_pair0, prm_pair1] + sig = sig_mat[prm_pair0, prm_pair1] + dr_vec = v_pbc_shift(dr_vec, box, jnp.linalg.inv(box)) dr_norm = jnp.linalg.norm(dr_vec, axis=1) - dr_norm = dr_norm[dr_norm<=self.r_cut] - - dr_inv = 1.0/dr_norm - sig_dr = sigma * dr_inv + dr_norm = dr_norm[dr_norm <= self.r_cut] + + dr_inv = 1.0 / dr_norm + sig_dr = sig * dr_inv sig_dr12 = jnp.power(sig_dr, 12) sig_dr6 = jnp.power(sig_dr, 6) - E = 4 * epsilon * (sig_dr12 - sig_dr6) - + E = 4 * eps * (sig_dr12 - sig_dr6) + shiftedE = 0 - + if self.isShift: - - rcut_inv = 1.0/self.r_cut + + rcut_inv = 1.0 / self.r_cut sig_rcut = sigma * rcut_inv sig_rcut12 = jnp.power(sig_rcut, 12) sig_rcut6 = jnp.power(sig_rcut, 6) - shiftedE = 4*epsilon*(sig_rcut12 - sig_rcut6) - + shiftedE = 4 * epsilon * (sig_rcut12 - sig_rcut6) + if self.isSwitch: - + x = (dr_norm - self.r_switch) / (self.r_cut - self.r_switch) - S = 1 - 6*x**5 + 15*x**4 - 10*x**3 - jnp.where(dr_norm>self.r_switch, E, E*S) - + S = 1 - 6 * x**5 + 15 * x**4 - 10 * x**3 + jnp.where(dr_norm > self.r_switch, E, E * S) + return jnp.sum(E) + shiftedE - + return get_energy - + + class CoulombForce: pass + if __name__ == '__main__': - + lj = LennardJonesForce(False, False, r_switch=0, r_cut=3) - + positions = jnp.array([[0, 0, 0], [1, 0, 0]], dtype=float) - + box = jnp.array([[10, 0, 0], [0, 10, 0], [0, 0, 10]]) - + pairs = np.array([[0, 1]]) - - epsilon = jnp.array([1]) - sigma = jnp.array([0.1]) - + + epsilon = jnp.array([1, 1]) + sigma = jnp.array([0.1, 0.1]) + get_energy = lj.generate_get_energy() - + E = get_energy(positions, box, pairs, epsilon, sigma) print(E) F = grad(get_energy)(positions, box, pairs, epsilon, sigma) From b24f0a723e8b3cb13d3426c4fc991a21f3c51b58 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 13 Mar 2022 14:17:24 +0800 Subject: [PATCH 34/72] feat(classical): Add exclusion pairs for LJ force --- dmff/classical/inter.py | 60 ++++++++++++++++++++++++++--------------- 1 file changed, 38 insertions(+), 22 deletions(-) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 108288b68..459fc2cb1 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -29,27 +29,8 @@ def __init__(self, self.map_14 = map_14 def generate_get_energy(self): - def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): - eps_m1 = jnp.repeat(epsilon.reshape((-1, 1)), - epsilon.shape[0], - axis=1) - eps_m2 = eps_m1.T - eps_mat = jnp.sqrt(eps_m1 * eps_m2) - sig_m1 = jnp.repeat(sigma.reshape((-1, 1)), sigma.shape[0], axis=1) - sig_m2 = sig_m1.T - sig_mat = (sig_m1 + sig_m2) * 0.5 - - eps_mat[self.map_nbfix[:, 0], self.map_nbfix[:, 1]] = epsfix - eps_mat[self.map_nbfix[:, 1], self.map_nbfix[:, 0]] = epsfix - sig_mat[self.map_nbfix[:, 0], self.map_nbfix[:, 1]] = sigfix - sig_mat[self.map_nbfix[:, 1], self.map_nbfix[:, 0]] = sigfix - - dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] - prm_pair0 = self.map_prm[pairs[:, 0]] - prm_pair1 = self.map_prm[pairs[:, 1]] - eps = eps_mat[prm_pair0, prm_pair1] - sig = sig_mat[prm_pair0, prm_pair1] + def get_LJ_energy(dr_vec, sig, eps, box): dr_vec = v_pbc_shift(dr_vec, box, jnp.linalg.inv(box)) dr_norm = jnp.linalg.norm(dr_vec, axis=1) dr_norm = dr_norm[dr_norm <= self.r_cut] @@ -65,10 +46,10 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): if self.isShift: rcut_inv = 1.0 / self.r_cut - sig_rcut = sigma * rcut_inv + sig_rcut = sig * rcut_inv sig_rcut12 = jnp.power(sig_rcut, 12) sig_rcut6 = jnp.power(sig_rcut, 6) - shiftedE = 4 * epsilon * (sig_rcut12 - sig_rcut6) + shiftedE = 4 * eps * (sig_rcut12 - sig_rcut6) if self.isSwitch: @@ -78,6 +59,41 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): return jnp.sum(E) + shiftedE + def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): + eps_m1 = jnp.repeat(epsilon.reshape((-1, 1)), + epsilon.shape[0], + axis=1) + eps_m2 = eps_m1.T + eps_mat = jnp.sqrt(eps_m1 * eps_m2) + sig_m1 = jnp.repeat(sigma.reshape((-1, 1)), sigma.shape[0], axis=1) + sig_m2 = sig_m1.T + sig_mat = (sig_m1 + sig_m2) * 0.5 + + eps_mat[self.map_nbfix[:, 0], self.map_nbfix[:, 1]] = epsfix + eps_mat[self.map_nbfix[:, 1], self.map_nbfix[:, 0]] = epsfix + sig_mat[self.map_nbfix[:, 0], self.map_nbfix[:, 1]] = sigfix + sig_mat[self.map_nbfix[:, 1], self.map_nbfix[:, 0]] = sigfix + + dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] + prm_pair0 = self.map_prm[pairs[:, 0]] + prm_pair1 = self.map_prm[pairs[:, 1]] + eps = eps_mat[prm_pair0, prm_pair1] + sig = sig_mat[prm_pair0, prm_pair1] + + E_inter = get_LJ_energy(dr_vec, sig, eps, box) + + # exclusion + dr_excl_vec = positions[self.map_exclusion[:, 0]] - positions[ + self.map_exclusion[:, 1]] + excl_map0 = self.map_prm[self.map_exclusion[:, 0]] + excl_map1 = self.map_prm[self.map_exclusion[:, 1]] + eps_excl = eps_mat[excl_map0, excl_map1] + sig_excl = sig_mat[excl_map0, excl_map1] + + E_excl = get_LJ_energy(dr_excl_vec, sig_excl, eps_excl, box) + + return E_inter - E_excl + return get_energy From 5be3af105812d0073640195f22a4ad2888e07ee6 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 13 Mar 2022 14:25:51 +0800 Subject: [PATCH 35/72] feat(classical): add simple test for LennardJonesForce --- dmff/classical/inter.py | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 459fc2cb1..c289fa462 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -1,3 +1,4 @@ +from mmap import MAP_EXECUTABLE import sys import jax.numpy as jnp from dmff.admp.spatial import v_pbc_shift @@ -29,7 +30,6 @@ def __init__(self, self.map_14 = map_14 def generate_get_energy(self): - def get_LJ_energy(dr_vec, sig, eps, box): dr_vec = v_pbc_shift(dr_vec, box, jnp.linalg.inv(box)) dr_norm = jnp.linalg.norm(dr_vec, axis=1) @@ -103,20 +103,30 @@ class CoulombForce: if __name__ == '__main__': - lj = LennardJonesForce(False, False, r_switch=0, r_cut=3) - - positions = jnp.array([[0, 0, 0], [1, 0, 0]], dtype=float) + # atoms: 0, 1, 2, 3 + # exclusion: 0 - 1, 2 - 3 + # nbfix: 0 - 3 (3., 0.3) + positions = jnp.array([[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 1]], + dtype=float) box = jnp.array([[10, 0, 0], [0, 10, 0], [0, 0, 10]]) - pairs = np.array([[0, 1]]) + pairs = np.array([[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3]]) + + epsilon = jnp.array([1., 2.]) + sigma = jnp.array([0.1, 0.2]) - epsilon = jnp.array([1, 1]) - sigma = jnp.array([0.1, 0.1]) + map_prm = np.array([0, 0, 1, 1]) + map_nbfix = np.array([[0, 3]]) + epsfix = jnp.array([3.]) + sigfix = jnp.array([0.3]) + map_exclusion = np.array([[0, 1], [2, 3]]) + map_14 = np.array([[]]) + lj = LennardJonesForce(0, 3, map_prm, map_nbfix, map_exclusion, map_14) get_energy = lj.generate_get_energy() - E = get_energy(positions, box, pairs, epsilon, sigma) + E = get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix) print(E) - F = grad(get_energy)(positions, box, pairs, epsilon, sigma) + F = grad(get_energy)(positions, box, pairs, epsilon, sigma, epsfix, sigfix) print(F) \ No newline at end of file From 47336ba6c3d19d5fbf2494b2677d3718e3b30430 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 13 Mar 2022 14:35:45 +0800 Subject: [PATCH 36/72] fix(classical): fix imp of nbfix --- dmff/classical/inter.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index c289fa462..4a1467d17 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -69,10 +69,10 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): sig_m2 = sig_m1.T sig_mat = (sig_m1 + sig_m2) * 0.5 - eps_mat[self.map_nbfix[:, 0], self.map_nbfix[:, 1]] = epsfix - eps_mat[self.map_nbfix[:, 1], self.map_nbfix[:, 0]] = epsfix - sig_mat[self.map_nbfix[:, 0], self.map_nbfix[:, 1]] = sigfix - sig_mat[self.map_nbfix[:, 1], self.map_nbfix[:, 0]] = sigfix + eps_mat = eps_mat.at[self.map_nbfix[:, 0], self.map_nbfix[:, 1]].set(epsfix) + eps_mat = eps_mat.at[self.map_nbfix[:, 1], self.map_nbfix[:, 0]].set(epsfix) + sig_mat = sig_mat.at[self.map_nbfix[:, 0], self.map_nbfix[:, 1]].set(sigfix) + sig_mat = sig_mat.at[self.map_nbfix[:, 1], self.map_nbfix[:, 0]].set(sigfix) dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] prm_pair0 = self.map_prm[pairs[:, 0]] From a36f3b949f32062ab4f4ce7ed43e2c0664b74d84 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 13 Mar 2022 14:37:44 +0800 Subject: [PATCH 37/72] fix(classical): use more reasonable test case --- dmff/classical/inter.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 4a1467d17..4e86c8da4 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -114,12 +114,12 @@ class CoulombForce: pairs = np.array([[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3]]) epsilon = jnp.array([1., 2.]) - sigma = jnp.array([0.1, 0.2]) + sigma = jnp.array([0.5, 0.6]) map_prm = np.array([0, 0, 1, 1]) map_nbfix = np.array([[0, 3]]) epsfix = jnp.array([3.]) - sigfix = jnp.array([0.3]) + sigfix = jnp.array([0.8]) map_exclusion = np.array([[0, 1], [2, 3]]) map_14 = np.array([[]]) From b88519e9de68a8eaf8fd901353e651a1f3b77149 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 13 Mar 2022 14:59:09 +0800 Subject: [PATCH 38/72] fix(classical): add reference energy --- dmff/classical/inter.py | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 4e86c8da4..33ba4dfa1 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -69,10 +69,14 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): sig_m2 = sig_m1.T sig_mat = (sig_m1 + sig_m2) * 0.5 - eps_mat = eps_mat.at[self.map_nbfix[:, 0], self.map_nbfix[:, 1]].set(epsfix) - eps_mat = eps_mat.at[self.map_nbfix[:, 1], self.map_nbfix[:, 0]].set(epsfix) - sig_mat = sig_mat.at[self.map_nbfix[:, 0], self.map_nbfix[:, 1]].set(sigfix) - sig_mat = sig_mat.at[self.map_nbfix[:, 1], self.map_nbfix[:, 0]].set(sigfix) + eps_mat = eps_mat.at[self.map_nbfix[:, 0], + self.map_nbfix[:, 1]].set(epsfix) + eps_mat = eps_mat.at[self.map_nbfix[:, 1], + self.map_nbfix[:, 0]].set(epsfix) + sig_mat = sig_mat.at[self.map_nbfix[:, 0], + self.map_nbfix[:, 1]].set(sigfix) + sig_mat = sig_mat.at[self.map_nbfix[:, 1], + self.map_nbfix[:, 0]].set(sigfix) dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] prm_pair0 = self.map_prm[pairs[:, 0]] @@ -108,10 +112,12 @@ class CoulombForce: # nbfix: 0 - 3 (3., 0.3) positions = jnp.array([[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 1]], dtype=float) + p_ref = np.array([[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 1]], dtype=float) box = jnp.array([[10, 0, 0], [0, 10, 0], [0, 0, 10]]) - pairs = np.array([[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3]]) + pairs = np.array([[0, 1], [0, 2], [1, 2], [1, 3], [2, 3]]) + pairs_ref = np.array([[0, 2], [0, 3], [1, 2], [1, 3]]) epsilon = jnp.array([1., 2.]) sigma = jnp.array([0.5, 0.6]) @@ -127,6 +133,26 @@ class CoulombForce: get_energy = lj.generate_get_energy() E = get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix) - print(E) + + # Eref + eps0 = epsilon[map_prm[pairs_ref[:, 0]]] + eps1 = epsilon[map_prm[pairs_ref[:, 1]]] + sig0 = sigma[map_prm[pairs_ref[:, 0]]] + sig1 = sigma[map_prm[pairs_ref[:, 1]]] + + eps = np.sqrt(eps0 * eps1) + sig = (sig0 + sig1) / 2. + p0 = p_ref[pairs_ref[:, 0]] + p1 = p_ref[pairs_ref[:, 1]] + dr_vec = p1 - p0 + dr = np.sqrt(np.power(dr_vec, 2).sum(axis=1)) + sig_dr = sig / dr + Eref = 4. * eps * (np.power(sig_dr, 12) - np.power(sig_dr, 6)) + Eref = Eref.sum() + dr_fix = p_ref[0] - p_ref[3] + dr_fix = np.sqrt((dr_fix * dr_fix).sum()) + Eref += 4. * 3. * ((0.3 / dr_fix)**12 - (0.3 / dr_fix)**6) + + print(E, "vs", Eref) F = grad(get_energy)(positions, box, pairs, epsilon, sigma, epsfix, sigfix) print(F) \ No newline at end of file From cb2f1779b161ccd6ef4133f188a78106bc49eabd Mon Sep 17 00:00:00 2001 From: Roy Kid Date: Sun, 13 Mar 2022 19:22:50 +0800 Subject: [PATCH 39/72] draft for dev lj potential --- dmff/classical/inter.py | 27 ++++++- tests/test_classical.py | 163 +++++++++++++++++++++++----------------- 2 files changed, 121 insertions(+), 69 deletions(-) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 2c438627b..cfe294be4 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -1,6 +1,11 @@ - +import sys +sys.path.append( + '/home/lijichen/work/DMFF' +) import jax.numpy as jnp from dmff.admp.spatial import v_pbc_shift +import numpy as np +import jax.numpy as jnp class LennardJonesForce: @@ -46,4 +51,22 @@ def get_energy(positions, box, pairs, epsilon, sigma): return get_energy class CoulombForce: - pass \ No newline at end of file + pass + +if __name__ == '__main__': + + lj = LennardJonesForce(False, False, r_switch=0, r_cut=0) + + positions = jnp.array([[0, 0, 0], [1, 0, 0]]) + + box = jnp.array([[10, 0, 0], [0, 10, 0], [0, 0, 10]]) + + pairs = np.array([[0, 1]]) + + epsilon = jnp.array([1]) + sigma = jnp.array([0.1]) + + get_energy = lj.generate_get_energy() + + E = get_energy(positions, box, pairs, epsilon, sigma) + print(E) \ No newline at end of file diff --git a/tests/test_classical.py b/tests/test_classical.py index bd1eef1dd..afd732dcb 100644 --- a/tests/test_classical.py +++ b/tests/test_classical.py @@ -1,4 +1,3 @@ -from haiku import grad import jax.numpy as jnp import openmm as mm import openmm.app as app @@ -11,75 +10,101 @@ from dmff.classical.inter import LennardJonesForce -class TestClassical: - @pytest.mark.parametrize( - "pdb, prm, value", - [ - ("data/bond1.pdb", "data/bond1.xml", 1389.162109375), - #("data/bond2.pdb", "data/bond2.xml", 100.00), - ]) - def test_harmonic_bond_force(self, pdb, prm, value): - pdb = app.PDBFile(pdb) - h = Hamiltonian(prm) - system = h.createPotential(pdb.topology, - nonbondedMethod=app.NoCutoff, - constraints=None, - removeCMMotion=False) - pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) - box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) - pairs = np.array([[]], dtype=int) - bondE = h._potentials[0] - energy = bondE(pos, box, pairs, h.getGenerators()[0].params) - npt.assert_almost_equal(energy, value, decimal=3) +# class TestClassical: +# @pytest.mark.parametrize( +# "pdb, prm, value", +# [ +# ("data/bond1.pdb", "data/bond1.xml", 1389.162109375), +# #("data/bond2.pdb", "data/bond2.xml", 100.00), +# ]) +# def test_harmonic_bond_force(self, pdb, prm, value): +# pdb = app.PDBFile(pdb) +# h = Hamiltonian(prm) +# system = h.createPotential(pdb.topology, +# nonbondedMethod=app.NoCutoff, +# constraints=None, +# removeCMMotion=False) +# pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) +# box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) +# pairs = np.array([[]], dtype=int) +# bondE = h._potentials[0] +# energy = bondE(pos, box, pairs, h.getGenerators()[0].params) +# npt.assert_almost_equal(energy, value, decimal=3) - @pytest.mark.parametrize( - "pdb, prm, value", - [ - ("data/angle1.pdb", "data/angle1.xml", 315.88775634765625), - #("data/angle2.pdb", "data/angle2.xml", 100.00), - ]) - def test_harmonic_angle_force(self, pdb, prm, value): - pdb = app.PDBFile(pdb) - h = Hamiltonian(prm) - system = h.createPotential(pdb.topology, - nonbondedMethod=app.NoCutoff, - constraints=None, - removeCMMotion=False) - pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) - box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) - pairs = np.array([[]], dtype=int) - bondE = h._potentials[0] - energy = bondE(pos, box, pairs, h.getGenerators()[0].params) - npt.assert_almost_equal(energy, value, decimal=3) +# @pytest.mark.parametrize( +# "pdb, prm, value", +# [ +# ("data/angle1.pdb", "data/angle1.xml", 315.88775634765625), +# #("data/angle2.pdb", "data/angle2.xml", 100.00), +# ]) +# def test_harmonic_angle_force(self, pdb, prm, value): +# pdb = app.PDBFile(pdb) +# h = Hamiltonian(prm) +# system = h.createPotential(pdb.topology, +# nonbondedMethod=app.NoCutoff, +# constraints=None, +# removeCMMotion=False) +# pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) +# box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) +# pairs = np.array([[]], dtype=int) +# bondE = h._potentials[0] +# energy = bondE(pos, box, pairs, h.getGenerators()[0].params) +# npt.assert_almost_equal(energy, value, decimal=3) - @pytest.mark.parametrize( - "pdb, prm, value", - [ - ("data/proper1.pdb", "data/proper1.xml", 8.368000030517578), - ("data/impr1.pdb", "data/impr1.xml", 2.9460556507110596), - ("data/proper1.pdb", "data/wild1.xml", 8.368000030517578), - ("data/impr1.pdb", "data/wild2.xml", 2.9460556507110596), - #("data/tor2.pdb", "data/tor2.xml", 100.00) - ]) - def test_periodic_torsion_force(self, pdb, prm, value): - pdb = app.PDBFile(pdb) - h = Hamiltonian(prm) - system = h.createPotential(pdb.topology, - nonbondedMethod=app.NoCutoff, - constraints=None, - removeCMMotion=False) - pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) - box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) - pairs = np.array([[]], dtype=int) - bondE = h._potentials[0] - energy = bondE(pos, box, pairs, h.getGenerators()[0].params) - npt.assert_almost_equal(energy, value, decimal=3) +# @pytest.mark.parametrize( +# "pdb, prm, value", +# [ +# ("data/proper1.pdb", "data/proper1.xml", 8.368000030517578), +# ("data/impr1.pdb", "data/impr1.xml", 2.9460556507110596), +# ("data/proper1.pdb", "data/wild1.xml", 8.368000030517578), +# ("data/impr1.pdb", "data/wild2.xml", 2.9460556507110596), +# #("data/tor2.pdb", "data/tor2.xml", 100.00) +# ]) +# def test_periodic_torsion_force(self, pdb, prm, value): +# pdb = app.PDBFile(pdb) +# h = Hamiltonian(prm) +# system = h.createPotential(pdb.topology, +# nonbondedMethod=app.NoCutoff, +# constraints=None, +# removeCMMotion=False) +# pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) +# box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) +# pairs = np.array([[]], dtype=int) +# bondE = h._potentials[0] +# energy = bondE(pos, box, pairs, h.getGenerators()[0].params) +# npt.assert_almost_equal(energy, value, decimal=3) -class TestLennardJonesForce: +# class TestLennardJonesForce: - def test_norm_lj(self): +# def test_norm_lj(self): + +# lj = LennardJonesForce(False, False, r_switch=0, r_cut=0) + +# positions = jnp.array([[0, 0, 0], [1, 0, 0]]) + +# box = jnp.array([[10, 0, 0], [0, 10, 0], [0, 0, 10]]) + +# pairs = np.array([[0, 1]]) + +# epsilon = jnp.array([1]) +# sigma = jnp.array([0.1]) + +# get_energy = lj.generate_get_energy() + +# E = get_energy(positions, box, pairs, epsilon, sigma) +# F = grad(get_energy)(positions, box, pairs, epsilon, sigma) +# assert E == 0 +# assert F != 0 +# def test_true(self): + +# assert 0 + +class TestLJ: + + def test_lj(self): + lj = LennardJonesForce(False, False, r_switch=0, r_cut=0) positions = jnp.array([[0, 0, 0], [1, 0, 0]]) @@ -94,6 +119,10 @@ def test_norm_lj(self): get_energy = lj.generate_get_energy() E = get_energy(positions, box, pairs, epsilon, sigma) - F = grad(get_energy)(positions, box, pairs, epsilon, sigma) - assert E == 0 - assert F != 0 \ No newline at end of file + + # F = grad(get_energy)(positions, box, pairs, epsilon, sigma) + # assert E == 0 + # assert F != 0 + + + \ No newline at end of file From 6044b9e2ee45f22a725a824c0452f7635eafb661 Mon Sep 17 00:00:00 2001 From: Roy Kid Date: Sun, 13 Mar 2022 19:34:40 +0800 Subject: [PATCH 40/72] fix Zonly typo in api.py:332 which not consistent with line 475 --- dmff/api.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index cccef6803..d0130e818 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -15,13 +15,9 @@ from jax_md import space, partition from jax import grad import linecache -<<<<<<< HEAD import itertools from .classical.inter import LennardJonesForce -======= import sys ->>>>>>> 27b8bde1c4744db2f9ce5623fcebd9f764693073 - def get_line_context(file_path, line_number): return linecache.getline(file_path, line_number).strip() @@ -333,7 +329,7 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, Bisector = 1 ZBisect = 2 ThreeFold = 3 - Zonly = 4 + ZOnly = 4 # typo fix NoAxisType = 5 LastAxisTypeIndex = 6 From e4aa2927b043c0b1ff870f752d1f94aa77e944ac Mon Sep 17 00:00:00 2001 From: Roy Kid Date: Sun, 13 Mar 2022 21:37:53 +0800 Subject: [PATCH 41/72] reduce PME force to point charge calculation --- dmff/api.py | 26 +++++++++++++++++++++++--- dmff/classical/inter.py | 36 ++++++++++++++++++++++++++++++++++-- 2 files changed, 57 insertions(+), 5 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index d0130e818..0105534c6 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -16,7 +16,7 @@ from jax import grad import linecache import itertools -from .classical.inter import LennardJonesForce +from .classical.inter import CoulombForce, LennardJonesForce import sys def get_line_context(file_path, line_number): @@ -1233,15 +1233,35 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): } if nonbondedMethod not in methodMap: raise ValueError('Illegal nonbonded method for NonbondedForce') - force = LennardJonesForce() + ljforce = LennardJonesForce() + coulforce = CoulombForce() for atom in data.atoms: values = self.params.getAtomParameters(atom, data) force.addParticle(values[0], values[1], values[2]) + + + def potential_fn(positions, box, pairs, params): + + mScales = params['mScales'] + Q = params['Q'][map_atomtype] + + ljE = ljforce.get_energy(positions, box, pairs) + coulE = coulforce.get_energy(positions, box, pairs) + + return ljE + coulE + + self._jaxPotential = potential_fn + + def getJaxPotential(self): + return self._jaxPotential + + def renderXML(self): + pass app.forcefield.parsers[ - "NonbondedForce"] = PeriodicTorsionJaxGenerator.parseElement + "NonbondedForce"] = NonbondJaxGenerator.parseElement class Hamiltonian(app.forcefield.ForceField): diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index fb4750e26..ca133a30c 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -1,11 +1,13 @@ from mmap import MAP_EXECUTABLE import sys import jax.numpy as jnp +from dmff.admp.pme import energy_pme, setup_ewald_parameters +from dmff.admp.recip import generate_pme_recip from dmff.admp.spatial import v_pbc_shift import numpy as np import jax.numpy as jnp from jax import grad - +from dmff.admp.recip import generate_pme_recip, Ck_1 class LennardJonesForce: def __init__(self, @@ -102,8 +104,28 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): class CoulombForce: - pass + + def __init__(self, box, rc, ethresh): + + self.kappa, self.K1, self.K2, self.K3 = setup_ewald_parameters(rc, ethresh, box) + def generate_get_energy(self): + + def get_energy(positions, box, pairs, Q, mScales): + return energy_pme(positions, box, pairs, Q, None, None, None, mScales, None, None, self.covalent_map, None, self.pme_recip, self.kappa, self.K1, self.K2, self.K3, self.lmax, False) + return get_energy + + + def refresh_calculator(self): + + self.construct_local_frames = None + lmax = 0 + self.pme_recip = generate_pme_recip(Ck_1, self.kappa, False, self.pme_order, self.K1, self.K2, self.K3, lmax) + + self.get_energy = self.genreate_get_energy() + + return + if __name__ == '__main__': @@ -156,3 +178,13 @@ class CoulombForce: print(E, "vs", Eref) F = grad(get_energy)(positions, box, pairs, epsilon, sigma, epsfix, sigfix) print(F) + + # test PME + rc = 4 + ethresh = 1e-4 + mScales = np.array([1., 1., 1.]) + Q = np.array([0.1, 0.1]) + pme = CoulombForce(box, rc, ethresh) + get_energy = pme.generate_get_energy() + E = get_energy(positions, box, pairs, Q, mScales) + \ No newline at end of file From d4e45b242ea6e8c2a1f1a8af1a93b5efc06edfd6 Mon Sep 17 00:00:00 2001 From: Roy Kid Date: Wed, 16 Mar 2022 20:15:06 +0800 Subject: [PATCH 42/72] get a preliminary result of point charge pme caclulation --- dmff/classical/inter.py | 26 ++++++++++++++++---------- 1 file changed, 16 insertions(+), 10 deletions(-) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index ca133a30c..37bc23263 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -1,5 +1,5 @@ -from mmap import MAP_EXECUTABLE import sys +sys.path.append('/home/lijichen/work/DMFF') import jax.numpy as jnp from dmff.admp.pme import energy_pme, setup_ewald_parameters from dmff.admp.recip import generate_pme_recip @@ -9,6 +9,7 @@ from jax import grad from dmff.admp.recip import generate_pme_recip, Ck_1 + class LennardJonesForce: def __init__(self, r_switch, @@ -105,9 +106,13 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): class CoulombForce: - def __init__(self, box, rc, ethresh): + def __init__(self, covalent_map, box, rc, ethresh): + self.covalent_map = covalent_map + self.pme_order = 6 + self.lmax = 0 self.kappa, self.K1, self.K2, self.K3 = setup_ewald_parameters(rc, ethresh, box) + self.refresh_calculator() def generate_get_energy(self): @@ -119,10 +124,10 @@ def get_energy(positions, box, pairs, Q, mScales): def refresh_calculator(self): self.construct_local_frames = None - lmax = 0 - self.pme_recip = generate_pme_recip(Ck_1, self.kappa, False, self.pme_order, self.K1, self.K2, self.K3, lmax) - self.get_energy = self.genreate_get_energy() + self.pme_recip = generate_pme_recip(Ck_1, self.kappa, False, self.pme_order, self.K1, self.K2, self.K3, self.lmax) + + self.get_energy = self.generate_get_energy() return @@ -139,6 +144,7 @@ def refresh_calculator(self): box = jnp.array([[10, 0, 0], [0, 10, 0], [0, 0, 10]]) pairs = np.array([[0, 1], [0, 2], [1, 2], [1, 3], [2, 3]]) + covalent_map = np.array([[0, 1, 1, 0], [1, 0, 1, 1], [1, 1, 0, 1], [0, 1, 1, 0]]) # NOTE:not sure pairs_ref = np.array([[0, 2], [0, 3], [1, 2], [1, 3]]) epsilon = jnp.array([1., 2.]) @@ -183,8 +189,8 @@ def refresh_calculator(self): rc = 4 ethresh = 1e-4 mScales = np.array([1., 1., 1.]) - Q = np.array([0.1, 0.1]) - pme = CoulombForce(box, rc, ethresh) - get_energy = pme.generate_get_energy() - E = get_energy(positions, box, pairs, Q, mScales) - \ No newline at end of file + Q = np.array([[0.1, 0.1, 0.1, 0.1]]).T + pme = CoulombForce(covalent_map, box, rc, ethresh) + E = pme.get_energy(positions, box, pairs, Q, mScales) + + print(E) \ No newline at end of file From c36db906ab9426a406897469b4f1b21de734df68 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sat, 19 Mar 2022 17:00:42 +0800 Subject: [PATCH 43/72] feat(classical): support loading charge from residue card and NonbondedForce card --- dmff/api.py | 73 +++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 68 insertions(+), 5 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index 0105534c6..6068d62d5 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -1,4 +1,5 @@ #!/usr/bin/env python +import openmm as mm import openmm.app as app import openmm.unit as unit import openmm.app.element as elem @@ -1189,14 +1190,32 @@ class NonbondJaxGenerator: SCALETOL = 1e-5 - def __ini__(self, hamiltionian): + def __init__(self, hamiltionian): self.ff = hamiltionian # self.coulomb14scale = coulomb14scale # self.lj14scale = lj14scale # self.useDispersionCorrection = useDispersionCorrection - self.params = app.ForceField._AtomTypeParameters(hamiltionian, 'NonbondedForce', 'Atom', ('charge', 'sigma', 'epsilon')) + #self.params = app.ForceField._AtomTypeParameters(hamiltionian, 'NonbondedForce', 'Atom', ('charge', 'sigma', 'epsilon')) + self.params = { + "sigma": [], + "epsilon":[], + "charge":[] + } + self.ljtypes = [] + self.coultypes = [] + self.useAttributeFromResidue = [] + def registerAtom(self, atom): + # use types in nb cards or resname+atomname in residue cards + types = self.ff._findAtomTypes(atom, 1) + self.types.append(types) + + for key in ["sigma", "epsilon", "charge"]: + if key not in self.useAttributeFromResidue: + self.params[key].append(atom[key]) + + @staticmethod def parseElement(element, ff): @@ -1224,7 +1243,12 @@ def parseElement(element, ff): # and generator.useDispersionCorrection != useDispersionCorrection # ): # raise ValueError('Found multiple NonbondedForce tags with different useDispersionCorrection settings.') - generator.params.parseDefinitions(element) + excludedParams = [node.attrib['name'] for node in element.findall('UseAttributeFromResidue')] + for eprm in excludedParams: + if eprm not in generator.useAttributeFromResidue: + generator.useAttributeFromResidue.append(eprm) + for atom in element.findall("Atom"): + generator.registerAtom(atom.attrib) def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): @@ -1233,14 +1257,53 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): } if nonbondedMethod not in methodMap: raise ValueError('Illegal nonbonded method for NonbondedForce') - ljforce = LennardJonesForce() + + + # load LJ from types + map_lj = [] + for atom in data.atoms: + types = data.atomType[atom] + ifFound = False + for ntp, tp in enumerate(self.ljtypes): + if types in tp: + ifFound = True + map_lj.append(ntp) + break + if not ifFound: + raise mm.OpenMMException("AtomType of %s mismatched in NonbondedForce"%(str(atom))) + map_lj = np.array(map_lj, dtype=int) + + ifChargeFromResidue = False + if "charge" in self.useAttributeFromResidue: + # load charge from residue cards + ifChargeFromResidue = True + chargeinfo = {} + for atom in data.atoms: + resname, aname = atom.residue.name, atom.name + prm = data.atomParameters[atom] + chargeinfo[resname+"+"+aname] = prm["charge"] + ckeys = [k for k in chargeinfo.keys()] + self.params["charge"] = [chargeinfo[k] for k in chargeinfo.keys()] + chargeidx = {} + for n,i in enumerate(ckeys): + chargeidx[i] = n + map_charge = [] + for na in range(len(data.atoms)): + key = data.atoms[na].residue.name + "+" + data.atoms[na].name + if key in chargeidx: + map_charge.append(chargeidx[key]) + else: + map_charge = map_lj + + colv_map = build_covalent_map(data, 6) + + ljforce = LennardJonesForce(r_switch, r_cut, map_lj, [], ) coulforce = CoulombForce() for atom in data.atoms: values = self.params.getAtomParameters(atom, data) force.addParticle(values[0], values[1], values[2]) - def potential_fn(positions, box, pairs, params): mScales = params['mScales'] From e8cd9257fde02e82cdea29b515c310b1cd66a2af Mon Sep 17 00:00:00 2001 From: Roy Kid Date: Sat, 19 Mar 2022 17:15:21 +0800 Subject: [PATCH 44/72] correct gradient of coul --- dmff/classical/inter.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 37bc23263..b9976dec4 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -193,4 +193,10 @@ def refresh_calculator(self): pme = CoulombForce(covalent_map, box, rc, ethresh) E = pme.get_energy(positions, box, pairs, Q, mScales) - print(E) \ No newline at end of file + # Eref + DIELECTRIC = 1389.35455846 + + Eref = np.sum(DIELECTRIC * 0.01 * (1 / dr**2)) + + print(E, 'vs', Eref) + print(grad(pme.get_energy)(positions, box, pairs, Q, mScales)) \ No newline at end of file From 9c75220ec82ddab68caa016b849e6e675214f295 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 20 Mar 2022 11:36:47 +0800 Subject: [PATCH 45/72] feat(classical): Add setting for force switching --- dmff/api.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index 6068d62d5..cc2e0f18c 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -1296,13 +1296,19 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): map_charge = map_lj colv_map = build_covalent_map(data, 6) - - ljforce = LennardJonesForce(r_switch, r_cut, map_lj, [], ) + if unit.is_quantity(nonbondedCutoff): + r_cut = nonbondedCutoff.value_in_unit(unit.nanometer) + else: + r_cut = nonbondedCutoff + if "switchDistance" in args: + r_switch = args["switchDistance"] + r_switch = r_switch if not unit.is_quantity(r_switch) else r_switch.value_in_unit(unit.nanometer) + ifSwitch = True + else: + r_switch = r_cut + ifSwitch = False + ljforce = LennardJonesForce(r_switch, r_cut, map_lj, [], ifSwitch=ifSwitch) coulforce = CoulombForce() - for atom in data.atoms: - values = self.params.getAtomParameters(atom, data) - force.addParticle(values[0], values[1], values[2]) - def potential_fn(positions, box, pairs, params): From 43a0d7e69932a321d4b1407f48b0f832e10b4d09 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 20 Mar 2022 11:45:54 +0800 Subject: [PATCH 46/72] feat(classical): Add noPBC support on LJ potential --- dmff/api.py | 15 ++++++++++++--- dmff/classical/inter.py | 37 ++++++++++++++++++++++--------------- 2 files changed, 34 insertions(+), 18 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index cc2e0f18c..6d30e6c7c 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -1253,11 +1253,20 @@ def parseElement(element, ff): def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): methodMap = { - + app.NoCutoff: "NoCutoff", + app.CutoffPeriodic: "CutoffPeriodic", + app.CutoffNonPeriodic: "CutoffNonPeriodic", + app.PME: "PME" } if nonbondedMethod not in methodMap: raise ValueError('Illegal nonbonded method for NonbondedForce') - + + # Coulomb: only support PME for now + # set PBC + if nonbondedMethod not in [app.NoCutoff, app.CutoffNonPeriodic]: + ifPBC = True + else: + ifPBC = False # load LJ from types map_lj = [] @@ -1307,7 +1316,7 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): else: r_switch = r_cut ifSwitch = False - ljforce = LennardJonesForce(r_switch, r_cut, map_lj, [], ifSwitch=ifSwitch) + ljforce = LennardJonesForce(r_switch, r_cut, map_lj, [], ifSwitch=ifSwitch, ifPBC=ifPBC) coulforce = CoulombForce() def potential_fn(positions, box, pairs, params): diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index ca133a30c..d92f4e597 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -9,6 +9,7 @@ from jax import grad from dmff.admp.recip import generate_pme_recip, Ck_1 + class LennardJonesForce: def __init__(self, r_switch, @@ -19,7 +20,8 @@ def __init__(self, map_14, scale14=0.0, isShift=False, - isSwitch=False) -> None: + isSwitch=False, + ifPBC=True) -> None: self.isShift = isShift self.isSwitch = isSwitch @@ -30,10 +32,12 @@ def __init__(self, self.map_nbfix = map_nbfix self.map_exclusion = map_exclusion self.map_14 = map_14 + self.ifPBC = ifPBC def generate_get_energy(self): def get_LJ_energy(dr_vec, sig, eps, box): - dr_vec = v_pbc_shift(dr_vec, box, jnp.linalg.inv(box)) + if self.ifPBC: + dr_vec = v_pbc_shift(dr_vec, box, jnp.linalg.inv(box)) dr_norm = jnp.linalg.norm(dr_vec, axis=1) dr_norm = dr_norm[dr_norm <= self.r_cut] @@ -104,28 +108,32 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): class CoulombForce: - def __init__(self, box, rc, ethresh): - - self.kappa, self.K1, self.K2, self.K3 = setup_ewald_parameters(rc, ethresh, box) + + self.kappa, self.K1, self.K2, self.K3 = setup_ewald_parameters( + rc, ethresh, box) def generate_get_energy(self): - def get_energy(positions, box, pairs, Q, mScales): - return energy_pme(positions, box, pairs, Q, None, None, None, mScales, None, None, self.covalent_map, None, self.pme_recip, self.kappa, self.K1, self.K2, self.K3, self.lmax, False) + return energy_pme(positions, box, pairs, Q, None, None, None, + mScales, None, None, self.covalent_map, None, + self.pme_recip, self.kappa, self.K1, self.K2, + self.K3, self.lmax, False) + return get_energy - def refresh_calculator(self): - + self.construct_local_frames = None lmax = 0 - self.pme_recip = generate_pme_recip(Ck_1, self.kappa, False, self.pme_order, self.K1, self.K2, self.K3, lmax) - + self.pme_recip = generate_pme_recip(Ck_1, self.kappa, False, + self.pme_order, self.K1, self.K2, + self.K3, lmax) + self.get_energy = self.genreate_get_energy() - - return - + + return + if __name__ == '__main__': @@ -187,4 +195,3 @@ def refresh_calculator(self): pme = CoulombForce(box, rc, ethresh) get_energy = pme.generate_get_energy() E = get_energy(positions, box, pairs, Q, mScales) - \ No newline at end of file From 5c3cb0c4d6c124007b436feddfe72bc39e57051f Mon Sep 17 00:00:00 2001 From: Roy Kid Date: Sun, 20 Mar 2022 15:19:11 +0800 Subject: [PATCH 47/72] review api.py code --- dmff/api.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index 6068d62d5..27e6c9841 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -1211,9 +1211,8 @@ def registerAtom(self, atom): types = self.ff._findAtomTypes(atom, 1) self.types.append(types) - for key in ["sigma", "epsilon", "charge"]: - if key not in self.useAttributeFromResidue: - self.params[key].append(atom[key]) + for key in ["sigma", "epsilon", "charge"]: # load xml params as ususal, + self.params[key].append(atom[key]) # cover them by reading residue info later @staticmethod @@ -1233,6 +1232,7 @@ def parseElement(element, ff): ff.registerGenerator(generator) else: generator = existing[0] + # if (abs(generator.coulomb14scale - float(element.attrib['coulomb14scale'])) > NonbondedGenerator.SCALETOL # or abs(generator.lj14scale - float(element.attrib['lj14scale'])) > NonbondedGenerator.SCALETOL # ): @@ -1243,6 +1243,7 @@ def parseElement(element, ff): # and generator.useDispersionCorrection != useDispersionCorrection # ): # raise ValueError('Found multiple NonbondedForce tags with different useDispersionCorrection settings.') + excludedParams = [node.attrib['name'] for node in element.findall('UseAttributeFromResidue')] for eprm in excludedParams: if eprm not in generator.useAttributeFromResidue: @@ -1252,11 +1253,11 @@ def parseElement(element, ff): def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): - methodMap = { - - } - if nonbondedMethod not in methodMap: - raise ValueError('Illegal nonbonded method for NonbondedForce') + # methodMap = { + # app.PME: + # } + # if nonbondedMethod not in methodMap: + # raise ValueError('Illegal nonbonded method for NonbondedForce') # load LJ from types From 76526c8405c7c2b54eeb3e3fc69d0ac224edcc7b Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 21 Mar 2022 00:15:53 +0800 Subject: [PATCH 48/72] feat(classical): Use covalent map to generate exclusions --- dmff/api.py | 10 ++++++++++ dmff/classical/inter.py | 25 +++++++------------------ 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index 6d30e6c7c..836731e02 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -1305,6 +1305,16 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): map_charge = map_lj colv_map = build_covalent_map(data, 6) + map_exclusion = [] + scale_exclusion = [] + mscale = {1:0., 2:0., 3:0.5} + for ii in range(colv_map.shape[0]): + for jj in range(ii+1, colv_map.shape[1]): + if colv_map[ii,jj] > 0 and colv_map[ii,jj] < 4: + map_exclusion.append((ii, jj)) + scale_exclusion.append(1. - mscale[colv_map[ii,jj]]) + scale_exclusion = np.array(scale_exclusion) + if unit.is_quantity(nonbondedCutoff): r_cut = nonbondedCutoff.value_in_unit(unit.nanometer) else: diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index d92f4e597..4fdc3c350 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -17,13 +17,10 @@ def __init__(self, map_prm, map_nbfix, map_exclusion, - map_14, - scale14=0.0, - isShift=False, + scale_exclusion, isSwitch=False, ifPBC=True) -> None: - self.isShift = isShift self.isSwitch = isSwitch self.r_switch = r_switch self.r_cut = r_cut @@ -31,7 +28,7 @@ def __init__(self, self.map_prm = map_prm self.map_nbfix = map_nbfix self.map_exclusion = map_exclusion - self.map_14 = map_14 + self.scale_exclusion = scale_exclusion self.ifPBC = ifPBC def generate_get_energy(self): @@ -47,23 +44,13 @@ def get_LJ_energy(dr_vec, sig, eps, box): sig_dr6 = jnp.power(sig_dr, 6) E = 4 * eps * (sig_dr12 - sig_dr6) - shiftedE = 0 - - if self.isShift: - - rcut_inv = 1.0 / self.r_cut - sig_rcut = sig * rcut_inv - sig_rcut12 = jnp.power(sig_rcut, 12) - sig_rcut6 = jnp.power(sig_rcut, 6) - shiftedE = 4 * eps * (sig_rcut12 - sig_rcut6) - if self.isSwitch: x = (dr_norm - self.r_switch) / (self.r_cut - self.r_switch) S = 1 - 6 * x**5 + 15 * x**4 - 10 * x**3 jnp.where(dr_norm > self.r_switch, E, E * S) - return jnp.sum(E) + shiftedE + return E def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): eps_m1 = jnp.repeat(epsilon.reshape((-1, 1)), @@ -101,8 +88,9 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): sig_excl = sig_mat[excl_map0, excl_map1] E_excl = get_LJ_energy(dr_excl_vec, sig_excl, eps_excl, box) + E_excl = self.scale_exclusion * E_excl - return E_inter - E_excl + return jnp.sum(E_inter) - jnp.sum(E_excl) return get_energy @@ -157,9 +145,10 @@ def refresh_calculator(self): epsfix = jnp.array([3.]) sigfix = jnp.array([0.8]) map_exclusion = np.array([[0, 1], [2, 3]]) + scale_exclusion = jnp.array([1.0, 1.0]) map_14 = np.array([[]]) - lj = LennardJonesForce(0, 3, map_prm, map_nbfix, map_exclusion, map_14) + lj = LennardJonesForce(0, 3, map_prm, map_nbfix, map_exclusion, scale_exclusion) get_energy = lj.generate_get_energy() E = get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix) From 526dd17614a8546a3b829da1a49038187d6690a6 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 21 Mar 2022 00:19:45 +0800 Subject: [PATCH 49/72] feat(classical): Call LJ in API --- dmff/api.py | 297 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 179 insertions(+), 118 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index 836731e02..5988eead7 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -20,6 +20,7 @@ from .classical.inter import CoulombForce, LennardJonesForce import sys + def get_line_context(file_path, line_number): return linecache.getline(file_path, line_number).strip() @@ -186,7 +187,6 @@ def __init__(self, hamiltonian): "polarizabilityXX": [], "polarizabilityYY": [], "polarizabilityZZ": [], - } self.params = { "mScales": [], @@ -244,7 +244,11 @@ def parseElement(element, hamiltonian): for atomType in element.findall("Atom"): atomAttrib = atomType.attrib # if not set - atomAttrib.update({'polarizabilityXX': 0, 'polarizabilityYY': 0, 'polarizabilityZZ': 0}) + atomAttrib.update({ + 'polarizabilityXX': 0, + 'polarizabilityYY': 0, + 'polarizabilityZZ': 0 + }) for polarInfo in element.findall("Polarize"): polarAttrib = polarInfo.attrib if polarInfo.attrib['type'] == atomAttrib['type']: @@ -256,9 +260,9 @@ def parseElement(element, hamiltonian): for k in generator._input_params.keys(): generator._input_params[k] = jnp.array(generator._input_params[k]) generator.types = np.array(generator.types) - + n_atoms = len(element.findall('Atom')) - + # map atom multipole moments if generator.lmax == 0: n_mtps = 1 @@ -284,10 +288,12 @@ def parseElement(element, hamiltonian): # add all differentiable params to self.params Q_local = convert_cart2harm(Q, generator.lmax) generator.params['Q_local'] = Q_local - + if generator.lpol: - pol = jnp.vstack((generator._input_params['polarizabilityXX'], generator._input_params['polarizabilityYY'], generator._input_params['polarizabilityZZ'])).T - pol = 1000*jnp.mean(pol,axis=1) + pol = jnp.vstack((generator._input_params['polarizabilityXX'], + generator._input_params['polarizabilityYY'], + generator._input_params['polarizabilityZZ'])).T + pol = 1000 * jnp.mean(pol, axis=1) tholes = jnp.array(generator._input_params['thole']) generator.params['pol'] = pol generator.params['tholes'] = tholes @@ -298,7 +304,6 @@ def parseElement(element, hamiltonian): # generator.params[''] for k in generator.params.keys(): generator.params[k] = jnp.array(generator.params[k]) - def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): @@ -326,12 +331,12 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, if self.lmax > 0: # setting up axis_indices and axis_type - ZThenX = 0 - Bisector = 1 - ZBisect = 2 - ThreeFold = 3 - ZOnly = 4 # typo fix - NoAxisType = 5 + ZThenX = 0 + Bisector = 1 + ZBisect = 2 + ThreeFold = 3 + ZOnly = 4 # typo fix + NoAxisType = 5 LastAxisTypeIndex = 6 self.axis_types = [] @@ -358,33 +363,47 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, if hit != 0: break z_type = int(data.atomType[data.atoms[z_index]]) - if z_type == abs(kz): # find the z atom, start searching for x + if z_type == abs( + kz + ): # find the z atom, start searching for x for x_index in neighbors: if x_index == z_index or hit != 0: continue - x_type = int(data.atomType[data.atoms[x_index]]) - if x_type == abs(kx): # find the x atom, start searching for y + x_type = int( + data.atomType[data.atoms[x_index]]) + if x_type == abs( + kx + ): # find the x atom, start searching for y if ky == 0: zaxis = z_index xaxis = x_index # cannot ditinguish x and z? use the smaller index for z, and the larger index for x - if (x_type == z_type and xaxis < zaxis): + if (x_type == z_type + and xaxis < zaxis): swap = z_axis z_axis = x_axis x_axis = swap # otherwise, try to see if we can find an even smaller index for x? else: for x_index in neighbors: - x_type1 = int(data.atomType[data.atoms[x_index]]) - if x_type1 == abs(kx) and x_index != z_index and x_index < xaxis: + x_type1 = int( + data.atomType[ + data. + atoms[x_index]]) + if x_type1 == abs( + kx + ) and x_index != z_index and x_index < xaxis: xaxis = x_index - hit = 1 # hit, finish matching + hit = 1 # hit, finish matching matched_itype = itype else: for y_index in neighbors: - if (y_index == z_index or y_index == x_index or hit != 0): + if (y_index == z_index + or y_index == x_index + or hit != 0): continue - y_type = int(data.atomType[data.atoms[y_index]]) + y_type = int(data.atomType[ + data.atoms[y_index]]) if y_type == abs(ky): zaxis = z_index xaxis = x_index @@ -411,16 +430,23 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, for x_index in neighbors_2nd: if x_index == z_index or hit != 0: continue - x_type = int(data.atomType[data.atoms[x_index]]) + x_type = int( + data.atomType[data.atoms[x_index]]) # we ask x to be in 2'nd neighbor, and x is z's neighbor - if x_type == abs(kx) and covalent_map[z_index, x_index] == 1: + if x_type == abs(kx) and covalent_map[ + z_index, x_index] == 1: if ky == 0: zaxis = z_index xaxis = x_index # select smallest x index for x_index in neighbors_2nd: - x_type1 = int(data.atomType[data.atoms[x_index]]) - if x_type1 == abs(kx) and x_index != z_index and covalent_map[x_index, z_index] == 1 and x_index < xaxis: + x_type1 = int(data.atomType[ + data.atoms[x_index]]) + if x_type1 == abs( + kx + ) and x_index != z_index and covalent_map[ + x_index, + z_index] == 1 and x_index < xaxis: xaxis = x_index hit = 3 matched_itype = itype @@ -428,8 +454,12 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, for y_index in neighbors_2nd: if y_index == z_index or y_index == x_index or hit != 0: continue - y_type = int(data.atomType[data.atoms[y_index]]) - if y_type == abs(ky) and covalent_map[y_index, z_index] == 1: + y_type = int(data.atomType[ + data.atoms[y_index]]) + if y_type == abs( + ky) and covalent_map[ + y_index, + z_index] == 1: zaxis = z_index xaxis = x_index yaxis = y_index @@ -463,7 +493,7 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, yaxis = -1 if kz == 0: hit = 6 - matched_itype = itype + matched_itype = itype # add particle if there was a hit if hit != 0: map_atomtype[i_atom] = matched_itype @@ -472,31 +502,30 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, kz = int(self.kStrings['kz'][matched_itype]) kx = int(self.kStrings['kx'][matched_itype]) ky = int(self.kStrings['ky'][matched_itype]) - axisType = ZThenX - if (kz == 0): + axisType = ZThenX + if (kz == 0): axisType = NoAxisType - if (kz != 0 and kx == 0): - axisType = ZOnly - if (kz < 0 or kx < 0): - axisType = Bisector - if (kx < 0 and ky < 0): - axisType = ZBisect - if (kz < 0 and kx < 0 and ky < 0): - axisType = ThreeFold + if (kz != 0 and kx == 0): + axisType = ZOnly + if (kz < 0 or kx < 0): + axisType = Bisector + if (kx < 0 and ky < 0): + axisType = ZBisect + if (kz < 0 and kx < 0 and ky < 0): + axisType = ThreeFold self.axis_types.append(axisType) - + else: - sys.exit('Atom %d not matched in forcefield!'%i_atom) - + sys.exit('Atom %d not matched in forcefield!' % i_atom) + else: - sys.exit('Atom %d not matched in forcefield!'%i_atom) + sys.exit('Atom %d not matched in forcefield!' % i_atom) self.axis_indices = np.array(self.axis_indices) self.axis_types = np.array(self.axis_types) else: self.axis_types = None self.axis_indices = None - # get calculator if 'ethresh' in args: self.ethresh = args['ethresh'] @@ -516,9 +545,12 @@ def potential_fn(positions, box, pairs, params): pol = params["pol"][map_atomtype] tholes = params["tholes"][map_atomtype] - return pme_force.get_energy(positions, box, pairs, Q_local, pol, tholes, mScales, pScales, dScales, pme_force.U_ind) - else: - return pme_force.get_energy(positions, box, pairs, Q_local, mScales) + return pme_force.get_energy(positions, box, pairs, Q_local, + pol, tholes, mScales, pScales, + dScales, pme_force.U_ind) + else: + return pme_force.get_energy(positions, box, pairs, Q_local, + mScales) self._jaxPotential = potential_fn @@ -1148,26 +1180,42 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): prm3_i = np.array(prm3_i, dtype=int) prm4_i = np.array(prm4_i, dtype=int) - prop1 = PeriodicTorsionJaxForce(map_a1_1_p, map_a2_1_p, map_a3_1_p, map_a4_1_p, prm1_p, 1) - prop2 = PeriodicTorsionJaxForce(map_a1_2_p, map_a2_2_p, map_a3_2_p, map_a4_2_p, prm2_p, 2) - prop3 = PeriodicTorsionJaxForce(map_a1_3_p, map_a2_3_p, map_a3_3_p, map_a4_3_p, prm3_p, 3) - prop4 = PeriodicTorsionJaxForce(map_a1_4_p, map_a2_4_p, map_a3_4_p, map_a4_4_p, prm4_p, 4) - - impr1 = PeriodicTorsionJaxForce(map_a1_1_i, map_a2_1_i, map_a3_1_i, map_a4_1_i, prm1_i, 1) - impr2 = PeriodicTorsionJaxForce(map_a1_2_i, map_a2_2_i, map_a3_2_i, map_a4_2_i, prm2_i, 2) - impr3 = PeriodicTorsionJaxForce(map_a1_3_i, map_a2_3_i, map_a3_3_i, map_a4_3_i, prm3_i, 3) - impr4 = PeriodicTorsionJaxForce(map_a1_4_i, map_a2_4_i, map_a3_4_i, map_a4_4_i, prm4_i, 4) + prop1 = PeriodicTorsionJaxForce(map_a1_1_p, map_a2_1_p, map_a3_1_p, + map_a4_1_p, prm1_p, 1) + prop2 = PeriodicTorsionJaxForce(map_a1_2_p, map_a2_2_p, map_a3_2_p, + map_a4_2_p, prm2_p, 2) + prop3 = PeriodicTorsionJaxForce(map_a1_3_p, map_a2_3_p, map_a3_3_p, + map_a4_3_p, prm3_p, 3) + prop4 = PeriodicTorsionJaxForce(map_a1_4_p, map_a2_4_p, map_a3_4_p, + map_a4_4_p, prm4_p, 4) + + impr1 = PeriodicTorsionJaxForce(map_a1_1_i, map_a2_1_i, map_a3_1_i, + map_a4_1_i, prm1_i, 1) + impr2 = PeriodicTorsionJaxForce(map_a1_2_i, map_a2_2_i, map_a3_2_i, + map_a4_2_i, prm2_i, 2) + impr3 = PeriodicTorsionJaxForce(map_a1_3_i, map_a2_3_i, map_a3_3_i, + map_a4_3_i, prm3_i, 3) + impr4 = PeriodicTorsionJaxForce(map_a1_4_i, map_a2_4_i, map_a3_4_i, + map_a4_4_i, prm4_i, 4) def potential_fn(positions, box, pairs, params): - p1e = prop1.get_energy(positions, box, pairs, params["k1_p"], params["psi1_p"]) - p2e = prop2.get_energy(positions, box, pairs, params["k2_p"], params["psi2_p"]) - p3e = prop3.get_energy(positions, box, pairs, params["k3_p"], params["psi3_p"]) - p4e = prop4.get_energy(positions, box, pairs, params["k4_p"], params["psi4_p"]) - - i1e = impr1.get_energy(positions, box, pairs, params["k1_i"], params["psi1_i"]) - i2e = impr2.get_energy(positions, box, pairs, params["k2_i"], params["psi2_i"]) - i3e = impr3.get_energy(positions, box, pairs, params["k3_i"], params["psi3_i"]) - i4e = impr4.get_energy(positions, box, pairs, params["k4_i"], params["psi4_i"]) + p1e = prop1.get_energy(positions, box, pairs, params["k1_p"], + params["psi1_p"]) + p2e = prop2.get_energy(positions, box, pairs, params["k2_p"], + params["psi2_p"]) + p3e = prop3.get_energy(positions, box, pairs, params["k3_p"], + params["psi3_p"]) + p4e = prop4.get_energy(positions, box, pairs, params["k4_p"], + params["psi4_p"]) + + i1e = impr1.get_energy(positions, box, pairs, params["k1_i"], + params["psi1_i"]) + i2e = impr2.get_energy(positions, box, pairs, params["k2_i"], + params["psi2_i"]) + i3e = impr3.get_energy(positions, box, pairs, params["k3_i"], + params["psi3_i"]) + i4e = impr4.get_energy(positions, box, pairs, params["k4_i"], + params["psi4_i"]) return p1e + p2e + p3e + p4e + i1e + i2e + i3e + i4e @@ -1187,45 +1235,48 @@ def renderXML(self): class NonbondJaxGenerator: - + SCALETOL = 1e-5 - + def __init__(self, hamiltionian): - + self.ff = hamiltionian # self.coulomb14scale = coulomb14scale # self.lj14scale = lj14scale # self.useDispersionCorrection = useDispersionCorrection - #self.params = app.ForceField._AtomTypeParameters(hamiltionian, 'NonbondedForce', 'Atom', ('charge', 'sigma', 'epsilon')) + #self.params = app.ForceField._AtomTypeParameters(hamiltionian, 'NonbondedForce', 'Atom', ('charge', 'sigma', 'epsilon')) self.params = { "sigma": [], - "epsilon":[], - "charge":[] + "epsilon": [], + "epsfix": [], + "sigfix": [], + "charge": [] } self.ljtypes = [] self.coultypes = [] self.useAttributeFromResidue = [] - + def registerAtom(self, atom): # use types in nb cards or resname+atomname in residue cards types = self.ff._findAtomTypes(atom, 1) self.types.append(types) - + for key in ["sigma", "epsilon", "charge"]: if key not in self.useAttributeFromResidue: self.params[key].append(atom[key]) - @staticmethod def parseElement(element, ff): - - existing = [f for f in ff._forces if isinstance(f, NonbondJaxGenerator)] - + + existing = [ + f for f in ff._forces if isinstance(f, NonbondJaxGenerator) + ] + # TODO: useDispersionCorrection - + if len(existing) == 0: generator = NonbondJaxGenerator( - ff, + ff, # float(element.attrib['coulomb14scale']), # float(element.attrib['lj14scale']), # useDispersionCorrection @@ -1243,15 +1294,18 @@ def parseElement(element, ff): # and generator.useDispersionCorrection != useDispersionCorrection # ): # raise ValueError('Found multiple NonbondedForce tags with different useDispersionCorrection settings.') - excludedParams = [node.attrib['name'] for node in element.findall('UseAttributeFromResidue')] + excludedParams = [ + node.attrib['name'] + for node in element.findall('UseAttributeFromResidue') + ] for eprm in excludedParams: if eprm not in generator.useAttributeFromResidue: generator.useAttributeFromResidue.append(eprm) for atom in element.findall("Atom"): generator.registerAtom(atom.attrib) - + def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): - + methodMap = { app.NoCutoff: "NoCutoff", app.CutoffPeriodic: "CutoffPeriodic", @@ -1260,7 +1314,7 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): } if nonbondedMethod not in methodMap: raise ValueError('Illegal nonbonded method for NonbondedForce') - + # Coulomb: only support PME for now # set PBC if nonbondedMethod not in [app.NoCutoff, app.CutoffNonPeriodic]: @@ -1279,7 +1333,9 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): map_lj.append(ntp) break if not ifFound: - raise mm.OpenMMException("AtomType of %s mismatched in NonbondedForce"%(str(atom))) + raise mm.OpenMMException( + "AtomType of %s mismatched in NonbondedForce" % + (str(atom))) map_lj = np.array(map_lj, dtype=int) ifChargeFromResidue = False @@ -1290,12 +1346,12 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): for atom in data.atoms: resname, aname = atom.residue.name, atom.name prm = data.atomParameters[atom] - chargeinfo[resname+"+"+aname] = prm["charge"] + chargeinfo[resname + "+" + aname] = prm["charge"] ckeys = [k for k in chargeinfo.keys()] self.params["charge"] = [chargeinfo[k] for k in chargeinfo.keys()] chargeidx = {} - for n,i in enumerate(ckeys): - chargeidx[i] = n + for n, i in enumerate(ckeys): + chargeidx[i] = n map_charge = [] for na in range(len(data.atoms)): key = data.atoms[na].residue.name + "+" + data.atoms[na].name @@ -1307,12 +1363,12 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): colv_map = build_covalent_map(data, 6) map_exclusion = [] scale_exclusion = [] - mscale = {1:0., 2:0., 3:0.5} + mscale = {1: 0., 2: 0., 3: 0.5} for ii in range(colv_map.shape[0]): - for jj in range(ii+1, colv_map.shape[1]): - if colv_map[ii,jj] > 0 and colv_map[ii,jj] < 4: + for jj in range(ii + 1, colv_map.shape[1]): + if colv_map[ii, jj] > 0 and colv_map[ii, jj] < 4: map_exclusion.append((ii, jj)) - scale_exclusion.append(1. - mscale[colv_map[ii,jj]]) + scale_exclusion.append(1. - mscale[colv_map[ii, jj]]) scale_exclusion = np.array(scale_exclusion) if unit.is_quantity(nonbondedCutoff): @@ -1321,35 +1377,42 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): r_cut = nonbondedCutoff if "switchDistance" in args: r_switch = args["switchDistance"] - r_switch = r_switch if not unit.is_quantity(r_switch) else r_switch.value_in_unit(unit.nanometer) + r_switch = r_switch if not unit.is_quantity( + r_switch) else r_switch.value_in_unit(unit.nanometer) ifSwitch = True else: r_switch = r_cut ifSwitch = False - ljforce = LennardJonesForce(r_switch, r_cut, map_lj, [], ifSwitch=ifSwitch, ifPBC=ifPBC) - coulforce = CoulombForce() - + ljforce = LennardJonesForce(r_switch, + r_cut, + map_lj, [], + ifSwitch=ifSwitch, + ifPBC=ifPBC) + ljenergy = ljforce.generate_get_energy() + + #coulforce = CoulombForce() + def potential_fn(positions, box, pairs, params): - - mScales = params['mScales'] - Q = params['Q'][map_atomtype] - - ljE = ljforce.get_energy(positions, box, pairs) - coulE = coulforce.get_energy(positions, box, pairs) - - return ljE + coulE - + + # mScales = params['mScales'] + # Q = params['Q'][map_atomtype] + + ljE = ljenergy(positions, box, pairs, params["epsilon"], + params["sigma"], params["epsfix"], params["sigfix"]) + #coulE = coulforce.get_energy(positions, box, pairs) + + return ljE # + coulE + self._jaxPotential = potential_fn - + def getJaxPotential(self): return self._jaxPotential - + def renderXML(self): pass - - -app.forcefield.parsers[ - "NonbondedForce"] = NonbondJaxGenerator.parseElement + + +app.forcefield.parsers["NonbondedForce"] = NonbondJaxGenerator.parseElement class Hamiltonian(app.forcefield.ForceField): @@ -1357,13 +1420,11 @@ def __init__(self, *xmlnames): super().__init__(*xmlnames) self._potentials = [] - def createPotential( - self, - topology, - nonbondedMethod=app.NoCutoff, - nonbondedCutoff=1.0 * unit.nanometer, - **args - ): + def createPotential(self, + topology, + nonbondedMethod=app.NoCutoff, + nonbondedCutoff=1.0 * unit.nanometer, + **args): system = self.createSystem(topology, nonbondedMethod=nonbondedMethod, nonbondedCutoff=nonbondedCutoff, From b96f4f2fbfca7372264a4c846b2748347a96fc63 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 21 Mar 2022 10:06:41 +0800 Subject: [PATCH 50/72] fix(classical): bug fix on misusing list and jnp.array --- dmff/api.py | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index 5988eead7..f0bbcd86d 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -1252,18 +1252,17 @@ def __init__(self, hamiltionian): "sigfix": [], "charge": [] } - self.ljtypes = [] - self.coultypes = [] + self.types = [] self.useAttributeFromResidue = [] def registerAtom(self, atom): # use types in nb cards or resname+atomname in residue cards - types = self.ff._findAtomTypes(atom, 1) + types = self.ff._findAtomTypes(atom, 1)[0] self.types.append(types) for key in ["sigma", "epsilon", "charge"]: if key not in self.useAttributeFromResidue: - self.params[key].append(atom[key]) + self.params[key].append(float(atom[key])) @staticmethod def parseElement(element, ff): @@ -1315,6 +1314,10 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): if nonbondedMethod not in methodMap: raise ValueError('Illegal nonbonded method for NonbondedForce') + # Jax prms! + for k in self.params.keys(): + self.params[k] = jnp.array(self.params[k]) + # Coulomb: only support PME for now # set PBC if nonbondedMethod not in [app.NoCutoff, app.CutoffNonPeriodic]: @@ -1327,7 +1330,7 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): for atom in data.atoms: types = data.atomType[atom] ifFound = False - for ntp, tp in enumerate(self.ljtypes): + for ntp, tp in enumerate(self.types): if types in tp: ifFound = True map_lj.append(ntp) @@ -1360,6 +1363,11 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): else: map_charge = map_lj + # nbfix! + map_nbfix = [] + # implement it later + map_nbfix = np.array(map_nbfix, dtype=int).reshape((-1, 2)) + colv_map = build_covalent_map(data, 6) map_exclusion = [] scale_exclusion = [] @@ -1369,6 +1377,8 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): if colv_map[ii, jj] > 0 and colv_map[ii, jj] < 4: map_exclusion.append((ii, jj)) scale_exclusion.append(1. - mscale[colv_map[ii, jj]]) + + map_exclusion = np.array(map_exclusion, dtype=int) scale_exclusion = np.array(scale_exclusion) if unit.is_quantity(nonbondedCutoff): @@ -1385,8 +1395,11 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): ifSwitch = False ljforce = LennardJonesForce(r_switch, r_cut, - map_lj, [], - ifSwitch=ifSwitch, + map_lj, + map_nbfix, + map_exclusion, + scale_exclusion, + isSwitch=ifSwitch, ifPBC=ifPBC) ljenergy = ljforce.generate_get_energy() From b3baf1a7dcce036425fa82343d3f86b1a2c4c1fe Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 21 Mar 2022 10:28:40 +0800 Subject: [PATCH 51/72] fix(classical): correctly support NoCutoff --- dmff/api.py | 8 ++++++-- dmff/classical/inter.py | 20 +++++++++++++------- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index f0bbcd86d..8141c46c7 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -1313,6 +1313,9 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): } if nonbondedMethod not in methodMap: raise ValueError('Illegal nonbonded method for NonbondedForce') + isNoCut = False + if nonbondedMethod is app.NoCutoff: + isNoCut = True # Jax prms! for k in self.params.keys(): @@ -1385,7 +1388,7 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): r_cut = nonbondedCutoff.value_in_unit(unit.nanometer) else: r_cut = nonbondedCutoff - if "switchDistance" in args: + if "switchDistance" in args and args["switchDistance"] is not None: r_switch = args["switchDistance"] r_switch = r_switch if not unit.is_quantity( r_switch) else r_switch.value_in_unit(unit.nanometer) @@ -1400,7 +1403,8 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): map_exclusion, scale_exclusion, isSwitch=ifSwitch, - ifPBC=ifPBC) + isPBC=ifPBC, + isNoCut=isNoCut) ljenergy = ljforce.generate_get_energy() #coulforce = CoulombForce() diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 4fdc3c350..30440082a 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -19,7 +19,9 @@ def __init__(self, map_exclusion, scale_exclusion, isSwitch=False, - ifPBC=True) -> None: + isPBC=True, + isNoCut=False + ) -> None: self.isSwitch = isSwitch self.r_switch = r_switch @@ -29,20 +31,24 @@ def __init__(self, self.map_nbfix = map_nbfix self.map_exclusion = map_exclusion self.scale_exclusion = scale_exclusion - self.ifPBC = ifPBC + self.ifPBC = isPBC + self.ifNoCut = isNoCut def generate_get_energy(self): def get_LJ_energy(dr_vec, sig, eps, box): if self.ifPBC: dr_vec = v_pbc_shift(dr_vec, box, jnp.linalg.inv(box)) dr_norm = jnp.linalg.norm(dr_vec, axis=1) - dr_norm = dr_norm[dr_norm <= self.r_cut] + if not self.ifNoCut: + sig_use = sig[dr_norm <= self.r_cut] + eps_use = eps[dr_norm <= self.r_cut] + dr_norm = dr_norm[dr_norm <= self.r_cut] dr_inv = 1.0 / dr_norm - sig_dr = sig * dr_inv - sig_dr12 = jnp.power(sig_dr, 12) + sig_dr = sig_use * dr_inv sig_dr6 = jnp.power(sig_dr, 6) - E = 4 * eps * (sig_dr12 - sig_dr6) + sig_dr12 = jnp.power(sig_dr6, 2) + E = 4 * eps_use * (sig_dr12 - sig_dr6) if self.isSwitch: @@ -183,4 +189,4 @@ def refresh_calculator(self): Q = np.array([0.1, 0.1]) pme = CoulombForce(box, rc, ethresh) get_energy = pme.generate_get_energy() - E = get_energy(positions, box, pairs, Q, mScales) + E = get_energy(positions, box, pairs, Q, mScales) \ No newline at end of file From 56487060c0695ba0abb825222f840b283915930b Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 21 Mar 2022 10:35:10 +0800 Subject: [PATCH 52/72] fix(classical): fix misusing variables --- dmff/classical/inter.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 30440082a..635a791d6 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -40,15 +40,15 @@ def get_LJ_energy(dr_vec, sig, eps, box): dr_vec = v_pbc_shift(dr_vec, box, jnp.linalg.inv(box)) dr_norm = jnp.linalg.norm(dr_vec, axis=1) if not self.ifNoCut: - sig_use = sig[dr_norm <= self.r_cut] - eps_use = eps[dr_norm <= self.r_cut] + sig = sig[dr_norm <= self.r_cut] + eps = eps[dr_norm <= self.r_cut] dr_norm = dr_norm[dr_norm <= self.r_cut] dr_inv = 1.0 / dr_norm - sig_dr = sig_use * dr_inv + sig_dr = sig * dr_inv sig_dr6 = jnp.power(sig_dr, 6) sig_dr12 = jnp.power(sig_dr6, 2) - E = 4 * eps_use * (sig_dr12 - sig_dr6) + E = 4 * eps * (sig_dr12 - sig_dr6) if self.isSwitch: From 85d04ba42c0757db31fd53f2c21a43b29404e9e7 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 21 Mar 2022 11:37:22 +0800 Subject: [PATCH 53/72] feat(classical): add a testcase for two LJ molecules --- tests/data/lj2.pdb | 6 ++++++ tests/data/lj2.xml | 17 +++++++++++++++++ tests/test_classical.py | 6 +++--- 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 tests/data/lj2.pdb create mode 100644 tests/data/lj2.xml diff --git a/tests/data/lj2.pdb b/tests/data/lj2.pdb new file mode 100644 index 000000000..9dd3acb20 --- /dev/null +++ b/tests/data/lj2.pdb @@ -0,0 +1,6 @@ +HETATM 1 N1 LIG A 1 0.000 1.000 0.000 1.00 0.00 N +HETATM 2 N2 LIG A 1 1.000 0.000 1.000 1.00 0.00 N +HETATM 3 N1 LIG A 2 2.700 1.600 0.200 1.00 0.00 N +HETATM 4 N2 LIG A 2 3.700 0.600 1.200 1.00 0.00 N +CONECT 1 2 +CONECT 3 4 \ No newline at end of file diff --git a/tests/data/lj2.xml b/tests/data/lj2.xml new file mode 100644 index 000000000..3a14ae8b3 --- /dev/null +++ b/tests/data/lj2.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/test_classical.py b/tests/test_classical.py index b13041679..7ae613349 100644 --- a/tests/test_classical.py +++ b/tests/test_classical.py @@ -59,7 +59,7 @@ def test_periodic_torsion_force(self, pdb, prm, value): @pytest.mark.parametrize( "pdb, prm, value", [ - ('data/lj1.pdb', 'data/lj1.xml', 123) + ("data/lj2.pdb", "data/lj2.xml", -1.85001802444458) ] ) def test_lj_force(self, pdb, prm, value): @@ -72,7 +72,7 @@ def test_lj_force(self, pdb, prm, value): pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) npt.assert_allclose(pos, jnp.array([[0, 0.1, 0], [0.1, 0, 0.1]])) box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) - pairs = np.array([[0, 1]], dtype=int) + pairs = np.array([[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3]], dtype=int) ljE = h._potentials[0] - # energy = ljE(pos, box, pairs, h.getGenerators()[0].params) + energy = ljE(pos, box, pairs, h.getGenerators()[0].params) From c11b493b0335b77dd74a6983882070336c116844 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 21 Mar 2022 11:40:32 +0800 Subject: [PATCH 54/72] fix(classical): correct setting of LJ case --- tests/test_classical.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/test_classical.py b/tests/test_classical.py index 7ae613349..25b94884b 100644 --- a/tests/test_classical.py +++ b/tests/test_classical.py @@ -70,9 +70,8 @@ def test_lj_force(self, pdb, prm, value): constraints=None, removeCMMotion=False) pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) - npt.assert_allclose(pos, jnp.array([[0, 0.1, 0], [0.1, 0, 0.1]])) box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) pairs = np.array([[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3]], dtype=int) ljE = h._potentials[0] energy = ljE(pos, box, pairs, h.getGenerators()[0].params) - + npt.assert_almost_equal(energy, value, decimal=3) From 6df767f1a446ab12927bb03e0514fea93a8980f2 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 21 Mar 2022 11:49:08 +0800 Subject: [PATCH 55/72] feat(classical): add a testcase for large molecule (including 1-4) interactions --- tests/data/lj2.xml | 2 +- tests/data/lj3.pdb | 18 ++++++++++++++++++ tests/data/lj3.xml | 29 +++++++++++++++++++++++++++++ tests/test_classical.py | 24 ++++++++++++++++++++++++ 4 files changed, 72 insertions(+), 1 deletion(-) create mode 100644 tests/data/lj3.pdb create mode 100644 tests/data/lj3.xml diff --git a/tests/data/lj2.xml b/tests/data/lj2.xml index 3a14ae8b3..7694209d0 100644 --- a/tests/data/lj2.xml +++ b/tests/data/lj2.xml @@ -10,7 +10,7 @@ - + diff --git a/tests/data/lj3.pdb b/tests/data/lj3.pdb new file mode 100644 index 000000000..574cc00ea --- /dev/null +++ b/tests/data/lj3.pdb @@ -0,0 +1,18 @@ +HETATM 1 N1 LIG A 1 0.000 1.000 0.000 1.00 0.00 N +HETATM 2 N2 LIG A 1 1.000 0.000 0.000 1.00 0.00 N +HETATM 3 N3 LIG A 1 0.000 1.000 1.000 1.00 0.00 N +HETATM 4 N4 LIG A 1 1.000 0.000 1.000 1.00 0.00 N +HETATM 5 N5 LIG A 1 2.000 0.500 1.300 1.00 0.00 N +HETATM 6 N1 LIG A 2 2.000 1.300 -0.100 1.00 0.00 N +HETATM 7 N2 LIG A 2 3.000 0.400 0.000 1.00 0.00 N +HETATM 8 N3 LIG A 2 2.000 1.400 0.900 1.00 0.00 N +HETATM 9 N4 LIG A 2 3.000 0.300 0.900 1.00 0.00 N +HETATM 10 N5 LIG A 2 4.000 0.800 1.200 1.00 0.00 N +CONECT 1 2 +CONECT 2 3 +CONECT 3 4 +CONECT 4 5 +CONECT 6 7 +CONECT 7 8 +CONECT 8 9 +CONECT 9 10 \ No newline at end of file diff --git a/tests/data/lj3.xml b/tests/data/lj3.xml new file mode 100644 index 000000000..791e38847 --- /dev/null +++ b/tests/data/lj3.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/test_classical.py b/tests/test_classical.py index 25b94884b..a2b767494 100644 --- a/tests/test_classical.py +++ b/tests/test_classical.py @@ -75,3 +75,27 @@ def test_lj_force(self, pdb, prm, value): ljE = h._potentials[0] energy = ljE(pos, box, pairs, h.getGenerators()[0].params) npt.assert_almost_equal(energy, value, decimal=3) + + @pytest.mark.parametrize( + "pdb, prm, value", + [ + ("data/lj3.pdb", "data/lj3.xml", -2.001220464706421) + ] + ) + def test_lj_large_force(self, pdb, prm, value): + pdb = app.PDBFile(pdb) + h = Hamiltonian(prm) + system = h.createPotential(pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False) + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) + pairs = [] + for ii in range(10): + for jj in range(ii+1, 10): + pairs.append((ii, jj)) + pairs = np.array(pairs, dtype=int) + ljE = h._potentials[0] + energy = ljE(pos, box, pairs, h.getGenerators()[0].params) + npt.assert_almost_equal(energy, value, decimal=3) \ No newline at end of file From dac3b8ab7b69521c551e8fa525171cffc9d58036 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Sun, 27 Mar 2022 11:05:37 +0800 Subject: [PATCH 56/72] feat(classical): Add support for reaction-field and no-cutoff in Coulomb potential --- dmff/api.py | 45 ++++++++++------ dmff/classical/inter.py | 115 +++++++++++++++++++++++++++++++++++++++- 2 files changed, 144 insertions(+), 16 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index 8141c46c7..64a28fc95 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -17,7 +17,7 @@ from jax import grad import linecache import itertools -from .classical.inter import CoulombForce, LennardJonesForce +from .classical.inter import CoulombForce, LennardJonesForce, CoulNoCutoffForce, CoulReactionFieldForce import sys @@ -1238,11 +1238,11 @@ class NonbondJaxGenerator: SCALETOL = 1e-5 - def __init__(self, hamiltionian): + def __init__(self, hamiltionian, coulomb14scale, lj14scale): self.ff = hamiltionian - # self.coulomb14scale = coulomb14scale - # self.lj14scale = lj14scale + self.coulomb14scale = coulomb14scale + self.lj14scale = lj14scale # self.useDispersionCorrection = useDispersionCorrection #self.params = app.ForceField._AtomTypeParameters(hamiltionian, 'NonbondedForce', 'Atom', ('charge', 'sigma', 'epsilon')) self.params = { @@ -1276,8 +1276,8 @@ def parseElement(element, ff): if len(existing) == 0: generator = NonbondJaxGenerator( ff, - # float(element.attrib['coulomb14scale']), - # float(element.attrib['lj14scale']), + float(element.attrib['coulomb14scale']), + float(element.attrib['lj14scale']), # useDispersionCorrection ) ff.registerGenerator(generator) @@ -1373,16 +1373,20 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): colv_map = build_covalent_map(data, 6) map_exclusion = [] - scale_exclusion = [] - mscale = {1: 0., 2: 0., 3: 0.5} + scale_lj_exclusion = [] + scale_coul_exclusion = [] + mscale_lj = {1: 0., 2: 0., 3: self.lj14scale} + mscale_coul = {1: 0., 2: 0., 3: self.lj14scale} for ii in range(colv_map.shape[0]): for jj in range(ii + 1, colv_map.shape[1]): if colv_map[ii, jj] > 0 and colv_map[ii, jj] < 4: map_exclusion.append((ii, jj)) - scale_exclusion.append(1. - mscale[colv_map[ii, jj]]) + scale_lj_exclusion.append(1. - mscale_lj[colv_map[ii, jj]]) + scale_coul_exclusion.append(1. - mscale_coul[colv_map[ii, jj]]) map_exclusion = np.array(map_exclusion, dtype=int) - scale_exclusion = np.array(scale_exclusion) + scale_lj_exclusion = np.array(scale_lj_exclusion) + scale_coul_exclusion = np.array(scale_coul_exclusion) if unit.is_quantity(nonbondedCutoff): r_cut = nonbondedCutoff.value_in_unit(unit.nanometer) @@ -1401,13 +1405,24 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): map_lj, map_nbfix, map_exclusion, - scale_exclusion, + scale_lj_exclusion, isSwitch=ifSwitch, isPBC=ifPBC, isNoCut=isNoCut) ljenergy = ljforce.generate_get_energy() - - #coulforce = CoulombForce() + + if nonbondedMethod is not app.PME: + # do not use PME + if nonbondedMethod in [app.CutoffPeriodic, app.CutoffNonPeriodic]: + # use Reaction Field + coulforce = CoulReactionFieldForce(r_cut, map_charge, map_exclusion, scale_coul_exclusion, isPBC=ifPBC) + if nonbondedMethod is app.NoCutoff: + # use NoCutoff + coulforce = CoulNoCutoffForce(map_charge, map_exclusion, scale_coul_exclusion) + else: + #coulforce = CoulombForce() + coulforce = CoulReactionFieldForce(r_cut, map_charge, map_exclusion, scale_coul_exclusion, isPBC=ifPBC) # use it for test + coulenergy = coulforce.generate_get_energy() def potential_fn(positions, box, pairs, params): @@ -1416,9 +1431,9 @@ def potential_fn(positions, box, pairs, params): ljE = ljenergy(positions, box, pairs, params["epsilon"], params["sigma"], params["epsfix"], params["sigfix"]) - #coulE = coulforce.get_energy(positions, box, pairs) + coulE = coulenergy(positions, box, pairs, params["charge"]) - return ljE # + coulE + return ljE + coulE self._jaxPotential = potential_fn diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 635a791d6..05b031f6b 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -1,4 +1,3 @@ -from mmap import MAP_EXECUTABLE import sys import jax.numpy as jnp from dmff.admp.pme import energy_pme, setup_ewald_parameters @@ -10,6 +9,8 @@ from dmff.admp.recip import generate_pme_recip, Ck_1 +ONE_4PI_EPS0 = 138.935456 + class LennardJonesForce: def __init__(self, r_switch, @@ -101,6 +102,118 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): return get_energy +class CoulNoCutoffForce: + # E=\frac{{q}_{1}{q}_{2}}{4\pi\epsilon_0\epsilon_1 r} + + def __init__(self, + map_prm, + map_exclusion, + scale_exclusion, + epsilon_1 = 1.0 + ) -> None: + + self.eps_1 = epsilon_1 + self.map_prm = map_prm + self.map_exclusion = map_exclusion + self.scale_exclusion = scale_exclusion + + def generate_get_energy(self): + def get_coul_energy(dr_vec, chrgprod, box): + dr_norm = jnp.linalg.norm(dr_vec, axis=1) + + dr_inv = 1.0 / dr_norm + E = chrgprod * ONE_4PI_EPS0 / self.eps_1 * dr_inv + + return E + + def get_energy(positions, box, pairs, charges): + chrg_map0 = self.map_prm[pairs[:,0]] + chrg_map1 = self.map_prm[pairs[:,1]] + charge0 = charges[chrg_map0] + charge1 = charges[chrg_map1] + chrgprod = charge0 * charge1 + dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] + + E_inter = get_coul_energy(dr_vec, chrgprod, box) + + # exclusion + dr_excl_vec = positions[self.map_exclusion[:, 0]] - positions[ + self.map_exclusion[:, 1]] + excl_map0 = self.map_prm[self.map_exclusion[:, 0]] + excl_map1 = self.map_prm[self.map_exclusion[:, 1]] + chrg0_excl = charges[excl_map0] + chrg1_excl = charges[excl_map1] + chrgprod_excl = chrg0_excl * chrg1_excl + + E_excl = get_coul_energy(dr_excl_vec, chrgprod_excl, box) + E_excl = self.scale_exclusion * E_excl + + return jnp.sum(E_inter) - jnp.sum(E_excl) + + return get_energy + +class CoulReactionFieldForce: + # E=\frac{{q}_{1}{q}_{2}}{4\pi\epsilon_0\epsilon_1}\left(\frac{1}{r}+{k}_{\mathit{rf}}{r}^{2}-{c}_{\mathit{rf}}\right) + def __init__(self, + r_cut, + map_prm, + map_exclusion, + scale_exclusion, + epsilon_1 = 1.0, + epsilon_solv = 78.5, + isPBC=True + ) -> None: + + self.r_cut = r_cut + self.krf = (1. / r_cut ** 3) * (epsilon_solv - 1) / (2. * epsilon_solv + 1) + self.crf = (1. / r_cut) * 3. * epsilon_solv / (2. * epsilon_solv + 1) + self.exp_solv = epsilon_solv + self.eps_1 = epsilon_1 + self.map_prm = map_prm + self.map_exclusion = map_exclusion + self.scale_exclusion = scale_exclusion + self.ifPBC = isPBC + + def generate_get_energy(self): + def get_rf_energy(dr_vec, chrgprod, box): + if self.ifPBC: + dr_vec = v_pbc_shift(dr_vec, box, jnp.linalg.inv(box)) + dr_norm = jnp.linalg.norm(dr_vec, axis=1) + chrgprod = chrgprod[dr_norm <= self.r_cut] + dr_norm = dr_norm[dr_norm <= self.r_cut] + + dr_inv = 1.0 / dr_norm + E = chrgprod * ONE_4PI_EPS0 / self.eps_1 * (dr_inv + self.krf * dr_norm * dr_norm - self.crf) + + return E + + def get_energy(positions, box, pairs, charges): + chrg_map0 = self.map_prm[pairs[:,0]] + chrg_map1 = self.map_prm[pairs[:,1]] + charge0 = charges[chrg_map0] + charge1 = charges[chrg_map1] + chrgprod = charge0 * charge1 + dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] + + E_inter = get_rf_energy(dr_vec, chrgprod, box) + + # exclusion + dr_excl_vec = positions[self.map_exclusion[:, 0]] - positions[ + self.map_exclusion[:, 1]] + excl_map0 = self.map_prm[self.map_exclusion[:, 0]] + excl_map1 = self.map_prm[self.map_exclusion[:, 1]] + chrg0_excl = charges[excl_map0] + chrg1_excl = charges[excl_map1] + chrgprod_excl = chrg0_excl * chrg1_excl + + E_excl = get_rf_energy(dr_excl_vec, chrgprod_excl, box) + E_excl = self.scale_exclusion * E_excl + + return jnp.sum(E_inter) - jnp.sum(E_excl) + + return get_energy + + class CoulombForce: def __init__(self, box, rc, ethresh): From 075b615814b529ba7dfc663cf38722c0a61890ea Mon Sep 17 00:00:00 2001 From: WangXinyan940 <44082181+WangXinyan940@users.noreply.github.com> Date: Sun, 27 Mar 2022 11:07:46 +0800 Subject: [PATCH 57/72] feat(classical): Support more Coulomb potentials (#9) * fix(classical): fix misusing variables * feat(classical): add a testcase for two LJ molecules * fix(classical): correct setting of LJ case * feat(classical): add a testcase for large molecule (including 1-4) interactions * feat(classical): Add support for reaction-field and no-cutoff in Coulomb potential --- dmff/api.py | 45 ++++++++++----- dmff/classical/inter.py | 123 ++++++++++++++++++++++++++++++++++++++-- tests/data/lj2.pdb | 6 ++ tests/data/lj2.xml | 17 ++++++ tests/data/lj3.pdb | 18 ++++++ tests/data/lj3.xml | 29 ++++++++++ tests/test_classical.py | 33 +++++++++-- 7 files changed, 246 insertions(+), 25 deletions(-) create mode 100644 tests/data/lj2.pdb create mode 100644 tests/data/lj2.xml create mode 100644 tests/data/lj3.pdb create mode 100644 tests/data/lj3.xml diff --git a/dmff/api.py b/dmff/api.py index 8141c46c7..64a28fc95 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -17,7 +17,7 @@ from jax import grad import linecache import itertools -from .classical.inter import CoulombForce, LennardJonesForce +from .classical.inter import CoulombForce, LennardJonesForce, CoulNoCutoffForce, CoulReactionFieldForce import sys @@ -1238,11 +1238,11 @@ class NonbondJaxGenerator: SCALETOL = 1e-5 - def __init__(self, hamiltionian): + def __init__(self, hamiltionian, coulomb14scale, lj14scale): self.ff = hamiltionian - # self.coulomb14scale = coulomb14scale - # self.lj14scale = lj14scale + self.coulomb14scale = coulomb14scale + self.lj14scale = lj14scale # self.useDispersionCorrection = useDispersionCorrection #self.params = app.ForceField._AtomTypeParameters(hamiltionian, 'NonbondedForce', 'Atom', ('charge', 'sigma', 'epsilon')) self.params = { @@ -1276,8 +1276,8 @@ def parseElement(element, ff): if len(existing) == 0: generator = NonbondJaxGenerator( ff, - # float(element.attrib['coulomb14scale']), - # float(element.attrib['lj14scale']), + float(element.attrib['coulomb14scale']), + float(element.attrib['lj14scale']), # useDispersionCorrection ) ff.registerGenerator(generator) @@ -1373,16 +1373,20 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): colv_map = build_covalent_map(data, 6) map_exclusion = [] - scale_exclusion = [] - mscale = {1: 0., 2: 0., 3: 0.5} + scale_lj_exclusion = [] + scale_coul_exclusion = [] + mscale_lj = {1: 0., 2: 0., 3: self.lj14scale} + mscale_coul = {1: 0., 2: 0., 3: self.lj14scale} for ii in range(colv_map.shape[0]): for jj in range(ii + 1, colv_map.shape[1]): if colv_map[ii, jj] > 0 and colv_map[ii, jj] < 4: map_exclusion.append((ii, jj)) - scale_exclusion.append(1. - mscale[colv_map[ii, jj]]) + scale_lj_exclusion.append(1. - mscale_lj[colv_map[ii, jj]]) + scale_coul_exclusion.append(1. - mscale_coul[colv_map[ii, jj]]) map_exclusion = np.array(map_exclusion, dtype=int) - scale_exclusion = np.array(scale_exclusion) + scale_lj_exclusion = np.array(scale_lj_exclusion) + scale_coul_exclusion = np.array(scale_coul_exclusion) if unit.is_quantity(nonbondedCutoff): r_cut = nonbondedCutoff.value_in_unit(unit.nanometer) @@ -1401,13 +1405,24 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): map_lj, map_nbfix, map_exclusion, - scale_exclusion, + scale_lj_exclusion, isSwitch=ifSwitch, isPBC=ifPBC, isNoCut=isNoCut) ljenergy = ljforce.generate_get_energy() - - #coulforce = CoulombForce() + + if nonbondedMethod is not app.PME: + # do not use PME + if nonbondedMethod in [app.CutoffPeriodic, app.CutoffNonPeriodic]: + # use Reaction Field + coulforce = CoulReactionFieldForce(r_cut, map_charge, map_exclusion, scale_coul_exclusion, isPBC=ifPBC) + if nonbondedMethod is app.NoCutoff: + # use NoCutoff + coulforce = CoulNoCutoffForce(map_charge, map_exclusion, scale_coul_exclusion) + else: + #coulforce = CoulombForce() + coulforce = CoulReactionFieldForce(r_cut, map_charge, map_exclusion, scale_coul_exclusion, isPBC=ifPBC) # use it for test + coulenergy = coulforce.generate_get_energy() def potential_fn(positions, box, pairs, params): @@ -1416,9 +1431,9 @@ def potential_fn(positions, box, pairs, params): ljE = ljenergy(positions, box, pairs, params["epsilon"], params["sigma"], params["epsfix"], params["sigfix"]) - #coulE = coulforce.get_energy(positions, box, pairs) + coulE = coulenergy(positions, box, pairs, params["charge"]) - return ljE # + coulE + return ljE + coulE self._jaxPotential = potential_fn diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 30440082a..05b031f6b 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -1,4 +1,3 @@ -from mmap import MAP_EXECUTABLE import sys import jax.numpy as jnp from dmff.admp.pme import energy_pme, setup_ewald_parameters @@ -10,6 +9,8 @@ from dmff.admp.recip import generate_pme_recip, Ck_1 +ONE_4PI_EPS0 = 138.935456 + class LennardJonesForce: def __init__(self, r_switch, @@ -40,15 +41,15 @@ def get_LJ_energy(dr_vec, sig, eps, box): dr_vec = v_pbc_shift(dr_vec, box, jnp.linalg.inv(box)) dr_norm = jnp.linalg.norm(dr_vec, axis=1) if not self.ifNoCut: - sig_use = sig[dr_norm <= self.r_cut] - eps_use = eps[dr_norm <= self.r_cut] + sig = sig[dr_norm <= self.r_cut] + eps = eps[dr_norm <= self.r_cut] dr_norm = dr_norm[dr_norm <= self.r_cut] dr_inv = 1.0 / dr_norm - sig_dr = sig_use * dr_inv + sig_dr = sig * dr_inv sig_dr6 = jnp.power(sig_dr, 6) sig_dr12 = jnp.power(sig_dr6, 2) - E = 4 * eps_use * (sig_dr12 - sig_dr6) + E = 4 * eps * (sig_dr12 - sig_dr6) if self.isSwitch: @@ -101,6 +102,118 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): return get_energy +class CoulNoCutoffForce: + # E=\frac{{q}_{1}{q}_{2}}{4\pi\epsilon_0\epsilon_1 r} + + def __init__(self, + map_prm, + map_exclusion, + scale_exclusion, + epsilon_1 = 1.0 + ) -> None: + + self.eps_1 = epsilon_1 + self.map_prm = map_prm + self.map_exclusion = map_exclusion + self.scale_exclusion = scale_exclusion + + def generate_get_energy(self): + def get_coul_energy(dr_vec, chrgprod, box): + dr_norm = jnp.linalg.norm(dr_vec, axis=1) + + dr_inv = 1.0 / dr_norm + E = chrgprod * ONE_4PI_EPS0 / self.eps_1 * dr_inv + + return E + + def get_energy(positions, box, pairs, charges): + chrg_map0 = self.map_prm[pairs[:,0]] + chrg_map1 = self.map_prm[pairs[:,1]] + charge0 = charges[chrg_map0] + charge1 = charges[chrg_map1] + chrgprod = charge0 * charge1 + dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] + + E_inter = get_coul_energy(dr_vec, chrgprod, box) + + # exclusion + dr_excl_vec = positions[self.map_exclusion[:, 0]] - positions[ + self.map_exclusion[:, 1]] + excl_map0 = self.map_prm[self.map_exclusion[:, 0]] + excl_map1 = self.map_prm[self.map_exclusion[:, 1]] + chrg0_excl = charges[excl_map0] + chrg1_excl = charges[excl_map1] + chrgprod_excl = chrg0_excl * chrg1_excl + + E_excl = get_coul_energy(dr_excl_vec, chrgprod_excl, box) + E_excl = self.scale_exclusion * E_excl + + return jnp.sum(E_inter) - jnp.sum(E_excl) + + return get_energy + +class CoulReactionFieldForce: + # E=\frac{{q}_{1}{q}_{2}}{4\pi\epsilon_0\epsilon_1}\left(\frac{1}{r}+{k}_{\mathit{rf}}{r}^{2}-{c}_{\mathit{rf}}\right) + def __init__(self, + r_cut, + map_prm, + map_exclusion, + scale_exclusion, + epsilon_1 = 1.0, + epsilon_solv = 78.5, + isPBC=True + ) -> None: + + self.r_cut = r_cut + self.krf = (1. / r_cut ** 3) * (epsilon_solv - 1) / (2. * epsilon_solv + 1) + self.crf = (1. / r_cut) * 3. * epsilon_solv / (2. * epsilon_solv + 1) + self.exp_solv = epsilon_solv + self.eps_1 = epsilon_1 + self.map_prm = map_prm + self.map_exclusion = map_exclusion + self.scale_exclusion = scale_exclusion + self.ifPBC = isPBC + + def generate_get_energy(self): + def get_rf_energy(dr_vec, chrgprod, box): + if self.ifPBC: + dr_vec = v_pbc_shift(dr_vec, box, jnp.linalg.inv(box)) + dr_norm = jnp.linalg.norm(dr_vec, axis=1) + chrgprod = chrgprod[dr_norm <= self.r_cut] + dr_norm = dr_norm[dr_norm <= self.r_cut] + + dr_inv = 1.0 / dr_norm + E = chrgprod * ONE_4PI_EPS0 / self.eps_1 * (dr_inv + self.krf * dr_norm * dr_norm - self.crf) + + return E + + def get_energy(positions, box, pairs, charges): + chrg_map0 = self.map_prm[pairs[:,0]] + chrg_map1 = self.map_prm[pairs[:,1]] + charge0 = charges[chrg_map0] + charge1 = charges[chrg_map1] + chrgprod = charge0 * charge1 + dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] + + E_inter = get_rf_energy(dr_vec, chrgprod, box) + + # exclusion + dr_excl_vec = positions[self.map_exclusion[:, 0]] - positions[ + self.map_exclusion[:, 1]] + excl_map0 = self.map_prm[self.map_exclusion[:, 0]] + excl_map1 = self.map_prm[self.map_exclusion[:, 1]] + chrg0_excl = charges[excl_map0] + chrg1_excl = charges[excl_map1] + chrgprod_excl = chrg0_excl * chrg1_excl + + E_excl = get_rf_energy(dr_excl_vec, chrgprod_excl, box) + E_excl = self.scale_exclusion * E_excl + + return jnp.sum(E_inter) - jnp.sum(E_excl) + + return get_energy + + class CoulombForce: def __init__(self, box, rc, ethresh): diff --git a/tests/data/lj2.pdb b/tests/data/lj2.pdb new file mode 100644 index 000000000..9dd3acb20 --- /dev/null +++ b/tests/data/lj2.pdb @@ -0,0 +1,6 @@ +HETATM 1 N1 LIG A 1 0.000 1.000 0.000 1.00 0.00 N +HETATM 2 N2 LIG A 1 1.000 0.000 1.000 1.00 0.00 N +HETATM 3 N1 LIG A 2 2.700 1.600 0.200 1.00 0.00 N +HETATM 4 N2 LIG A 2 3.700 0.600 1.200 1.00 0.00 N +CONECT 1 2 +CONECT 3 4 \ No newline at end of file diff --git a/tests/data/lj2.xml b/tests/data/lj2.xml new file mode 100644 index 000000000..7694209d0 --- /dev/null +++ b/tests/data/lj2.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/lj3.pdb b/tests/data/lj3.pdb new file mode 100644 index 000000000..574cc00ea --- /dev/null +++ b/tests/data/lj3.pdb @@ -0,0 +1,18 @@ +HETATM 1 N1 LIG A 1 0.000 1.000 0.000 1.00 0.00 N +HETATM 2 N2 LIG A 1 1.000 0.000 0.000 1.00 0.00 N +HETATM 3 N3 LIG A 1 0.000 1.000 1.000 1.00 0.00 N +HETATM 4 N4 LIG A 1 1.000 0.000 1.000 1.00 0.00 N +HETATM 5 N5 LIG A 1 2.000 0.500 1.300 1.00 0.00 N +HETATM 6 N1 LIG A 2 2.000 1.300 -0.100 1.00 0.00 N +HETATM 7 N2 LIG A 2 3.000 0.400 0.000 1.00 0.00 N +HETATM 8 N3 LIG A 2 2.000 1.400 0.900 1.00 0.00 N +HETATM 9 N4 LIG A 2 3.000 0.300 0.900 1.00 0.00 N +HETATM 10 N5 LIG A 2 4.000 0.800 1.200 1.00 0.00 N +CONECT 1 2 +CONECT 2 3 +CONECT 3 4 +CONECT 4 5 +CONECT 6 7 +CONECT 7 8 +CONECT 8 9 +CONECT 9 10 \ No newline at end of file diff --git a/tests/data/lj3.xml b/tests/data/lj3.xml new file mode 100644 index 000000000..791e38847 --- /dev/null +++ b/tests/data/lj3.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/test_classical.py b/tests/test_classical.py index b13041679..a2b767494 100644 --- a/tests/test_classical.py +++ b/tests/test_classical.py @@ -59,7 +59,7 @@ def test_periodic_torsion_force(self, pdb, prm, value): @pytest.mark.parametrize( "pdb, prm, value", [ - ('data/lj1.pdb', 'data/lj1.xml', 123) + ("data/lj2.pdb", "data/lj2.xml", -1.85001802444458) ] ) def test_lj_force(self, pdb, prm, value): @@ -70,9 +70,32 @@ def test_lj_force(self, pdb, prm, value): constraints=None, removeCMMotion=False) pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) - npt.assert_allclose(pos, jnp.array([[0, 0.1, 0], [0.1, 0, 0.1]])) box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) - pairs = np.array([[0, 1]], dtype=int) + pairs = np.array([[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3]], dtype=int) ljE = h._potentials[0] - # energy = ljE(pos, box, pairs, h.getGenerators()[0].params) - + energy = ljE(pos, box, pairs, h.getGenerators()[0].params) + npt.assert_almost_equal(energy, value, decimal=3) + + @pytest.mark.parametrize( + "pdb, prm, value", + [ + ("data/lj3.pdb", "data/lj3.xml", -2.001220464706421) + ] + ) + def test_lj_large_force(self, pdb, prm, value): + pdb = app.PDBFile(pdb) + h = Hamiltonian(prm) + system = h.createPotential(pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False) + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) + pairs = [] + for ii in range(10): + for jj in range(ii+1, 10): + pairs.append((ii, jj)) + pairs = np.array(pairs, dtype=int) + ljE = h._potentials[0] + energy = ljE(pos, box, pairs, h.getGenerators()[0].params) + npt.assert_almost_equal(energy, value, decimal=3) \ No newline at end of file From 6eed9e74d2bdca651833ca5135d8d3c394bd6c92 Mon Sep 17 00:00:00 2001 From: Roy Kid Date: Sun, 27 Mar 2022 15:21:12 +0800 Subject: [PATCH 58/72] imporve colvalent_map support --- dmff/api.py | 33 +++------------------------------ examples/classical/test_xml.py | 21 ++++++++++++++------- 2 files changed, 17 insertions(+), 37 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index a7daeaf0a..bed3dba42 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -1259,18 +1259,11 @@ def __init__(self, hamiltionian): def registerAtom(self, atom): # use types in nb cards or resname+atomname in residue cards types = self.ff._findAtomTypes(atom, 1) -<<<<<<< HEAD self.ljtypes.append(types) - - for key in ["sigma", "epsilon", "charge"]: # load xml params as ususal, - self.params[key].append(atom[key]) # cover them by reading residue info later -======= - self.types.append(types) for key in ["sigma", "epsilon", "charge"]: if key not in self.useAttributeFromResidue: self.params[key].append(atom[key]) ->>>>>>> e828858239ffe838138841a7162bc9226b67b5ab @staticmethod def parseElement(element, ff): @@ -1333,12 +1326,12 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): # load LJ from types map_lj = [] for atom in data.atoms: - types = data.atomType[atom] - ifFound = False + types = data.atomType.get(atom, TypeError) + ifFound=False for ntp, tp in enumerate(self.ljtypes): if types in tp: - ifFound = True map_lj.append(ntp) + ifFound=True break if not ifFound: raise mm.OpenMMException( @@ -1369,9 +1362,6 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): map_charge = map_lj colv_map = build_covalent_map(data, 6) -<<<<<<< HEAD - -======= map_exclusion = [] scale_exclusion = [] mscale = {1: 0., 2: 0., 3: 0.5} @@ -1382,7 +1372,6 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): scale_exclusion.append(1. - mscale[colv_map[ii, jj]]) scale_exclusion = np.array(scale_exclusion) ->>>>>>> e828858239ffe838138841a7162bc9226b67b5ab if unit.is_quantity(nonbondedCutoff): r_cut = nonbondedCutoff.value_in_unit(unit.nanometer) else: @@ -1395,21 +1384,6 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): else: r_switch = r_cut ifSwitch = False -<<<<<<< HEAD - ljforce = LennardJonesForce(r_switch, r_cut, map_lj, [], colv_map, ifSwitch=ifSwitch, ifPBC=ifPBC) - coulforce = CoulombForce() - - def potential_fn(positions, box, pairs, params): - - - - - ljE = ljforce.get_energy(positions, box, pairs) - coulE = coulforce.get_energy(positions, box, pairs) - - return ljE + coulE - -======= ljforce = LennardJonesForce(r_switch, r_cut, map_lj, [], @@ -1430,7 +1404,6 @@ def potential_fn(positions, box, pairs, params): return ljE # + coulE ->>>>>>> e828858239ffe838138841a7162bc9226b67b5ab self._jaxPotential = potential_fn def getJaxPotential(self): diff --git a/examples/classical/test_xml.py b/examples/classical/test_xml.py index 1598a73ad..e0e6c2912 100644 --- a/examples/classical/test_xml.py +++ b/examples/classical/test_xml.py @@ -2,9 +2,10 @@ import openmm.app as app import openmm.unit as unit import numpy as np +from jax_md import space, partition import sys sys.path.append('/home/lijichen/work/DMFF/') - +from dmff.api import Hamiltonian def forcegroupify(system): forcegroups = {} @@ -47,23 +48,29 @@ def getEnergyDecomposition(context, forcegroups): print() print("Jax Energy") - from dmff.api import Hamiltonian + h = Hamiltonian("gaff-2.11.xml", "lig-prm.xml") system = h.createPotential(pdb.topology, nonbondedMethod=app.NoCutoff, constraints=None, removeCMMotion=False) - pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) box = np.array([ [10.0, 0.0, 0.0], [ 0.0, 10.0, 0.0], [ 0.0, 0.0, 10.0] ]) - pairs = np.array([[]], dtype=int) + + # neighbor list + rc = 4 + displacement_fn, shift_fn = space.periodic_general(box, fractional_coordinates=False) + neighbor_list_fn = partition.neighbor_list(displacement_fn, box, rc, 0, format=partition.OrderedSparse) + nbr = neighbor_list_fn.allocate(positions) + pairs = nbr.idx.T bondE = h._potentials[0] - print("Bond:", bondE(pos, box, pairs, h.getGenerators()[0].params)) + print("Bond:", bondE(positions, box, pairs, h.getGenerators()[0].params)) angleE = h._potentials[1] - print("Angle:", angleE(pos, box, pairs, h.getGenerators()[1].params)) + print("Angle:", angleE(positions, box, pairs, h.getGenerators()[1].params)) dihE = h._potentials[2] - print("Torsion:", dihE(pos, box, pairs, h.getGenerators()[2].params)) + print("Torsion:", dihE(positions, box, pairs, h.getGenerators()[2].params)) From ed1d47fa37ed94967a2435b3f4ad020cd88d1728 Mon Sep 17 00:00:00 2001 From: WangXinyan940 <44082181+WangXinyan940@users.noreply.github.com> Date: Sun, 27 Mar 2022 23:03:06 +0800 Subject: [PATCH 59/72] Update PME code (#8) * get a preliminary result of point charge pme caclulation * correct gradient of coul * review api.py code * feat(classical): Support more Coulomb potentials (#9) * fix(classical): fix misusing variables * feat(classical): add a testcase for two LJ molecules * fix(classical): correct setting of LJ case * feat(classical): add a testcase for large molecule (including 1-4) interactions * feat(classical): Add support for reaction-field and no-cutoff in Coulomb potential * imporve colvalent_map support Co-authored-by: Roy Kid --- .gitignore | 1 + dmff/api.py | 22 +++++++++++++++++----- dmff/classical/inter.py | 21 ++++++++++++++++++--- examples/classical/test_xml.py | 24 +++++++++++++++++------- 4 files changed, 53 insertions(+), 15 deletions(-) diff --git a/.gitignore b/.gitignore index bfe95c119..21e9619fe 100644 --- a/.gitignore +++ b/.gitignore @@ -782,3 +782,4 @@ FodyWeavers.xsd ### VisualStudio Patch ### # Additional files built by Visual Studio +.vscode/** \ No newline at end of file diff --git a/dmff/api.py b/dmff/api.py index 64a28fc95..e053bc2a3 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -1254,6 +1254,10 @@ def __init__(self, hamiltionian, coulomb14scale, lj14scale): } self.types = [] self.useAttributeFromResidue = [] + + # pre-configure constants + self.ethresh = 5e-4 + def registerAtom(self, atom): # use types in nb cards or resname+atomname in residue cards @@ -1283,6 +1287,7 @@ def parseElement(element, ff): ff.registerGenerator(generator) else: generator = existing[0] + # if (abs(generator.coulomb14scale - float(element.attrib['coulomb14scale'])) > NonbondedGenerator.SCALETOL # or abs(generator.lj14scale - float(element.attrib['lj14scale'])) > NonbondedGenerator.SCALETOL # ): @@ -1303,7 +1308,7 @@ def parseElement(element, ff): for atom in element.findall("Atom"): generator.registerAtom(atom.attrib) - def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): + def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): methodMap = { app.NoCutoff: "NoCutoff", @@ -1316,6 +1321,10 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): isNoCut = False if nonbondedMethod is app.NoCutoff: isNoCut = True + + # here box is only used to setup ewald parameters, no need to be differentiable + a, b, c = system.getDefaultPeriodicBoxVectors() + box = jnp.array([a._value, b._value, c._value]) * 10 # Jax prms! for k in self.params.keys(): @@ -1335,8 +1344,8 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): ifFound = False for ntp, tp in enumerate(self.types): if types in tp: - ifFound = True map_lj.append(ntp) + ifFound=True break if not ifFound: raise mm.OpenMMException( @@ -1420,8 +1429,9 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): # use NoCutoff coulforce = CoulNoCutoffForce(map_charge, map_exclusion, scale_coul_exclusion) else: - #coulforce = CoulombForce() - coulforce = CoulReactionFieldForce(r_cut, map_charge, map_exclusion, scale_coul_exclusion, isPBC=ifPBC) # use it for test + coulforce = CoulombForce(box, r_cut, self.ethresh, colv_map) + + coulenergy = coulforce.generate_get_energy() def potential_fn(positions, box, pairs, params): @@ -1431,7 +1441,9 @@ def potential_fn(positions, box, pairs, params): ljE = ljenergy(positions, box, pairs, params["epsilon"], params["sigma"], params["epsfix"], params["sigfix"]) - coulE = coulenergy(positions, box, pairs, params["charge"]) + + coulE = coulenergy(positions, box, pairs, params["charge"], params['mScales']) + return ljE + coulE diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 05b031f6b..2f73fbf05 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -1,4 +1,7 @@ import sys + +sys.path.append('/home/lijichen/work/DMFF') +from dmff.admp.pairwise import distribute_scalar import jax.numpy as jnp from dmff.admp.pme import energy_pme, setup_ewald_parameters from dmff.admp.recip import generate_pme_recip @@ -59,7 +62,14 @@ def get_LJ_energy(dr_vec, sig, eps, box): return E - def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): + covalent_map = self.covalent_map + + def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, mScales): + + nbonds = covalent_map[pairs[:, 0], pairs[:, 1]] + indices = nbonds - 1 + mscales = distribute_scalar(mScales, indices) + eps_m1 = jnp.repeat(epsilon.reshape((-1, 1)), epsilon.shape[0], axis=1) @@ -215,13 +225,17 @@ def get_energy(positions, box, pairs, charges): class CoulombForce: - def __init__(self, box, rc, ethresh): + def __init__(self, box, rc, ethresh, covalent_map): self.kappa, self.K1, self.K2, self.K3 = setup_ewald_parameters( rc, ethresh, box) + + self.covalent_map = covalent_map + self.refresh_calculator() def generate_get_energy(self): def get_energy(positions, box, pairs, Q, mScales): + return energy_pme(positions, box, pairs, Q, None, None, None, mScales, None, None, self.covalent_map, None, self.pme_recip, self.kappa, self.K1, self.K2, @@ -254,6 +268,7 @@ def refresh_calculator(self): box = jnp.array([[10, 0, 0], [0, 10, 0], [0, 0, 10]]) pairs = np.array([[0, 1], [0, 2], [1, 2], [1, 3], [2, 3]]) + covalent_map = np.array([[0, 1, 1, 0], [1, 0, 1, 1], [1, 1, 0, 1], [0, 1, 1, 0]]) # NOTE:not sure pairs_ref = np.array([[0, 2], [0, 3], [1, 2], [1, 3]]) epsilon = jnp.array([1., 2.]) @@ -302,4 +317,4 @@ def refresh_calculator(self): Q = np.array([0.1, 0.1]) pme = CoulombForce(box, rc, ethresh) get_energy = pme.generate_get_energy() - E = get_energy(positions, box, pairs, Q, mScales) \ No newline at end of file + E = get_energy(positions, box, pairs, Q, mScales) diff --git a/examples/classical/test_xml.py b/examples/classical/test_xml.py index aa1b61f83..e0e6c2912 100644 --- a/examples/classical/test_xml.py +++ b/examples/classical/test_xml.py @@ -2,7 +2,10 @@ import openmm.app as app import openmm.unit as unit import numpy as np - +from jax_md import space, partition +import sys +sys.path.append('/home/lijichen/work/DMFF/') +from dmff.api import Hamiltonian def forcegroupify(system): forcegroups = {} @@ -44,23 +47,30 @@ def getEnergyDecomposition(context, forcegroups): print() print("Jax Energy") - from dmff.api import Hamiltonian + + h = Hamiltonian("gaff-2.11.xml", "lig-prm.xml") system = h.createPotential(pdb.topology, nonbondedMethod=app.NoCutoff, constraints=None, removeCMMotion=False) - pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + positions = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) box = np.array([ [10.0, 0.0, 0.0], [ 0.0, 10.0, 0.0], [ 0.0, 0.0, 10.0] ]) - pairs = np.array([[]], dtype=int) + + # neighbor list + rc = 4 + displacement_fn, shift_fn = space.periodic_general(box, fractional_coordinates=False) + neighbor_list_fn = partition.neighbor_list(displacement_fn, box, rc, 0, format=partition.OrderedSparse) + nbr = neighbor_list_fn.allocate(positions) + pairs = nbr.idx.T bondE = h._potentials[0] - print("Bond:", bondE(pos, box, pairs, h.getGenerators()[0].params)) + print("Bond:", bondE(positions, box, pairs, h.getGenerators()[0].params)) angleE = h._potentials[1] - print("Angle:", angleE(pos, box, pairs, h.getGenerators()[1].params)) + print("Angle:", angleE(positions, box, pairs, h.getGenerators()[1].params)) dihE = h._potentials[2] - print("Torsion:", dihE(pos, box, pairs, h.getGenerators()[2].params)) + print("Torsion:", dihE(positions, box, pairs, h.getGenerators()[2].params)) From 19ecdbbf6d345343ab233206d4b7fd9d8c6447f5 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 28 Mar 2022 00:08:31 +0800 Subject: [PATCH 60/72] feat(classical): add testcases for NoCutoff Coulomb potential and a large GAFF molecule --- tests/data/coul2.xml | 17 + tests/data/coul3-res.xml | 30 + tests/data/coul3.xml | 29 + tests/data/gaff-2.11.xml | 7469 ++++++++++++++++++++++++++++++++ tests/data/get_openmm_force.py | 5 +- tests/data/lig-prm-lj.xml | 145 + tests/data/lig-top.xml | 74 + tests/data/lig.pdb | 69 + tests/test_classical.py | 108 +- 9 files changed, 7932 insertions(+), 14 deletions(-) create mode 100644 tests/data/coul2.xml create mode 100644 tests/data/coul3-res.xml create mode 100644 tests/data/coul3.xml create mode 100644 tests/data/gaff-2.11.xml create mode 100644 tests/data/lig-prm-lj.xml create mode 100644 tests/data/lig-top.xml create mode 100644 tests/data/lig.pdb diff --git a/tests/data/coul2.xml b/tests/data/coul2.xml new file mode 100644 index 000000000..71a89f8c0 --- /dev/null +++ b/tests/data/coul2.xml @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/coul3-res.xml b/tests/data/coul3-res.xml new file mode 100644 index 000000000..ede2cca99 --- /dev/null +++ b/tests/data/coul3-res.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/coul3.xml b/tests/data/coul3.xml new file mode 100644 index 000000000..c101513b9 --- /dev/null +++ b/tests/data/coul3.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/gaff-2.11.xml b/tests/data/gaff-2.11.xml new file mode 100644 index 000000000..335d5f240 --- /dev/null +++ b/tests/data/gaff-2.11.xml @@ -0,0 +1,7469 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/get_openmm_force.py b/tests/data/get_openmm_force.py index b9be40742..ba3bc5239 100644 --- a/tests/data/get_openmm_force.py +++ b/tests/data/get_openmm_force.py @@ -2,6 +2,7 @@ import openmm.app as app import openmm.unit as unit import numpy as np +import sys def forcegroupify(system): forcegroups = {} @@ -20,8 +21,8 @@ def getEnergyDecomposition(context, forcegroups): if __name__ == "__main__": print("MM Reference Energy:") - pdb = app.PDBFile("lj1.pdb") - ff = app.ForceField("lj1.xml") + pdb = app.PDBFile(sys.argv[1]) + ff = app.ForceField(sys.argv[2]) system = ff.createSystem(pdb.topology, nonbondedMethod=app.NoCutoff, constraints=None, removeCMMotion=False) diff --git a/tests/data/lig-prm-lj.xml b/tests/data/lig-prm-lj.xml new file mode 100644 index 000000000..cdb48abe9 --- /dev/null +++ b/tests/data/lig-prm-lj.xml @@ -0,0 +1,145 @@ + + + 2022-01-13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/data/lig-top.xml b/tests/data/lig-top.xml new file mode 100644 index 000000000..34e60abb5 --- /dev/null +++ b/tests/data/lig-top.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/lig.pdb b/tests/data/lig.pdb new file mode 100644 index 000000000..102a728d7 --- /dev/null +++ b/tests/data/lig.pdb @@ -0,0 +1,69 @@ +REMARK 1 CREATED WITH OPENMM 7.6, 2022-01-13 +HETATM 1 N1 LIG A 1 -43.959 14.987 8.022 1.00 0.00 N +HETATM 2 C1 LIG A 1 -44.170 13.741 8.211 1.00 0.00 C +HETATM 3 N2 LIG A 1 -43.809 13.116 9.424 1.00 0.00 N +HETATM 4 C2 LIG A 1 -43.349 15.775 9.031 1.00 0.00 C +HETATM 5 C3 LIG A 1 -42.992 15.185 10.193 1.00 0.00 C +HETATM 6 C4 LIG A 1 -43.249 13.756 10.359 1.00 0.00 C +HETATM 7 C5 LIG A 1 -41.405 15.095 12.249 1.00 0.00 C +HETATM 8 C6 LIG A 1 -42.331 15.977 11.325 1.00 0.00 C +HETATM 9 C7 LIG A 1 -41.861 13.645 12.355 1.00 0.00 C +HETATM 10 C8 LIG A 1 -42.724 13.081 11.541 1.00 0.00 C +HETATM 11 N3 LIG A 1 -42.914 11.763 11.977 1.00 0.00 N +HETATM 12 N4 LIG A 1 -42.137 11.543 13.076 1.00 0.00 N +HETATM 13 C9 LIG A 1 -41.488 12.622 13.335 1.00 0.00 C +HETATM 14 N5 LIG A 1 -44.702 12.908 7.219 1.00 0.00 N +HETATM 15 C10 LIG A 1 -40.510 12.742 14.454 1.00 0.00 C +HETATM 16 O1 LIG A 1 -39.982 13.815 14.738 1.00 0.00 O +HETATM 17 C11 LIG A 1 -45.103 11.514 7.284 1.00 0.00 C +HETATM 18 C12 LIG A 1 -44.195 10.590 7.720 1.00 0.00 C +HETATM 19 C13 LIG A 1 -44.561 9.134 7.798 1.00 0.00 C +HETATM 20 C14 LIG A 1 -45.816 8.749 7.423 1.00 0.00 C +HETATM 21 C15 LIG A 1 -46.793 9.732 6.956 1.00 0.00 C +HETATM 22 C16 LIG A 1 -46.474 11.050 6.883 1.00 0.00 C +HETATM 23 O2 LIG A 1 -47.390 12.033 6.438 1.00 0.00 O +HETATM 24 C17 LIG A 1 -47.858 11.964 5.076 1.00 0.00 C +HETATM 25 F1 LIG A 1 -48.865 11.048 4.992 1.00 0.00 F +HETATM 26 F2 LIG A 1 -48.336 13.205 4.673 1.00 0.00 F +HETATM 27 F3 LIG A 1 -46.864 11.550 4.200 1.00 0.00 F +HETATM 28 N6 LIG A 1 -40.171 11.604 15.192 1.00 0.00 N +HETATM 29 C18 LIG A 1 -43.759 10.766 11.350 1.00 0.00 C +HETATM 30 C19 LIG A 1 -44.422 9.875 12.402 1.00 0.00 C +HETATM 31 O3 LIG A 1 -43.650 8.677 12.505 1.00 0.00 O +HETATM 32 N7 LIG A 1 -43.622 8.150 8.249 1.00 0.00 N +HETATM 33 C20 LIG A 1 -44.124 6.921 8.920 1.00 0.00 C +HETATM 34 C21 LIG A 1 -43.078 6.214 9.812 1.00 0.00 C +HETATM 35 N8 LIG A 1 -41.716 6.273 9.227 1.00 0.00 N +HETATM 36 C22 LIG A 1 -41.308 7.688 9.088 1.00 0.00 C +HETATM 37 C23 LIG A 1 -42.185 8.370 8.010 1.00 0.00 C +HETATM 38 C24 LIG A 1 -40.777 5.598 10.127 1.00 0.00 C +HETATM 39 H1 LIG A 1 -41.400 15.522 13.230 1.00 0.00 H +HETATM 40 H2 LIG A 1 -40.431 15.088 11.806 1.00 0.00 H +HETATM 41 H3 LIG A 1 -43.100 16.410 11.930 1.00 0.00 H +HETATM 42 H4 LIG A 1 -41.709 16.719 10.870 1.00 0.00 H +HETATM 43 H5 LIG A 1 -44.823 13.334 6.340 1.00 0.00 H +HETATM 44 H6 LIG A 1 -43.249 10.895 7.998 1.00 0.00 H +HETATM 45 H7 LIG A 1 -46.078 7.752 7.470 1.00 0.00 H +HETATM 46 H8 LIG A 1 -47.737 9.420 6.678 1.00 0.00 H +HETATM 47 H9 LIG A 1 -40.585 10.737 14.977 1.00 0.00 H +HETATM 48 H10 LIG A 1 -39.519 11.670 15.926 1.00 0.00 H +HETATM 49 H11 LIG A 1 -43.163 10.159 10.702 1.00 0.00 H +HETATM 50 H12 LIG A 1 -44.524 11.266 10.793 1.00 0.00 H +HETATM 51 H13 LIG A 1 -45.422 9.640 12.102 1.00 0.00 H +HETATM 52 H14 LIG A 1 -44.463 10.377 13.346 1.00 0.00 H +HETATM 53 H15 LIG A 1 -43.623 8.235 11.642 1.00 0.00 H +HETATM 54 H16 LIG A 1 -44.442 6.232 8.165 1.00 0.00 H +HETATM 55 H17 LIG A 1 -44.922 7.226 9.565 1.00 0.00 H +HETATM 56 H18 LIG A 1 -43.360 5.188 9.928 1.00 0.00 H +HETATM 57 H19 LIG A 1 -43.054 6.718 10.755 1.00 0.00 H +HETATM 58 H20 LIG A 1 -41.715 5.818 8.314 1.00 0.00 H +HETATM 59 H21 LIG A 1 -41.437 8.191 10.024 1.00 0.00 H +HETATM 60 H22 LIG A 1 -40.279 7.737 8.797 1.00 0.00 H +HETATM 61 H23 LIG A 1 -41.990 9.422 8.021 1.00 0.00 H +HETATM 62 H24 LIG A 1 -41.938 7.941 7.062 1.00 0.00 H +HETATM 63 H25 LIG A 1 -40.786 6.083 11.081 1.00 0.00 H +HETATM 64 H26 LIG A 1 -39.791 5.643 9.713 1.00 0.00 H +HETATM 65 H27 LIG A 1 -41.068 4.575 10.244 1.00 0.00 H +HETATM 66 H28 LIG A 1 -43.181 16.782 8.880 1.00 0.00 H +TER 67 LIG A 1 +END diff --git a/tests/test_classical.py b/tests/test_classical.py index a2b767494..3362bdba3 100644 --- a/tests/test_classical.py +++ b/tests/test_classical.py @@ -5,6 +5,7 @@ import numpy as np import numpy.testing as npt from dmff.api import Hamiltonian +import dmff.api as api import pytest from dmff.classical.inter import LennardJonesForce @@ -55,13 +56,9 @@ def test_periodic_torsion_force(self, pdb, prm, value): energy = bondE(pos, box, pairs, h.getGenerators()[0].params) npt.assert_almost_equal(energy, value, decimal=3) - @pytest.mark.parametrize( "pdb, prm, value", - [ - ("data/lj2.pdb", "data/lj2.xml", -1.85001802444458) - ] - ) + [("data/lj2.pdb", "data/lj2.xml", -1.85001802444458)]) def test_lj_force(self, pdb, prm, value): pdb = app.PDBFile(pdb) h = Hamiltonian(prm) @@ -71,17 +68,15 @@ def test_lj_force(self, pdb, prm, value): removeCMMotion=False) pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) - pairs = np.array([[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3]], dtype=int) + pairs = np.array([[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3]], + dtype=int) ljE = h._potentials[0] energy = ljE(pos, box, pairs, h.getGenerators()[0].params) npt.assert_almost_equal(energy, value, decimal=3) @pytest.mark.parametrize( "pdb, prm, value", - [ - ("data/lj3.pdb", "data/lj3.xml", -2.001220464706421) - ] - ) + [("data/lj3.pdb", "data/lj3.xml", -2.001220464706421)]) def test_lj_large_force(self, pdb, prm, value): pdb = app.PDBFile(pdb) h = Hamiltonian(prm) @@ -93,9 +88,98 @@ def test_lj_large_force(self, pdb, prm, value): box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) pairs = [] for ii in range(10): - for jj in range(ii+1, 10): + for jj in range(ii + 1, 10): pairs.append((ii, jj)) pairs = np.array(pairs, dtype=int) ljE = h._potentials[0] energy = ljE(pos, box, pairs, h.getGenerators()[0].params) - npt.assert_almost_equal(energy, value, decimal=3) \ No newline at end of file + npt.assert_almost_equal(energy, value, decimal=3) + + @pytest.mark.parametrize( + "pdb, prm, value", + [("data/lj2.pdb", "data/coul2.xml", 83.72177124023438)]) + def test_coul_force(self, pdb, prm, value): + pdb = app.PDBFile(pdb) + h = Hamiltonian(prm) + system = h.createPotential(pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False) + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) + pairs = np.array([[0, 1], [0, 2], [0, 3], [1, 2], [1, 3], [2, 3]], + dtype=int) + coulE = h._potentials[0] + energy = coulE(pos, box, pairs, h.getGenerators()[0].params) + npt.assert_almost_equal(energy, value, decimal=3) + + @pytest.mark.parametrize( + "pdb, prm, value", + [("data/lj3.pdb", "data/coul3.xml", -446.82037353515625)]) + def test_coul_large_force(self, pdb, prm, value): + pdb = app.PDBFile(pdb) + h = Hamiltonian(prm) + system = h.createPotential(pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False) + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) + pairs = [] + for ii in range(10): + for jj in range(ii + 1, 10): + pairs.append((ii, jj)) + pairs = np.array(pairs, dtype=int) + coulE = h._potentials[0] + energy = coulE(pos, box, pairs, h.getGenerators()[0].params) + npt.assert_almost_equal(energy, value, decimal=3) + + @pytest.mark.parametrize( + "pdb, prm, value", + [("data/lj3.pdb", "data/coul3-res.xml", -446.82037353515625)]) + def test_coul_res_large_force(self, pdb, prm, value): + pdb = app.PDBFile(pdb) + h = Hamiltonian(prm) + system = h.createPotential(pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False) + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) + pairs = [] + for ii in range(10): + for jj in range(ii + 1, 10): + pairs.append((ii, jj)) + pairs = np.array(pairs, dtype=int) + coulE = h._potentials[0] + energy = coulE(pos, box, pairs, h.getGenerators()[0].params) + npt.assert_almost_equal(energy, value, decimal=3) + + @pytest.mark.parametrize("pdb, prm, values", [ + ("data/lig.pdb", ["data/gaff-2.11.xml", "data/lig-prm-lj.xml"], [ + 174.16702270507812, 99.81585693359375, 99.0631103515625, + 22.778038024902344 + ]), + #("data/lig.pdb", ["data/gaff-2.11.xml", "data/lig-prm.xml"], []), + ]) + def test_gaff2_force(self, pdb, prm, values): + app.Topology.loadBondDefinitions("data/lig-top.xml") + pdb = app.PDBFile(pdb) + h = Hamiltonian(*prm) + system = h.createPotential(pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False) + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) + pairs = [] + for ii in range(pos.shape[0]): + for jj in range(ii + 1, pos.shape[0]): + pairs.append((ii, jj)) + pairs = np.array(pairs, dtype=int) + + generators = h.getGenerators() + be_ref, ae_ref, tore_ref, lj_ref = values + for ne, energy in enumerate(h._potentials): + energy = energy(pos, box, pairs, h.getGenerators()[ne].params) + npt.assert_almost_equal(energy, values[ne], decimal=3) \ No newline at end of file From abda90f6d8bb0c14da023697f8e3a4075296a5ea Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 28 Mar 2022 00:08:55 +0800 Subject: [PATCH 61/72] feat(classical): Support differentiable 1-4 scale --- dmff/api.py | 40 ++++++++++++++++++++++++++-------------- dmff/classical/inter.py | 14 ++++---------- 2 files changed, 30 insertions(+), 24 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index e053bc2a3..3d7c8b2c0 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -17,7 +17,7 @@ from jax import grad import linecache import itertools -from .classical.inter import CoulombForce, LennardJonesForce, CoulNoCutoffForce, CoulReactionFieldForce +from .classical.inter import CoulombPMEForce, LennardJonesForce, CoulNoCutoffForce, CoulReactionFieldForce import sys @@ -1250,7 +1250,9 @@ def __init__(self, hamiltionian, coulomb14scale, lj14scale): "epsilon": [], "epsfix": [], "sigfix": [], - "charge": [] + "charge": [], + "coulomb14scale": [coulomb14scale], + "lj14scale": [lj14scale] } self.types = [] self.useAttributeFromResidue = [] @@ -1330,6 +1332,9 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): for k in self.params.keys(): self.params[k] = jnp.array(self.params[k]) + mscales_coul = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0, 1.0]) # mscale for PME + mscales_coul = mscales_coul.at[2].set(1. - self.params["coulomb14scale"][0]) + # Coulomb: only support PME for now # set PBC if nonbondedMethod not in [app.NoCutoff, app.CutoffNonPeriodic]: @@ -1353,10 +1358,10 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): (str(atom))) map_lj = np.array(map_lj, dtype=int) - ifChargeFromResidue = False + self.ifChargeFromResidue = False if "charge" in self.useAttributeFromResidue: # load charge from residue cards - ifChargeFromResidue = True + self.ifChargeFromResidue = True chargeinfo = {} for atom in data.atoms: resname, aname = atom.residue.name, atom.name @@ -1372,6 +1377,8 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): key = data.atoms[na].residue.name + "+" + data.atoms[na].name if key in chargeidx: map_charge.append(chargeidx[key]) + map_charge = np.array(map_charge, dtype=int) + self.params["charge"] = jnp.array(self.params["charge"]) else: map_charge = map_lj @@ -1382,20 +1389,25 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): colv_map = build_covalent_map(data, 6) map_exclusion = [] - scale_lj_exclusion = [] - scale_coul_exclusion = [] - mscale_lj = {1: 0., 2: 0., 3: self.lj14scale} - mscale_coul = {1: 0., 2: 0., 3: self.lj14scale} + scale_14 = [] + npair = 0 for ii in range(colv_map.shape[0]): for jj in range(ii + 1, colv_map.shape[1]): if colv_map[ii, jj] > 0 and colv_map[ii, jj] < 4: map_exclusion.append((ii, jj)) - scale_lj_exclusion.append(1. - mscale_lj[colv_map[ii, jj]]) - scale_coul_exclusion.append(1. - mscale_coul[colv_map[ii, jj]]) + if colv_map[ii, jj] == 3: + scale_14.append(npair) + npair += 1 map_exclusion = np.array(map_exclusion, dtype=int) - scale_lj_exclusion = np.array(scale_lj_exclusion) - scale_coul_exclusion = np.array(scale_coul_exclusion) + scale_14 = np.array(scale_14, dtype=int) + scale_lj_exclusion = np.ones((map_exclusion.shape[0],)) + scale_coul_exclusion = np.ones((map_exclusion.shape[0],)) + scale_lj_exclusion = jnp.array(scale_lj_exclusion) + scale_coul_exclusion = jnp.array(scale_coul_exclusion) + scale_lj_exclusion = scale_lj_exclusion.at[scale_14].set(1. - self.params["lj14scale"][0]) + scale_coul_exclusion = scale_coul_exclusion.at[scale_14].set(1. - self.params["coulomb14scale"][0]) + if unit.is_quantity(nonbondedCutoff): r_cut = nonbondedCutoff.value_in_unit(unit.nanometer) @@ -1429,7 +1441,7 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): # use NoCutoff coulforce = CoulNoCutoffForce(map_charge, map_exclusion, scale_coul_exclusion) else: - coulforce = CoulombForce(box, r_cut, self.ethresh, colv_map) + coulforce = CoulombPMEForce(box, r_cut, self.ethresh, colv_map) coulenergy = coulforce.generate_get_energy() @@ -1442,7 +1454,7 @@ def potential_fn(positions, box, pairs, params): ljE = ljenergy(positions, box, pairs, params["epsilon"], params["sigma"], params["epsfix"], params["sigfix"]) - coulE = coulenergy(positions, box, pairs, params["charge"], params['mScales']) + coulE = coulenergy(positions, box, pairs, params["charge"], mscales_coul) return ljE + coulE diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 2f73fbf05..bff80aeb9 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -62,13 +62,7 @@ def get_LJ_energy(dr_vec, sig, eps, box): return E - covalent_map = self.covalent_map - - def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, mScales): - - nbonds = covalent_map[pairs[:, 0], pairs[:, 1]] - indices = nbonds - 1 - mscales = distribute_scalar(mScales, indices) + def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): eps_m1 = jnp.repeat(epsilon.reshape((-1, 1)), epsilon.shape[0], @@ -136,7 +130,7 @@ def get_coul_energy(dr_vec, chrgprod, box): return E - def get_energy(positions, box, pairs, charges): + def get_energy(positions, box, pairs, charges, mscales): chrg_map0 = self.map_prm[pairs[:,0]] chrg_map1 = self.map_prm[pairs[:,1]] charge0 = charges[chrg_map0] @@ -197,7 +191,7 @@ def get_rf_energy(dr_vec, chrgprod, box): return E - def get_energy(positions, box, pairs, charges): + def get_energy(positions, box, pairs, charges, mscales): chrg_map0 = self.map_prm[pairs[:,0]] chrg_map1 = self.map_prm[pairs[:,1]] charge0 = charges[chrg_map0] @@ -224,7 +218,7 @@ def get_energy(positions, box, pairs, charges): return get_energy -class CoulombForce: +class CoulombPMEForce: def __init__(self, box, rc, ethresh, covalent_map): self.kappa, self.K1, self.K2, self.K3 = setup_ewald_parameters( From 9baf1a6de6d7e226515fc00323773b02f5040cf8 Mon Sep 17 00:00:00 2001 From: WangXinyan940 <44082181+WangXinyan940@users.noreply.github.com> Date: Mon, 28 Mar 2022 14:08:29 +0800 Subject: [PATCH 62/72] Devel (#9) * feat(classical): Support differentiable mscale & add test cases (#10) * Update PME code (#8) * get a preliminary result of point charge pme caclulation * correct gradient of coul * review api.py code * feat(classical): Support more Coulomb potentials (#9) * fix(classical): fix misusing variables * feat(classical): add a testcase for two LJ molecules * fix(classical): correct setting of LJ case * feat(classical): add a testcase for large molecule (including 1-4) interactions * feat(classical): Add support for reaction-field and no-cutoff in Coulomb potential * imporve colvalent_map support Co-authored-by: Roy Kid * feat(classical): add testcases for NoCutoff Coulomb potential and a large GAFF molecule * feat(classical): Support differentiable 1-4 scale Co-authored-by: Roy Kid * formate code; add example XML section to parseElement docstring Co-authored-by: Roy Kid --- dmff/api.py | 744 +++++++++++++++++++++++----------------- dmff/classical/inter.py | 175 +++++----- dmff/classical/intra.py | 42 ++- 3 files changed, 557 insertions(+), 404 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index df560bf0d..f6a6071b5 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -12,12 +12,22 @@ from .admp.pme import ADMPPmeForce from .admp.spatial import generate_construct_local_frames from .admp.recip import Ck_1, generate_pme_recip -from .classical.intra import HarmonicBondJaxForce, HarmonicAngleJaxForce, PeriodicTorsionJaxForce +from .classical.intra import ( + HarmonicBondJaxForce, + HarmonicAngleJaxForce, + PeriodicTorsionJaxForce, +) from jax_md import space, partition from jax import grad import linecache import itertools -from .classical.inter import CoulombPMEForce, LennardJonesForce, CoulNoCutoffForce, CoulReactionFieldForce +from .classical.inter import ( + CoulombPMEForce, + LennardJonesForce, + CoulNoCutoffForce, + CoulReactionFieldForce, +) + import sys @@ -35,8 +45,8 @@ def build_covalent_map(data, max_neighbor): for i in range(n_atoms): # current neighbors j_list = np.where( - np.logical_and(covalent_map[i] <= n_curr, - covalent_map[i] > 0))[0] + np.logical_and(covalent_map[i] <= n_curr, covalent_map[i] > 0) + )[0] for j in j_list: k_list = np.where(covalent_map[j] == 1)[0] for k in k_list: @@ -49,14 +59,7 @@ def build_covalent_map(data, max_neighbor): class ADMPDispGenerator: def __init__(self, hamiltonian): self.ff = hamiltonian - self.params = { - "A": [], - "B": [], - "Q": [], - "C6": [], - "C8": [], - "C10": [] - } + self.params = {"A": [], "B": [], "Q": [], "C6": [], "C8": [], "C10": []} self._jaxPotential = None self.types = [] self.ethresh = 5e-4 @@ -88,8 +91,7 @@ def parseElement(element, hamiltonian): generator.params[k] = jnp.array(generator.params[k]) generator.types = np.array(generator.types) - def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, - args): + def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): n_atoms = len(data.atoms) # build index map @@ -107,11 +109,10 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, rc = nonbondedCutoff.value_in_unit(unit.angstrom) # get calculator - if 'ethresh' in args: - self.ethresh = args['ethresh'] + if "ethresh" in args: + self.ethresh = args["ethresh"] - Force_DispPME = ADMPDispPmeForce(box, covalent_map, rc, self.ethresh, - self.pmax) + Force_DispPME = ADMPDispPmeForce(box, covalent_map, rc, self.ethresh, self.pmax) self.disp_pme_force = Force_DispPME # debugging # Force_DispPME.update_env('kappa', 0.657065221219616) @@ -119,14 +120,15 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, # Force_DispPME.update_env('K2', 96) # Force_DispPME.update_env('K3', 96) pot_fn_lr = Force_DispPME.get_energy - pot_fn_sr = generate_pairwise_interaction(TT_damping_qq_c6_kernel, - covalent_map, - static_args={}) + pot_fn_sr = generate_pairwise_interaction( + TT_damping_qq_c6_kernel, covalent_map, static_args={} + ) def potential_fn(positions, box, pairs, params): mScales = params["mScales"] - a_list = (params["A"][map_atomtype] / 2625.5 - ) # kj/mol to au, as expected by TT_damping kernel + a_list = ( + params["A"][map_atomtype] / 2625.5 + ) # kj/mol to au, as expected by TT_damping kernel b_list = params["B"][map_atomtype] * 0.0529177249 # nm^-1 to au q_list = params["Q"][map_atomtype] c6_list = jnp.sqrt(params["C6"][map_atomtype] * 1e6) @@ -134,8 +136,9 @@ def potential_fn(positions, box, pairs, params): c10_list = jnp.sqrt(params["C10"][map_atomtype] * 1e10) c_list = jnp.vstack((c6_list, c8_list, c10_list)) - E_sr = pot_fn_sr(positions, box, pairs, mScales, a_list, b_list, - q_list, c_list[0]) + E_sr = pot_fn_sr( + positions, box, pairs, mScales, a_list, b_list, q_list, c_list[0] + ) E_lr = pot_fn_lr(positions, box, pairs, c_list.T, mScales) return E_sr - E_lr @@ -199,7 +202,7 @@ def __init__(self, hamiltonian): self.types = [] self.ethresh = 5e-4 self.lpol = False - self.ref_dip = '' + self.ref_dip = "" def registerAtomType(self, atom: dict): @@ -217,26 +220,53 @@ def registerAtomType(self, atom: dict): @staticmethod def parseElement(element, hamiltonian): + + """ parse admp related parameters in XML file + + example: + + + + + + + + + + + + + + + """ + generator = ADMPPmeGenerator(hamiltonian) - generator.lmax = int(element.attrib.get('lmax')) + generator.lmax = int(element.attrib.get("lmax")) generator.defaultTholeWidth = 5 hamiltonian.registerGenerator(generator) for i in range(2, 7): - generator.params["mScales"].append( - float(element.attrib["mScale1%d" % i])) - generator.params["pScales"].append( - float(element.attrib["pScale1%d" % i])) - generator.params["dScales"].append( - float(element.attrib["dScale1%d" % i])) + generator.params["mScales"].append(float(element.attrib["mScale1%d" % i])) + generator.params["pScales"].append(float(element.attrib["pScale1%d" % i])) + generator.params["dScales"].append(float(element.attrib["dScale1%d" % i])) # make sure the last digit is 1.0 - generator.params['mScales'].append(1.0) - generator.params['pScales'].append(1.0) - generator.params['dScales'].append(1.0) + generator.params["mScales"].append(1.0) + generator.params["pScales"].append(1.0) + generator.params["dScales"].append(1.0) - if element.findall('Polarize'): + if element.findall("Polarize"): generator.lpol = True else: generator.lpol = False @@ -244,14 +274,12 @@ def parseElement(element, hamiltonian): for atomType in element.findall("Atom"): atomAttrib = atomType.attrib # if not set - atomAttrib.update({ - 'polarizabilityXX': 0, - 'polarizabilityYY': 0, - 'polarizabilityZZ': 0 - }) + atomAttrib.update( + {"polarizabilityXX": 0, "polarizabilityYY": 0, "polarizabilityZZ": 0} + ) for polarInfo in element.findall("Polarize"): polarAttrib = polarInfo.attrib - if polarInfo.attrib['type'] == atomAttrib['type']: + if polarInfo.attrib["type"] == atomAttrib["type"]: # cover default atomAttrib.update(polarAttrib) break @@ -261,7 +289,7 @@ def parseElement(element, hamiltonian): generator._input_params[k] = jnp.array(generator._input_params[k]) generator.types = np.array(generator.types) - n_atoms = len(element.findall('Atom')) + n_atoms = len(element.findall("Atom")) # map atom multipole moments if generator.lmax == 0: @@ -287,16 +315,20 @@ def parseElement(element, hamiltonian): # add all differentiable params to self.params Q_local = convert_cart2harm(Q, generator.lmax) - generator.params['Q_local'] = Q_local + generator.params["Q_local"] = Q_local if generator.lpol: - pol = jnp.vstack((generator._input_params['polarizabilityXX'], - generator._input_params['polarizabilityYY'], - generator._input_params['polarizabilityZZ'])).T + pol = jnp.vstack( + ( + generator._input_params["polarizabilityXX"], + generator._input_params["polarizabilityYY"], + generator._input_params["polarizabilityZZ"], + ) + ).T pol = 1000 * jnp.mean(pol, axis=1) - tholes = jnp.array(generator._input_params['thole']) - generator.params['pol'] = pol - generator.params['tholes'] = tholes + tholes = jnp.array(generator._input_params["thole"]) + generator.params["pol"] = pol + generator.params["tholes"] = tholes else: pol = None tholes = None @@ -305,8 +337,7 @@ def parseElement(element, hamiltonian): for k in generator.params.keys(): generator.params[k] = jnp.array(generator.params[k]) - def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, - args): + def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): n_atoms = len(data.atoms) map_atomtype = np.zeros(n_atoms, dtype=int) @@ -352,9 +383,9 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, for itype in itypes: if hit != 0: break - kz = int(self.kStrings['kz'][itype]) - kx = int(self.kStrings['kx'][itype]) - ky = int(self.kStrings['ky'][itype]) + kz = int(self.kStrings["kz"][itype]) + kx = int(self.kStrings["kx"][itype]) + ky = int(self.kStrings["ky"][itype]) neighbors = np.where(covalent_map[i_atom] == 1)[0] zaxis = -1 xaxis = -1 @@ -364,22 +395,20 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, break z_type = int(data.atomType[data.atoms[z_index]]) if z_type == abs( - kz + kz ): # find the z atom, start searching for x for x_index in neighbors: if x_index == z_index or hit != 0: continue - x_type = int( - data.atomType[data.atoms[x_index]]) + x_type = int(data.atomType[data.atoms[x_index]]) if x_type == abs( - kx + kx ): # find the x atom, start searching for y if ky == 0: zaxis = z_index xaxis = x_index # cannot ditinguish x and z? use the smaller index for z, and the larger index for x - if (x_type == z_type - and xaxis < zaxis): + if x_type == z_type and xaxis < zaxis: swap = z_axis z_axis = x_axis x_axis = swap @@ -388,22 +417,28 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, for x_index in neighbors: x_type1 = int( data.atomType[ - data. - atoms[x_index]]) - if x_type1 == abs( - kx - ) and x_index != z_index and x_index < xaxis: + data.atoms[x_index] + ] + ) + if ( + x_type1 == abs(kx) + and x_index != z_index + and x_index < xaxis + ): xaxis = x_index hit = 1 # hit, finish matching matched_itype = itype else: for y_index in neighbors: - if (y_index == z_index - or y_index == x_index - or hit != 0): + if ( + y_index == z_index + or y_index == x_index + or hit != 0 + ): continue - y_type = int(data.atomType[ - data.atoms[y_index]]) + y_type = int( + data.atomType[data.atoms[y_index]] + ) if y_type == abs(ky): zaxis = z_index xaxis = x_index @@ -414,9 +449,9 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, for itype in itypes: if hit != 0: break - kz = int(self.kStrings['kz'][itype]) - kx = int(self.kStrings['kx'][itype]) - ky = int(self.kStrings['ky'][itype]) + kz = int(self.kStrings["kz"][itype]) + kx = int(self.kStrings["kx"][itype]) + ky = int(self.kStrings["ky"][itype]) neighbors_1st = np.where(covalent_map[i_atom] == 1)[0] neighbors_2nd = np.where(covalent_map[i_atom] == 2)[0] zaxis = -1 @@ -430,36 +465,46 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, for x_index in neighbors_2nd: if x_index == z_index or hit != 0: continue - x_type = int( - data.atomType[data.atoms[x_index]]) + x_type = int(data.atomType[data.atoms[x_index]]) # we ask x to be in 2'nd neighbor, and x is z's neighbor - if x_type == abs(kx) and covalent_map[ - z_index, x_index] == 1: + if ( + x_type == abs(kx) + and covalent_map[z_index, x_index] == 1 + ): if ky == 0: zaxis = z_index xaxis = x_index # select smallest x index for x_index in neighbors_2nd: - x_type1 = int(data.atomType[ - data.atoms[x_index]]) - if x_type1 == abs( - kx - ) and x_index != z_index and covalent_map[ - x_index, - z_index] == 1 and x_index < xaxis: + x_type1 = int( + data.atomType[data.atoms[x_index]] + ) + if ( + x_type1 == abs(kx) + and x_index != z_index + and covalent_map[x_index, z_index] + == 1 + and x_index < xaxis + ): xaxis = x_index hit = 3 matched_itype = itype else: for y_index in neighbors_2nd: - if y_index == z_index or y_index == x_index or hit != 0: + if ( + y_index == z_index + or y_index == x_index + or hit != 0 + ): continue - y_type = int(data.atomType[ - data.atoms[y_index]]) - if y_type == abs( - ky) and covalent_map[ - y_index, - z_index] == 1: + y_type = int( + data.atomType[data.atoms[y_index]] + ) + if ( + y_type == abs(ky) + and covalent_map[y_index, z_index] + == 1 + ): zaxis = z_index xaxis = x_index yaxis = y_index @@ -469,8 +514,8 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, for itype in itypes: if hit != 0: break - kz = int(self.kStrings['kz'][itype]) - kx = int(self.kStrings['kx'][itype]) + kz = int(self.kStrings["kz"][itype]) + kx = int(self.kStrings["kx"][itype]) zaxis = -1 xaxis = -1 yaxis = -1 @@ -487,7 +532,7 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, for itype in itypes: if hit != 0: break - kz = int(self.kStrings['kz'][itype]) + kz = int(self.kStrings["kz"][itype]) zaxis = -1 xaxis = -1 yaxis = -1 @@ -499,27 +544,27 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, map_atomtype[i_atom] = matched_itype self.axis_indices.append([zaxis, xaxis, yaxis]) - kz = int(self.kStrings['kz'][matched_itype]) - kx = int(self.kStrings['kx'][matched_itype]) - ky = int(self.kStrings['ky'][matched_itype]) + kz = int(self.kStrings["kz"][matched_itype]) + kx = int(self.kStrings["kx"][matched_itype]) + ky = int(self.kStrings["ky"][matched_itype]) axisType = ZThenX - if (kz == 0): + if kz == 0: axisType = NoAxisType - if (kz != 0 and kx == 0): + if kz != 0 and kx == 0: axisType = ZOnly - if (kz < 0 or kx < 0): + if kz < 0 or kx < 0: axisType = Bisector - if (kx < 0 and ky < 0): + if kx < 0 and ky < 0: axisType = ZBisect - if (kz < 0 and kx < 0 and ky < 0): + if kz < 0 and kx < 0 and ky < 0: axisType = ThreeFold self.axis_types.append(axisType) else: - sys.exit('Atom %d not matched in forcefield!' % i_atom) + sys.exit("Atom %d not matched in forcefield!" % i_atom) else: - sys.exit('Atom %d not matched in forcefield!' % i_atom) + sys.exit("Atom %d not matched in forcefield!" % i_atom) self.axis_indices = np.array(self.axis_indices) self.axis_types = np.array(self.axis_types) else: @@ -527,12 +572,19 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, self.axis_indices = None # get calculator - if 'ethresh' in args: - self.ethresh = args['ethresh'] - - pme_force = ADMPPmeForce(box, self.axis_types, self.axis_indices, - covalent_map, rc, self.ethresh, self.lmax, - self.lpol) + if "ethresh" in args: + self.ethresh = args["ethresh"] + + pme_force = ADMPPmeForce( + box, + self.axis_types, + self.axis_indices, + covalent_map, + rc, + self.ethresh, + self.lmax, + self.lpol, + ) self.pme_force = pme_force def potential_fn(positions, box, pairs, params): @@ -545,12 +597,20 @@ def potential_fn(positions, box, pairs, params): pol = params["pol"][map_atomtype] tholes = params["tholes"][map_atomtype] - return pme_force.get_energy(positions, box, pairs, Q_local, - pol, tholes, mScales, pScales, - dScales, pme_force.U_ind) + return pme_force.get_energy( + positions, + box, + pairs, + Q_local, + pol, + tholes, + mScales, + pScales, + dScales, + pme_force.U_ind, + ) else: - return pme_force.get_energy(positions, box, pairs, Q_local, - mScales) + return pme_force.get_energy(positions, box, pairs, Q_local, mScales) self._jaxPotential = potential_fn @@ -567,26 +627,36 @@ def renderXML(self): class HarmonicBondJaxGenerator: def __init__(self, hamiltonian): self.ff = hamiltonian - self.params = {'k': [], 'length': []} + self.params = {"k": [], "length": []} self._jaxPotential = None self.types = [] def registerBondType(self, bond): types = self.ff._findAtomTypes(bond, 2) self.types.append(types) - self.params['k'].append(float(bond['k'])) - self.params['length'].append(float(bond['length'])) # length := r0 + self.params["k"].append(float(bond["k"])) + self.params["length"].append(float(bond["length"])) # length := r0 @staticmethod def parseElement(element, hamiltonian): - print("PARSE ELEMENT") + + """parse section in XML file + + example: + + + + + <\HarminicBondForce> + + """ + generator = HarmonicBondJaxGenerator(hamiltonian) hamiltonian.registerGenerator(generator) for bondtype in element.findall("Bond"): generator.registerBondType(bondtype.attrib) - def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, - args): + def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): # jax it! for k in self.params.keys(): self.params[k] = jnp.array(self.params[k]) @@ -604,23 +674,23 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, type2 = data.atomType[data.atoms[idx2]] ifFound = False for ii in range(len(self.types)): - if (type1 in self.types[ii][0] and type2 in self.types[ii][1] - ) or (type1 in self.types[ii][1] - and type2 in self.types[ii][0]): + if (type1 in self.types[ii][0] and type2 in self.types[ii][1]) or ( + type1 in self.types[ii][1] and type2 in self.types[ii][0] + ): map_atom1[i] = idx1 map_atom2[i] = idx2 map_param[i] = ii ifFound = True break if not ifFound: - raise BaseException("No parameter for bond %i - %i" % - (idx1, idx2)) + raise BaseException("No parameter for bond %i - %i" % (idx1, idx2)) bforce = HarmonicBondJaxForce(map_atom1, map_atom2, map_param) def potential_fn(positions, box, pairs, params): - return bforce.get_energy(positions, box, pairs, params["k"], - params["length"]) + return bforce.get_energy( + positions, box, pairs, params["k"], params["length"] + ) self._jaxPotential = potential_fn # self._top_data = data @@ -634,32 +704,39 @@ def renderXML(self): # register all parsers -app.forcefield.parsers[ - "HarmonicBondForce"] = HarmonicBondJaxGenerator.parseElement +app.forcefield.parsers["HarmonicBondForce"] = HarmonicBondJaxGenerator.parseElement class HarmonicAngleJaxGenerator: def __init__(self, hamiltonian): self.ff = hamiltonian - self.params = {'k': [], 'angle': []} + self.params = {"k": [], "angle": []} self._jaxPotential = None self.types = [] def registerAngleType(self, angle): types = self.ff._findAtomTypes(angle, 3) self.types.append(types) - self.params['k'].append(float(angle['k'])) - self.params['angle'].append(float(angle['angle'])) + self.params["k"].append(float(angle["k"])) + self.params["angle"].append(float(angle["angle"])) @staticmethod def parseElement(element, hamiltonian): + """ parse section in XML file + + example: + + + + <\HarmonicAngleForce> + + """ generator = HarmonicAngleJaxGenerator(hamiltonian) hamiltonian.registerGenerator(generator) for bondtype in element.findall("Angle"): generator.registerAngleType(bondtype.attrib) - def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, - args): + def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): # jax it! for k in self.params.keys(): @@ -682,10 +759,9 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, ifFound = False for ii in range(len(self.types)): if type2 in self.types[ii][1]: - if (type1 in self.types[ii][0] - and type3 in self.types[ii][2]) or ( - type1 in self.types[ii][2] - and type3 in self.types[ii][0]): + if (type1 in self.types[ii][0] and type3 in self.types[ii][2]) or ( + type1 in self.types[ii][2] and type3 in self.types[ii][0] + ): map_atom1[i] = idx1 map_atom2[i] = idx2 map_atom3[i] = idx3 @@ -693,15 +769,16 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, ifFound = True break if not ifFound: - raise BaseException("No parameter for angle %i - %i - %i" % - (idx1, idx2, idx3)) + raise BaseException( + "No parameter for angle %i - %i - %i" % (idx1, idx2, idx3) + ) - aforce = HarmonicAngleJaxForce(map_atom1, map_atom2, map_atom3, - map_param) + aforce = HarmonicAngleJaxForce(map_atom1, map_atom2, map_atom3, map_param) def potential_fn(positions, box, pairs, params): - return aforce.get_energy(positions, box, pairs, params["k"], - params["angle"]) + return aforce.get_energy( + positions, box, pairs, params["k"], params["angle"] + ) self._jaxPotential = potential_fn # self._top_data = data @@ -715,8 +792,7 @@ def renderXML(self): # register all parsers -app.forcefield.parsers[ - "HarmonicAngleForce"] = HarmonicAngleJaxGenerator.parseElement +app.forcefield.parsers["HarmonicAngleForce"] = HarmonicAngleJaxGenerator.parseElement def _matchImproper(data, torsion, generator): @@ -724,22 +800,23 @@ def _matchImproper(data, torsion, generator): type2 = data.atomType[data.atoms[torsion[1]]] type3 = data.atomType[data.atoms[torsion[2]]] type4 = data.atomType[data.atoms[torsion[3]]] - wildcard = generator.ff._atomClasses[''] + wildcard = generator.ff._atomClasses[""] match = None for tordef in generator.improper: types1 = tordef.types1 types2 = tordef.types2 types3 = tordef.types3 types4 = tordef.types4 - hasWildcard = (wildcard in (types1, types2, types3, types4)) + hasWildcard = wildcard in (types1, types2, types3, types4) if match is not None and hasWildcard: # Prefer specific definitions over ones with wildcards continue if type1 in types1: for (t2, t3, t4) in itertools.permutations( - ((type2, 1), (type3, 2), (type4, 3))): + ((type2, 1), (type3, 2), (type4, 3)) + ): if t2[0] in types2 and t3[0] in types3 and t4[0] in types4: - if tordef.ordering == 'default': + if tordef.ordering == "default": # Workaround to be more consistent with AMBER. It uses wildcards to define most of its # impropers, which leaves the ordering ambiguous. It then follows some bizarre rules # to pick the order. @@ -749,12 +826,13 @@ def _matchImproper(data, torsion, generator): e2 = data.atoms[a2].element if e1 == e2 and a1 > a2: (a1, a2) = (a2, a1) - elif e1 != elem.carbon and (e2 == elem.carbon - or e1.mass < e2.mass): + elif e1 != elem.carbon and ( + e2 == elem.carbon or e1.mass < e2.mass + ): (a1, a2) = (a2, a1) match = (a1, a2, torsion[0], torsion[t4[1]], tordef) break - elif tordef.ordering == 'charmm': + elif tordef.ordering == "charmm": if hasWildcard: # Workaround to be more consistent with AMBER. It uses wildcards to define most of its # impropers, which leaves the ordering ambiguous. It then follows some bizarre rules @@ -765,17 +843,22 @@ def _matchImproper(data, torsion, generator): e2 = data.atoms[a2].element if e1 == e2 and a1 > a2: (a1, a2) = (a2, a1) - elif e1 != elem.carbon and (e2 == elem.carbon - or e1.mass < e2.mass): + elif e1 != elem.carbon and ( + e2 == elem.carbon or e1.mass < e2.mass + ): (a1, a2) = (a2, a1) - match = (a1, a2, torsion[0], torsion[t4[1]], - tordef) + match = (a1, a2, torsion[0], torsion[t4[1]], tordef) else: # There are no wildcards, so the order is unambiguous. - match = (torsion[0], torsion[t2[1]], - torsion[t3[1]], torsion[t4[1]], tordef) + match = ( + torsion[0], + torsion[t2[1]], + torsion[t3[1]], + torsion[t4[1]], + tordef, + ) break - elif tordef.ordering == 'amber': + elif tordef.ordering == "amber": # topology atom indexes a2 = torsion[t2[1]] a3 = torsion[t3[1]] @@ -793,33 +876,28 @@ def _matchImproper(data, torsion, generator): e3 = data.atoms[a3].element e4 = data.atoms[a4].element if not hasWildcard: - if t2[0] == t4[0] and (r2 > r4 or - (r2 == r4 and ta2 > ta4)): + if t2[0] == t4[0] and (r2 > r4 or (r2 == r4 and ta2 > ta4)): (a2, a4) = (a4, a2) r2 = data.atoms[a2].residue.index r4 = data.atoms[a4].residue.index ta2 = data.atomTemplateIndexes[data.atoms[a2]] ta4 = data.atomTemplateIndexes[data.atoms[a4]] - if t3[0] == t4[0] and (r3 > r4 or - (r3 == r4 and ta3 > ta4)): + if t3[0] == t4[0] and (r3 > r4 or (r3 == r4 and ta3 > ta4)): (a3, a4) = (a4, a3) r3 = data.atoms[a3].residue.index r4 = data.atoms[a4].residue.index ta3 = data.atomTemplateIndexes[data.atoms[a3]] ta4 = data.atomTemplateIndexes[data.atoms[a4]] - if t2[0] == t3[0] and (r2 > r3 or - (r2 == r3 and ta2 > ta3)): + if t2[0] == t3[0] and (r2 > r3 or (r2 == r3 and ta2 > ta3)): (a2, a3) = (a3, a2) else: - if e2 == e4 and (r2 > r4 or - (r2 == r4 and ta2 > ta4)): + if e2 == e4 and (r2 > r4 or (r2 == r4 and ta2 > ta4)): (a2, a4) = (a4, a2) r2 = data.atoms[a2].residue.index r4 = data.atoms[a4].residue.index ta2 = data.atomTemplateIndexes[data.atoms[a2]] ta4 = data.atomTemplateIndexes[data.atoms[a4]] - if e3 == e4 and (r3 > r4 or - (r3 == r4 and ta3 > ta4)): + if e3 == e4 and (r3 > r4 or (r3 == r4 and ta3 > ta4)): (a3, a4) = (a4, a3) r3 = data.atoms[a3].residue.index r4 = data.atoms[a4].residue.index @@ -835,6 +913,7 @@ def _matchImproper(data, torsion, generator): class PeriodicTorsion(object): """A PeriodicTorsion records the information for a periodic torsion definition.""" + def __init__(self, types): self.types1 = types[0] self.types2 = types[1] @@ -844,7 +923,7 @@ def __init__(self, types): self.phase = [] self.k = [] self.points = [] - self.ordering = 'default' + self.ordering = "default" def _parseTorsion(ff, attrib): @@ -854,10 +933,10 @@ def _parseTorsion(ff, attrib): return None torsion = PeriodicTorsion(types) index = 1 - while 'phase%d' % index in attrib: - torsion.periodicity.append(int(attrib['periodicity%d' % index])) - torsion.phase.append(float(attrib['phase%d' % index])) - torsion.k.append(float(attrib['k%d' % index])) + while "phase%d" % index in attrib: + torsion.periodicity.append(int(attrib["periodicity%d" % index])) + torsion.phase.append(float(attrib["phase%d" % index])) + torsion.k.append(float(attrib["k%d" % index])) index += 1 torsion.points.append(-1) return torsion @@ -865,21 +944,22 @@ def _parseTorsion(ff, attrib): class PeriodicTorsionJaxGenerator(object): """A PeriodicTorsionGenerator constructs a PeriodicTorsionForce.""" + def __init__(self, hamiltonian): self.ff = hamiltonian self.p_types = [] self.i_types = [] self.params = { - 'k1_p': [], - 'psi1_p': [], + "k1_p": [], + "psi1_p": [], "k2_p": [], "psi2_p": [], "k3_p": [], "psi3_p": [], "k4_p": [], "psi4_p": [], - 'k1_i': [], - 'psi1_i': [], + "k1_i": [], + "psi1_i": [], "k2_i": [], "psi2_i": [], "k3_i": [], @@ -901,33 +981,43 @@ def registerProperTorsion(self, parameters): for t in torsion.types3: self.propersForAtomType[t].add(index) - def registerImproperTorsion(self, parameters, ordering='default'): + def registerImproperTorsion(self, parameters, ordering="default"): torsion = _parseTorsion(self.ff, parameters) if torsion is not None: - if ordering in ['default', 'charmm', 'amber']: + if ordering in ["default", "charmm", "amber"]: torsion.ordering = ordering else: raise ValueError( - 'Illegal ordering type %s for improper torsion %s' % - (ordering, torsion)) + "Illegal ordering type %s for improper torsion %s" + % (ordering, torsion) + ) self.improper.append(torsion) @staticmethod def parseElement(element, ff): - existing = [ - f for f in ff._forces if isinstance(f, PeriodicTorsionJaxGenerator) - ] + """ parse section in XML file + + example: + + + + + + + """ + existing = [f for f in ff._forces if isinstance(f, PeriodicTorsionJaxGenerator)] if len(existing) == 0: generator = PeriodicTorsionJaxGenerator(ff) ff.registerGenerator(generator) else: generator = existing[0] - for torsion in element.findall('Proper'): + for torsion in element.findall("Proper"): generator.registerProperTorsion(torsion.attrib) - for torsion in element.findall('Improper'): - if 'ordering' in element.attrib: - generator.registerImproperTorsion(torsion.attrib, - element.attrib['ordering']) + for torsion in element.findall("Improper"): + if "ordering" in element.attrib: + generator.registerImproperTorsion( + torsion.attrib, element.attrib["ordering"] + ) else: generator.registerImproperTorsion(torsion.attrib) @@ -997,7 +1087,7 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): map_a4_4_p = [] prm4_p = [] - wildcard = self.ff._atomClasses[''] + wildcard = self.ff._atomClasses[""] proper_cache = {} for torsion in data.propers: type1, type2, type3, type4 = [ @@ -1015,14 +1105,21 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): types2 = tordef.types2 types3 = tordef.types3 types4 = tordef.types4 - if (type2 in types2 and type3 in types3 and type4 in types4 - and type1 in types1) or (type2 in types3 - and type3 in types2 - and type4 in types1 - and type1 in types4): - hasWildcard = (wildcard - in (types1, types2, types3, types4)) - if match is None or not hasWildcard: # Prefer specific definitions over ones with wildcards + if ( + type2 in types2 + and type3 in types3 + and type4 in types4 + and type1 in types1 + ) or ( + type2 in types3 + and type3 in types2 + and type4 in types1 + and type1 in types4 + ): + hasWildcard = wildcard in (types1, types2, types3, types4) + if ( + match is None or not hasWildcard + ): # Prefer specific definitions over ones with wildcards match = tordef if not hasWildcard: break @@ -1085,9 +1182,7 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): impr_cache = {} for torsion in data.impropers: - t1, t2, t3, t4 = [ - data.atomType[data.atoms[torsion[i]]] for i in range(4) - ] + t1, t2, t3, t4 = [data.atomType[data.atoms[torsion[i]]] for i in range(4)] sig = (t1, t2, t3, t4) match = impr_cache.get(sig, None) if match == -1: @@ -1180,42 +1275,58 @@ def createForce(self, sys, data, nonbondedMethod, nonbondedCutoff, args): prm3_i = np.array(prm3_i, dtype=int) prm4_i = np.array(prm4_i, dtype=int) - prop1 = PeriodicTorsionJaxForce(map_a1_1_p, map_a2_1_p, map_a3_1_p, - map_a4_1_p, prm1_p, 1) - prop2 = PeriodicTorsionJaxForce(map_a1_2_p, map_a2_2_p, map_a3_2_p, - map_a4_2_p, prm2_p, 2) - prop3 = PeriodicTorsionJaxForce(map_a1_3_p, map_a2_3_p, map_a3_3_p, - map_a4_3_p, prm3_p, 3) - prop4 = PeriodicTorsionJaxForce(map_a1_4_p, map_a2_4_p, map_a3_4_p, - map_a4_4_p, prm4_p, 4) - - impr1 = PeriodicTorsionJaxForce(map_a1_1_i, map_a2_1_i, map_a3_1_i, - map_a4_1_i, prm1_i, 1) - impr2 = PeriodicTorsionJaxForce(map_a1_2_i, map_a2_2_i, map_a3_2_i, - map_a4_2_i, prm2_i, 2) - impr3 = PeriodicTorsionJaxForce(map_a1_3_i, map_a2_3_i, map_a3_3_i, - map_a4_3_i, prm3_i, 3) - impr4 = PeriodicTorsionJaxForce(map_a1_4_i, map_a2_4_i, map_a3_4_i, - map_a4_4_i, prm4_i, 4) + prop1 = PeriodicTorsionJaxForce( + map_a1_1_p, map_a2_1_p, map_a3_1_p, map_a4_1_p, prm1_p, 1 + ) + prop2 = PeriodicTorsionJaxForce( + map_a1_2_p, map_a2_2_p, map_a3_2_p, map_a4_2_p, prm2_p, 2 + ) + prop3 = PeriodicTorsionJaxForce( + map_a1_3_p, map_a2_3_p, map_a3_3_p, map_a4_3_p, prm3_p, 3 + ) + prop4 = PeriodicTorsionJaxForce( + map_a1_4_p, map_a2_4_p, map_a3_4_p, map_a4_4_p, prm4_p, 4 + ) + + impr1 = PeriodicTorsionJaxForce( + map_a1_1_i, map_a2_1_i, map_a3_1_i, map_a4_1_i, prm1_i, 1 + ) + impr2 = PeriodicTorsionJaxForce( + map_a1_2_i, map_a2_2_i, map_a3_2_i, map_a4_2_i, prm2_i, 2 + ) + impr3 = PeriodicTorsionJaxForce( + map_a1_3_i, map_a2_3_i, map_a3_3_i, map_a4_3_i, prm3_i, 3 + ) + impr4 = PeriodicTorsionJaxForce( + map_a1_4_i, map_a2_4_i, map_a3_4_i, map_a4_4_i, prm4_i, 4 + ) def potential_fn(positions, box, pairs, params): - p1e = prop1.get_energy(positions, box, pairs, params["k1_p"], - params["psi1_p"]) - p2e = prop2.get_energy(positions, box, pairs, params["k2_p"], - params["psi2_p"]) - p3e = prop3.get_energy(positions, box, pairs, params["k3_p"], - params["psi3_p"]) - p4e = prop4.get_energy(positions, box, pairs, params["k4_p"], - params["psi4_p"]) - - i1e = impr1.get_energy(positions, box, pairs, params["k1_i"], - params["psi1_i"]) - i2e = impr2.get_energy(positions, box, pairs, params["k2_i"], - params["psi2_i"]) - i3e = impr3.get_energy(positions, box, pairs, params["k3_i"], - params["psi3_i"]) - i4e = impr4.get_energy(positions, box, pairs, params["k4_i"], - params["psi4_i"]) + p1e = prop1.get_energy( + positions, box, pairs, params["k1_p"], params["psi1_p"] + ) + p2e = prop2.get_energy( + positions, box, pairs, params["k2_p"], params["psi2_p"] + ) + p3e = prop3.get_energy( + positions, box, pairs, params["k3_p"], params["psi3_p"] + ) + p4e = prop4.get_energy( + positions, box, pairs, params["k4_p"], params["psi4_p"] + ) + + i1e = impr1.get_energy( + positions, box, pairs, params["k1_i"], params["psi1_i"] + ) + i2e = impr2.get_energy( + positions, box, pairs, params["k2_i"], params["psi2_i"] + ) + i3e = impr3.get_energy( + positions, box, pairs, params["k3_i"], params["psi3_i"] + ) + i4e = impr4.get_energy( + positions, box, pairs, params["k4_i"], params["psi4_i"] + ) return p1e + p2e + p3e + p4e + i1e + i2e + i3e + i4e @@ -1231,7 +1342,8 @@ def renderXML(self): app.forcefield.parsers[ - "PeriodicTorsionForce"] = PeriodicTorsionJaxGenerator.parseElement + "PeriodicTorsionForce" +] = PeriodicTorsionJaxGenerator.parseElement class NonbondJaxGenerator: @@ -1244,7 +1356,7 @@ def __init__(self, hamiltionian, coulomb14scale, lj14scale): self.coulomb14scale = coulomb14scale self.lj14scale = lj14scale # self.useDispersionCorrection = useDispersionCorrection - #self.params = app.ForceField._AtomTypeParameters(hamiltionian, 'NonbondedForce', 'Atom', ('charge', 'sigma', 'epsilon')) + # self.params = app.ForceField._AtomTypeParameters(hamiltionian, 'NonbondedForce', 'Atom', ('charge', 'sigma', 'epsilon')) self.params = { "sigma": [], "epsilon": [], @@ -1252,14 +1364,13 @@ def __init__(self, hamiltionian, coulomb14scale, lj14scale): "sigfix": [], "charge": [], "coulomb14scale": [coulomb14scale], - "lj14scale": [lj14scale] + "lj14scale": [lj14scale], } self.types = [] self.useAttributeFromResidue = [] - + # pre-configure constants self.ethresh = 5e-4 - def registerAtom(self, atom): # use types in nb cards or resname+atomname in residue cards @@ -1272,24 +1383,31 @@ def registerAtom(self, atom): @staticmethod def parseElement(element, ff): + """parse section in XML file + + example: + + + + + - existing = [ - f for f in ff._forces if isinstance(f, NonbondJaxGenerator) - ] + """ + existing = [f for f in ff._forces if isinstance(f, NonbondJaxGenerator)] # TODO: useDispersionCorrection if len(existing) == 0: generator = NonbondJaxGenerator( ff, - float(element.attrib['coulomb14scale']), - float(element.attrib['lj14scale']), + float(element.attrib["coulomb14scale"]), + float(element.attrib["lj14scale"]), # useDispersionCorrection ) ff.registerGenerator(generator) else: generator = existing[0] - + # if (abs(generator.coulomb14scale - float(element.attrib['coulomb14scale'])) > NonbondedGenerator.SCALETOL # or abs(generator.lj14scale - float(element.attrib['lj14scale'])) > NonbondedGenerator.SCALETOL # ): @@ -1301,8 +1419,7 @@ def parseElement(element, ff): # ): # raise ValueError('Found multiple NonbondedForce tags with different useDispersionCorrection settings.') excludedParams = [ - node.attrib['name'] - for node in element.findall('UseAttributeFromResidue') + node.attrib["name"] for node in element.findall("UseAttributeFromResidue") ] for eprm in excludedParams: if eprm not in generator.useAttributeFromResidue: @@ -1316,14 +1433,14 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): app.NoCutoff: "NoCutoff", app.CutoffPeriodic: "CutoffPeriodic", app.CutoffNonPeriodic: "CutoffNonPeriodic", - app.PME: "PME" + app.PME: "PME", } if nonbondedMethod not in methodMap: - raise ValueError('Illegal nonbonded method for NonbondedForce') + raise ValueError("Illegal nonbonded method for NonbondedForce") isNoCut = False if nonbondedMethod is app.NoCutoff: isNoCut = True - + # here box is only used to setup ewald parameters, no need to be differentiable a, b, c = system.getDefaultPeriodicBoxVectors() box = jnp.array([a._value, b._value, c._value]) * 10 @@ -1332,8 +1449,8 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): for k in self.params.keys(): self.params[k] = jnp.array(self.params[k]) - mscales_coul = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0, 1.0]) # mscale for PME - mscales_coul = mscales_coul.at[2].set(1. - self.params["coulomb14scale"][0]) + mscales_coul = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0, 1.0]) # mscale for PME + mscales_coul = mscales_coul.at[2].set(1.0 - self.params["coulomb14scale"][0]) # Coulomb: only support PME for now # set PBC @@ -1350,12 +1467,12 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): for ntp, tp in enumerate(self.types): if types in tp: map_lj.append(ntp) - ifFound=True + ifFound = True break if not ifFound: raise mm.OpenMMException( - "AtomType of %s mismatched in NonbondedForce" % - (str(atom))) + "AtomType of %s mismatched in NonbondedForce" % (str(atom)) + ) map_lj = np.array(map_lj, dtype=int) self.ifChargeFromResidue = False @@ -1405,9 +1522,12 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): scale_coul_exclusion = np.ones((map_exclusion.shape[0],)) scale_lj_exclusion = jnp.array(scale_lj_exclusion) scale_coul_exclusion = jnp.array(scale_coul_exclusion) - scale_lj_exclusion = scale_lj_exclusion.at[scale_14].set(1. - self.params["lj14scale"][0]) - scale_coul_exclusion = scale_coul_exclusion.at[scale_14].set(1. - self.params["coulomb14scale"][0]) - + scale_lj_exclusion = scale_lj_exclusion.at[scale_14].set( + 1.0 - self.params["lj14scale"][0] + ) + scale_coul_exclusion = scale_coul_exclusion.at[scale_14].set( + 1.0 - self.params["coulomb14scale"][0] + ) if unit.is_quantity(nonbondedCutoff): r_cut = nonbondedCutoff.value_in_unit(unit.nanometer) @@ -1415,50 +1535,59 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): r_cut = nonbondedCutoff if "switchDistance" in args and args["switchDistance"] is not None: r_switch = args["switchDistance"] - r_switch = r_switch if not unit.is_quantity( - r_switch) else r_switch.value_in_unit(unit.nanometer) + r_switch = ( + r_switch + if not unit.is_quantity(r_switch) + else r_switch.value_in_unit(unit.nanometer) + ) ifSwitch = True else: r_switch = r_cut ifSwitch = False - ljforce = LennardJonesForce(r_switch, - r_cut, - map_lj, - map_nbfix, - map_exclusion, - scale_lj_exclusion, - isSwitch=ifSwitch, - isPBC=ifPBC, - isNoCut=isNoCut) + ljforce = LennardJonesForce( + r_switch, + r_cut, + map_lj, + map_nbfix, + map_exclusion, + scale_lj_exclusion, + isSwitch=ifSwitch, + isPBC=ifPBC, + isNoCut=isNoCut, + ) ljenergy = ljforce.generate_get_energy() - + if nonbondedMethod is not app.PME: # do not use PME if nonbondedMethod in [app.CutoffPeriodic, app.CutoffNonPeriodic]: # use Reaction Field - coulforce = CoulReactionFieldForce(r_cut, map_charge, map_exclusion, scale_coul_exclusion, isPBC=ifPBC) + coulforce = CoulReactionFieldForce( + r_cut, map_charge, map_exclusion, scale_coul_exclusion, isPBC=ifPBC + ) if nonbondedMethod is app.NoCutoff: # use NoCutoff - coulforce = CoulNoCutoffForce(map_charge, map_exclusion, scale_coul_exclusion) + coulforce = CoulNoCutoffForce( + map_charge, map_exclusion, scale_coul_exclusion + ) else: coulforce = CoulombPMEForce(box, r_cut, self.ethresh, colv_map) - - coulenergy = coulforce.generate_get_energy() def potential_fn(positions, box, pairs, params): - # mScales = params['mScales'] - # Q = params['Q'][map_atomtype] - - ljE = ljenergy(positions, box, pairs, params["epsilon"], - params["sigma"], params["epsfix"], params["sigfix"]) - + # TODO: can not differentiate lj14scale temperarily + ljE = ljenergy( + positions, + box, + pairs, + params["epsilon"], + params["sigma"], + params["epsfix"], + params["sigfix"], + ) coulE = coulenergy(positions, box, pairs, params["charge"], mscales_coul) - - return ljE + coulE self._jaxPotential = potential_fn @@ -1478,15 +1607,19 @@ def __init__(self, *xmlnames): super().__init__(*xmlnames) self._potentials = [] - def createPotential(self, - topology, - nonbondedMethod=app.NoCutoff, - nonbondedCutoff=1.0 * unit.nanometer, - **args): - system = self.createSystem(topology, - nonbondedMethod=nonbondedMethod, - nonbondedCutoff=nonbondedCutoff, - **args) + def createPotential( + self, + topology, + nonbondedMethod=app.NoCutoff, + nonbondedCutoff=1.0 * unit.nanometer, + **args + ): + system = self.createSystem( + topology, + nonbondedMethod=nonbondedMethod, + nonbondedCutoff=nonbondedCutoff, + **args + ) # load_constraints_from_system_if_needed # create potentials for generator in self._forces: @@ -1504,8 +1637,7 @@ def createPotential(self, app.Topology.loadBondDefinitions("residues.xml") pdb = app.PDBFile("../water1024.pdb") rc = 4.0 - potentials = H.createPotential(pdb.topology, - nonbondedCutoff=rc * unit.angstrom) + potentials = H.createPotential(pdb.topology, nonbondedCutoff=rc * unit.angstrom) pot_disp = potentials[0] positions = jnp.array(pdb.positions._value) * 10 @@ -1514,15 +1646,13 @@ def createPotential(self, # neighbor list displacement_fn, shift_fn = space.periodic_general( - box, fractional_coordinates=False) - neighbor_list_fn = partition.neighbor_list(displacement_fn, - box, - rc, - 0, - format=partition.OrderedSparse) + box, fractional_coordinates=False + ) + neighbor_list_fn = partition.neighbor_list( + displacement_fn, box, rc, 0, format=partition.OrderedSparse + ) nbr = neighbor_list_fn.allocate(positions) pairs = nbr.idx.T - param_grad = grad(pot_disp, argnums=3)(positions, box, pairs, - generator.params) + param_grad = grad(pot_disp, argnums=3)(positions, box, pairs, generator.params) print(param_grad) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index d9cb62dcf..71fc6eda6 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -1,6 +1,6 @@ import sys -sys.path.append('/home/lijichen/work/DMFF') +sys.path.append("/home/lijichen/work/DMFF") from dmff.admp.pairwise import distribute_scalar import jax.numpy as jnp from dmff.admp.pme import energy_pme, setup_ewald_parameters @@ -14,18 +14,20 @@ ONE_4PI_EPS0 = 138.935456 + class LennardJonesForce: - def __init__(self, - r_switch, - r_cut, - map_prm, - map_nbfix, - map_exclusion, - scale_exclusion, - isSwitch=False, - isPBC=True, - isNoCut=False - ) -> None: + def __init__( + self, + r_switch, + r_cut, + map_prm, + map_nbfix, + map_exclusion, + scale_exclusion, + isSwitch=False, + isPBC=True, + isNoCut=False, + ) -> None: self.isSwitch = isSwitch self.r_switch = r_switch @@ -57,31 +59,24 @@ def get_LJ_energy(dr_vec, sig, eps, box): if self.isSwitch: x = (dr_norm - self.r_switch) / (self.r_cut - self.r_switch) - S = 1 - 6 * x**5 + 15 * x**4 - 10 * x**3 + S = 1 - 6 * x ** 5 + 15 * x ** 4 - 10 * x ** 3 jnp.where(dr_norm > self.r_switch, E, E * S) return E def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): - - eps_m1 = jnp.repeat(epsilon.reshape((-1, 1)), - epsilon.shape[0], - axis=1) + eps_m1 = jnp.repeat(epsilon.reshape((-1, 1)), epsilon.shape[0], axis=1) eps_m2 = eps_m1.T eps_mat = jnp.sqrt(eps_m1 * eps_m2) sig_m1 = jnp.repeat(sigma.reshape((-1, 1)), sigma.shape[0], axis=1) sig_m2 = sig_m1.T sig_mat = (sig_m1 + sig_m2) * 0.5 - eps_mat = eps_mat.at[self.map_nbfix[:, 0], - self.map_nbfix[:, 1]].set(epsfix) - eps_mat = eps_mat.at[self.map_nbfix[:, 1], - self.map_nbfix[:, 0]].set(epsfix) - sig_mat = sig_mat.at[self.map_nbfix[:, 0], - self.map_nbfix[:, 1]].set(sigfix) - sig_mat = sig_mat.at[self.map_nbfix[:, 1], - self.map_nbfix[:, 0]].set(sigfix) + eps_mat = eps_mat.at[self.map_nbfix[:, 0], self.map_nbfix[:, 1]].set(epsfix) + eps_mat = eps_mat.at[self.map_nbfix[:, 1], self.map_nbfix[:, 0]].set(epsfix) + sig_mat = sig_mat.at[self.map_nbfix[:, 0], self.map_nbfix[:, 1]].set(sigfix) + sig_mat = sig_mat.at[self.map_nbfix[:, 1], self.map_nbfix[:, 0]].set(sigfix) dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] prm_pair0 = self.map_prm[pairs[:, 0]] @@ -92,8 +87,10 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): E_inter = get_LJ_energy(dr_vec, sig, eps, box) # exclusion - dr_excl_vec = positions[self.map_exclusion[:, 0]] - positions[ - self.map_exclusion[:, 1]] + dr_excl_vec = ( + positions[self.map_exclusion[:, 0]] + - positions[self.map_exclusion[:, 1]] + ) excl_map0 = self.map_prm[self.map_exclusion[:, 0]] excl_map1 = self.map_prm[self.map_exclusion[:, 1]] eps_excl = eps_mat[excl_map0, excl_map1] @@ -109,13 +106,8 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): class CoulNoCutoffForce: # E=\frac{{q}_{1}{q}_{2}}{4\pi\epsilon_0\epsilon_1 r} - - def __init__(self, - map_prm, - map_exclusion, - scale_exclusion, - epsilon_1 = 1.0 - ) -> None: + + def __init__(self, map_prm, map_exclusion, scale_exclusion, epsilon_1=1.0) -> None: self.eps_1 = epsilon_1 self.map_prm = map_prm @@ -127,13 +119,13 @@ def get_coul_energy(dr_vec, chrgprod, box): dr_norm = jnp.linalg.norm(dr_vec, axis=1) dr_inv = 1.0 / dr_norm - E = chrgprod * ONE_4PI_EPS0 / self.eps_1 * dr_inv + E = chrgprod * ONE_4PI_EPS0 / self.eps_1 * dr_inv return E def get_energy(positions, box, pairs, charges, mscales): - chrg_map0 = self.map_prm[pairs[:,0]] - chrg_map1 = self.map_prm[pairs[:,1]] + chrg_map0 = self.map_prm[pairs[:, 0]] + chrg_map1 = self.map_prm[pairs[:, 1]] charge0 = charges[chrg_map0] charge1 = charges[chrg_map1] chrgprod = charge0 * charge1 @@ -142,8 +134,10 @@ def get_energy(positions, box, pairs, charges, mscales): E_inter = get_coul_energy(dr_vec, chrgprod, box) # exclusion - dr_excl_vec = positions[self.map_exclusion[:, 0]] - positions[ - self.map_exclusion[:, 1]] + dr_excl_vec = ( + positions[self.map_exclusion[:, 0]] + - positions[self.map_exclusion[:, 1]] + ) excl_map0 = self.map_prm[self.map_exclusion[:, 0]] excl_map1 = self.map_prm[self.map_exclusion[:, 1]] chrg0_excl = charges[excl_map0] @@ -157,21 +151,23 @@ def get_energy(positions, box, pairs, charges, mscales): return get_energy + class CoulReactionFieldForce: # E=\frac{{q}_{1}{q}_{2}}{4\pi\epsilon_0\epsilon_1}\left(\frac{1}{r}+{k}_{\mathit{rf}}{r}^{2}-{c}_{\mathit{rf}}\right) - def __init__(self, - r_cut, - map_prm, - map_exclusion, - scale_exclusion, - epsilon_1 = 1.0, - epsilon_solv = 78.5, - isPBC=True - ) -> None: + def __init__( + self, + r_cut, + map_prm, + map_exclusion, + scale_exclusion, + epsilon_1=1.0, + epsilon_solv=78.5, + isPBC=True, + ) -> None: self.r_cut = r_cut - self.krf = (1. / r_cut ** 3) * (epsilon_solv - 1) / (2. * epsilon_solv + 1) - self.crf = (1. / r_cut) * 3. * epsilon_solv / (2. * epsilon_solv + 1) + self.krf = (1.0 / r_cut ** 3) * (epsilon_solv - 1) / (2.0 * epsilon_solv + 1) + self.crf = (1.0 / r_cut) * 3.0 * epsilon_solv / (2.0 * epsilon_solv + 1) self.exp_solv = epsilon_solv self.eps_1 = epsilon_1 self.map_prm = map_prm @@ -188,13 +184,18 @@ def get_rf_energy(dr_vec, chrgprod, box): dr_norm = dr_norm[dr_norm <= self.r_cut] dr_inv = 1.0 / dr_norm - E = chrgprod * ONE_4PI_EPS0 / self.eps_1 * (dr_inv + self.krf * dr_norm * dr_norm - self.crf) + E = ( + chrgprod + * ONE_4PI_EPS0 + / self.eps_1 + * (dr_inv + self.krf * dr_norm * dr_norm - self.crf) + ) return E def get_energy(positions, box, pairs, charges, mscales): - chrg_map0 = self.map_prm[pairs[:,0]] - chrg_map1 = self.map_prm[pairs[:,1]] + chrg_map0 = self.map_prm[pairs[:, 0]] + chrg_map1 = self.map_prm[pairs[:, 1]] charge0 = charges[chrg_map0] charge1 = charges[chrg_map1] chrgprod = charge0 * charge1 @@ -203,8 +204,10 @@ def get_energy(positions, box, pairs, charges, mscales): E_inter = get_rf_energy(dr_vec, chrgprod, box) # exclusion - dr_excl_vec = positions[self.map_exclusion[:, 0]] - positions[ - self.map_exclusion[:, 1]] + dr_excl_vec = ( + positions[self.map_exclusion[:, 0]] + - positions[self.map_exclusion[:, 1]] + ) excl_map0 = self.map_prm[self.map_exclusion[:, 0]] excl_map1 = self.map_prm[self.map_exclusion[:, 1]] chrg0_excl = charges[excl_map0] @@ -220,22 +223,37 @@ def get_energy(positions, box, pairs, charges, mscales): class CoulombPMEForce: - def __init__(self, box, rc, ethresh, covalent_map): - self.kappa, self.K1, self.K2, self.K3 = setup_ewald_parameters( - rc, ethresh, box) - + self.kappa, self.K1, self.K2, self.K3 = setup_ewald_parameters(rc, ethresh, box) + self.covalent_map = covalent_map self.refresh_calculator() def generate_get_energy(self): def get_energy(positions, box, pairs, Q, mScales): - - return energy_pme(positions, box, pairs, Q, None, None, None, - mScales, None, None, self.covalent_map, None, - self.pme_recip, self.kappa, self.K1, self.K2, - self.K3, self.lmax, False) + + return energy_pme( + positions, + box, + pairs, + Q, + None, + None, + None, + mScales, + None, + None, + self.covalent_map, + None, + self.pme_recip, + self.kappa, + self.K1, + self.K2, + self.K3, + self.lmax, + False, + ) return get_energy @@ -243,36 +261,37 @@ def refresh_calculator(self): self.construct_local_frames = None lmax = 0 - self.pme_recip = generate_pme_recip(Ck_1, self.kappa, False, - self.pme_order, self.K1, self.K2, - self.K3, lmax) + self.pme_recip = generate_pme_recip( + Ck_1, self.kappa, False, self.pme_order, self.K1, self.K2, self.K3, lmax + ) self.get_energy = self.genreate_get_energy() return -if __name__ == '__main__': +if __name__ == "__main__": # atoms: 0, 1, 2, 3 # exclusion: 0 - 1, 2 - 3 # nbfix: 0 - 3 (3., 0.3) - positions = jnp.array([[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 1]], - dtype=float) + positions = jnp.array([[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 1]], dtype=float) p_ref = np.array([[0, 0, 0], [1, 0, 0], [0, 1, 0], [1, 0, 1]], dtype=float) box = jnp.array([[10, 0, 0], [0, 10, 0], [0, 0, 10]]) pairs = np.array([[0, 1], [0, 2], [1, 2], [1, 3], [2, 3]]) - covalent_map = np.array([[0, 1, 1, 0], [1, 0, 1, 1], [1, 1, 0, 1], [0, 1, 1, 0]]) # NOTE:not sure + covalent_map = np.array( + [[0, 1, 1, 0], [1, 0, 1, 1], [1, 1, 0, 1], [0, 1, 1, 0]] + ) # NOTE:not sure pairs_ref = np.array([[0, 2], [0, 3], [1, 2], [1, 3]]) - epsilon = jnp.array([1., 2.]) + epsilon = jnp.array([1.0, 2.0]) sigma = jnp.array([0.5, 0.6]) map_prm = np.array([0, 0, 1, 1]) map_nbfix = np.array([[0, 3]]) - epsfix = jnp.array([3.]) + epsfix = jnp.array([3.0]) sigfix = jnp.array([0.8]) map_exclusion = np.array([[0, 1], [2, 3]]) scale_exclusion = jnp.array([1.0, 1.0]) @@ -290,17 +309,17 @@ def refresh_calculator(self): sig1 = sigma[map_prm[pairs_ref[:, 1]]] eps = np.sqrt(eps0 * eps1) - sig = (sig0 + sig1) / 2. + sig = (sig0 + sig1) / 2.0 p0 = p_ref[pairs_ref[:, 0]] p1 = p_ref[pairs_ref[:, 1]] dr_vec = p1 - p0 dr = np.sqrt(np.power(dr_vec, 2).sum(axis=1)) sig_dr = sig / dr - Eref = 4. * eps * (np.power(sig_dr, 12) - np.power(sig_dr, 6)) + Eref = 4.0 * eps * (np.power(sig_dr, 12) - np.power(sig_dr, 6)) Eref = Eref.sum() dr_fix = p_ref[0] - p_ref[3] dr_fix = np.sqrt((dr_fix * dr_fix).sum()) - Eref += 4. * 3. * ((0.3 / dr_fix)**12 - (0.3 / dr_fix)**6) + Eref += 4.0 * 3.0 * ((0.3 / dr_fix) ** 12 - (0.3 / dr_fix) ** 6) print(E, "vs", Eref) F = grad(get_energy)(positions, box, pairs, epsilon, sigma, epsfix, sigfix) @@ -309,8 +328,8 @@ def refresh_calculator(self): # test PME rc = 4 ethresh = 1e-4 - mScales = np.array([1., 1., 1.]) + mScales = np.array([1.0, 1.0, 1.0]) Q = np.array([0.1, 0.1]) - pme = CoulombForce(box, rc, ethresh) + pme = CoulombPMEForce(box, rc, ethresh) get_energy = pme.generate_get_energy() E = get_energy(positions, box, pairs, Q, mScales) diff --git a/dmff/classical/intra.py b/dmff/classical/intra.py index b7c790811..48327d961 100644 --- a/dmff/classical/intra.py +++ b/dmff/classical/intra.py @@ -5,17 +5,20 @@ from jax import grad, value_and_grad, vmap, jit from jax.scipy.special import erf + def distance(p1v, p2v): return jnp.sqrt(jnp.sum(jnp.power(p1v - p2v, 2), axis=1)) - + + def angle(p1v, p2v, p3v): - v1 = (p2v - p1v) / jnp.reshape(distance(p1v, p2v), (-1,1)) - v2 = (p2v - p3v) / jnp.reshape(distance(p2v, p3v), (-1,1)) - vxx = v1[:,0] * v2[:,0] - vyy = v1[:,1] * v2[:,1] - vzz = v1[:,2] * v2[:,2] + v1 = (p2v - p1v) / jnp.reshape(distance(p1v, p2v), (-1, 1)) + v2 = (p2v - p3v) / jnp.reshape(distance(p2v, p3v), (-1, 1)) + vxx = v1[:, 0] * v2[:, 0] + vyy = v1[:, 1] * v2[:, 1] + vzz = v1[:, 2] * v2[:, 2] return jnp.arccos(vxx + vyy + vzz) - + + def dihedral(i, j, k, l): b1, b2, b3 = j - i, k - j, l - k @@ -29,6 +32,7 @@ def dihedral(i, j, k, l): r = vmap(jnp.arctan2, (0, 0))(p1, p2) return r + class HarmonicBondJaxForce: def __init__(self, p1idx, p2idx, prmidx): self.p1idx = p1idx @@ -48,16 +52,16 @@ def get_energy(positions, box, pairs, k, length): return get_energy def update_env(self, attr, val): - ''' + """ Update the environment of the calculator - ''' + """ setattr(self, attr, val) self.refresh_calculators() def refresh_calculators(self): - ''' + """ refresh the energy and force calculators according to the current environment - ''' + """ self.get_energy = self.generate_get_energy() self.get_forces = value_and_grad(self.get_energy) @@ -83,16 +87,16 @@ def get_energy(positions, box, pairs, k, theta0): return get_energy def update_env(self, attr, val): - ''' + """ Update the environment of the calculator - ''' + """ setattr(self, attr, val) self.refresh_calculators() def refresh_calculators(self): - ''' + """ refresh the energy and force calculators according to the current environment - ''' + """ self.get_energy = self.generate_get_energy() self.get_forces = value_and_grad(self.get_energy) @@ -122,15 +126,15 @@ def get_energy(positions, box, pairs, k, psi): return get_energy def update_env(self, attr, val): - ''' + """ Update the environment of the calculator - ''' + """ setattr(self, attr, val) self.refresh_calculators() def refresh_calculators(self): - ''' + """ refresh the energy and force calculators according to the current environment - ''' + """ self.get_energy = self.generate_get_energy() self.get_forces = value_and_grad(self.get_energy) From 42eb719480de2ae4872af1d7548b5a5b28bc772f Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 28 Mar 2022 15:36:21 +0800 Subject: [PATCH 63/72] feat(classical): add more GAFF2 test cases. --- dmff/api.py | 1 - dmff/classical/inter.py | 6 +- dmff/settings.py | 2 +- tests/data/lig-prm-full.xml | 145 +++++++++++++ tests/data/lig-prm-single-lj.xml | 344 +++++++++++++++++++++++++++++++ tests/test_classical.py | 25 ++- 6 files changed, 517 insertions(+), 6 deletions(-) create mode 100644 tests/data/lig-prm-full.xml create mode 100644 tests/data/lig-prm-single-lj.xml diff --git a/dmff/api.py b/dmff/api.py index f6a6071b5..d9bec951b 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -1576,7 +1576,6 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): def potential_fn(positions, box, pairs, params): - # TODO: can not differentiate lj14scale temperarily ljE = ljenergy( positions, box, diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 71fc6eda6..7c1faf84a 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -28,7 +28,6 @@ def __init__( isPBC=True, isNoCut=False, ) -> None: - self.isSwitch = isSwitch self.r_switch = r_switch self.r_cut = r_cut @@ -54,12 +53,12 @@ def get_LJ_energy(dr_vec, sig, eps, box): sig_dr = sig * dr_inv sig_dr6 = jnp.power(sig_dr, 6) sig_dr12 = jnp.power(sig_dr6, 2) - E = 4 * eps * (sig_dr12 - sig_dr6) + E = 4.0 * eps * (sig_dr12 - sig_dr6) if self.isSwitch: x = (dr_norm - self.r_switch) / (self.r_cut - self.r_switch) - S = 1 - 6 * x ** 5 + 15 * x ** 4 - 10 * x ** 3 + S = 1 - 6. * x ** 5 + 15. * x ** 4 - 10. * x ** 3 jnp.where(dr_norm > self.r_switch, E, E * S) return E @@ -100,6 +99,7 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): E_excl = self.scale_exclusion * E_excl return jnp.sum(E_inter) - jnp.sum(E_excl) + #return jnp.sum(E_inter) return get_energy diff --git a/dmff/settings.py b/dmff/settings.py index 8ba7097c3..9afabd551 100644 --- a/dmff/settings.py +++ b/dmff/settings.py @@ -1,6 +1,6 @@ from jax.config import config -PRECISION = 'single' # 'double' +PRECISION = 'double' # 'double' DO_JIT = True diff --git a/tests/data/lig-prm-full.xml b/tests/data/lig-prm-full.xml new file mode 100644 index 000000000..d4d21d9d5 --- /dev/null +++ b/tests/data/lig-prm-full.xml @@ -0,0 +1,145 @@ + + + 2022-01-13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/tests/data/lig-prm-single-lj.xml b/tests/data/lig-prm-single-lj.xml new file mode 100644 index 000000000..4db72fd07 --- /dev/null +++ b/tests/data/lig-prm-single-lj.xml @@ -0,0 +1,344 @@ + + + 2022-01-13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/test_classical.py b/tests/test_classical.py index 3362bdba3..81eea0c00 100644 --- a/tests/test_classical.py +++ b/tests/test_classical.py @@ -155,6 +155,29 @@ def test_coul_res_large_force(self, pdb, prm, value): energy = coulE(pos, box, pairs, h.getGenerators()[0].params) npt.assert_almost_equal(energy, value, decimal=3) + @pytest.mark.parametrize( + "pdb, prm, value", + [("data/lig.pdb", "data/lig-prm-single-lj.xml", 22.77804946899414)]) + def test_gaff2_lj_force(self, pdb, prm, value): + app.Topology.loadBondDefinitions("data/lig-top.xml") + pdb = app.PDBFile(pdb) + h = Hamiltonian(prm) + system = h.createPotential(pdb.topology, + nonbondedMethod=app.NoCutoff, + constraints=None, + removeCMMotion=False) + pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) + box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) + pairs = [] + for ii in range(pos.shape[0]): + for jj in range(ii + 1, pos.shape[0]): + pairs.append((ii, jj)) + pairs = np.array(pairs, dtype=int) + pairs = np.array(pairs, dtype=int) + ljE = h._potentials[0] + energy = ljE(pos, box, pairs, h.getGenerators()[0].params) + npt.assert_almost_equal(energy, value, decimal=3) + @pytest.mark.parametrize("pdb, prm, values", [ ("data/lig.pdb", ["data/gaff-2.11.xml", "data/lig-prm-lj.xml"], [ 174.16702270507812, 99.81585693359375, 99.0631103515625, @@ -171,7 +194,7 @@ def test_gaff2_force(self, pdb, prm, values): constraints=None, removeCMMotion=False) pos = pdb.getPositions(asNumpy=True).value_in_unit(unit.nanometer) - box = np.array([[10.0, 0.0, 0.0], [0.0, 10.0, 0.0], [0.0, 0.0, 10.0]]) + box = np.array([[20.0, 0.0, 0.0], [0.0, 20.0, 0.0], [0.0, 0.0, 20.0]]) pairs = [] for ii in range(pos.shape[0]): for jj in range(ii + 1, pos.shape[0]): From 82ead47c8a8a30fe4b3246e69593a49ab126fdbf Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Fri, 1 Apr 2022 10:38:00 +0800 Subject: [PATCH 64/72] fix(classical): remove unnecessary lines --- .gitignore | 7 ------- dmff/classical/inter.py | 7 ++----- 2 files changed, 2 insertions(+), 12 deletions(-) diff --git a/.gitignore b/.gitignore index 21e9619fe..538ef973f 100644 --- a/.gitignore +++ b/.gitignore @@ -470,14 +470,7 @@ StyleCopReport.xml *.ilk *.meta *.iobj -<<<<<<< HEAD *.ipdb -======= -<<<<<<< HEAD -*.ipdb -======= ->>>>>>> 27b8bde1c4744db2f9ce5623fcebd9f764693073 ->>>>>>> 70756cd80617652580988e6ef6b04545df86f7ca *.pgc *.pgd *.rsp diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 7c1faf84a..a6ba22812 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -1,6 +1,3 @@ -import sys - -sys.path.append("/home/lijichen/work/DMFF") from dmff.admp.pairwise import distribute_scalar import jax.numpy as jnp from dmff.admp.pme import energy_pme, setup_ewald_parameters @@ -10,9 +7,9 @@ import jax.numpy as jnp from jax import grad from dmff.admp.recip import generate_pme_recip, Ck_1 +from dmff.admp.pme import DIELECTRIC - -ONE_4PI_EPS0 = 138.935456 +ONE_4PI_EPS0 = DIELECTRIC * 0.1 class LennardJonesForce: From 97055e1788f87c1bc2b4427d673dbd55c73f0374 Mon Sep 17 00:00:00 2001 From: WangXinyan940 <44082181+WangXinyan940@users.noreply.github.com> Date: Mon, 11 Apr 2022 09:02:41 +0800 Subject: [PATCH 65/72] Differentiable classical force field support (#12) (#10) * fix(classical): fix import relationship * Update * feat(classical): make HarmonicBond and HarmonicAngle the same as GAFF * feat(classical): Support torsion force * fix(classical): use two attributes to save proper/improper dihedral separately * fix(classical): Jax the parameters when creating forces * fix(classical): fix a typo * fix(classical): use ndarray to save indexes * fix(classical): return sum of energies for torsion * feat(classical): support 4th order for torsion * feat(classical): Add UT for classical forcefields * fix(classical): Update PDB structures needed by test cases * fix(classical): Change atomtypes to be consistent with residues * feat(classical): add reference energies for test cases * fix(classical): decrease the decimal for energy comparision * feat(classical): Use the same way of openmm for dihedral typification * fix(classical): remove unused import * fix(classical): add order for impropers * fix(classical): use ndarray instead of list for index saving * fix(classical): Add import element * fix(classical): fix misusing between torsion.periodicity and torsion.phase * fix(classical): misusing between periodicity and phase * fix(classical): Correct bond connection in unit test pdb files * Fix pdb files in unittest * Update proper1.pdb * feat(classical): update reference energy for improper test * Update api.py * feat(classical): Add wildcard testcase for improper * set up LennardJones framework * feat(classical): Add test case for multiple dihedrals in one molecule * fix(classical): change the way of dihedral calculation * start to write LJ potential * feat(classical): Implement 12-6 potential without exclusion * feat(classical): Add exclusion pairs for LJ force * feat(classical): add simple test for LennardJonesForce * fix(classical): fix imp of nbfix * fix(classical): use more reasonable test case * fix(classical): add reference energy * draft for dev lj potential * fix Zonly typo in api.py:332 which not consistent with line 475 * reduce PME force to point charge calculation * get a preliminary result of point charge pme caclulation * feat(classical): support loading charge from residue card and NonbondedForce card * correct gradient of coul * feat(classical): Add setting for force switching * feat(classical): Add noPBC support on LJ potential * review api.py code * feat(classical): Use covalent map to generate exclusions * feat(classical): Call LJ in API * fix(classical): bug fix on misusing list and jnp.array * fix(classical): correctly support NoCutoff * fix(classical): fix misusing variables * feat(classical): add a testcase for two LJ molecules * fix(classical): correct setting of LJ case * feat(classical): add a testcase for large molecule (including 1-4) interactions * feat(classical): Add support for reaction-field and no-cutoff in Coulomb potential * feat(classical): Support more Coulomb potentials (#9) * fix(classical): fix misusing variables * feat(classical): add a testcase for two LJ molecules * fix(classical): correct setting of LJ case * feat(classical): add a testcase for large molecule (including 1-4) interactions * feat(classical): Add support for reaction-field and no-cutoff in Coulomb potential * imporve colvalent_map support * Update PME code (#8) * get a preliminary result of point charge pme caclulation * correct gradient of coul * review api.py code * feat(classical): Support more Coulomb potentials (#9) * fix(classical): fix misusing variables * feat(classical): add a testcase for two LJ molecules * fix(classical): correct setting of LJ case * feat(classical): add a testcase for large molecule (including 1-4) interactions * feat(classical): Add support for reaction-field and no-cutoff in Coulomb potential * imporve colvalent_map support Co-authored-by: Roy Kid * feat(classical): add testcases for NoCutoff Coulomb potential and a large GAFF molecule * feat(classical): Support differentiable 1-4 scale * Devel (#9) * feat(classical): Support differentiable mscale & add test cases (#10) * Update PME code (#8) * get a preliminary result of point charge pme caclulation * correct gradient of coul * review api.py code * feat(classical): Support more Coulomb potentials (#9) * fix(classical): fix misusing variables * feat(classical): add a testcase for two LJ molecules * fix(classical): correct setting of LJ case * feat(classical): add a testcase for large molecule (including 1-4) interactions * feat(classical): Add support for reaction-field and no-cutoff in Coulomb potential * imporve colvalent_map support Co-authored-by: Roy Kid * feat(classical): add testcases for NoCutoff Coulomb potential and a large GAFF molecule * feat(classical): Support differentiable 1-4 scale Co-authored-by: Roy Kid * formate code; add example XML section to parseElement docstring Co-authored-by: Roy Kid * feat(classical): add more GAFF2 test cases. * fix(classical): remove unnecessary lines Co-authored-by: Roy-Kid <42854324+Roy-Kid@users.noreply.github.com> Co-authored-by: Roy Kid Co-authored-by: Roy-Kid <42854324+Roy-Kid@users.noreply.github.com> Co-authored-by: Roy Kid From 22321d4fa1f6fa04b95bca0d6bda370683b587b7 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 11 Apr 2022 09:21:29 +0800 Subject: [PATCH 66/72] fix(classical): use another way to calc exclusion to increase precision --- dmff/api.py | 11 ++++++++--- dmff/classical/inter.py | 39 ++++++++++++++++++++------------------- dmff/settings.py | 2 +- 3 files changed, 29 insertions(+), 23 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index d9bec951b..4d9043fcb 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -647,7 +647,7 @@ def parseElement(element, hamiltonian): - <\HarminicBondForce> + <\HarmonicBondForce> """ @@ -1451,6 +1451,8 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): mscales_coul = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0, 1.0]) # mscale for PME mscales_coul = mscales_coul.at[2].set(1.0 - self.params["coulomb14scale"][0]) + mscales_lj = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0, 1.0]) # mscale for PME + mscales_lj = mscales_lj.at[2].set(1.0 - self.params["lj14scale"][0]) # Coulomb: only support PME for now # set PBC @@ -1505,6 +1507,7 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): map_nbfix = np.array(map_nbfix, dtype=int).reshape((-1, 2)) colv_map = build_covalent_map(data, 6) + map_exclusion = [] scale_14 = [] npair = 0 @@ -1529,6 +1532,8 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): 1.0 - self.params["coulomb14scale"][0] ) + + if unit.is_quantity(nonbondedCutoff): r_cut = nonbondedCutoff.value_in_unit(unit.nanometer) else: @@ -1549,8 +1554,7 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): r_cut, map_lj, map_nbfix, - map_exclusion, - scale_lj_exclusion, + colv_map, isSwitch=ifSwitch, isPBC=ifPBC, isNoCut=isNoCut, @@ -1584,6 +1588,7 @@ def potential_fn(positions, box, pairs, params): params["sigma"], params["epsfix"], params["sigfix"], + mscales_lj ) coulE = coulenergy(positions, box, pairs, params["charge"], mscales_coul) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index a6ba22812..2ae1d1c96 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -19,8 +19,7 @@ def __init__( r_cut, map_prm, map_nbfix, - map_exclusion, - scale_exclusion, + colvmap, isSwitch=False, isPBC=True, isNoCut=False, @@ -31,10 +30,9 @@ def __init__( self.map_prm = map_prm self.map_nbfix = map_nbfix - self.map_exclusion = map_exclusion - self.scale_exclusion = scale_exclusion self.ifPBC = isPBC self.ifNoCut = isNoCut + self.colvmap = colvmap def generate_get_energy(self): def get_LJ_energy(dr_vec, sig, eps, box): @@ -60,7 +58,7 @@ def get_LJ_energy(dr_vec, sig, eps, box): return E - def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): + def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, scale14): eps_m1 = jnp.repeat(epsilon.reshape((-1, 1)), epsilon.shape[0], axis=1) eps_m2 = eps_m1.T @@ -74,6 +72,9 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): sig_mat = sig_mat.at[self.map_nbfix[:, 0], self.map_nbfix[:, 1]].set(sigfix) sig_mat = sig_mat.at[self.map_nbfix[:, 1], self.map_nbfix[:, 0]].set(sigfix) + colv_pair = self.colvmap[pairs[:,0],pairs[:,1]] + mscale_pair = mscale[colv_pair] + dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] prm_pair0 = self.map_prm[pairs[:, 0]] prm_pair1 = self.map_prm[pairs[:, 1]] @@ -83,20 +84,20 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix): E_inter = get_LJ_energy(dr_vec, sig, eps, box) # exclusion - dr_excl_vec = ( - positions[self.map_exclusion[:, 0]] - - positions[self.map_exclusion[:, 1]] - ) - excl_map0 = self.map_prm[self.map_exclusion[:, 0]] - excl_map1 = self.map_prm[self.map_exclusion[:, 1]] - eps_excl = eps_mat[excl_map0, excl_map1] - sig_excl = sig_mat[excl_map0, excl_map1] - - E_excl = get_LJ_energy(dr_excl_vec, sig_excl, eps_excl, box) - E_excl = self.scale_exclusion * E_excl - - return jnp.sum(E_inter) - jnp.sum(E_excl) - #return jnp.sum(E_inter) + # dr_excl_vec = ( + # positions[self.map_exclusion[:, 0]] + # - positions[self.map_exclusion[:, 1]] + # ) + # excl_map0 = self.map_prm[self.map_exclusion[:, 0]] + # excl_map1 = self.map_prm[self.map_exclusion[:, 1]] + # eps_excl = eps_mat[excl_map0, excl_map1] + # sig_excl = sig_mat[excl_map0, excl_map1] +# + # E_excl = get_LJ_energy(dr_excl_vec, sig_excl, eps_excl, box) + # E_excl = self.scale_exclusion * E_excl + + # return jnp.sum(E_inter) - jnp.sum(E_excl) + return jnp.sum(E_inter * mscale_pair) return get_energy diff --git a/dmff/settings.py b/dmff/settings.py index 9afabd551..0ba35abe1 100644 --- a/dmff/settings.py +++ b/dmff/settings.py @@ -1,6 +1,6 @@ from jax.config import config -PRECISION = 'double' # 'double' +PRECISION = 'float' # 'double' DO_JIT = True From 790e6b00bd1fd482f123901cb8fa51e31d61f68b Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 11 Apr 2022 09:23:04 +0800 Subject: [PATCH 67/72] fix(classical): typo --- dmff/classical/inter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 2ae1d1c96..a8049f41f 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -73,7 +73,7 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, scale14): sig_mat = sig_mat.at[self.map_nbfix[:, 1], self.map_nbfix[:, 0]].set(sigfix) colv_pair = self.colvmap[pairs[:,0],pairs[:,1]] - mscale_pair = mscale[colv_pair] + mscale_pair = scale14[colv_pair] dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] prm_pair0 = self.map_prm[pairs[:, 0]] From a49121713ead63ffb487fe4227eaa305f3fc3284 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 11 Apr 2022 09:47:33 +0800 Subject: [PATCH 68/72] fix(classical): bug fix on 14scale --- dmff/api.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index 4d9043fcb..ff69756ea 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -1450,9 +1450,9 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): self.params[k] = jnp.array(self.params[k]) mscales_coul = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0, 1.0]) # mscale for PME - mscales_coul = mscales_coul.at[2].set(1.0 - self.params["coulomb14scale"][0]) - mscales_lj = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0, 1.0]) # mscale for PME - mscales_lj = mscales_lj.at[2].set(1.0 - self.params["lj14scale"][0]) + mscales_coul = mscales_coul.at[2].set(self.params["coulomb14scale"][0]) + mscales_lj = jnp.array([0.0, 0.0, 0.0, 1.0, 1.0, 1.0]) # mscale for LJ + mscales_lj = mscales_lj.at[2].set(self.params["lj14scale"][0]) # Coulomb: only support PME for now # set PBC From 29343584301114de7a0f98f939fb1d87fdc10144 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 11 Apr 2022 09:52:02 +0800 Subject: [PATCH 69/72] Update inter.py --- dmff/classical/inter.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index a8049f41f..ff9672183 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -81,7 +81,9 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, scale14): eps = eps_mat[prm_pair0, prm_pair1] sig = sig_mat[prm_pair0, prm_pair1] - E_inter = get_LJ_energy(dr_vec, sig, eps, box) + eps_scale = eps * mscale_pair + + E_inter = get_LJ_energy(dr_vec, sig, eps_scale, box) # exclusion # dr_excl_vec = ( @@ -97,7 +99,7 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, scale14): # E_excl = self.scale_exclusion * E_excl # return jnp.sum(E_inter) - jnp.sum(E_excl) - return jnp.sum(E_inter * mscale_pair) + return jnp.sum(E_inter) return get_energy From 528bcec84515a2a6f03244d8c3d518dc5570d2b0 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 11 Apr 2022 10:12:31 +0800 Subject: [PATCH 70/72] Update inter.py --- dmff/classical/inter.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index ff9672183..1a39d10bd 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -73,7 +73,7 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, scale14): sig_mat = sig_mat.at[self.map_nbfix[:, 1], self.map_nbfix[:, 0]].set(sigfix) colv_pair = self.colvmap[pairs[:,0],pairs[:,1]] - mscale_pair = scale14[colv_pair] + mscale_pair = scale14[colv_pair-1] dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] prm_pair0 = self.map_prm[pairs[:, 0]] From 77ecfc5d97e8abd9fd535a55322c215834b663aa Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 11 Apr 2022 10:20:56 +0800 Subject: [PATCH 71/72] feat(classical): Use more robust 1-4 scale method --- dmff/api.py | 34 ++---------------- dmff/classical/inter.py | 76 ++++++++++++----------------------------- 2 files changed, 23 insertions(+), 87 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index ff69756ea..67b2f85b0 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -1508,32 +1508,6 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): colv_map = build_covalent_map(data, 6) - map_exclusion = [] - scale_14 = [] - npair = 0 - for ii in range(colv_map.shape[0]): - for jj in range(ii + 1, colv_map.shape[1]): - if colv_map[ii, jj] > 0 and colv_map[ii, jj] < 4: - map_exclusion.append((ii, jj)) - if colv_map[ii, jj] == 3: - scale_14.append(npair) - npair += 1 - - map_exclusion = np.array(map_exclusion, dtype=int) - scale_14 = np.array(scale_14, dtype=int) - scale_lj_exclusion = np.ones((map_exclusion.shape[0],)) - scale_coul_exclusion = np.ones((map_exclusion.shape[0],)) - scale_lj_exclusion = jnp.array(scale_lj_exclusion) - scale_coul_exclusion = jnp.array(scale_coul_exclusion) - scale_lj_exclusion = scale_lj_exclusion.at[scale_14].set( - 1.0 - self.params["lj14scale"][0] - ) - scale_coul_exclusion = scale_coul_exclusion.at[scale_14].set( - 1.0 - self.params["coulomb14scale"][0] - ) - - - if unit.is_quantity(nonbondedCutoff): r_cut = nonbondedCutoff.value_in_unit(unit.nanometer) else: @@ -1565,14 +1539,10 @@ def createForce(self, system, data, nonbondedMethod, nonbondedCutoff, args): # do not use PME if nonbondedMethod in [app.CutoffPeriodic, app.CutoffNonPeriodic]: # use Reaction Field - coulforce = CoulReactionFieldForce( - r_cut, map_charge, map_exclusion, scale_coul_exclusion, isPBC=ifPBC - ) + coulforce = CoulReactionFieldForce(r_cut, map_charge, colv_map, isPBC=ifPBC) if nonbondedMethod is app.NoCutoff: # use NoCutoff - coulforce = CoulNoCutoffForce( - map_charge, map_exclusion, scale_coul_exclusion - ) + coulforce = CoulNoCutoffForce(map_charge, colv_map) else: coulforce = CoulombPMEForce(box, r_cut, self.ethresh, colv_map) diff --git a/dmff/classical/inter.py b/dmff/classical/inter.py index 1a39d10bd..7051c3903 100644 --- a/dmff/classical/inter.py +++ b/dmff/classical/inter.py @@ -58,7 +58,7 @@ def get_LJ_energy(dr_vec, sig, eps, box): return E - def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, scale14): + def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, mscales): eps_m1 = jnp.repeat(epsilon.reshape((-1, 1)), epsilon.shape[0], axis=1) eps_m2 = eps_m1.T @@ -73,7 +73,8 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, scale14): sig_mat = sig_mat.at[self.map_nbfix[:, 1], self.map_nbfix[:, 0]].set(sigfix) colv_pair = self.colvmap[pairs[:,0],pairs[:,1]] - mscale_pair = scale14[colv_pair-1] + mscale_pair = mscales[colv_pair-1] # in mscale vector, the 0th item is 1-2 scale, the 1st item is 1-3 scale, etc... + dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] prm_pair0 = self.map_prm[pairs[:, 0]] @@ -85,20 +86,6 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, scale14): E_inter = get_LJ_energy(dr_vec, sig, eps_scale, box) - # exclusion - # dr_excl_vec = ( - # positions[self.map_exclusion[:, 0]] - # - positions[self.map_exclusion[:, 1]] - # ) - # excl_map0 = self.map_prm[self.map_exclusion[:, 0]] - # excl_map1 = self.map_prm[self.map_exclusion[:, 1]] - # eps_excl = eps_mat[excl_map0, excl_map1] - # sig_excl = sig_mat[excl_map0, excl_map1] -# - # E_excl = get_LJ_energy(dr_excl_vec, sig_excl, eps_excl, box) - # E_excl = self.scale_exclusion * E_excl - - # return jnp.sum(E_inter) - jnp.sum(E_excl) return jnp.sum(E_inter) return get_energy @@ -107,12 +94,11 @@ def get_energy(positions, box, pairs, epsilon, sigma, epsfix, sigfix, scale14): class CoulNoCutoffForce: # E=\frac{{q}_{1}{q}_{2}}{4\pi\epsilon_0\epsilon_1 r} - def __init__(self, map_prm, map_exclusion, scale_exclusion, epsilon_1=1.0) -> None: + def __init__(self, map_prm, colvmap, epsilon_1=1.0) -> None: self.eps_1 = epsilon_1 self.map_prm = map_prm - self.map_exclusion = map_exclusion - self.scale_exclusion = scale_exclusion + self.colvmap = colvmap def generate_get_energy(self): def get_coul_energy(dr_vec, chrgprod, box): @@ -124,30 +110,21 @@ def get_coul_energy(dr_vec, chrgprod, box): return E def get_energy(positions, box, pairs, charges, mscales): + + colv_pair = self.colvmap[pairs[:,0],pairs[:,1]] + mscale_pair = mscales[colv_pair-1] + chrg_map0 = self.map_prm[pairs[:, 0]] chrg_map1 = self.map_prm[pairs[:, 1]] charge0 = charges[chrg_map0] charge1 = charges[chrg_map1] chrgprod = charge0 * charge1 + chrgprod_scale = chrgprod * mscale_pair dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] - E_inter = get_coul_energy(dr_vec, chrgprod, box) + E_inter = get_coul_energy(dr_vec, chrgprod_scale, box) - # exclusion - dr_excl_vec = ( - positions[self.map_exclusion[:, 0]] - - positions[self.map_exclusion[:, 1]] - ) - excl_map0 = self.map_prm[self.map_exclusion[:, 0]] - excl_map1 = self.map_prm[self.map_exclusion[:, 1]] - chrg0_excl = charges[excl_map0] - chrg1_excl = charges[excl_map1] - chrgprod_excl = chrg0_excl * chrg1_excl - - E_excl = get_coul_energy(dr_excl_vec, chrgprod_excl, box) - E_excl = self.scale_exclusion * E_excl - - return jnp.sum(E_inter) - jnp.sum(E_excl) + return jnp.sum(E_inter) return get_energy @@ -158,8 +135,7 @@ def __init__( self, r_cut, map_prm, - map_exclusion, - scale_exclusion, + colvmap, epsilon_1=1.0, epsilon_solv=78.5, isPBC=True, @@ -171,8 +147,7 @@ def __init__( self.exp_solv = epsilon_solv self.eps_1 = epsilon_1 self.map_prm = map_prm - self.map_exclusion = map_exclusion - self.scale_exclusion = scale_exclusion + self.colvmap = colvmap self.ifPBC = isPBC def generate_get_energy(self): @@ -194,30 +169,21 @@ def get_rf_energy(dr_vec, chrgprod, box): return E def get_energy(positions, box, pairs, charges, mscales): + + colv_pair = self.colvmap[pairs[:,0],pairs[:,1]] + mscale_pair = mscales[colv_pair-1] + chrg_map0 = self.map_prm[pairs[:, 0]] chrg_map1 = self.map_prm[pairs[:, 1]] charge0 = charges[chrg_map0] charge1 = charges[chrg_map1] chrgprod = charge0 * charge1 + chrgprod_scale = chrgprod * mscale_pair dr_vec = positions[pairs[:, 0]] - positions[pairs[:, 1]] - E_inter = get_rf_energy(dr_vec, chrgprod, box) + E_inter = get_rf_energy(dr_vec, chrgprod_scale, box) - # exclusion - dr_excl_vec = ( - positions[self.map_exclusion[:, 0]] - - positions[self.map_exclusion[:, 1]] - ) - excl_map0 = self.map_prm[self.map_exclusion[:, 0]] - excl_map1 = self.map_prm[self.map_exclusion[:, 1]] - chrg0_excl = charges[excl_map0] - chrg1_excl = charges[excl_map1] - chrgprod_excl = chrg0_excl * chrg1_excl - - E_excl = get_rf_energy(dr_excl_vec, chrgprod_excl, box) - E_excl = self.scale_exclusion * E_excl - - return jnp.sum(E_inter) - jnp.sum(E_excl) + return jnp.sum(E_inter) return get_energy From 423fa0dc2c85cb55bb238b8df8f28606135bb330 Mon Sep 17 00:00:00 2001 From: WangXinyan940 Date: Mon, 11 Apr 2022 11:51:43 +0800 Subject: [PATCH 72/72] feat(render): initialize render method --- dmff/api.py | 81 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 79 insertions(+), 2 deletions(-) diff --git a/dmff/api.py b/dmff/api.py index 67b2f85b0..ca62dcc7c 100644 --- a/dmff/api.py +++ b/dmff/api.py @@ -1,4 +1,5 @@ #!/usr/bin/env python +from re import subn import openmm as mm import openmm.app as app import openmm.unit as unit @@ -6,6 +7,7 @@ import numpy as np import jax.numpy as jnp from collections import defaultdict +import xml.etree.ElementTree as ET from .admp.disp_pme import ADMPDispPmeForce from .admp.multipole import convert_cart2harm, rot_local2global from .admp.pairwise import TT_damping_qq_c6_kernel, generate_pairwise_interaction @@ -31,6 +33,39 @@ import sys +class XMLNodeInfo: + + class XMLElementInfo: + + def __init__(self, name): + self.name = name + self.attributes = {} + + def addAttribute(self, key, value): + self.attributes[key] = value + + + def __init__(self, name): + self.name = name + self.attributes = {} + self.elements = [] + + + def addAttribute(self, key, value): + self.attributes[key] = value + + + def addElement(self, name, info): + element = self.XMLElementInfo(name) + for k, v in info.items(): + element.addAttribute(k, v) + self.elements.append(element) + + + def modResidue(self, residue, atom, key, value): + pass + + def get_line_context(file_path, line_number): return linecache.getline(file_path, line_number).strip() @@ -56,6 +91,15 @@ def build_covalent_map(data, max_neighbor): return covalent_map +def findAtomTypeTexts(attribs, num): + typetxt = [] + for n in range(1, num+1): + for key in ["type%i"%n, "class%i"%n]: + if key in attribs: + typetxt.append((key, attribs[key])) + break + return typetxt + class ADMPDispGenerator: def __init__(self, hamiltonian): self.ff = hamiltonian @@ -630,10 +674,13 @@ def __init__(self, hamiltonian): self.params = {"k": [], "length": []} self._jaxPotential = None self.types = [] + self.typetexts = [] def registerBondType(self, bond): + typetxt = findAtomTypeTexts(bond, 2) types = self.ff._findAtomTypes(bond, 2) self.types.append(types) + self.typetexts.append(typetxt) self.params["k"].append(float(bond["k"])) self.params["length"].append(float(bond["length"])) # length := r0 @@ -650,7 +697,6 @@ def parseElement(element, hamiltonian): <\HarmonicBondForce> """ - generator = HarmonicBondJaxGenerator(hamiltonian) hamiltonian.registerGenerator(generator) for bondtype in element.findall("Bond"): @@ -700,7 +746,18 @@ def getJaxPotential(self): def renderXML(self): # generate xml force field file - pass + finfo = XMLNodeInfo("HarmonicBondForce") + for ntype in range(len(self.types)): + binfo = {} + k1, v1 = self.typetexts[ntype][0] + k2, v2 = self.typetexts[ntype][1] + binfo[k1] = v1 + binfo[k2] = v2 + for key in self.params.keys(): + binfo[key] = "%.8f"%self.params[key][ntype] + finfo.addElement("Bond", binfo) + return finfo + # register all parsers @@ -1579,6 +1636,9 @@ def renderXML(self): class Hamiltonian(app.forcefield.ForceField): def __init__(self, *xmlnames): super().__init__(*xmlnames) + # add a function to parse AtomTypes and Residues information + self._atomtypes = None + self._residues = None self._potentials = [] def createPotential( @@ -1604,6 +1664,23 @@ def createPotential( pass return [p for p in self._potentials] + def render(self, filename): + root = ET.Element("ForceField") + forceInfos = [g.renderXML() for g in self._forces] + for finfo in forceInfos: + # create xml nodes + if finfo is not None: + node = ET.SubElement(root, finfo.name) + for key in finfo.attributes.keys(): + node.set(key, finfo.attributes[key]) + for elem in finfo.elements: + subnode = ET.SubElement(node, elem.name) + for key in elem.attributes.keys(): + subnode.set(key, elem.attributes[key]) + + tree = ET.ElementTree(root) + tree.write(filename) + if __name__ == "__main__": H = Hamiltonian("forcefield.xml")