From 7dfc56906ba20ebbe3c81fa52a0584df0c3b7489 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Tue, 18 Jul 2023 12:22:29 +0200 Subject: [PATCH 01/47] Basic implementation of a GROMOS11 reader. --- package/MDAnalysis/coordinates/TRC.py | 369 +++++++++++++++++++++ package/MDAnalysis/coordinates/__init__.py | 1 + package/MDAnalysis/coordinates/chain.py | 2 +- 3 files changed, 371 insertions(+), 1 deletion(-) create mode 100644 package/MDAnalysis/coordinates/TRC.py diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py new file mode 100644 index 00000000000..4ebc281ffb1 --- /dev/null +++ b/package/MDAnalysis/coordinates/TRC.py @@ -0,0 +1,369 @@ +# -*- Mode: python; tab-width: 4; indent-tabs-mode:nil; coding:utf-8 -*- +# vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 +# +# MDAnalysis --- https://www.mdanalysis.org +# Copyright (c) 2006-2017 The MDAnalysis Development Team and contributors +# (see the file AUTHORS for the full list of names) +# +# Released under the GNU Public Licence, v2 or any higher version +# +# Please cite your use of MDAnalysis in published work: +# +# R. J. Gowers, M. Linke, J. Barnoud, T. J. E. Reddy, M. N. Melo, S. L. Seyler, +# D. L. Dotson, J. Domanski, S. Buchoux, I. M. Kenney, and O. Beckstein. +# MDAnalysis: A Python package for the rapid analysis of molecular dynamics +# simulations. In S. Benthall and S. Rostrup editors, Proceedings of the 15th +# Python in Science Conference, pages 102-109, Austin, TX, 2016. SciPy. +# doi: 10.25080/majora-629e541a-00e +# +# N. Michaud-Agrawal, E. J. Denning, T. B. Woolf, and O. Beckstein. +# MDAnalysis: A Toolkit for the Analysis of Molecular Dynamics Simulations. +# J. Comput. Chem. 32 (2011), 2319--2327, doi:10.1002/jcc.21787 +# +""" +TRC trajectory files --- :mod:`MDAnalysis.coordinates.TRC` +========================================================== + +Read GROMOS11 TRC trajectories. + +-------- +""" + +import os +import errno +import numpy as np +import warnings +import logging +logger = logging.getLogger("MDAnalysis.coordinates.GROMOS11") + +from . import base +from .timestep import Timestep +from ..lib import util +from ..lib.util import cached, store_init_arguments +from ..exceptions import NoDataError +from ..version import __version__ + + +class TRCReader(base.ReaderBase): + """Reader for the GROMOS11 format + + This reader is used with trajectories from the GROMOS11 software. + """ + + format = 'TRC' + units = {'time': 'ps', 'length': 'nm'} + _Timestep = Timestep + + + @store_init_arguments + def __init__(self, filename, **kwargs): + super(TRCReader, self).__init__(filename, **kwargs) + + #GROMOS11 trajectories can be either *.trc or *.trc. + root, ext = os.path.splitext(self.filename) + self.trcfile = util.anyopen(self.filename) + self.compression = ext[1:] if ext[1:] != "trj" else None + + self._cache = {} + self.ts = self._Timestep(self.n_atoms, **self._ts_kwargs) + + # Read and calculate some information about the trajectory + self.traj_properties = self.read_traj_properties() + + self._reopen() + self.ts.dt = self.traj_properties["dt"] + + self._read_frame(0) + + + + @property + @cached('n_atoms') + def n_atoms(self): + try: + return self._read_atom_count() + except IOError: + return 0 + + def _read_atom_count(self): + traj_properties = self.read_traj_properties() + n_atoms = traj_properties["n_atoms"] + return n_atoms + + @property + @cached('n_frames') + def n_frames(self): + try: + return self._read_frame_count() + except IOError: + return 0 + + def _read_frame_count(self): + #Right now this is always the atom count of the last frame + traj_properties = self.read_traj_properties() + n_frames = traj_properties["n_frames"] + return n_frames + + + def _frame_to_ts(self, frameDat, ts): + """Convert a frame to a :class: TimeStep""" + ts.frame = self._frame + ts.time = frameDat["time"] + + ts.data['time'] = frameDat["time"] + ts.data['step'] = frameDat["step"] + + ts.dimensions = frameDat["dimensions"] + ts.positions = frameDat["positions"] + + # + # Convert the units + # + if self.convert_units: + if ts.has_positions: + self.convert_pos_from_native(self.ts._pos) + if self.ts.dimensions is not None: + self.convert_pos_from_native(self.ts.dimensions[:3]) + if self.ts.has_velocities: + self.convert_velocities_from_native(self.ts._velocities) + + return ts + + def read_traj_properties(self): + """ + * Reads the number of atoms per frame (n_atoms) + * Reads the number of frames (n_frames) + * Startposition of the positionred block for each frame (l_positionred_offset) + * Number of lines including spacers of the positionred block (l_positionred_linecount) + * Startposition of the genbox block for each frame (l_genbox_offset) + * Startposition of the timestep block for each frame (l_timestep_offset) + """ + + traj_properties = {} + + in_positionred_block = False + in_genbox_block = False + in_timestep_block = False + lastblock_was_timestep = False + + atom_counter = 0 + atom_len = 0 + frame_counter = 0 + frame_len = 0 + abs_line_counter = 0 + + offset = 0 + coordblock_start = 0 + + l_positionred_offset = [] + l_positionred_linecount = [] + + l_genbox_offset = [] + l_timestep_offset = [] + l_timestep_timevalues = [] + + # + # Loop through the file and save position of datablocks + # + with util.anyopen(self.filename) as f: + for line in f: + # + # Timestep-Block + # + if "TIMESTEP" in line: + in_timestep_block = True + lastblock_was_timestep = True + l_timestep_offset.append(int(offset) + len(line)) + + elif (lastblock_was_timestep == True): + l_timestep_timevalues.append(float(line.split()[1])) + lastblock_was_timestep = False + + if ("END" in line) and (in_timestep_block == True): + in_timestep_block = False + + # + # Coordinates-Block + # + if "POSITIONRED" in line: + in_positionred_block = True + coordblock_start = abs_line_counter + frame_counter += 1 + l_positionred_offset.append(int(offset) + len(line)) + if ("END" in line) and (in_positionred_block == True): + l_positionred_linecount.append(abs_line_counter - coordblock_start - 1) + atom_len = atom_counter + atom_counter = 0 + in_positionred_block = False + if (in_positionred_block == True) and ("POSITIONRED" not in line) and ("END" not in line) and ('#' not in line): #Count the atoms + atom_counter += 1 + + # + # Box-Block + # + if "GENBOX" in line: + in_genbox_block = True + l_genbox_offset.append(int(offset) + len(line)) + + if ("END" in line) and (in_genbox_block == True): + in_genbox_block = False + + # + # + abs_line_counter += 1 + offset += len(line) + frame_len = frame_counter + + traj_properties["n_atoms"] = atom_len + traj_properties["n_frames"] = frame_len + traj_properties["l_positionred_offset"] = l_positionred_offset + traj_properties["l_positionred_linecount"] = l_positionred_linecount + traj_properties["l_genbox_offset"] = l_genbox_offset + traj_properties["l_timestep_offset"] = l_timestep_offset + + traj_properties["dt"] = l_timestep_timevalues[1] - l_timestep_timevalues[0] + + return traj_properties + + + + + def read_GROMOS11_trajectory(self, _frame): + + frameDat = {} + f = self.trcfile + + l_positionred_offset = self.traj_properties["l_positionred_offset"] + l_positionred_linecount = self.traj_properties["l_positionred_linecount"] + l_genbox_offset = self.traj_properties["l_genbox_offset"] + l_timestep_offset = self.traj_properties["l_timestep_offset"] + + try: + + # + # Read time + # + while(True): + line = f.readline() + if (line=='') or (line==b''): break; #EOF + if (f.tell() in l_timestep_offset): + break; + + tmp_step, tmp_time = f.readline().split() + frameDat["step"] = int(tmp_step) + frameDat["time"] = float(tmp_time) + + # + # Read postitions + # + while(True): + line = f.readline() + if (line=='') or (line==b''): break; #EOF + if (f.tell() in l_positionred_offset): + break; + + tmp_buf = [] + for i in range(l_positionred_linecount[_frame]): + coords_str = f.readline() + if '#' in coords_str: + continue + else: + tmp_buf.append(coords_str.split()) + + if (np.array(tmp_buf).shape[0] == self.n_atoms): + #ts.positions = tmp_buf + frameDat["positions"] = tmp_buf + else: + raise ValueError("The trajectory contains the wrong number of atoms!") + + # + # Read box-dimensions + # + while(True): + line = f.readline() + if (line=='') or (line==b''): break; #EOF + if (f.tell() in l_genbox_offset): + break; + + ntb_setting = int(f.readline()) + if (ntb_setting == 0): + #ts.dimensions = None + frameDat["dimensions"]=None + self.periodic = False + + elif (ntb_setting in [-1,1]): + tmp_a, tmp_b, tmp_c = f.readline().split() + tmp_alpha, tmp_beta, tmp_gamma = f.readline().split() + #ts.dimensions = [float(tmp_a), float(tmp_b), float(tmp_c), float(tmp_alpha), float(tmp_beta), float(tmp_gamma)] + frameDat["dimensions"] = [float(tmp_a), float(tmp_b), float(tmp_c), float(tmp_alpha), float(tmp_beta), float(tmp_gamma)] + self.periodic = True + + line3 = f.readline().split() + line4 = f.readline().split() + for v in (line3 + line4): + if(float(v) != 0.0): + raise NotImplementedError("This reader supports neither triclinic and/or (yawed,pitched,rolled) boxes!") + + else: + raise NotImplementedError("This reader does not support this box type!") + + return frameDat + + + except (ValueError, IndexError) as err: + raise EOFError(err) from None + + def _read_frame(self, i): + """read frame i""" + self._frame = i - 1 + + #Move position in file just (-1 step) before the beginning of the block + self.trcfile.seek(self.traj_properties["l_timestep_offset"][i]-1, 0) + + return self._read_next_timestep() + + def _read_next_timestep(self, ts=None): + + if ts is None: + ts = self.ts + + if (self._frame >= self.n_frames): + raise EOFError('Trying to go over trajectory limit') + + + self._frame += 1 + raw_framedata = self.read_GROMOS11_trajectory(self._frame) + self._frame_to_ts(raw_framedata, ts) + self.ts = ts + + return ts + + + def _reopen(self): + self.close() + self.open_trajectory() + + def open_trajectory(self): + if self.trcfile is not None: + raise IOError( + errno.EALREADY, 'TRC file already opened', self.filename) + + #Reload trajectory file + self.trcfile = util.anyopen(self.filename) + + # reset ts + self.ts = self._Timestep(self.n_atoms, **self._ts_kwargs) + + # Set frame to -1, so next timestep is zero + self._frame = -1 + + return self.trcfile + + + def close(self): + """Close trc trajectory file if it was open.""" + if self.trcfile is None: + return + self.trcfile.close() + self.trcfile = None + diff --git a/package/MDAnalysis/coordinates/__init__.py b/package/MDAnalysis/coordinates/__init__.py index 7e1abaddcf8..ac218807d59 100644 --- a/package/MDAnalysis/coordinates/__init__.py +++ b/package/MDAnalysis/coordinates/__init__.py @@ -772,6 +772,7 @@ class can choose an appropriate reader automatically. from . import PDB from . import PDBQT from . import PQR +from . import TRC from . import TRJ from . import TRR from . import H5MD diff --git a/package/MDAnalysis/coordinates/chain.py b/package/MDAnalysis/coordinates/chain.py index 33f5a80b642..3727437ac29 100644 --- a/package/MDAnalysis/coordinates/chain.py +++ b/package/MDAnalysis/coordinates/chain.py @@ -299,7 +299,7 @@ def __init__(self, filenames, skip=1, dt=None, continuous=False, # calculate new start_frames to have a time continuous trajectory. if continuous: - check_allowed_filetypes(self.readers, ['XTC', 'TRR', "LAMMPSDUMP"]) + check_allowed_filetypes(self.readers, ['XTC', 'TRR', "LAMMPSDUMP", "TRC"]) if np.any(np.array(n_frames) == 1): raise RuntimeError("ChainReader: Need at least two frames in " "every trajectory with continuous=True") From 446c2a054289147fcd9752234d5a7bb680152cab Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Tue, 18 Jul 2023 17:51:07 +0200 Subject: [PATCH 02/47] Optimization of GROMOS11 trajectory reader --- package/MDAnalysis/coordinates/TRC.py | 179 ++++++++++---------------- 1 file changed, 66 insertions(+), 113 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 4ebc281ffb1..03d2f6c2c0e 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -63,13 +63,13 @@ def __init__(self, filename, **kwargs): root, ext = os.path.splitext(self.filename) self.trcfile = util.anyopen(self.filename) self.compression = ext[1:] if ext[1:] != "trj" else None - + + # Read and calculate some information about the trajectory + self.traj_properties = self.read_traj_properties() + self._cache = {} self.ts = self._Timestep(self.n_atoms, **self._ts_kwargs) - # Read and calculate some information about the trajectory - self.traj_properties = self.read_traj_properties() - self._reopen() self.ts.dt = self.traj_properties["dt"] @@ -86,8 +86,8 @@ def n_atoms(self): return 0 def _read_atom_count(self): - traj_properties = self.read_traj_properties() - n_atoms = traj_properties["n_atoms"] + #traj_properties = self.read_traj_properties() + n_atoms = self.traj_properties["n_atoms"] return n_atoms @property @@ -100,8 +100,8 @@ def n_frames(self): def _read_frame_count(self): #Right now this is always the atom count of the last frame - traj_properties = self.read_traj_properties() - n_frames = traj_properties["n_frames"] + #traj_properties = self.read_traj_properties() + n_frames = self.traj_properties["n_frames"] return n_frames @@ -132,17 +132,13 @@ def _frame_to_ts(self, frameDat, ts): def read_traj_properties(self): """ * Reads the number of atoms per frame (n_atoms) - * Reads the number of frames (n_frames) - * Startposition of the positionred block for each frame (l_positionred_offset) - * Number of lines including spacers of the positionred block (l_positionred_linecount) - * Startposition of the genbox block for each frame (l_genbox_offset) + * Reads the number of frames (n_frames) * Startposition of the timestep block for each frame (l_timestep_offset) """ traj_properties = {} in_positionred_block = False - in_genbox_block = False in_timestep_block = False lastblock_was_timestep = False @@ -150,15 +146,9 @@ def read_traj_properties(self): atom_len = 0 frame_counter = 0 frame_len = 0 - abs_line_counter = 0 - + offset = 0 - coordblock_start = 0 - - l_positionred_offset = [] - l_positionred_linecount = [] - - l_genbox_offset = [] + l_timestep_offset = [] l_timestep_timevalues = [] @@ -181,51 +171,34 @@ def read_traj_properties(self): if ("END" in line) and (in_timestep_block == True): in_timestep_block = False - + + # # Coordinates-Block # if "POSITIONRED" in line: in_positionred_block = True - coordblock_start = abs_line_counter + #coordblock_start = abs_line_counter frame_counter += 1 - l_positionred_offset.append(int(offset) + len(line)) + + if (in_positionred_block == True) and (atom_len == 0): + if (len(line.split()) == 3): + atom_counter += 1 + if ("END" in line) and (in_positionred_block == True): - l_positionred_linecount.append(abs_line_counter - coordblock_start - 1) atom_len = atom_counter - atom_counter = 0 in_positionred_block = False - if (in_positionred_block == True) and ("POSITIONRED" not in line) and ("END" not in line) and ('#' not in line): #Count the atoms - atom_counter += 1 - - # - # Box-Block - # - if "GENBOX" in line: - in_genbox_block = True - l_genbox_offset.append(int(offset) + len(line)) - - if ("END" in line) and (in_genbox_block == True): - in_genbox_block = False - # - # - abs_line_counter += 1 offset += len(line) frame_len = frame_counter - + traj_properties["n_atoms"] = atom_len traj_properties["n_frames"] = frame_len - traj_properties["l_positionred_offset"] = l_positionred_offset - traj_properties["l_positionred_linecount"] = l_positionred_linecount - traj_properties["l_genbox_offset"] = l_genbox_offset traj_properties["l_timestep_offset"] = l_timestep_offset traj_properties["dt"] = l_timestep_timevalues[1] - l_timestep_timevalues[0] - - return traj_properties - + return traj_properties def read_GROMOS11_trajectory(self, _frame): @@ -233,13 +206,10 @@ def read_GROMOS11_trajectory(self, _frame): frameDat = {} f = self.trcfile - l_positionred_offset = self.traj_properties["l_positionred_offset"] - l_positionred_linecount = self.traj_properties["l_positionred_linecount"] - l_genbox_offset = self.traj_properties["l_genbox_offset"] l_timestep_offset = self.traj_properties["l_timestep_offset"] try: - + # # Read time # @@ -247,66 +217,50 @@ def read_GROMOS11_trajectory(self, _frame): line = f.readline() if (line=='') or (line==b''): break; #EOF if (f.tell() in l_timestep_offset): - break; - - tmp_step, tmp_time = f.readline().split() - frameDat["step"] = int(tmp_step) - frameDat["time"] = float(tmp_time) - - # - # Read postitions - # - while(True): - line = f.readline() - if (line=='') or (line==b''): break; #EOF - if (f.tell() in l_positionred_offset): - break; - - tmp_buf = [] - for i in range(l_positionred_linecount[_frame]): - coords_str = f.readline() - if '#' in coords_str: - continue - else: - tmp_buf.append(coords_str.split()) - - if (np.array(tmp_buf).shape[0] == self.n_atoms): - #ts.positions = tmp_buf - frameDat["positions"] = tmp_buf - else: - raise ValueError("The trajectory contains the wrong number of atoms!") - - # - # Read box-dimensions - # - while(True): - line = f.readline() - if (line=='') or (line==b''): break; #EOF - if (f.tell() in l_genbox_offset): - break; - - ntb_setting = int(f.readline()) - if (ntb_setting == 0): - #ts.dimensions = None - frameDat["dimensions"]=None - self.periodic = False - - elif (ntb_setting in [-1,1]): - tmp_a, tmp_b, tmp_c = f.readline().split() - tmp_alpha, tmp_beta, tmp_gamma = f.readline().split() - #ts.dimensions = [float(tmp_a), float(tmp_b), float(tmp_c), float(tmp_alpha), float(tmp_beta), float(tmp_gamma)] - frameDat["dimensions"] = [float(tmp_a), float(tmp_b), float(tmp_c), float(tmp_alpha), float(tmp_beta), float(tmp_gamma)] - self.periodic = True - - line3 = f.readline().split() - line4 = f.readline().split() - for v in (line3 + line4): - if(float(v) != 0.0): - raise NotImplementedError("This reader supports neither triclinic and/or (yawed,pitched,rolled) boxes!") + tmp_step, tmp_time = f.readline().split() + frameDat["step"] = int(tmp_step) + frameDat["time"] = float(tmp_time) + + elif ("POSITIONRED" in line): + tmp_buf = [] + while(True): #for i in range(l_positionred_linecount[_frame]): + coords_str = f.readline() + if '#' in coords_str: + continue + elif "END" in coords_str: + break; + else: + tmp_buf.append(coords_str.split()) - else: - raise NotImplementedError("This reader does not support this box type!") + if (np.array(tmp_buf).shape[0] == self.n_atoms): + frameDat["positions"] = tmp_buf + else: + raise ValueError("The trajectory contains the wrong number of atoms!") + + elif ("GENBOX" in line): + ntb_setting = int(f.readline()) + if (ntb_setting == 0): + #ts.dimensions = None + frameDat["dimensions"]=None + self.periodic = False + + elif (ntb_setting in [-1,1]): + tmp_a, tmp_b, tmp_c = f.readline().split() + tmp_alpha, tmp_beta, tmp_gamma = f.readline().split() + frameDat["dimensions"] = [float(tmp_a), float(tmp_b), float(tmp_c), float(tmp_alpha), float(tmp_beta), float(tmp_gamma)] + self.periodic = True + + line3 = f.readline().split() + line4 = f.readline().split() + for v in (line3 + line4): + if(float(v) != 0.0): + raise NotImplementedError("This reader supports neither triclinic and/or (yawed,pitched,rolled) boxes!") + else: + raise NotImplementedError("This reader does not support this box type!") + + break; + return frameDat @@ -316,7 +270,7 @@ def read_GROMOS11_trajectory(self, _frame): def _read_frame(self, i): """read frame i""" self._frame = i - 1 - + #Move position in file just (-1 step) before the beginning of the block self.trcfile.seek(self.traj_properties["l_timestep_offset"][i]-1, 0) @@ -327,11 +281,10 @@ def _read_next_timestep(self, ts=None): if ts is None: ts = self.ts + self._frame += 1 if (self._frame >= self.n_frames): raise EOFError('Trying to go over trajectory limit') - - self._frame += 1 raw_framedata = self.read_GROMOS11_trajectory(self._frame) self._frame_to_ts(raw_framedata, ts) self.ts = ts From a95c9fa3cad8d5899c20b8657627f6ce6c36cd71 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Wed, 13 Sep 2023 15:56:20 +0200 Subject: [PATCH 03/47] Code cleanup and optimizations --- package/MDAnalysis/coordinates/TRC.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 03d2f6c2c0e..416e1045a6b 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -146,8 +146,6 @@ def read_traj_properties(self): atom_len = 0 frame_counter = 0 frame_len = 0 - - offset = 0 l_timestep_offset = [] l_timestep_timevalues = [] @@ -156,14 +154,16 @@ def read_traj_properties(self): # Loop through the file and save position of datablocks # with util.anyopen(self.filename) as f: - for line in f: + while(True): + line = f.readline() + if (line=='') or (line==b''): break; #EOF # # Timestep-Block # if "TIMESTEP" in line: in_timestep_block = True lastblock_was_timestep = True - l_timestep_offset.append(int(offset) + len(line)) + l_timestep_offset.append(f.tell()) elif (lastblock_was_timestep == True): l_timestep_timevalues.append(float(line.split()[1])) @@ -189,7 +189,6 @@ def read_traj_properties(self): atom_len = atom_counter in_positionred_block = False - offset += len(line) frame_len = frame_counter traj_properties["n_atoms"] = atom_len @@ -271,8 +270,8 @@ def _read_frame(self, i): """read frame i""" self._frame = i - 1 - #Move position in file just (-1 step) before the beginning of the block - self.trcfile.seek(self.traj_properties["l_timestep_offset"][i]-1, 0) + #Move position in file just (-2 byte) before the beginning of the block + self.trcfile.seek(self.traj_properties["l_timestep_offset"][i]-2, 0) return self._read_next_timestep() From dfdb45fb42cd8ab8e4cd1f5016be62e45004f9b2 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Thu, 14 Sep 2023 11:20:49 +0200 Subject: [PATCH 04/47] Reformat code to be PEP8 compliant --- package/MDAnalysis/coordinates/TRC.py | 86 +++++++++++++-------------- 1 file changed, 42 insertions(+), 44 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 416e1045a6b..2d2ad910de4 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -32,9 +32,6 @@ import os import errno import numpy as np -import warnings -import logging -logger = logging.getLogger("MDAnalysis.coordinates.GROMOS11") from . import base from .timestep import Timestep @@ -43,10 +40,12 @@ from ..exceptions import NoDataError from ..version import __version__ +import logging +logger = logging.getLogger("MDAnalysis.coordinates.GROMOS11") + class TRCReader(base.ReaderBase): """Reader for the GROMOS11 format - This reader is used with trajectories from the GROMOS11 software. """ @@ -54,12 +53,11 @@ class TRCReader(base.ReaderBase): units = {'time': 'ps', 'length': 'nm'} _Timestep = Timestep - @store_init_arguments def __init__(self, filename, **kwargs): super(TRCReader, self).__init__(filename, **kwargs) - #GROMOS11 trajectories can be either *.trc or *.trc. + # GROMOS11 trajectories can be either *.trc or *.trc. root, ext = os.path.splitext(self.filename) self.trcfile = util.anyopen(self.filename) self.compression = ext[1:] if ext[1:] != "trj" else None @@ -75,8 +73,6 @@ def __init__(self, filename, **kwargs): self._read_frame(0) - - @property @cached('n_atoms') def n_atoms(self): @@ -86,7 +82,6 @@ def n_atoms(self): return 0 def _read_atom_count(self): - #traj_properties = self.read_traj_properties() n_atoms = self.traj_properties["n_atoms"] return n_atoms @@ -99,12 +94,10 @@ def n_frames(self): return 0 def _read_frame_count(self): - #Right now this is always the atom count of the last frame - #traj_properties = self.read_traj_properties() + # Right now this is always the atom count of the last frame n_frames = self.traj_properties["n_frames"] return n_frames - - + def _frame_to_ts(self, frameDat, ts): """Convert a frame to a :class: TimeStep""" ts.frame = self._frame @@ -133,7 +126,8 @@ def read_traj_properties(self): """ * Reads the number of atoms per frame (n_atoms) * Reads the number of frames (n_frames) - * Startposition of the timestep block for each frame (l_timestep_offset) + * Startposition of the timestep block + for each frame (l_timestep_offset) """ traj_properties = {} @@ -154,12 +148,12 @@ def read_traj_properties(self): # Loop through the file and save position of datablocks # with util.anyopen(self.filename) as f: - while(True): - line = f.readline() - if (line=='') or (line==b''): break; #EOF - # + while (True): + line = f.readline() + if (line == '') or (line == b''): break # EOF + # # Timestep-Block - # + # if "TIMESTEP" in line: in_timestep_block = True lastblock_was_timestep = True @@ -171,14 +165,13 @@ def read_traj_properties(self): if ("END" in line) and (in_timestep_block == True): in_timestep_block = False - - + # # Coordinates-Block # if "POSITIONRED" in line: in_positionred_block = True - #coordblock_start = abs_line_counter + # coordblock_start = abs_line_counter frame_counter += 1 if (in_positionred_block == True) and (atom_len == 0): @@ -195,11 +188,11 @@ def read_traj_properties(self): traj_properties["n_frames"] = frame_len traj_properties["l_timestep_offset"] = l_timestep_offset - traj_properties["dt"] = l_timestep_timevalues[1] - l_timestep_timevalues[0] + traj_properties["dt"] = (l_timestep_timevalues[1] + - l_timestep_timevalues[0]) return traj_properties - def read_GROMOS11_trajectory(self, _frame): frameDat = {} @@ -212,9 +205,9 @@ def read_GROMOS11_trajectory(self, _frame): # # Read time # - while(True): + while (True): line = f.readline() - if (line=='') or (line==b''): break; #EOF + if (line == '') or (line == b''): break # EOF if (f.tell() in l_timestep_offset): tmp_step, tmp_time = f.readline().split() frameDat["step"] = int(tmp_step) @@ -222,47 +215,54 @@ def read_GROMOS11_trajectory(self, _frame): elif ("POSITIONRED" in line): tmp_buf = [] - while(True): #for i in range(l_positionred_linecount[_frame]): + while (True): coords_str = f.readline() if '#' in coords_str: continue elif "END" in coords_str: - break; + break else: tmp_buf.append(coords_str.split()) - if (np.array(tmp_buf).shape[0] == self.n_atoms): frameDat["positions"] = tmp_buf else: - raise ValueError("The trajectory contains the wrong number of atoms!") + raise ValueError("The trajectory contains \ + the wrong number of atoms!") elif ("GENBOX" in line): ntb_setting = int(f.readline()) if (ntb_setting == 0): - #ts.dimensions = None - frameDat["dimensions"]=None + frameDat["dimensions"] = None self.periodic = False - elif (ntb_setting in [-1,1]): + elif (ntb_setting in [-1, 1]): tmp_a, tmp_b, tmp_c = f.readline().split() tmp_alpha, tmp_beta, tmp_gamma = f.readline().split() - frameDat["dimensions"] = [float(tmp_a), float(tmp_b), float(tmp_c), float(tmp_alpha), float(tmp_beta), float(tmp_gamma)] + frameDat["dimensions"] = [float(tmp_a), + float(tmp_b), + float(tmp_c), + float(tmp_alpha), + float(tmp_beta), + float(tmp_gamma)] self.periodic = True line3 = f.readline().split() line4 = f.readline().split() for v in (line3 + line4): - if(float(v) != 0.0): - raise NotImplementedError("This reader supports neither triclinic and/or (yawed,pitched,rolled) boxes!") + if (float(v) != 0.0): + raise NotImplementedError("This reader \ + supports neither \ + triclinic and/or \ + (yawed,pitched, \ + rolled) boxes!") else: - raise NotImplementedError("This reader does not support this box type!") - - break; + raise NotImplementedError("This reader does not \ + support this box type!") + break return frameDat - except (ValueError, IndexError) as err: raise EOFError(err) from None @@ -270,7 +270,7 @@ def _read_frame(self, i): """read frame i""" self._frame = i - 1 - #Move position in file just (-2 byte) before the beginning of the block + # Move position in file just (-2 byte) before the start of the block self.trcfile.seek(self.traj_properties["l_timestep_offset"][i]-2, 0) return self._read_next_timestep() @@ -290,7 +290,6 @@ def _read_next_timestep(self, ts=None): return ts - def _reopen(self): self.close() self.open_trajectory() @@ -300,7 +299,7 @@ def open_trajectory(self): raise IOError( errno.EALREADY, 'TRC file already opened', self.filename) - #Reload trajectory file + # Reload trajectory file self.trcfile = util.anyopen(self.filename) # reset ts @@ -311,7 +310,6 @@ def open_trajectory(self): return self.trcfile - def close(self): """Close trc trajectory file if it was open.""" if self.trcfile is None: From e1867ba70c764c55a41aee21081eeb1c2e339135 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Fri, 15 Sep 2023 15:31:28 +0200 Subject: [PATCH 05/47] Documentation --- package/MDAnalysis/coordinates/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/package/MDAnalysis/coordinates/__init__.py b/package/MDAnalysis/coordinates/__init__.py index ac218807d59..10678388f5e 100644 --- a/package/MDAnalysis/coordinates/__init__.py +++ b/package/MDAnalysis/coordinates/__init__.py @@ -235,6 +235,9 @@ class can choose an appropriate reader automatically. | | | | the first frame present will be read. | | [#a]_ | | | Module :mod:`MDAnalysis.coordinates.GRO` | +---------------+-----------+-------+------------------------------------------------------+ + | GROMOS11 | trc | r | basic GROMOS11 trajectories for coordinates. | + | | | | Module :mod:`MDAnalysis.coordinates.TRC` | + +---------------+-----------+-------+------------------------------------------------------+ | CHARMM | crd | r/w | "CARD" coordinate output from CHARMM; deals with | | CARD [#a]_ | | | either standard or EXTended format. Module | | | | | :mod:`MDAnalysis.coordinates.CRD` | From c2ddedb0273ba8e5ccc5d68cfa84d40ed49ded82 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Fri, 15 Sep 2023 15:32:11 +0200 Subject: [PATCH 06/47] Adds pytests, better PEP8 compliance and GROMOS11 reader optimizations --- package/MDAnalysis/coordinates/TRC.py | 19 +-- .../MDAnalysisTests/coordinates/test_trc.py | 67 ++++++++ .../data/gromos11/gromos11_tutorial.pdb | 151 ++++++++++++++++++ .../data/gromos11/gromos11_tutorial_1.trc.gz | Bin 0 -> 4508 bytes .../data/gromos11/gromos11_tutorial_2.trc.gz | Bin 0 -> 4537 bytes testsuite/MDAnalysisTests/datafiles.py | 5 + 6 files changed, 233 insertions(+), 9 deletions(-) create mode 100644 testsuite/MDAnalysisTests/coordinates/test_trc.py create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial.pdb create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial_1.trc.gz create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial_2.trc.gz diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 2d2ad910de4..4e8a23bf614 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -108,18 +108,18 @@ def _frame_to_ts(self, frameDat, ts): ts.dimensions = frameDat["dimensions"] ts.positions = frameDat["positions"] - + # # Convert the units # if self.convert_units: if ts.has_positions: - self.convert_pos_from_native(self.ts._pos) - if self.ts.dimensions is not None: - self.convert_pos_from_native(self.ts.dimensions[:3]) - if self.ts.has_velocities: - self.convert_velocities_from_native(self.ts._velocities) - + self.convert_pos_from_native(ts.positions) + if ts.dimensions is not None: + self.convert_pos_from_native(ts.dimensions[:3]) + if ts.has_velocities: + self.convert_velocities_from_native(ts.velocities) + return ts def read_traj_properties(self): @@ -210,7 +210,7 @@ def read_GROMOS11_trajectory(self, _frame): if (line == '') or (line == b''): break # EOF if (f.tell() in l_timestep_offset): tmp_step, tmp_time = f.readline().split() - frameDat["step"] = int(tmp_step) + frameDat["step"] = int(round(float(tmp_step))) frameDat["time"] = float(tmp_time) elif ("POSITIONRED" in line): @@ -225,7 +225,8 @@ def read_GROMOS11_trajectory(self, _frame): tmp_buf.append(coords_str.split()) if (np.array(tmp_buf).shape[0] == self.n_atoms): - frameDat["positions"] = tmp_buf + frameDat["positions"] = np.asarray(tmp_buf, + dtype=np.float64) else: raise ValueError("The trajectory contains \ the wrong number of atoms!") diff --git a/testsuite/MDAnalysisTests/coordinates/test_trc.py b/testsuite/MDAnalysisTests/coordinates/test_trc.py new file mode 100644 index 00000000000..6473d00e107 --- /dev/null +++ b/testsuite/MDAnalysisTests/coordinates/test_trc.py @@ -0,0 +1,67 @@ +# -*- Mode: python; tab-width: 4; indent-tabs-mode:nil; coding:utf-8 -*- +# vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4 fileencoding=utf-8 +# +# MDAnalysis --- https://www.mdanalysis.org +# Copyright (c) 2006-2017 The MDAnalysis Development Team and contributors +# (see the file AUTHORS for the full list of names) +# +# Released under the GNU Public Licence, v2 or any higher version +# +# Please cite your use of MDAnalysis in published work: +# +# R. J. Gowers, M. Linke, J. Barnoud, T. J. E. Reddy, M. N. Melo, S. L. Seyler, +# D. L. Dotson, J. Domanski, S. Buchoux, I. M. Kenney, and O. Beckstein. +# MDAnalysis: A Python package for the rapid analysis of molecular dynamics +# simulations. In S. Benthall and S. Rostrup editors, Proceedings of the 15th +# Python in Science Conference, pages 102-109, Austin, TX, 2016. SciPy. +# doi: 10.25080/majora-629e541a-00e +# +# N. Michaud-Agrawal, E. J. Denning, T. B. Woolf, and O. Beckstein. +# MDAnalysis: A Toolkit for the Analysis of Molecular Dynamics Simulations. +# J. Comput. Chem. 32 (2011), 2319--2327, doi:10.1002/jcc.21787 +# +import pytest +from numpy.testing import assert_almost_equal + +import MDAnalysis as mda +from MDAnalysis.coordinates.TRC import TRCReader +from MDAnalysisTests.datafiles import TRC_PDB, TRC_TRAJ1, TRC_TRAJ2 + + +class TestTRCReader: + @pytest.fixture(scope='class') + def TRC_U(self): + return mda.Universe(TRC_PDB, [TRC_TRAJ1, TRC_TRAJ2], + format="TRC", continuous=True) + + def test_trc_positions(self, TRC_U): + # first frame first particle + TRC_U.trajectory[0] + assert_almost_equal(TRC_U.atoms.positions[0], + [2.19782507, 24.65064345, 29.39783426]) + # second frame first particle + TRC_U.trajectory[5] + assert_almost_equal(TRC_U.atoms.positions[0], + [0.37026654, 22.78805010, 3.69695262]) + + def test_trc_dimensions(self, TRC_U): + ts = TRC_U.trajectory[0] + assert_almost_equal( + ts.dimensions, + [30.70196350, 30.70196350, 30.70196350, 90., 90., 90.] + ) + + def test_trc_n_frames(self, TRC_U): + assert len(TRC_U.trajectory) == 6 + + def test_trc_frame(self, TRC_U): + assert TRC_U.trajectory[0].frame == 0 + assert TRC_U.trajectory[4].frame == 4 + + def test_trc_time(self, TRC_U): + assert TRC_U.trajectory[0].time == 0 + assert TRC_U.trajectory[4].time == 80 + + def test_trc_data_step(self, TRC_U): + assert TRC_U.trajectory[0].data['step'] == 0 + assert TRC_U.trajectory[4].data['step'] == 10000 diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial.pdb b/testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial.pdb new file mode 100644 index 00000000000..35802f3cf05 --- /dev/null +++ b/testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial.pdb @@ -0,0 +1,151 @@ +TITLE FRAME_00001.pdb +MODEL +CRYST1 30.702 30.702 30.702 90.00 90.00 90.00 P 1 1 +ATOM 1 H1 VAL A 1 4.673 -1.146 0.809 1.00 0.00 +ATOM 2 H2 VAL A 1 3.968 -0.029 -0.077 1.00 0.00 +ATOM 3 N VAL A 1 4.282 -0.978 -0.096 1.00 0.00 +ATOM 4 H3 VAL A 1 5.007 -1.104 -0.773 1.00 0.00 +ATOM 5 CA VAL A 1 3.147 -1.895 -0.277 1.00 0.00 +ATOM 6 CB VAL A 1 3.778 -3.287 -0.206 1.00 0.00 +ATOM 7 CG1 VAL A 1 3.877 -3.903 1.191 1.00 0.00 +ATOM 8 CG2 VAL A 1 3.070 -4.197 -1.211 1.00 0.00 +ATOM 9 C VAL A 1 2.087 -1.520 0.760 1.00 0.00 +ATOM 10 O VAL A 1 2.086 -0.367 1.187 1.00 0.00 +ATOM 11 N TYR A 2 1.176 -2.401 1.166 1.00 0.00 +ATOM 12 H TYR A 2 1.184 -3.332 0.802 1.00 0.00 +ATOM 13 CA TYR A 2 0.035 -2.202 2.071 1.00 0.00 +ATOM 14 CB TYR A 2 0.364 -2.276 3.563 1.00 0.00 +ATOM 15 CG TYR A 2 0.871 -1.007 4.251 1.00 0.00 +ATOM 16 CD1 TYR A 2 2.203 -0.626 4.143 1.00 0.00 +ATOM 17 HD1 TYR A 2 2.964 -1.369 3.904 1.00 0.00 +ATOM 18 CD2 TYR A 2 -0.066 -0.170 4.845 1.00 0.00 +ATOM 19 HD2 TYR A 2 -1.066 -0.532 5.084 1.00 0.00 +ATOM 20 CE1 TYR A 2 2.577 0.658 4.521 1.00 0.00 +ATOM 21 HE1 TYR A 2 3.614 0.986 4.458 1.00 0.00 +ATOM 22 CE2 TYR A 2 0.317 1.101 5.256 1.00 0.00 +ATOM 23 HE2 TYR A 2 -0.364 1.632 5.920 1.00 0.00 +ATOM 24 CZ TYR A 2 1.621 1.528 5.033 1.00 0.00 +ATOM 25 OH TYR A 2 1.916 2.847 4.885 1.00 0.00 +ATOM 26 HH TYR A 2 1.295 3.385 5.455 1.00 0.00 +ATOM 27 C TYR A 2 -0.999 -1.167 1.622 1.00 0.00 +ATOM 28 O TYR A 2 -1.956 -1.549 0.950 1.00 0.00 +ATOM 29 N ARG A 3 -0.758 0.130 1.786 1.00 0.00 +ATOM 30 H ARG A 3 0.014 0.477 2.319 1.00 0.00 +ATOM 31 CA ARG A 3 -1.708 1.146 1.310 1.00 0.00 +ATOM 32 CB ARG A 3 -1.564 2.348 2.245 1.00 0.00 +ATOM 33 CG ARG A 3 -0.373 3.274 1.987 1.00 0.00 +ATOM 34 CD ARG A 3 -0.842 4.715 2.202 1.00 0.00 +ATOM 35 NE ARG A 3 -0.529 5.529 1.018 1.00 0.00 +ATOM 36 HE ARG A 3 0.415 5.855 0.970 1.00 0.00 +ATOM 37 CZ ARG A 3 -1.365 5.839 0.018 1.00 0.00 +ATOM 38 NH1 ARG A 3 -2.614 5.373 -0.109 1.00 0.00 +ATOM 39 HH11 ARG A 3 -3.199 5.732 -0.836 1.00 0.00 +ATOM 40 HH12 ARG A 3 -2.953 4.639 0.480 1.00 0.00 +ATOM 41 NH2 ARG A 3 -0.987 6.682 -0.953 1.00 0.00 +ATOM 42 HH21 ARG A 3 -1.552 6.937 -1.737 1.00 0.00 +ATOM 43 HH22 ARG A 3 -0.080 7.096 -0.869 1.00 0.00 +ATOM 44 C ARG A 3 -1.713 1.486 -0.182 1.00 0.00 +ATOM 45 O ARG A 3 -1.999 2.597 -0.624 1.00 0.00 +ATOM 46 N LYSHA 4 -1.499 0.425 -0.955 1.00 0.00 +ATOM 47 H LYSHA 4 -1.606 -0.472 -0.525 1.00 0.00 +ATOM 48 CA LYSHA 4 -1.377 0.371 -2.419 1.00 0.00 +ATOM 49 CB LYSHA 4 -0.428 1.442 -2.961 1.00 0.00 +ATOM 50 CG LYSHA 4 -0.915 2.025 -4.289 1.00 0.00 +ATOM 51 CD LYSHA 4 -0.412 1.233 -5.497 1.00 0.00 +ATOM 52 CE LYSHA 4 -0.850 1.937 -6.782 1.00 0.00 +ATOM 53 NZ LYSHA 4 0.001 1.588 -7.930 1.00 0.00 +ATOM 54 HZ1 LYSHA 4 0.054 0.594 -8.022 1.00 0.00 +ATOM 55 HZ2 LYSHA 4 0.944 1.915 -7.873 1.00 0.00 +ATOM 56 HZ3 LYSHA 4 -0.416 1.877 -8.792 1.00 0.00 +ATOM 57 C LYSHA 4 -0.972 -1.035 -2.868 1.00 0.00 +ATOM 58 O LYSHA 4 0.196 -1.312 -3.135 1.00 0.00 +ATOM 59 N GLN A 5 -1.916 -1.930 -2.592 1.00 0.00 +ATOM 60 H GLN A 5 -2.757 -1.675 -2.115 1.00 0.00 +ATOM 61 CA GLN A 5 -2.089 -3.360 -2.888 1.00 0.00 +ATOM 62 CB GLN A 5 -1.078 -4.249 -2.160 1.00 0.00 +ATOM 63 CG GLN A 5 -1.301 -4.361 -0.650 1.00 0.00 +ATOM 64 CD GLN A 5 -0.331 -5.355 -0.010 1.00 0.00 +ATOM 65 OE1 GLN A 5 0.736 -5.032 0.509 1.00 0.00 +ATOM 66 NE2 GLN A 5 -0.753 -6.616 -0.000 1.00 0.00 +ATOM 67 HE21 GLN A 5 -0.142 -7.242 0.483 1.00 0.00 +ATOM 68 HE22 GLN A 5 -1.654 -6.912 -0.318 1.00 0.00 +ATOM 69 C GLN A 5 -3.510 -3.648 -2.398 1.00 0.00 +ATOM 70 O1 GLN A 5 -3.927 -4.822 -2.490 1.00 0.00 +ATOM 71 O2 GLN A 5 -4.142 -2.698 -1.887 1.00 0.00 +TER +ATOM 72 CL CL- B 6 -0.696 -0.518 -9.229 1.00 0.00 +TER +ATOM 73 CL CL- C 7 3.033 6.388 1.574 1.00 0.00 +TER +CONECT 1 3 +CONECT 2 3 +CONECT 3 4 +CONECT 3 5 +CONECT 5 6 +CONECT 5 9 +CONECT 6 7 +CONECT 6 8 +CONECT 9 10 +CONECT 9 11 +CONECT 11 12 +CONECT 11 13 +CONECT 13 14 +CONECT 13 27 +CONECT 14 15 +CONECT 15 16 +CONECT 15 18 +CONECT 16 17 +CONECT 16 20 +CONECT 18 19 +CONECT 18 22 +CONECT 20 21 +CONECT 20 24 +CONECT 22 23 +CONECT 22 24 +CONECT 24 25 +CONECT 25 26 +CONECT 27 28 +CONECT 27 29 +CONECT 29 30 +CONECT 29 31 +CONECT 31 32 +CONECT 31 44 +CONECT 32 33 +CONECT 33 34 +CONECT 34 35 +CONECT 35 36 +CONECT 35 37 +CONECT 37 38 +CONECT 37 41 +CONECT 38 39 +CONECT 38 40 +CONECT 41 42 +CONECT 41 43 +CONECT 44 45 +CONECT 44 46 +CONECT 46 47 +CONECT 46 48 +CONECT 48 49 +CONECT 48 57 +CONECT 49 50 +CONECT 50 51 +CONECT 51 52 +CONECT 52 53 +CONECT 53 54 +CONECT 53 55 +CONECT 53 56 +CONECT 57 58 +CONECT 57 59 +CONECT 59 60 +CONECT 59 61 +CONECT 61 62 +CONECT 61 69 +CONECT 62 63 +CONECT 63 64 +CONECT 64 65 +CONECT 64 66 +CONECT 66 67 +CONECT 66 68 +CONECT 69 70 +CONECT 69 71 +ENDMDL diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial_1.trc.gz b/testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial_1.trc.gz new file mode 100644 index 0000000000000000000000000000000000000000..133f81a6b2c5dd4cfd304ed4884289c56e77f335 GIT binary patch literal 4508 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 X$oq`he*5F^Ozr+ZE(*<^G%WxCS5EWz literal 0 HcmV?d00001 diff --git a/testsuite/MDAnalysisTests/datafiles.py b/testsuite/MDAnalysisTests/datafiles.py index 25e85618afe..ff25e6c45f8 100644 --- a/testsuite/MDAnalysisTests/datafiles.py +++ b/testsuite/MDAnalysisTests/datafiles.py @@ -210,6 +210,7 @@ "legacy_DCD_NAMD_coords", # frame 0 read in for SiN_tric_namd.dcd using legacy DCD reader "legacy_DCD_c36_coords", # frames 1 and 4 read in for tip125_tric_C36.dcd using legacy DCD reader "GSD", "GSD_bonds", "GSD_long", + "TRC_PDB", "TRC_TRAJ1", "TRC_TRAJ2", # 2x 3 frames of trajectory from GROMOS11 tutorial "GRO_MEMPROT", "XTC_MEMPROT", # YiiP transporter in POPE:POPG lipids with Na+, Cl-, Zn2+ dummy model without water "DihedralArray", "DihedralsArray", # time series of single dihedral "RamaArray", "GLYRamaArray", # time series of phi/psi angles @@ -597,6 +598,10 @@ GSD_bonds = (_data_ref / 'example_bonds.gsd').as_posix() GSD_long = (_data_ref / 'example_longer.gsd').as_posix() +TRC_PDB = (_data_ref / 'gromos11/gromos11_tutorial.pdb').as_posix() +TRC_TRAJ1 = (_data_ref / 'gromos11/gromos11_tutorial_1.trc.gz').as_posix() +TRC_TRAJ2 = (_data_ref / 'gromos11/gromos11_tutorial_2.trc.gz').as_posix() + DihedralArray = (_data_ref / 'adk_oplsaa_dihedral.npy').as_posix() DihedralsArray = (_data_ref / 'adk_oplsaa_dihedral_list.npy').as_posix() RamaArray = (_data_ref / 'adk_oplsaa_rama.npy').as_posix() From b842ba91cc48ac6a803e89c59e8b1757be22fe40 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Fri, 15 Sep 2023 16:35:41 +0200 Subject: [PATCH 07/47] Authors and Changelog --- package/AUTHORS | 1 + package/CHANGELOG | 1 + 2 files changed, 2 insertions(+) diff --git a/package/AUTHORS b/package/AUTHORS index 683cc856670..ff637dc5985 100644 --- a/package/AUTHORS +++ b/package/AUTHORS @@ -221,6 +221,7 @@ Chronological list of authors - Shubham Kumar - Zaheer Timol - Geongi Moon + - Johannes Stöckelmaier External code ------------- diff --git a/package/CHANGELOG b/package/CHANGELOG index 9ad50f42a0a..ae29b9f4617 100644 --- a/package/CHANGELOG +++ b/package/CHANGELOG @@ -29,6 +29,7 @@ Fixes * Fixes hydrogenbonds tutorial path to point to hbonds (Issue #4285, PR #4286) Enhancements + * Added a reader for GROMOS11 TRC trajectories (Issue , PR ) * Updated lib.qcprot.CalcRMSDRotationalMatrix to accept either float32 or float64 inputs (PR #4273, part of #3927) * Added a warning about charge neutrality to the documentation of From 4ef672b8e9aa07654cc44df6eb12970292dc750e Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Mon, 18 Sep 2023 09:45:20 +0200 Subject: [PATCH 08/47] Added further tests and changed assert_almost_equal for assert_allclose --- .../MDAnalysisTests/coordinates/test_trc.py | 58 +++++++++++++++++-- 1 file changed, 52 insertions(+), 6 deletions(-) diff --git a/testsuite/MDAnalysisTests/coordinates/test_trc.py b/testsuite/MDAnalysisTests/coordinates/test_trc.py index 6473d00e107..871d76b81f8 100644 --- a/testsuite/MDAnalysisTests/coordinates/test_trc.py +++ b/testsuite/MDAnalysisTests/coordinates/test_trc.py @@ -21,7 +21,9 @@ # J. Comput. Chem. 32 (2011), 2319--2327, doi:10.1002/jcc.21787 # import pytest -from numpy.testing import assert_almost_equal +import numpy as np +from numpy.testing import assert_allclose +from numpy.testing import assert_equal import MDAnalysis as mda from MDAnalysis.coordinates.TRC import TRCReader @@ -33,20 +35,25 @@ class TestTRCReader: def TRC_U(self): return mda.Universe(TRC_PDB, [TRC_TRAJ1, TRC_TRAJ2], format="TRC", continuous=True) - + + def test_initial_frame_is_0(self, TRC_U): + assert_equal(TRC_U.trajectory.ts.frame, 0, + "The initial frame is not 0 but {0}".format( + TRC_U.trajectory.ts.frame)) + def test_trc_positions(self, TRC_U): # first frame first particle TRC_U.trajectory[0] - assert_almost_equal(TRC_U.atoms.positions[0], + assert_allclose(TRC_U.atoms.positions[0], [2.19782507, 24.65064345, 29.39783426]) # second frame first particle - TRC_U.trajectory[5] - assert_almost_equal(TRC_U.atoms.positions[0], + TRC_U.trajectory[4] + assert_allclose(TRC_U.atoms.positions[0], [0.37026654, 22.78805010, 3.69695262]) def test_trc_dimensions(self, TRC_U): ts = TRC_U.trajectory[0] - assert_almost_equal( + assert_allclose( ts.dimensions, [30.70196350, 30.70196350, 30.70196350, 90., 90., 90.] ) @@ -65,3 +72,42 @@ def test_trc_time(self, TRC_U): def test_trc_data_step(self, TRC_U): assert TRC_U.trajectory[0].data['step'] == 0 assert TRC_U.trajectory[4].data['step'] == 10000 + + def test_periodic(self, TRC_U): + assert_equal(TRC_U.trajectory.periodic, True) + + def test_rewind(self, TRC_U): + TRC_U.trajectory[0] + trc = TRC_U.trajectory + trc.next() + trc.next() + trc.next() + trc.next() + assert_equal(trc.ts.frame, 4, + "trajectory.next() did not forward to frameindex 2") + trc.rewind() + assert_equal(trc.ts.frame, 0, "trajectory.rewind() failed " \ + "to rewind to first frame") + + assert np.any(TRC_U.atoms.positions != 0), "The atom positions " \ + "are not populated" + + def test_random_access(self, TRC_U): + TRC_U.trajectory[0] + pos0 = TRC_U.atoms[0].position + TRC_U.trajectory.next() + TRC_U.trajectory.next() + pos2 = TRC_U.atoms[0].position + + TRC_U.trajectory[0] + + assert_equal(TRC_U.atoms[0].position, pos0) + + TRC_U.trajectory[2] + + assert_equal(TRC_U.atoms[0].position, pos2) + + def test_read_frame_reopens(self, TRC_U): + TRC_U.trajectory._reopen() + TRC_U.trajectory[4] + assert TRC_U.trajectory.ts.frame == 4 From cfd6b3995ecf81b6d42d37d1b5607e7f5a5d89a2 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Mon, 18 Sep 2023 10:38:29 +0200 Subject: [PATCH 09/47] Update comments and documentation of GROMOS11 reader --- package/MDAnalysis/coordinates/TRC.py | 8 ++++---- package/MDAnalysis/coordinates/__init__.py | 3 ++- testsuite/MDAnalysisTests/coordinates/test_trc.py | 4 ++-- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 4e8a23bf614..fba8b16fa46 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -94,7 +94,6 @@ def n_frames(self): return 0 def _read_frame_count(self): - # Right now this is always the atom count of the last frame n_frames = self.traj_properties["n_frames"] return n_frames @@ -126,7 +125,7 @@ def read_traj_properties(self): """ * Reads the number of atoms per frame (n_atoms) * Reads the number of frames (n_frames) - * Startposition of the timestep block + * Reads the startposition of the timestep block for each frame (l_timestep_offset) """ @@ -145,12 +144,13 @@ def read_traj_properties(self): l_timestep_timevalues = [] # - # Loop through the file and save position of datablocks + # Loop through the file and save positions of datablocks # with util.anyopen(self.filename) as f: while (True): line = f.readline() if (line == '') or (line == b''): break # EOF + # # Timestep-Block # @@ -303,7 +303,7 @@ def open_trajectory(self): # Reload trajectory file self.trcfile = util.anyopen(self.filename) - # reset ts + # Reset ts self.ts = self._Timestep(self.n_atoms, **self._ts_kwargs) # Set frame to -1, so next timestep is zero diff --git a/package/MDAnalysis/coordinates/__init__.py b/package/MDAnalysis/coordinates/__init__.py index 10678388f5e..9b6a7121bc9 100644 --- a/package/MDAnalysis/coordinates/__init__.py +++ b/package/MDAnalysis/coordinates/__init__.py @@ -235,7 +235,8 @@ class can choose an appropriate reader automatically. | | | | the first frame present will be read. | | [#a]_ | | | Module :mod:`MDAnalysis.coordinates.GRO` | +---------------+-----------+-------+------------------------------------------------------+ - | GROMOS11 | trc | r | basic GROMOS11 trajectories for coordinates. | + | GROMOS11 | trc | r | Basic GROMOS11 trajectory format. | + | | | | Can read positions, box-sizes and timesteps. | | | | | Module :mod:`MDAnalysis.coordinates.TRC` | +---------------+-----------+-------+------------------------------------------------------+ | CHARMM | crd | r/w | "CARD" coordinate output from CHARMM; deals with | diff --git a/testsuite/MDAnalysisTests/coordinates/test_trc.py b/testsuite/MDAnalysisTests/coordinates/test_trc.py index 871d76b81f8..0f7f907cee8 100644 --- a/testsuite/MDAnalysisTests/coordinates/test_trc.py +++ b/testsuite/MDAnalysisTests/coordinates/test_trc.py @@ -46,7 +46,7 @@ def test_trc_positions(self, TRC_U): TRC_U.trajectory[0] assert_allclose(TRC_U.atoms.positions[0], [2.19782507, 24.65064345, 29.39783426]) - # second frame first particle + # fith frame first particle TRC_U.trajectory[4] assert_allclose(TRC_U.atoms.positions[0], [0.37026654, 22.78805010, 3.69695262]) @@ -84,7 +84,7 @@ def test_rewind(self, TRC_U): trc.next() trc.next() assert_equal(trc.ts.frame, 4, - "trajectory.next() did not forward to frameindex 2") + "trajectory.next() did not forward to frameindex 4") trc.rewind() assert_equal(trc.ts.frame, 0, "trajectory.rewind() failed " \ "to rewind to first frame") From ef768546928ea106ce3072f996685f1273022183 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Mon, 18 Sep 2023 15:45:38 +0200 Subject: [PATCH 10/47] Documentation and code clean-up --- package/MDAnalysis/coordinates/TRC.py | 44 ++++++++++++++----- .../documentation_pages/coordinates/TRC.rst | 1 + .../coordinates_modules.rst | 1 + 3 files changed, 34 insertions(+), 12 deletions(-) create mode 100644 package/doc/sphinx/source/documentation_pages/coordinates/TRC.rst diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index fba8b16fa46..201494eddee 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -20,13 +20,31 @@ # MDAnalysis: A Toolkit for the Analysis of Molecular Dynamics Simulations. # J. Comput. Chem. 32 (2011), 2319--2327, doi:10.1002/jcc.21787 # -""" -TRC trajectory files --- :mod:`MDAnalysis.coordinates.TRC` -========================================================== -Read GROMOS11 TRC trajectories. --------- +"""GROMOS11 trajectory reader --- :mod:`MDAnalysis.coordinates.TRC` +==================================================================== + +Reads coordinates, timesteps and box-sizes from GROMOS11 TRC trajectories. + +To load the trajectory into :class:`~MDAnalysis.core.universe.Universe`, +you need to provide topology information using a pdb:: + + import MDAnalysis as mda + u = mda.Universe("topology.pdb", ["md_1.trc.gz","md_2.trc.gz"], + format="TRC", continuous=True) + +.. Note:: + ----- + The reader is capable to read the blocks "TIMESTEP", "POSITIONRED" and + "GENBOX" from the trajectory. + +Classes +------- + +.. autoclass:: TRCReader + :members: + """ import os @@ -45,8 +63,7 @@ class TRCReader(base.ReaderBase): - """Reader for the GROMOS11 format - This reader is used with trajectories from the GROMOS11 software. + """Coordinate reader for the GROMOS11 format """ format = 'TRC' @@ -63,7 +80,7 @@ def __init__(self, filename, **kwargs): self.compression = ext[1:] if ext[1:] != "trj" else None # Read and calculate some information about the trajectory - self.traj_properties = self.read_traj_properties() + self.traj_properties = self._read_traj_properties() self._cache = {} self.ts = self._Timestep(self.n_atoms, **self._ts_kwargs) @@ -76,6 +93,7 @@ def __init__(self, filename, **kwargs): @property @cached('n_atoms') def n_atoms(self): + """The number of atoms in one frame.""" try: return self._read_atom_count() except IOError: @@ -88,6 +106,7 @@ def _read_atom_count(self): @property @cached('n_frames') def n_frames(self): + """The number of frames in the trajectory.""" try: return self._read_frame_count() except IOError: @@ -121,7 +140,7 @@ def _frame_to_ts(self, frameDat, ts): return ts - def read_traj_properties(self): + def _read_traj_properties(self): """ * Reads the number of atoms per frame (n_atoms) * Reads the number of frames (n_frames) @@ -193,7 +212,7 @@ def read_traj_properties(self): return traj_properties - def read_GROMOS11_trajectory(self, _frame): + def _read_GROMOS11_trajectory(self, _frame): frameDat = {} f = self.trcfile @@ -285,13 +304,14 @@ def _read_next_timestep(self, ts=None): if (self._frame >= self.n_frames): raise EOFError('Trying to go over trajectory limit') - raw_framedata = self.read_GROMOS11_trajectory(self._frame) + raw_framedata = self._read_GROMOS11_trajectory(self._frame) self._frame_to_ts(raw_framedata, ts) self.ts = ts return ts def _reopen(self): + """Close and reopen the trajectory""" self.close() self.open_trajectory() @@ -312,7 +332,7 @@ def open_trajectory(self): return self.trcfile def close(self): - """Close trc trajectory file if it was open.""" + """Close the trc trajectory file if it was open.""" if self.trcfile is None: return self.trcfile.close() diff --git a/package/doc/sphinx/source/documentation_pages/coordinates/TRC.rst b/package/doc/sphinx/source/documentation_pages/coordinates/TRC.rst new file mode 100644 index 00000000000..9312cc177df --- /dev/null +++ b/package/doc/sphinx/source/documentation_pages/coordinates/TRC.rst @@ -0,0 +1 @@ +.. automodule:: MDAnalysis.coordinates.TRC diff --git a/package/doc/sphinx/source/documentation_pages/coordinates_modules.rst b/package/doc/sphinx/source/documentation_pages/coordinates_modules.rst index 073ec44758f..af726d0f857 100644 --- a/package/doc/sphinx/source/documentation_pages/coordinates_modules.rst +++ b/package/doc/sphinx/source/documentation_pages/coordinates_modules.rst @@ -36,6 +36,7 @@ provide the format in the keyword argument *format* to coordinates/PDBQT coordinates/PQR coordinates/TNG + coordinates/TRC coordinates/TRJ coordinates/TRR coordinates/TRZ From 81ba5850ce610e2f06f590b0571637a3e6e2877a Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Mon, 18 Sep 2023 16:58:21 +0200 Subject: [PATCH 11/47] Increase and optimize test coverage --- package/MDAnalysis/coordinates/TRC.py | 1 - .../MDAnalysisTests/coordinates/test_trc.py | 45 +- .../data/gromos11/gromos11_traj_solv.pdb | 2876 +++++++++++++++++ .../data/gromos11/gromos11_traj_solv.trc.gz | Bin 0 -> 102335 bytes .../data/gromos11/gromos11_traj_vac.pdb | 150 + .../data/gromos11/gromos11_traj_vac_1.trc.gz | Bin 0 -> 4439 bytes .../data/gromos11/gromos11_traj_vac_2.trc.gz | Bin 0 -> 4472 bytes .../data/gromos11/gromos11_tutorial.pdb | 151 - .../data/gromos11/gromos11_tutorial_1.trc.gz | Bin 4508 -> 0 bytes .../data/gromos11/gromos11_tutorial_2.trc.gz | Bin 4537 -> 0 bytes testsuite/MDAnalysisTests/datafiles.py | 8 +- 11 files changed, 3067 insertions(+), 164 deletions(-) create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_solv.pdb create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_solv.trc.gz create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_vac.pdb create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_vac_1.trc.gz create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_vac_2.trc.gz delete mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial.pdb delete mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial_1.trc.gz delete mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial_2.trc.gz diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 201494eddee..3cb4984c452 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -296,7 +296,6 @@ def _read_frame(self, i): return self._read_next_timestep() def _read_next_timestep(self, ts=None): - if ts is None: ts = self.ts diff --git a/testsuite/MDAnalysisTests/coordinates/test_trc.py b/testsuite/MDAnalysisTests/coordinates/test_trc.py index 0f7f907cee8..925096c133b 100644 --- a/testsuite/MDAnalysisTests/coordinates/test_trc.py +++ b/testsuite/MDAnalysisTests/coordinates/test_trc.py @@ -27,13 +27,14 @@ import MDAnalysis as mda from MDAnalysis.coordinates.TRC import TRCReader -from MDAnalysisTests.datafiles import TRC_PDB, TRC_TRAJ1, TRC_TRAJ2 +from MDAnalysisTests.datafiles import TRC_PDB_VAC, TRC_TRAJ1_VAC, TRC_TRAJ2_VAC +from MDAnalysisTests.datafiles import TRC_PDB_SOLV, TRC_TRAJ_SOLV -class TestTRCReader: +class TestTRCReaderVacuumBox: @pytest.fixture(scope='class') def TRC_U(self): - return mda.Universe(TRC_PDB, [TRC_TRAJ1, TRC_TRAJ2], + return mda.Universe(TRC_PDB_VAC, [TRC_TRAJ1_VAC, TRC_TRAJ2_VAC], format="TRC", continuous=True) def test_initial_frame_is_0(self, TRC_U): @@ -52,14 +53,14 @@ def test_trc_positions(self, TRC_U): [0.37026654, 22.78805010, 3.69695262]) def test_trc_dimensions(self, TRC_U): - ts = TRC_U.trajectory[0] - assert_allclose( - ts.dimensions, - [30.70196350, 30.70196350, 30.70196350, 90., 90., 90.] - ) + assert TRC_U.trajectory[0].dimensions is None def test_trc_n_frames(self, TRC_U): assert len(TRC_U.trajectory) == 6 + assert (TRC_U.trajectory.n_frames) == 6 + + def test_trc_n_atoms(self, TRC_U): + assert (TRC_U.trajectory.n_atoms) == 73 def test_trc_frame(self, TRC_U): assert TRC_U.trajectory[0].frame == 0 @@ -74,7 +75,7 @@ def test_trc_data_step(self, TRC_U): assert TRC_U.trajectory[4].data['step'] == 10000 def test_periodic(self, TRC_U): - assert_equal(TRC_U.trajectory.periodic, True) + assert_equal(TRC_U.trajectory.periodic, False) def test_rewind(self, TRC_U): TRC_U.trajectory[0] @@ -111,3 +112,29 @@ def test_read_frame_reopens(self, TRC_U): TRC_U.trajectory._reopen() TRC_U.trajectory[4] assert TRC_U.trajectory.ts.frame == 4 + + +class TestTRCReaderSolvatedBox: + @pytest.fixture(scope='class') + def TRC_U(self): + return mda.Universe(TRC_PDB_SOLV, TRC_TRAJ_SOLV, + format="TRC") + + def test_trc_n_atoms(self, TRC_U): + assert (TRC_U.trajectory.n_atoms) == 2797 + + def test_periodic(self, TRC_U): + assert_equal(TRC_U.trajectory.periodic, True) + + def test_trc_dimensions(self, TRC_U): + ts = TRC_U.trajectory[1] + assert_allclose( + ts.dimensions, + [30.54416298, 30.54416298, 30.54416298, 90., 90., 90.] + ) + + def test_open_twice(self, TRC_U): + TRC_U.trajectory._reopen() + with pytest.raises(IOError): + TRC_U.trajectory.open_trajectory() + diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_solv.pdb b/testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_solv.pdb new file mode 100644 index 00000000000..56807c96355 --- /dev/null +++ b/testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_solv.pdb @@ -0,0 +1,2876 @@ +TITLE FRAME_00001.pdb +MODEL +CRYST1 30.702 30.702 30.702 90.00 90.00 90.00 P 1 1 +ATOM 1 H1 VAL A 1 4.673 -1.146 0.809 1.00 0.00 +ATOM 2 H2 VAL A 1 3.968 -0.029 -0.077 1.00 0.00 +ATOM 3 N VAL A 1 4.282 -0.978 -0.096 1.00 0.00 +ATOM 4 H3 VAL A 1 5.007 -1.104 -0.773 1.00 0.00 +ATOM 5 CA VAL A 1 3.147 -1.895 -0.277 1.00 0.00 +ATOM 6 CB VAL A 1 3.778 -3.287 -0.206 1.00 0.00 +ATOM 7 CG1 VAL A 1 3.877 -3.903 1.191 1.00 0.00 +ATOM 8 CG2 VAL A 1 3.070 -4.197 -1.211 1.00 0.00 +ATOM 9 C VAL A 1 2.087 -1.520 0.760 1.00 0.00 +ATOM 10 O VAL A 1 2.086 -0.367 1.187 1.00 0.00 +ATOM 11 N TYR A 2 1.176 -2.401 1.166 1.00 0.00 +ATOM 12 H TYR A 2 1.184 -3.332 0.802 1.00 0.00 +ATOM 13 CA TYR A 2 0.035 -2.202 2.071 1.00 0.00 +ATOM 14 CB TYR A 2 0.364 -2.276 3.563 1.00 0.00 +ATOM 15 CG TYR A 2 0.871 -1.007 4.251 1.00 0.00 +ATOM 16 CD1 TYR A 2 2.203 -0.626 4.143 1.00 0.00 +ATOM 17 HD1 TYR A 2 2.964 -1.369 3.904 1.00 0.00 +ATOM 18 CD2 TYR A 2 -0.066 -0.170 4.845 1.00 0.00 +ATOM 19 HD2 TYR A 2 -1.066 -0.532 5.084 1.00 0.00 +ATOM 20 CE1 TYR A 2 2.577 0.658 4.521 1.00 0.00 +ATOM 21 HE1 TYR A 2 3.614 0.986 4.458 1.00 0.00 +ATOM 22 CE2 TYR A 2 0.317 1.101 5.256 1.00 0.00 +ATOM 23 HE2 TYR A 2 -0.364 1.632 5.920 1.00 0.00 +ATOM 24 CZ TYR A 2 1.621 1.528 5.033 1.00 0.00 +ATOM 25 OH TYR A 2 1.916 2.847 4.885 1.00 0.00 +ATOM 26 HH TYR A 2 1.295 3.385 5.455 1.00 0.00 +ATOM 27 C TYR A 2 -0.999 -1.167 1.622 1.00 0.00 +ATOM 28 O TYR A 2 -1.956 -1.549 0.950 1.00 0.00 +ATOM 29 N ARG A 3 -0.758 0.130 1.786 1.00 0.00 +ATOM 30 H ARG A 3 0.014 0.477 2.319 1.00 0.00 +ATOM 31 CA ARG A 3 -1.708 1.146 1.310 1.00 0.00 +ATOM 32 CB ARG A 3 -1.564 2.348 2.245 1.00 0.00 +ATOM 33 CG ARG A 3 -0.373 3.274 1.987 1.00 0.00 +ATOM 34 CD ARG A 3 -0.842 4.715 2.202 1.00 0.00 +ATOM 35 NE ARG A 3 -0.529 5.529 1.018 1.00 0.00 +ATOM 36 HE ARG A 3 0.415 5.855 0.970 1.00 0.00 +ATOM 37 CZ ARG A 3 -1.365 5.839 0.018 1.00 0.00 +ATOM 38 NH1 ARG A 3 -2.614 5.373 -0.109 1.00 0.00 +ATOM 39 HH11 ARG A 3 -3.199 5.732 -0.836 1.00 0.00 +ATOM 40 HH12 ARG A 3 -2.953 4.639 0.480 1.00 0.00 +ATOM 41 NH2 ARG A 3 -0.987 6.682 -0.953 1.00 0.00 +ATOM 42 HH21 ARG A 3 -1.552 6.937 -1.737 1.00 0.00 +ATOM 43 HH22 ARG A 3 -0.080 7.096 -0.869 1.00 0.00 +ATOM 44 C ARG A 3 -1.713 1.486 -0.182 1.00 0.00 +ATOM 45 O ARG A 3 -1.999 2.597 -0.624 1.00 0.00 +ATOM 46 N LYSHA 4 -1.499 0.425 -0.955 1.00 0.00 +ATOM 47 H LYSHA 4 -1.606 -0.472 -0.525 1.00 0.00 +ATOM 48 CA LYSHA 4 -1.377 0.371 -2.419 1.00 0.00 +ATOM 49 CB LYSHA 4 -0.428 1.442 -2.961 1.00 0.00 +ATOM 50 CG LYSHA 4 -0.915 2.025 -4.289 1.00 0.00 +ATOM 51 CD LYSHA 4 -0.412 1.233 -5.497 1.00 0.00 +ATOM 52 CE LYSHA 4 -0.850 1.937 -6.782 1.00 0.00 +ATOM 53 NZ LYSHA 4 0.001 1.588 -7.930 1.00 0.00 +ATOM 54 HZ1 LYSHA 4 0.054 0.594 -8.022 1.00 0.00 +ATOM 55 HZ2 LYSHA 4 0.944 1.915 -7.873 1.00 0.00 +ATOM 56 HZ3 LYSHA 4 -0.416 1.877 -8.792 1.00 0.00 +ATOM 57 C LYSHA 4 -0.972 -1.035 -2.868 1.00 0.00 +ATOM 58 O LYSHA 4 0.196 -1.312 -3.135 1.00 0.00 +ATOM 59 N GLN A 5 -1.916 -1.930 -2.592 1.00 0.00 +ATOM 60 H GLN A 5 -2.757 -1.675 -2.115 1.00 0.00 +ATOM 61 CA GLN A 5 -2.089 -3.360 -2.888 1.00 0.00 +ATOM 62 CB GLN A 5 -1.078 -4.249 -2.160 1.00 0.00 +ATOM 63 CG GLN A 5 -1.301 -4.361 -0.650 1.00 0.00 +ATOM 64 CD GLN A 5 -0.331 -5.355 -0.010 1.00 0.00 +ATOM 65 OE1 GLN A 5 0.736 -5.032 0.509 1.00 0.00 +ATOM 66 NE2 GLN A 5 -0.753 -6.616 -0.000 1.00 0.00 +ATOM 67 HE21 GLN A 5 -0.142 -7.242 0.483 1.00 0.00 +ATOM 68 HE22 GLN A 5 -1.654 -6.912 -0.318 1.00 0.00 +ATOM 69 C GLN A 5 -3.510 -3.648 -2.398 1.00 0.00 +ATOM 70 O1 GLN A 5 -3.927 -4.822 -2.490 1.00 0.00 +ATOM 71 O2 GLN A 5 -4.142 -2.698 -1.887 1.00 0.00 +TER +ATOM 72 CL CL- B 6 -0.696 -0.518 -9.229 1.00 0.00 +TER +ATOM 73 CL CL- C 7 3.033 6.388 1.574 1.00 0.00 +TER +ATOM 74 OW SOLV 1 14.367 -3.267 -12.898 1.00 0.00 +ATOM 75 HW1 SOLV 1 14.658 -2.421 -13.344 1.00 0.00 +ATOM 76 HW2 SOLV 1 15.172 -3.796 -12.628 1.00 0.00 +ATOM 77 OW SOLV 2 -6.683 -9.349 -1.962 1.00 0.00 +ATOM 78 HW1 SOLV 2 -5.843 -9.849 -2.171 1.00 0.00 +ATOM 79 HW2 SOLV 2 -7.069 -9.689 -1.104 1.00 0.00 +ATOM 80 OW SOLV 3 3.093 -3.419 -12.144 1.00 0.00 +ATOM 81 HW1 SOLV 3 2.733 -3.339 -11.214 1.00 0.00 +ATOM 82 HW2 SOLV 3 2.439 -3.919 -12.712 1.00 0.00 +ATOM 83 OW SOLV 4 -14.928 -7.711 -7.087 1.00 0.00 +ATOM 84 HW1 SOLV 4 -15.550 -6.991 -6.779 1.00 0.00 +ATOM 85 HW2 SOLV 4 -15.430 -8.573 -7.167 1.00 0.00 +ATOM 86 OW SOLV 5 -5.951 -10.139 3.478 1.00 0.00 +ATOM 87 HW1 SOLV 5 -5.930 -10.308 4.463 1.00 0.00 +ATOM 88 HW2 SOLV 5 -5.556 -9.240 3.285 1.00 0.00 +ATOM 89 OW SOLV 6 -11.346 3.434 -13.299 1.00 0.00 +ATOM 90 HW1 SOLV 6 -11.496 4.419 -13.214 1.00 0.00 +ATOM 91 HW2 SOLV 6 -10.454 3.199 -12.913 1.00 0.00 +ATOM 92 OW SOLV 7 2.413 -6.289 3.346 1.00 0.00 +ATOM 93 HW1 SOLV 7 2.800 -5.820 2.552 1.00 0.00 +ATOM 94 HW2 SOLV 7 2.088 -7.194 3.071 1.00 0.00 +ATOM 95 OW SOLV 8 -14.458 -1.176 -2.292 1.00 0.00 +ATOM 96 HW1 SOLV 8 -14.396 -1.966 -1.682 1.00 0.00 +ATOM 97 HW2 SOLV 8 -13.589 -1.059 -2.773 1.00 0.00 +ATOM 98 OW SOLV 9 11.243 3.288 -5.456 1.00 0.00 +ATOM 99 HW1 SOLV 9 12.004 2.684 -5.219 1.00 0.00 +ATOM 100 HW2 SOLV 9 10.543 2.766 -5.944 1.00 0.00 +ATOM 101 OW SOLV 10 13.858 -7.371 1.465 1.00 0.00 +ATOM 102 HW1 SOLV 10 13.230 -8.099 1.740 1.00 0.00 +ATOM 103 HW2 SOLV 10 13.851 -7.284 0.469 1.00 0.00 +ATOM 104 OW SOLV 11 7.082 -1.449 11.634 1.00 0.00 +ATOM 105 HW1 SOLV 11 7.430 -1.443 12.571 1.00 0.00 +ATOM 106 HW2 SOLV 11 6.926 -0.510 11.330 1.00 0.00 +ATOM 107 OW SOLV 12 -2.563 -13.454 8.863 1.00 0.00 +ATOM 108 HW1 SOLV 12 -2.920 -14.061 9.573 1.00 0.00 +ATOM 109 HW2 SOLV 12 -3.005 -12.559 8.936 1.00 0.00 +ATOM 110 OW SOLV 13 -9.587 -13.422 10.005 1.00 0.00 +ATOM 111 HW1 SOLV 13 -9.204 -13.596 10.912 1.00 0.00 +ATOM 112 HW2 SOLV 13 -10.198 -12.632 10.048 1.00 0.00 +ATOM 113 OW SOLV 14 -8.527 -9.337 0.149 1.00 0.00 +ATOM 114 HW1 SOLV 14 -8.523 -9.253 -0.848 1.00 0.00 +ATOM 115 HW2 SOLV 14 -8.927 -8.513 0.550 1.00 0.00 +ATOM 116 OW SOLV 15 12.924 -4.431 10.352 1.00 0.00 +ATOM 117 HW1 SOLV 15 12.862 -3.453 10.153 1.00 0.00 +ATOM 118 HW2 SOLV 15 12.012 -4.788 10.553 1.00 0.00 +ATOM 119 OW SOLV 16 4.522 2.834 11.562 1.00 0.00 +ATOM 120 HW1 SOLV 16 3.629 2.826 12.010 1.00 0.00 +ATOM 121 HW2 SOLV 16 5.143 2.216 12.045 1.00 0.00 +ATOM 122 OW SOLV 17 -2.633 -13.963 -12.693 1.00 0.00 +ATOM 123 HW1 SOLV 17 -2.628 -13.184 -12.066 1.00 0.00 +ATOM 124 HW2 SOLV 17 -2.579 -14.813 -12.168 1.00 0.00 +ATOM 125 OW SOLV 18 -14.338 -2.038 -9.381 1.00 0.00 +ATOM 126 HW1 SOLV 18 -13.495 -1.920 -9.907 1.00 0.00 +ATOM 127 HW2 SOLV 18 -14.995 -1.331 -9.643 1.00 0.00 +ATOM 128 OW SOLV 19 15.136 4.107 -1.505 1.00 0.00 +ATOM 129 HW1 SOLV 19 14.447 4.302 -2.205 1.00 0.00 +ATOM 130 HW2 SOLV 19 14.816 3.361 -0.922 1.00 0.00 +ATOM 131 OW SOLV 20 -4.523 -13.573 -1.860 1.00 0.00 +ATOM 132 HW1 SOLV 20 -5.254 -13.033 -1.443 1.00 0.00 +ATOM 133 HW2 SOLV 20 -4.799 -14.533 -1.901 1.00 0.00 +ATOM 134 OW SOLV 21 3.262 14.043 11.954 1.00 0.00 +ATOM 135 HW1 SOLV 21 2.372 14.277 12.346 1.00 0.00 +ATOM 136 HW2 SOLV 21 3.227 13.119 11.574 1.00 0.00 +ATOM 137 OW SOLV 22 14.647 9.079 8.348 1.00 0.00 +ATOM 138 HW1 SOLV 22 14.583 9.357 7.389 1.00 0.00 +ATOM 139 HW2 SOLV 22 13.976 8.361 8.532 1.00 0.00 +ATOM 140 OW SOLV 23 -13.594 -0.327 10.288 1.00 0.00 +ATOM 141 HW1 SOLV 23 -14.119 -0.026 9.492 1.00 0.00 +ATOM 142 HW2 SOLV 23 -14.119 -1.014 10.792 1.00 0.00 +ATOM 143 OW SOLV 24 -3.097 -15.142 3.337 1.00 0.00 +ATOM 144 HW1 SOLV 24 -3.493 -15.615 4.124 1.00 0.00 +ATOM 145 HW2 SOLV 24 -3.574 -15.423 2.504 1.00 0.00 +ATOM 146 OW SOLV 25 8.741 15.145 6.626 1.00 0.00 +ATOM 147 HW1 SOLV 25 9.189 15.042 5.738 1.00 0.00 +ATOM 148 HW2 SOLV 25 7.749 15.118 6.504 1.00 0.00 +ATOM 149 OW SOLV 26 -2.359 -7.876 2.222 1.00 0.00 +ATOM 150 HW1 SOLV 26 -2.869 -7.755 1.370 1.00 0.00 +ATOM 151 HW2 SOLV 26 -1.798 -8.701 2.160 1.00 0.00 +ATOM 152 OW SOLV 27 11.310 -5.886 12.419 1.00 0.00 +ATOM 153 HW1 SOLV 27 10.351 -5.945 12.143 1.00 0.00 +ATOM 154 HW2 SOLV 27 11.381 -5.359 13.266 1.00 0.00 +ATOM 155 OW SOLV 28 7.945 -8.634 9.536 1.00 0.00 +ATOM 156 HW1 SOLV 28 7.968 -7.690 9.204 1.00 0.00 +ATOM 157 HW2 SOLV 28 8.256 -9.249 8.811 1.00 0.00 +ATOM 158 OW SOLV 29 7.517 3.585 13.927 1.00 0.00 +ATOM 159 HW1 SOLV 29 6.789 3.520 14.609 1.00 0.00 +ATOM 160 HW2 SOLV 29 8.301 4.063 14.322 1.00 0.00 +ATOM 161 OW SOLV 30 -14.767 -11.623 -6.507 1.00 0.00 +ATOM 162 HW1 SOLV 30 -14.586 -11.963 -5.584 1.00 0.00 +ATOM 163 HW2 SOLV 30 -14.902 -12.397 -7.126 1.00 0.00 +ATOM 164 OW SOLV 31 11.703 -8.521 4.138 1.00 0.00 +ATOM 165 HW1 SOLV 31 12.522 -8.189 4.608 1.00 0.00 +ATOM 166 HW2 SOLV 31 11.533 -9.471 4.398 1.00 0.00 +ATOM 167 OW SOLV 32 -1.953 -8.291 9.325 1.00 0.00 +ATOM 168 HW1 SOLV 32 -1.783 -7.431 9.805 1.00 0.00 +ATOM 169 HW2 SOLV 32 -2.470 -8.109 8.489 1.00 0.00 +ATOM 170 OW SOLV 33 5.476 -8.997 5.523 1.00 0.00 +ATOM 171 HW1 SOLV 33 4.800 -9.707 5.721 1.00 0.00 +ATOM 172 HW2 SOLV 33 5.100 -8.357 4.853 1.00 0.00 +ATOM 173 OW SOLV 34 13.694 -7.167 12.678 1.00 0.00 +ATOM 174 HW1 SOLV 34 12.952 -6.578 12.358 1.00 0.00 +ATOM 175 HW2 SOLV 34 13.338 -7.815 13.352 1.00 0.00 +ATOM 176 OW SOLV 35 -10.324 -10.429 9.703 1.00 0.00 +ATOM 177 HW1 SOLV 35 -11.235 -10.842 9.689 1.00 0.00 +ATOM 178 HW2 SOLV 35 -10.405 -9.451 9.894 1.00 0.00 +ATOM 179 OW SOLV 36 7.508 10.999 -11.467 1.00 0.00 +ATOM 180 HW1 SOLV 36 7.516 10.999 -10.467 1.00 0.00 +ATOM 181 HW2 SOLV 36 8.433 10.831 -11.808 1.00 0.00 +ATOM 182 OW SOLV 37 9.273 0.149 -14.409 1.00 0.00 +ATOM 183 HW1 SOLV 37 10.239 0.278 -14.182 1.00 0.00 +ATOM 184 HW2 SOLV 37 9.044 -0.822 -14.352 1.00 0.00 +ATOM 185 OW SOLV 38 -11.447 -1.812 -2.008 1.00 0.00 +ATOM 186 HW1 SOLV 38 -12.100 -2.436 -2.437 1.00 0.00 +ATOM 187 HW2 SOLV 38 -10.557 -2.260 -1.934 1.00 0.00 +ATOM 188 OW SOLV 39 -13.914 -4.642 -3.485 1.00 0.00 +ATOM 189 HW1 SOLV 39 -14.209 -4.133 -2.676 1.00 0.00 +ATOM 190 HW2 SOLV 39 -13.982 -5.623 -3.306 1.00 0.00 +ATOM 191 OW SOLV 40 1.046 -4.764 -13.536 1.00 0.00 +ATOM 192 HW1 SOLV 40 1.453 -4.534 -14.420 1.00 0.00 +ATOM 193 HW2 SOLV 40 0.117 -5.106 -13.676 1.00 0.00 +ATOM 194 OW SOLV 41 -1.082 -10.214 2.212 1.00 0.00 +ATOM 195 HW1 SOLV 41 -0.684 -10.968 1.690 1.00 0.00 +ATOM 196 HW2 SOLV 41 -1.793 -10.568 2.820 1.00 0.00 +ATOM 197 OW SOLV 42 0.795 10.487 9.744 1.00 0.00 +ATOM 198 HW1 SOLV 42 1.535 11.006 9.317 1.00 0.00 +ATOM 199 HW2 SOLV 42 0.622 9.656 9.215 1.00 0.00 +ATOM 200 OW SOLV 43 9.085 -0.093 6.034 1.00 0.00 +ATOM 201 HW1 SOLV 43 8.523 0.724 6.161 1.00 0.00 +ATOM 202 HW2 SOLV 43 8.750 -0.824 6.629 1.00 0.00 +ATOM 203 OW SOLV 44 5.307 -14.559 -9.035 1.00 0.00 +ATOM 204 HW1 SOLV 44 5.081 -13.593 -8.917 1.00 0.00 +ATOM 205 HW2 SOLV 44 6.173 -14.758 -8.575 1.00 0.00 +ATOM 206 OW SOLV 45 15.151 -9.376 11.345 1.00 0.00 +ATOM 207 HW1 SOLV 45 14.532 -9.959 11.870 1.00 0.00 +ATOM 208 HW2 SOLV 45 14.633 -8.624 10.936 1.00 0.00 +ATOM 209 OW SOLV 46 1.616 -9.088 -6.713 1.00 0.00 +ATOM 210 HW1 SOLV 46 1.233 -8.387 -7.314 1.00 0.00 +ATOM 211 HW2 SOLV 46 1.996 -9.830 -7.266 1.00 0.00 +ATOM 212 OW SOLV 47 1.820 9.646 0.362 1.00 0.00 +ATOM 213 HW1 SOLV 47 1.683 9.494 -0.617 1.00 0.00 +ATOM 214 HW2 SOLV 47 1.765 8.773 0.847 1.00 0.00 +ATOM 215 OW SOLV 48 10.924 11.669 -4.031 1.00 0.00 +ATOM 216 HW1 SOLV 48 10.206 11.897 -4.688 1.00 0.00 +ATOM 217 HW2 SOLV 48 11.559 12.438 -3.951 1.00 0.00 +ATOM 218 OW SOLV 49 7.893 -11.459 13.617 1.00 0.00 +ATOM 219 HW1 SOLV 49 7.620 -12.353 13.260 1.00 0.00 +ATOM 220 HW2 SOLV 49 7.326 -11.229 14.408 1.00 0.00 +ATOM 221 OW SOLV 50 -7.384 -6.469 11.507 1.00 0.00 +ATOM 222 HW1 SOLV 50 -6.650 -6.742 12.129 1.00 0.00 +ATOM 223 HW2 SOLV 50 -7.922 -7.272 11.253 1.00 0.00 +ATOM 224 OW SOLV 51 10.048 -9.580 -7.027 1.00 0.00 +ATOM 225 HW1 SOLV 51 9.155 -9.131 -7.004 1.00 0.00 +ATOM 226 HW2 SOLV 51 10.649 -9.162 -6.345 1.00 0.00 +ATOM 227 OW SOLV 52 -12.679 -5.675 2.679 1.00 0.00 +ATOM 228 HW1 SOLV 52 -12.269 -5.917 1.799 1.00 0.00 +ATOM 229 HW2 SOLV 52 -13.276 -6.417 2.983 1.00 0.00 +ATOM 230 OW SOLV 53 -5.526 10.402 1.275 1.00 0.00 +ATOM 231 HW1 SOLV 53 -5.902 11.305 1.070 1.00 0.00 +ATOM 232 HW2 SOLV 53 -5.422 10.301 2.265 1.00 0.00 +ATOM 233 OW SOLV 54 -4.248 6.683 9.714 1.00 0.00 +ATOM 234 HW1 SOLV 54 -3.808 6.821 10.602 1.00 0.00 +ATOM 235 HW2 SOLV 54 -3.599 6.894 8.984 1.00 0.00 +ATOM 236 OW SOLV 55 14.573 13.466 -2.326 1.00 0.00 +ATOM 237 HW1 SOLV 55 15.456 13.378 -1.866 1.00 0.00 +ATOM 238 HW2 SOLV 55 14.635 14.166 -3.037 1.00 0.00 +ATOM 239 OW SOLV 56 10.851 8.359 -3.475 1.00 0.00 +ATOM 240 HW1 SOLV 56 11.692 8.886 -3.360 1.00 0.00 +ATOM 241 HW2 SOLV 56 10.182 8.904 -3.981 1.00 0.00 +ATOM 242 OW SOLV 57 -8.306 0.381 -5.580 1.00 0.00 +ATOM 243 HW1 SOLV 57 -8.314 0.606 -6.554 1.00 0.00 +ATOM 244 HW2 SOLV 57 -8.984 -0.330 -5.396 1.00 0.00 +ATOM 245 OW SOLV 58 5.099 -7.620 8.371 1.00 0.00 +ATOM 246 HW1 SOLV 58 5.414 -8.333 7.746 1.00 0.00 +ATOM 247 HW2 SOLV 58 4.773 -6.834 7.844 1.00 0.00 +ATOM 248 OW SOLV 59 -9.419 6.177 -2.832 1.00 0.00 +ATOM 249 HW1 SOLV 59 -8.436 6.357 -2.814 1.00 0.00 +ATOM 250 HW2 SOLV 59 -9.823 6.442 -1.957 1.00 0.00 +ATOM 251 OW SOLV 60 -13.446 11.529 -14.609 1.00 0.00 +ATOM 252 HW1 SOLV 60 -12.641 11.264 -14.079 1.00 0.00 +ATOM 253 HW2 SOLV 60 -13.555 10.905 -15.383 1.00 0.00 +ATOM 254 OW SOLV 61 9.448 5.694 14.191 1.00 0.00 +ATOM 255 HW1 SOLV 61 9.959 5.363 14.984 1.00 0.00 +ATOM 256 HW2 SOLV 61 9.776 5.232 13.367 1.00 0.00 +ATOM 257 OW SOLV 62 4.514 -0.089 -6.008 1.00 0.00 +ATOM 258 HW1 SOLV 62 5.337 -0.587 -6.280 1.00 0.00 +ATOM 259 HW2 SOLV 62 4.615 0.877 -6.247 1.00 0.00 +ATOM 260 OW SOLV 63 -0.416 -8.520 11.516 1.00 0.00 +ATOM 261 HW1 SOLV 63 -0.125 -9.246 12.140 1.00 0.00 +ATOM 262 HW2 SOLV 63 -1.178 -8.847 10.957 1.00 0.00 +ATOM 263 OW SOLV 64 13.849 -9.874 -7.531 1.00 0.00 +ATOM 264 HW1 SOLV 64 14.228 -10.433 -6.793 1.00 0.00 +ATOM 265 HW2 SOLV 64 14.193 -10.205 -8.410 1.00 0.00 +ATOM 266 OW SOLV 65 12.732 -9.478 7.315 1.00 0.00 +ATOM 267 HW1 SOLV 65 13.601 -9.802 7.690 1.00 0.00 +ATOM 268 HW2 SOLV 65 11.978 -9.976 7.743 1.00 0.00 +ATOM 269 OW SOLV 66 -9.430 11.033 3.611 1.00 0.00 +ATOM 270 HW1 SOLV 66 -8.456 10.926 3.811 1.00 0.00 +ATOM 271 HW2 SOLV 66 -9.641 12.004 3.494 1.00 0.00 +ATOM 272 OW SOLV 67 -14.361 -1.115 -13.269 1.00 0.00 +ATOM 273 HW1 SOLV 67 -14.310 -0.280 -12.720 1.00 0.00 +ATOM 274 HW2 SOLV 67 -13.612 -1.125 -13.931 1.00 0.00 +ATOM 275 OW SOLV 68 -7.166 -1.568 8.650 1.00 0.00 +ATOM 276 HW1 SOLV 68 -6.189 -1.404 8.791 1.00 0.00 +ATOM 277 HW2 SOLV 68 -7.587 -0.751 8.255 1.00 0.00 +ATOM 278 OW SOLV 69 6.559 12.030 -6.818 1.00 0.00 +ATOM 279 HW1 SOLV 69 7.136 11.690 -7.561 1.00 0.00 +ATOM 280 HW2 SOLV 69 6.874 11.646 -5.950 1.00 0.00 +ATOM 281 OW SOLV 70 -11.874 -0.731 -15.142 1.00 0.00 +ATOM 282 HW1 SOLV 70 -10.926 -0.441 -15.269 1.00 0.00 +ATOM 283 HW2 SOLV 70 -12.386 -0.576 -15.987 1.00 0.00 +ATOM 284 OW SOLV 71 -4.812 -12.168 -13.030 1.00 0.00 +ATOM 285 HW1 SOLV 71 -5.010 -12.231 -14.009 1.00 0.00 +ATOM 286 HW2 SOLV 71 -3.828 -12.269 -12.882 1.00 0.00 +ATOM 287 OW SOLV 72 -5.258 15.006 -15.226 1.00 0.00 +ATOM 288 HW1 SOLV 72 -4.819 15.734 -15.752 1.00 0.00 +ATOM 289 HW2 SOLV 72 -5.796 14.428 -15.840 1.00 0.00 +ATOM 290 OW SOLV 73 -12.546 -11.212 -14.428 1.00 0.00 +ATOM 291 HW1 SOLV 73 -13.127 -10.398 -14.418 1.00 0.00 +ATOM 292 HW2 SOLV 73 -12.273 -11.415 -15.369 1.00 0.00 +ATOM 293 OW SOLV 74 -5.332 -10.385 -4.801 1.00 0.00 +ATOM 294 HW1 SOLV 74 -5.784 -10.842 -5.567 1.00 0.00 +ATOM 295 HW2 SOLV 74 -4.348 -10.339 -4.974 1.00 0.00 +ATOM 296 OW SOLV 75 -8.374 14.506 -2.714 1.00 0.00 +ATOM 297 HW1 SOLV 75 -9.246 14.992 -2.764 1.00 0.00 +ATOM 298 HW2 SOLV 75 -8.331 13.822 -3.442 1.00 0.00 +ATOM 299 OW SOLV 76 -3.714 -10.759 -1.223 1.00 0.00 +ATOM 300 HW1 SOLV 76 -4.005 -10.068 -0.562 1.00 0.00 +ATOM 301 HW2 SOLV 76 -2.882 -10.450 -1.683 1.00 0.00 +ATOM 302 OW SOLV 77 -1.067 -11.786 -11.687 1.00 0.00 +ATOM 303 HW1 SOLV 77 -0.967 -10.842 -12.000 1.00 0.00 +ATOM 304 HW2 SOLV 77 -0.846 -12.411 -12.436 1.00 0.00 +ATOM 305 OW SOLV 78 -11.647 -10.958 -2.686 1.00 0.00 +ATOM 306 HW1 SOLV 78 -11.683 -11.496 -3.529 1.00 0.00 +ATOM 307 HW2 SOLV 78 -10.730 -11.020 -2.290 1.00 0.00 +ATOM 308 OW SOLV 79 -8.859 -9.144 -7.252 1.00 0.00 +ATOM 309 HW1 SOLV 79 -7.992 -9.109 -7.749 1.00 0.00 +ATOM 310 HW2 SOLV 79 -9.128 -10.097 -7.118 1.00 0.00 +ATOM 311 OW SOLV 80 -5.681 -8.976 14.423 1.00 0.00 +ATOM 312 HW1 SOLV 80 -4.939 -8.316 14.541 1.00 0.00 +ATOM 313 HW2 SOLV 80 -5.614 -9.393 13.516 1.00 0.00 +ATOM 314 OW SOLV 81 6.208 -14.093 5.866 1.00 0.00 +ATOM 315 HW1 SOLV 81 5.365 -13.596 5.659 1.00 0.00 +ATOM 316 HW2 SOLV 81 6.987 -13.604 5.474 1.00 0.00 +ATOM 317 OW SOLV 82 2.550 -14.529 5.719 1.00 0.00 +ATOM 318 HW1 SOLV 82 3.456 -14.902 5.521 1.00 0.00 +ATOM 319 HW2 SOLV 82 2.599 -13.947 6.531 1.00 0.00 +ATOM 320 OW SOLV 83 9.458 -6.143 -5.084 1.00 0.00 +ATOM 321 HW1 SOLV 83 9.918 -6.740 -5.741 1.00 0.00 +ATOM 322 HW2 SOLV 83 9.219 -5.280 -5.529 1.00 0.00 +ATOM 323 OW SOLV 84 -1.446 3.344 -9.616 1.00 0.00 +ATOM 324 HW1 SOLV 84 -2.138 3.968 -9.254 1.00 0.00 +ATOM 325 HW2 SOLV 84 -1.881 2.486 -9.890 1.00 0.00 +ATOM 326 OW SOLV 85 -9.507 0.479 12.360 1.00 0.00 +ATOM 327 HW1 SOLV 85 -10.400 0.044 12.244 1.00 0.00 +ATOM 328 HW2 SOLV 85 -8.804 -0.079 11.918 1.00 0.00 +ATOM 329 OW SOLV 86 6.788 13.211 -13.231 1.00 0.00 +ATOM 330 HW1 SOLV 86 7.636 13.690 -13.004 1.00 0.00 +ATOM 331 HW2 SOLV 86 6.779 12.318 -12.782 1.00 0.00 +ATOM 332 OW SOLV 87 -14.898 1.494 4.461 1.00 0.00 +ATOM 333 HW1 SOLV 87 -15.183 2.261 3.886 1.00 0.00 +ATOM 334 HW2 SOLV 87 -14.503 0.776 3.888 1.00 0.00 +ATOM 335 OW SOLV 88 9.118 -8.648 -3.623 1.00 0.00 +ATOM 336 HW1 SOLV 88 9.274 -8.322 -2.691 1.00 0.00 +ATOM 337 HW2 SOLV 88 9.259 -7.895 -4.267 1.00 0.00 +ATOM 338 OW SOLV 89 -9.783 -6.263 7.841 1.00 0.00 +ATOM 339 HW1 SOLV 89 -8.874 -6.211 7.426 1.00 0.00 +ATOM 340 HW2 SOLV 89 -10.432 -5.741 7.287 1.00 0.00 +ATOM 341 OW SOLV 90 3.640 11.588 0.895 1.00 0.00 +ATOM 342 HW1 SOLV 90 4.496 11.254 1.289 1.00 0.00 +ATOM 343 HW2 SOLV 90 3.011 10.821 0.765 1.00 0.00 +ATOM 344 OW SOLV 91 -6.617 12.785 0.477 1.00 0.00 +ATOM 345 HW1 SOLV 91 -6.468 12.552 -0.484 1.00 0.00 +ATOM 346 HW2 SOLV 91 -7.504 13.238 0.575 1.00 0.00 +ATOM 347 OW SOLV 92 4.496 9.796 -13.822 1.00 0.00 +ATOM 348 HW1 SOLV 92 4.374 9.387 -14.725 1.00 0.00 +ATOM 349 HW2 SOLV 92 5.107 10.585 -13.893 1.00 0.00 +ATOM 350 OW SOLV 93 -8.760 0.669 -15.229 1.00 0.00 +ATOM 351 HW1 SOLV 93 -9.166 0.587 -16.140 1.00 0.00 +ATOM 352 HW2 SOLV 93 -7.813 0.349 -15.257 1.00 0.00 +ATOM 353 OW SOLV 94 14.265 13.370 -9.494 1.00 0.00 +ATOM 354 HW1 SOLV 94 14.340 13.833 -8.611 1.00 0.00 +ATOM 355 HW2 SOLV 94 14.721 13.917 -10.197 1.00 0.00 +ATOM 356 OW SOLV 95 9.165 -2.599 -13.858 1.00 0.00 +ATOM 357 HW1 SOLV 95 9.943 -2.739 -13.245 1.00 0.00 +ATOM 358 HW2 SOLV 95 8.759 -3.483 -14.088 1.00 0.00 +ATOM 359 OW SOLV 96 15.019 12.839 -13.614 1.00 0.00 +ATOM 360 HW1 SOLV 96 15.884 12.371 -13.794 1.00 0.00 +ATOM 361 HW2 SOLV 96 14.752 13.367 -14.420 1.00 0.00 +ATOM 362 OW SOLV 97 11.074 6.340 11.211 1.00 0.00 +ATOM 363 HW1 SOLV 97 10.311 6.021 11.775 1.00 0.00 +ATOM 364 HW2 SOLV 97 11.263 7.300 11.418 1.00 0.00 +ATOM 365 OW SOLV 98 -12.572 11.605 -10.967 1.00 0.00 +ATOM 366 HW1 SOLV 98 -12.633 10.621 -10.796 1.00 0.00 +ATOM 367 HW2 SOLV 98 -13.135 11.841 -11.758 1.00 0.00 +ATOM 368 OW SOLV 99 10.554 -14.082 -8.974 1.00 0.00 +ATOM 369 HW1 SOLV 99 11.333 -13.456 -8.954 1.00 0.00 +ATOM 370 HW2 SOLV 99 10.860 -15.003 -8.732 1.00 0.00 +ATOM 371 OW SOLV 100 -7.910 0.906 -9.517 1.00 0.00 +ATOM 372 HW1 SOLV 100 -7.550 1.349 -10.338 1.00 0.00 +ATOM 373 HW2 SOLV 100 -7.598 1.403 -8.707 1.00 0.00 +ATOM 374 OW SOLV 101 6.290 -3.439 2.979 1.00 0.00 +ATOM 375 HW1 SOLV 101 6.110 -3.735 3.918 1.00 0.00 +ATOM 376 HW2 SOLV 101 6.486 -2.459 2.971 1.00 0.00 +ATOM 377 OW SOLV 102 -8.337 -1.566 4.855 1.00 0.00 +ATOM 378 HW1 SOLV 102 -8.565 -0.608 4.679 1.00 0.00 +ATOM 379 HW2 SOLV 102 -7.402 -1.747 4.548 1.00 0.00 +ATOM 380 OW SOLV 103 13.282 -5.052 3.551 1.00 0.00 +ATOM 381 HW1 SOLV 103 13.423 -5.912 3.061 1.00 0.00 +ATOM 382 HW2 SOLV 103 12.493 -5.140 4.159 1.00 0.00 +ATOM 383 OW SOLV 104 -9.745 3.492 2.695 1.00 0.00 +ATOM 384 HW1 SOLV 104 -10.538 4.102 2.665 1.00 0.00 +ATOM 385 HW2 SOLV 104 -10.015 2.580 2.388 1.00 0.00 +ATOM 386 OW SOLV 105 12.353 -7.799 -9.968 1.00 0.00 +ATOM 387 HW1 SOLV 105 11.564 -8.138 -10.482 1.00 0.00 +ATOM 388 HW2 SOLV 105 12.412 -6.805 -10.067 1.00 0.00 +ATOM 389 OW SOLV 106 -7.351 -7.390 5.279 1.00 0.00 +ATOM 390 HW1 SOLV 106 -7.147 -8.171 5.871 1.00 0.00 +ATOM 391 HW2 SOLV 106 -8.338 -7.225 5.274 1.00 0.00 +ATOM 392 OW SOLV 107 -2.709 12.291 14.283 1.00 0.00 +ATOM 393 HW1 SOLV 107 -3.508 11.728 14.495 1.00 0.00 +ATOM 394 HW2 SOLV 107 -2.874 12.798 13.436 1.00 0.00 +ATOM 395 OW SOLV 108 -11.951 14.142 -14.713 1.00 0.00 +ATOM 396 HW1 SOLV 108 -12.063 14.301 -13.732 1.00 0.00 +ATOM 397 HW2 SOLV 108 -11.736 13.179 -14.873 1.00 0.00 +ATOM 398 OW SOLV 109 12.805 -7.525 -1.636 1.00 0.00 +ATOM 399 HW1 SOLV 109 13.299 -6.685 -1.858 1.00 0.00 +ATOM 400 HW2 SOLV 109 11.821 -7.348 -1.654 1.00 0.00 +ATOM 401 OW SOLV 110 -3.240 9.207 -10.818 1.00 0.00 +ATOM 402 HW1 SOLV 110 -3.173 9.315 -11.810 1.00 0.00 +ATOM 403 HW2 SOLV 110 -2.698 9.916 -10.368 1.00 0.00 +ATOM 404 OW SOLV 111 9.462 0.696 9.631 1.00 0.00 +ATOM 405 HW1 SOLV 111 10.317 1.137 9.361 1.00 0.00 +ATOM 406 HW2 SOLV 111 9.098 1.145 10.447 1.00 0.00 +ATOM 407 OW SOLV 112 -0.055 6.348 14.021 1.00 0.00 +ATOM 408 HW1 SOLV 112 0.053 6.395 13.028 1.00 0.00 +ATOM 409 HW2 SOLV 112 0.782 5.985 14.430 1.00 0.00 +ATOM 410 OW SOLV 113 -13.965 4.690 4.950 1.00 0.00 +ATOM 411 HW1 SOLV 113 -14.018 4.066 4.170 1.00 0.00 +ATOM 412 HW2 SOLV 113 -14.709 4.490 5.587 1.00 0.00 +ATOM 413 OW SOLV 114 15.289 15.044 5.014 1.00 0.00 +ATOM 414 HW1 SOLV 114 16.284 14.969 4.949 1.00 0.00 +ATOM 415 HW2 SOLV 114 14.940 14.332 5.623 1.00 0.00 +ATOM 416 OW SOLV 115 -4.990 -13.736 -4.912 1.00 0.00 +ATOM 417 HW1 SOLV 115 -4.175 -13.455 -5.420 1.00 0.00 +ATOM 418 HW2 SOLV 115 -4.874 -13.508 -3.945 1.00 0.00 +ATOM 419 OW SOLV 116 -13.760 8.168 6.450 1.00 0.00 +ATOM 420 HW1 SOLV 116 -14.703 8.485 6.545 1.00 0.00 +ATOM 421 HW2 SOLV 116 -13.430 8.372 5.528 1.00 0.00 +ATOM 422 OW SOLV 117 3.679 0.046 -13.417 1.00 0.00 +ATOM 423 HW1 SOLV 117 4.584 -0.225 -13.745 1.00 0.00 +ATOM 424 HW2 SOLV 117 3.649 -0.031 -12.420 1.00 0.00 +ATOM 425 OW SOLV 118 5.843 -10.221 0.083 1.00 0.00 +ATOM 426 HW1 SOLV 118 5.093 -10.771 -0.285 1.00 0.00 +ATOM 427 HW2 SOLV 118 6.027 -9.454 -0.533 1.00 0.00 +ATOM 428 OW SOLV 119 -2.476 -5.746 10.450 1.00 0.00 +ATOM 429 HW1 SOLV 119 -3.001 -5.429 9.660 1.00 0.00 +ATOM 430 HW2 SOLV 119 -2.031 -4.965 10.889 1.00 0.00 +ATOM 431 OW SOLV 120 -8.575 -0.954 -2.751 1.00 0.00 +ATOM 432 HW1 SOLV 120 -8.068 -0.911 -3.612 1.00 0.00 +ATOM 433 HW2 SOLV 120 -9.516 -1.240 -2.933 1.00 0.00 +ATOM 434 OW SOLV 121 -5.592 9.242 11.752 1.00 0.00 +ATOM 435 HW1 SOLV 121 -5.893 8.373 12.145 1.00 0.00 +ATOM 436 HW2 SOLV 121 -4.915 9.067 11.037 1.00 0.00 +ATOM 437 OW SOLV 122 -14.841 0.680 -7.297 1.00 0.00 +ATOM 438 HW1 SOLV 122 -14.655 1.613 -6.988 1.00 0.00 +ATOM 439 HW2 SOLV 122 -15.827 0.513 -7.279 1.00 0.00 +ATOM 440 OW SOLV 123 -2.464 14.219 -10.883 1.00 0.00 +ATOM 441 HW1 SOLV 123 -1.829 14.431 -10.141 1.00 0.00 +ATOM 442 HW2 SOLV 123 -2.076 13.500 -11.460 1.00 0.00 +ATOM 443 OW SOLV 124 0.593 -0.220 8.223 1.00 0.00 +ATOM 444 HW1 SOLV 124 -0.086 0.425 8.574 1.00 0.00 +ATOM 445 HW2 SOLV 124 1.493 0.217 8.213 1.00 0.00 +ATOM 446 OW SOLV 125 -14.124 3.963 -4.123 1.00 0.00 +ATOM 447 HW1 SOLV 125 -13.920 3.446 -3.292 1.00 0.00 +ATOM 448 HW2 SOLV 125 -13.853 4.918 -3.997 1.00 0.00 +ATOM 449 OW SOLV 126 15.286 -14.107 14.881 1.00 0.00 +ATOM 450 HW1 SOLV 126 14.419 -14.409 14.486 1.00 0.00 +ATOM 451 HW2 SOLV 126 16.034 -14.339 14.258 1.00 0.00 +ATOM 452 OW SOLV 127 -13.625 -9.585 -10.994 1.00 0.00 +ATOM 453 HW1 SOLV 127 -14.510 -9.145 -11.148 1.00 0.00 +ATOM 454 HW2 SOLV 127 -13.753 -10.574 -10.916 1.00 0.00 +ATOM 455 OW SOLV 128 -6.006 8.196 -11.995 1.00 0.00 +ATOM 456 HW1 SOLV 128 -5.039 8.221 -11.741 1.00 0.00 +ATOM 457 HW2 SOLV 128 -6.406 9.104 -11.872 1.00 0.00 +ATOM 458 OW SOLV 129 6.277 5.260 10.996 1.00 0.00 +ATOM 459 HW1 SOLV 129 5.814 4.378 10.901 1.00 0.00 +ATOM 460 HW2 SOLV 129 5.675 5.902 11.471 1.00 0.00 +ATOM 461 OW SOLV 130 -10.044 15.293 6.759 1.00 0.00 +ATOM 462 HW1 SOLV 130 -10.124 15.298 7.756 1.00 0.00 +ATOM 463 HW2 SOLV 130 -9.905 16.228 6.431 1.00 0.00 +ATOM 464 OW SOLV 131 7.589 7.680 9.027 1.00 0.00 +ATOM 465 HW1 SOLV 131 8.367 8.119 9.477 1.00 0.00 +ATOM 466 HW2 SOLV 131 7.710 6.687 9.045 1.00 0.00 +ATOM 467 OW SOLV 132 -7.872 4.961 0.723 1.00 0.00 +ATOM 468 HW1 SOLV 132 -7.409 4.216 0.242 1.00 0.00 +ATOM 469 HW2 SOLV 132 -7.404 5.140 1.589 1.00 0.00 +ATOM 470 OW SOLV 133 -12.816 -4.522 -8.073 1.00 0.00 +ATOM 471 HW1 SOLV 133 -13.396 -3.711 -8.154 1.00 0.00 +ATOM 472 HW2 SOLV 133 -12.165 -4.393 -7.325 1.00 0.00 +ATOM 473 OW SOLV 134 6.207 1.292 3.105 1.00 0.00 +ATOM 474 HW1 SOLV 134 6.714 1.931 2.526 1.00 0.00 +ATOM 475 HW2 SOLV 134 5.966 1.742 3.965 1.00 0.00 +ATOM 476 OW SOLV 135 -2.744 -10.953 10.411 1.00 0.00 +ATOM 477 HW1 SOLV 135 -2.532 -11.411 11.275 1.00 0.00 +ATOM 478 HW2 SOLV 135 -3.492 -10.304 10.552 1.00 0.00 +ATOM 479 OW SOLV 136 -9.090 -11.888 -1.588 1.00 0.00 +ATOM 480 HW1 SOLV 136 -8.502 -11.741 -2.383 1.00 0.00 +ATOM 481 HW2 SOLV 136 -8.531 -11.899 -0.758 1.00 0.00 +ATOM 482 OW SOLV 137 14.539 11.354 -4.884 1.00 0.00 +ATOM 483 HW1 SOLV 137 14.387 12.034 -5.601 1.00 0.00 +ATOM 484 HW2 SOLV 137 15.463 11.457 -4.517 1.00 0.00 +ATOM 485 OW SOLV 138 2.344 1.737 -6.312 1.00 0.00 +ATOM 486 HW1 SOLV 138 2.297 1.031 -7.019 1.00 0.00 +ATOM 487 HW2 SOLV 138 2.952 1.434 -5.578 1.00 0.00 +ATOM 488 OW SOLV 139 -4.590 -1.236 -9.745 1.00 0.00 +ATOM 489 HW1 SOLV 139 -5.530 -1.579 -9.745 1.00 0.00 +ATOM 490 HW2 SOLV 139 -4.506 -0.495 -9.079 1.00 0.00 +ATOM 491 OW SOLV 140 -11.298 9.730 -1.123 1.00 0.00 +ATOM 492 HW1 SOLV 140 -11.264 9.060 -0.381 1.00 0.00 +ATOM 493 HW2 SOLV 140 -11.121 9.271 -1.994 1.00 0.00 +ATOM 494 OW SOLV 141 -9.517 9.564 -3.300 1.00 0.00 +ATOM 495 HW1 SOLV 141 -9.325 9.329 -2.347 1.00 0.00 +ATOM 496 HW2 SOLV 141 -8.767 9.244 -3.879 1.00 0.00 +ATOM 497 OW SOLV 142 -13.418 9.175 3.792 1.00 0.00 +ATOM 498 HW1 SOLV 142 -13.945 9.742 3.159 1.00 0.00 +ATOM 499 HW2 SOLV 142 -12.731 9.738 4.251 1.00 0.00 +ATOM 500 OW SOLV 143 -9.235 -2.157 -12.261 1.00 0.00 +ATOM 501 HW1 SOLV 143 -9.813 -2.309 -13.062 1.00 0.00 +ATOM 502 HW2 SOLV 143 -9.489 -2.801 -11.540 1.00 0.00 +ATOM 503 OW SOLV 144 4.543 -11.295 7.975 1.00 0.00 +ATOM 504 HW1 SOLV 144 5.310 -11.932 7.904 1.00 0.00 +ATOM 505 HW2 SOLV 144 3.992 -11.524 8.778 1.00 0.00 +ATOM 506 OW SOLV 145 1.142 3.043 -10.112 1.00 0.00 +ATOM 507 HW1 SOLV 145 1.354 3.888 -10.604 1.00 0.00 +ATOM 508 HW2 SOLV 145 0.558 3.252 -9.328 1.00 0.00 +ATOM 509 OW SOLV 146 -11.896 -10.899 4.764 1.00 0.00 +ATOM 510 HW1 SOLV 146 -11.620 -11.176 3.843 1.00 0.00 +ATOM 511 HW2 SOLV 146 -12.641 -10.234 4.702 1.00 0.00 +ATOM 512 OW SOLV 147 -4.568 6.969 5.733 1.00 0.00 +ATOM 513 HW1 SOLV 147 -3.918 7.031 6.491 1.00 0.00 +ATOM 514 HW2 SOLV 147 -5.499 7.079 6.084 1.00 0.00 +ATOM 515 OW SOLV 148 -14.799 7.224 13.264 1.00 0.00 +ATOM 516 HW1 SOLV 148 -15.443 7.862 12.843 1.00 0.00 +ATOM 517 HW2 SOLV 148 -13.976 7.718 13.544 1.00 0.00 +ATOM 518 OW SOLV 149 -6.120 -3.066 3.190 1.00 0.00 +ATOM 519 HW1 SOLV 149 -6.824 -3.604 2.727 1.00 0.00 +ATOM 520 HW2 SOLV 149 -5.778 -2.361 2.569 1.00 0.00 +ATOM 521 OW SOLV 150 -12.765 -9.889 -5.902 1.00 0.00 +ATOM 522 HW1 SOLV 150 -13.245 -10.703 -6.229 1.00 0.00 +ATOM 523 HW2 SOLV 150 -13.269 -9.071 -6.179 1.00 0.00 +ATOM 524 OW SOLV 151 -7.641 -14.639 -6.016 1.00 0.00 +ATOM 525 HW1 SOLV 151 -6.830 -15.012 -5.564 1.00 0.00 +ATOM 526 HW2 SOLV 151 -7.474 -14.576 -7.000 1.00 0.00 +ATOM 527 OW SOLV 152 -7.703 -2.443 -0.409 1.00 0.00 +ATOM 528 HW1 SOLV 152 -7.959 -1.810 -1.140 1.00 0.00 +ATOM 529 HW2 SOLV 152 -7.421 -3.316 -0.808 1.00 0.00 +ATOM 530 OW SOLV 153 -14.878 0.217 14.313 1.00 0.00 +ATOM 531 HW1 SOLV 153 -14.481 1.064 14.668 1.00 0.00 +ATOM 532 HW2 SOLV 153 -14.147 -0.433 14.108 1.00 0.00 +ATOM 533 OW SOLV 154 -12.314 -12.520 -4.911 1.00 0.00 +ATOM 534 HW1 SOLV 154 -11.718 -12.857 -5.640 1.00 0.00 +ATOM 535 HW2 SOLV 154 -12.447 -11.535 -5.019 1.00 0.00 +ATOM 536 OW SOLV 155 2.404 -2.087 -14.937 1.00 0.00 +ATOM 537 HW1 SOLV 155 2.895 -1.398 -14.403 1.00 0.00 +ATOM 538 HW2 SOLV 155 2.578 -2.993 -14.553 1.00 0.00 +ATOM 539 OW SOLV 156 -11.177 -15.148 -2.245 1.00 0.00 +ATOM 540 HW1 SOLV 156 -10.793 -16.059 -2.397 1.00 0.00 +ATOM 541 HW2 SOLV 156 -11.612 -15.116 -1.345 1.00 0.00 +ATOM 542 OW SOLV 157 -3.962 -8.282 -8.918 1.00 0.00 +ATOM 543 HW1 SOLV 157 -4.893 -8.606 -9.089 1.00 0.00 +ATOM 544 HW2 SOLV 157 -3.957 -7.700 -8.104 1.00 0.00 +ATOM 545 OW SOLV 158 11.936 -9.428 -3.912 1.00 0.00 +ATOM 546 HW1 SOLV 158 12.746 -9.334 -4.491 1.00 0.00 +ATOM 547 HW2 SOLV 158 11.901 -8.669 -3.262 1.00 0.00 +ATOM 548 OW SOLV 159 -4.131 4.317 -3.058 1.00 0.00 +ATOM 549 HW1 SOLV 159 -4.187 5.235 -2.667 1.00 0.00 +ATOM 550 HW2 SOLV 159 -3.198 4.145 -3.374 1.00 0.00 +ATOM 551 OW SOLV 160 5.909 14.769 9.107 1.00 0.00 +ATOM 552 HW1 SOLV 160 5.080 14.238 9.283 1.00 0.00 +ATOM 553 HW2 SOLV 160 6.261 14.545 8.197 1.00 0.00 +ATOM 554 OW SOLV 161 -1.449 9.697 -3.787 1.00 0.00 +ATOM 555 HW1 SOLV 161 -1.601 10.336 -3.033 1.00 0.00 +ATOM 556 HW2 SOLV 161 -1.466 10.195 -4.654 1.00 0.00 +ATOM 557 OW SOLV 162 9.181 -4.426 0.416 1.00 0.00 +ATOM 558 HW1 SOLV 162 9.880 -5.099 0.656 1.00 0.00 +ATOM 559 HW2 SOLV 162 8.486 -4.395 1.135 1.00 0.00 +ATOM 560 OW SOLV 163 10.340 -7.266 6.920 1.00 0.00 +ATOM 561 HW1 SOLV 163 10.744 -8.127 6.611 1.00 0.00 +ATOM 562 HW2 SOLV 163 10.738 -7.008 7.800 1.00 0.00 +ATOM 563 OW SOLV 164 6.737 12.112 3.808 1.00 0.00 +ATOM 564 HW1 SOLV 164 5.869 11.616 3.855 1.00 0.00 +ATOM 565 HW2 SOLV 164 6.580 13.022 3.424 1.00 0.00 +ATOM 566 OW SOLV 165 -3.505 6.911 13.713 1.00 0.00 +ATOM 567 HW1 SOLV 165 -4.451 7.100 13.447 1.00 0.00 +ATOM 568 HW2 SOLV 165 -3.381 5.924 13.822 1.00 0.00 +ATOM 569 OW SOLV 166 3.404 -2.643 8.113 1.00 0.00 +ATOM 570 HW1 SOLV 166 3.036 -3.354 8.713 1.00 0.00 +ATOM 571 HW2 SOLV 166 4.065 -3.050 7.482 1.00 0.00 +ATOM 572 OW SOLV 167 6.050 12.941 -9.668 1.00 0.00 +ATOM 573 HW1 SOLV 167 5.917 13.897 -9.407 1.00 0.00 +ATOM 574 HW2 SOLV 167 6.647 12.493 -9.003 1.00 0.00 +ATOM 575 OW SOLV 168 -3.313 14.501 -0.368 1.00 0.00 +ATOM 576 HW1 SOLV 168 -3.729 14.094 -1.181 1.00 0.00 +ATOM 577 HW2 SOLV 168 -4.024 14.701 0.306 1.00 0.00 +ATOM 578 OW SOLV 169 6.131 12.331 -3.767 1.00 0.00 +ATOM 579 HW1 SOLV 169 5.871 11.529 -3.229 1.00 0.00 +ATOM 580 HW2 SOLV 169 5.469 12.466 -4.504 1.00 0.00 +ATOM 581 OW SOLV 170 -14.971 4.973 8.114 1.00 0.00 +ATOM 582 HW1 SOLV 170 -14.750 5.938 7.974 1.00 0.00 +ATOM 583 HW2 SOLV 170 -15.798 4.743 7.600 1.00 0.00 +ATOM 584 OW SOLV 171 -7.922 6.731 -14.972 1.00 0.00 +ATOM 585 HW1 SOLV 171 -7.240 6.003 -14.902 1.00 0.00 +ATOM 586 HW2 SOLV 171 -7.911 7.109 -15.898 1.00 0.00 +ATOM 587 OW SOLV 172 -6.454 -4.458 6.117 1.00 0.00 +ATOM 588 HW1 SOLV 172 -7.024 -3.953 5.469 1.00 0.00 +ATOM 589 HW2 SOLV 172 -5.521 -4.519 5.763 1.00 0.00 +ATOM 590 OW SOLV 173 -1.073 6.468 -3.928 1.00 0.00 +ATOM 591 HW1 SOLV 173 -1.308 7.413 -4.157 1.00 0.00 +ATOM 592 HW2 SOLV 173 -0.343 6.463 -3.245 1.00 0.00 +ATOM 593 OW SOLV 174 -8.720 -14.797 -12.240 1.00 0.00 +ATOM 594 HW1 SOLV 174 -8.588 -14.511 -13.190 1.00 0.00 +ATOM 595 HW2 SOLV 174 -9.462 -14.264 -11.833 1.00 0.00 +ATOM 596 OW SOLV 175 -14.833 15.073 1.174 1.00 0.00 +ATOM 597 HW1 SOLV 175 -14.956 15.112 0.182 1.00 0.00 +ATOM 598 HW2 SOLV 175 -14.602 14.138 1.444 1.00 0.00 +ATOM 599 OW SOLV 176 5.618 -7.594 -1.298 1.00 0.00 +ATOM 600 HW1 SOLV 176 6.071 -7.043 -1.998 1.00 0.00 +ATOM 601 HW2 SOLV 176 5.037 -8.279 -1.737 1.00 0.00 +ATOM 602 OW SOLV 177 -10.382 -13.876 15.117 1.00 0.00 +ATOM 603 HW1 SOLV 177 -11.290 -13.549 15.379 1.00 0.00 +ATOM 604 HW2 SOLV 177 -10.257 -14.812 15.447 1.00 0.00 +ATOM 605 OW SOLV 178 -8.052 -5.131 0.724 1.00 0.00 +ATOM 606 HW1 SOLV 178 -8.111 -5.564 1.624 1.00 0.00 +ATOM 607 HW2 SOLV 178 -7.125 -5.237 0.363 1.00 0.00 +ATOM 608 OW SOLV 179 5.302 -7.576 -12.736 1.00 0.00 +ATOM 609 HW1 SOLV 179 5.327 -8.535 -12.451 1.00 0.00 +ATOM 610 HW2 SOLV 179 6.188 -7.150 -12.549 1.00 0.00 +ATOM 611 OW SOLV 180 -9.836 7.102 -0.238 1.00 0.00 +ATOM 612 HW1 SOLV 180 -10.645 7.471 0.221 1.00 0.00 +ATOM 613 HW2 SOLV 180 -9.715 6.144 0.021 1.00 0.00 +ATOM 614 OW SOLV 181 -6.516 -12.424 10.182 1.00 0.00 +ATOM 615 HW1 SOLV 181 -7.136 -12.990 10.727 1.00 0.00 +ATOM 616 HW2 SOLV 181 -6.650 -11.462 10.417 1.00 0.00 +ATOM 617 OW SOLV 182 -5.176 5.611 -9.513 1.00 0.00 +ATOM 618 HW1 SOLV 182 -6.122 5.426 -9.245 1.00 0.00 +ATOM 619 HW2 SOLV 182 -5.165 6.044 -10.415 1.00 0.00 +ATOM 620 OW SOLV 183 6.791 -3.890 9.998 1.00 0.00 +ATOM 621 HW1 SOLV 183 5.827 -3.711 9.802 1.00 0.00 +ATOM 622 HW2 SOLV 183 7.100 -3.283 10.731 1.00 0.00 +ATOM 623 OW SOLV 184 9.149 -5.267 -2.164 1.00 0.00 +ATOM 624 HW1 SOLV 184 9.410 -6.221 -2.019 1.00 0.00 +ATOM 625 HW2 SOLV 184 9.021 -4.818 -1.280 1.00 0.00 +ATOM 626 OW SOLV 185 0.227 -15.046 7.238 1.00 0.00 +ATOM 627 HW1 SOLV 185 -0.414 -15.052 6.471 1.00 0.00 +ATOM 628 HW2 SOLV 185 1.154 -14.888 6.897 1.00 0.00 +ATOM 629 OW SOLV 186 11.337 13.316 -0.600 1.00 0.00 +ATOM 630 HW1 SOLV 186 11.769 13.639 -1.442 1.00 0.00 +ATOM 631 HW2 SOLV 186 12.027 13.240 0.120 1.00 0.00 +ATOM 632 OW SOLV 187 14.350 9.473 5.648 1.00 0.00 +ATOM 633 HW1 SOLV 187 13.594 9.797 5.079 1.00 0.00 +ATOM 634 HW2 SOLV 187 14.951 10.241 5.871 1.00 0.00 +ATOM 635 OW SOLV 188 -7.096 7.997 -4.813 1.00 0.00 +ATOM 636 HW1 SOLV 188 -7.632 7.232 -5.172 1.00 0.00 +ATOM 637 HW2 SOLV 188 -6.491 7.669 -4.088 1.00 0.00 +ATOM 638 OW SOLV 189 2.266 -0.447 13.351 1.00 0.00 +ATOM 639 HW1 SOLV 189 1.681 0.130 13.921 1.00 0.00 +ATOM 640 HW2 SOLV 189 3.200 -0.428 13.707 1.00 0.00 +ATOM 641 OW SOLV 190 -0.573 12.628 -7.791 1.00 0.00 +ATOM 642 HW1 SOLV 190 0.069 11.865 -7.861 1.00 0.00 +ATOM 643 HW2 SOLV 190 -1.421 12.313 -7.364 1.00 0.00 +ATOM 644 OW SOLV 191 0.297 -12.263 0.299 1.00 0.00 +ATOM 645 HW1 SOLV 191 0.596 -13.023 -0.277 1.00 0.00 +ATOM 646 HW2 SOLV 191 -0.633 -11.997 0.044 1.00 0.00 +ATOM 647 OW SOLV 192 4.213 10.210 -10.393 1.00 0.00 +ATOM 648 HW1 SOLV 192 3.694 11.037 -10.611 1.00 0.00 +ATOM 649 HW2 SOLV 192 5.112 10.256 -10.828 1.00 0.00 +ATOM 650 OW SOLV 193 13.507 -13.562 -0.411 1.00 0.00 +ATOM 651 HW1 SOLV 193 13.730 -13.787 -1.360 1.00 0.00 +ATOM 652 HW2 SOLV 193 14.348 -13.522 0.128 1.00 0.00 +ATOM 653 OW SOLV 194 1.700 4.117 11.101 1.00 0.00 +ATOM 654 HW1 SOLV 194 1.567 5.102 11.211 1.00 0.00 +ATOM 655 HW2 SOLV 194 2.306 3.948 10.324 1.00 0.00 +ATOM 656 OW SOLV 195 15.166 -9.417 15.122 1.00 0.00 +ATOM 657 HW1 SOLV 195 15.336 -9.928 14.280 1.00 0.00 +ATOM 658 HW2 SOLV 195 14.285 -9.694 15.507 1.00 0.00 +ATOM 659 OW SOLV 196 4.991 -1.905 -10.095 1.00 0.00 +ATOM 660 HW1 SOLV 196 4.239 -2.466 -10.442 1.00 0.00 +ATOM 661 HW2 SOLV 196 4.656 -0.984 -9.898 1.00 0.00 +ATOM 662 OW SOLV 197 6.001 -3.608 7.075 1.00 0.00 +ATOM 663 HW1 SOLV 197 5.988 -3.694 8.071 1.00 0.00 +ATOM 664 HW2 SOLV 197 6.697 -4.219 6.697 1.00 0.00 +ATOM 665 OW SOLV 198 6.870 -7.701 13.307 1.00 0.00 +ATOM 666 HW1 SOLV 198 7.745 -7.625 13.785 1.00 0.00 +ATOM 667 HW2 SOLV 198 6.989 -8.247 12.477 1.00 0.00 +ATOM 668 OW SOLV 199 7.042 11.133 0.970 1.00 0.00 +ATOM 669 HW1 SOLV 199 7.819 11.562 1.431 1.00 0.00 +ATOM 670 HW2 SOLV 199 7.222 11.087 -0.013 1.00 0.00 +ATOM 671 OW SOLV 200 -3.801 0.897 -7.545 1.00 0.00 +ATOM 672 HW1 SOLV 200 -4.635 1.435 -7.664 1.00 0.00 +ATOM 673 HW2 SOLV 200 -3.328 1.194 -6.716 1.00 0.00 +ATOM 674 OW SOLV 201 14.424 5.678 -6.439 1.00 0.00 +ATOM 675 HW1 SOLV 201 13.633 5.889 -7.013 1.00 0.00 +ATOM 676 HW2 SOLV 201 14.778 6.522 -6.036 1.00 0.00 +ATOM 677 OW SOLV 202 -3.020 5.372 -11.390 1.00 0.00 +ATOM 678 HW1 SOLV 202 -3.510 5.226 -10.531 1.00 0.00 +ATOM 679 HW2 SOLV 202 -3.053 6.342 -11.632 1.00 0.00 +ATOM 680 OW SOLV 203 -13.161 -6.597 5.735 1.00 0.00 +ATOM 681 HW1 SOLV 203 -13.327 -5.636 5.957 1.00 0.00 +ATOM 682 HW2 SOLV 203 -12.178 -6.748 5.625 1.00 0.00 +ATOM 683 OW SOLV 204 -0.877 -5.531 -7.881 1.00 0.00 +ATOM 684 HW1 SOLV 204 -0.937 -5.420 -6.889 1.00 0.00 +ATOM 685 HW2 SOLV 204 -1.129 -6.467 -8.127 1.00 0.00 +ATOM 686 OW SOLV 205 -3.739 10.480 -7.201 1.00 0.00 +ATOM 687 HW1 SOLV 205 -4.491 11.137 -7.262 1.00 0.00 +ATOM 688 HW2 SOLV 205 -3.377 10.302 -8.116 1.00 0.00 +ATOM 689 OW SOLV 206 -2.620 -11.996 -3.634 1.00 0.00 +ATOM 690 HW1 SOLV 206 -1.708 -11.789 -3.987 1.00 0.00 +ATOM 691 HW2 SOLV 206 -2.573 -12.796 -3.035 1.00 0.00 +ATOM 692 OW SOLV 207 14.844 8.095 -4.721 1.00 0.00 +ATOM 693 HW1 SOLV 207 15.319 8.386 -3.890 1.00 0.00 +ATOM 694 HW2 SOLV 207 14.526 8.900 -5.222 1.00 0.00 +ATOM 695 OW SOLV 208 -14.064 13.982 -11.271 1.00 0.00 +ATOM 696 HW1 SOLV 208 -13.800 14.193 -12.212 1.00 0.00 +ATOM 697 HW2 SOLV 208 -14.934 13.490 -11.271 1.00 0.00 +ATOM 698 OW SOLV 209 -8.284 -12.856 -8.010 1.00 0.00 +ATOM 699 HW1 SOLV 209 -7.914 -12.883 -8.938 1.00 0.00 +ATOM 700 HW2 SOLV 209 -7.541 -12.696 -7.360 1.00 0.00 +ATOM 701 OW SOLV 210 0.165 8.466 -12.327 1.00 0.00 +ATOM 702 HW1 SOLV 210 0.853 8.840 -11.705 1.00 0.00 +ATOM 703 HW2 SOLV 210 0.535 8.437 -13.255 1.00 0.00 +ATOM 704 OW SOLV 211 -2.242 4.205 8.547 1.00 0.00 +ATOM 705 HW1 SOLV 211 -2.392 4.518 7.609 1.00 0.00 +ATOM 706 HW2 SOLV 211 -2.978 4.543 9.133 1.00 0.00 +ATOM 707 OW SOLV 212 -12.412 -6.015 -0.508 1.00 0.00 +ATOM 708 HW1 SOLV 212 -12.460 -6.881 -0.010 1.00 0.00 +ATOM 709 HW2 SOLV 212 -12.774 -6.142 -1.432 1.00 0.00 +ATOM 710 OW SOLV 213 -8.463 -2.140 14.166 1.00 0.00 +ATOM 711 HW1 SOLV 213 -8.938 -2.958 13.839 1.00 0.00 +ATOM 712 HW2 SOLV 213 -7.822 -1.826 13.466 1.00 0.00 +ATOM 713 OW SOLV 214 -7.487 3.717 -2.832 1.00 0.00 +ATOM 714 HW1 SOLV 214 -8.118 3.044 -2.447 1.00 0.00 +ATOM 715 HW2 SOLV 214 -7.883 4.631 -2.748 1.00 0.00 +ATOM 716 OW SOLV 215 14.683 8.262 0.598 1.00 0.00 +ATOM 717 HW1 SOLV 215 14.345 8.954 1.237 1.00 0.00 +ATOM 718 HW2 SOLV 215 13.925 7.933 0.034 1.00 0.00 +ATOM 719 OW SOLV 216 -7.224 -1.868 -9.383 1.00 0.00 +ATOM 720 HW1 SOLV 216 -7.400 -0.951 -9.743 1.00 0.00 +ATOM 721 HW2 SOLV 216 -7.927 -2.497 -9.716 1.00 0.00 +ATOM 722 OW SOLV 217 14.986 2.921 1.557 1.00 0.00 +ATOM 723 HW1 SOLV 217 14.600 2.193 0.991 1.00 0.00 +ATOM 724 HW2 SOLV 217 14.404 3.732 1.500 1.00 0.00 +ATOM 725 OW SOLV 218 4.939 2.836 -6.280 1.00 0.00 +ATOM 726 HW1 SOLV 218 4.076 2.965 -6.769 1.00 0.00 +ATOM 727 HW2 SOLV 218 5.690 2.785 -6.939 1.00 0.00 +ATOM 728 OW SOLV 219 14.554 8.581 -7.428 1.00 0.00 +ATOM 729 HW1 SOLV 219 15.520 8.822 -7.521 1.00 0.00 +ATOM 730 HW2 SOLV 219 14.009 9.415 -7.340 1.00 0.00 +ATOM 731 OW SOLV 220 -8.692 -11.534 14.635 1.00 0.00 +ATOM 732 HW1 SOLV 220 -9.408 -12.214 14.478 1.00 0.00 +ATOM 733 HW2 SOLV 220 -8.769 -11.178 15.567 1.00 0.00 +ATOM 734 OW SOLV 221 8.811 0.960 -9.429 1.00 0.00 +ATOM 735 HW1 SOLV 221 9.313 1.707 -8.993 1.00 0.00 +ATOM 736 HW2 SOLV 221 9.096 0.881 -10.385 1.00 0.00 +ATOM 737 OW SOLV 222 -1.278 -3.640 11.832 1.00 0.00 +ATOM 738 HW1 SOLV 222 -1.157 -2.903 12.497 1.00 0.00 +ATOM 739 HW2 SOLV 222 -0.841 -3.386 10.970 1.00 0.00 +ATOM 740 OW SOLV 223 4.870 -2.107 -3.700 1.00 0.00 +ATOM 741 HW1 SOLV 223 5.414 -2.673 -3.080 1.00 0.00 +ATOM 742 HW2 SOLV 223 5.362 -1.992 -4.563 1.00 0.00 +ATOM 743 OW SOLV 224 4.249 -12.960 -1.577 1.00 0.00 +ATOM 744 HW1 SOLV 224 4.840 -12.632 -0.841 1.00 0.00 +ATOM 745 HW2 SOLV 224 4.762 -13.587 -2.163 1.00 0.00 +ATOM 746 OW SOLV 225 8.882 2.849 11.483 1.00 0.00 +ATOM 747 HW1 SOLV 225 8.163 3.010 12.159 1.00 0.00 +ATOM 748 HW2 SOLV 225 9.736 2.624 11.951 1.00 0.00 +ATOM 749 OW SOLV 226 14.045 2.640 -15.175 1.00 0.00 +ATOM 750 HW1 SOLV 226 14.882 2.106 -15.052 1.00 0.00 +ATOM 751 HW2 SOLV 226 13.284 2.176 -14.723 1.00 0.00 +ATOM 752 OW SOLV 227 10.672 12.583 15.074 1.00 0.00 +ATOM 753 HW1 SOLV 227 10.866 12.814 16.027 1.00 0.00 +ATOM 754 HW2 SOLV 227 10.448 11.611 15.005 1.00 0.00 +ATOM 755 OW SOLV 228 5.391 9.380 2.546 1.00 0.00 +ATOM 756 HW1 SOLV 228 6.052 10.121 2.424 1.00 0.00 +ATOM 757 HW2 SOLV 228 5.531 8.688 1.837 1.00 0.00 +ATOM 758 OW SOLV 229 -13.603 6.176 -0.832 1.00 0.00 +ATOM 759 HW1 SOLV 229 -13.971 6.309 0.088 1.00 0.00 +ATOM 760 HW2 SOLV 229 -13.999 5.350 -1.233 1.00 0.00 +ATOM 761 OW SOLV 230 -0.055 3.460 -14.122 1.00 0.00 +ATOM 762 HW1 SOLV 230 -0.326 4.007 -14.914 1.00 0.00 +ATOM 763 HW2 SOLV 230 -0.869 3.200 -13.602 1.00 0.00 +ATOM 764 OW SOLV 231 -10.148 -13.003 4.793 1.00 0.00 +ATOM 765 HW1 SOLV 231 -10.914 -12.427 5.080 1.00 0.00 +ATOM 766 HW2 SOLV 231 -9.349 -12.799 5.358 1.00 0.00 +ATOM 767 OW SOLV 232 -9.326 0.245 6.897 1.00 0.00 +ATOM 768 HW1 SOLV 232 -9.726 1.049 7.335 1.00 0.00 +ATOM 769 HW2 SOLV 232 -9.611 0.211 5.939 1.00 0.00 +ATOM 770 OW SOLV 233 -4.122 14.715 6.065 1.00 0.00 +ATOM 771 HW1 SOLV 233 -5.085 14.793 6.322 1.00 0.00 +ATOM 772 HW2 SOLV 233 -3.827 15.558 5.616 1.00 0.00 +ATOM 773 OW SOLV 234 3.290 -3.644 4.412 1.00 0.00 +ATOM 774 HW1 SOLV 234 3.270 -4.563 4.806 1.00 0.00 +ATOM 775 HW2 SOLV 234 2.762 -3.634 3.563 1.00 0.00 +ATOM 776 OW SOLV 235 -0.731 11.364 -10.564 1.00 0.00 +ATOM 777 HW1 SOLV 235 -0.002 11.159 -9.911 1.00 0.00 +ATOM 778 HW2 SOLV 235 -0.333 11.543 -11.463 1.00 0.00 +ATOM 779 OW SOLV 236 8.004 -3.929 -11.107 1.00 0.00 +ATOM 780 HW1 SOLV 236 8.290 -4.860 -10.876 1.00 0.00 +ATOM 781 HW2 SOLV 236 7.480 -3.544 -10.347 1.00 0.00 +ATOM 782 OW SOLV 237 -7.677 0.171 -12.101 1.00 0.00 +ATOM 783 HW1 SOLV 237 -8.055 0.438 -12.988 1.00 0.00 +ATOM 784 HW2 SOLV 237 -6.696 0.003 -12.194 1.00 0.00 +ATOM 785 OW SOLV 238 -15.141 13.173 13.947 1.00 0.00 +ATOM 786 HW1 SOLV 238 -14.943 14.081 13.576 1.00 0.00 +ATOM 787 HW2 SOLV 238 -14.402 12.545 13.702 1.00 0.00 +ATOM 788 OW SOLV 239 -13.373 -0.501 5.550 1.00 0.00 +ATOM 789 HW1 SOLV 239 -13.870 0.225 5.074 1.00 0.00 +ATOM 790 HW2 SOLV 239 -12.531 -0.128 5.939 1.00 0.00 +ATOM 791 OW SOLV 240 -8.983 2.343 -7.503 1.00 0.00 +ATOM 792 HW1 SOLV 240 -9.669 2.663 -6.850 1.00 0.00 +ATOM 793 HW2 SOLV 240 -9.399 2.255 -8.408 1.00 0.00 +ATOM 794 OW SOLV 241 -8.257 14.347 -8.852 1.00 0.00 +ATOM 795 HW1 SOLV 241 -7.804 15.216 -8.655 1.00 0.00 +ATOM 796 HW2 SOLV 241 -8.874 14.463 -9.631 1.00 0.00 +ATOM 797 OW SOLV 242 -12.449 -0.983 0.425 1.00 0.00 +ATOM 798 HW1 SOLV 242 -12.193 -1.012 -0.541 1.00 0.00 +ATOM 799 HW2 SOLV 242 -11.634 -1.114 0.990 1.00 0.00 +ATOM 800 OW SOLV 243 -13.080 -11.021 10.281 1.00 0.00 +ATOM 801 HW1 SOLV 243 -13.545 -10.367 10.878 1.00 0.00 +ATOM 802 HW2 SOLV 243 -13.621 -11.158 9.451 1.00 0.00 +ATOM 803 OW SOLV 244 -11.248 2.595 13.853 1.00 0.00 +ATOM 804 HW1 SOLV 244 -11.847 2.235 13.138 1.00 0.00 +ATOM 805 HW2 SOLV 244 -10.925 3.504 13.591 1.00 0.00 +ATOM 806 OW SOLV 245 6.742 -1.062 -1.928 1.00 0.00 +ATOM 807 HW1 SOLV 245 6.445 -0.147 -1.654 1.00 0.00 +ATOM 808 HW2 SOLV 245 7.273 -1.475 -1.188 1.00 0.00 +ATOM 809 OW SOLV 246 -1.438 8.430 4.543 1.00 0.00 +ATOM 810 HW1 SOLV 246 -1.802 8.233 3.633 1.00 0.00 +ATOM 811 HW2 SOLV 246 -0.880 9.259 4.507 1.00 0.00 +ATOM 812 OW SOLV 247 8.449 -1.657 8.363 1.00 0.00 +ATOM 813 HW1 SOLV 247 8.947 -2.060 9.131 1.00 0.00 +ATOM 814 HW2 SOLV 247 8.312 -0.681 8.529 1.00 0.00 +ATOM 815 OW SOLV 248 -14.795 -14.541 -6.418 1.00 0.00 +ATOM 816 HW1 SOLV 248 -14.911 -15.506 -6.180 1.00 0.00 +ATOM 817 HW2 SOLV 248 -14.094 -14.456 -7.127 1.00 0.00 +ATOM 818 OW SOLV 249 3.034 -12.451 -4.786 1.00 0.00 +ATOM 819 HW1 SOLV 249 2.560 -12.184 -5.625 1.00 0.00 +ATOM 820 HW2 SOLV 249 3.162 -11.646 -4.205 1.00 0.00 +ATOM 821 OW SOLV 250 -11.089 -1.339 -9.671 1.00 0.00 +ATOM 822 HW1 SOLV 250 -11.015 -1.960 -10.452 1.00 0.00 +ATOM 823 HW2 SOLV 250 -11.478 -0.469 -9.974 1.00 0.00 +ATOM 824 OW SOLV 251 -9.190 -12.227 7.250 1.00 0.00 +ATOM 825 HW1 SOLV 251 -8.354 -12.093 6.719 1.00 0.00 +ATOM 826 HW2 SOLV 251 -9.004 -12.047 8.216 1.00 0.00 +ATOM 827 OW SOLV 252 -11.478 -3.419 1.616 1.00 0.00 +ATOM 828 HW1 SOLV 252 -12.100 -3.269 0.847 1.00 0.00 +ATOM 829 HW2 SOLV 252 -11.802 -4.193 2.160 1.00 0.00 +ATOM 830 OW SOLV 253 -9.584 12.469 -13.284 1.00 0.00 +ATOM 831 HW1 SOLV 253 -10.260 12.012 -12.706 1.00 0.00 +ATOM 832 HW2 SOLV 253 -8.885 11.811 -13.563 1.00 0.00 +ATOM 833 OW SOLV 254 4.471 7.799 -0.283 1.00 0.00 +ATOM 834 HW1 SOLV 254 4.004 7.205 0.371 1.00 0.00 +ATOM 835 HW2 SOLV 254 4.944 7.239 -0.964 1.00 0.00 +ATOM 836 OW SOLV 255 -1.331 -12.838 12.605 1.00 0.00 +ATOM 837 HW1 SOLV 255 -1.316 -12.407 13.507 1.00 0.00 +ATOM 838 HW2 SOLV 255 -0.395 -13.037 12.315 1.00 0.00 +ATOM 839 OW SOLV 256 12.641 7.987 -12.569 1.00 0.00 +ATOM 840 HW1 SOLV 256 12.740 7.588 -13.481 1.00 0.00 +ATOM 841 HW2 SOLV 256 13.176 8.831 -12.515 1.00 0.00 +ATOM 842 OW SOLV 257 -10.281 -11.681 -6.666 1.00 0.00 +ATOM 843 HW1 SOLV 257 -9.706 -12.191 -7.306 1.00 0.00 +ATOM 844 HW2 SOLV 257 -9.777 -11.526 -5.817 1.00 0.00 +ATOM 845 OW SOLV 258 7.653 8.523 -7.616 1.00 0.00 +ATOM 846 HW1 SOLV 258 7.417 7.703 -7.095 1.00 0.00 +ATOM 847 HW2 SOLV 258 6.831 9.073 -7.763 1.00 0.00 +ATOM 848 OW SOLV 259 -0.545 8.704 12.296 1.00 0.00 +ATOM 849 HW1 SOLV 259 -0.022 9.548 12.178 1.00 0.00 +ATOM 850 HW2 SOLV 259 -1.148 8.793 13.088 1.00 0.00 +ATOM 851 OW SOLV 260 10.316 8.090 -14.802 1.00 0.00 +ATOM 852 HW1 SOLV 260 11.280 7.885 -14.971 1.00 0.00 +ATOM 853 HW2 SOLV 260 9.744 7.441 -15.303 1.00 0.00 +ATOM 854 OW SOLV 261 -8.403 11.243 -6.729 1.00 0.00 +ATOM 855 HW1 SOLV 261 -9.341 11.191 -6.386 1.00 0.00 +ATOM 856 HW2 SOLV 261 -8.250 10.511 -7.393 1.00 0.00 +ATOM 857 OW SOLV 262 0.491 -14.108 -12.875 1.00 0.00 +ATOM 858 HW1 SOLV 262 0.410 -13.973 -11.887 1.00 0.00 +ATOM 859 HW2 SOLV 262 1.005 -14.946 -13.056 1.00 0.00 +ATOM 860 OW SOLV 263 5.143 6.547 7.314 1.00 0.00 +ATOM 861 HW1 SOLV 263 5.057 5.562 7.466 1.00 0.00 +ATOM 862 HW2 SOLV 263 6.111 6.797 7.288 1.00 0.00 +ATOM 863 OW SOLV 264 -7.498 8.085 3.285 1.00 0.00 +ATOM 864 HW1 SOLV 264 -8.015 7.234 3.193 1.00 0.00 +ATOM 865 HW2 SOLV 264 -7.848 8.605 4.065 1.00 0.00 +ATOM 866 OW SOLV 265 1.597 11.123 6.157 1.00 0.00 +ATOM 867 HW1 SOLV 265 2.494 11.000 5.732 1.00 0.00 +ATOM 868 HW2 SOLV 265 1.146 11.922 5.759 1.00 0.00 +ATOM 869 OW SOLV 266 6.732 4.607 -4.303 1.00 0.00 +ATOM 870 HW1 SOLV 266 7.020 5.546 -4.489 1.00 0.00 +ATOM 871 HW2 SOLV 266 6.536 4.141 -5.166 1.00 0.00 +ATOM 872 OW SOLV 267 3.224 6.437 -14.835 1.00 0.00 +ATOM 873 HW1 SOLV 267 2.535 6.759 -14.185 1.00 0.00 +ATOM 874 HW2 SOLV 267 4.033 6.127 -14.337 1.00 0.00 +ATOM 875 OW SOLV 268 -12.636 -7.361 14.561 1.00 0.00 +ATOM 876 HW1 SOLV 268 -12.692 -6.802 15.388 1.00 0.00 +ATOM 877 HW2 SOLV 268 -11.975 -8.098 14.701 1.00 0.00 +ATOM 878 OW SOLV 269 -9.320 -4.574 -10.838 1.00 0.00 +ATOM 879 HW1 SOLV 269 -9.353 -4.402 -11.823 1.00 0.00 +ATOM 880 HW2 SOLV 269 -8.371 -4.540 -10.525 1.00 0.00 +ATOM 881 OW SOLV 270 -14.912 3.200 -6.547 1.00 0.00 +ATOM 882 HW1 SOLV 270 -14.393 3.399 -5.715 1.00 0.00 +ATOM 883 HW2 SOLV 270 -15.690 3.825 -6.611 1.00 0.00 +ATOM 884 OW SOLV 271 -13.983 1.383 -3.366 1.00 0.00 +ATOM 885 HW1 SOLV 271 -13.000 1.237 -3.252 1.00 0.00 +ATOM 886 HW2 SOLV 271 -14.140 2.263 -3.815 1.00 0.00 +ATOM 887 OW SOLV 272 -8.458 4.846 13.197 1.00 0.00 +ATOM 888 HW1 SOLV 272 -9.006 4.343 13.866 1.00 0.00 +ATOM 889 HW2 SOLV 272 -7.533 4.466 13.171 1.00 0.00 +ATOM 890 OW SOLV 273 6.438 12.313 14.429 1.00 0.00 +ATOM 891 HW1 SOLV 273 6.487 12.829 13.574 1.00 0.00 +ATOM 892 HW2 SOLV 273 6.302 11.343 14.226 1.00 0.00 +ATOM 893 OW SOLV 274 -13.811 -1.992 -6.513 1.00 0.00 +ATOM 894 HW1 SOLV 274 -14.389 -1.865 -7.319 1.00 0.00 +ATOM 895 HW2 SOLV 274 -12.945 -1.509 -6.645 1.00 0.00 +ATOM 896 OW SOLV 275 6.123 -1.420 -13.224 1.00 0.00 +ATOM 897 HW1 SOLV 275 5.920 -1.863 -12.350 1.00 0.00 +ATOM 898 HW2 SOLV 275 7.032 -1.700 -13.535 1.00 0.00 +ATOM 899 OW SOLV 276 14.239 -5.875 -5.701 1.00 0.00 +ATOM 900 HW1 SOLV 276 15.165 -5.824 -5.326 1.00 0.00 +ATOM 901 HW2 SOLV 276 13.610 -5.377 -5.104 1.00 0.00 +ATOM 902 OW SOLV 277 -14.074 9.621 -9.584 1.00 0.00 +ATOM 903 HW1 SOLV 277 -14.857 9.046 -9.824 1.00 0.00 +ATOM 904 HW2 SOLV 277 -14.158 10.506 -10.042 1.00 0.00 +ATOM 905 OW SOLV 278 0.488 12.999 4.383 1.00 0.00 +ATOM 906 HW1 SOLV 278 0.765 12.825 3.438 1.00 0.00 +ATOM 907 HW2 SOLV 278 0.441 13.985 4.540 1.00 0.00 +ATOM 908 OW SOLV 279 13.452 -13.865 3.616 1.00 0.00 +ATOM 909 HW1 SOLV 279 13.066 -13.839 4.539 1.00 0.00 +ATOM 910 HW2 SOLV 279 14.150 -14.580 3.567 1.00 0.00 +ATOM 911 OW SOLV 280 -11.147 7.166 -13.230 1.00 0.00 +ATOM 912 HW1 SOLV 280 -10.652 6.795 -14.016 1.00 0.00 +ATOM 913 HW2 SOLV 280 -10.501 7.362 -12.493 1.00 0.00 +ATOM 914 OW SOLV 281 4.329 -1.061 10.283 1.00 0.00 +ATOM 915 HW1 SOLV 281 5.072 -0.474 9.963 1.00 0.00 +ATOM 916 HW2 SOLV 281 3.609 -1.095 9.590 1.00 0.00 +ATOM 917 OW SOLV 282 13.562 -1.678 -9.418 1.00 0.00 +ATOM 918 HW1 SOLV 282 13.337 -1.157 -8.594 1.00 0.00 +ATOM 919 HW2 SOLV 282 14.342 -2.276 -9.232 1.00 0.00 +ATOM 920 OW SOLV 283 3.243 1.639 -8.819 1.00 0.00 +ATOM 921 HW1 SOLV 283 3.134 1.065 -9.631 1.00 0.00 +ATOM 922 HW2 SOLV 283 2.817 2.530 -8.981 1.00 0.00 +ATOM 923 OW SOLV 284 -10.707 9.403 5.635 1.00 0.00 +ATOM 924 HW1 SOLV 284 -10.295 10.096 5.043 1.00 0.00 +ATOM 925 HW2 SOLV 284 -10.872 8.570 5.108 1.00 0.00 +ATOM 926 OW SOLV 285 -9.483 2.223 -1.627 1.00 0.00 +ATOM 927 HW1 SOLV 285 -8.901 2.310 -0.818 1.00 0.00 +ATOM 928 HW2 SOLV 285 -9.889 1.309 -1.649 1.00 0.00 +ATOM 929 OW SOLV 286 5.998 -13.120 -13.023 1.00 0.00 +ATOM 930 HW1 SOLV 286 6.062 -12.270 -12.501 1.00 0.00 +ATOM 931 HW2 SOLV 286 5.347 -13.003 -13.773 1.00 0.00 +ATOM 932 OW SOLV 287 2.440 -13.298 8.209 1.00 0.00 +ATOM 933 HW1 SOLV 287 2.028 -12.980 7.355 1.00 0.00 +ATOM 934 HW2 SOLV 287 1.783 -13.192 8.956 1.00 0.00 +ATOM 935 OW SOLV 288 5.021 0.796 -2.213 1.00 0.00 +ATOM 936 HW1 SOLV 288 5.453 0.005 -2.648 1.00 0.00 +ATOM 937 HW2 SOLV 288 4.134 0.968 -2.642 1.00 0.00 +ATOM 938 OW SOLV 289 0.558 -13.839 -10.029 1.00 0.00 +ATOM 939 HW1 SOLV 289 0.854 -14.460 -9.303 1.00 0.00 +ATOM 940 HW2 SOLV 289 1.212 -13.087 -10.111 1.00 0.00 +ATOM 941 OW SOLV 290 9.886 6.577 -5.537 1.00 0.00 +ATOM 942 HW1 SOLV 290 9.971 7.141 -6.358 1.00 0.00 +ATOM 943 HW2 SOLV 290 10.355 7.024 -4.775 1.00 0.00 +ATOM 944 OW SOLV 291 -13.203 9.339 -3.689 1.00 0.00 +ATOM 945 HW1 SOLV 291 -13.001 8.951 -4.588 1.00 0.00 +ATOM 946 HW2 SOLV 291 -12.539 10.057 -3.479 1.00 0.00 +ATOM 947 OW SOLV 292 14.374 0.174 7.923 1.00 0.00 +ATOM 948 HW1 SOLV 292 15.313 -0.062 7.673 1.00 0.00 +ATOM 949 HW2 SOLV 292 13.743 -0.480 7.506 1.00 0.00 +ATOM 950 OW SOLV 293 6.343 5.154 -11.595 1.00 0.00 +ATOM 951 HW1 SOLV 293 5.349 5.165 -11.485 1.00 0.00 +ATOM 952 HW2 SOLV 293 6.705 4.283 -11.263 1.00 0.00 +ATOM 953 OW SOLV 294 6.269 15.325 -15.096 1.00 0.00 +ATOM 954 HW1 SOLV 294 6.446 14.867 -14.225 1.00 0.00 +ATOM 955 HW2 SOLV 294 6.449 14.690 -15.848 1.00 0.00 +ATOM 956 OW SOLV 295 -12.537 -13.563 11.021 1.00 0.00 +ATOM 957 HW1 SOLV 295 -12.879 -12.626 10.941 1.00 0.00 +ATOM 958 HW2 SOLV 295 -11.913 -13.755 10.264 1.00 0.00 +ATOM 959 OW SOLV 296 -5.464 -11.186 7.901 1.00 0.00 +ATOM 960 HW1 SOLV 296 -5.238 -11.466 8.834 1.00 0.00 +ATOM 961 HW2 SOLV 296 -5.107 -10.267 7.734 1.00 0.00 +ATOM 962 OW SOLV 297 13.212 11.194 -7.454 1.00 0.00 +ATOM 963 HW1 SOLV 297 12.372 11.677 -7.209 1.00 0.00 +ATOM 964 HW2 SOLV 297 13.869 11.841 -7.841 1.00 0.00 +ATOM 965 OW SOLV 298 -14.493 -1.437 2.416 1.00 0.00 +ATOM 966 HW1 SOLV 298 -13.889 -0.995 3.079 1.00 0.00 +ATOM 967 HW2 SOLV 298 -14.083 -1.386 1.506 1.00 0.00 +ATOM 968 OW SOLV 299 -12.611 3.029 -10.117 1.00 0.00 +ATOM 969 HW1 SOLV 299 -13.398 2.414 -10.175 1.00 0.00 +ATOM 970 HW2 SOLV 299 -12.746 3.673 -9.363 1.00 0.00 +ATOM 971 OW SOLV 300 6.386 -3.823 -8.530 1.00 0.00 +ATOM 972 HW1 SOLV 300 5.897 -3.500 -9.341 1.00 0.00 +ATOM 973 HW2 SOLV 300 6.181 -3.224 -7.757 1.00 0.00 +ATOM 974 OW SOLV 301 1.448 10.599 -8.360 1.00 0.00 +ATOM 975 HW1 SOLV 301 2.337 10.199 -8.580 1.00 0.00 +ATOM 976 HW2 SOLV 301 1.581 11.498 -7.943 1.00 0.00 +ATOM 977 OW SOLV 302 -13.655 6.919 -11.826 1.00 0.00 +ATOM 978 HW1 SOLV 302 -12.965 7.640 -11.888 1.00 0.00 +ATOM 979 HW2 SOLV 302 -13.860 6.735 -10.865 1.00 0.00 +ATOM 980 OW SOLV 303 -7.038 11.963 -2.494 1.00 0.00 +ATOM 981 HW1 SOLV 303 -7.463 12.084 -3.392 1.00 0.00 +ATOM 982 HW2 SOLV 303 -6.463 11.145 -2.505 1.00 0.00 +ATOM 983 OW SOLV 304 13.917 -5.301 -3.039 1.00 0.00 +ATOM 984 HW1 SOLV 304 13.411 -4.549 -3.460 1.00 0.00 +ATOM 985 HW2 SOLV 304 13.972 -5.154 -2.051 1.00 0.00 +ATOM 986 OW SOLV 305 -5.416 12.365 -5.191 1.00 0.00 +ATOM 987 HW1 SOLV 305 -5.517 11.448 -5.577 1.00 0.00 +ATOM 988 HW2 SOLV 305 -5.920 13.021 -5.754 1.00 0.00 +ATOM 989 OW SOLV 306 10.436 10.430 -6.653 1.00 0.00 +ATOM 990 HW1 SOLV 306 11.435 10.414 -6.688 1.00 0.00 +ATOM 991 HW2 SOLV 306 10.089 11.061 -7.348 1.00 0.00 +ATOM 992 OW SOLV 307 2.118 -15.265 -1.208 1.00 0.00 +ATOM 993 HW1 SOLV 307 2.945 -14.828 -0.855 1.00 0.00 +ATOM 994 HW2 SOLV 307 2.079 -15.153 -2.201 1.00 0.00 +ATOM 995 OW SOLV 308 -8.399 5.122 -9.744 1.00 0.00 +ATOM 996 HW1 SOLV 308 -8.239 4.195 -10.084 1.00 0.00 +ATOM 997 HW2 SOLV 308 -9.341 5.392 -9.945 1.00 0.00 +ATOM 998 OW SOLV 309 -14.561 -12.116 3.857 1.00 0.00 +ATOM 999 HW1 SOLV 309 -15.282 -12.805 3.927 1.00 0.00 +ATOM 1000 HW2 SOLV 309 -13.807 -12.360 4.467 1.00 0.00 +ATOM 1001 OW SOLV 310 -6.016 6.756 12.796 1.00 0.00 +ATOM 1002 HW1 SOLV 310 -6.556 6.729 11.955 1.00 0.00 +ATOM 1003 HW2 SOLV 310 -6.242 5.964 13.363 1.00 0.00 +ATOM 1004 OW SOLV 311 -11.084 7.703 -7.629 1.00 0.00 +ATOM 1005 HW1 SOLV 311 -10.086 7.760 -7.666 1.00 0.00 +ATOM 1006 HW2 SOLV 311 -11.382 7.698 -6.675 1.00 0.00 +ATOM 1007 OW SOLV 312 13.064 1.659 -4.406 1.00 0.00 +ATOM 1008 HW1 SOLV 312 13.670 0.880 -4.568 1.00 0.00 +ATOM 1009 HW2 SOLV 312 13.581 2.400 -3.977 1.00 0.00 +ATOM 1010 OW SOLV 313 -12.718 12.671 11.879 1.00 0.00 +ATOM 1011 HW1 SOLV 313 -12.746 13.158 11.005 1.00 0.00 +ATOM 1012 HW2 SOLV 313 -12.092 11.895 11.807 1.00 0.00 +ATOM 1013 OW SOLV 314 6.858 -10.834 3.524 1.00 0.00 +ATOM 1014 HW1 SOLV 314 7.548 -10.274 3.065 1.00 0.00 +ATOM 1015 HW2 SOLV 314 6.571 -10.382 4.369 1.00 0.00 +ATOM 1016 OW SOLV 315 -6.605 6.777 8.528 1.00 0.00 +ATOM 1017 HW1 SOLV 315 -7.161 6.794 9.359 1.00 0.00 +ATOM 1018 HW2 SOLV 315 -7.030 6.173 7.855 1.00 0.00 +ATOM 1019 OW SOLV 316 -10.537 -1.656 8.488 1.00 0.00 +ATOM 1020 HW1 SOLV 316 -9.779 -1.993 9.047 1.00 0.00 +ATOM 1021 HW2 SOLV 316 -10.178 -1.090 7.746 1.00 0.00 +ATOM 1022 OW SOLV 317 5.060 14.129 6.074 1.00 0.00 +ATOM 1023 HW1 SOLV 317 5.107 13.414 5.377 1.00 0.00 +ATOM 1024 HW2 SOLV 317 5.501 14.958 5.731 1.00 0.00 +ATOM 1025 OW SOLV 318 -4.192 4.213 5.418 1.00 0.00 +ATOM 1026 HW1 SOLV 318 -4.528 5.090 5.763 1.00 0.00 +ATOM 1027 HW2 SOLV 318 -4.821 3.485 5.689 1.00 0.00 +ATOM 1028 OW SOLV 319 0.990 12.147 12.314 1.00 0.00 +ATOM 1029 HW1 SOLV 319 0.026 12.245 12.064 1.00 0.00 +ATOM 1030 HW2 SOLV 319 1.444 11.542 11.660 1.00 0.00 +ATOM 1031 OW SOLV 320 -15.311 -11.923 -9.396 1.00 0.00 +ATOM 1032 HW1 SOLV 320 -15.929 -12.676 -9.625 1.00 0.00 +ATOM 1033 HW2 SOLV 320 -14.372 -12.182 -9.622 1.00 0.00 +ATOM 1034 OW SOLV 321 -13.388 -7.185 -9.362 1.00 0.00 +ATOM 1035 HW1 SOLV 321 -12.500 -7.324 -8.923 1.00 0.00 +ATOM 1036 HW2 SOLV 321 -14.078 -6.993 -8.663 1.00 0.00 +ATOM 1037 OW SOLV 322 14.667 -2.332 9.410 1.00 0.00 +ATOM 1038 HW1 SOLV 322 14.527 -3.164 9.946 1.00 0.00 +ATOM 1039 HW2 SOLV 322 13.810 -2.072 8.965 1.00 0.00 +ATOM 1040 OW SOLV 323 -10.628 0.690 -4.167 1.00 0.00 +ATOM 1041 HW1 SOLV 323 -9.873 0.798 -4.813 1.00 0.00 +ATOM 1042 HW2 SOLV 323 -10.907 1.588 -3.827 1.00 0.00 +ATOM 1043 OW SOLV 324 -1.295 -4.117 5.563 1.00 0.00 +ATOM 1044 HW1 SOLV 324 -1.209 -4.827 6.263 1.00 0.00 +ATOM 1045 HW2 SOLV 324 -0.753 -4.371 4.762 1.00 0.00 +ATOM 1046 OW SOLV 325 -14.354 -7.294 -2.841 1.00 0.00 +ATOM 1047 HW1 SOLV 325 -14.332 -8.150 -2.324 1.00 0.00 +ATOM 1048 HW2 SOLV 325 -15.274 -7.151 -3.207 1.00 0.00 +ATOM 1049 OW SOLV 326 -10.106 2.003 -10.643 1.00 0.00 +ATOM 1050 HW1 SOLV 326 -10.352 1.594 -11.522 1.00 0.00 +ATOM 1051 HW2 SOLV 326 -9.284 1.558 -10.287 1.00 0.00 +ATOM 1052 OW SOLV 327 -11.170 -1.922 -4.869 1.00 0.00 +ATOM 1053 HW1 SOLV 327 -10.724 -1.128 -4.454 1.00 0.00 +ATOM 1054 HW2 SOLV 327 -12.020 -1.633 -5.311 1.00 0.00 +ATOM 1055 OW SOLV 328 13.488 0.027 -0.215 1.00 0.00 +ATOM 1056 HW1 SOLV 328 13.057 0.649 -0.869 1.00 0.00 +ATOM 1057 HW2 SOLV 328 13.294 0.336 0.716 1.00 0.00 +ATOM 1058 OW SOLV 329 -4.390 7.340 0.673 1.00 0.00 +ATOM 1059 HW1 SOLV 329 -3.808 7.756 -0.027 1.00 0.00 +ATOM 1060 HW2 SOLV 329 -5.251 7.845 0.733 1.00 0.00 +ATOM 1061 OW SOLV 330 3.818 11.226 4.272 1.00 0.00 +ATOM 1062 HW1 SOLV 330 3.178 10.469 4.404 1.00 0.00 +ATOM 1063 HW2 SOLV 330 4.667 10.879 3.873 1.00 0.00 +ATOM 1064 OW SOLV 331 -4.359 -3.222 9.292 1.00 0.00 +ATOM 1065 HW1 SOLV 331 -3.745 -2.525 9.664 1.00 0.00 +ATOM 1066 HW2 SOLV 331 -4.845 -2.849 8.501 1.00 0.00 +ATOM 1067 OW SOLV 332 -13.420 -13.845 -13.598 1.00 0.00 +ATOM 1068 HW1 SOLV 332 -13.934 -14.328 -14.307 1.00 0.00 +ATOM 1069 HW2 SOLV 332 -13.224 -12.913 -13.905 1.00 0.00 +ATOM 1070 OW SOLV 333 -3.695 -5.387 7.600 1.00 0.00 +ATOM 1071 HW1 SOLV 333 -4.018 -4.684 8.235 1.00 0.00 +ATOM 1072 HW2 SOLV 333 -4.395 -5.555 6.906 1.00 0.00 +ATOM 1073 OW SOLV 334 -10.861 6.667 8.652 1.00 0.00 +ATOM 1074 HW1 SOLV 334 -10.043 7.029 8.204 1.00 0.00 +ATOM 1075 HW2 SOLV 334 -11.617 7.311 8.533 1.00 0.00 +ATOM 1076 OW SOLV 335 -0.434 -15.053 -2.131 1.00 0.00 +ATOM 1077 HW1 SOLV 335 -1.041 -15.234 -1.357 1.00 0.00 +ATOM 1078 HW2 SOLV 335 0.518 -15.135 -1.834 1.00 0.00 +ATOM 1079 OW SOLV 336 15.152 11.349 -0.023 1.00 0.00 +ATOM 1080 HW1 SOLV 336 15.719 10.693 -0.520 1.00 0.00 +ATOM 1081 HW2 SOLV 336 14.473 11.741 -0.645 1.00 0.00 +ATOM 1082 OW SOLV 337 0.405 0.335 11.132 1.00 0.00 +ATOM 1083 HW1 SOLV 337 0.611 0.736 12.024 1.00 0.00 +ATOM 1084 HW2 SOLV 337 1.250 -0.002 10.716 1.00 0.00 +ATOM 1085 OW SOLV 338 4.670 9.068 6.080 1.00 0.00 +ATOM 1086 HW1 SOLV 338 4.864 8.118 6.326 1.00 0.00 +ATOM 1087 HW2 SOLV 338 4.786 9.651 6.884 1.00 0.00 +ATOM 1088 OW SOLV 339 -2.309 9.079 -1.130 1.00 0.00 +ATOM 1089 HW1 SOLV 339 -1.372 9.038 -1.478 1.00 0.00 +ATOM 1090 HW2 SOLV 339 -2.375 9.799 -0.438 1.00 0.00 +ATOM 1091 OW SOLV 340 -3.427 -0.898 4.043 1.00 0.00 +ATOM 1092 HW1 SOLV 340 -3.505 -1.698 4.638 1.00 0.00 +ATOM 1093 HW2 SOLV 340 -3.049 -1.175 3.160 1.00 0.00 +ATOM 1094 OW SOLV 341 5.721 4.046 -14.541 1.00 0.00 +ATOM 1095 HW1 SOLV 341 5.509 4.994 -14.779 1.00 0.00 +ATOM 1096 HW2 SOLV 341 4.930 3.468 -14.740 1.00 0.00 +ATOM 1097 OW SOLV 342 -14.081 13.072 -6.508 1.00 0.00 +ATOM 1098 HW1 SOLV 342 -13.814 12.114 -6.608 1.00 0.00 +ATOM 1099 HW2 SOLV 342 -13.608 13.624 -7.195 1.00 0.00 +ATOM 1100 OW SOLV 343 -3.690 3.777 -8.206 1.00 0.00 +ATOM 1101 HW1 SOLV 343 -4.353 4.325 -8.715 1.00 0.00 +ATOM 1102 HW2 SOLV 343 -4.011 3.653 -7.267 1.00 0.00 +ATOM 1103 OW SOLV 344 12.072 0.269 -13.125 1.00 0.00 +ATOM 1104 HW1 SOLV 344 12.766 -0.028 -13.781 1.00 0.00 +ATOM 1105 HW2 SOLV 344 11.986 -0.414 -12.399 1.00 0.00 +ATOM 1106 OW SOLV 345 -5.881 3.489 14.348 1.00 0.00 +ATOM 1107 HW1 SOLV 345 -4.944 3.694 14.063 1.00 0.00 +ATOM 1108 HW2 SOLV 345 -6.292 2.846 13.702 1.00 0.00 +ATOM 1109 OW SOLV 346 13.894 -13.744 6.950 1.00 0.00 +ATOM 1110 HW1 SOLV 346 13.111 -14.002 7.515 1.00 0.00 +ATOM 1111 HW2 SOLV 346 14.640 -13.429 7.537 1.00 0.00 +ATOM 1112 OW SOLV 347 13.192 -11.636 -14.739 1.00 0.00 +ATOM 1113 HW1 SOLV 347 13.425 -12.232 -15.508 1.00 0.00 +ATOM 1114 HW2 SOLV 347 12.291 -11.230 -14.892 1.00 0.00 +ATOM 1115 OW SOLV 348 14.638 -0.436 -4.952 1.00 0.00 +ATOM 1116 HW1 SOLV 348 15.150 -1.290 -4.855 1.00 0.00 +ATOM 1117 HW2 SOLV 348 15.278 0.325 -5.066 1.00 0.00 +ATOM 1118 OW SOLV 349 13.336 -1.914 12.595 1.00 0.00 +ATOM 1119 HW1 SOLV 349 14.189 -2.382 12.363 1.00 0.00 +ATOM 1120 HW2 SOLV 349 12.573 -2.557 12.521 1.00 0.00 +ATOM 1121 OW SOLV 350 -9.868 -5.369 4.207 1.00 0.00 +ATOM 1122 HW1 SOLV 350 -9.896 -6.328 3.926 1.00 0.00 +ATOM 1123 HW2 SOLV 350 -10.234 -4.796 3.474 1.00 0.00 +ATOM 1124 OW SOLV 351 5.212 4.209 2.989 1.00 0.00 +ATOM 1125 HW1 SOLV 351 4.363 4.436 3.466 1.00 0.00 +ATOM 1126 HW2 SOLV 351 5.986 4.323 3.612 1.00 0.00 +ATOM 1127 OW SOLV 352 8.705 -5.444 11.852 1.00 0.00 +ATOM 1128 HW1 SOLV 352 8.237 -4.678 11.411 1.00 0.00 +ATOM 1129 HW2 SOLV 352 8.040 -5.997 12.354 1.00 0.00 +ATOM 1130 OW SOLV 353 -3.607 -12.225 -10.044 1.00 0.00 +ATOM 1131 HW1 SOLV 353 -3.883 -11.331 -10.398 1.00 0.00 +ATOM 1132 HW2 SOLV 353 -2.629 -12.360 -10.203 1.00 0.00 +ATOM 1133 OW SOLV 354 -7.704 -13.865 13.087 1.00 0.00 +ATOM 1134 HW1 SOLV 354 -6.930 -14.407 13.415 1.00 0.00 +ATOM 1135 HW2 SOLV 354 -7.725 -12.989 13.569 1.00 0.00 +ATOM 1136 OW SOLV 355 11.546 -15.275 5.473 1.00 0.00 +ATOM 1137 HW1 SOLV 355 11.179 -14.756 6.245 1.00 0.00 +ATOM 1138 HW2 SOLV 355 11.979 -16.112 5.809 1.00 0.00 +ATOM 1139 OW SOLV 356 -2.059 5.710 6.342 1.00 0.00 +ATOM 1140 HW1 SOLV 356 -2.943 5.705 5.875 1.00 0.00 +ATOM 1141 HW2 SOLV 356 -1.417 6.286 5.835 1.00 0.00 +ATOM 1142 OW SOLV 357 -13.695 -3.689 -14.621 1.00 0.00 +ATOM 1143 HW1 SOLV 357 -14.505 -4.255 -14.777 1.00 0.00 +ATOM 1144 HW2 SOLV 357 -13.094 -3.741 -15.418 1.00 0.00 +ATOM 1145 OW SOLV 358 -4.707 -11.578 -7.413 1.00 0.00 +ATOM 1146 HW1 SOLV 358 -3.972 -11.969 -6.859 1.00 0.00 +ATOM 1147 HW2 SOLV 358 -4.465 -11.643 -8.382 1.00 0.00 +ATOM 1148 OW SOLV 359 15.293 3.722 10.479 1.00 0.00 +ATOM 1149 HW1 SOLV 359 15.116 4.458 11.133 1.00 0.00 +ATOM 1150 HW2 SOLV 359 15.506 4.115 9.585 1.00 0.00 +ATOM 1151 OW SOLV 360 -15.001 1.373 -10.162 1.00 0.00 +ATOM 1152 HW1 SOLV 360 -15.960 1.389 -10.447 1.00 0.00 +ATOM 1153 HW2 SOLV 360 -14.950 1.237 -9.173 1.00 0.00 +ATOM 1154 OW SOLV 361 -9.559 0.755 3.293 1.00 0.00 +ATOM 1155 HW1 SOLV 361 -8.998 0.367 2.561 1.00 0.00 +ATOM 1156 HW2 SOLV 361 -9.183 1.640 3.566 1.00 0.00 +ATOM 1157 OW SOLV 362 -1.496 5.040 -6.816 1.00 0.00 +ATOM 1158 HW1 SOLV 362 -2.217 4.352 -6.889 1.00 0.00 +ATOM 1159 HW2 SOLV 362 -1.637 5.584 -5.989 1.00 0.00 +ATOM 1160 OW SOLV 363 9.946 -4.027 9.697 1.00 0.00 +ATOM 1161 HW1 SOLV 363 9.472 -4.781 10.151 1.00 0.00 +ATOM 1162 HW2 SOLV 363 9.425 -3.182 9.823 1.00 0.00 +ATOM 1163 OW SOLV 364 -11.354 -7.843 -7.580 1.00 0.00 +ATOM 1164 HW1 SOLV 364 -10.490 -8.139 -7.173 1.00 0.00 +ATOM 1165 HW2 SOLV 364 -11.710 -8.568 -8.169 1.00 0.00 +ATOM 1166 OW SOLV 365 13.383 8.979 15.127 1.00 0.00 +ATOM 1167 HW1 SOLV 365 13.977 9.504 14.518 1.00 0.00 +ATOM 1168 HW2 SOLV 365 12.570 8.682 14.625 1.00 0.00 +ATOM 1169 OW SOLV 366 -1.129 14.225 12.930 1.00 0.00 +ATOM 1170 HW1 SOLV 366 -1.671 13.758 13.629 1.00 0.00 +ATOM 1171 HW2 SOLV 366 -0.308 13.689 12.733 1.00 0.00 +ATOM 1172 OW SOLV 367 -5.423 5.299 2.737 1.00 0.00 +ATOM 1173 HW1 SOLV 367 -5.804 4.682 3.426 1.00 0.00 +ATOM 1174 HW2 SOLV 367 -4.425 5.298 2.805 1.00 0.00 +ATOM 1175 OW SOLV 368 -5.803 -2.504 11.929 1.00 0.00 +ATOM 1176 HW1 SOLV 368 -5.696 -2.106 11.018 1.00 0.00 +ATOM 1177 HW2 SOLV 368 -5.304 -3.370 11.974 1.00 0.00 +ATOM 1178 OW SOLV 369 12.713 -9.117 -13.038 1.00 0.00 +ATOM 1179 HW1 SOLV 369 12.996 -8.675 -12.187 1.00 0.00 +ATOM 1180 HW2 SOLV 369 11.949 -9.736 -12.854 1.00 0.00 +ATOM 1181 OW SOLV 370 6.400 -13.736 13.468 1.00 0.00 +ATOM 1182 HW1 SOLV 370 5.603 -13.934 12.897 1.00 0.00 +ATOM 1183 HW2 SOLV 370 6.328 -14.242 14.328 1.00 0.00 +ATOM 1184 OW SOLV 371 -5.031 10.619 14.214 1.00 0.00 +ATOM 1185 HW1 SOLV 371 -5.523 10.039 13.563 1.00 0.00 +ATOM 1186 HW2 SOLV 371 -4.051 10.431 14.152 1.00 0.00 +ATOM 1187 OW SOLV 372 -11.438 -13.728 2.540 1.00 0.00 +ATOM 1188 HW1 SOLV 372 -11.835 -12.816 2.643 1.00 0.00 +ATOM 1189 HW2 SOLV 372 -10.775 -13.888 3.271 1.00 0.00 +ATOM 1190 OW SOLV 373 3.249 14.520 1.176 1.00 0.00 +ATOM 1191 HW1 SOLV 373 3.553 14.091 0.325 1.00 0.00 +ATOM 1192 HW2 SOLV 373 3.995 14.507 1.841 1.00 0.00 +ATOM 1193 OW SOLV 374 -9.104 3.317 9.923 1.00 0.00 +ATOM 1194 HW1 SOLV 374 -8.999 3.165 10.906 1.00 0.00 +ATOM 1195 HW2 SOLV 374 -10.029 3.058 9.643 1.00 0.00 +ATOM 1196 OW SOLV 375 -1.010 6.214 -13.448 1.00 0.00 +ATOM 1197 HW1 SOLV 375 -0.607 7.000 -12.978 1.00 0.00 +ATOM 1198 HW2 SOLV 375 -1.150 5.471 -12.794 1.00 0.00 +ATOM 1199 OW SOLV 376 -1.063 0.137 -11.930 1.00 0.00 +ATOM 1200 HW1 SOLV 376 -1.914 0.487 -11.540 1.00 0.00 +ATOM 1201 HW2 SOLV 376 -0.515 -0.285 -11.208 1.00 0.00 +ATOM 1202 OW SOLV 377 -2.046 12.956 -2.686 1.00 0.00 +ATOM 1203 HW1 SOLV 377 -2.670 13.684 -2.971 1.00 0.00 +ATOM 1204 HW2 SOLV 377 -1.299 13.349 -2.149 1.00 0.00 +ATOM 1205 OW SOLV 378 -11.345 -1.719 4.003 1.00 0.00 +ATOM 1206 HW1 SOLV 378 -11.346 -2.245 3.152 1.00 0.00 +ATOM 1207 HW2 SOLV 378 -10.405 -1.469 4.238 1.00 0.00 +ATOM 1208 OW SOLV 379 -3.735 13.109 -13.694 1.00 0.00 +ATOM 1209 HW1 SOLV 379 -4.179 13.758 -14.312 1.00 0.00 +ATOM 1210 HW2 SOLV 379 -2.743 13.235 -13.735 1.00 0.00 +ATOM 1211 OW SOLV 380 0.909 -5.921 8.922 1.00 0.00 +ATOM 1212 HW1 SOLV 380 0.624 -6.218 9.833 1.00 0.00 +ATOM 1213 HW2 SOLV 380 1.891 -5.732 8.925 1.00 0.00 +ATOM 1214 OW SOLV 381 10.668 -12.150 14.629 1.00 0.00 +ATOM 1215 HW1 SOLV 381 10.259 -12.604 15.421 1.00 0.00 +ATOM 1216 HW2 SOLV 381 9.947 -11.743 14.069 1.00 0.00 +ATOM 1217 OW SOLV 382 8.750 -7.083 1.583 1.00 0.00 +ATOM 1218 HW1 SOLV 382 8.536 -6.706 2.484 1.00 0.00 +ATOM 1219 HW2 SOLV 382 9.053 -8.031 1.681 1.00 0.00 +ATOM 1220 OW SOLV 383 14.736 -13.575 10.646 1.00 0.00 +ATOM 1221 HW1 SOLV 383 14.001 -12.933 10.869 1.00 0.00 +ATOM 1222 HW2 SOLV 383 15.524 -13.398 11.235 1.00 0.00 +ATOM 1223 OW SOLV 384 5.361 13.984 -0.803 1.00 0.00 +ATOM 1224 HW1 SOLV 384 5.133 13.311 -1.507 1.00 0.00 +ATOM 1225 HW2 SOLV 384 6.284 14.334 -0.963 1.00 0.00 +ATOM 1226 OW SOLV 385 -12.631 1.026 2.848 1.00 0.00 +ATOM 1227 HW1 SOLV 385 -12.390 0.466 3.641 1.00 0.00 +ATOM 1228 HW2 SOLV 385 -11.824 1.150 2.271 1.00 0.00 +ATOM 1229 OW SOLV 386 -8.332 -8.795 10.763 1.00 0.00 +ATOM 1230 HW1 SOLV 386 -9.083 -9.303 10.340 1.00 0.00 +ATOM 1231 HW2 SOLV 386 -8.129 -9.187 11.660 1.00 0.00 +ATOM 1232 OW SOLV 387 -1.371 10.841 -13.562 1.00 0.00 +ATOM 1233 HW1 SOLV 387 -1.633 10.367 -14.403 1.00 0.00 +ATOM 1234 HW2 SOLV 387 -0.770 10.252 -13.021 1.00 0.00 +ATOM 1235 OW SOLV 388 0.828 -10.453 12.939 1.00 0.00 +ATOM 1236 HW1 SOLV 388 1.350 -11.269 13.187 1.00 0.00 +ATOM 1237 HW2 SOLV 388 0.839 -10.339 11.946 1.00 0.00 +ATOM 1238 OW SOLV 389 -13.695 8.745 -13.995 1.00 0.00 +ATOM 1239 HW1 SOLV 389 -14.576 8.543 -14.424 1.00 0.00 +ATOM 1240 HW2 SOLV 389 -13.417 7.970 -13.427 1.00 0.00 +ATOM 1241 OW SOLV 390 10.518 7.446 3.584 1.00 0.00 +ATOM 1242 HW1 SOLV 390 10.378 6.700 2.934 1.00 0.00 +ATOM 1243 HW2 SOLV 390 9.798 8.130 3.467 1.00 0.00 +ATOM 1244 OW SOLV 391 -14.422 4.404 -12.851 1.00 0.00 +ATOM 1245 HW1 SOLV 391 -14.312 3.594 -12.275 1.00 0.00 +ATOM 1246 HW2 SOLV 391 -13.932 5.174 -12.443 1.00 0.00 +ATOM 1247 OW SOLV 392 7.568 -1.055 3.635 1.00 0.00 +ATOM 1248 HW1 SOLV 392 7.087 -0.178 3.670 1.00 0.00 +ATOM 1249 HW2 SOLV 392 8.554 -0.896 3.688 1.00 0.00 +ATOM 1250 OW SOLV 393 -5.737 -0.404 13.589 1.00 0.00 +ATOM 1251 HW1 SOLV 393 -5.639 0.102 14.446 1.00 0.00 +ATOM 1252 HW2 SOLV 393 -5.212 -1.253 13.641 1.00 0.00 +ATOM 1253 OW SOLV 394 5.270 -9.731 -6.770 1.00 0.00 +ATOM 1254 HW1 SOLV 394 5.160 -10.690 -6.506 1.00 0.00 +ATOM 1255 HW2 SOLV 394 4.644 -9.517 -7.519 1.00 0.00 +ATOM 1256 OW SOLV 395 -6.901 10.782 -10.961 1.00 0.00 +ATOM 1257 HW1 SOLV 395 -7.674 11.368 -10.718 1.00 0.00 +ATOM 1258 HW2 SOLV 395 -6.353 11.230 -11.667 1.00 0.00 +ATOM 1259 OW SOLV 396 5.111 9.514 -7.925 1.00 0.00 +ATOM 1260 HW1 SOLV 396 5.122 10.370 -7.408 1.00 0.00 +ATOM 1261 HW2 SOLV 396 4.757 9.685 -8.845 1.00 0.00 +ATOM 1262 OW SOLV 397 4.217 7.631 -11.755 1.00 0.00 +ATOM 1263 HW1 SOLV 397 4.055 8.499 -11.285 1.00 0.00 +ATOM 1264 HW2 SOLV 397 4.299 7.794 -12.738 1.00 0.00 +ATOM 1265 OW SOLV 398 0.659 8.283 -2.581 1.00 0.00 +ATOM 1266 HW1 SOLV 398 0.355 9.235 -2.632 1.00 0.00 +ATOM 1267 HW2 SOLV 398 1.654 8.247 -2.669 1.00 0.00 +ATOM 1268 OW SOLV 399 -5.986 2.064 -5.057 1.00 0.00 +ATOM 1269 HW1 SOLV 399 -6.980 2.055 -4.951 1.00 0.00 +ATOM 1270 HW2 SOLV 399 -5.556 1.874 -4.174 1.00 0.00 +ATOM 1271 OW SOLV 400 -7.076 3.739 4.108 1.00 0.00 +ATOM 1272 HW1 SOLV 400 -7.749 4.269 4.624 1.00 0.00 +ATOM 1273 HW2 SOLV 400 -7.497 3.391 3.271 1.00 0.00 +ATOM 1274 OW SOLV 401 -10.040 -15.297 12.426 1.00 0.00 +ATOM 1275 HW1 SOLV 401 -10.588 -14.886 13.154 1.00 0.00 +ATOM 1276 HW2 SOLV 401 -9.091 -14.993 12.512 1.00 0.00 +ATOM 1277 OW SOLV 402 -2.127 14.248 8.089 1.00 0.00 +ATOM 1278 HW1 SOLV 402 -2.278 15.092 8.605 1.00 0.00 +ATOM 1279 HW2 SOLV 402 -2.280 14.421 7.116 1.00 0.00 +ATOM 1280 OW SOLV 403 3.234 -8.493 11.276 1.00 0.00 +ATOM 1281 HW1 SOLV 403 3.205 -9.493 11.282 1.00 0.00 +ATOM 1282 HW2 SOLV 403 3.672 -8.178 10.434 1.00 0.00 +ATOM 1283 OW SOLV 404 2.625 1.370 -1.025 1.00 0.00 +ATOM 1284 HW1 SOLV 404 2.457 1.591 -0.064 1.00 0.00 +ATOM 1285 HW2 SOLV 404 3.432 1.867 -1.345 1.00 0.00 +ATOM 1286 OW SOLV 405 2.433 -4.569 14.528 1.00 0.00 +ATOM 1287 HW1 SOLV 405 2.211 -3.602 14.654 1.00 0.00 +ATOM 1288 HW2 SOLV 405 2.035 -4.893 13.670 1.00 0.00 +ATOM 1289 OW SOLV 406 -11.185 -2.998 -13.789 1.00 0.00 +ATOM 1290 HW1 SOLV 406 -11.193 -2.122 -14.271 1.00 0.00 +ATOM 1291 HW2 SOLV 406 -12.111 -3.374 -13.765 1.00 0.00 +ATOM 1292 OW SOLV 407 0.424 -9.450 7.537 1.00 0.00 +ATOM 1293 HW1 SOLV 407 -0.176 -10.154 7.916 1.00 0.00 +ATOM 1294 HW2 SOLV 407 0.610 -8.759 8.236 1.00 0.00 +ATOM 1295 OW SOLV 408 -11.356 10.058 -13.000 1.00 0.00 +ATOM 1296 HW1 SOLV 408 -12.291 9.717 -13.095 1.00 0.00 +ATOM 1297 HW2 SOLV 408 -10.731 9.287 -12.877 1.00 0.00 +ATOM 1298 OW SOLV 409 -3.739 6.838 -2.242 1.00 0.00 +ATOM 1299 HW1 SOLV 409 -4.459 7.412 -2.635 1.00 0.00 +ATOM 1300 HW2 SOLV 409 -2.976 7.415 -1.949 1.00 0.00 +ATOM 1301 OW SOLV 410 14.827 -11.437 -12.216 1.00 0.00 +ATOM 1302 HW1 SOLV 410 14.309 -10.915 -12.894 1.00 0.00 +ATOM 1303 HW2 SOLV 410 15.257 -12.224 -12.659 1.00 0.00 +ATOM 1304 OW SOLV 411 -3.860 -3.026 -7.403 1.00 0.00 +ATOM 1305 HW1 SOLV 411 -4.446 -3.362 -6.666 1.00 0.00 +ATOM 1306 HW2 SOLV 411 -4.410 -2.497 -8.050 1.00 0.00 +ATOM 1307 OW SOLV 412 -1.247 -8.322 -5.787 1.00 0.00 +ATOM 1308 HW1 SOLV 412 -1.864 -8.873 -5.226 1.00 0.00 +ATOM 1309 HW2 SOLV 412 -0.823 -8.901 -6.483 1.00 0.00 +ATOM 1310 OW SOLV 413 -8.441 -9.077 7.757 1.00 0.00 +ATOM 1311 HW1 SOLV 413 -9.009 -8.298 7.490 1.00 0.00 +ATOM 1312 HW2 SOLV 413 -8.854 -9.536 8.544 1.00 0.00 +ATOM 1313 OW SOLV 414 -6.324 3.016 -10.694 1.00 0.00 +ATOM 1314 HW1 SOLV 414 -5.871 3.810 -11.100 1.00 0.00 +ATOM 1315 HW2 SOLV 414 -5.951 2.179 -11.093 1.00 0.00 +ATOM 1316 OW SOLV 415 -2.559 4.170 15.050 1.00 0.00 +ATOM 1317 HW1 SOLV 415 -2.347 5.143 14.953 1.00 0.00 +ATOM 1318 HW2 SOLV 415 -2.593 3.745 14.145 1.00 0.00 +ATOM 1319 OW SOLV 416 2.609 -6.383 6.272 1.00 0.00 +ATOM 1320 HW1 SOLV 416 2.021 -5.577 6.337 1.00 0.00 +ATOM 1321 HW2 SOLV 416 2.164 -7.157 6.722 1.00 0.00 +ATOM 1322 OW SOLV 417 3.405 -6.382 -9.538 1.00 0.00 +ATOM 1323 HW1 SOLV 417 3.115 -6.116 -8.619 1.00 0.00 +ATOM 1324 HW2 SOLV 417 4.275 -5.939 -9.754 1.00 0.00 +ATOM 1325 OW SOLV 418 7.587 15.102 -7.732 1.00 0.00 +ATOM 1326 HW1 SOLV 418 8.125 15.945 -7.752 1.00 0.00 +ATOM 1327 HW2 SOLV 418 7.858 14.553 -6.941 1.00 0.00 +ATOM 1328 OW SOLV 419 2.875 12.608 -4.076 1.00 0.00 +ATOM 1329 HW1 SOLV 419 2.538 13.546 -3.992 1.00 0.00 +ATOM 1330 HW2 SOLV 419 2.667 12.103 -3.238 1.00 0.00 +ATOM 1331 OW SOLV 420 -12.382 3.273 -0.756 1.00 0.00 +ATOM 1332 HW1 SOLV 420 -12.559 4.027 -0.123 1.00 0.00 +ATOM 1333 HW2 SOLV 420 -12.483 2.403 -0.274 1.00 0.00 +ATOM 1334 OW SOLV 421 -0.973 10.013 1.441 1.00 0.00 +ATOM 1335 HW1 SOLV 421 -0.778 10.372 2.354 1.00 0.00 +ATOM 1336 HW2 SOLV 421 -0.819 10.730 0.761 1.00 0.00 +ATOM 1337 OW SOLV 422 -1.778 -1.389 -6.692 1.00 0.00 +ATOM 1338 HW1 SOLV 422 -1.770 -1.299 -5.696 1.00 0.00 +ATOM 1339 HW2 SOLV 422 -2.542 -1.972 -6.969 1.00 0.00 +ATOM 1340 OW SOLV 423 10.337 0.647 3.726 1.00 0.00 +ATOM 1341 HW1 SOLV 423 11.153 0.073 3.803 1.00 0.00 +ATOM 1342 HW2 SOLV 423 9.738 0.482 4.510 1.00 0.00 +ATOM 1343 OW SOLV 424 -11.229 -5.581 -14.585 1.00 0.00 +ATOM 1344 HW1 SOLV 424 -10.304 -5.960 -14.569 1.00 0.00 +ATOM 1345 HW2 SOLV 424 -11.254 -4.740 -14.043 1.00 0.00 +ATOM 1346 OW SOLV 425 1.627 5.099 -12.253 1.00 0.00 +ATOM 1347 HW1 SOLV 425 0.855 4.944 -12.871 1.00 0.00 +ATOM 1348 HW2 SOLV 425 2.187 4.272 -12.206 1.00 0.00 +ATOM 1349 OW SOLV 426 6.800 8.942 11.762 1.00 0.00 +ATOM 1350 HW1 SOLV 426 6.406 8.446 12.535 1.00 0.00 +ATOM 1351 HW2 SOLV 426 6.824 8.345 10.960 1.00 0.00 +ATOM 1352 OW SOLV 427 -13.353 -7.266 10.906 1.00 0.00 +ATOM 1353 HW1 SOLV 427 -14.295 -7.082 11.188 1.00 0.00 +ATOM 1354 HW2 SOLV 427 -13.313 -7.342 9.909 1.00 0.00 +ATOM 1355 OW SOLV 428 3.436 9.469 -3.103 1.00 0.00 +ATOM 1356 HW1 SOLV 428 3.653 8.691 -3.692 1.00 0.00 +ATOM 1357 HW2 SOLV 428 4.181 9.611 -2.451 1.00 0.00 +ATOM 1358 OW SOLV 429 10.259 12.455 12.112 1.00 0.00 +ATOM 1359 HW1 SOLV 429 9.271 12.316 12.174 1.00 0.00 +ATOM 1360 HW2 SOLV 429 10.515 13.269 12.634 1.00 0.00 +ATOM 1361 OW SOLV 430 -1.768 -9.429 -2.919 1.00 0.00 +ATOM 1362 HW1 SOLV 430 -2.106 -10.354 -3.091 1.00 0.00 +ATOM 1363 HW2 SOLV 430 -2.404 -8.764 -3.311 1.00 0.00 +ATOM 1364 OW SOLV 431 -8.762 -2.446 10.686 1.00 0.00 +ATOM 1365 HW1 SOLV 431 -8.844 -3.410 10.940 1.00 0.00 +ATOM 1366 HW2 SOLV 431 -7.997 -2.332 10.052 1.00 0.00 +ATOM 1367 OW SOLV 432 -0.371 15.314 10.313 1.00 0.00 +ATOM 1368 HW1 SOLV 432 -0.650 15.094 9.378 1.00 0.00 +ATOM 1369 HW2 SOLV 432 -0.830 14.697 10.952 1.00 0.00 +ATOM 1370 OW SOLV 433 11.152 3.710 -14.664 1.00 0.00 +ATOM 1371 HW1 SOLV 433 10.370 3.496 -14.078 1.00 0.00 +ATOM 1372 HW2 SOLV 433 11.824 4.237 -14.143 1.00 0.00 +ATOM 1373 OW SOLV 434 -10.615 -7.571 -3.455 1.00 0.00 +ATOM 1374 HW1 SOLV 434 -10.671 -8.456 -3.918 1.00 0.00 +ATOM 1375 HW2 SOLV 434 -10.445 -6.852 -4.129 1.00 0.00 +ATOM 1376 OW SOLV 435 -5.888 14.032 -7.489 1.00 0.00 +ATOM 1377 HW1 SOLV 435 -6.831 13.876 -7.782 1.00 0.00 +ATOM 1378 HW2 SOLV 435 -5.264 13.790 -8.232 1.00 0.00 +ATOM 1379 OW SOLV 436 6.732 2.279 -11.284 1.00 0.00 +ATOM 1380 HW1 SOLV 436 7.354 1.497 -11.225 1.00 0.00 +ATOM 1381 HW2 SOLV 436 6.629 2.551 -12.240 1.00 0.00 +ATOM 1382 OW SOLV 437 0.733 -6.001 12.307 1.00 0.00 +ATOM 1383 HW1 SOLV 437 1.249 -6.582 12.937 1.00 0.00 +ATOM 1384 HW2 SOLV 437 -0.072 -6.496 11.980 1.00 0.00 +ATOM 1385 OW SOLV 438 -14.457 -12.474 -3.075 1.00 0.00 +ATOM 1386 HW1 SOLV 438 -14.398 -11.689 -3.692 1.00 0.00 +ATOM 1387 HW2 SOLV 438 -13.548 -12.680 -2.712 1.00 0.00 +ATOM 1388 OW SOLV 439 1.121 -7.794 -12.243 1.00 0.00 +ATOM 1389 HW1 SOLV 439 1.329 -6.857 -11.964 1.00 0.00 +ATOM 1390 HW2 SOLV 439 1.528 -7.973 -13.139 1.00 0.00 +ATOM 1391 OW SOLV 440 -2.009 -7.413 6.698 1.00 0.00 +ATOM 1392 HW1 SOLV 440 -1.481 -7.080 5.916 1.00 0.00 +ATOM 1393 HW2 SOLV 440 -1.458 -8.066 7.218 1.00 0.00 +ATOM 1394 OW SOLV 441 8.337 12.931 9.737 1.00 0.00 +ATOM 1395 HW1 SOLV 441 8.945 13.686 9.494 1.00 0.00 +ATOM 1396 HW2 SOLV 441 8.631 12.101 9.264 1.00 0.00 +ATOM 1397 OW SOLV 442 2.965 12.675 -6.995 1.00 0.00 +ATOM 1398 HW1 SOLV 442 3.109 13.665 -6.976 1.00 0.00 +ATOM 1399 HW2 SOLV 442 2.935 12.325 -6.059 1.00 0.00 +ATOM 1400 OW SOLV 443 -7.630 10.655 6.589 1.00 0.00 +ATOM 1401 HW1 SOLV 443 -6.990 11.424 6.584 1.00 0.00 +ATOM 1402 HW2 SOLV 443 -7.644 10.240 7.499 1.00 0.00 +ATOM 1403 OW SOLV 444 -12.634 2.405 11.132 1.00 0.00 +ATOM 1404 HW1 SOLV 444 -13.286 2.120 11.835 1.00 0.00 +ATOM 1405 HW2 SOLV 444 -13.070 3.069 10.524 1.00 0.00 +ATOM 1406 OW SOLV 445 -3.378 -3.184 -14.480 1.00 0.00 +ATOM 1407 HW1 SOLV 445 -4.190 -3.107 -15.059 1.00 0.00 +ATOM 1408 HW2 SOLV 445 -2.560 -3.210 -15.055 1.00 0.00 +ATOM 1409 OW SOLV 446 2.030 14.923 -8.412 1.00 0.00 +ATOM 1410 HW1 SOLV 446 2.331 13.985 -8.239 1.00 0.00 +ATOM 1411 HW2 SOLV 446 2.564 15.311 -9.163 1.00 0.00 +ATOM 1412 OW SOLV 447 10.158 -2.025 -9.384 1.00 0.00 +ATOM 1413 HW1 SOLV 447 9.575 -2.834 -9.455 1.00 0.00 +ATOM 1414 HW2 SOLV 447 10.706 -2.081 -8.549 1.00 0.00 +ATOM 1415 OW SOLV 448 11.440 2.998 13.236 1.00 0.00 +ATOM 1416 HW1 SOLV 448 12.048 3.282 13.978 1.00 0.00 +ATOM 1417 HW2 SOLV 448 11.943 2.415 12.598 1.00 0.00 +ATOM 1418 OW SOLV 449 -15.031 11.230 9.903 1.00 0.00 +ATOM 1419 HW1 SOLV 449 -14.075 11.019 9.700 1.00 0.00 +ATOM 1420 HW2 SOLV 449 -15.617 10.509 9.532 1.00 0.00 +ATOM 1421 OW SOLV 450 -14.461 -4.215 5.114 1.00 0.00 +ATOM 1422 HW1 SOLV 450 -14.938 -3.806 4.337 1.00 0.00 +ATOM 1423 HW2 SOLV 450 -13.968 -5.031 4.811 1.00 0.00 +ATOM 1424 OW SOLV 451 8.109 -7.546 -12.911 1.00 0.00 +ATOM 1425 HW1 SOLV 451 8.210 -7.851 -11.964 1.00 0.00 +ATOM 1426 HW2 SOLV 451 8.832 -6.890 -13.129 1.00 0.00 +ATOM 1427 OW SOLV 452 -12.767 -12.501 7.160 1.00 0.00 +ATOM 1428 HW1 SOLV 452 -12.533 -12.212 6.232 1.00 0.00 +ATOM 1429 HW2 SOLV 452 -12.311 -13.367 7.364 1.00 0.00 +ATOM 1430 OW SOLV 453 -4.984 3.575 9.949 1.00 0.00 +ATOM 1431 HW1 SOLV 453 -5.703 3.044 9.500 1.00 0.00 +ATOM 1432 HW2 SOLV 453 -5.280 4.526 10.042 1.00 0.00 +ATOM 1433 OW SOLV 454 -10.689 -12.993 -11.462 1.00 0.00 +ATOM 1434 HW1 SOLV 454 -11.138 -12.326 -10.867 1.00 0.00 +ATOM 1435 HW2 SOLV 454 -10.200 -12.514 -12.191 1.00 0.00 +ATOM 1436 OW SOLV 455 -0.045 -2.983 -8.212 1.00 0.00 +ATOM 1437 HW1 SOLV 455 -0.406 -2.563 -7.378 1.00 0.00 +ATOM 1438 HW2 SOLV 455 -0.280 -3.955 -8.224 1.00 0.00 +ATOM 1439 OW SOLV 456 -4.940 -9.293 11.346 1.00 0.00 +ATOM 1440 HW1 SOLV 456 -5.322 -8.661 10.671 1.00 0.00 +ATOM 1441 HW2 SOLV 456 -4.337 -8.792 11.967 1.00 0.00 +ATOM 1442 OW SOLV 457 -6.553 -10.347 -11.543 1.00 0.00 +ATOM 1443 HW1 SOLV 457 -6.656 -11.331 -11.690 1.00 0.00 +ATOM 1444 HW2 SOLV 457 -7.397 -9.881 -11.808 1.00 0.00 +ATOM 1445 OW SOLV 458 -2.427 -1.830 7.198 1.00 0.00 +ATOM 1446 HW1 SOLV 458 -2.142 -2.266 8.052 1.00 0.00 +ATOM 1447 HW2 SOLV 458 -2.264 -2.455 6.434 1.00 0.00 +ATOM 1448 OW SOLV 459 6.022 6.359 -1.871 1.00 0.00 +ATOM 1449 HW1 SOLV 459 5.562 5.489 -2.049 1.00 0.00 +ATOM 1450 HW2 SOLV 459 6.931 6.346 -2.286 1.00 0.00 +ATOM 1451 OW SOLV 460 11.524 3.442 9.077 1.00 0.00 +ATOM 1452 HW1 SOLV 460 11.739 4.254 9.621 1.00 0.00 +ATOM 1453 HW2 SOLV 460 12.182 2.718 9.286 1.00 0.00 +ATOM 1454 OW SOLV 461 -13.454 9.892 -6.866 1.00 0.00 +ATOM 1455 HW1 SOLV 461 -12.455 9.903 -6.902 1.00 0.00 +ATOM 1456 HW2 SOLV 461 -13.822 9.912 -7.795 1.00 0.00 +ATOM 1457 OW SOLV 462 -8.115 -11.091 -4.437 1.00 0.00 +ATOM 1458 HW1 SOLV 462 -7.138 -10.882 -4.401 1.00 0.00 +ATOM 1459 HW2 SOLV 462 -8.256 -12.062 -4.244 1.00 0.00 +ATOM 1460 OW SOLV 463 -2.243 8.243 -5.973 1.00 0.00 +ATOM 1461 HW1 SOLV 463 -2.049 8.541 -5.038 1.00 0.00 +ATOM 1462 HW2 SOLV 463 -2.832 8.915 -6.421 1.00 0.00 +ATOM 1463 OW SOLV 464 13.873 5.765 -9.933 1.00 0.00 +ATOM 1464 HW1 SOLV 464 13.035 5.855 -9.395 1.00 0.00 +ATOM 1465 HW2 SOLV 464 13.676 5.260 -10.774 1.00 0.00 +ATOM 1466 OW SOLV 465 -1.147 2.876 11.376 1.00 0.00 +ATOM 1467 HW1 SOLV 465 -0.726 1.969 11.354 1.00 0.00 +ATOM 1468 HW2 SOLV 465 -0.491 3.556 11.047 1.00 0.00 +ATOM 1469 OW SOLV 466 -0.590 7.380 -9.339 1.00 0.00 +ATOM 1470 HW1 SOLV 466 -1.340 6.722 -9.412 1.00 0.00 +ATOM 1471 HW2 SOLV 466 -0.952 8.267 -9.054 1.00 0.00 +ATOM 1472 OW SOLV 467 14.144 3.224 6.212 1.00 0.00 +ATOM 1473 HW1 SOLV 467 13.581 2.399 6.153 1.00 0.00 +ATOM 1474 HW2 SOLV 467 14.981 3.021 6.720 1.00 0.00 +ATOM 1475 OW SOLV 468 1.993 5.899 -9.355 1.00 0.00 +ATOM 1476 HW1 SOLV 468 0.998 5.966 -9.278 1.00 0.00 +ATOM 1477 HW2 SOLV 468 2.345 6.706 -9.829 1.00 0.00 +ATOM 1478 OW SOLV 469 3.079 11.452 14.621 1.00 0.00 +ATOM 1479 HW1 SOLV 469 2.879 11.219 13.669 1.00 0.00 +ATOM 1480 HW2 SOLV 469 3.438 12.384 14.668 1.00 0.00 +ATOM 1481 OW SOLV 470 -7.309 -10.347 12.618 1.00 0.00 +ATOM 1482 HW1 SOLV 470 -8.005 -10.963 12.986 1.00 0.00 +ATOM 1483 HW2 SOLV 470 -6.872 -9.851 13.368 1.00 0.00 +ATOM 1484 OW SOLV 471 2.914 -7.588 -1.034 1.00 0.00 +ATOM 1485 HW1 SOLV 471 2.869 -6.722 -1.532 1.00 0.00 +ATOM 1486 HW2 SOLV 471 2.245 -8.226 -1.414 1.00 0.00 +ATOM 1487 OW SOLV 472 -12.957 13.463 4.274 1.00 0.00 +ATOM 1488 HW1 SOLV 472 -13.879 13.093 4.154 1.00 0.00 +ATOM 1489 HW2 SOLV 472 -12.635 13.843 3.407 1.00 0.00 +ATOM 1490 OW SOLV 473 3.975 -9.820 -9.196 1.00 0.00 +ATOM 1491 HW1 SOLV 473 3.220 -9.606 -9.816 1.00 0.00 +ATOM 1492 HW2 SOLV 473 4.763 -9.248 -9.422 1.00 0.00 +ATOM 1493 OW SOLV 474 6.868 14.004 12.263 1.00 0.00 +ATOM 1494 HW1 SOLV 474 7.230 13.628 11.410 1.00 0.00 +ATOM 1495 HW2 SOLV 474 6.551 14.940 12.106 1.00 0.00 +ATOM 1496 OW SOLV 475 -5.676 -7.219 9.104 1.00 0.00 +ATOM 1497 HW1 SOLV 475 -6.098 -6.690 8.369 1.00 0.00 +ATOM 1498 HW2 SOLV 475 -6.149 -7.030 9.965 1.00 0.00 +ATOM 1499 OW SOLV 476 10.638 2.518 0.059 1.00 0.00 +ATOM 1500 HW1 SOLV 476 10.879 2.368 1.018 1.00 0.00 +ATOM 1501 HW2 SOLV 476 11.146 3.305 -0.292 1.00 0.00 +ATOM 1502 OW SOLV 477 7.267 0.135 -4.389 1.00 0.00 +ATOM 1503 HW1 SOLV 477 8.017 0.772 -4.209 1.00 0.00 +ATOM 1504 HW2 SOLV 477 6.989 -0.302 -3.534 1.00 0.00 +ATOM 1505 OW SOLV 478 -3.860 -10.400 1.672 1.00 0.00 +ATOM 1506 HW1 SOLV 478 -4.569 -10.400 2.377 1.00 0.00 +ATOM 1507 HW2 SOLV 478 -3.507 -9.471 1.555 1.00 0.00 +ATOM 1508 OW SOLV 479 15.322 12.201 6.541 1.00 0.00 +ATOM 1509 HW1 SOLV 479 14.539 12.675 6.943 1.00 0.00 +ATOM 1510 HW2 SOLV 479 15.978 11.970 7.260 1.00 0.00 +ATOM 1511 OW SOLV 480 -11.183 -8.700 -12.427 1.00 0.00 +ATOM 1512 HW1 SOLV 480 -11.917 -9.313 -12.136 1.00 0.00 +ATOM 1513 HW2 SOLV 480 -11.561 -7.793 -12.615 1.00 0.00 +ATOM 1514 OW SOLV 481 13.193 -2.203 -3.153 1.00 0.00 +ATOM 1515 HW1 SOLV 481 14.182 -2.349 -3.121 1.00 0.00 +ATOM 1516 HW2 SOLV 481 13.005 -1.233 -3.306 1.00 0.00 +ATOM 1517 OW SOLV 482 13.105 -0.090 -7.282 1.00 0.00 +ATOM 1518 HW1 SOLV 482 12.200 0.115 -6.909 1.00 0.00 +ATOM 1519 HW2 SOLV 482 13.724 -0.340 -6.536 1.00 0.00 +ATOM 1520 OW SOLV 483 -11.779 12.503 6.881 1.00 0.00 +ATOM 1521 HW1 SOLV 483 -11.109 13.177 6.569 1.00 0.00 +ATOM 1522 HW2 SOLV 483 -12.532 12.454 6.225 1.00 0.00 +ATOM 1523 OW SOLV 484 13.549 14.570 -7.117 1.00 0.00 +ATOM 1524 HW1 SOLV 484 13.537 15.569 -7.168 1.00 0.00 +ATOM 1525 HW2 SOLV 484 13.419 14.283 -6.168 1.00 0.00 +ATOM 1526 OW SOLV 485 9.961 -3.090 6.514 1.00 0.00 +ATOM 1527 HW1 SOLV 485 9.319 -3.704 6.054 1.00 0.00 +ATOM 1528 HW2 SOLV 485 9.452 -2.372 6.989 1.00 0.00 +ATOM 1529 OW SOLV 486 -13.231 -8.003 1.104 1.00 0.00 +ATOM 1530 HW1 SOLV 486 -13.085 -8.777 0.488 1.00 0.00 +ATOM 1531 HW2 SOLV 486 -13.509 -8.340 2.003 1.00 0.00 +ATOM 1532 OW SOLV 487 -12.504 6.390 10.914 1.00 0.00 +ATOM 1533 HW1 SOLV 487 -12.868 6.756 11.771 1.00 0.00 +ATOM 1534 HW2 SOLV 487 -12.997 6.794 10.143 1.00 0.00 +ATOM 1535 OW SOLV 488 1.304 1.379 -12.033 1.00 0.00 +ATOM 1536 HW1 SOLV 488 1.223 2.228 -11.510 1.00 0.00 +ATOM 1537 HW2 SOLV 488 0.392 1.044 -12.268 1.00 0.00 +ATOM 1538 OW SOLV 489 -12.125 -3.989 13.731 1.00 0.00 +ATOM 1539 HW1 SOLV 489 -11.505 -4.771 13.678 1.00 0.00 +ATOM 1540 HW2 SOLV 489 -11.825 -3.375 14.461 1.00 0.00 +ATOM 1541 OW SOLV 490 13.098 12.998 3.719 1.00 0.00 +ATOM 1542 HW1 SOLV 490 12.993 13.891 4.157 1.00 0.00 +ATOM 1543 HW2 SOLV 490 12.614 12.305 4.254 1.00 0.00 +ATOM 1544 OW SOLV 491 3.213 -12.861 -10.286 1.00 0.00 +ATOM 1545 HW1 SOLV 491 2.795 -12.673 -11.175 1.00 0.00 +ATOM 1546 HW2 SOLV 491 3.706 -12.049 -9.972 1.00 0.00 +ATOM 1547 OW SOLV 492 -1.907 12.543 2.660 1.00 0.00 +ATOM 1548 HW1 SOLV 492 -1.228 12.973 3.254 1.00 0.00 +ATOM 1549 HW2 SOLV 492 -2.822 12.700 3.031 1.00 0.00 +ATOM 1550 OW SOLV 493 7.392 9.229 -14.028 1.00 0.00 +ATOM 1551 HW1 SOLV 493 8.013 10.011 -13.974 1.00 0.00 +ATOM 1552 HW2 SOLV 493 7.919 8.396 -14.197 1.00 0.00 +ATOM 1553 OW SOLV 494 -1.731 3.139 5.156 1.00 0.00 +ATOM 1554 HW1 SOLV 494 -2.430 3.697 5.603 1.00 0.00 +ATOM 1555 HW2 SOLV 494 -2.134 2.660 4.377 1.00 0.00 +ATOM 1556 OW SOLV 495 -11.657 5.584 -15.225 1.00 0.00 +ATOM 1557 HW1 SOLV 495 -11.776 6.080 -14.365 1.00 0.00 +ATOM 1558 HW2 SOLV 495 -12.540 5.225 -15.527 1.00 0.00 +ATOM 1559 OW SOLV 496 -12.811 9.095 13.817 1.00 0.00 +ATOM 1560 HW1 SOLV 496 -12.369 8.429 14.418 1.00 0.00 +ATOM 1561 HW2 SOLV 496 -12.123 9.524 13.232 1.00 0.00 +ATOM 1562 OW SOLV 497 -2.899 6.653 3.018 1.00 0.00 +ATOM 1563 HW1 SOLV 497 -3.707 6.835 3.578 1.00 0.00 +ATOM 1564 HW2 SOLV 497 -3.090 6.902 2.068 1.00 0.00 +ATOM 1565 OW SOLV 498 -11.322 3.272 -3.473 1.00 0.00 +ATOM 1566 HW1 SOLV 498 -11.856 3.804 -2.816 1.00 0.00 +ATOM 1567 HW2 SOLV 498 -10.505 2.911 -3.024 1.00 0.00 +ATOM 1568 OW SOLV 499 11.856 7.840 8.999 1.00 0.00 +ATOM 1569 HW1 SOLV 499 11.301 7.103 9.385 1.00 0.00 +ATOM 1570 HW2 SOLV 499 11.744 7.856 8.005 1.00 0.00 +ATOM 1571 OW SOLV 500 10.289 15.263 13.010 1.00 0.00 +ATOM 1572 HW1 SOLV 500 9.480 15.724 13.375 1.00 0.00 +ATOM 1573 HW2 SOLV 500 10.811 15.903 12.446 1.00 0.00 +ATOM 1574 OW SOLV 501 13.375 10.173 2.089 1.00 0.00 +ATOM 1575 HW1 SOLV 501 14.120 10.572 1.554 1.00 0.00 +ATOM 1576 HW2 SOLV 501 12.877 10.900 2.561 1.00 0.00 +ATOM 1577 OW SOLV 502 -3.916 -8.061 -12.396 1.00 0.00 +ATOM 1578 HW1 SOLV 502 -3.815 -7.167 -12.834 1.00 0.00 +ATOM 1579 HW2 SOLV 502 -4.028 -7.937 -11.410 1.00 0.00 +ATOM 1580 OW SOLV 503 0.697 -8.638 -1.989 1.00 0.00 +ATOM 1581 HW1 SOLV 503 -0.055 -9.079 -2.478 1.00 0.00 +ATOM 1582 HW2 SOLV 503 0.623 -7.646 -2.088 1.00 0.00 +ATOM 1583 OW SOLV 504 -12.253 8.139 0.919 1.00 0.00 +ATOM 1584 HW1 SOLV 504 -13.115 7.746 0.601 1.00 0.00 +ATOM 1585 HW2 SOLV 504 -12.364 8.475 1.854 1.00 0.00 +ATOM 1586 OW SOLV 505 13.195 15.035 13.609 1.00 0.00 +ATOM 1587 HW1 SOLV 505 12.726 14.420 12.975 1.00 0.00 +ATOM 1588 HW2 SOLV 505 13.413 14.542 14.452 1.00 0.00 +ATOM 1589 OW SOLV 506 12.781 7.756 -1.295 1.00 0.00 +ATOM 1590 HW1 SOLV 506 13.601 7.876 -1.855 1.00 0.00 +ATOM 1591 HW2 SOLV 506 11.983 8.088 -1.799 1.00 0.00 +ATOM 1592 OW SOLV 507 -2.233 -0.641 10.069 1.00 0.00 +ATOM 1593 HW1 SOLV 507 -1.729 -0.837 9.227 1.00 0.00 +ATOM 1594 HW2 SOLV 507 -1.587 -0.403 10.795 1.00 0.00 +ATOM 1595 OW SOLV 508 4.424 5.026 -8.015 1.00 0.00 +ATOM 1596 HW1 SOLV 508 4.911 5.450 -8.778 1.00 0.00 +ATOM 1597 HW2 SOLV 508 3.455 4.937 -8.246 1.00 0.00 +ATOM 1598 OW SOLV 509 14.741 -1.656 5.419 1.00 0.00 +ATOM 1599 HW1 SOLV 509 15.032 -2.592 5.219 1.00 0.00 +ATOM 1600 HW2 SOLV 509 15.546 -1.086 5.588 1.00 0.00 +ATOM 1601 OW SOLV 510 13.390 4.711 -3.771 1.00 0.00 +ATOM 1602 HW1 SOLV 510 12.555 4.375 -4.207 1.00 0.00 +ATOM 1603 HW2 SOLV 510 13.698 5.541 -4.236 1.00 0.00 +ATOM 1604 OW SOLV 511 -6.374 12.517 -13.075 1.00 0.00 +ATOM 1605 HW1 SOLV 511 -6.929 12.425 -13.902 1.00 0.00 +ATOM 1606 HW2 SOLV 511 -5.485 12.909 -13.312 1.00 0.00 +ATOM 1607 OW SOLV 512 -2.176 6.629 11.401 1.00 0.00 +ATOM 1608 HW1 SOLV 512 -1.454 7.304 11.553 1.00 0.00 +ATOM 1609 HW2 SOLV 512 -2.805 6.633 12.178 1.00 0.00 +ATOM 1610 OW SOLV 513 13.139 -10.995 12.346 1.00 0.00 +ATOM 1611 HW1 SOLV 513 12.750 -11.631 11.679 1.00 0.00 +ATOM 1612 HW2 SOLV 513 12.405 -10.452 12.755 1.00 0.00 +ATOM 1613 OW SOLV 514 -10.923 14.250 -11.172 1.00 0.00 +ATOM 1614 HW1 SOLV 514 -11.560 15.021 -11.191 1.00 0.00 +ATOM 1615 HW2 SOLV 514 -10.208 14.392 -11.856 1.00 0.00 +ATOM 1616 OW SOLV 515 12.486 0.968 -10.043 1.00 0.00 +ATOM 1617 HW1 SOLV 515 12.944 0.167 -9.657 1.00 0.00 +ATOM 1618 HW2 SOLV 515 11.659 0.680 -10.525 1.00 0.00 +ATOM 1619 OW SOLV 516 -12.939 5.534 -7.241 1.00 0.00 +ATOM 1620 HW1 SOLV 516 -12.331 6.304 -7.434 1.00 0.00 +ATOM 1621 HW2 SOLV 516 -13.769 5.868 -6.794 1.00 0.00 +ATOM 1622 OW SOLV 517 -3.255 14.679 -7.411 1.00 0.00 +ATOM 1623 HW1 SOLV 517 -2.445 15.096 -7.822 1.00 0.00 +ATOM 1624 HW2 SOLV 517 -4.018 14.727 -8.056 1.00 0.00 +ATOM 1625 OW SOLV 518 -4.099 15.076 9.954 1.00 0.00 +ATOM 1626 HW1 SOLV 518 -3.847 15.074 8.986 1.00 0.00 +ATOM 1627 HW2 SOLV 518 -5.095 15.043 10.039 1.00 0.00 +ATOM 1628 OW SOLV 519 -4.087 12.924 11.900 1.00 0.00 +ATOM 1629 HW1 SOLV 519 -4.931 13.174 12.375 1.00 0.00 +ATOM 1630 HW2 SOLV 519 -3.985 13.490 11.082 1.00 0.00 +ATOM 1631 OW SOLV 520 -14.071 -14.997 -1.479 1.00 0.00 +ATOM 1632 HW1 SOLV 520 -13.929 -14.231 -0.853 1.00 0.00 +ATOM 1633 HW2 SOLV 520 -13.326 -15.024 -2.146 1.00 0.00 +ATOM 1634 OW SOLV 521 5.241 -12.777 1.166 1.00 0.00 +ATOM 1635 HW1 SOLV 521 4.572 -12.549 1.874 1.00 0.00 +ATOM 1636 HW2 SOLV 521 6.108 -12.322 1.368 1.00 0.00 +ATOM 1637 OW SOLV 522 -0.500 -5.106 -10.875 1.00 0.00 +ATOM 1638 HW1 SOLV 522 -1.065 -5.004 -10.057 1.00 0.00 +ATOM 1639 HW2 SOLV 522 -0.017 -5.981 -10.840 1.00 0.00 +ATOM 1640 OW SOLV 523 10.653 -1.048 -4.554 1.00 0.00 +ATOM 1641 HW1 SOLV 523 10.674 -1.784 -3.878 1.00 0.00 +ATOM 1642 HW2 SOLV 523 10.954 -0.195 -4.128 1.00 0.00 +ATOM 1643 OW SOLV 524 9.592 11.958 4.361 1.00 0.00 +ATOM 1644 HW1 SOLV 524 9.419 11.077 4.801 1.00 0.00 +ATOM 1645 HW2 SOLV 524 8.725 12.361 4.070 1.00 0.00 +ATOM 1646 OW SOLV 525 -5.033 -6.143 -14.511 1.00 0.00 +ATOM 1647 HW1 SOLV 525 -4.286 -5.818 -13.931 1.00 0.00 +ATOM 1648 HW2 SOLV 525 -5.818 -5.530 -14.419 1.00 0.00 +ATOM 1649 OW SOLV 526 2.990 -13.428 -7.280 1.00 0.00 +ATOM 1650 HW1 SOLV 526 2.725 -14.346 -7.575 1.00 0.00 +ATOM 1651 HW2 SOLV 526 3.124 -13.423 -6.289 1.00 0.00 +ATOM 1652 OW SOLV 527 0.567 3.630 7.256 1.00 0.00 +ATOM 1653 HW1 SOLV 527 -0.078 4.098 7.860 1.00 0.00 +ATOM 1654 HW2 SOLV 527 0.195 2.739 6.997 1.00 0.00 +ATOM 1655 OW SOLV 528 -5.426 12.337 7.286 1.00 0.00 +ATOM 1656 HW1 SOLV 528 -4.818 11.694 7.751 1.00 0.00 +ATOM 1657 HW2 SOLV 528 -4.889 13.093 6.912 1.00 0.00 +ATOM 1658 OW SOLV 529 -4.927 13.162 -9.995 1.00 0.00 +ATOM 1659 HW1 SOLV 529 -5.450 12.950 -10.821 1.00 0.00 +ATOM 1660 HW2 SOLV 529 -3.999 13.434 -10.248 1.00 0.00 +ATOM 1661 OW SOLV 530 0.361 -11.766 9.424 1.00 0.00 +ATOM 1662 HW1 SOLV 530 -0.129 -11.225 10.107 1.00 0.00 +ATOM 1663 HW2 SOLV 530 -0.247 -12.471 9.058 1.00 0.00 +ATOM 1664 OW SOLV 531 -2.143 -0.282 15.233 1.00 0.00 +ATOM 1665 HW1 SOLV 531 -2.052 -1.107 15.791 1.00 0.00 +ATOM 1666 HW2 SOLV 531 -2.459 0.474 15.806 1.00 0.00 +ATOM 1667 OW SOLV 532 -6.526 -7.217 -7.353 1.00 0.00 +ATOM 1668 HW1 SOLV 532 -6.445 -7.295 -6.360 1.00 0.00 +ATOM 1669 HW2 SOLV 532 -7.309 -6.638 -7.579 1.00 0.00 +ATOM 1670 OW SOLV 533 -7.914 10.308 -14.308 1.00 0.00 +ATOM 1671 HW1 SOLV 533 -6.999 10.022 -14.592 1.00 0.00 +ATOM 1672 HW2 SOLV 533 -8.277 9.651 -13.646 1.00 0.00 +ATOM 1673 OW SOLV 534 14.003 15.054 -11.772 1.00 0.00 +ATOM 1674 HW1 SOLV 534 13.444 14.441 -12.329 1.00 0.00 +ATOM 1675 HW2 SOLV 534 13.443 15.444 -11.041 1.00 0.00 +ATOM 1676 OW SOLV 535 12.541 -12.046 -9.687 1.00 0.00 +ATOM 1677 HW1 SOLV 535 13.402 -11.560 -9.835 1.00 0.00 +ATOM 1678 HW2 SOLV 535 12.143 -12.294 -10.571 1.00 0.00 +ATOM 1679 OW SOLV 536 8.976 14.626 -10.720 1.00 0.00 +ATOM 1680 HW1 SOLV 536 9.300 15.136 -11.516 1.00 0.00 +ATOM 1681 HW2 SOLV 536 7.976 14.597 -10.726 1.00 0.00 +ATOM 1682 OW SOLV 537 -9.090 5.470 4.882 1.00 0.00 +ATOM 1683 HW1 SOLV 537 -9.942 5.886 5.199 1.00 0.00 +ATOM 1684 HW2 SOLV 537 -8.415 5.489 5.619 1.00 0.00 +ATOM 1685 OW SOLV 538 -8.820 8.497 13.077 1.00 0.00 +ATOM 1686 HW1 SOLV 538 -8.204 8.773 12.339 1.00 0.00 +ATOM 1687 HW2 SOLV 538 -9.575 7.961 12.698 1.00 0.00 +ATOM 1688 OW SOLV 539 6.713 6.722 13.482 1.00 0.00 +ATOM 1689 HW1 SOLV 539 7.651 7.046 13.609 1.00 0.00 +ATOM 1690 HW2 SOLV 539 6.708 5.723 13.448 1.00 0.00 +ATOM 1691 OW SOLV 540 14.159 7.423 10.865 1.00 0.00 +ATOM 1692 HW1 SOLV 540 13.238 7.161 10.576 1.00 0.00 +ATOM 1693 HW2 SOLV 540 14.101 8.170 11.527 1.00 0.00 +ATOM 1694 OW SOLV 541 -6.708 1.653 8.851 1.00 0.00 +ATOM 1695 HW1 SOLV 541 -7.167 1.454 9.717 1.00 0.00 +ATOM 1696 HW2 SOLV 541 -7.375 2.006 8.194 1.00 0.00 +ATOM 1697 OW SOLV 542 -11.809 1.891 5.745 1.00 0.00 +ATOM 1698 HW1 SOLV 542 -12.779 2.028 5.544 1.00 0.00 +ATOM 1699 HW2 SOLV 542 -11.538 2.489 6.499 1.00 0.00 +ATOM 1700 OW SOLV 543 10.826 -5.525 4.597 1.00 0.00 +ATOM 1701 HW1 SOLV 543 10.951 -6.414 4.155 1.00 0.00 +ATOM 1702 HW2 SOLV 543 10.508 -5.661 5.535 1.00 0.00 +ATOM 1703 OW SOLV 544 5.255 7.053 -6.324 1.00 0.00 +ATOM 1704 HW1 SOLV 544 4.437 7.488 -5.948 1.00 0.00 +ATOM 1705 HW2 SOLV 544 4.992 6.433 -7.064 1.00 0.00 +ATOM 1706 OW SOLV 545 6.579 6.640 -14.042 1.00 0.00 +ATOM 1707 HW1 SOLV 545 6.725 7.568 -13.700 1.00 0.00 +ATOM 1708 HW2 SOLV 545 6.534 6.004 -13.271 1.00 0.00 +ATOM 1709 OW SOLV 546 -7.248 8.118 -0.101 1.00 0.00 +ATOM 1710 HW1 SOLV 546 -7.031 8.006 0.868 1.00 0.00 +ATOM 1711 HW2 SOLV 546 -8.180 7.800 -0.273 1.00 0.00 +ATOM 1712 OW SOLV 547 -2.890 1.077 -10.179 1.00 0.00 +ATOM 1713 HW1 SOLV 547 -3.425 1.556 -9.483 1.00 0.00 +ATOM 1714 HW2 SOLV 547 -2.642 0.169 -9.842 1.00 0.00 +ATOM 1715 OW SOLV 548 -3.332 -7.434 12.889 1.00 0.00 +ATOM 1716 HW1 SOLV 548 -2.598 -7.821 12.330 1.00 0.00 +ATOM 1717 HW2 SOLV 548 -3.284 -6.436 12.858 1.00 0.00 +ATOM 1718 OW SOLV 549 -2.214 -2.402 -10.175 1.00 0.00 +ATOM 1719 HW1 SOLV 549 -2.280 -3.042 -9.410 1.00 0.00 +ATOM 1720 HW2 SOLV 549 -3.106 -1.981 -10.335 1.00 0.00 +ATOM 1721 OW SOLV 550 -4.151 -11.937 5.258 1.00 0.00 +ATOM 1722 HW1 SOLV 550 -4.077 -10.974 5.516 1.00 0.00 +ATOM 1723 HW2 SOLV 550 -3.279 -12.396 5.429 1.00 0.00 +ATOM 1724 OW SOLV 551 -12.219 -1.450 12.644 1.00 0.00 +ATOM 1725 HW1 SOLV 551 -12.617 -1.574 11.735 1.00 0.00 +ATOM 1726 HW2 SOLV 551 -11.890 -2.331 12.986 1.00 0.00 +ATOM 1727 OW SOLV 552 1.432 -14.437 2.150 1.00 0.00 +ATOM 1728 HW1 SOLV 552 0.829 -13.951 1.516 1.00 0.00 +ATOM 1729 HW2 SOLV 552 2.077 -14.998 1.631 1.00 0.00 +ATOM 1730 OW SOLV 553 -9.892 12.660 9.000 1.00 0.00 +ATOM 1731 HW1 SOLV 553 -9.319 13.425 8.705 1.00 0.00 +ATOM 1732 HW2 SOLV 553 -10.575 12.465 8.297 1.00 0.00 +ATOM 1733 OW SOLV 554 9.632 0.832 -6.716 1.00 0.00 +ATOM 1734 HW1 SOLV 554 9.719 0.572 -7.678 1.00 0.00 +ATOM 1735 HW2 SOLV 554 9.458 0.016 -6.165 1.00 0.00 +ATOM 1736 OW SOLV 555 -11.623 3.978 7.652 1.00 0.00 +ATOM 1737 HW1 SOLV 555 -11.199 4.612 8.300 1.00 0.00 +ATOM 1738 HW2 SOLV 555 -12.598 4.182 7.575 1.00 0.00 +ATOM 1739 OW SOLV 556 -10.859 9.190 -9.917 1.00 0.00 +ATOM 1740 HW1 SOLV 556 -11.120 8.492 -9.250 1.00 0.00 +ATOM 1741 HW2 SOLV 556 -9.870 9.332 -9.882 1.00 0.00 +ATOM 1742 OW SOLV 557 -11.692 -3.779 6.551 1.00 0.00 +ATOM 1743 HW1 SOLV 557 -11.905 -3.343 5.677 1.00 0.00 +ATOM 1744 HW2 SOLV 557 -11.021 -3.226 7.044 1.00 0.00 +ATOM 1745 OW SOLV 558 7.760 -13.857 9.255 1.00 0.00 +ATOM 1746 HW1 SOLV 558 7.014 -14.476 9.010 1.00 0.00 +ATOM 1747 HW2 SOLV 558 8.581 -14.104 8.739 1.00 0.00 +ATOM 1748 OW SOLV 559 4.557 -14.157 11.514 1.00 0.00 +ATOM 1749 HW1 SOLV 559 3.941 -14.870 11.850 1.00 0.00 +ATOM 1750 HW2 SOLV 559 5.077 -14.507 10.735 1.00 0.00 +ATOM 1751 OW SOLV 560 0.725 5.441 5.057 1.00 0.00 +ATOM 1752 HW1 SOLV 560 -0.093 5.199 4.534 1.00 0.00 +ATOM 1753 HW2 SOLV 560 0.684 5.007 5.957 1.00 0.00 +ATOM 1754 OW SOLV 561 -1.522 12.124 10.976 1.00 0.00 +ATOM 1755 HW1 SOLV 561 -2.385 12.623 11.055 1.00 0.00 +ATOM 1756 HW2 SOLV 561 -1.643 11.347 10.358 1.00 0.00 +ATOM 1757 OW SOLV 562 -11.715 3.007 -6.923 1.00 0.00 +ATOM 1758 HW1 SOLV 562 -12.589 2.563 -6.726 1.00 0.00 +ATOM 1759 HW2 SOLV 562 -11.838 4.000 -6.925 1.00 0.00 +ATOM 1760 OW SOLV 563 11.564 -14.709 9.429 1.00 0.00 +ATOM 1761 HW1 SOLV 563 10.987 -15.157 10.112 1.00 0.00 +ATOM 1762 HW2 SOLV 563 12.085 -15.400 8.928 1.00 0.00 +ATOM 1763 OW SOLV 564 -9.749 -13.497 -4.262 1.00 0.00 +ATOM 1764 HW1 SOLV 564 -9.686 -14.470 -4.484 1.00 0.00 +ATOM 1765 HW2 SOLV 564 -10.702 -13.258 -4.077 1.00 0.00 +ATOM 1766 OW SOLV 565 8.755 -13.487 -12.635 1.00 0.00 +ATOM 1767 HW1 SOLV 565 7.775 -13.302 -12.567 1.00 0.00 +ATOM 1768 HW2 SOLV 565 8.912 -14.213 -13.306 1.00 0.00 +ATOM 1769 OW SOLV 566 -4.531 3.606 -13.258 1.00 0.00 +ATOM 1770 HW1 SOLV 566 -3.897 4.122 -12.682 1.00 0.00 +ATOM 1771 HW2 SOLV 566 -4.638 4.072 -14.136 1.00 0.00 +ATOM 1772 OW SOLV 567 -4.437 -14.398 13.041 1.00 0.00 +ATOM 1773 HW1 SOLV 567 -3.814 -15.162 13.209 1.00 0.00 +ATOM 1774 HW2 SOLV 567 -4.082 -13.836 12.294 1.00 0.00 +ATOM 1775 OW SOLV 568 10.896 -12.632 7.408 1.00 0.00 +ATOM 1776 HW1 SOLV 568 10.434 -11.753 7.293 1.00 0.00 +ATOM 1777 HW2 SOLV 568 10.651 -13.239 6.651 1.00 0.00 +ATOM 1778 OW SOLV 569 -0.735 -9.560 -13.636 1.00 0.00 +ATOM 1779 HW1 SOLV 569 -0.119 -9.079 -13.011 1.00 0.00 +ATOM 1780 HW2 SOLV 569 -0.804 -9.050 -14.494 1.00 0.00 +ATOM 1781 OW SOLV 570 7.386 -10.295 -13.929 1.00 0.00 +ATOM 1782 HW1 SOLV 570 7.470 -9.311 -13.768 1.00 0.00 +ATOM 1783 HW2 SOLV 570 8.281 -10.672 -14.165 1.00 0.00 +ATOM 1784 OW SOLV 571 -14.266 -4.617 -11.880 1.00 0.00 +ATOM 1785 HW1 SOLV 571 -14.004 -3.718 -12.233 1.00 0.00 +ATOM 1786 HW2 SOLV 571 -13.754 -4.808 -11.042 1.00 0.00 +ATOM 1787 OW SOLV 572 -8.004 6.500 -7.249 1.00 0.00 +ATOM 1788 HW1 SOLV 572 -7.168 6.031 -7.535 1.00 0.00 +ATOM 1789 HW2 SOLV 572 -8.766 5.852 -7.251 1.00 0.00 +ATOM 1790 OW SOLV 573 -12.484 -15.195 8.618 1.00 0.00 +ATOM 1791 HW1 SOLV 573 -12.251 -15.524 9.533 1.00 0.00 +ATOM 1792 HW2 SOLV 573 -13.282 -14.595 8.673 1.00 0.00 +ATOM 1793 OW SOLV 574 -1.726 -13.721 -15.311 1.00 0.00 +ATOM 1794 HW1 SOLV 574 -0.797 -14.017 -15.089 1.00 0.00 +ATOM 1795 HW2 SOLV 574 -2.310 -13.823 -14.506 1.00 0.00 +ATOM 1796 OW SOLV 575 12.453 11.526 -10.832 1.00 0.00 +ATOM 1797 HW1 SOLV 575 12.922 10.666 -10.630 1.00 0.00 +ATOM 1798 HW2 SOLV 575 12.744 12.225 -10.179 1.00 0.00 +ATOM 1799 OW SOLV 576 6.263 -5.650 0.500 1.00 0.00 +ATOM 1800 HW1 SOLV 576 5.703 -6.163 -0.151 1.00 0.00 +ATOM 1801 HW2 SOLV 576 7.011 -6.230 0.824 1.00 0.00 +ATOM 1802 OW SOLV 577 10.287 -9.331 -11.004 1.00 0.00 +ATOM 1803 HW1 SOLV 577 10.051 -9.813 -11.847 1.00 0.00 +ATOM 1804 HW2 SOLV 577 10.253 -9.968 -10.234 1.00 0.00 +ATOM 1805 OW SOLV 578 -8.615 -5.724 -13.786 1.00 0.00 +ATOM 1806 HW1 SOLV 578 -8.706 -5.874 -12.801 1.00 0.00 +ATOM 1807 HW2 SOLV 578 -7.968 -6.386 -14.165 1.00 0.00 +ATOM 1808 OW SOLV 579 11.179 13.520 -12.450 1.00 0.00 +ATOM 1809 HW1 SOLV 579 10.827 12.650 -12.794 1.00 0.00 +ATOM 1810 HW2 SOLV 579 11.601 13.379 -11.554 1.00 0.00 +ATOM 1811 OW SOLV 580 -5.746 3.654 -0.580 1.00 0.00 +ATOM 1812 HW1 SOLV 580 -6.353 4.295 -1.050 1.00 0.00 +ATOM 1813 HW2 SOLV 580 -5.311 3.054 -1.252 1.00 0.00 +ATOM 1814 OW SOLV 581 8.843 -11.220 -0.344 1.00 0.00 +ATOM 1815 HW1 SOLV 581 7.968 -10.819 -0.615 1.00 0.00 +ATOM 1816 HW2 SOLV 581 8.682 -11.964 0.305 1.00 0.00 +ATOM 1817 OW SOLV 582 -15.055 -5.781 14.719 1.00 0.00 +ATOM 1818 HW1 SOLV 582 -15.741 -6.414 15.079 1.00 0.00 +ATOM 1819 HW2 SOLV 582 -14.315 -6.301 14.292 1.00 0.00 +ATOM 1820 OW SOLV 583 2.918 6.788 9.029 1.00 0.00 +ATOM 1821 HW1 SOLV 583 3.628 6.794 8.325 1.00 0.00 +ATOM 1822 HW2 SOLV 583 3.278 6.369 9.862 1.00 0.00 +ATOM 1823 OW SOLV 584 4.937 -5.079 12.087 1.00 0.00 +ATOM 1824 HW1 SOLV 584 4.520 -4.448 12.740 1.00 0.00 +ATOM 1825 HW2 SOLV 584 4.403 -5.924 12.053 1.00 0.00 +ATOM 1826 OW SOLV 585 7.351 6.876 2.949 1.00 0.00 +ATOM 1827 HW1 SOLV 585 6.491 7.329 3.185 1.00 0.00 +ATOM 1828 HW2 SOLV 585 7.891 6.733 3.778 1.00 0.00 +ATOM 1829 OW SOLV 586 11.589 1.378 7.015 1.00 0.00 +ATOM 1830 HW1 SOLV 586 12.394 1.277 7.600 1.00 0.00 +ATOM 1831 HW2 SOLV 586 11.249 0.473 6.758 1.00 0.00 +ATOM 1832 OW SOLV 587 0.735 -7.646 -9.409 1.00 0.00 +ATOM 1833 HW1 SOLV 587 1.074 -7.989 -10.285 1.00 0.00 +ATOM 1834 HW2 SOLV 587 1.345 -6.928 -9.074 1.00 0.00 +ATOM 1835 OW SOLV 588 -3.401 0.785 6.340 1.00 0.00 +ATOM 1836 HW1 SOLV 588 -3.411 0.274 5.481 1.00 0.00 +ATOM 1837 HW2 SOLV 588 -3.156 0.171 7.090 1.00 0.00 +ATOM 1838 OW SOLV 589 -13.924 -3.351 -0.822 1.00 0.00 +ATOM 1839 HW1 SOLV 589 -13.829 -2.702 -0.067 1.00 0.00 +ATOM 1840 HW2 SOLV 589 -14.456 -4.141 -0.517 1.00 0.00 +ATOM 1841 OW SOLV 590 9.215 3.577 -3.366 1.00 0.00 +ATOM 1842 HW1 SOLV 590 9.603 3.307 -4.247 1.00 0.00 +ATOM 1843 HW2 SOLV 590 8.274 3.890 -3.498 1.00 0.00 +ATOM 1844 OW SOLV 591 -14.389 1.036 0.073 1.00 0.00 +ATOM 1845 HW1 SOLV 591 -14.391 0.125 -0.340 1.00 0.00 +ATOM 1846 HW2 SOLV 591 -14.313 1.728 -0.645 1.00 0.00 +ATOM 1847 OW SOLV 592 1.651 -2.669 -10.185 1.00 0.00 +ATOM 1848 HW1 SOLV 592 1.113 -3.364 -10.663 1.00 0.00 +ATOM 1849 HW2 SOLV 592 1.287 -2.542 -9.262 1.00 0.00 +ATOM 1850 OW SOLV 593 10.875 -14.694 -3.048 1.00 0.00 +ATOM 1851 HW1 SOLV 593 11.520 -13.951 -2.867 1.00 0.00 +ATOM 1852 HW2 SOLV 593 10.240 -14.415 -3.768 1.00 0.00 +ATOM 1853 OW SOLV 594 8.739 13.593 -5.370 1.00 0.00 +ATOM 1854 HW1 SOLV 594 8.156 13.618 -4.557 1.00 0.00 +ATOM 1855 HW2 SOLV 594 8.342 12.973 -6.046 1.00 0.00 +ATOM 1856 OW SOLV 595 -4.634 14.102 -2.727 1.00 0.00 +ATOM 1857 HW1 SOLV 595 -5.612 13.920 -2.619 1.00 0.00 +ATOM 1858 HW2 SOLV 595 -4.374 13.968 -3.684 1.00 0.00 +ATOM 1859 OW SOLV 596 3.648 5.656 12.897 1.00 0.00 +ATOM 1860 HW1 SOLV 596 4.274 4.953 13.234 1.00 0.00 +ATOM 1861 HW2 SOLV 596 3.673 6.446 13.509 1.00 0.00 +ATOM 1862 OW SOLV 597 -3.830 -5.203 -9.799 1.00 0.00 +ATOM 1863 HW1 SOLV 597 -4.799 -5.424 -9.911 1.00 0.00 +ATOM 1864 HW2 SOLV 597 -3.629 -5.065 -8.829 1.00 0.00 +ATOM 1865 OW SOLV 598 15.311 -3.886 11.962 1.00 0.00 +ATOM 1866 HW1 SOLV 598 16.238 -4.263 11.971 1.00 0.00 +ATOM 1867 HW2 SOLV 598 14.677 -4.556 12.349 1.00 0.00 +ATOM 1868 OW SOLV 599 12.684 1.554 2.222 1.00 0.00 +ATOM 1869 HW1 SOLV 599 11.956 1.001 2.627 1.00 0.00 +ATOM 1870 HW2 SOLV 599 13.568 1.251 2.576 1.00 0.00 +ATOM 1871 OW SOLV 600 -12.800 0.290 -11.354 1.00 0.00 +ATOM 1872 HW1 SOLV 600 -13.018 1.183 -10.958 1.00 0.00 +ATOM 1873 HW2 SOLV 600 -12.021 0.382 -11.974 1.00 0.00 +ATOM 1874 OW SOLV 601 3.263 4.067 -4.308 1.00 0.00 +ATOM 1875 HW1 SOLV 601 4.180 4.464 -4.264 1.00 0.00 +ATOM 1876 HW2 SOLV 601 2.998 3.946 -5.265 1.00 0.00 +ATOM 1877 OW SOLV 602 -8.903 7.803 -11.754 1.00 0.00 +ATOM 1878 HW1 SOLV 602 -7.965 7.904 -12.086 1.00 0.00 +ATOM 1879 HW2 SOLV 602 -8.888 7.459 -10.815 1.00 0.00 +ATOM 1880 OW SOLV 603 -7.091 -11.868 5.554 1.00 0.00 +ATOM 1881 HW1 SOLV 603 -6.940 -11.493 6.469 1.00 0.00 +ATOM 1882 HW2 SOLV 603 -6.211 -11.999 5.098 1.00 0.00 +ATOM 1883 OW SOLV 604 2.486 -3.210 11.172 1.00 0.00 +ATOM 1884 HW1 SOLV 604 3.258 -2.663 10.848 1.00 0.00 +ATOM 1885 HW2 SOLV 604 1.827 -2.617 11.634 1.00 0.00 +ATOM 1886 OW SOLV 605 1.232 7.146 11.108 1.00 0.00 +ATOM 1887 HW1 SOLV 605 1.301 7.559 10.200 1.00 0.00 +ATOM 1888 HW2 SOLV 605 0.532 7.622 11.639 1.00 0.00 +ATOM 1889 OW SOLV 606 -6.779 1.822 12.144 1.00 0.00 +ATOM 1890 HW1 SOLV 606 -6.618 1.461 11.225 1.00 0.00 +ATOM 1891 HW2 SOLV 606 -6.527 1.131 12.822 1.00 0.00 +ATOM 1892 OW SOLV 607 -13.852 -9.136 7.521 1.00 0.00 +ATOM 1893 HW1 SOLV 607 -13.953 -8.141 7.498 1.00 0.00 +ATOM 1894 HW2 SOLV 607 -12.911 -9.381 7.286 1.00 0.00 +ATOM 1895 OW SOLV 608 -7.594 11.376 13.130 1.00 0.00 +ATOM 1896 HW1 SOLV 608 -6.673 11.022 13.293 1.00 0.00 +ATOM 1897 HW2 SOLV 608 -8.258 10.821 13.631 1.00 0.00 +ATOM 1898 OW SOLV 609 8.914 0.160 0.321 1.00 0.00 +ATOM 1899 HW1 SOLV 609 9.148 -0.796 0.499 1.00 0.00 +ATOM 1900 HW2 SOLV 609 9.120 0.709 1.131 1.00 0.00 +ATOM 1901 OW SOLV 610 10.549 -1.515 11.951 1.00 0.00 +ATOM 1902 HW1 SOLV 610 10.472 -1.417 12.943 1.00 0.00 +ATOM 1903 HW2 SOLV 610 11.356 -1.020 11.629 1.00 0.00 +ATOM 1904 OW SOLV 611 -5.197 1.123 -2.262 1.00 0.00 +ATOM 1905 HW1 SOLV 611 -5.492 0.192 -2.047 1.00 0.00 +ATOM 1906 HW2 SOLV 611 -4.764 1.529 -1.458 1.00 0.00 +ATOM 1907 OW SOLV 612 -10.808 7.369 -4.970 1.00 0.00 +ATOM 1908 HW1 SOLV 612 -11.778 7.271 -4.746 1.00 0.00 +ATOM 1909 HW2 SOLV 612 -10.259 6.874 -4.296 1.00 0.00 +ATOM 1910 OW SOLV 613 -4.082 9.995 -13.989 1.00 0.00 +ATOM 1911 HW1 SOLV 613 -3.610 10.795 -13.619 1.00 0.00 +ATOM 1912 HW2 SOLV 613 -4.439 10.209 -14.898 1.00 0.00 +ATOM 1913 OW SOLV 614 -9.180 10.624 0.712 1.00 0.00 +ATOM 1914 HW1 SOLV 614 -8.338 11.140 0.871 1.00 0.00 +ATOM 1915 HW2 SOLV 614 -8.954 9.730 0.324 1.00 0.00 +ATOM 1916 OW SOLV 615 -13.730 2.201 -15.033 1.00 0.00 +ATOM 1917 HW1 SOLV 615 -13.955 3.167 -15.155 1.00 0.00 +ATOM 1918 HW2 SOLV 615 -12.825 2.119 -14.617 1.00 0.00 +ATOM 1919 OW SOLV 616 13.901 -6.535 -13.786 1.00 0.00 +ATOM 1920 HW1 SOLV 616 13.956 -7.200 -13.041 1.00 0.00 +ATOM 1921 HW2 SOLV 616 14.772 -6.051 -13.866 1.00 0.00 +ATOM 1922 OW SOLV 617 1.706 -0.626 -7.761 1.00 0.00 +ATOM 1923 HW1 SOLV 617 2.366 -0.467 -8.496 1.00 0.00 +ATOM 1924 HW2 SOLV 617 0.981 -1.231 -8.089 1.00 0.00 +ATOM 1925 OW SOLV 618 -11.325 12.567 -2.085 1.00 0.00 +ATOM 1926 HW1 SOLV 618 -12.157 12.398 -2.615 1.00 0.00 +ATOM 1927 HW2 SOLV 618 -11.239 11.872 -1.371 1.00 0.00 +ATOM 1928 OW SOLV 619 9.303 15.250 -14.622 1.00 0.00 +ATOM 1929 HW1 SOLV 619 9.661 15.367 -15.549 1.00 0.00 +ATOM 1930 HW2 SOLV 619 9.530 14.335 -14.290 1.00 0.00 +ATOM 1931 OW SOLV 620 -9.339 14.131 3.969 1.00 0.00 +ATOM 1932 HW1 SOLV 620 -9.534 14.600 4.831 1.00 0.00 +ATOM 1933 HW2 SOLV 620 -8.473 14.466 3.597 1.00 0.00 +ATOM 1934 OW SOLV 621 2.821 -0.231 -10.556 1.00 0.00 +ATOM 1935 HW1 SOLV 621 2.595 -1.061 -11.065 1.00 0.00 +ATOM 1936 HW2 SOLV 621 2.178 0.496 -10.799 1.00 0.00 +ATOM 1937 OW SOLV 622 -6.070 -14.166 4.065 1.00 0.00 +ATOM 1938 HW1 SOLV 622 -6.317 -13.593 4.846 1.00 0.00 +ATOM 1939 HW2 SOLV 622 -5.561 -13.620 3.399 1.00 0.00 +ATOM 1940 OW SOLV 623 7.975 -12.881 -8.491 1.00 0.00 +ATOM 1941 HW1 SOLV 623 8.954 -13.082 -8.537 1.00 0.00 +ATOM 1942 HW2 SOLV 623 7.561 -13.036 -9.388 1.00 0.00 +ATOM 1943 OW SOLV 624 0.882 -10.931 -9.372 1.00 0.00 +ATOM 1944 HW1 SOLV 624 0.620 -10.251 -10.056 1.00 0.00 +ATOM 1945 HW2 SOLV 624 0.364 -11.773 -9.522 1.00 0.00 +ATOM 1946 OW SOLV 625 10.014 -11.548 -3.411 1.00 0.00 +ATOM 1947 HW1 SOLV 625 10.793 -10.925 -3.340 1.00 0.00 +ATOM 1948 HW2 SOLV 625 9.393 -11.225 -4.126 1.00 0.00 +ATOM 1949 OW SOLV 626 0.970 -8.058 1.470 1.00 0.00 +ATOM 1950 HW1 SOLV 626 1.387 -8.104 0.562 1.00 0.00 +ATOM 1951 HW2 SOLV 626 0.851 -8.983 1.829 1.00 0.00 +ATOM 1952 OW SOLV 627 -0.626 -6.941 4.426 1.00 0.00 +ATOM 1953 HW1 SOLV 627 -1.102 -7.481 3.731 1.00 0.00 +ATOM 1954 HW2 SOLV 627 0.311 -6.762 4.125 1.00 0.00 +ATOM 1955 OW SOLV 628 2.776 14.222 8.589 1.00 0.00 +ATOM 1956 HW1 SOLV 628 2.143 14.688 9.208 1.00 0.00 +ATOM 1957 HW2 SOLV 628 2.579 14.491 7.646 1.00 0.00 +ATOM 1958 OW SOLV 629 4.176 -13.520 3.605 1.00 0.00 +ATOM 1959 HW1 SOLV 629 3.429 -14.072 3.976 1.00 0.00 +ATOM 1960 HW2 SOLV 629 4.313 -13.750 2.642 1.00 0.00 +ATOM 1961 OW SOLV 630 13.497 -4.537 -8.112 1.00 0.00 +ATOM 1962 HW1 SOLV 630 13.322 -3.903 -8.865 1.00 0.00 +ATOM 1963 HW2 SOLV 630 14.090 -5.277 -8.430 1.00 0.00 +ATOM 1964 OW SOLV 631 -12.993 -12.212 0.907 1.00 0.00 +ATOM 1965 HW1 SOLV 631 -13.584 -12.840 1.413 1.00 0.00 +ATOM 1966 HW2 SOLV 631 -12.068 -12.589 0.861 1.00 0.00 +ATOM 1967 OW SOLV 632 1.306 5.194 -2.389 1.00 0.00 +ATOM 1968 HW1 SOLV 632 1.001 5.716 -3.186 1.00 0.00 +ATOM 1969 HW2 SOLV 632 2.063 4.596 -2.652 1.00 0.00 +ATOM 1970 OW SOLV 633 -3.115 -5.428 -12.879 1.00 0.00 +ATOM 1971 HW1 SOLV 633 -3.193 -4.538 -13.328 1.00 0.00 +ATOM 1972 HW2 SOLV 633 -2.312 -5.432 -12.283 1.00 0.00 +ATOM 1973 OW SOLV 634 -7.088 -5.501 -9.425 1.00 0.00 +ATOM 1974 HW1 SOLV 634 -8.080 -5.370 -9.424 1.00 0.00 +ATOM 1975 HW2 SOLV 634 -6.881 -6.469 -9.568 1.00 0.00 +ATOM 1976 OW SOLV 635 1.351 -5.907 -3.497 1.00 0.00 +ATOM 1977 HW1 SOLV 635 2.159 -5.613 -4.006 1.00 0.00 +ATOM 1978 HW2 SOLV 635 0.763 -5.117 -3.320 1.00 0.00 +ATOM 1979 OW SOLV 636 -6.703 -6.586 -1.535 1.00 0.00 +ATOM 1980 HW1 SOLV 636 -6.573 -6.424 -2.513 1.00 0.00 +ATOM 1981 HW2 SOLV 636 -6.589 -7.561 -1.341 1.00 0.00 +ATOM 1982 OW SOLV 637 11.731 5.705 -8.271 1.00 0.00 +ATOM 1983 HW1 SOLV 637 10.837 5.301 -8.076 1.00 0.00 +ATOM 1984 HW2 SOLV 637 12.450 5.050 -8.041 1.00 0.00 +ATOM 1985 OW SOLV 638 -12.550 9.978 8.416 1.00 0.00 +ATOM 1986 HW1 SOLV 638 -12.745 9.703 7.474 1.00 0.00 +ATOM 1987 HW2 SOLV 638 -11.783 10.620 8.423 1.00 0.00 +ATOM 1988 OW SOLV 639 -6.861 -12.946 -10.297 1.00 0.00 +ATOM 1989 HW1 SOLV 639 -5.886 -12.771 -10.430 1.00 0.00 +ATOM 1990 HW2 SOLV 639 -7.172 -13.625 -10.962 1.00 0.00 +ATOM 1991 OW SOLV 640 3.478 -9.424 2.463 1.00 0.00 +ATOM 1992 HW1 SOLV 640 3.907 -9.967 1.741 1.00 0.00 +ATOM 1993 HW2 SOLV 640 3.855 -8.498 2.452 1.00 0.00 +ATOM 1994 OW SOLV 641 7.977 -5.914 7.647 1.00 0.00 +ATOM 1995 HW1 SOLV 641 8.711 -6.551 7.412 1.00 0.00 +ATOM 1996 HW2 SOLV 641 8.351 -5.159 8.186 1.00 0.00 +ATOM 1997 OW SOLV 642 14.333 -7.855 5.546 1.00 0.00 +ATOM 1998 HW1 SOLV 642 14.954 -7.263 6.060 1.00 0.00 +ATOM 1999 HW2 SOLV 642 13.938 -8.538 6.162 1.00 0.00 +ATOM 2000 OW SOLV 643 15.143 -11.234 7.964 1.00 0.00 +ATOM 2001 HW1 SOLV 643 15.439 -11.708 7.134 1.00 0.00 +ATOM 2002 HW2 SOLV 643 15.654 -10.379 8.060 1.00 0.00 +ATOM 2003 OW SOLV 644 -5.707 0.863 -14.882 1.00 0.00 +ATOM 2004 HW1 SOLV 644 -5.405 1.106 -13.960 1.00 0.00 +ATOM 2005 HW2 SOLV 644 -5.812 1.695 -15.428 1.00 0.00 +ATOM 2006 OW SOLV 645 12.468 -0.953 3.858 1.00 0.00 +ATOM 2007 HW1 SOLV 645 12.847 -1.305 3.002 1.00 0.00 +ATOM 2008 HW2 SOLV 645 13.094 -1.160 4.609 1.00 0.00 +ATOM 2009 OW SOLV 646 14.339 -1.996 15.281 1.00 0.00 +ATOM 2010 HW1 SOLV 646 14.165 -1.853 14.307 1.00 0.00 +ATOM 2011 HW2 SOLV 646 15.191 -2.508 15.396 1.00 0.00 +ATOM 2012 OW SOLV 647 -0.493 -2.271 14.134 1.00 0.00 +ATOM 2013 HW1 SOLV 647 -1.125 -1.558 14.439 1.00 0.00 +ATOM 2014 HW2 SOLV 647 0.429 -1.891 14.060 1.00 0.00 +ATOM 2015 OW SOLV 648 -12.323 11.199 1.849 1.00 0.00 +ATOM 2016 HW1 SOLV 648 -11.341 11.280 2.021 1.00 0.00 +ATOM 2017 HW2 SOLV 648 -12.478 10.555 1.099 1.00 0.00 +ATOM 2018 OW SOLV 649 0.992 11.080 -1.961 1.00 0.00 +ATOM 2019 HW1 SOLV 649 1.406 10.678 -1.144 1.00 0.00 +ATOM 2020 HW2 SOLV 649 0.775 12.040 -1.786 1.00 0.00 +ATOM 2021 OW SOLV 650 3.486 -2.868 -6.256 1.00 0.00 +ATOM 2022 HW1 SOLV 650 3.864 -2.868 -5.330 1.00 0.00 +ATOM 2023 HW2 SOLV 650 3.447 -1.929 -6.599 1.00 0.00 +ATOM 2024 OW SOLV 651 -6.644 -7.822 -4.691 1.00 0.00 +ATOM 2025 HW1 SOLV 651 -6.553 -8.474 -3.938 1.00 0.00 +ATOM 2026 HW2 SOLV 651 -7.346 -8.144 -5.326 1.00 0.00 +ATOM 2027 OW SOLV 652 4.212 3.541 0.512 1.00 0.00 +ATOM 2028 HW1 SOLV 652 4.286 3.748 -0.464 1.00 0.00 +ATOM 2029 HW2 SOLV 652 5.128 3.446 0.902 1.00 0.00 +ATOM 2030 OW SOLV 653 -2.360 12.571 -5.581 1.00 0.00 +ATOM 2031 HW1 SOLV 653 -2.204 13.417 -6.090 1.00 0.00 +ATOM 2032 HW2 SOLV 653 -3.341 12.452 -5.425 1.00 0.00 +ATOM 2033 OW SOLV 654 7.520 8.815 -0.973 1.00 0.00 +ATOM 2034 HW1 SOLV 654 6.821 8.136 -1.195 1.00 0.00 +ATOM 2035 HW2 SOLV 654 7.936 8.589 -0.092 1.00 0.00 +ATOM 2036 OW SOLV 655 13.575 9.000 -10.105 1.00 0.00 +ATOM 2037 HW1 SOLV 655 13.257 8.678 -10.997 1.00 0.00 +ATOM 2038 HW2 SOLV 655 13.891 8.221 -9.563 1.00 0.00 +ATOM 2039 OW SOLV 656 -8.725 -10.908 3.246 1.00 0.00 +ATOM 2040 HW1 SOLV 656 -9.248 -11.183 4.053 1.00 0.00 +ATOM 2041 HW2 SOLV 656 -7.758 -10.827 3.487 1.00 0.00 +ATOM 2042 OW SOLV 657 10.285 8.868 0.188 1.00 0.00 +ATOM 2043 HW1 SOLV 657 10.930 9.446 -0.312 1.00 0.00 +ATOM 2044 HW2 SOLV 657 9.581 8.534 -0.439 1.00 0.00 +ATOM 2045 OW SOLV 658 1.333 8.834 -14.843 1.00 0.00 +ATOM 2046 HW1 SOLV 658 1.686 8.136 -15.466 1.00 0.00 +ATOM 2047 HW2 SOLV 658 1.826 9.691 -14.988 1.00 0.00 +ATOM 2048 OW SOLV 659 -9.132 -10.584 -13.319 1.00 0.00 +ATOM 2049 HW1 SOLV 659 -8.613 -10.073 -14.003 1.00 0.00 +ATOM 2050 HW2 SOLV 659 -9.837 -9.993 -12.925 1.00 0.00 +ATOM 2051 OW SOLV 660 2.591 1.961 8.451 1.00 0.00 +ATOM 2052 HW1 SOLV 660 2.044 2.474 7.789 1.00 0.00 +ATOM 2053 HW2 SOLV 660 3.286 2.562 8.846 1.00 0.00 +ATOM 2054 OW SOLV 661 -7.265 9.677 9.318 1.00 0.00 +ATOM 2055 HW1 SOLV 661 -7.527 10.596 9.615 1.00 0.00 +ATOM 2056 HW2 SOLV 661 -6.680 9.257 10.012 1.00 0.00 +ATOM 2057 OW SOLV 662 12.143 -8.544 14.710 1.00 0.00 +ATOM 2058 HW1 SOLV 662 12.837 -7.871 14.965 1.00 0.00 +ATOM 2059 HW2 SOLV 662 11.660 -8.853 15.529 1.00 0.00 +ATOM 2060 OW SOLV 663 7.492 9.141 -3.849 1.00 0.00 +ATOM 2061 HW1 SOLV 663 8.276 8.564 -4.078 1.00 0.00 +ATOM 2062 HW2 SOLV 663 7.394 9.191 -2.855 1.00 0.00 +ATOM 2063 OW SOLV 664 -4.959 10.090 -2.474 1.00 0.00 +ATOM 2064 HW1 SOLV 664 -4.452 10.753 -3.024 1.00 0.00 +ATOM 2065 HW2 SOLV 664 -4.937 10.367 -1.513 1.00 0.00 +ATOM 2066 OW SOLV 665 5.682 6.923 -9.397 1.00 0.00 +ATOM 2067 HW1 SOLV 665 5.419 7.053 -10.354 1.00 0.00 +ATOM 2068 HW2 SOLV 665 5.458 7.747 -8.876 1.00 0.00 +ATOM 2069 OW SOLV 666 -11.040 -0.373 -7.114 1.00 0.00 +ATOM 2070 HW1 SOLV 666 -11.106 -0.924 -7.946 1.00 0.00 +ATOM 2071 HW2 SOLV 666 -10.743 0.553 -7.351 1.00 0.00 +ATOM 2072 OW SOLV 667 5.835 10.034 8.696 1.00 0.00 +ATOM 2073 HW1 SOLV 667 6.347 10.357 9.492 1.00 0.00 +ATOM 2074 HW2 SOLV 667 4.930 10.459 8.687 1.00 0.00 +ATOM 2075 OW SOLV 668 10.120 8.993 12.303 1.00 0.00 +ATOM 2076 HW1 SOLV 668 9.252 9.320 12.676 1.00 0.00 +ATOM 2077 HW2 SOLV 668 10.584 9.742 11.831 1.00 0.00 +ATOM 2078 OW SOLV 669 -4.067 -8.157 0.065 1.00 0.00 +ATOM 2079 HW1 SOLV 669 -4.819 -8.441 0.660 1.00 0.00 +ATOM 2080 HW2 SOLV 669 -4.336 -7.341 -0.447 1.00 0.00 +ATOM 2081 OW SOLV 670 3.491 11.408 8.599 1.00 0.00 +ATOM 2082 HW1 SOLV 670 3.833 11.743 7.721 1.00 0.00 +ATOM 2083 HW2 SOLV 670 2.850 12.072 8.982 1.00 0.00 +ATOM 2084 OW SOLV 671 10.149 9.502 -11.191 1.00 0.00 +ATOM 2085 HW1 SOLV 671 9.830 8.864 -10.490 1.00 0.00 +ATOM 2086 HW2 SOLV 671 11.149 9.507 -11.207 1.00 0.00 +ATOM 2087 OW SOLV 672 4.942 -0.920 2.436 1.00 0.00 +ATOM 2088 HW1 SOLV 672 5.603 -0.173 2.372 1.00 0.00 +ATOM 2089 HW2 SOLV 672 4.241 -0.689 3.111 1.00 0.00 +ATOM 2090 OW SOLV 673 2.646 8.189 -5.645 1.00 0.00 +ATOM 2091 HW1 SOLV 673 2.564 8.570 -6.566 1.00 0.00 +ATOM 2092 HW2 SOLV 673 2.489 8.911 -4.971 1.00 0.00 +ATOM 2093 OW SOLV 674 10.873 13.198 -8.317 1.00 0.00 +ATOM 2094 HW1 SOLV 674 9.990 12.729 -8.275 1.00 0.00 +ATOM 2095 HW2 SOLV 674 10.834 13.918 -9.011 1.00 0.00 +ATOM 2096 OW SOLV 675 -13.526 -6.857 -13.402 1.00 0.00 +ATOM 2097 HW1 SOLV 675 -13.657 -6.457 -12.495 1.00 0.00 +ATOM 2098 HW2 SOLV 675 -13.438 -6.126 -14.079 1.00 0.00 +ATOM 2099 OW SOLV 676 -7.212 -14.373 -1.107 1.00 0.00 +ATOM 2100 HW1 SOLV 676 -7.994 -13.771 -0.952 1.00 0.00 +ATOM 2101 HW2 SOLV 676 -7.501 -15.163 -1.648 1.00 0.00 +ATOM 2102 OW SOLV 677 6.577 -2.008 -6.208 1.00 0.00 +ATOM 2103 HW1 SOLV 677 7.338 -1.731 -6.794 1.00 0.00 +ATOM 2104 HW2 SOLV 677 6.624 -1.509 -5.342 1.00 0.00 +ATOM 2105 OW SOLV 678 3.726 5.606 4.876 1.00 0.00 +ATOM 2106 HW1 SOLV 678 2.960 6.044 4.407 1.00 0.00 +ATOM 2107 HW2 SOLV 678 3.717 5.862 5.842 1.00 0.00 +ATOM 2108 OW SOLV 679 12.641 2.305 -1.789 1.00 0.00 +ATOM 2109 HW1 SOLV 679 11.657 2.479 -1.750 1.00 0.00 +ATOM 2110 HW2 SOLV 679 12.874 1.904 -2.675 1.00 0.00 +ATOM 2111 OW SOLV 680 -5.025 0.712 -12.128 1.00 0.00 +ATOM 2112 HW1 SOLV 680 -4.058 0.791 -12.369 1.00 0.00 +ATOM 2113 HW2 SOLV 680 -5.118 0.153 -11.304 1.00 0.00 +ATOM 2114 OW SOLV 681 -8.075 -14.447 1.996 1.00 0.00 +ATOM 2115 HW1 SOLV 681 -8.745 -13.735 1.786 1.00 0.00 +ATOM 2116 HW2 SOLV 681 -7.241 -14.025 2.353 1.00 0.00 +ATOM 2117 OW SOLV 682 -8.012 -8.045 -11.099 1.00 0.00 +ATOM 2118 HW1 SOLV 682 -8.915 -7.941 -10.682 1.00 0.00 +ATOM 2119 HW2 SOLV 682 -7.431 -8.596 -10.500 1.00 0.00 +ATOM 2120 OW SOLV 683 11.320 -4.277 -3.788 1.00 0.00 +ATOM 2121 HW1 SOLV 683 10.848 -4.696 -4.563 1.00 0.00 +ATOM 2122 HW2 SOLV 683 10.726 -4.300 -2.984 1.00 0.00 +ATOM 2123 OW SOLV 684 -4.158 11.817 4.327 1.00 0.00 +ATOM 2124 HW1 SOLV 684 -4.534 11.119 4.936 1.00 0.00 +ATOM 2125 HW2 SOLV 684 -3.547 11.385 3.663 1.00 0.00 +ATOM 2126 OW SOLV 685 9.598 12.316 1.662 1.00 0.00 +ATOM 2127 HW1 SOLV 685 9.689 12.301 2.658 1.00 0.00 +ATOM 2128 HW2 SOLV 685 10.238 11.662 1.259 1.00 0.00 +ATOM 2129 OW SOLV 686 13.552 -4.637 -0.497 1.00 0.00 +ATOM 2130 HW1 SOLV 686 13.989 -4.526 0.396 1.00 0.00 +ATOM 2131 HW2 SOLV 686 12.976 -3.842 -0.687 1.00 0.00 +ATOM 2132 OW SOLV 687 -7.077 -7.987 -14.039 1.00 0.00 +ATOM 2133 HW1 SOLV 687 -7.093 -8.519 -13.193 1.00 0.00 +ATOM 2134 HW2 SOLV 687 -6.169 -8.044 -14.452 1.00 0.00 +ATOM 2135 OW SOLV 688 -1.575 7.266 8.611 1.00 0.00 +ATOM 2136 HW1 SOLV 688 -1.588 6.369 8.167 1.00 0.00 +ATOM 2137 HW2 SOLV 688 -0.716 7.731 8.396 1.00 0.00 +ATOM 2138 OW SOLV 689 7.232 2.315 -1.074 1.00 0.00 +ATOM 2139 HW1 SOLV 689 7.962 1.781 -0.647 1.00 0.00 +ATOM 2140 HW2 SOLV 689 7.104 3.168 -0.568 1.00 0.00 +ATOM 2141 OW SOLV 690 9.417 -9.533 12.219 1.00 0.00 +ATOM 2142 HW1 SOLV 690 9.069 -10.288 11.663 1.00 0.00 +ATOM 2143 HW2 SOLV 690 9.770 -8.814 11.620 1.00 0.00 +ATOM 2144 OW SOLV 691 5.707 2.919 6.135 1.00 0.00 +ATOM 2145 HW1 SOLV 691 5.105 2.121 6.118 1.00 0.00 +ATOM 2146 HW2 SOLV 691 6.660 2.618 6.150 1.00 0.00 +ATOM 2147 OW SOLV 692 10.725 -3.503 -6.722 1.00 0.00 +ATOM 2148 HW1 SOLV 692 11.285 -4.198 -6.270 1.00 0.00 +ATOM 2149 HW2 SOLV 692 11.119 -2.599 -6.559 1.00 0.00 +ATOM 2150 OW SOLV 693 14.049 -11.024 1.887 1.00 0.00 +ATOM 2151 HW1 SOLV 693 14.844 -11.441 2.328 1.00 0.00 +ATOM 2152 HW2 SOLV 693 13.245 -11.598 2.037 1.00 0.00 +ATOM 2153 OW SOLV 694 6.194 1.261 -8.369 1.00 0.00 +ATOM 2154 HW1 SOLV 694 5.711 1.385 -9.236 1.00 0.00 +ATOM 2155 HW2 SOLV 694 7.166 1.113 -8.547 1.00 0.00 +ATOM 2156 OW SOLV 695 10.868 8.678 6.482 1.00 0.00 +ATOM 2157 HW1 SOLV 695 11.199 9.496 6.013 1.00 0.00 +ATOM 2158 HW2 SOLV 695 11.048 7.873 5.916 1.00 0.00 +ATOM 2159 OW SOLV 696 9.118 -10.448 7.012 1.00 0.00 +ATOM 2160 HW1 SOLV 696 8.456 -9.885 6.518 1.00 0.00 +ATOM 2161 HW2 SOLV 696 8.634 -11.072 7.625 1.00 0.00 +ATOM 2162 OW SOLV 697 11.377 -11.724 3.961 1.00 0.00 +ATOM 2163 HW1 SOLV 697 11.459 -12.541 3.391 1.00 0.00 +ATOM 2164 HW2 SOLV 697 12.173 -11.656 4.563 1.00 0.00 +ATOM 2165 OW SOLV 698 7.555 -9.975 -9.502 1.00 0.00 +ATOM 2166 HW1 SOLV 698 6.851 -9.896 -8.796 1.00 0.00 +ATOM 2167 HW2 SOLV 698 8.451 -10.076 -9.068 1.00 0.00 +ATOM 2168 OW SOLV 699 -6.529 -6.215 13.985 1.00 0.00 +ATOM 2169 HW1 SOLV 699 -6.626 -7.031 14.555 1.00 0.00 +ATOM 2170 HW2 SOLV 699 -5.886 -5.582 14.416 1.00 0.00 +ATOM 2171 OW SOLV 700 -14.078 4.913 14.649 1.00 0.00 +ATOM 2172 HW1 SOLV 700 -15.045 4.671 14.732 1.00 0.00 +ATOM 2173 HW2 SOLV 700 -13.996 5.809 14.214 1.00 0.00 +ATOM 2174 OW SOLV 701 8.451 2.495 6.805 1.00 0.00 +ATOM 2175 HW1 SOLV 701 8.695 2.996 7.635 1.00 0.00 +ATOM 2176 HW2 SOLV 701 9.232 1.947 6.506 1.00 0.00 +ATOM 2177 OW SOLV 702 12.856 1.631 11.026 1.00 0.00 +ATOM 2178 HW1 SOLV 702 13.237 0.720 10.867 1.00 0.00 +ATOM 2179 HW2 SOLV 702 13.597 2.271 11.232 1.00 0.00 +ATOM 2180 OW SOLV 703 4.887 3.838 8.803 1.00 0.00 +ATOM 2181 HW1 SOLV 703 5.016 3.439 7.894 1.00 0.00 +ATOM 2182 HW2 SOLV 703 5.687 3.639 9.370 1.00 0.00 +ATOM 2183 OW SOLV 704 -3.979 -7.572 -5.711 1.00 0.00 +ATOM 2184 HW1 SOLV 704 -4.873 -7.986 -5.539 1.00 0.00 +ATOM 2185 HW2 SOLV 704 -3.859 -6.778 -5.115 1.00 0.00 +ATOM 2186 OW SOLV 705 12.366 -5.029 -10.939 1.00 0.00 +ATOM 2187 HW1 SOLV 705 12.740 -4.211 -11.375 1.00 0.00 +ATOM 2188 HW2 SOLV 705 12.940 -5.818 -11.161 1.00 0.00 +ATOM 2189 OW SOLV 706 -9.358 -4.293 -2.515 1.00 0.00 +ATOM 2190 HW1 SOLV 706 -9.605 -4.942 -3.235 1.00 0.00 +ATOM 2191 HW2 SOLV 706 -8.480 -4.557 -2.116 1.00 0.00 +ATOM 2192 OW SOLV 707 3.664 -5.405 9.185 1.00 0.00 +ATOM 2193 HW1 SOLV 707 4.138 -6.277 9.061 1.00 0.00 +ATOM 2194 HW2 SOLV 707 4.010 -4.952 10.007 1.00 0.00 +ATOM 2195 OW SOLV 708 15.185 5.582 1.359 1.00 0.00 +ATOM 2196 HW1 SOLV 708 14.310 5.462 0.889 1.00 0.00 +ATOM 2197 HW2 SOLV 708 15.089 6.282 2.067 1.00 0.00 +ATOM 2198 OW SOLV 709 -15.267 8.346 -2.079 1.00 0.00 +ATOM 2199 HW1 SOLV 709 -15.701 8.612 -1.218 1.00 0.00 +ATOM 2200 HW2 SOLV 709 -14.519 7.709 -1.892 1.00 0.00 +ATOM 2201 OW SOLV 710 14.645 10.062 12.745 1.00 0.00 +ATOM 2202 HW1 SOLV 710 14.615 10.092 11.746 1.00 0.00 +ATOM 2203 HW2 SOLV 710 15.297 10.742 13.080 1.00 0.00 +ATOM 2204 OW SOLV 711 -10.921 10.531 10.735 1.00 0.00 +ATOM 2205 HW1 SOLV 711 -10.109 11.036 10.440 1.00 0.00 +ATOM 2206 HW2 SOLV 711 -11.111 9.796 10.083 1.00 0.00 +ATOM 2207 OW SOLV 712 -10.736 -7.664 10.672 1.00 0.00 +ATOM 2208 HW1 SOLV 712 -11.719 -7.521 10.788 1.00 0.00 +ATOM 2209 HW2 SOLV 712 -10.260 -6.788 10.747 1.00 0.00 +ATOM 2210 OW SOLV 713 -0.249 -14.841 4.400 1.00 0.00 +ATOM 2211 HW1 SOLV 713 0.606 -14.708 3.898 1.00 0.00 +ATOM 2212 HW2 SOLV 713 -0.967 -14.278 3.991 1.00 0.00 +ATOM 2213 OW SOLV 714 11.607 -2.309 -11.928 1.00 0.00 +ATOM 2214 HW1 SOLV 714 10.912 -2.003 -11.278 1.00 0.00 +ATOM 2215 HW2 SOLV 714 12.084 -3.105 -11.556 1.00 0.00 +ATOM 2216 OW SOLV 715 11.937 11.366 5.476 1.00 0.00 +ATOM 2217 HW1 SOLV 715 11.089 11.732 5.091 1.00 0.00 +ATOM 2218 HW2 SOLV 715 11.803 11.162 6.445 1.00 0.00 +ATOM 2219 OW SOLV 716 -10.850 -8.309 6.205 1.00 0.00 +ATOM 2220 HW1 SOLV 716 -10.534 -7.866 5.366 1.00 0.00 +ATOM 2221 HW2 SOLV 716 -10.929 -9.294 6.053 1.00 0.00 +ATOM 2222 OW SOLV 717 3.542 14.899 -11.369 1.00 0.00 +ATOM 2223 HW1 SOLV 717 4.277 15.010 -12.037 1.00 0.00 +ATOM 2224 HW2 SOLV 717 3.622 15.604 -10.664 1.00 0.00 +ATOM 2225 OW SOLV 718 12.206 6.422 14.292 1.00 0.00 +ATOM 2226 HW1 SOLV 718 11.662 5.865 14.920 1.00 0.00 +ATOM 2227 HW2 SOLV 718 13.177 6.230 14.432 1.00 0.00 +ATOM 2228 OW SOLV 719 -11.603 6.493 5.498 1.00 0.00 +ATOM 2229 HW1 SOLV 719 -12.442 6.958 5.781 1.00 0.00 +ATOM 2230 HW2 SOLV 719 -11.783 5.515 5.396 1.00 0.00 +ATOM 2231 OW SOLV 720 -11.237 1.406 8.621 1.00 0.00 +ATOM 2232 HW1 SOLV 720 -10.778 0.520 8.568 1.00 0.00 +ATOM 2233 HW2 SOLV 720 -11.871 1.408 9.395 1.00 0.00 +ATOM 2234 OW SOLV 721 -8.025 6.620 10.768 1.00 0.00 +ATOM 2235 HW1 SOLV 721 -8.690 6.514 11.507 1.00 0.00 +ATOM 2236 HW2 SOLV 721 -8.365 6.163 9.945 1.00 0.00 +ATOM 2237 OW SOLV 722 8.464 -14.556 0.510 1.00 0.00 +ATOM 2238 HW1 SOLV 722 8.830 -15.181 1.200 1.00 0.00 +ATOM 2239 HW2 SOLV 722 8.646 -14.924 -0.402 1.00 0.00 +ATOM 2240 OW SOLV 723 5.773 -10.570 -11.684 1.00 0.00 +ATOM 2241 HW1 SOLV 723 6.113 -10.322 -10.777 1.00 0.00 +ATOM 2242 HW2 SOLV 723 6.525 -10.537 -12.342 1.00 0.00 +ATOM 2243 OW SOLV 724 3.369 -8.957 -4.268 1.00 0.00 +ATOM 2244 HW1 SOLV 724 3.411 -8.117 -3.727 1.00 0.00 +ATOM 2245 HW2 SOLV 724 2.780 -8.811 -5.064 1.00 0.00 +ATOM 2246 OW SOLV 725 -14.558 -6.269 8.259 1.00 0.00 +ATOM 2247 HW1 SOLV 725 -14.658 -5.741 7.416 1.00 0.00 +ATOM 2248 HW2 SOLV 725 -14.042 -5.733 8.928 1.00 0.00 +ATOM 2249 OW SOLV 726 -6.049 -6.445 2.528 1.00 0.00 +ATOM 2250 HW1 SOLV 726 -6.375 -7.174 3.130 1.00 0.00 +ATOM 2251 HW2 SOLV 726 -5.905 -5.611 3.060 1.00 0.00 +ATOM 2252 OW SOLV 727 5.881 -12.359 -5.411 1.00 0.00 +ATOM 2253 HW1 SOLV 727 6.111 -13.211 -5.882 1.00 0.00 +ATOM 2254 HW2 SOLV 727 4.944 -12.413 -5.066 1.00 0.00 +ATOM 2255 OW SOLV 728 5.635 14.505 2.777 1.00 0.00 +ATOM 2256 HW1 SOLV 728 5.859 15.410 3.138 1.00 0.00 +ATOM 2257 HW2 SOLV 728 6.020 14.407 1.859 1.00 0.00 +ATOM 2258 OW SOLV 729 -6.248 2.486 -7.758 1.00 0.00 +ATOM 2259 HW1 SOLV 729 -7.235 2.633 -7.823 1.00 0.00 +ATOM 2260 HW2 SOLV 729 -5.983 2.430 -6.795 1.00 0.00 +ATOM 2261 OW SOLV 730 13.272 -13.480 -5.380 1.00 0.00 +ATOM 2262 HW1 SOLV 730 12.599 -13.093 -6.010 1.00 0.00 +ATOM 2263 HW2 SOLV 730 13.729 -12.741 -4.885 1.00 0.00 +ATOM 2264 OW SOLV 731 -10.635 0.561 -12.934 1.00 0.00 +ATOM 2265 HW1 SOLV 731 -9.962 -0.178 -12.902 1.00 0.00 +ATOM 2266 HW2 SOLV 731 -11.129 0.525 -13.803 1.00 0.00 +ATOM 2267 OW SOLV 732 11.163 -12.193 10.696 1.00 0.00 +ATOM 2268 HW1 SOLV 732 10.541 -11.789 10.025 1.00 0.00 +ATOM 2269 HW2 SOLV 732 11.463 -13.091 10.373 1.00 0.00 +ATOM 2270 OW SOLV 733 2.432 8.107 3.724 1.00 0.00 +ATOM 2271 HW1 SOLV 733 2.752 7.627 2.907 1.00 0.00 +ATOM 2272 HW2 SOLV 733 1.749 8.789 3.463 1.00 0.00 +ATOM 2273 OW SOLV 734 -2.085 10.943 7.828 1.00 0.00 +ATOM 2274 HW1 SOLV 734 -1.173 11.311 8.012 1.00 0.00 +ATOM 2275 HW2 SOLV 734 -2.046 10.342 7.030 1.00 0.00 +ATOM 2276 OW SOLV 735 7.583 -2.209 0.242 1.00 0.00 +ATOM 2277 HW1 SOLV 735 7.134 -2.110 1.130 1.00 0.00 +ATOM 2278 HW2 SOLV 735 8.259 -2.944 0.291 1.00 0.00 +ATOM 2279 OW SOLV 736 -4.624 -13.160 1.947 1.00 0.00 +ATOM 2280 HW1 SOLV 736 -4.075 -12.950 1.138 1.00 0.00 +ATOM 2281 HW2 SOLV 736 -4.150 -13.843 2.503 1.00 0.00 +ATOM 2282 OW SOLV 737 11.210 -2.622 -0.534 1.00 0.00 +ATOM 2283 HW1 SOLV 737 10.329 -2.197 -0.741 1.00 0.00 +ATOM 2284 HW2 SOLV 737 11.070 -3.586 -0.309 1.00 0.00 +ATOM 2285 OW SOLV 738 11.907 5.240 0.737 1.00 0.00 +ATOM 2286 HW1 SOLV 738 12.488 5.406 -0.061 1.00 0.00 +ATOM 2287 HW2 SOLV 738 11.217 5.961 0.801 1.00 0.00 +ATOM 2288 OW SOLV 739 -0.827 13.712 -0.177 1.00 0.00 +ATOM 2289 HW1 SOLV 739 -1.782 13.864 -0.432 1.00 0.00 +ATOM 2290 HW2 SOLV 739 -0.776 13.461 0.790 1.00 0.00 +ATOM 2291 OW SOLV 740 11.458 -11.965 -6.972 1.00 0.00 +ATOM 2292 HW1 SOLV 740 12.257 -11.737 -7.529 1.00 0.00 +ATOM 2293 HW2 SOLV 740 10.807 -11.206 -6.998 1.00 0.00 +ATOM 2294 OW SOLV 741 4.221 -4.854 -14.204 1.00 0.00 +ATOM 2295 HW1 SOLV 741 4.805 -5.625 -14.458 1.00 0.00 +ATOM 2296 HW2 SOLV 741 3.430 -4.820 -14.814 1.00 0.00 +ATOM 2297 OW SOLV 742 11.927 3.682 4.445 1.00 0.00 +ATOM 2298 HW1 SOLV 742 12.612 3.671 5.173 1.00 0.00 +ATOM 2299 HW2 SOLV 742 12.161 2.996 3.756 1.00 0.00 +ATOM 2300 OW SOLV 743 8.292 9.315 5.384 1.00 0.00 +ATOM 2301 HW1 SOLV 743 9.081 8.780 5.688 1.00 0.00 +ATOM 2302 HW2 SOLV 743 7.561 9.245 6.063 1.00 0.00 +ATOM 2303 OW SOLV 744 -13.579 12.415 -3.729 1.00 0.00 +ATOM 2304 HW1 SOLV 744 -13.850 12.933 -4.540 1.00 0.00 +ATOM 2305 HW2 SOLV 744 -12.746 11.898 -3.927 1.00 0.00 +ATOM 2306 OW SOLV 745 8.555 5.103 9.521 1.00 0.00 +ATOM 2307 HW1 SOLV 745 8.999 4.381 10.051 1.00 0.00 +ATOM 2308 HW2 SOLV 745 7.658 5.303 9.915 1.00 0.00 +ATOM 2309 OW SOLV 746 11.322 -6.832 -7.068 1.00 0.00 +ATOM 2310 HW1 SOLV 746 12.053 -6.154 -6.994 1.00 0.00 +ATOM 2311 HW2 SOLV 746 11.533 -7.470 -7.809 1.00 0.00 +ATOM 2312 OW SOLV 747 -4.673 -0.220 9.036 1.00 0.00 +ATOM 2313 HW1 SOLV 747 -3.775 -0.413 9.431 1.00 0.00 +ATOM 2314 HW2 SOLV 747 -4.797 0.769 8.956 1.00 0.00 +ATOM 2315 OW SOLV 748 -0.854 -11.686 5.698 1.00 0.00 +ATOM 2316 HW1 SOLV 748 -0.528 -11.700 4.753 1.00 0.00 +ATOM 2317 HW2 SOLV 748 -0.181 -11.224 6.276 1.00 0.00 +ATOM 2318 OW SOLV 749 10.037 7.902 -8.774 1.00 0.00 +ATOM 2319 HW1 SOLV 749 9.117 7.673 -8.456 1.00 0.00 +ATOM 2320 HW2 SOLV 749 10.679 7.195 -8.478 1.00 0.00 +ATOM 2321 OW SOLV 750 10.120 -10.925 -13.272 1.00 0.00 +ATOM 2322 HW1 SOLV 750 10.965 -11.406 -13.505 1.00 0.00 +ATOM 2323 HW2 SOLV 750 9.402 -11.592 -13.070 1.00 0.00 +ATOM 2324 OW SOLV 751 -7.617 -4.220 8.542 1.00 0.00 +ATOM 2325 HW1 SOLV 751 -7.607 -3.221 8.584 1.00 0.00 +ATOM 2326 HW2 SOLV 751 -7.245 -4.520 7.663 1.00 0.00 +ATOM 2327 OW SOLV 752 -1.301 -11.320 -6.874 1.00 0.00 +ATOM 2328 HW1 SOLV 752 -0.547 -11.731 -6.361 1.00 0.00 +ATOM 2329 HW2 SOLV 752 -0.970 -11.019 -7.769 1.00 0.00 +ATOM 2330 OW SOLV 753 2.850 1.489 -3.693 1.00 0.00 +ATOM 2331 HW1 SOLV 753 2.091 1.560 -3.046 1.00 0.00 +ATOM 2332 HW2 SOLV 753 2.982 2.369 -4.150 1.00 0.00 +ATOM 2333 OW SOLV 754 12.098 5.096 -12.396 1.00 0.00 +ATOM 2334 HW1 SOLV 754 11.100 5.038 -12.421 1.00 0.00 +ATOM 2335 HW2 SOLV 754 12.371 6.003 -12.074 1.00 0.00 +ATOM 2336 OW SOLV 755 -4.258 -8.905 7.213 1.00 0.00 +ATOM 2337 HW1 SOLV 755 -4.651 -8.648 8.096 1.00 0.00 +ATOM 2338 HW2 SOLV 755 -3.649 -8.178 6.895 1.00 0.00 +ATOM 2339 OW SOLV 756 4.011 -5.055 -4.038 1.00 0.00 +ATOM 2340 HW1 SOLV 756 4.095 -4.943 -3.048 1.00 0.00 +ATOM 2341 HW2 SOLV 756 4.760 -5.626 -4.374 1.00 0.00 +ATOM 2342 OW SOLV 757 8.612 2.863 -13.905 1.00 0.00 +ATOM 2343 HW1 SOLV 757 8.257 1.940 -13.758 1.00 0.00 +ATOM 2344 HW2 SOLV 757 9.401 2.823 -14.518 1.00 0.00 +ATOM 2345 OW SOLV 758 -8.449 3.252 7.297 1.00 0.00 +ATOM 2346 HW1 SOLV 758 -9.310 3.407 6.813 1.00 0.00 +ATOM 2347 HW2 SOLV 758 -8.609 3.292 8.283 1.00 0.00 +ATOM 2348 OW SOLV 759 -10.290 -14.261 -9.129 1.00 0.00 +ATOM 2349 HW1 SOLV 759 -9.523 -13.812 -8.670 1.00 0.00 +ATOM 2350 HW2 SOLV 759 -10.516 -13.761 -9.966 1.00 0.00 +ATOM 2351 OW SOLV 760 10.383 1.992 -11.795 1.00 0.00 +ATOM 2352 HW1 SOLV 760 10.877 2.740 -12.240 1.00 0.00 +ATOM 2353 HW2 SOLV 760 10.801 1.120 -12.048 1.00 0.00 +ATOM 2354 OW SOLV 761 9.356 5.135 -12.150 1.00 0.00 +ATOM 2355 HW1 SOLV 761 8.400 5.399 -12.278 1.00 0.00 +ATOM 2356 HW2 SOLV 761 9.401 4.306 -11.592 1.00 0.00 +ATOM 2357 OW SOLV 762 9.109 -6.794 -9.748 1.00 0.00 +ATOM 2358 HW1 SOLV 762 9.910 -6.551 -9.201 1.00 0.00 +ATOM 2359 HW2 SOLV 762 8.667 -7.600 -9.354 1.00 0.00 +ATOM 2360 OW SOLV 763 -3.493 3.195 -5.572 1.00 0.00 +ATOM 2361 HW1 SOLV 763 -4.156 3.765 -5.087 1.00 0.00 +ATOM 2362 HW2 SOLV 763 -3.153 2.484 -4.957 1.00 0.00 +ATOM 2363 OW SOLV 764 -15.304 -5.025 1.615 1.00 0.00 +ATOM 2364 HW1 SOLV 764 -14.448 -5.529 1.502 1.00 0.00 +ATOM 2365 HW2 SOLV 764 -16.055 -5.670 1.760 1.00 0.00 +ATOM 2366 OW SOLV 765 -7.128 -2.965 -6.524 1.00 0.00 +ATOM 2367 HW1 SOLV 765 -7.322 -2.527 -7.402 1.00 0.00 +ATOM 2368 HW2 SOLV 765 -7.977 -3.326 -6.137 1.00 0.00 +ATOM 2369 OW SOLV 766 -6.552 -9.589 -8.907 1.00 0.00 +ATOM 2370 HW1 SOLV 766 -5.874 -9.955 -8.270 1.00 0.00 +ATOM 2371 HW2 SOLV 766 -6.541 -10.127 -9.751 1.00 0.00 +ATOM 2372 OW SOLV 767 9.929 -7.662 -1.143 1.00 0.00 +ATOM 2373 HW1 SOLV 767 9.720 -8.638 -1.200 1.00 0.00 +ATOM 2374 HW2 SOLV 767 9.933 -7.377 -0.184 1.00 0.00 +ATOM 2375 OW SOLV 768 13.897 7.575 3.394 1.00 0.00 +ATOM 2376 HW1 SOLV 768 14.057 8.054 4.257 1.00 0.00 +ATOM 2377 HW2 SOLV 768 13.526 8.215 2.721 1.00 0.00 +ATOM 2378 OW SOLV 769 0.564 0.001 -14.406 1.00 0.00 +ATOM 2379 HW1 SOLV 769 -0.153 -0.435 -13.863 1.00 0.00 +ATOM 2380 HW2 SOLV 769 1.392 -0.559 -14.376 1.00 0.00 +ATOM 2381 OW SOLV 770 -0.650 -3.008 9.264 1.00 0.00 +ATOM 2382 HW1 SOLV 770 -0.350 -2.610 8.397 1.00 0.00 +ATOM 2383 HW2 SOLV 770 0.052 -3.632 9.606 1.00 0.00 +ATOM 2384 OW SOLV 771 -9.269 -8.157 14.140 1.00 0.00 +ATOM 2385 HW1 SOLV 771 -9.215 -7.618 14.981 1.00 0.00 +ATOM 2386 HW2 SOLV 771 -8.524 -7.894 13.528 1.00 0.00 +ATOM 2387 OW SOLV 772 -9.970 -7.081 1.145 1.00 0.00 +ATOM 2388 HW1 SOLV 772 -9.337 -6.403 0.772 1.00 0.00 +ATOM 2389 HW2 SOLV 772 -10.826 -7.058 0.629 1.00 0.00 +ATOM 2390 OW SOLV 773 -0.956 -2.347 -13.108 1.00 0.00 +ATOM 2391 HW1 SOLV 773 -0.529 -1.854 -12.350 1.00 0.00 +ATOM 2392 HW2 SOLV 773 -1.664 -2.957 -12.752 1.00 0.00 +ATOM 2393 OW SOLV 774 10.230 11.017 -13.440 1.00 0.00 +ATOM 2394 HW1 SOLV 774 10.124 10.621 -12.528 1.00 0.00 +ATOM 2395 HW2 SOLV 774 10.751 10.389 -14.018 1.00 0.00 +ATOM 2396 OW SOLV 775 -6.448 -3.786 -14.698 1.00 0.00 +ATOM 2397 HW1 SOLV 775 -7.227 -4.413 -14.690 1.00 0.00 +ATOM 2398 HW2 SOLV 775 -6.745 -2.890 -15.029 1.00 0.00 +ATOM 2399 OW SOLV 776 8.041 14.764 -1.928 1.00 0.00 +ATOM 2400 HW1 SOLV 776 8.849 14.438 -2.419 1.00 0.00 +ATOM 2401 HW2 SOLV 776 7.995 15.762 -1.989 1.00 0.00 +ATOM 2402 OW SOLV 777 -6.304 -3.666 -11.401 1.00 0.00 +ATOM 2403 HW1 SOLV 777 -5.534 -4.061 -11.903 1.00 0.00 +ATOM 2404 HW2 SOLV 777 -5.959 -3.118 -10.639 1.00 0.00 +ATOM 2405 OW SOLV 778 14.070 5.498 -14.615 1.00 0.00 +ATOM 2406 HW1 SOLV 778 15.045 5.515 -14.393 1.00 0.00 +ATOM 2407 HW2 SOLV 778 13.622 4.773 -14.092 1.00 0.00 +ATOM 2408 OW SOLV 779 -3.673 0.105 -4.685 1.00 0.00 +ATOM 2409 HW1 SOLV 779 -4.437 0.633 -5.057 1.00 0.00 +ATOM 2410 HW2 SOLV 779 -3.964 -0.355 -3.847 1.00 0.00 +ATOM 2411 OW SOLV 780 2.561 -10.663 6.098 1.00 0.00 +ATOM 2412 HW1 SOLV 780 3.347 -10.766 6.707 1.00 0.00 +ATOM 2413 HW2 SOLV 780 1.747 -10.449 6.638 1.00 0.00 +ATOM 2414 OW SOLV 781 7.570 -6.043 4.190 1.00 0.00 +ATOM 2415 HW1 SOLV 781 7.462 -6.385 5.124 1.00 0.00 +ATOM 2416 HW2 SOLV 781 6.668 -5.896 3.783 1.00 0.00 +ATOM 2417 OW SOLV 782 2.346 -15.221 -4.084 1.00 0.00 +ATOM 2418 HW1 SOLV 782 1.387 -15.188 -4.363 1.00 0.00 +ATOM 2419 HW2 SOLV 782 2.733 -14.300 -4.111 1.00 0.00 +ATOM 2420 OW SOLV 783 10.484 -7.529 10.126 1.00 0.00 +ATOM 2421 HW1 SOLV 783 11.415 -7.585 9.765 1.00 0.00 +ATOM 2422 HW2 SOLV 783 10.486 -6.991 10.969 1.00 0.00 +ATOM 2423 OW SOLV 784 12.615 13.689 7.560 1.00 0.00 +ATOM 2424 HW1 SOLV 784 12.831 13.472 8.512 1.00 0.00 +ATOM 2425 HW2 SOLV 784 12.197 12.892 7.124 1.00 0.00 +ATOM 2426 OW SOLV 785 6.633 -10.103 -2.811 1.00 0.00 +ATOM 2427 HW1 SOLV 785 7.114 -9.343 -3.249 1.00 0.00 +ATOM 2428 HW2 SOLV 785 7.161 -10.944 -2.930 1.00 0.00 +ATOM 2429 OW SOLV 786 7.383 -3.417 -2.885 1.00 0.00 +ATOM 2430 HW1 SOLV 786 7.489 -2.571 -2.364 1.00 0.00 +ATOM 2431 HW2 SOLV 786 7.776 -4.179 -2.369 1.00 0.00 +ATOM 2432 OW SOLV 787 -4.023 -4.353 4.637 1.00 0.00 +ATOM 2433 HW1 SOLV 787 -4.277 -4.807 3.783 1.00 0.00 +ATOM 2434 HW2 SOLV 787 -3.055 -4.521 4.828 1.00 0.00 +ATOM 2435 OW SOLV 788 3.363 9.288 11.299 1.00 0.00 +ATOM 2436 HW1 SOLV 788 3.915 8.877 10.573 1.00 0.00 +ATOM 2437 HW2 SOLV 788 2.554 8.723 11.462 1.00 0.00 +ATOM 2438 OW SOLV 789 12.268 -10.460 -1.203 1.00 0.00 +ATOM 2439 HW1 SOLV 789 11.675 -10.231 -1.975 1.00 0.00 +ATOM 2440 HW2 SOLV 789 12.290 -11.452 -1.082 1.00 0.00 +ATOM 2441 OW SOLV 790 9.006 6.224 -1.529 1.00 0.00 +ATOM 2442 HW1 SOLV 790 9.696 6.204 -2.252 1.00 0.00 +ATOM 2443 HW2 SOLV 790 8.858 5.297 -1.184 1.00 0.00 +ATOM 2444 OW SOLV 791 9.927 4.628 2.773 1.00 0.00 +ATOM 2445 HW1 SOLV 791 10.550 5.095 2.145 1.00 0.00 +ATOM 2446 HW2 SOLV 791 10.454 4.181 3.495 1.00 0.00 +ATOM 2447 OW SOLV 792 8.572 15.015 3.514 1.00 0.00 +ATOM 2448 HW1 SOLV 792 9.548 15.194 3.391 1.00 0.00 +ATOM 2449 HW2 SOLV 792 8.321 14.182 3.022 1.00 0.00 +ATOM 2450 OW SOLV 793 11.107 15.152 2.443 1.00 0.00 +ATOM 2451 HW1 SOLV 793 11.391 15.165 1.484 1.00 0.00 +ATOM 2452 HW2 SOLV 793 11.915 15.214 3.029 1.00 0.00 +ATOM 2453 OW SOLV 794 -3.985 3.477 1.333 1.00 0.00 +ATOM 2454 HW1 SOLV 794 -4.583 3.849 0.622 1.00 0.00 +ATOM 2455 HW2 SOLV 794 -4.529 3.250 2.140 1.00 0.00 +ATOM 2456 OW SOLV 795 -15.038 2.833 13.034 1.00 0.00 +ATOM 2457 HW1 SOLV 795 -15.617 2.535 13.793 1.00 0.00 +ATOM 2458 HW2 SOLV 795 -14.509 3.635 13.313 1.00 0.00 +ATOM 2459 OW SOLV 796 13.740 13.708 10.137 1.00 0.00 +ATOM 2460 HW1 SOLV 796 14.649 13.317 9.991 1.00 0.00 +ATOM 2461 HW2 SOLV 796 13.821 14.551 10.669 1.00 0.00 +ATOM 2462 OW SOLV 797 -4.881 9.135 3.828 1.00 0.00 +ATOM 2463 HW1 SOLV 797 -5.768 8.852 3.463 1.00 0.00 +ATOM 2464 HW2 SOLV 797 -4.589 8.487 4.532 1.00 0.00 +ATOM 2465 OW SOLV 798 9.973 5.373 7.282 1.00 0.00 +ATOM 2466 HW1 SOLV 798 9.476 4.550 7.004 1.00 0.00 +ATOM 2467 HW2 SOLV 798 9.757 5.586 8.234 1.00 0.00 +ATOM 2468 OW SOLV 799 -11.232 -4.885 -4.853 1.00 0.00 +ATOM 2469 HW1 SOLV 799 -12.169 -4.603 -5.059 1.00 0.00 +ATOM 2470 HW2 SOLV 799 -11.181 -5.207 -3.908 1.00 0.00 +ATOM 2471 OW SOLV 800 -13.142 15.143 -8.411 1.00 0.00 +ATOM 2472 HW1 SOLV 800 -13.517 15.606 -9.214 1.00 0.00 +ATOM 2473 HW2 SOLV 800 -12.422 14.511 -8.697 1.00 0.00 +ATOM 2474 OW SOLV 801 4.747 3.852 -2.025 1.00 0.00 +ATOM 2475 HW1 SOLV 801 4.349 3.544 -2.889 1.00 0.00 +ATOM 2476 HW2 SOLV 801 5.580 3.331 -1.837 1.00 0.00 +ATOM 2477 OW SOLV 802 8.748 2.150 2.328 1.00 0.00 +ATOM 2478 HW1 SOLV 802 9.262 3.006 2.370 1.00 0.00 +ATOM 2479 HW2 SOLV 802 9.164 1.480 2.943 1.00 0.00 +ATOM 2480 OW SOLV 803 2.448 2.123 1.716 1.00 0.00 +ATOM 2481 HW1 SOLV 803 3.054 2.671 1.138 1.00 0.00 +ATOM 2482 HW2 SOLV 803 2.806 2.104 2.650 1.00 0.00 +ATOM 2483 OW SOLV 804 6.012 -7.623 -8.877 1.00 0.00 +ATOM 2484 HW1 SOLV 804 6.722 -7.520 -8.181 1.00 0.00 +ATOM 2485 HW2 SOLV 804 5.141 -7.288 -8.517 1.00 0.00 +ATOM 2486 OW SOLV 805 11.199 -12.587 0.861 1.00 0.00 +ATOM 2487 HW1 SOLV 805 10.934 -12.099 0.030 1.00 0.00 +ATOM 2488 HW2 SOLV 805 10.496 -13.260 1.091 1.00 0.00 +ATOM 2489 OW SOLV 806 -14.070 -8.807 3.524 1.00 0.00 +ATOM 2490 HW1 SOLV 806 -15.015 -8.851 3.200 1.00 0.00 +ATOM 2491 HW2 SOLV 806 -14.057 -8.488 4.472 1.00 0.00 +ATOM 2492 OW SOLV 807 -9.185 -2.152 1.908 1.00 0.00 +ATOM 2493 HW1 SOLV 807 -10.021 -2.684 1.772 1.00 0.00 +ATOM 2494 HW2 SOLV 807 -8.533 -2.366 1.181 1.00 0.00 +ATOM 2495 OW SOLV 808 -10.803 12.611 -8.266 1.00 0.00 +ATOM 2496 HW1 SOLV 808 -10.887 11.829 -8.884 1.00 0.00 +ATOM 2497 HW2 SOLV 808 -10.250 13.322 -8.702 1.00 0.00 +ATOM 2498 OW SOLV 809 -1.392 -5.701 -15.191 1.00 0.00 +ATOM 2499 HW1 SOLV 809 -2.248 -5.787 -14.680 1.00 0.00 +ATOM 2500 HW2 SOLV 809 -1.467 -6.200 -16.054 1.00 0.00 +ATOM 2501 OW SOLV 810 0.663 -1.994 -5.714 1.00 0.00 +ATOM 2502 HW1 SOLV 810 1.007 -1.459 -6.486 1.00 0.00 +ATOM 2503 HW2 SOLV 810 1.394 -2.117 -5.043 1.00 0.00 +ATOM 2504 OW SOLV 811 -12.977 -12.411 13.582 1.00 0.00 +ATOM 2505 HW1 SOLV 811 -12.637 -12.682 12.682 1.00 0.00 +ATOM 2506 HW2 SOLV 811 -13.336 -11.479 13.536 1.00 0.00 +ATOM 2507 OW SOLV 812 4.982 -10.862 14.980 1.00 0.00 +ATOM 2508 HW1 SOLV 812 4.879 -10.022 15.512 1.00 0.00 +ATOM 2509 HW2 SOLV 812 5.684 -10.729 14.280 1.00 0.00 +ATOM 2510 OW SOLV 813 12.385 -1.486 7.243 1.00 0.00 +ATOM 2511 HW1 SOLV 813 13.011 -2.190 6.906 1.00 0.00 +ATOM 2512 HW2 SOLV 813 11.452 -1.709 6.963 1.00 0.00 +ATOM 2513 OW SOLV 814 12.311 10.838 10.797 1.00 0.00 +ATOM 2514 HW1 SOLV 814 12.664 10.521 11.677 1.00 0.00 +ATOM 2515 HW2 SOLV 814 12.336 11.837 10.768 1.00 0.00 +ATOM 2516 OW SOLV 815 -7.145 14.495 8.543 1.00 0.00 +ATOM 2517 HW1 SOLV 815 -7.281 13.662 8.007 1.00 0.00 +ATOM 2518 HW2 SOLV 815 -7.333 14.306 9.507 1.00 0.00 +ATOM 2519 OW SOLV 816 -14.748 12.320 2.350 1.00 0.00 +ATOM 2520 HW1 SOLV 816 -15.210 12.144 1.481 1.00 0.00 +ATOM 2521 HW2 SOLV 816 -13.810 11.977 2.305 1.00 0.00 +ATOM 2522 OW SOLV 817 13.709 -2.083 1.561 1.00 0.00 +ATOM 2523 HW1 SOLV 817 13.494 -1.627 0.697 1.00 0.00 +ATOM 2524 HW2 SOLV 817 14.651 -1.874 1.822 1.00 0.00 +ATOM 2525 OW SOLV 818 6.353 1.360 13.006 1.00 0.00 +ATOM 2526 HW1 SOLV 818 6.062 0.734 13.729 1.00 0.00 +ATOM 2527 HW2 SOLV 818 6.814 2.149 13.412 1.00 0.00 +ATOM 2528 OW SOLV 819 -13.430 -9.801 13.138 1.00 0.00 +ATOM 2529 HW1 SOLV 819 -12.772 -9.261 12.613 1.00 0.00 +ATOM 2530 HW2 SOLV 819 -14.233 -9.240 13.343 1.00 0.00 +ATOM 2531 OW SOLV 820 -4.770 -12.074 14.709 1.00 0.00 +ATOM 2532 HW1 SOLV 820 -3.799 -11.858 14.812 1.00 0.00 +ATOM 2533 HW2 SOLV 820 -4.878 -12.814 14.044 1.00 0.00 +ATOM 2534 OW SOLV 821 0.350 -11.428 -3.162 1.00 0.00 +ATOM 2535 HW1 SOLV 821 -0.041 -10.704 -2.593 1.00 0.00 +ATOM 2536 HW2 SOLV 821 1.333 -11.279 -3.263 1.00 0.00 +ATOM 2537 OW SOLV 822 7.487 -5.041 -14.483 1.00 0.00 +ATOM 2538 HW1 SOLV 822 6.946 -4.565 -13.790 1.00 0.00 +ATOM 2539 HW2 SOLV 822 7.254 -6.014 -14.477 1.00 0.00 +ATOM 2540 OW SOLV 823 -5.942 0.185 2.639 1.00 0.00 +ATOM 2541 HW1 SOLV 823 -5.139 -0.398 2.770 1.00 0.00 +ATOM 2542 HW2 SOLV 823 -6.027 0.813 3.412 1.00 0.00 +ATOM 2543 OW SOLV 824 -5.736 1.732 5.245 1.00 0.00 +ATOM 2544 HW1 SOLV 824 -6.018 1.687 6.203 1.00 0.00 +ATOM 2545 HW2 SOLV 824 -4.744 1.617 5.183 1.00 0.00 +ATOM 2546 OW SOLV 825 -9.949 -3.664 -7.073 1.00 0.00 +ATOM 2547 HW1 SOLV 825 -10.327 -4.161 -6.292 1.00 0.00 +ATOM 2548 HW2 SOLV 825 -10.194 -2.697 -7.003 1.00 0.00 +ATOM 2549 OW SOLV 826 -10.567 -15.314 -6.319 1.00 0.00 +ATOM 2550 HW1 SOLV 826 -10.169 -14.414 -6.147 1.00 0.00 +ATOM 2551 HW2 SOLV 826 -10.815 -15.390 -7.285 1.00 0.00 +ATOM 2552 OW SOLV 827 1.879 3.848 -7.618 1.00 0.00 +ATOM 2553 HW1 SOLV 827 1.615 4.660 -7.097 1.00 0.00 +ATOM 2554 HW2 SOLV 827 2.035 3.086 -6.989 1.00 0.00 +ATOM 2555 OW SOLV 828 -15.030 -9.622 -1.091 1.00 0.00 +ATOM 2556 HW1 SOLV 828 -15.361 -10.559 -0.981 1.00 0.00 +ATOM 2557 HW2 SOLV 828 -15.390 -9.053 -0.351 1.00 0.00 +ATOM 2558 OW SOLV 829 1.551 6.959 -0.402 1.00 0.00 +ATOM 2559 HW1 SOLV 829 2.220 6.710 0.298 1.00 0.00 +ATOM 2560 HW2 SOLV 829 1.493 6.228 -1.083 1.00 0.00 +ATOM 2561 OW SOLV 830 -11.297 11.056 -5.033 1.00 0.00 +ATOM 2562 HW1 SOLV 830 -10.783 10.472 -4.405 1.00 0.00 +ATOM 2563 HW2 SOLV 830 -10.767 11.881 -5.231 1.00 0.00 +ATOM 2564 OW SOLV 831 -1.684 8.832 15.022 1.00 0.00 +ATOM 2565 HW1 SOLV 831 -1.610 8.520 15.969 1.00 0.00 +ATOM 2566 HW2 SOLV 831 -1.359 8.112 14.408 1.00 0.00 +ATOM 2567 OW SOLV 832 9.755 0.899 -2.450 1.00 0.00 +ATOM 2568 HW1 SOLV 832 8.873 1.332 -2.265 1.00 0.00 +ATOM 2569 HW2 SOLV 832 10.373 1.061 -1.680 1.00 0.00 +ATOM 2570 OW SOLV 833 -6.866 -11.377 0.382 1.00 0.00 +ATOM 2571 HW1 SOLV 833 -6.573 -11.591 1.314 1.00 0.00 +ATOM 2572 HW2 SOLV 833 -7.451 -10.566 0.395 1.00 0.00 +ATOM 2573 OW SOLV 834 5.239 0.127 6.040 1.00 0.00 +ATOM 2574 HW1 SOLV 834 5.427 -0.431 6.849 1.00 0.00 +ATOM 2575 HW2 SOLV 834 4.611 -0.364 5.436 1.00 0.00 +ATOM 2576 OW SOLV 835 0.678 1.735 14.066 1.00 0.00 +ATOM 2577 HW1 SOLV 835 0.381 2.534 14.588 1.00 0.00 +ATOM 2578 HW2 SOLV 835 0.380 0.902 14.533 1.00 0.00 +ATOM 2579 OW SOLV 836 0.940 12.529 1.401 1.00 0.00 +ATOM 2580 HW1 SOLV 836 1.878 12.273 1.164 1.00 0.00 +ATOM 2581 HW2 SOLV 836 0.756 13.456 1.075 1.00 0.00 +ATOM 2582 OW SOLV 837 14.137 -14.295 -2.904 1.00 0.00 +ATOM 2583 HW1 SOLV 837 13.976 -14.098 -3.871 1.00 0.00 +ATOM 2584 HW2 SOLV 837 15.088 -14.084 -2.675 1.00 0.00 +ATOM 2585 OW SOLV 838 -7.793 12.205 10.534 1.00 0.00 +ATOM 2586 HW1 SOLV 838 -7.768 12.168 11.533 1.00 0.00 +ATOM 2587 HW2 SOLV 838 -8.719 12.435 10.232 1.00 0.00 +ATOM 2588 OW SOLV 839 12.362 -14.689 -14.434 1.00 0.00 +ATOM 2589 HW1 SOLV 839 12.057 -14.755 -15.384 1.00 0.00 +ATOM 2590 HW2 SOLV 839 13.327 -14.425 -14.413 1.00 0.00 +ATOM 2591 OW SOLV 840 -13.387 6.607 -4.513 1.00 0.00 +ATOM 2592 HW1 SOLV 840 -13.767 7.512 -4.324 1.00 0.00 +ATOM 2593 HW2 SOLV 840 -14.132 5.960 -4.676 1.00 0.00 +ATOM 2594 OW SOLV 841 -9.201 -6.363 -6.017 1.00 0.00 +ATOM 2595 HW1 SOLV 841 -9.007 -5.438 -6.345 1.00 0.00 +ATOM 2596 HW2 SOLV 841 -10.163 -6.580 -6.182 1.00 0.00 +ATOM 2597 OW SOLV 842 13.003 -7.054 9.044 1.00 0.00 +ATOM 2598 HW1 SOLV 842 13.034 -6.243 9.629 1.00 0.00 +ATOM 2599 HW2 SOLV 842 13.633 -6.935 8.276 1.00 0.00 +ATOM 2600 OW SOLV 843 -11.410 -9.375 -0.364 1.00 0.00 +ATOM 2601 HW1 SOLV 843 -11.655 -9.981 -1.121 1.00 0.00 +ATOM 2602 HW2 SOLV 843 -10.440 -9.487 -0.148 1.00 0.00 +ATOM 2603 OW SOLV 844 6.680 -5.023 -5.963 1.00 0.00 +ATOM 2604 HW1 SOLV 844 6.674 -4.626 -6.881 1.00 0.00 +ATOM 2605 HW2 SOLV 844 6.448 -4.318 -5.294 1.00 0.00 +ATOM 2606 OW SOLV 845 13.098 10.685 -2.294 1.00 0.00 +ATOM 2607 HW1 SOLV 845 12.327 11.262 -2.564 1.00 0.00 +ATOM 2608 HW2 SOLV 845 13.822 10.752 -2.981 1.00 0.00 +ATOM 2609 OW SOLV 846 -12.882 5.001 2.271 1.00 0.00 +ATOM 2610 HW1 SOLV 846 -13.022 5.152 3.250 1.00 0.00 +ATOM 2611 HW2 SOLV 846 -13.759 5.066 1.796 1.00 0.00 +ATOM 2612 OW SOLV 847 7.529 -11.279 10.379 1.00 0.00 +ATOM 2613 HW1 SOLV 847 7.391 -10.659 11.152 1.00 0.00 +ATOM 2614 HW2 SOLV 847 7.089 -12.156 10.573 1.00 0.00 +ATOM 2615 OW SOLV 848 2.428 -11.530 -14.659 1.00 0.00 +ATOM 2616 HW1 SOLV 848 1.928 -10.892 -15.245 1.00 0.00 +ATOM 2617 HW2 SOLV 848 3.399 -11.511 -14.898 1.00 0.00 +ATOM 2618 OW SOLV 849 -6.630 13.163 4.477 1.00 0.00 +ATOM 2619 HW1 SOLV 849 -5.923 12.574 4.085 1.00 0.00 +ATOM 2620 HW2 SOLV 849 -6.352 13.452 5.393 1.00 0.00 +ATOM 2621 OW SOLV 850 7.417 5.071 -7.397 1.00 0.00 +ATOM 2622 HW1 SOLV 850 6.541 5.551 -7.443 1.00 0.00 +ATOM 2623 HW2 SOLV 850 7.685 4.777 -8.315 1.00 0.00 +ATOM 2624 OW SOLV 851 6.456 -6.727 -3.677 1.00 0.00 +ATOM 2625 HW1 SOLV 851 6.376 -7.201 -4.554 1.00 0.00 +ATOM 2626 HW2 SOLV 851 7.230 -6.095 -3.708 1.00 0.00 +ATOM 2627 OW SOLV 852 -2.803 -8.557 -15.216 1.00 0.00 +ATOM 2628 HW1 SOLV 852 -3.568 -8.138 -14.726 1.00 0.00 +ATOM 2629 HW2 SOLV 852 -2.322 -9.187 -14.606 1.00 0.00 +ATOM 2630 OW SOLV 853 -7.670 1.031 0.508 1.00 0.00 +ATOM 2631 HW1 SOLV 853 -6.919 0.836 -0.123 1.00 0.00 +ATOM 2632 HW2 SOLV 853 -7.444 0.679 1.416 1.00 0.00 +ATOM 2633 OW SOLV 854 -0.447 -14.161 -5.306 1.00 0.00 +ATOM 2634 HW1 SOLV 854 -0.463 -14.254 -6.301 1.00 0.00 +ATOM 2635 HW2 SOLV 854 -1.286 -14.547 -4.922 1.00 0.00 +ATOM 2636 OW SOLV 855 -10.779 6.296 13.084 1.00 0.00 +ATOM 2637 HW1 SOLV 855 -11.318 6.011 13.876 1.00 0.00 +ATOM 2638 HW2 SOLV 855 -9.883 5.852 13.113 1.00 0.00 +ATOM 2639 OW SOLV 856 -2.108 -13.587 -0.212 1.00 0.00 +ATOM 2640 HW1 SOLV 856 -2.763 -12.973 -0.653 1.00 0.00 +ATOM 2641 HW2 SOLV 856 -2.394 -14.535 -0.353 1.00 0.00 +ATOM 2642 OW SOLV 857 -6.835 5.251 6.443 1.00 0.00 +ATOM 2643 HW1 SOLV 857 -7.310 4.691 7.122 1.00 0.00 +ATOM 2644 HW2 SOLV 857 -6.568 4.678 5.667 1.00 0.00 +ATOM 2645 OW SOLV 858 9.063 -12.839 2.657 1.00 0.00 +ATOM 2646 HW1 SOLV 858 9.215 -13.824 2.737 1.00 0.00 +ATOM 2647 HW2 SOLV 858 9.784 -12.349 3.146 1.00 0.00 +ATOM 2648 OW SOLV 859 -8.801 7.660 7.097 1.00 0.00 +ATOM 2649 HW1 SOLV 859 -9.374 8.339 6.637 1.00 0.00 +ATOM 2650 HW2 SOLV 859 -7.911 8.063 7.309 1.00 0.00 +ATOM 2651 OW SOLV 860 -14.774 4.287 -9.045 1.00 0.00 +ATOM 2652 HW1 SOLV 860 -14.530 4.244 -8.076 1.00 0.00 +ATOM 2653 HW2 SOLV 860 -15.621 4.807 -9.153 1.00 0.00 +ATOM 2654 OW SOLV 861 -1.855 -9.518 -10.134 1.00 0.00 +ATOM 2655 HW1 SOLV 861 -1.543 -8.647 -10.516 1.00 0.00 +ATOM 2656 HW2 SOLV 861 -2.646 -9.358 -9.544 1.00 0.00 +ATOM 2657 OW SOLV 862 8.351 5.091 5.088 1.00 0.00 +ATOM 2658 HW1 SOLV 862 8.903 4.805 5.871 1.00 0.00 +ATOM 2659 HW2 SOLV 862 8.942 5.213 4.290 1.00 0.00 +ATOM 2660 OW SOLV 863 -12.667 -3.765 9.495 1.00 0.00 +ATOM 2661 HW1 SOLV 863 -12.313 -2.834 9.581 1.00 0.00 +ATOM 2662 HW2 SOLV 863 -12.371 -4.155 8.623 1.00 0.00 +ATOM 2663 OW SOLV 864 -6.658 6.374 -2.471 1.00 0.00 +ATOM 2664 HW1 SOLV 864 -6.558 6.781 -1.563 1.00 0.00 +ATOM 2665 HW2 SOLV 864 -5.904 5.738 -2.636 1.00 0.00 +ATOM 2666 OW SOLV 865 7.114 4.269 0.850 1.00 0.00 +ATOM 2667 HW1 SOLV 865 7.788 4.309 1.588 1.00 0.00 +ATOM 2668 HW2 SOLV 865 6.382 4.927 1.032 1.00 0.00 +ATOM 2669 OW SOLV 866 5.029 -0.513 14.511 1.00 0.00 +ATOM 2670 HW1 SOLV 866 5.085 -0.947 13.612 1.00 0.00 +ATOM 2671 HW2 SOLV 866 4.917 -1.216 15.214 1.00 0.00 +ATOM 2672 OW SOLV 867 3.616 3.046 -12.262 1.00 0.00 +ATOM 2673 HW1 SOLV 867 3.662 2.048 -12.221 1.00 0.00 +ATOM 2674 HW2 SOLV 867 3.410 3.332 -13.198 1.00 0.00 +ATOM 2675 OW SOLV 868 -2.431 -10.425 13.405 1.00 0.00 +ATOM 2676 HW1 SOLV 868 -3.422 -10.528 13.493 1.00 0.00 +ATOM 2677 HW2 SOLV 868 -2.103 -9.768 14.085 1.00 0.00 +ATOM 2678 OW SOLV 869 -6.447 13.918 13.189 1.00 0.00 +ATOM 2679 HW1 SOLV 869 -6.486 12.927 13.057 1.00 0.00 +ATOM 2680 HW2 SOLV 869 -7.340 14.249 13.494 1.00 0.00 +ATOM 2681 OW SOLV 870 7.672 -8.330 -6.530 1.00 0.00 +ATOM 2682 HW1 SOLV 870 7.868 -9.094 -5.915 1.00 0.00 +ATOM 2683 HW2 SOLV 870 6.682 -8.230 -6.631 1.00 0.00 +ATOM 2684 OW SOLV 871 -8.795 3.428 -14.634 1.00 0.00 +ATOM 2685 HW1 SOLV 871 -8.633 2.458 -14.817 1.00 0.00 +ATOM 2686 HW2 SOLV 871 -9.777 3.589 -14.533 1.00 0.00 +ATOM 2687 OW SOLV 872 -11.388 -10.661 -9.688 1.00 0.00 +ATOM 2688 HW1 SOLV 872 -11.626 -10.711 -8.718 1.00 0.00 +ATOM 2689 HW2 SOLV 872 -11.991 -10.007 -10.146 1.00 0.00 +ATOM 2690 OW SOLV 873 -10.098 -8.025 3.679 1.00 0.00 +ATOM 2691 HW1 SOLV 873 -10.490 -8.931 3.514 1.00 0.00 +ATOM 2692 HW2 SOLV 873 -9.821 -7.619 2.808 1.00 0.00 +ATOM 2693 OW SOLV 874 -0.852 -15.316 -8.140 1.00 0.00 +ATOM 2694 HW1 SOLV 874 0.091 -15.253 -8.466 1.00 0.00 +ATOM 2695 HW2 SOLV 874 -1.055 -16.263 -7.890 1.00 0.00 +ATOM 2696 OW SOLV 875 11.356 11.040 8.022 1.00 0.00 +ATOM 2697 HW1 SOLV 875 11.747 11.085 8.942 1.00 0.00 +ATOM 2698 HW2 SOLV 875 11.060 10.103 7.832 1.00 0.00 +ATOM 2699 OW SOLV 876 1.171 11.386 -12.724 1.00 0.00 +ATOM 2700 HW1 SOLV 876 1.941 11.735 -13.257 1.00 0.00 +ATOM 2701 HW2 SOLV 876 0.348 11.377 -13.293 1.00 0.00 +ATOM 2702 OW SOLV 877 2.614 13.777 -13.796 1.00 0.00 +ATOM 2703 HW1 SOLV 877 3.495 13.612 -14.240 1.00 0.00 +ATOM 2704 HW2 SOLV 877 2.767 14.102 -12.863 1.00 0.00 +ATOM 2705 OW SOLV 878 12.530 13.906 -4.099 1.00 0.00 +ATOM 2706 HW1 SOLV 878 13.232 13.722 -3.410 1.00 0.00 +ATOM 2707 HW2 SOLV 878 12.061 14.761 -3.875 1.00 0.00 +ATOM 2708 OW SOLV 879 4.787 8.351 14.493 1.00 0.00 +ATOM 2709 HW1 SOLV 879 5.066 8.177 15.438 1.00 0.00 +ATOM 2710 HW2 SOLV 879 5.335 7.788 13.874 1.00 0.00 +ATOM 2711 OW SOLV 880 9.471 -13.650 -5.760 1.00 0.00 +ATOM 2712 HW1 SOLV 880 10.192 -12.994 -5.534 1.00 0.00 +ATOM 2713 HW2 SOLV 880 9.198 -13.530 -6.715 1.00 0.00 +ATOM 2714 OW SOLV 881 2.771 -5.674 -6.995 1.00 0.00 +ATOM 2715 HW1 SOLV 881 1.853 -5.642 -6.599 1.00 0.00 +ATOM 2716 HW2 SOLV 881 3.299 -4.886 -6.677 1.00 0.00 +ATOM 2717 OW SOLV 882 -14.338 2.046 7.987 1.00 0.00 +ATOM 2718 HW1 SOLV 882 -14.778 2.256 8.860 1.00 0.00 +ATOM 2719 HW2 SOLV 882 -13.443 1.634 8.155 1.00 0.00 +ATOM 2720 OW SOLV 883 -4.173 -8.131 4.514 1.00 0.00 +ATOM 2721 HW1 SOLV 883 -4.302 -8.379 5.474 1.00 0.00 +ATOM 2722 HW2 SOLV 883 -3.234 -7.817 4.374 1.00 0.00 +ATOM 2723 OW SOLV 884 14.384 -10.873 -4.256 1.00 0.00 +ATOM 2724 HW1 SOLV 884 14.150 -10.079 -3.694 1.00 0.00 +ATOM 2725 HW2 SOLV 884 14.833 -11.563 -3.689 1.00 0.00 +ATOM 2726 OW SOLV 885 -13.873 -15.326 12.664 1.00 0.00 +ATOM 2727 HW1 SOLV 885 -13.698 -14.641 11.957 1.00 0.00 +ATOM 2728 HW2 SOLV 885 -13.010 -15.750 12.938 1.00 0.00 +ATOM 2729 OW SOLV 886 -9.568 -4.719 12.646 1.00 0.00 +ATOM 2730 HW1 SOLV 886 -8.825 -5.347 12.413 1.00 0.00 +ATOM 2731 HW2 SOLV 886 -10.445 -5.146 12.426 1.00 0.00 +ATOM 2732 OW SOLV 887 1.982 -8.176 14.276 1.00 0.00 +ATOM 2733 HW1 SOLV 887 1.455 -8.983 14.010 1.00 0.00 +ATOM 2734 HW2 SOLV 887 2.743 -8.050 13.640 1.00 0.00 +ATOM 2735 OW SOLV 888 -9.076 13.212 -5.036 1.00 0.00 +ATOM 2736 HW1 SOLV 888 -8.776 12.627 -5.789 1.00 0.00 +ATOM 2737 HW2 SOLV 888 -9.426 14.074 -5.403 1.00 0.00 +ATOM 2738 OW SOLV 889 2.582 -12.064 11.169 1.00 0.00 +ATOM 2739 HW1 SOLV 889 3.218 -12.778 11.460 1.00 0.00 +ATOM 2740 HW2 SOLV 889 2.172 -12.321 10.294 1.00 0.00 +ATOM 2741 OW SOLV 890 -5.174 14.765 1.750 1.00 0.00 +ATOM 2742 HW1 SOLV 890 -5.873 15.339 2.176 1.00 0.00 +ATOM 2743 HW2 SOLV 890 -5.614 14.007 1.269 1.00 0.00 +ATOM 2744 OW SOLV 891 -10.587 13.893 1.353 1.00 0.00 +ATOM 2745 HW1 SOLV 891 -10.963 12.999 1.595 1.00 0.00 +ATOM 2746 HW2 SOLV 891 -9.976 14.206 2.080 1.00 0.00 +ATOM 2747 OW SOLV 892 9.581 3.393 -7.807 1.00 0.00 +ATOM 2748 HW1 SOLV 892 9.107 4.124 -7.317 1.00 0.00 +ATOM 2749 HW2 SOLV 892 9.271 2.506 -7.465 1.00 0.00 +ATOM 2750 OW SOLV 893 8.345 11.130 -8.642 1.00 0.00 +ATOM 2751 HW1 SOLV 893 7.780 10.348 -8.382 1.00 0.00 +ATOM 2752 HW2 SOLV 893 9.278 10.820 -8.826 1.00 0.00 +ATOM 2753 OW SOLV 894 14.865 -6.250 -10.357 1.00 0.00 +ATOM 2754 HW1 SOLV 894 15.414 -5.634 -10.922 1.00 0.00 +ATOM 2755 HW2 SOLV 894 15.471 -6.840 -9.823 1.00 0.00 +ATOM 2756 OW SOLV 895 -3.508 4.256 12.522 1.00 0.00 +ATOM 2757 HW1 SOLV 895 -2.911 3.489 12.286 1.00 0.00 +ATOM 2758 HW2 SOLV 895 -3.560 4.888 11.748 1.00 0.00 +ATOM 2759 OW SOLV 896 0.363 8.757 6.690 1.00 0.00 +ATOM 2760 HW1 SOLV 896 1.074 8.239 6.215 1.00 0.00 +ATOM 2761 HW2 SOLV 896 0.460 9.729 6.477 1.00 0.00 +ATOM 2762 OW SOLV 897 12.844 5.667 6.787 1.00 0.00 +ATOM 2763 HW1 SOLV 897 12.456 5.226 5.978 1.00 0.00 +ATOM 2764 HW2 SOLV 897 12.570 5.163 7.606 1.00 0.00 +ATOM 2765 OW SOLV 898 1.272 5.674 -5.641 1.00 0.00 +ATOM 2766 HW1 SOLV 898 0.357 5.973 -5.372 1.00 0.00 +ATOM 2767 HW2 SOLV 898 1.825 6.471 -5.885 1.00 0.00 +ATOM 2768 OW SOLV 899 -7.581 9.087 -8.353 1.00 0.00 +ATOM 2769 HW1 SOLV 899 -6.884 9.314 -7.673 1.00 0.00 +ATOM 2770 HW2 SOLV 899 -7.701 8.095 -8.390 1.00 0.00 +ATOM 2771 OW SOLV 900 -13.356 -13.659 -10.621 1.00 0.00 +ATOM 2772 HW1 SOLV 900 -13.901 -13.785 -11.450 1.00 0.00 +ATOM 2773 HW2 SOLV 900 -12.391 -13.569 -10.867 1.00 0.00 +ATOM 2774 OW SOLV 901 -11.397 5.889 -9.856 1.00 0.00 +ATOM 2775 HW1 SOLV 901 -11.451 5.516 -8.929 1.00 0.00 +ATOM 2776 HW2 SOLV 901 -12.215 5.629 -10.368 1.00 0.00 +ATOM 2777 OW SOLV 902 3.410 3.298 14.976 1.00 0.00 +ATOM 2778 HW1 SOLV 902 2.785 2.549 15.195 1.00 0.00 +ATOM 2779 HW2 SOLV 902 2.973 3.917 14.324 1.00 0.00 +ATOM 2780 OW SOLV 903 10.491 -2.749 2.943 1.00 0.00 +ATOM 2781 HW1 SOLV 903 11.269 -2.152 3.138 1.00 0.00 +ATOM 2782 HW2 SOLV 903 10.670 -3.661 3.314 1.00 0.00 +ATOM 2783 OW SOLV 904 1.523 -11.436 2.744 1.00 0.00 +ATOM 2784 HW1 SOLV 904 1.978 -12.286 2.477 1.00 0.00 +ATOM 2785 HW2 SOLV 904 2.176 -10.680 2.697 1.00 0.00 +ATOM 2786 OW SOLV 905 14.776 9.915 -12.542 1.00 0.00 +ATOM 2787 HW1 SOLV 905 14.638 10.891 -12.714 1.00 0.00 +ATOM 2788 HW2 SOLV 905 15.538 9.584 -13.099 1.00 0.00 +ATOM 2789 OW SOLV 906 -11.888 -3.892 -10.655 1.00 0.00 +ATOM 2790 HW1 SOLV 906 -12.166 -4.135 -9.726 1.00 0.00 +ATOM 2791 HW2 SOLV 906 -10.925 -4.128 -10.787 1.00 0.00 +ATOM 2792 OW SOLV 907 9.640 -9.598 2.391 1.00 0.00 +ATOM 2793 HW1 SOLV 907 9.705 -10.369 1.759 1.00 0.00 +ATOM 2794 HW2 SOLV 907 10.437 -9.593 2.995 1.00 0.00 +ATOM 2795 OW SOLV 908 -4.089 7.001 -14.098 1.00 0.00 +ATOM 2796 HW1 SOLV 908 -3.462 7.587 -13.583 1.00 0.00 +ATOM 2797 HW2 SOLV 908 -4.311 7.436 -14.970 1.00 0.00 +TER +CONECT 1 3 +CONECT 2 3 +CONECT 3 4 +CONECT 3 5 +CONECT 5 6 +CONECT 5 9 +CONECT 6 7 +CONECT 6 8 +CONECT 9 10 +CONECT 9 11 +CONECT 11 12 +CONECT 11 13 +CONECT 13 14 +CONECT 13 27 +CONECT 14 15 +CONECT 15 16 +CONECT 15 18 +CONECT 16 17 +CONECT 16 20 +CONECT 18 19 +CONECT 18 22 +CONECT 20 21 +CONECT 20 24 +CONECT 22 23 +CONECT 22 24 +CONECT 24 25 +CONECT 25 26 +CONECT 27 28 +CONECT 27 29 +CONECT 29 30 +CONECT 29 31 +CONECT 31 32 +CONECT 31 44 +CONECT 32 33 +CONECT 33 34 +CONECT 34 35 +CONECT 35 36 +CONECT 35 37 +CONECT 37 38 +CONECT 37 41 +CONECT 38 39 +CONECT 38 40 +CONECT 41 42 +CONECT 41 43 +CONECT 44 45 +CONECT 44 46 +CONECT 46 47 +CONECT 46 48 +CONECT 48 49 +CONECT 48 57 +CONECT 49 50 +CONECT 50 51 +CONECT 51 52 +CONECT 52 53 +CONECT 53 54 +CONECT 53 55 +CONECT 53 56 +CONECT 57 58 +CONECT 57 59 +CONECT 59 60 +CONECT 59 61 +CONECT 61 62 +CONECT 61 69 +CONECT 62 63 +CONECT 63 64 +CONECT 64 65 +CONECT 64 66 +CONECT 66 67 +CONECT 66 68 +CONECT 69 70 +CONECT 69 71 +ENDMDL diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_solv.trc.gz b/testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_solv.trc.gz new file mode 100644 index 0000000000000000000000000000000000000000..45b98f6a81e7a3f282398a1c41b419a2abcf5133 GIT binary patch literal 102335 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

MGbeD1W@(>}; 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 KYowj*EC2vB8W#Kj literal 0 HcmV?d00001 diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial.pdb b/testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial.pdb deleted file mode 100644 index 35802f3cf05..00000000000 --- a/testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial.pdb +++ /dev/null @@ -1,151 +0,0 @@ -TITLE FRAME_00001.pdb -MODEL -CRYST1 30.702 30.702 30.702 90.00 90.00 90.00 P 1 1 -ATOM 1 H1 VAL A 1 4.673 -1.146 0.809 1.00 0.00 -ATOM 2 H2 VAL A 1 3.968 -0.029 -0.077 1.00 0.00 -ATOM 3 N VAL A 1 4.282 -0.978 -0.096 1.00 0.00 -ATOM 4 H3 VAL A 1 5.007 -1.104 -0.773 1.00 0.00 -ATOM 5 CA VAL A 1 3.147 -1.895 -0.277 1.00 0.00 -ATOM 6 CB VAL A 1 3.778 -3.287 -0.206 1.00 0.00 -ATOM 7 CG1 VAL A 1 3.877 -3.903 1.191 1.00 0.00 -ATOM 8 CG2 VAL A 1 3.070 -4.197 -1.211 1.00 0.00 -ATOM 9 C VAL A 1 2.087 -1.520 0.760 1.00 0.00 -ATOM 10 O VAL A 1 2.086 -0.367 1.187 1.00 0.00 -ATOM 11 N TYR A 2 1.176 -2.401 1.166 1.00 0.00 -ATOM 12 H TYR A 2 1.184 -3.332 0.802 1.00 0.00 -ATOM 13 CA TYR A 2 0.035 -2.202 2.071 1.00 0.00 -ATOM 14 CB TYR A 2 0.364 -2.276 3.563 1.00 0.00 -ATOM 15 CG TYR A 2 0.871 -1.007 4.251 1.00 0.00 -ATOM 16 CD1 TYR A 2 2.203 -0.626 4.143 1.00 0.00 -ATOM 17 HD1 TYR A 2 2.964 -1.369 3.904 1.00 0.00 -ATOM 18 CD2 TYR A 2 -0.066 -0.170 4.845 1.00 0.00 -ATOM 19 HD2 TYR A 2 -1.066 -0.532 5.084 1.00 0.00 -ATOM 20 CE1 TYR A 2 2.577 0.658 4.521 1.00 0.00 -ATOM 21 HE1 TYR A 2 3.614 0.986 4.458 1.00 0.00 -ATOM 22 CE2 TYR A 2 0.317 1.101 5.256 1.00 0.00 -ATOM 23 HE2 TYR A 2 -0.364 1.632 5.920 1.00 0.00 -ATOM 24 CZ TYR A 2 1.621 1.528 5.033 1.00 0.00 -ATOM 25 OH TYR A 2 1.916 2.847 4.885 1.00 0.00 -ATOM 26 HH TYR A 2 1.295 3.385 5.455 1.00 0.00 -ATOM 27 C TYR A 2 -0.999 -1.167 1.622 1.00 0.00 -ATOM 28 O TYR A 2 -1.956 -1.549 0.950 1.00 0.00 -ATOM 29 N ARG A 3 -0.758 0.130 1.786 1.00 0.00 -ATOM 30 H ARG A 3 0.014 0.477 2.319 1.00 0.00 -ATOM 31 CA ARG A 3 -1.708 1.146 1.310 1.00 0.00 -ATOM 32 CB ARG A 3 -1.564 2.348 2.245 1.00 0.00 -ATOM 33 CG ARG A 3 -0.373 3.274 1.987 1.00 0.00 -ATOM 34 CD ARG A 3 -0.842 4.715 2.202 1.00 0.00 -ATOM 35 NE ARG A 3 -0.529 5.529 1.018 1.00 0.00 -ATOM 36 HE ARG A 3 0.415 5.855 0.970 1.00 0.00 -ATOM 37 CZ ARG A 3 -1.365 5.839 0.018 1.00 0.00 -ATOM 38 NH1 ARG A 3 -2.614 5.373 -0.109 1.00 0.00 -ATOM 39 HH11 ARG A 3 -3.199 5.732 -0.836 1.00 0.00 -ATOM 40 HH12 ARG A 3 -2.953 4.639 0.480 1.00 0.00 -ATOM 41 NH2 ARG A 3 -0.987 6.682 -0.953 1.00 0.00 -ATOM 42 HH21 ARG A 3 -1.552 6.937 -1.737 1.00 0.00 -ATOM 43 HH22 ARG A 3 -0.080 7.096 -0.869 1.00 0.00 -ATOM 44 C ARG A 3 -1.713 1.486 -0.182 1.00 0.00 -ATOM 45 O ARG A 3 -1.999 2.597 -0.624 1.00 0.00 -ATOM 46 N LYSHA 4 -1.499 0.425 -0.955 1.00 0.00 -ATOM 47 H LYSHA 4 -1.606 -0.472 -0.525 1.00 0.00 -ATOM 48 CA LYSHA 4 -1.377 0.371 -2.419 1.00 0.00 -ATOM 49 CB LYSHA 4 -0.428 1.442 -2.961 1.00 0.00 -ATOM 50 CG LYSHA 4 -0.915 2.025 -4.289 1.00 0.00 -ATOM 51 CD LYSHA 4 -0.412 1.233 -5.497 1.00 0.00 -ATOM 52 CE LYSHA 4 -0.850 1.937 -6.782 1.00 0.00 -ATOM 53 NZ LYSHA 4 0.001 1.588 -7.930 1.00 0.00 -ATOM 54 HZ1 LYSHA 4 0.054 0.594 -8.022 1.00 0.00 -ATOM 55 HZ2 LYSHA 4 0.944 1.915 -7.873 1.00 0.00 -ATOM 56 HZ3 LYSHA 4 -0.416 1.877 -8.792 1.00 0.00 -ATOM 57 C LYSHA 4 -0.972 -1.035 -2.868 1.00 0.00 -ATOM 58 O LYSHA 4 0.196 -1.312 -3.135 1.00 0.00 -ATOM 59 N GLN A 5 -1.916 -1.930 -2.592 1.00 0.00 -ATOM 60 H GLN A 5 -2.757 -1.675 -2.115 1.00 0.00 -ATOM 61 CA GLN A 5 -2.089 -3.360 -2.888 1.00 0.00 -ATOM 62 CB GLN A 5 -1.078 -4.249 -2.160 1.00 0.00 -ATOM 63 CG GLN A 5 -1.301 -4.361 -0.650 1.00 0.00 -ATOM 64 CD GLN A 5 -0.331 -5.355 -0.010 1.00 0.00 -ATOM 65 OE1 GLN A 5 0.736 -5.032 0.509 1.00 0.00 -ATOM 66 NE2 GLN A 5 -0.753 -6.616 -0.000 1.00 0.00 -ATOM 67 HE21 GLN A 5 -0.142 -7.242 0.483 1.00 0.00 -ATOM 68 HE22 GLN A 5 -1.654 -6.912 -0.318 1.00 0.00 -ATOM 69 C GLN A 5 -3.510 -3.648 -2.398 1.00 0.00 -ATOM 70 O1 GLN A 5 -3.927 -4.822 -2.490 1.00 0.00 -ATOM 71 O2 GLN A 5 -4.142 -2.698 -1.887 1.00 0.00 -TER -ATOM 72 CL CL- B 6 -0.696 -0.518 -9.229 1.00 0.00 -TER -ATOM 73 CL CL- C 7 3.033 6.388 1.574 1.00 0.00 -TER -CONECT 1 3 -CONECT 2 3 -CONECT 3 4 -CONECT 3 5 -CONECT 5 6 -CONECT 5 9 -CONECT 6 7 -CONECT 6 8 -CONECT 9 10 -CONECT 9 11 -CONECT 11 12 -CONECT 11 13 -CONECT 13 14 -CONECT 13 27 -CONECT 14 15 -CONECT 15 16 -CONECT 15 18 -CONECT 16 17 -CONECT 16 20 -CONECT 18 19 -CONECT 18 22 -CONECT 20 21 -CONECT 20 24 -CONECT 22 23 -CONECT 22 24 -CONECT 24 25 -CONECT 25 26 -CONECT 27 28 -CONECT 27 29 -CONECT 29 30 -CONECT 29 31 -CONECT 31 32 -CONECT 31 44 -CONECT 32 33 -CONECT 33 34 -CONECT 34 35 -CONECT 35 36 -CONECT 35 37 -CONECT 37 38 -CONECT 37 41 -CONECT 38 39 -CONECT 38 40 -CONECT 41 42 -CONECT 41 43 -CONECT 44 45 -CONECT 44 46 -CONECT 46 47 -CONECT 46 48 -CONECT 48 49 -CONECT 48 57 -CONECT 49 50 -CONECT 50 51 -CONECT 51 52 -CONECT 52 53 -CONECT 53 54 -CONECT 53 55 -CONECT 53 56 -CONECT 57 58 -CONECT 57 59 -CONECT 59 60 -CONECT 59 61 -CONECT 61 62 -CONECT 61 69 -CONECT 62 63 -CONECT 63 64 -CONECT 64 65 -CONECT 64 66 -CONECT 66 67 -CONECT 66 68 -CONECT 69 70 -CONECT 69 71 -ENDMDL diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial_1.trc.gz b/testsuite/MDAnalysisTests/data/gromos11/gromos11_tutorial_1.trc.gz deleted file mode 100644 index 133f81a6b2c5dd4cfd304ed4884289c56e77f335..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4508 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 X$oq`he*5F^Ozr+ZE(*<^G%WxCS5EWz diff --git a/testsuite/MDAnalysisTests/datafiles.py b/testsuite/MDAnalysisTests/datafiles.py index ff25e6c45f8..f8a00b928c4 100644 --- a/testsuite/MDAnalysisTests/datafiles.py +++ b/testsuite/MDAnalysisTests/datafiles.py @@ -598,9 +598,11 @@ GSD_bonds = (_data_ref / 'example_bonds.gsd').as_posix() GSD_long = (_data_ref / 'example_longer.gsd').as_posix() -TRC_PDB = (_data_ref / 'gromos11/gromos11_tutorial.pdb').as_posix() -TRC_TRAJ1 = (_data_ref / 'gromos11/gromos11_tutorial_1.trc.gz').as_posix() -TRC_TRAJ2 = (_data_ref / 'gromos11/gromos11_tutorial_2.trc.gz').as_posix() +TRC_PDB_VAC = (_data_ref / 'gromos11/gromos11_traj_vac.pdb').as_posix() +TRC_TRAJ1_VAC = (_data_ref / 'gromos11/gromos11_traj_vac_1.trc.gz').as_posix() +TRC_TRAJ2_VAC = (_data_ref / 'gromos11/gromos11_traj_vac_2.trc.gz').as_posix() +TRC_PDB_SOLV = (_data_ref / 'gromos11/gromos11_traj_solv.pdb').as_posix() +TRC_TRAJ_SOLV = (_data_ref / 'gromos11/gromos11_traj_solv.trc.gz').as_posix() DihedralArray = (_data_ref / 'adk_oplsaa_dihedral.npy').as_posix() DihedralsArray = (_data_ref / 'adk_oplsaa_dihedral_list.npy').as_posix() From 81866509f9dababae72e3488825d958d7ef1f3fe Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Mon, 18 Sep 2023 17:02:35 +0200 Subject: [PATCH 12/47] Adds numbers of Github issue und pull request to CHANGELOG --- package/CHANGELOG | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/CHANGELOG b/package/CHANGELOG index ae29b9f4617..a85f1a106a2 100644 --- a/package/CHANGELOG +++ b/package/CHANGELOG @@ -29,7 +29,7 @@ Fixes * Fixes hydrogenbonds tutorial path to point to hbonds (Issue #4285, PR #4286) Enhancements - * Added a reader for GROMOS11 TRC trajectories (Issue , PR ) + * Added a reader for GROMOS11 TRC trajectories (PR #4292 , Issue #4291) * Updated lib.qcprot.CalcRMSDRotationalMatrix to accept either float32 or float64 inputs (PR #4273, part of #3927) * Added a warning about charge neutrality to the documentation of From 859b49cdf03a9d2d086644ec78f88e2a1898a20b Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Mon, 18 Sep 2023 17:31:19 +0200 Subject: [PATCH 13/47] fix of datafile regression --- testsuite/MDAnalysisTests/datafiles.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/testsuite/MDAnalysisTests/datafiles.py b/testsuite/MDAnalysisTests/datafiles.py index f8a00b928c4..3c7e3224d07 100644 --- a/testsuite/MDAnalysisTests/datafiles.py +++ b/testsuite/MDAnalysisTests/datafiles.py @@ -210,7 +210,8 @@ "legacy_DCD_NAMD_coords", # frame 0 read in for SiN_tric_namd.dcd using legacy DCD reader "legacy_DCD_c36_coords", # frames 1 and 4 read in for tip125_tric_C36.dcd using legacy DCD reader "GSD", "GSD_bonds", "GSD_long", - "TRC_PDB", "TRC_TRAJ1", "TRC_TRAJ2", # 2x 3 frames of trajectory from GROMOS11 tutorial + "TRC_PDB_VAC", "TRC_TRAJ1_VAC", "TRC_TRAJ1_VAC", # 2x 3 frames of vacuum trajectory from GROMOS11 tutorial + "TRC_PDB_SOLV", "TRC_TRAJ_SOLV", # 2 frames of solvated trajectory from GROMOS11 tutorial "GRO_MEMPROT", "XTC_MEMPROT", # YiiP transporter in POPE:POPG lipids with Na+, Cl-, Zn2+ dummy model without water "DihedralArray", "DihedralsArray", # time series of single dihedral "RamaArray", "GLYRamaArray", # time series of phi/psi angles From 3bb16b5d4718920cf732ba88ec0a993844bf39a1 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Mon, 18 Sep 2023 18:24:11 +0200 Subject: [PATCH 14/47] fix of datafile regression --- testsuite/MDAnalysisTests/datafiles.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/testsuite/MDAnalysisTests/datafiles.py b/testsuite/MDAnalysisTests/datafiles.py index 3c7e3224d07..7091cfb1089 100644 --- a/testsuite/MDAnalysisTests/datafiles.py +++ b/testsuite/MDAnalysisTests/datafiles.py @@ -210,7 +210,7 @@ "legacy_DCD_NAMD_coords", # frame 0 read in for SiN_tric_namd.dcd using legacy DCD reader "legacy_DCD_c36_coords", # frames 1 and 4 read in for tip125_tric_C36.dcd using legacy DCD reader "GSD", "GSD_bonds", "GSD_long", - "TRC_PDB_VAC", "TRC_TRAJ1_VAC", "TRC_TRAJ1_VAC", # 2x 3 frames of vacuum trajectory from GROMOS11 tutorial + "TRC_PDB_VAC", "TRC_TRAJ1_VAC", "TRC_TRAJ2_VAC", # 2x 3 frames of vacuum trajectory from GROMOS11 tutorial "TRC_PDB_SOLV", "TRC_TRAJ_SOLV", # 2 frames of solvated trajectory from GROMOS11 tutorial "GRO_MEMPROT", "XTC_MEMPROT", # YiiP transporter in POPE:POPG lipids with Na+, Cl-, Zn2+ dummy model without water "DihedralArray", "DihedralsArray", # time series of single dihedral From 3b68f20ae978ddb2f15c46bf5e6f72d6f69f9850 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Mon, 13 Nov 2023 15:54:13 +0100 Subject: [PATCH 15/47] Allows frames to start with any block; adds general documentation --- package/MDAnalysis/coordinates/TRC.py | 106 +++++++++++++++++--------- 1 file changed, 68 insertions(+), 38 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 3cb4984c452..7a0886f27f8 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -26,6 +26,10 @@ ==================================================================== Reads coordinates, timesteps and box-sizes from GROMOS11 TRC trajectories. +The trajectory format is documented in the GROMOS Manual Vol. 4, chapter 2 and 4. +The manual can be downloaded here: +https://gromos.net/gromos11_pdf_manuals/vol4.pdf +The code has been tested with GROMOS11 version 1.6 (Dec. 2023) To load the trajectory into :class:`~MDAnalysis.core.universe.Universe`, you need to provide topology information using a pdb:: @@ -35,10 +39,17 @@ format="TRC", continuous=True) .. Note:: - ----- - The reader is capable to read the blocks "TIMESTEP", "POSITIONRED" and - "GENBOX" from the trajectory. + The GROMOS trajectory format organizes its data in blocks. A block starts + with a blockname in capital letters and ends with a line containing only ''END''. + Only the TITLE-block at the beginning of each file is mandatory, + others blocks can be chosen depending on the task. + The reader is capable to read the blocks "TIMESTEP", "POSITIONRED" and + "GENBOX" from the trajectory which covers most standard trajectories. + + MDAnalysis requires the blocks of each frame to be in the same order + and ignores non-supported blocks. + Classes ------- @@ -49,6 +60,7 @@ import os import errno +import warnings import numpy as np from . import base @@ -145,71 +157,89 @@ def _read_traj_properties(self): * Reads the number of atoms per frame (n_atoms) * Reads the number of frames (n_frames) * Reads the startposition of the timestep block - for each frame (l_timestep_offset) + for each frame (l_blockstart_offset) """ traj_properties = {} + SUPPORTED_BLOCKS = ['TIMESTEP', 'POSITIONRED', 'GENBOX'] + # + # Check which of the supported blocks comes first win the trajectory + # + first_block = None + with util.anyopen(self.filename) as f: + while (True): + line = f.readline() + if (line == '') or (line == b''): break # EOF + for blockname in SUPPORTED_BLOCKS: + if (blockname in line): + #Save the name of the first block in the trajectory file + first_block = blockname + + if (first_block is not None): break #First block found + + # + # Calculate meta-data of the trajectory + # in_positionred_block = False - in_timestep_block = False - lastblock_was_timestep = False + lastline_was_timestep = False atom_counter = 0 - atom_len = 0 + n_atoms = 0 frame_counter = 0 - frame_len = 0 - l_timestep_offset = [] + l_blockstart_offset = [] l_timestep_timevalues = [] - # - # Loop through the file and save positions of datablocks - # with util.anyopen(self.filename) as f: while (True): line = f.readline() if (line == '') or (line == b''): break # EOF - + + # + # First block of frame + # + if (first_block in line): + l_blockstart_offset.append(f.tell()) + frame_counter += 1 + # # Timestep-Block # if "TIMESTEP" in line: - in_timestep_block = True - lastblock_was_timestep = True - l_timestep_offset.append(f.tell()) - - elif (lastblock_was_timestep == True): + lastline_was_timestep = True + + elif (lastline_was_timestep == True): l_timestep_timevalues.append(float(line.split()[1])) - lastblock_was_timestep = False - - if ("END" in line) and (in_timestep_block == True): - in_timestep_block = False + lastline_was_timestep = False # # Coordinates-Block # if "POSITIONRED" in line: in_positionred_block = True - # coordblock_start = abs_line_counter - frame_counter += 1 - - if (in_positionred_block == True) and (atom_len == 0): + + if (in_positionred_block == True) and (n_atoms == 0): if (len(line.split()) == 3): atom_counter += 1 if ("END" in line) and (in_positionred_block == True): - atom_len = atom_counter + n_atoms = atom_counter in_positionred_block = False - - frame_len = frame_counter + - traj_properties["n_atoms"] = atom_len - traj_properties["n_frames"] = frame_len - traj_properties["l_timestep_offset"] = l_timestep_offset + traj_properties["n_atoms"] = n_atoms + traj_properties["n_frames"] = frame_counter + traj_properties["l_blockstart_offset"] = l_blockstart_offset - traj_properties["dt"] = (l_timestep_timevalues[1] - - l_timestep_timevalues[0]) - + if (len(l_timestep_timevalues) >= 2): + traj_properties["dt"] = (l_timestep_timevalues[1] + - l_timestep_timevalues[0]) + else: + traj_properties["dt"] = 0 + warnings.warn("The trajectory does not contain TIMESTEP \ + information!", UserWarning) + return traj_properties def _read_GROMOS11_trajectory(self, _frame): @@ -217,7 +247,7 @@ def _read_GROMOS11_trajectory(self, _frame): frameDat = {} f = self.trcfile - l_timestep_offset = self.traj_properties["l_timestep_offset"] + l_blockstart_offset = self.traj_properties["l_blockstart_offset"] try: @@ -227,7 +257,7 @@ def _read_GROMOS11_trajectory(self, _frame): while (True): line = f.readline() if (line == '') or (line == b''): break # EOF - if (f.tell() in l_timestep_offset): + if (f.tell() in l_blockstart_offset): tmp_step, tmp_time = f.readline().split() frameDat["step"] = int(round(float(tmp_step))) frameDat["time"] = float(tmp_time) @@ -291,7 +321,7 @@ def _read_frame(self, i): self._frame = i - 1 # Move position in file just (-2 byte) before the start of the block - self.trcfile.seek(self.traj_properties["l_timestep_offset"][i]-2, 0) + self.trcfile.seek(self.traj_properties["l_blockstart_offset"][i]-2, 0) return self._read_next_timestep() From 779684629bde95cf3f28717f61011277a58abf03 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Mon, 13 Nov 2023 18:04:46 +0100 Subject: [PATCH 16/47] Update GROMOS testing files & script --- .../MDAnalysisTests/coordinates/test_trc.py | 5 +- .../data/gromos11/gromos11_traj_solv.pdb | 2876 ----------------- .../data/gromos11/gromos11_traj_solv.pdb.gz | Bin 0 -> 44442 bytes .../data/gromos11/gromos11_traj_vac.pdb.gz | Bin 0 -> 1664 bytes testsuite/MDAnalysisTests/datafiles.py | 4 +- 5 files changed, 4 insertions(+), 2881 deletions(-) delete mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_solv.pdb create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_solv.pdb.gz create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_vac.pdb.gz diff --git a/testsuite/MDAnalysisTests/coordinates/test_trc.py b/testsuite/MDAnalysisTests/coordinates/test_trc.py index 925096c133b..8ff5d1fb34d 100644 --- a/testsuite/MDAnalysisTests/coordinates/test_trc.py +++ b/testsuite/MDAnalysisTests/coordinates/test_trc.py @@ -35,7 +35,7 @@ class TestTRCReaderVacuumBox: @pytest.fixture(scope='class') def TRC_U(self): return mda.Universe(TRC_PDB_VAC, [TRC_TRAJ1_VAC, TRC_TRAJ2_VAC], - format="TRC", continuous=True) + continuous=True) def test_initial_frame_is_0(self, TRC_U): assert_equal(TRC_U.trajectory.ts.frame, 0, @@ -117,8 +117,7 @@ def test_read_frame_reopens(self, TRC_U): class TestTRCReaderSolvatedBox: @pytest.fixture(scope='class') def TRC_U(self): - return mda.Universe(TRC_PDB_SOLV, TRC_TRAJ_SOLV, - format="TRC") + return mda.Universe(TRC_PDB_SOLV, TRC_TRAJ_SOLV) def test_trc_n_atoms(self, TRC_U): assert (TRC_U.trajectory.n_atoms) == 2797 diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_solv.pdb b/testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_solv.pdb deleted file mode 100644 index 56807c96355..00000000000 --- a/testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_solv.pdb +++ /dev/null @@ -1,2876 +0,0 @@ -TITLE FRAME_00001.pdb -MODEL -CRYST1 30.702 30.702 30.702 90.00 90.00 90.00 P 1 1 -ATOM 1 H1 VAL A 1 4.673 -1.146 0.809 1.00 0.00 -ATOM 2 H2 VAL A 1 3.968 -0.029 -0.077 1.00 0.00 -ATOM 3 N VAL A 1 4.282 -0.978 -0.096 1.00 0.00 -ATOM 4 H3 VAL A 1 5.007 -1.104 -0.773 1.00 0.00 -ATOM 5 CA VAL A 1 3.147 -1.895 -0.277 1.00 0.00 -ATOM 6 CB VAL A 1 3.778 -3.287 -0.206 1.00 0.00 -ATOM 7 CG1 VAL A 1 3.877 -3.903 1.191 1.00 0.00 -ATOM 8 CG2 VAL A 1 3.070 -4.197 -1.211 1.00 0.00 -ATOM 9 C VAL A 1 2.087 -1.520 0.760 1.00 0.00 -ATOM 10 O VAL A 1 2.086 -0.367 1.187 1.00 0.00 -ATOM 11 N TYR A 2 1.176 -2.401 1.166 1.00 0.00 -ATOM 12 H TYR A 2 1.184 -3.332 0.802 1.00 0.00 -ATOM 13 CA TYR A 2 0.035 -2.202 2.071 1.00 0.00 -ATOM 14 CB TYR A 2 0.364 -2.276 3.563 1.00 0.00 -ATOM 15 CG TYR A 2 0.871 -1.007 4.251 1.00 0.00 -ATOM 16 CD1 TYR A 2 2.203 -0.626 4.143 1.00 0.00 -ATOM 17 HD1 TYR A 2 2.964 -1.369 3.904 1.00 0.00 -ATOM 18 CD2 TYR A 2 -0.066 -0.170 4.845 1.00 0.00 -ATOM 19 HD2 TYR A 2 -1.066 -0.532 5.084 1.00 0.00 -ATOM 20 CE1 TYR A 2 2.577 0.658 4.521 1.00 0.00 -ATOM 21 HE1 TYR A 2 3.614 0.986 4.458 1.00 0.00 -ATOM 22 CE2 TYR A 2 0.317 1.101 5.256 1.00 0.00 -ATOM 23 HE2 TYR A 2 -0.364 1.632 5.920 1.00 0.00 -ATOM 24 CZ TYR A 2 1.621 1.528 5.033 1.00 0.00 -ATOM 25 OH TYR A 2 1.916 2.847 4.885 1.00 0.00 -ATOM 26 HH TYR A 2 1.295 3.385 5.455 1.00 0.00 -ATOM 27 C TYR A 2 -0.999 -1.167 1.622 1.00 0.00 -ATOM 28 O TYR A 2 -1.956 -1.549 0.950 1.00 0.00 -ATOM 29 N ARG A 3 -0.758 0.130 1.786 1.00 0.00 -ATOM 30 H ARG A 3 0.014 0.477 2.319 1.00 0.00 -ATOM 31 CA ARG A 3 -1.708 1.146 1.310 1.00 0.00 -ATOM 32 CB ARG A 3 -1.564 2.348 2.245 1.00 0.00 -ATOM 33 CG ARG A 3 -0.373 3.274 1.987 1.00 0.00 -ATOM 34 CD ARG A 3 -0.842 4.715 2.202 1.00 0.00 -ATOM 35 NE ARG A 3 -0.529 5.529 1.018 1.00 0.00 -ATOM 36 HE ARG A 3 0.415 5.855 0.970 1.00 0.00 -ATOM 37 CZ ARG A 3 -1.365 5.839 0.018 1.00 0.00 -ATOM 38 NH1 ARG A 3 -2.614 5.373 -0.109 1.00 0.00 -ATOM 39 HH11 ARG A 3 -3.199 5.732 -0.836 1.00 0.00 -ATOM 40 HH12 ARG A 3 -2.953 4.639 0.480 1.00 0.00 -ATOM 41 NH2 ARG A 3 -0.987 6.682 -0.953 1.00 0.00 -ATOM 42 HH21 ARG A 3 -1.552 6.937 -1.737 1.00 0.00 -ATOM 43 HH22 ARG A 3 -0.080 7.096 -0.869 1.00 0.00 -ATOM 44 C ARG A 3 -1.713 1.486 -0.182 1.00 0.00 -ATOM 45 O ARG A 3 -1.999 2.597 -0.624 1.00 0.00 -ATOM 46 N LYSHA 4 -1.499 0.425 -0.955 1.00 0.00 -ATOM 47 H LYSHA 4 -1.606 -0.472 -0.525 1.00 0.00 -ATOM 48 CA LYSHA 4 -1.377 0.371 -2.419 1.00 0.00 -ATOM 49 CB LYSHA 4 -0.428 1.442 -2.961 1.00 0.00 -ATOM 50 CG LYSHA 4 -0.915 2.025 -4.289 1.00 0.00 -ATOM 51 CD LYSHA 4 -0.412 1.233 -5.497 1.00 0.00 -ATOM 52 CE LYSHA 4 -0.850 1.937 -6.782 1.00 0.00 -ATOM 53 NZ LYSHA 4 0.001 1.588 -7.930 1.00 0.00 -ATOM 54 HZ1 LYSHA 4 0.054 0.594 -8.022 1.00 0.00 -ATOM 55 HZ2 LYSHA 4 0.944 1.915 -7.873 1.00 0.00 -ATOM 56 HZ3 LYSHA 4 -0.416 1.877 -8.792 1.00 0.00 -ATOM 57 C LYSHA 4 -0.972 -1.035 -2.868 1.00 0.00 -ATOM 58 O LYSHA 4 0.196 -1.312 -3.135 1.00 0.00 -ATOM 59 N GLN A 5 -1.916 -1.930 -2.592 1.00 0.00 -ATOM 60 H GLN A 5 -2.757 -1.675 -2.115 1.00 0.00 -ATOM 61 CA GLN A 5 -2.089 -3.360 -2.888 1.00 0.00 -ATOM 62 CB GLN A 5 -1.078 -4.249 -2.160 1.00 0.00 -ATOM 63 CG GLN A 5 -1.301 -4.361 -0.650 1.00 0.00 -ATOM 64 CD GLN A 5 -0.331 -5.355 -0.010 1.00 0.00 -ATOM 65 OE1 GLN A 5 0.736 -5.032 0.509 1.00 0.00 -ATOM 66 NE2 GLN A 5 -0.753 -6.616 -0.000 1.00 0.00 -ATOM 67 HE21 GLN A 5 -0.142 -7.242 0.483 1.00 0.00 -ATOM 68 HE22 GLN A 5 -1.654 -6.912 -0.318 1.00 0.00 -ATOM 69 C GLN A 5 -3.510 -3.648 -2.398 1.00 0.00 -ATOM 70 O1 GLN A 5 -3.927 -4.822 -2.490 1.00 0.00 -ATOM 71 O2 GLN A 5 -4.142 -2.698 -1.887 1.00 0.00 -TER -ATOM 72 CL CL- B 6 -0.696 -0.518 -9.229 1.00 0.00 -TER -ATOM 73 CL CL- C 7 3.033 6.388 1.574 1.00 0.00 -TER -ATOM 74 OW SOLV 1 14.367 -3.267 -12.898 1.00 0.00 -ATOM 75 HW1 SOLV 1 14.658 -2.421 -13.344 1.00 0.00 -ATOM 76 HW2 SOLV 1 15.172 -3.796 -12.628 1.00 0.00 -ATOM 77 OW SOLV 2 -6.683 -9.349 -1.962 1.00 0.00 -ATOM 78 HW1 SOLV 2 -5.843 -9.849 -2.171 1.00 0.00 -ATOM 79 HW2 SOLV 2 -7.069 -9.689 -1.104 1.00 0.00 -ATOM 80 OW SOLV 3 3.093 -3.419 -12.144 1.00 0.00 -ATOM 81 HW1 SOLV 3 2.733 -3.339 -11.214 1.00 0.00 -ATOM 82 HW2 SOLV 3 2.439 -3.919 -12.712 1.00 0.00 -ATOM 83 OW SOLV 4 -14.928 -7.711 -7.087 1.00 0.00 -ATOM 84 HW1 SOLV 4 -15.550 -6.991 -6.779 1.00 0.00 -ATOM 85 HW2 SOLV 4 -15.430 -8.573 -7.167 1.00 0.00 -ATOM 86 OW SOLV 5 -5.951 -10.139 3.478 1.00 0.00 -ATOM 87 HW1 SOLV 5 -5.930 -10.308 4.463 1.00 0.00 -ATOM 88 HW2 SOLV 5 -5.556 -9.240 3.285 1.00 0.00 -ATOM 89 OW SOLV 6 -11.346 3.434 -13.299 1.00 0.00 -ATOM 90 HW1 SOLV 6 -11.496 4.419 -13.214 1.00 0.00 -ATOM 91 HW2 SOLV 6 -10.454 3.199 -12.913 1.00 0.00 -ATOM 92 OW SOLV 7 2.413 -6.289 3.346 1.00 0.00 -ATOM 93 HW1 SOLV 7 2.800 -5.820 2.552 1.00 0.00 -ATOM 94 HW2 SOLV 7 2.088 -7.194 3.071 1.00 0.00 -ATOM 95 OW SOLV 8 -14.458 -1.176 -2.292 1.00 0.00 -ATOM 96 HW1 SOLV 8 -14.396 -1.966 -1.682 1.00 0.00 -ATOM 97 HW2 SOLV 8 -13.589 -1.059 -2.773 1.00 0.00 -ATOM 98 OW SOLV 9 11.243 3.288 -5.456 1.00 0.00 -ATOM 99 HW1 SOLV 9 12.004 2.684 -5.219 1.00 0.00 -ATOM 100 HW2 SOLV 9 10.543 2.766 -5.944 1.00 0.00 -ATOM 101 OW SOLV 10 13.858 -7.371 1.465 1.00 0.00 -ATOM 102 HW1 SOLV 10 13.230 -8.099 1.740 1.00 0.00 -ATOM 103 HW2 SOLV 10 13.851 -7.284 0.469 1.00 0.00 -ATOM 104 OW SOLV 11 7.082 -1.449 11.634 1.00 0.00 -ATOM 105 HW1 SOLV 11 7.430 -1.443 12.571 1.00 0.00 -ATOM 106 HW2 SOLV 11 6.926 -0.510 11.330 1.00 0.00 -ATOM 107 OW SOLV 12 -2.563 -13.454 8.863 1.00 0.00 -ATOM 108 HW1 SOLV 12 -2.920 -14.061 9.573 1.00 0.00 -ATOM 109 HW2 SOLV 12 -3.005 -12.559 8.936 1.00 0.00 -ATOM 110 OW SOLV 13 -9.587 -13.422 10.005 1.00 0.00 -ATOM 111 HW1 SOLV 13 -9.204 -13.596 10.912 1.00 0.00 -ATOM 112 HW2 SOLV 13 -10.198 -12.632 10.048 1.00 0.00 -ATOM 113 OW SOLV 14 -8.527 -9.337 0.149 1.00 0.00 -ATOM 114 HW1 SOLV 14 -8.523 -9.253 -0.848 1.00 0.00 -ATOM 115 HW2 SOLV 14 -8.927 -8.513 0.550 1.00 0.00 -ATOM 116 OW SOLV 15 12.924 -4.431 10.352 1.00 0.00 -ATOM 117 HW1 SOLV 15 12.862 -3.453 10.153 1.00 0.00 -ATOM 118 HW2 SOLV 15 12.012 -4.788 10.553 1.00 0.00 -ATOM 119 OW SOLV 16 4.522 2.834 11.562 1.00 0.00 -ATOM 120 HW1 SOLV 16 3.629 2.826 12.010 1.00 0.00 -ATOM 121 HW2 SOLV 16 5.143 2.216 12.045 1.00 0.00 -ATOM 122 OW SOLV 17 -2.633 -13.963 -12.693 1.00 0.00 -ATOM 123 HW1 SOLV 17 -2.628 -13.184 -12.066 1.00 0.00 -ATOM 124 HW2 SOLV 17 -2.579 -14.813 -12.168 1.00 0.00 -ATOM 125 OW SOLV 18 -14.338 -2.038 -9.381 1.00 0.00 -ATOM 126 HW1 SOLV 18 -13.495 -1.920 -9.907 1.00 0.00 -ATOM 127 HW2 SOLV 18 -14.995 -1.331 -9.643 1.00 0.00 -ATOM 128 OW SOLV 19 15.136 4.107 -1.505 1.00 0.00 -ATOM 129 HW1 SOLV 19 14.447 4.302 -2.205 1.00 0.00 -ATOM 130 HW2 SOLV 19 14.816 3.361 -0.922 1.00 0.00 -ATOM 131 OW SOLV 20 -4.523 -13.573 -1.860 1.00 0.00 -ATOM 132 HW1 SOLV 20 -5.254 -13.033 -1.443 1.00 0.00 -ATOM 133 HW2 SOLV 20 -4.799 -14.533 -1.901 1.00 0.00 -ATOM 134 OW SOLV 21 3.262 14.043 11.954 1.00 0.00 -ATOM 135 HW1 SOLV 21 2.372 14.277 12.346 1.00 0.00 -ATOM 136 HW2 SOLV 21 3.227 13.119 11.574 1.00 0.00 -ATOM 137 OW SOLV 22 14.647 9.079 8.348 1.00 0.00 -ATOM 138 HW1 SOLV 22 14.583 9.357 7.389 1.00 0.00 -ATOM 139 HW2 SOLV 22 13.976 8.361 8.532 1.00 0.00 -ATOM 140 OW SOLV 23 -13.594 -0.327 10.288 1.00 0.00 -ATOM 141 HW1 SOLV 23 -14.119 -0.026 9.492 1.00 0.00 -ATOM 142 HW2 SOLV 23 -14.119 -1.014 10.792 1.00 0.00 -ATOM 143 OW SOLV 24 -3.097 -15.142 3.337 1.00 0.00 -ATOM 144 HW1 SOLV 24 -3.493 -15.615 4.124 1.00 0.00 -ATOM 145 HW2 SOLV 24 -3.574 -15.423 2.504 1.00 0.00 -ATOM 146 OW SOLV 25 8.741 15.145 6.626 1.00 0.00 -ATOM 147 HW1 SOLV 25 9.189 15.042 5.738 1.00 0.00 -ATOM 148 HW2 SOLV 25 7.749 15.118 6.504 1.00 0.00 -ATOM 149 OW SOLV 26 -2.359 -7.876 2.222 1.00 0.00 -ATOM 150 HW1 SOLV 26 -2.869 -7.755 1.370 1.00 0.00 -ATOM 151 HW2 SOLV 26 -1.798 -8.701 2.160 1.00 0.00 -ATOM 152 OW SOLV 27 11.310 -5.886 12.419 1.00 0.00 -ATOM 153 HW1 SOLV 27 10.351 -5.945 12.143 1.00 0.00 -ATOM 154 HW2 SOLV 27 11.381 -5.359 13.266 1.00 0.00 -ATOM 155 OW SOLV 28 7.945 -8.634 9.536 1.00 0.00 -ATOM 156 HW1 SOLV 28 7.968 -7.690 9.204 1.00 0.00 -ATOM 157 HW2 SOLV 28 8.256 -9.249 8.811 1.00 0.00 -ATOM 158 OW SOLV 29 7.517 3.585 13.927 1.00 0.00 -ATOM 159 HW1 SOLV 29 6.789 3.520 14.609 1.00 0.00 -ATOM 160 HW2 SOLV 29 8.301 4.063 14.322 1.00 0.00 -ATOM 161 OW SOLV 30 -14.767 -11.623 -6.507 1.00 0.00 -ATOM 162 HW1 SOLV 30 -14.586 -11.963 -5.584 1.00 0.00 -ATOM 163 HW2 SOLV 30 -14.902 -12.397 -7.126 1.00 0.00 -ATOM 164 OW SOLV 31 11.703 -8.521 4.138 1.00 0.00 -ATOM 165 HW1 SOLV 31 12.522 -8.189 4.608 1.00 0.00 -ATOM 166 HW2 SOLV 31 11.533 -9.471 4.398 1.00 0.00 -ATOM 167 OW SOLV 32 -1.953 -8.291 9.325 1.00 0.00 -ATOM 168 HW1 SOLV 32 -1.783 -7.431 9.805 1.00 0.00 -ATOM 169 HW2 SOLV 32 -2.470 -8.109 8.489 1.00 0.00 -ATOM 170 OW SOLV 33 5.476 -8.997 5.523 1.00 0.00 -ATOM 171 HW1 SOLV 33 4.800 -9.707 5.721 1.00 0.00 -ATOM 172 HW2 SOLV 33 5.100 -8.357 4.853 1.00 0.00 -ATOM 173 OW SOLV 34 13.694 -7.167 12.678 1.00 0.00 -ATOM 174 HW1 SOLV 34 12.952 -6.578 12.358 1.00 0.00 -ATOM 175 HW2 SOLV 34 13.338 -7.815 13.352 1.00 0.00 -ATOM 176 OW SOLV 35 -10.324 -10.429 9.703 1.00 0.00 -ATOM 177 HW1 SOLV 35 -11.235 -10.842 9.689 1.00 0.00 -ATOM 178 HW2 SOLV 35 -10.405 -9.451 9.894 1.00 0.00 -ATOM 179 OW SOLV 36 7.508 10.999 -11.467 1.00 0.00 -ATOM 180 HW1 SOLV 36 7.516 10.999 -10.467 1.00 0.00 -ATOM 181 HW2 SOLV 36 8.433 10.831 -11.808 1.00 0.00 -ATOM 182 OW SOLV 37 9.273 0.149 -14.409 1.00 0.00 -ATOM 183 HW1 SOLV 37 10.239 0.278 -14.182 1.00 0.00 -ATOM 184 HW2 SOLV 37 9.044 -0.822 -14.352 1.00 0.00 -ATOM 185 OW SOLV 38 -11.447 -1.812 -2.008 1.00 0.00 -ATOM 186 HW1 SOLV 38 -12.100 -2.436 -2.437 1.00 0.00 -ATOM 187 HW2 SOLV 38 -10.557 -2.260 -1.934 1.00 0.00 -ATOM 188 OW SOLV 39 -13.914 -4.642 -3.485 1.00 0.00 -ATOM 189 HW1 SOLV 39 -14.209 -4.133 -2.676 1.00 0.00 -ATOM 190 HW2 SOLV 39 -13.982 -5.623 -3.306 1.00 0.00 -ATOM 191 OW SOLV 40 1.046 -4.764 -13.536 1.00 0.00 -ATOM 192 HW1 SOLV 40 1.453 -4.534 -14.420 1.00 0.00 -ATOM 193 HW2 SOLV 40 0.117 -5.106 -13.676 1.00 0.00 -ATOM 194 OW SOLV 41 -1.082 -10.214 2.212 1.00 0.00 -ATOM 195 HW1 SOLV 41 -0.684 -10.968 1.690 1.00 0.00 -ATOM 196 HW2 SOLV 41 -1.793 -10.568 2.820 1.00 0.00 -ATOM 197 OW SOLV 42 0.795 10.487 9.744 1.00 0.00 -ATOM 198 HW1 SOLV 42 1.535 11.006 9.317 1.00 0.00 -ATOM 199 HW2 SOLV 42 0.622 9.656 9.215 1.00 0.00 -ATOM 200 OW SOLV 43 9.085 -0.093 6.034 1.00 0.00 -ATOM 201 HW1 SOLV 43 8.523 0.724 6.161 1.00 0.00 -ATOM 202 HW2 SOLV 43 8.750 -0.824 6.629 1.00 0.00 -ATOM 203 OW SOLV 44 5.307 -14.559 -9.035 1.00 0.00 -ATOM 204 HW1 SOLV 44 5.081 -13.593 -8.917 1.00 0.00 -ATOM 205 HW2 SOLV 44 6.173 -14.758 -8.575 1.00 0.00 -ATOM 206 OW SOLV 45 15.151 -9.376 11.345 1.00 0.00 -ATOM 207 HW1 SOLV 45 14.532 -9.959 11.870 1.00 0.00 -ATOM 208 HW2 SOLV 45 14.633 -8.624 10.936 1.00 0.00 -ATOM 209 OW SOLV 46 1.616 -9.088 -6.713 1.00 0.00 -ATOM 210 HW1 SOLV 46 1.233 -8.387 -7.314 1.00 0.00 -ATOM 211 HW2 SOLV 46 1.996 -9.830 -7.266 1.00 0.00 -ATOM 212 OW SOLV 47 1.820 9.646 0.362 1.00 0.00 -ATOM 213 HW1 SOLV 47 1.683 9.494 -0.617 1.00 0.00 -ATOM 214 HW2 SOLV 47 1.765 8.773 0.847 1.00 0.00 -ATOM 215 OW SOLV 48 10.924 11.669 -4.031 1.00 0.00 -ATOM 216 HW1 SOLV 48 10.206 11.897 -4.688 1.00 0.00 -ATOM 217 HW2 SOLV 48 11.559 12.438 -3.951 1.00 0.00 -ATOM 218 OW SOLV 49 7.893 -11.459 13.617 1.00 0.00 -ATOM 219 HW1 SOLV 49 7.620 -12.353 13.260 1.00 0.00 -ATOM 220 HW2 SOLV 49 7.326 -11.229 14.408 1.00 0.00 -ATOM 221 OW SOLV 50 -7.384 -6.469 11.507 1.00 0.00 -ATOM 222 HW1 SOLV 50 -6.650 -6.742 12.129 1.00 0.00 -ATOM 223 HW2 SOLV 50 -7.922 -7.272 11.253 1.00 0.00 -ATOM 224 OW SOLV 51 10.048 -9.580 -7.027 1.00 0.00 -ATOM 225 HW1 SOLV 51 9.155 -9.131 -7.004 1.00 0.00 -ATOM 226 HW2 SOLV 51 10.649 -9.162 -6.345 1.00 0.00 -ATOM 227 OW SOLV 52 -12.679 -5.675 2.679 1.00 0.00 -ATOM 228 HW1 SOLV 52 -12.269 -5.917 1.799 1.00 0.00 -ATOM 229 HW2 SOLV 52 -13.276 -6.417 2.983 1.00 0.00 -ATOM 230 OW SOLV 53 -5.526 10.402 1.275 1.00 0.00 -ATOM 231 HW1 SOLV 53 -5.902 11.305 1.070 1.00 0.00 -ATOM 232 HW2 SOLV 53 -5.422 10.301 2.265 1.00 0.00 -ATOM 233 OW SOLV 54 -4.248 6.683 9.714 1.00 0.00 -ATOM 234 HW1 SOLV 54 -3.808 6.821 10.602 1.00 0.00 -ATOM 235 HW2 SOLV 54 -3.599 6.894 8.984 1.00 0.00 -ATOM 236 OW SOLV 55 14.573 13.466 -2.326 1.00 0.00 -ATOM 237 HW1 SOLV 55 15.456 13.378 -1.866 1.00 0.00 -ATOM 238 HW2 SOLV 55 14.635 14.166 -3.037 1.00 0.00 -ATOM 239 OW SOLV 56 10.851 8.359 -3.475 1.00 0.00 -ATOM 240 HW1 SOLV 56 11.692 8.886 -3.360 1.00 0.00 -ATOM 241 HW2 SOLV 56 10.182 8.904 -3.981 1.00 0.00 -ATOM 242 OW SOLV 57 -8.306 0.381 -5.580 1.00 0.00 -ATOM 243 HW1 SOLV 57 -8.314 0.606 -6.554 1.00 0.00 -ATOM 244 HW2 SOLV 57 -8.984 -0.330 -5.396 1.00 0.00 -ATOM 245 OW SOLV 58 5.099 -7.620 8.371 1.00 0.00 -ATOM 246 HW1 SOLV 58 5.414 -8.333 7.746 1.00 0.00 -ATOM 247 HW2 SOLV 58 4.773 -6.834 7.844 1.00 0.00 -ATOM 248 OW SOLV 59 -9.419 6.177 -2.832 1.00 0.00 -ATOM 249 HW1 SOLV 59 -8.436 6.357 -2.814 1.00 0.00 -ATOM 250 HW2 SOLV 59 -9.823 6.442 -1.957 1.00 0.00 -ATOM 251 OW SOLV 60 -13.446 11.529 -14.609 1.00 0.00 -ATOM 252 HW1 SOLV 60 -12.641 11.264 -14.079 1.00 0.00 -ATOM 253 HW2 SOLV 60 -13.555 10.905 -15.383 1.00 0.00 -ATOM 254 OW SOLV 61 9.448 5.694 14.191 1.00 0.00 -ATOM 255 HW1 SOLV 61 9.959 5.363 14.984 1.00 0.00 -ATOM 256 HW2 SOLV 61 9.776 5.232 13.367 1.00 0.00 -ATOM 257 OW SOLV 62 4.514 -0.089 -6.008 1.00 0.00 -ATOM 258 HW1 SOLV 62 5.337 -0.587 -6.280 1.00 0.00 -ATOM 259 HW2 SOLV 62 4.615 0.877 -6.247 1.00 0.00 -ATOM 260 OW SOLV 63 -0.416 -8.520 11.516 1.00 0.00 -ATOM 261 HW1 SOLV 63 -0.125 -9.246 12.140 1.00 0.00 -ATOM 262 HW2 SOLV 63 -1.178 -8.847 10.957 1.00 0.00 -ATOM 263 OW SOLV 64 13.849 -9.874 -7.531 1.00 0.00 -ATOM 264 HW1 SOLV 64 14.228 -10.433 -6.793 1.00 0.00 -ATOM 265 HW2 SOLV 64 14.193 -10.205 -8.410 1.00 0.00 -ATOM 266 OW SOLV 65 12.732 -9.478 7.315 1.00 0.00 -ATOM 267 HW1 SOLV 65 13.601 -9.802 7.690 1.00 0.00 -ATOM 268 HW2 SOLV 65 11.978 -9.976 7.743 1.00 0.00 -ATOM 269 OW SOLV 66 -9.430 11.033 3.611 1.00 0.00 -ATOM 270 HW1 SOLV 66 -8.456 10.926 3.811 1.00 0.00 -ATOM 271 HW2 SOLV 66 -9.641 12.004 3.494 1.00 0.00 -ATOM 272 OW SOLV 67 -14.361 -1.115 -13.269 1.00 0.00 -ATOM 273 HW1 SOLV 67 -14.310 -0.280 -12.720 1.00 0.00 -ATOM 274 HW2 SOLV 67 -13.612 -1.125 -13.931 1.00 0.00 -ATOM 275 OW SOLV 68 -7.166 -1.568 8.650 1.00 0.00 -ATOM 276 HW1 SOLV 68 -6.189 -1.404 8.791 1.00 0.00 -ATOM 277 HW2 SOLV 68 -7.587 -0.751 8.255 1.00 0.00 -ATOM 278 OW SOLV 69 6.559 12.030 -6.818 1.00 0.00 -ATOM 279 HW1 SOLV 69 7.136 11.690 -7.561 1.00 0.00 -ATOM 280 HW2 SOLV 69 6.874 11.646 -5.950 1.00 0.00 -ATOM 281 OW SOLV 70 -11.874 -0.731 -15.142 1.00 0.00 -ATOM 282 HW1 SOLV 70 -10.926 -0.441 -15.269 1.00 0.00 -ATOM 283 HW2 SOLV 70 -12.386 -0.576 -15.987 1.00 0.00 -ATOM 284 OW SOLV 71 -4.812 -12.168 -13.030 1.00 0.00 -ATOM 285 HW1 SOLV 71 -5.010 -12.231 -14.009 1.00 0.00 -ATOM 286 HW2 SOLV 71 -3.828 -12.269 -12.882 1.00 0.00 -ATOM 287 OW SOLV 72 -5.258 15.006 -15.226 1.00 0.00 -ATOM 288 HW1 SOLV 72 -4.819 15.734 -15.752 1.00 0.00 -ATOM 289 HW2 SOLV 72 -5.796 14.428 -15.840 1.00 0.00 -ATOM 290 OW SOLV 73 -12.546 -11.212 -14.428 1.00 0.00 -ATOM 291 HW1 SOLV 73 -13.127 -10.398 -14.418 1.00 0.00 -ATOM 292 HW2 SOLV 73 -12.273 -11.415 -15.369 1.00 0.00 -ATOM 293 OW SOLV 74 -5.332 -10.385 -4.801 1.00 0.00 -ATOM 294 HW1 SOLV 74 -5.784 -10.842 -5.567 1.00 0.00 -ATOM 295 HW2 SOLV 74 -4.348 -10.339 -4.974 1.00 0.00 -ATOM 296 OW SOLV 75 -8.374 14.506 -2.714 1.00 0.00 -ATOM 297 HW1 SOLV 75 -9.246 14.992 -2.764 1.00 0.00 -ATOM 298 HW2 SOLV 75 -8.331 13.822 -3.442 1.00 0.00 -ATOM 299 OW SOLV 76 -3.714 -10.759 -1.223 1.00 0.00 -ATOM 300 HW1 SOLV 76 -4.005 -10.068 -0.562 1.00 0.00 -ATOM 301 HW2 SOLV 76 -2.882 -10.450 -1.683 1.00 0.00 -ATOM 302 OW SOLV 77 -1.067 -11.786 -11.687 1.00 0.00 -ATOM 303 HW1 SOLV 77 -0.967 -10.842 -12.000 1.00 0.00 -ATOM 304 HW2 SOLV 77 -0.846 -12.411 -12.436 1.00 0.00 -ATOM 305 OW SOLV 78 -11.647 -10.958 -2.686 1.00 0.00 -ATOM 306 HW1 SOLV 78 -11.683 -11.496 -3.529 1.00 0.00 -ATOM 307 HW2 SOLV 78 -10.730 -11.020 -2.290 1.00 0.00 -ATOM 308 OW SOLV 79 -8.859 -9.144 -7.252 1.00 0.00 -ATOM 309 HW1 SOLV 79 -7.992 -9.109 -7.749 1.00 0.00 -ATOM 310 HW2 SOLV 79 -9.128 -10.097 -7.118 1.00 0.00 -ATOM 311 OW SOLV 80 -5.681 -8.976 14.423 1.00 0.00 -ATOM 312 HW1 SOLV 80 -4.939 -8.316 14.541 1.00 0.00 -ATOM 313 HW2 SOLV 80 -5.614 -9.393 13.516 1.00 0.00 -ATOM 314 OW SOLV 81 6.208 -14.093 5.866 1.00 0.00 -ATOM 315 HW1 SOLV 81 5.365 -13.596 5.659 1.00 0.00 -ATOM 316 HW2 SOLV 81 6.987 -13.604 5.474 1.00 0.00 -ATOM 317 OW SOLV 82 2.550 -14.529 5.719 1.00 0.00 -ATOM 318 HW1 SOLV 82 3.456 -14.902 5.521 1.00 0.00 -ATOM 319 HW2 SOLV 82 2.599 -13.947 6.531 1.00 0.00 -ATOM 320 OW SOLV 83 9.458 -6.143 -5.084 1.00 0.00 -ATOM 321 HW1 SOLV 83 9.918 -6.740 -5.741 1.00 0.00 -ATOM 322 HW2 SOLV 83 9.219 -5.280 -5.529 1.00 0.00 -ATOM 323 OW SOLV 84 -1.446 3.344 -9.616 1.00 0.00 -ATOM 324 HW1 SOLV 84 -2.138 3.968 -9.254 1.00 0.00 -ATOM 325 HW2 SOLV 84 -1.881 2.486 -9.890 1.00 0.00 -ATOM 326 OW SOLV 85 -9.507 0.479 12.360 1.00 0.00 -ATOM 327 HW1 SOLV 85 -10.400 0.044 12.244 1.00 0.00 -ATOM 328 HW2 SOLV 85 -8.804 -0.079 11.918 1.00 0.00 -ATOM 329 OW SOLV 86 6.788 13.211 -13.231 1.00 0.00 -ATOM 330 HW1 SOLV 86 7.636 13.690 -13.004 1.00 0.00 -ATOM 331 HW2 SOLV 86 6.779 12.318 -12.782 1.00 0.00 -ATOM 332 OW SOLV 87 -14.898 1.494 4.461 1.00 0.00 -ATOM 333 HW1 SOLV 87 -15.183 2.261 3.886 1.00 0.00 -ATOM 334 HW2 SOLV 87 -14.503 0.776 3.888 1.00 0.00 -ATOM 335 OW SOLV 88 9.118 -8.648 -3.623 1.00 0.00 -ATOM 336 HW1 SOLV 88 9.274 -8.322 -2.691 1.00 0.00 -ATOM 337 HW2 SOLV 88 9.259 -7.895 -4.267 1.00 0.00 -ATOM 338 OW SOLV 89 -9.783 -6.263 7.841 1.00 0.00 -ATOM 339 HW1 SOLV 89 -8.874 -6.211 7.426 1.00 0.00 -ATOM 340 HW2 SOLV 89 -10.432 -5.741 7.287 1.00 0.00 -ATOM 341 OW SOLV 90 3.640 11.588 0.895 1.00 0.00 -ATOM 342 HW1 SOLV 90 4.496 11.254 1.289 1.00 0.00 -ATOM 343 HW2 SOLV 90 3.011 10.821 0.765 1.00 0.00 -ATOM 344 OW SOLV 91 -6.617 12.785 0.477 1.00 0.00 -ATOM 345 HW1 SOLV 91 -6.468 12.552 -0.484 1.00 0.00 -ATOM 346 HW2 SOLV 91 -7.504 13.238 0.575 1.00 0.00 -ATOM 347 OW SOLV 92 4.496 9.796 -13.822 1.00 0.00 -ATOM 348 HW1 SOLV 92 4.374 9.387 -14.725 1.00 0.00 -ATOM 349 HW2 SOLV 92 5.107 10.585 -13.893 1.00 0.00 -ATOM 350 OW SOLV 93 -8.760 0.669 -15.229 1.00 0.00 -ATOM 351 HW1 SOLV 93 -9.166 0.587 -16.140 1.00 0.00 -ATOM 352 HW2 SOLV 93 -7.813 0.349 -15.257 1.00 0.00 -ATOM 353 OW SOLV 94 14.265 13.370 -9.494 1.00 0.00 -ATOM 354 HW1 SOLV 94 14.340 13.833 -8.611 1.00 0.00 -ATOM 355 HW2 SOLV 94 14.721 13.917 -10.197 1.00 0.00 -ATOM 356 OW SOLV 95 9.165 -2.599 -13.858 1.00 0.00 -ATOM 357 HW1 SOLV 95 9.943 -2.739 -13.245 1.00 0.00 -ATOM 358 HW2 SOLV 95 8.759 -3.483 -14.088 1.00 0.00 -ATOM 359 OW SOLV 96 15.019 12.839 -13.614 1.00 0.00 -ATOM 360 HW1 SOLV 96 15.884 12.371 -13.794 1.00 0.00 -ATOM 361 HW2 SOLV 96 14.752 13.367 -14.420 1.00 0.00 -ATOM 362 OW SOLV 97 11.074 6.340 11.211 1.00 0.00 -ATOM 363 HW1 SOLV 97 10.311 6.021 11.775 1.00 0.00 -ATOM 364 HW2 SOLV 97 11.263 7.300 11.418 1.00 0.00 -ATOM 365 OW SOLV 98 -12.572 11.605 -10.967 1.00 0.00 -ATOM 366 HW1 SOLV 98 -12.633 10.621 -10.796 1.00 0.00 -ATOM 367 HW2 SOLV 98 -13.135 11.841 -11.758 1.00 0.00 -ATOM 368 OW SOLV 99 10.554 -14.082 -8.974 1.00 0.00 -ATOM 369 HW1 SOLV 99 11.333 -13.456 -8.954 1.00 0.00 -ATOM 370 HW2 SOLV 99 10.860 -15.003 -8.732 1.00 0.00 -ATOM 371 OW SOLV 100 -7.910 0.906 -9.517 1.00 0.00 -ATOM 372 HW1 SOLV 100 -7.550 1.349 -10.338 1.00 0.00 -ATOM 373 HW2 SOLV 100 -7.598 1.403 -8.707 1.00 0.00 -ATOM 374 OW SOLV 101 6.290 -3.439 2.979 1.00 0.00 -ATOM 375 HW1 SOLV 101 6.110 -3.735 3.918 1.00 0.00 -ATOM 376 HW2 SOLV 101 6.486 -2.459 2.971 1.00 0.00 -ATOM 377 OW SOLV 102 -8.337 -1.566 4.855 1.00 0.00 -ATOM 378 HW1 SOLV 102 -8.565 -0.608 4.679 1.00 0.00 -ATOM 379 HW2 SOLV 102 -7.402 -1.747 4.548 1.00 0.00 -ATOM 380 OW SOLV 103 13.282 -5.052 3.551 1.00 0.00 -ATOM 381 HW1 SOLV 103 13.423 -5.912 3.061 1.00 0.00 -ATOM 382 HW2 SOLV 103 12.493 -5.140 4.159 1.00 0.00 -ATOM 383 OW SOLV 104 -9.745 3.492 2.695 1.00 0.00 -ATOM 384 HW1 SOLV 104 -10.538 4.102 2.665 1.00 0.00 -ATOM 385 HW2 SOLV 104 -10.015 2.580 2.388 1.00 0.00 -ATOM 386 OW SOLV 105 12.353 -7.799 -9.968 1.00 0.00 -ATOM 387 HW1 SOLV 105 11.564 -8.138 -10.482 1.00 0.00 -ATOM 388 HW2 SOLV 105 12.412 -6.805 -10.067 1.00 0.00 -ATOM 389 OW SOLV 106 -7.351 -7.390 5.279 1.00 0.00 -ATOM 390 HW1 SOLV 106 -7.147 -8.171 5.871 1.00 0.00 -ATOM 391 HW2 SOLV 106 -8.338 -7.225 5.274 1.00 0.00 -ATOM 392 OW SOLV 107 -2.709 12.291 14.283 1.00 0.00 -ATOM 393 HW1 SOLV 107 -3.508 11.728 14.495 1.00 0.00 -ATOM 394 HW2 SOLV 107 -2.874 12.798 13.436 1.00 0.00 -ATOM 395 OW SOLV 108 -11.951 14.142 -14.713 1.00 0.00 -ATOM 396 HW1 SOLV 108 -12.063 14.301 -13.732 1.00 0.00 -ATOM 397 HW2 SOLV 108 -11.736 13.179 -14.873 1.00 0.00 -ATOM 398 OW SOLV 109 12.805 -7.525 -1.636 1.00 0.00 -ATOM 399 HW1 SOLV 109 13.299 -6.685 -1.858 1.00 0.00 -ATOM 400 HW2 SOLV 109 11.821 -7.348 -1.654 1.00 0.00 -ATOM 401 OW SOLV 110 -3.240 9.207 -10.818 1.00 0.00 -ATOM 402 HW1 SOLV 110 -3.173 9.315 -11.810 1.00 0.00 -ATOM 403 HW2 SOLV 110 -2.698 9.916 -10.368 1.00 0.00 -ATOM 404 OW SOLV 111 9.462 0.696 9.631 1.00 0.00 -ATOM 405 HW1 SOLV 111 10.317 1.137 9.361 1.00 0.00 -ATOM 406 HW2 SOLV 111 9.098 1.145 10.447 1.00 0.00 -ATOM 407 OW SOLV 112 -0.055 6.348 14.021 1.00 0.00 -ATOM 408 HW1 SOLV 112 0.053 6.395 13.028 1.00 0.00 -ATOM 409 HW2 SOLV 112 0.782 5.985 14.430 1.00 0.00 -ATOM 410 OW SOLV 113 -13.965 4.690 4.950 1.00 0.00 -ATOM 411 HW1 SOLV 113 -14.018 4.066 4.170 1.00 0.00 -ATOM 412 HW2 SOLV 113 -14.709 4.490 5.587 1.00 0.00 -ATOM 413 OW SOLV 114 15.289 15.044 5.014 1.00 0.00 -ATOM 414 HW1 SOLV 114 16.284 14.969 4.949 1.00 0.00 -ATOM 415 HW2 SOLV 114 14.940 14.332 5.623 1.00 0.00 -ATOM 416 OW SOLV 115 -4.990 -13.736 -4.912 1.00 0.00 -ATOM 417 HW1 SOLV 115 -4.175 -13.455 -5.420 1.00 0.00 -ATOM 418 HW2 SOLV 115 -4.874 -13.508 -3.945 1.00 0.00 -ATOM 419 OW SOLV 116 -13.760 8.168 6.450 1.00 0.00 -ATOM 420 HW1 SOLV 116 -14.703 8.485 6.545 1.00 0.00 -ATOM 421 HW2 SOLV 116 -13.430 8.372 5.528 1.00 0.00 -ATOM 422 OW SOLV 117 3.679 0.046 -13.417 1.00 0.00 -ATOM 423 HW1 SOLV 117 4.584 -0.225 -13.745 1.00 0.00 -ATOM 424 HW2 SOLV 117 3.649 -0.031 -12.420 1.00 0.00 -ATOM 425 OW SOLV 118 5.843 -10.221 0.083 1.00 0.00 -ATOM 426 HW1 SOLV 118 5.093 -10.771 -0.285 1.00 0.00 -ATOM 427 HW2 SOLV 118 6.027 -9.454 -0.533 1.00 0.00 -ATOM 428 OW SOLV 119 -2.476 -5.746 10.450 1.00 0.00 -ATOM 429 HW1 SOLV 119 -3.001 -5.429 9.660 1.00 0.00 -ATOM 430 HW2 SOLV 119 -2.031 -4.965 10.889 1.00 0.00 -ATOM 431 OW SOLV 120 -8.575 -0.954 -2.751 1.00 0.00 -ATOM 432 HW1 SOLV 120 -8.068 -0.911 -3.612 1.00 0.00 -ATOM 433 HW2 SOLV 120 -9.516 -1.240 -2.933 1.00 0.00 -ATOM 434 OW SOLV 121 -5.592 9.242 11.752 1.00 0.00 -ATOM 435 HW1 SOLV 121 -5.893 8.373 12.145 1.00 0.00 -ATOM 436 HW2 SOLV 121 -4.915 9.067 11.037 1.00 0.00 -ATOM 437 OW SOLV 122 -14.841 0.680 -7.297 1.00 0.00 -ATOM 438 HW1 SOLV 122 -14.655 1.613 -6.988 1.00 0.00 -ATOM 439 HW2 SOLV 122 -15.827 0.513 -7.279 1.00 0.00 -ATOM 440 OW SOLV 123 -2.464 14.219 -10.883 1.00 0.00 -ATOM 441 HW1 SOLV 123 -1.829 14.431 -10.141 1.00 0.00 -ATOM 442 HW2 SOLV 123 -2.076 13.500 -11.460 1.00 0.00 -ATOM 443 OW SOLV 124 0.593 -0.220 8.223 1.00 0.00 -ATOM 444 HW1 SOLV 124 -0.086 0.425 8.574 1.00 0.00 -ATOM 445 HW2 SOLV 124 1.493 0.217 8.213 1.00 0.00 -ATOM 446 OW SOLV 125 -14.124 3.963 -4.123 1.00 0.00 -ATOM 447 HW1 SOLV 125 -13.920 3.446 -3.292 1.00 0.00 -ATOM 448 HW2 SOLV 125 -13.853 4.918 -3.997 1.00 0.00 -ATOM 449 OW SOLV 126 15.286 -14.107 14.881 1.00 0.00 -ATOM 450 HW1 SOLV 126 14.419 -14.409 14.486 1.00 0.00 -ATOM 451 HW2 SOLV 126 16.034 -14.339 14.258 1.00 0.00 -ATOM 452 OW SOLV 127 -13.625 -9.585 -10.994 1.00 0.00 -ATOM 453 HW1 SOLV 127 -14.510 -9.145 -11.148 1.00 0.00 -ATOM 454 HW2 SOLV 127 -13.753 -10.574 -10.916 1.00 0.00 -ATOM 455 OW SOLV 128 -6.006 8.196 -11.995 1.00 0.00 -ATOM 456 HW1 SOLV 128 -5.039 8.221 -11.741 1.00 0.00 -ATOM 457 HW2 SOLV 128 -6.406 9.104 -11.872 1.00 0.00 -ATOM 458 OW SOLV 129 6.277 5.260 10.996 1.00 0.00 -ATOM 459 HW1 SOLV 129 5.814 4.378 10.901 1.00 0.00 -ATOM 460 HW2 SOLV 129 5.675 5.902 11.471 1.00 0.00 -ATOM 461 OW SOLV 130 -10.044 15.293 6.759 1.00 0.00 -ATOM 462 HW1 SOLV 130 -10.124 15.298 7.756 1.00 0.00 -ATOM 463 HW2 SOLV 130 -9.905 16.228 6.431 1.00 0.00 -ATOM 464 OW SOLV 131 7.589 7.680 9.027 1.00 0.00 -ATOM 465 HW1 SOLV 131 8.367 8.119 9.477 1.00 0.00 -ATOM 466 HW2 SOLV 131 7.710 6.687 9.045 1.00 0.00 -ATOM 467 OW SOLV 132 -7.872 4.961 0.723 1.00 0.00 -ATOM 468 HW1 SOLV 132 -7.409 4.216 0.242 1.00 0.00 -ATOM 469 HW2 SOLV 132 -7.404 5.140 1.589 1.00 0.00 -ATOM 470 OW SOLV 133 -12.816 -4.522 -8.073 1.00 0.00 -ATOM 471 HW1 SOLV 133 -13.396 -3.711 -8.154 1.00 0.00 -ATOM 472 HW2 SOLV 133 -12.165 -4.393 -7.325 1.00 0.00 -ATOM 473 OW SOLV 134 6.207 1.292 3.105 1.00 0.00 -ATOM 474 HW1 SOLV 134 6.714 1.931 2.526 1.00 0.00 -ATOM 475 HW2 SOLV 134 5.966 1.742 3.965 1.00 0.00 -ATOM 476 OW SOLV 135 -2.744 -10.953 10.411 1.00 0.00 -ATOM 477 HW1 SOLV 135 -2.532 -11.411 11.275 1.00 0.00 -ATOM 478 HW2 SOLV 135 -3.492 -10.304 10.552 1.00 0.00 -ATOM 479 OW SOLV 136 -9.090 -11.888 -1.588 1.00 0.00 -ATOM 480 HW1 SOLV 136 -8.502 -11.741 -2.383 1.00 0.00 -ATOM 481 HW2 SOLV 136 -8.531 -11.899 -0.758 1.00 0.00 -ATOM 482 OW SOLV 137 14.539 11.354 -4.884 1.00 0.00 -ATOM 483 HW1 SOLV 137 14.387 12.034 -5.601 1.00 0.00 -ATOM 484 HW2 SOLV 137 15.463 11.457 -4.517 1.00 0.00 -ATOM 485 OW SOLV 138 2.344 1.737 -6.312 1.00 0.00 -ATOM 486 HW1 SOLV 138 2.297 1.031 -7.019 1.00 0.00 -ATOM 487 HW2 SOLV 138 2.952 1.434 -5.578 1.00 0.00 -ATOM 488 OW SOLV 139 -4.590 -1.236 -9.745 1.00 0.00 -ATOM 489 HW1 SOLV 139 -5.530 -1.579 -9.745 1.00 0.00 -ATOM 490 HW2 SOLV 139 -4.506 -0.495 -9.079 1.00 0.00 -ATOM 491 OW SOLV 140 -11.298 9.730 -1.123 1.00 0.00 -ATOM 492 HW1 SOLV 140 -11.264 9.060 -0.381 1.00 0.00 -ATOM 493 HW2 SOLV 140 -11.121 9.271 -1.994 1.00 0.00 -ATOM 494 OW SOLV 141 -9.517 9.564 -3.300 1.00 0.00 -ATOM 495 HW1 SOLV 141 -9.325 9.329 -2.347 1.00 0.00 -ATOM 496 HW2 SOLV 141 -8.767 9.244 -3.879 1.00 0.00 -ATOM 497 OW SOLV 142 -13.418 9.175 3.792 1.00 0.00 -ATOM 498 HW1 SOLV 142 -13.945 9.742 3.159 1.00 0.00 -ATOM 499 HW2 SOLV 142 -12.731 9.738 4.251 1.00 0.00 -ATOM 500 OW SOLV 143 -9.235 -2.157 -12.261 1.00 0.00 -ATOM 501 HW1 SOLV 143 -9.813 -2.309 -13.062 1.00 0.00 -ATOM 502 HW2 SOLV 143 -9.489 -2.801 -11.540 1.00 0.00 -ATOM 503 OW SOLV 144 4.543 -11.295 7.975 1.00 0.00 -ATOM 504 HW1 SOLV 144 5.310 -11.932 7.904 1.00 0.00 -ATOM 505 HW2 SOLV 144 3.992 -11.524 8.778 1.00 0.00 -ATOM 506 OW SOLV 145 1.142 3.043 -10.112 1.00 0.00 -ATOM 507 HW1 SOLV 145 1.354 3.888 -10.604 1.00 0.00 -ATOM 508 HW2 SOLV 145 0.558 3.252 -9.328 1.00 0.00 -ATOM 509 OW SOLV 146 -11.896 -10.899 4.764 1.00 0.00 -ATOM 510 HW1 SOLV 146 -11.620 -11.176 3.843 1.00 0.00 -ATOM 511 HW2 SOLV 146 -12.641 -10.234 4.702 1.00 0.00 -ATOM 512 OW SOLV 147 -4.568 6.969 5.733 1.00 0.00 -ATOM 513 HW1 SOLV 147 -3.918 7.031 6.491 1.00 0.00 -ATOM 514 HW2 SOLV 147 -5.499 7.079 6.084 1.00 0.00 -ATOM 515 OW SOLV 148 -14.799 7.224 13.264 1.00 0.00 -ATOM 516 HW1 SOLV 148 -15.443 7.862 12.843 1.00 0.00 -ATOM 517 HW2 SOLV 148 -13.976 7.718 13.544 1.00 0.00 -ATOM 518 OW SOLV 149 -6.120 -3.066 3.190 1.00 0.00 -ATOM 519 HW1 SOLV 149 -6.824 -3.604 2.727 1.00 0.00 -ATOM 520 HW2 SOLV 149 -5.778 -2.361 2.569 1.00 0.00 -ATOM 521 OW SOLV 150 -12.765 -9.889 -5.902 1.00 0.00 -ATOM 522 HW1 SOLV 150 -13.245 -10.703 -6.229 1.00 0.00 -ATOM 523 HW2 SOLV 150 -13.269 -9.071 -6.179 1.00 0.00 -ATOM 524 OW SOLV 151 -7.641 -14.639 -6.016 1.00 0.00 -ATOM 525 HW1 SOLV 151 -6.830 -15.012 -5.564 1.00 0.00 -ATOM 526 HW2 SOLV 151 -7.474 -14.576 -7.000 1.00 0.00 -ATOM 527 OW SOLV 152 -7.703 -2.443 -0.409 1.00 0.00 -ATOM 528 HW1 SOLV 152 -7.959 -1.810 -1.140 1.00 0.00 -ATOM 529 HW2 SOLV 152 -7.421 -3.316 -0.808 1.00 0.00 -ATOM 530 OW SOLV 153 -14.878 0.217 14.313 1.00 0.00 -ATOM 531 HW1 SOLV 153 -14.481 1.064 14.668 1.00 0.00 -ATOM 532 HW2 SOLV 153 -14.147 -0.433 14.108 1.00 0.00 -ATOM 533 OW SOLV 154 -12.314 -12.520 -4.911 1.00 0.00 -ATOM 534 HW1 SOLV 154 -11.718 -12.857 -5.640 1.00 0.00 -ATOM 535 HW2 SOLV 154 -12.447 -11.535 -5.019 1.00 0.00 -ATOM 536 OW SOLV 155 2.404 -2.087 -14.937 1.00 0.00 -ATOM 537 HW1 SOLV 155 2.895 -1.398 -14.403 1.00 0.00 -ATOM 538 HW2 SOLV 155 2.578 -2.993 -14.553 1.00 0.00 -ATOM 539 OW SOLV 156 -11.177 -15.148 -2.245 1.00 0.00 -ATOM 540 HW1 SOLV 156 -10.793 -16.059 -2.397 1.00 0.00 -ATOM 541 HW2 SOLV 156 -11.612 -15.116 -1.345 1.00 0.00 -ATOM 542 OW SOLV 157 -3.962 -8.282 -8.918 1.00 0.00 -ATOM 543 HW1 SOLV 157 -4.893 -8.606 -9.089 1.00 0.00 -ATOM 544 HW2 SOLV 157 -3.957 -7.700 -8.104 1.00 0.00 -ATOM 545 OW SOLV 158 11.936 -9.428 -3.912 1.00 0.00 -ATOM 546 HW1 SOLV 158 12.746 -9.334 -4.491 1.00 0.00 -ATOM 547 HW2 SOLV 158 11.901 -8.669 -3.262 1.00 0.00 -ATOM 548 OW SOLV 159 -4.131 4.317 -3.058 1.00 0.00 -ATOM 549 HW1 SOLV 159 -4.187 5.235 -2.667 1.00 0.00 -ATOM 550 HW2 SOLV 159 -3.198 4.145 -3.374 1.00 0.00 -ATOM 551 OW SOLV 160 5.909 14.769 9.107 1.00 0.00 -ATOM 552 HW1 SOLV 160 5.080 14.238 9.283 1.00 0.00 -ATOM 553 HW2 SOLV 160 6.261 14.545 8.197 1.00 0.00 -ATOM 554 OW SOLV 161 -1.449 9.697 -3.787 1.00 0.00 -ATOM 555 HW1 SOLV 161 -1.601 10.336 -3.033 1.00 0.00 -ATOM 556 HW2 SOLV 161 -1.466 10.195 -4.654 1.00 0.00 -ATOM 557 OW SOLV 162 9.181 -4.426 0.416 1.00 0.00 -ATOM 558 HW1 SOLV 162 9.880 -5.099 0.656 1.00 0.00 -ATOM 559 HW2 SOLV 162 8.486 -4.395 1.135 1.00 0.00 -ATOM 560 OW SOLV 163 10.340 -7.266 6.920 1.00 0.00 -ATOM 561 HW1 SOLV 163 10.744 -8.127 6.611 1.00 0.00 -ATOM 562 HW2 SOLV 163 10.738 -7.008 7.800 1.00 0.00 -ATOM 563 OW SOLV 164 6.737 12.112 3.808 1.00 0.00 -ATOM 564 HW1 SOLV 164 5.869 11.616 3.855 1.00 0.00 -ATOM 565 HW2 SOLV 164 6.580 13.022 3.424 1.00 0.00 -ATOM 566 OW SOLV 165 -3.505 6.911 13.713 1.00 0.00 -ATOM 567 HW1 SOLV 165 -4.451 7.100 13.447 1.00 0.00 -ATOM 568 HW2 SOLV 165 -3.381 5.924 13.822 1.00 0.00 -ATOM 569 OW SOLV 166 3.404 -2.643 8.113 1.00 0.00 -ATOM 570 HW1 SOLV 166 3.036 -3.354 8.713 1.00 0.00 -ATOM 571 HW2 SOLV 166 4.065 -3.050 7.482 1.00 0.00 -ATOM 572 OW SOLV 167 6.050 12.941 -9.668 1.00 0.00 -ATOM 573 HW1 SOLV 167 5.917 13.897 -9.407 1.00 0.00 -ATOM 574 HW2 SOLV 167 6.647 12.493 -9.003 1.00 0.00 -ATOM 575 OW SOLV 168 -3.313 14.501 -0.368 1.00 0.00 -ATOM 576 HW1 SOLV 168 -3.729 14.094 -1.181 1.00 0.00 -ATOM 577 HW2 SOLV 168 -4.024 14.701 0.306 1.00 0.00 -ATOM 578 OW SOLV 169 6.131 12.331 -3.767 1.00 0.00 -ATOM 579 HW1 SOLV 169 5.871 11.529 -3.229 1.00 0.00 -ATOM 580 HW2 SOLV 169 5.469 12.466 -4.504 1.00 0.00 -ATOM 581 OW SOLV 170 -14.971 4.973 8.114 1.00 0.00 -ATOM 582 HW1 SOLV 170 -14.750 5.938 7.974 1.00 0.00 -ATOM 583 HW2 SOLV 170 -15.798 4.743 7.600 1.00 0.00 -ATOM 584 OW SOLV 171 -7.922 6.731 -14.972 1.00 0.00 -ATOM 585 HW1 SOLV 171 -7.240 6.003 -14.902 1.00 0.00 -ATOM 586 HW2 SOLV 171 -7.911 7.109 -15.898 1.00 0.00 -ATOM 587 OW SOLV 172 -6.454 -4.458 6.117 1.00 0.00 -ATOM 588 HW1 SOLV 172 -7.024 -3.953 5.469 1.00 0.00 -ATOM 589 HW2 SOLV 172 -5.521 -4.519 5.763 1.00 0.00 -ATOM 590 OW SOLV 173 -1.073 6.468 -3.928 1.00 0.00 -ATOM 591 HW1 SOLV 173 -1.308 7.413 -4.157 1.00 0.00 -ATOM 592 HW2 SOLV 173 -0.343 6.463 -3.245 1.00 0.00 -ATOM 593 OW SOLV 174 -8.720 -14.797 -12.240 1.00 0.00 -ATOM 594 HW1 SOLV 174 -8.588 -14.511 -13.190 1.00 0.00 -ATOM 595 HW2 SOLV 174 -9.462 -14.264 -11.833 1.00 0.00 -ATOM 596 OW SOLV 175 -14.833 15.073 1.174 1.00 0.00 -ATOM 597 HW1 SOLV 175 -14.956 15.112 0.182 1.00 0.00 -ATOM 598 HW2 SOLV 175 -14.602 14.138 1.444 1.00 0.00 -ATOM 599 OW SOLV 176 5.618 -7.594 -1.298 1.00 0.00 -ATOM 600 HW1 SOLV 176 6.071 -7.043 -1.998 1.00 0.00 -ATOM 601 HW2 SOLV 176 5.037 -8.279 -1.737 1.00 0.00 -ATOM 602 OW SOLV 177 -10.382 -13.876 15.117 1.00 0.00 -ATOM 603 HW1 SOLV 177 -11.290 -13.549 15.379 1.00 0.00 -ATOM 604 HW2 SOLV 177 -10.257 -14.812 15.447 1.00 0.00 -ATOM 605 OW SOLV 178 -8.052 -5.131 0.724 1.00 0.00 -ATOM 606 HW1 SOLV 178 -8.111 -5.564 1.624 1.00 0.00 -ATOM 607 HW2 SOLV 178 -7.125 -5.237 0.363 1.00 0.00 -ATOM 608 OW SOLV 179 5.302 -7.576 -12.736 1.00 0.00 -ATOM 609 HW1 SOLV 179 5.327 -8.535 -12.451 1.00 0.00 -ATOM 610 HW2 SOLV 179 6.188 -7.150 -12.549 1.00 0.00 -ATOM 611 OW SOLV 180 -9.836 7.102 -0.238 1.00 0.00 -ATOM 612 HW1 SOLV 180 -10.645 7.471 0.221 1.00 0.00 -ATOM 613 HW2 SOLV 180 -9.715 6.144 0.021 1.00 0.00 -ATOM 614 OW SOLV 181 -6.516 -12.424 10.182 1.00 0.00 -ATOM 615 HW1 SOLV 181 -7.136 -12.990 10.727 1.00 0.00 -ATOM 616 HW2 SOLV 181 -6.650 -11.462 10.417 1.00 0.00 -ATOM 617 OW SOLV 182 -5.176 5.611 -9.513 1.00 0.00 -ATOM 618 HW1 SOLV 182 -6.122 5.426 -9.245 1.00 0.00 -ATOM 619 HW2 SOLV 182 -5.165 6.044 -10.415 1.00 0.00 -ATOM 620 OW SOLV 183 6.791 -3.890 9.998 1.00 0.00 -ATOM 621 HW1 SOLV 183 5.827 -3.711 9.802 1.00 0.00 -ATOM 622 HW2 SOLV 183 7.100 -3.283 10.731 1.00 0.00 -ATOM 623 OW SOLV 184 9.149 -5.267 -2.164 1.00 0.00 -ATOM 624 HW1 SOLV 184 9.410 -6.221 -2.019 1.00 0.00 -ATOM 625 HW2 SOLV 184 9.021 -4.818 -1.280 1.00 0.00 -ATOM 626 OW SOLV 185 0.227 -15.046 7.238 1.00 0.00 -ATOM 627 HW1 SOLV 185 -0.414 -15.052 6.471 1.00 0.00 -ATOM 628 HW2 SOLV 185 1.154 -14.888 6.897 1.00 0.00 -ATOM 629 OW SOLV 186 11.337 13.316 -0.600 1.00 0.00 -ATOM 630 HW1 SOLV 186 11.769 13.639 -1.442 1.00 0.00 -ATOM 631 HW2 SOLV 186 12.027 13.240 0.120 1.00 0.00 -ATOM 632 OW SOLV 187 14.350 9.473 5.648 1.00 0.00 -ATOM 633 HW1 SOLV 187 13.594 9.797 5.079 1.00 0.00 -ATOM 634 HW2 SOLV 187 14.951 10.241 5.871 1.00 0.00 -ATOM 635 OW SOLV 188 -7.096 7.997 -4.813 1.00 0.00 -ATOM 636 HW1 SOLV 188 -7.632 7.232 -5.172 1.00 0.00 -ATOM 637 HW2 SOLV 188 -6.491 7.669 -4.088 1.00 0.00 -ATOM 638 OW SOLV 189 2.266 -0.447 13.351 1.00 0.00 -ATOM 639 HW1 SOLV 189 1.681 0.130 13.921 1.00 0.00 -ATOM 640 HW2 SOLV 189 3.200 -0.428 13.707 1.00 0.00 -ATOM 641 OW SOLV 190 -0.573 12.628 -7.791 1.00 0.00 -ATOM 642 HW1 SOLV 190 0.069 11.865 -7.861 1.00 0.00 -ATOM 643 HW2 SOLV 190 -1.421 12.313 -7.364 1.00 0.00 -ATOM 644 OW SOLV 191 0.297 -12.263 0.299 1.00 0.00 -ATOM 645 HW1 SOLV 191 0.596 -13.023 -0.277 1.00 0.00 -ATOM 646 HW2 SOLV 191 -0.633 -11.997 0.044 1.00 0.00 -ATOM 647 OW SOLV 192 4.213 10.210 -10.393 1.00 0.00 -ATOM 648 HW1 SOLV 192 3.694 11.037 -10.611 1.00 0.00 -ATOM 649 HW2 SOLV 192 5.112 10.256 -10.828 1.00 0.00 -ATOM 650 OW SOLV 193 13.507 -13.562 -0.411 1.00 0.00 -ATOM 651 HW1 SOLV 193 13.730 -13.787 -1.360 1.00 0.00 -ATOM 652 HW2 SOLV 193 14.348 -13.522 0.128 1.00 0.00 -ATOM 653 OW SOLV 194 1.700 4.117 11.101 1.00 0.00 -ATOM 654 HW1 SOLV 194 1.567 5.102 11.211 1.00 0.00 -ATOM 655 HW2 SOLV 194 2.306 3.948 10.324 1.00 0.00 -ATOM 656 OW SOLV 195 15.166 -9.417 15.122 1.00 0.00 -ATOM 657 HW1 SOLV 195 15.336 -9.928 14.280 1.00 0.00 -ATOM 658 HW2 SOLV 195 14.285 -9.694 15.507 1.00 0.00 -ATOM 659 OW SOLV 196 4.991 -1.905 -10.095 1.00 0.00 -ATOM 660 HW1 SOLV 196 4.239 -2.466 -10.442 1.00 0.00 -ATOM 661 HW2 SOLV 196 4.656 -0.984 -9.898 1.00 0.00 -ATOM 662 OW SOLV 197 6.001 -3.608 7.075 1.00 0.00 -ATOM 663 HW1 SOLV 197 5.988 -3.694 8.071 1.00 0.00 -ATOM 664 HW2 SOLV 197 6.697 -4.219 6.697 1.00 0.00 -ATOM 665 OW SOLV 198 6.870 -7.701 13.307 1.00 0.00 -ATOM 666 HW1 SOLV 198 7.745 -7.625 13.785 1.00 0.00 -ATOM 667 HW2 SOLV 198 6.989 -8.247 12.477 1.00 0.00 -ATOM 668 OW SOLV 199 7.042 11.133 0.970 1.00 0.00 -ATOM 669 HW1 SOLV 199 7.819 11.562 1.431 1.00 0.00 -ATOM 670 HW2 SOLV 199 7.222 11.087 -0.013 1.00 0.00 -ATOM 671 OW SOLV 200 -3.801 0.897 -7.545 1.00 0.00 -ATOM 672 HW1 SOLV 200 -4.635 1.435 -7.664 1.00 0.00 -ATOM 673 HW2 SOLV 200 -3.328 1.194 -6.716 1.00 0.00 -ATOM 674 OW SOLV 201 14.424 5.678 -6.439 1.00 0.00 -ATOM 675 HW1 SOLV 201 13.633 5.889 -7.013 1.00 0.00 -ATOM 676 HW2 SOLV 201 14.778 6.522 -6.036 1.00 0.00 -ATOM 677 OW SOLV 202 -3.020 5.372 -11.390 1.00 0.00 -ATOM 678 HW1 SOLV 202 -3.510 5.226 -10.531 1.00 0.00 -ATOM 679 HW2 SOLV 202 -3.053 6.342 -11.632 1.00 0.00 -ATOM 680 OW SOLV 203 -13.161 -6.597 5.735 1.00 0.00 -ATOM 681 HW1 SOLV 203 -13.327 -5.636 5.957 1.00 0.00 -ATOM 682 HW2 SOLV 203 -12.178 -6.748 5.625 1.00 0.00 -ATOM 683 OW SOLV 204 -0.877 -5.531 -7.881 1.00 0.00 -ATOM 684 HW1 SOLV 204 -0.937 -5.420 -6.889 1.00 0.00 -ATOM 685 HW2 SOLV 204 -1.129 -6.467 -8.127 1.00 0.00 -ATOM 686 OW SOLV 205 -3.739 10.480 -7.201 1.00 0.00 -ATOM 687 HW1 SOLV 205 -4.491 11.137 -7.262 1.00 0.00 -ATOM 688 HW2 SOLV 205 -3.377 10.302 -8.116 1.00 0.00 -ATOM 689 OW SOLV 206 -2.620 -11.996 -3.634 1.00 0.00 -ATOM 690 HW1 SOLV 206 -1.708 -11.789 -3.987 1.00 0.00 -ATOM 691 HW2 SOLV 206 -2.573 -12.796 -3.035 1.00 0.00 -ATOM 692 OW SOLV 207 14.844 8.095 -4.721 1.00 0.00 -ATOM 693 HW1 SOLV 207 15.319 8.386 -3.890 1.00 0.00 -ATOM 694 HW2 SOLV 207 14.526 8.900 -5.222 1.00 0.00 -ATOM 695 OW SOLV 208 -14.064 13.982 -11.271 1.00 0.00 -ATOM 696 HW1 SOLV 208 -13.800 14.193 -12.212 1.00 0.00 -ATOM 697 HW2 SOLV 208 -14.934 13.490 -11.271 1.00 0.00 -ATOM 698 OW SOLV 209 -8.284 -12.856 -8.010 1.00 0.00 -ATOM 699 HW1 SOLV 209 -7.914 -12.883 -8.938 1.00 0.00 -ATOM 700 HW2 SOLV 209 -7.541 -12.696 -7.360 1.00 0.00 -ATOM 701 OW SOLV 210 0.165 8.466 -12.327 1.00 0.00 -ATOM 702 HW1 SOLV 210 0.853 8.840 -11.705 1.00 0.00 -ATOM 703 HW2 SOLV 210 0.535 8.437 -13.255 1.00 0.00 -ATOM 704 OW SOLV 211 -2.242 4.205 8.547 1.00 0.00 -ATOM 705 HW1 SOLV 211 -2.392 4.518 7.609 1.00 0.00 -ATOM 706 HW2 SOLV 211 -2.978 4.543 9.133 1.00 0.00 -ATOM 707 OW SOLV 212 -12.412 -6.015 -0.508 1.00 0.00 -ATOM 708 HW1 SOLV 212 -12.460 -6.881 -0.010 1.00 0.00 -ATOM 709 HW2 SOLV 212 -12.774 -6.142 -1.432 1.00 0.00 -ATOM 710 OW SOLV 213 -8.463 -2.140 14.166 1.00 0.00 -ATOM 711 HW1 SOLV 213 -8.938 -2.958 13.839 1.00 0.00 -ATOM 712 HW2 SOLV 213 -7.822 -1.826 13.466 1.00 0.00 -ATOM 713 OW SOLV 214 -7.487 3.717 -2.832 1.00 0.00 -ATOM 714 HW1 SOLV 214 -8.118 3.044 -2.447 1.00 0.00 -ATOM 715 HW2 SOLV 214 -7.883 4.631 -2.748 1.00 0.00 -ATOM 716 OW SOLV 215 14.683 8.262 0.598 1.00 0.00 -ATOM 717 HW1 SOLV 215 14.345 8.954 1.237 1.00 0.00 -ATOM 718 HW2 SOLV 215 13.925 7.933 0.034 1.00 0.00 -ATOM 719 OW SOLV 216 -7.224 -1.868 -9.383 1.00 0.00 -ATOM 720 HW1 SOLV 216 -7.400 -0.951 -9.743 1.00 0.00 -ATOM 721 HW2 SOLV 216 -7.927 -2.497 -9.716 1.00 0.00 -ATOM 722 OW SOLV 217 14.986 2.921 1.557 1.00 0.00 -ATOM 723 HW1 SOLV 217 14.600 2.193 0.991 1.00 0.00 -ATOM 724 HW2 SOLV 217 14.404 3.732 1.500 1.00 0.00 -ATOM 725 OW SOLV 218 4.939 2.836 -6.280 1.00 0.00 -ATOM 726 HW1 SOLV 218 4.076 2.965 -6.769 1.00 0.00 -ATOM 727 HW2 SOLV 218 5.690 2.785 -6.939 1.00 0.00 -ATOM 728 OW SOLV 219 14.554 8.581 -7.428 1.00 0.00 -ATOM 729 HW1 SOLV 219 15.520 8.822 -7.521 1.00 0.00 -ATOM 730 HW2 SOLV 219 14.009 9.415 -7.340 1.00 0.00 -ATOM 731 OW SOLV 220 -8.692 -11.534 14.635 1.00 0.00 -ATOM 732 HW1 SOLV 220 -9.408 -12.214 14.478 1.00 0.00 -ATOM 733 HW2 SOLV 220 -8.769 -11.178 15.567 1.00 0.00 -ATOM 734 OW SOLV 221 8.811 0.960 -9.429 1.00 0.00 -ATOM 735 HW1 SOLV 221 9.313 1.707 -8.993 1.00 0.00 -ATOM 736 HW2 SOLV 221 9.096 0.881 -10.385 1.00 0.00 -ATOM 737 OW SOLV 222 -1.278 -3.640 11.832 1.00 0.00 -ATOM 738 HW1 SOLV 222 -1.157 -2.903 12.497 1.00 0.00 -ATOM 739 HW2 SOLV 222 -0.841 -3.386 10.970 1.00 0.00 -ATOM 740 OW SOLV 223 4.870 -2.107 -3.700 1.00 0.00 -ATOM 741 HW1 SOLV 223 5.414 -2.673 -3.080 1.00 0.00 -ATOM 742 HW2 SOLV 223 5.362 -1.992 -4.563 1.00 0.00 -ATOM 743 OW SOLV 224 4.249 -12.960 -1.577 1.00 0.00 -ATOM 744 HW1 SOLV 224 4.840 -12.632 -0.841 1.00 0.00 -ATOM 745 HW2 SOLV 224 4.762 -13.587 -2.163 1.00 0.00 -ATOM 746 OW SOLV 225 8.882 2.849 11.483 1.00 0.00 -ATOM 747 HW1 SOLV 225 8.163 3.010 12.159 1.00 0.00 -ATOM 748 HW2 SOLV 225 9.736 2.624 11.951 1.00 0.00 -ATOM 749 OW SOLV 226 14.045 2.640 -15.175 1.00 0.00 -ATOM 750 HW1 SOLV 226 14.882 2.106 -15.052 1.00 0.00 -ATOM 751 HW2 SOLV 226 13.284 2.176 -14.723 1.00 0.00 -ATOM 752 OW SOLV 227 10.672 12.583 15.074 1.00 0.00 -ATOM 753 HW1 SOLV 227 10.866 12.814 16.027 1.00 0.00 -ATOM 754 HW2 SOLV 227 10.448 11.611 15.005 1.00 0.00 -ATOM 755 OW SOLV 228 5.391 9.380 2.546 1.00 0.00 -ATOM 756 HW1 SOLV 228 6.052 10.121 2.424 1.00 0.00 -ATOM 757 HW2 SOLV 228 5.531 8.688 1.837 1.00 0.00 -ATOM 758 OW SOLV 229 -13.603 6.176 -0.832 1.00 0.00 -ATOM 759 HW1 SOLV 229 -13.971 6.309 0.088 1.00 0.00 -ATOM 760 HW2 SOLV 229 -13.999 5.350 -1.233 1.00 0.00 -ATOM 761 OW SOLV 230 -0.055 3.460 -14.122 1.00 0.00 -ATOM 762 HW1 SOLV 230 -0.326 4.007 -14.914 1.00 0.00 -ATOM 763 HW2 SOLV 230 -0.869 3.200 -13.602 1.00 0.00 -ATOM 764 OW SOLV 231 -10.148 -13.003 4.793 1.00 0.00 -ATOM 765 HW1 SOLV 231 -10.914 -12.427 5.080 1.00 0.00 -ATOM 766 HW2 SOLV 231 -9.349 -12.799 5.358 1.00 0.00 -ATOM 767 OW SOLV 232 -9.326 0.245 6.897 1.00 0.00 -ATOM 768 HW1 SOLV 232 -9.726 1.049 7.335 1.00 0.00 -ATOM 769 HW2 SOLV 232 -9.611 0.211 5.939 1.00 0.00 -ATOM 770 OW SOLV 233 -4.122 14.715 6.065 1.00 0.00 -ATOM 771 HW1 SOLV 233 -5.085 14.793 6.322 1.00 0.00 -ATOM 772 HW2 SOLV 233 -3.827 15.558 5.616 1.00 0.00 -ATOM 773 OW SOLV 234 3.290 -3.644 4.412 1.00 0.00 -ATOM 774 HW1 SOLV 234 3.270 -4.563 4.806 1.00 0.00 -ATOM 775 HW2 SOLV 234 2.762 -3.634 3.563 1.00 0.00 -ATOM 776 OW SOLV 235 -0.731 11.364 -10.564 1.00 0.00 -ATOM 777 HW1 SOLV 235 -0.002 11.159 -9.911 1.00 0.00 -ATOM 778 HW2 SOLV 235 -0.333 11.543 -11.463 1.00 0.00 -ATOM 779 OW SOLV 236 8.004 -3.929 -11.107 1.00 0.00 -ATOM 780 HW1 SOLV 236 8.290 -4.860 -10.876 1.00 0.00 -ATOM 781 HW2 SOLV 236 7.480 -3.544 -10.347 1.00 0.00 -ATOM 782 OW SOLV 237 -7.677 0.171 -12.101 1.00 0.00 -ATOM 783 HW1 SOLV 237 -8.055 0.438 -12.988 1.00 0.00 -ATOM 784 HW2 SOLV 237 -6.696 0.003 -12.194 1.00 0.00 -ATOM 785 OW SOLV 238 -15.141 13.173 13.947 1.00 0.00 -ATOM 786 HW1 SOLV 238 -14.943 14.081 13.576 1.00 0.00 -ATOM 787 HW2 SOLV 238 -14.402 12.545 13.702 1.00 0.00 -ATOM 788 OW SOLV 239 -13.373 -0.501 5.550 1.00 0.00 -ATOM 789 HW1 SOLV 239 -13.870 0.225 5.074 1.00 0.00 -ATOM 790 HW2 SOLV 239 -12.531 -0.128 5.939 1.00 0.00 -ATOM 791 OW SOLV 240 -8.983 2.343 -7.503 1.00 0.00 -ATOM 792 HW1 SOLV 240 -9.669 2.663 -6.850 1.00 0.00 -ATOM 793 HW2 SOLV 240 -9.399 2.255 -8.408 1.00 0.00 -ATOM 794 OW SOLV 241 -8.257 14.347 -8.852 1.00 0.00 -ATOM 795 HW1 SOLV 241 -7.804 15.216 -8.655 1.00 0.00 -ATOM 796 HW2 SOLV 241 -8.874 14.463 -9.631 1.00 0.00 -ATOM 797 OW SOLV 242 -12.449 -0.983 0.425 1.00 0.00 -ATOM 798 HW1 SOLV 242 -12.193 -1.012 -0.541 1.00 0.00 -ATOM 799 HW2 SOLV 242 -11.634 -1.114 0.990 1.00 0.00 -ATOM 800 OW SOLV 243 -13.080 -11.021 10.281 1.00 0.00 -ATOM 801 HW1 SOLV 243 -13.545 -10.367 10.878 1.00 0.00 -ATOM 802 HW2 SOLV 243 -13.621 -11.158 9.451 1.00 0.00 -ATOM 803 OW SOLV 244 -11.248 2.595 13.853 1.00 0.00 -ATOM 804 HW1 SOLV 244 -11.847 2.235 13.138 1.00 0.00 -ATOM 805 HW2 SOLV 244 -10.925 3.504 13.591 1.00 0.00 -ATOM 806 OW SOLV 245 6.742 -1.062 -1.928 1.00 0.00 -ATOM 807 HW1 SOLV 245 6.445 -0.147 -1.654 1.00 0.00 -ATOM 808 HW2 SOLV 245 7.273 -1.475 -1.188 1.00 0.00 -ATOM 809 OW SOLV 246 -1.438 8.430 4.543 1.00 0.00 -ATOM 810 HW1 SOLV 246 -1.802 8.233 3.633 1.00 0.00 -ATOM 811 HW2 SOLV 246 -0.880 9.259 4.507 1.00 0.00 -ATOM 812 OW SOLV 247 8.449 -1.657 8.363 1.00 0.00 -ATOM 813 HW1 SOLV 247 8.947 -2.060 9.131 1.00 0.00 -ATOM 814 HW2 SOLV 247 8.312 -0.681 8.529 1.00 0.00 -ATOM 815 OW SOLV 248 -14.795 -14.541 -6.418 1.00 0.00 -ATOM 816 HW1 SOLV 248 -14.911 -15.506 -6.180 1.00 0.00 -ATOM 817 HW2 SOLV 248 -14.094 -14.456 -7.127 1.00 0.00 -ATOM 818 OW SOLV 249 3.034 -12.451 -4.786 1.00 0.00 -ATOM 819 HW1 SOLV 249 2.560 -12.184 -5.625 1.00 0.00 -ATOM 820 HW2 SOLV 249 3.162 -11.646 -4.205 1.00 0.00 -ATOM 821 OW SOLV 250 -11.089 -1.339 -9.671 1.00 0.00 -ATOM 822 HW1 SOLV 250 -11.015 -1.960 -10.452 1.00 0.00 -ATOM 823 HW2 SOLV 250 -11.478 -0.469 -9.974 1.00 0.00 -ATOM 824 OW SOLV 251 -9.190 -12.227 7.250 1.00 0.00 -ATOM 825 HW1 SOLV 251 -8.354 -12.093 6.719 1.00 0.00 -ATOM 826 HW2 SOLV 251 -9.004 -12.047 8.216 1.00 0.00 -ATOM 827 OW SOLV 252 -11.478 -3.419 1.616 1.00 0.00 -ATOM 828 HW1 SOLV 252 -12.100 -3.269 0.847 1.00 0.00 -ATOM 829 HW2 SOLV 252 -11.802 -4.193 2.160 1.00 0.00 -ATOM 830 OW SOLV 253 -9.584 12.469 -13.284 1.00 0.00 -ATOM 831 HW1 SOLV 253 -10.260 12.012 -12.706 1.00 0.00 -ATOM 832 HW2 SOLV 253 -8.885 11.811 -13.563 1.00 0.00 -ATOM 833 OW SOLV 254 4.471 7.799 -0.283 1.00 0.00 -ATOM 834 HW1 SOLV 254 4.004 7.205 0.371 1.00 0.00 -ATOM 835 HW2 SOLV 254 4.944 7.239 -0.964 1.00 0.00 -ATOM 836 OW SOLV 255 -1.331 -12.838 12.605 1.00 0.00 -ATOM 837 HW1 SOLV 255 -1.316 -12.407 13.507 1.00 0.00 -ATOM 838 HW2 SOLV 255 -0.395 -13.037 12.315 1.00 0.00 -ATOM 839 OW SOLV 256 12.641 7.987 -12.569 1.00 0.00 -ATOM 840 HW1 SOLV 256 12.740 7.588 -13.481 1.00 0.00 -ATOM 841 HW2 SOLV 256 13.176 8.831 -12.515 1.00 0.00 -ATOM 842 OW SOLV 257 -10.281 -11.681 -6.666 1.00 0.00 -ATOM 843 HW1 SOLV 257 -9.706 -12.191 -7.306 1.00 0.00 -ATOM 844 HW2 SOLV 257 -9.777 -11.526 -5.817 1.00 0.00 -ATOM 845 OW SOLV 258 7.653 8.523 -7.616 1.00 0.00 -ATOM 846 HW1 SOLV 258 7.417 7.703 -7.095 1.00 0.00 -ATOM 847 HW2 SOLV 258 6.831 9.073 -7.763 1.00 0.00 -ATOM 848 OW SOLV 259 -0.545 8.704 12.296 1.00 0.00 -ATOM 849 HW1 SOLV 259 -0.022 9.548 12.178 1.00 0.00 -ATOM 850 HW2 SOLV 259 -1.148 8.793 13.088 1.00 0.00 -ATOM 851 OW SOLV 260 10.316 8.090 -14.802 1.00 0.00 -ATOM 852 HW1 SOLV 260 11.280 7.885 -14.971 1.00 0.00 -ATOM 853 HW2 SOLV 260 9.744 7.441 -15.303 1.00 0.00 -ATOM 854 OW SOLV 261 -8.403 11.243 -6.729 1.00 0.00 -ATOM 855 HW1 SOLV 261 -9.341 11.191 -6.386 1.00 0.00 -ATOM 856 HW2 SOLV 261 -8.250 10.511 -7.393 1.00 0.00 -ATOM 857 OW SOLV 262 0.491 -14.108 -12.875 1.00 0.00 -ATOM 858 HW1 SOLV 262 0.410 -13.973 -11.887 1.00 0.00 -ATOM 859 HW2 SOLV 262 1.005 -14.946 -13.056 1.00 0.00 -ATOM 860 OW SOLV 263 5.143 6.547 7.314 1.00 0.00 -ATOM 861 HW1 SOLV 263 5.057 5.562 7.466 1.00 0.00 -ATOM 862 HW2 SOLV 263 6.111 6.797 7.288 1.00 0.00 -ATOM 863 OW SOLV 264 -7.498 8.085 3.285 1.00 0.00 -ATOM 864 HW1 SOLV 264 -8.015 7.234 3.193 1.00 0.00 -ATOM 865 HW2 SOLV 264 -7.848 8.605 4.065 1.00 0.00 -ATOM 866 OW SOLV 265 1.597 11.123 6.157 1.00 0.00 -ATOM 867 HW1 SOLV 265 2.494 11.000 5.732 1.00 0.00 -ATOM 868 HW2 SOLV 265 1.146 11.922 5.759 1.00 0.00 -ATOM 869 OW SOLV 266 6.732 4.607 -4.303 1.00 0.00 -ATOM 870 HW1 SOLV 266 7.020 5.546 -4.489 1.00 0.00 -ATOM 871 HW2 SOLV 266 6.536 4.141 -5.166 1.00 0.00 -ATOM 872 OW SOLV 267 3.224 6.437 -14.835 1.00 0.00 -ATOM 873 HW1 SOLV 267 2.535 6.759 -14.185 1.00 0.00 -ATOM 874 HW2 SOLV 267 4.033 6.127 -14.337 1.00 0.00 -ATOM 875 OW SOLV 268 -12.636 -7.361 14.561 1.00 0.00 -ATOM 876 HW1 SOLV 268 -12.692 -6.802 15.388 1.00 0.00 -ATOM 877 HW2 SOLV 268 -11.975 -8.098 14.701 1.00 0.00 -ATOM 878 OW SOLV 269 -9.320 -4.574 -10.838 1.00 0.00 -ATOM 879 HW1 SOLV 269 -9.353 -4.402 -11.823 1.00 0.00 -ATOM 880 HW2 SOLV 269 -8.371 -4.540 -10.525 1.00 0.00 -ATOM 881 OW SOLV 270 -14.912 3.200 -6.547 1.00 0.00 -ATOM 882 HW1 SOLV 270 -14.393 3.399 -5.715 1.00 0.00 -ATOM 883 HW2 SOLV 270 -15.690 3.825 -6.611 1.00 0.00 -ATOM 884 OW SOLV 271 -13.983 1.383 -3.366 1.00 0.00 -ATOM 885 HW1 SOLV 271 -13.000 1.237 -3.252 1.00 0.00 -ATOM 886 HW2 SOLV 271 -14.140 2.263 -3.815 1.00 0.00 -ATOM 887 OW SOLV 272 -8.458 4.846 13.197 1.00 0.00 -ATOM 888 HW1 SOLV 272 -9.006 4.343 13.866 1.00 0.00 -ATOM 889 HW2 SOLV 272 -7.533 4.466 13.171 1.00 0.00 -ATOM 890 OW SOLV 273 6.438 12.313 14.429 1.00 0.00 -ATOM 891 HW1 SOLV 273 6.487 12.829 13.574 1.00 0.00 -ATOM 892 HW2 SOLV 273 6.302 11.343 14.226 1.00 0.00 -ATOM 893 OW SOLV 274 -13.811 -1.992 -6.513 1.00 0.00 -ATOM 894 HW1 SOLV 274 -14.389 -1.865 -7.319 1.00 0.00 -ATOM 895 HW2 SOLV 274 -12.945 -1.509 -6.645 1.00 0.00 -ATOM 896 OW SOLV 275 6.123 -1.420 -13.224 1.00 0.00 -ATOM 897 HW1 SOLV 275 5.920 -1.863 -12.350 1.00 0.00 -ATOM 898 HW2 SOLV 275 7.032 -1.700 -13.535 1.00 0.00 -ATOM 899 OW SOLV 276 14.239 -5.875 -5.701 1.00 0.00 -ATOM 900 HW1 SOLV 276 15.165 -5.824 -5.326 1.00 0.00 -ATOM 901 HW2 SOLV 276 13.610 -5.377 -5.104 1.00 0.00 -ATOM 902 OW SOLV 277 -14.074 9.621 -9.584 1.00 0.00 -ATOM 903 HW1 SOLV 277 -14.857 9.046 -9.824 1.00 0.00 -ATOM 904 HW2 SOLV 277 -14.158 10.506 -10.042 1.00 0.00 -ATOM 905 OW SOLV 278 0.488 12.999 4.383 1.00 0.00 -ATOM 906 HW1 SOLV 278 0.765 12.825 3.438 1.00 0.00 -ATOM 907 HW2 SOLV 278 0.441 13.985 4.540 1.00 0.00 -ATOM 908 OW SOLV 279 13.452 -13.865 3.616 1.00 0.00 -ATOM 909 HW1 SOLV 279 13.066 -13.839 4.539 1.00 0.00 -ATOM 910 HW2 SOLV 279 14.150 -14.580 3.567 1.00 0.00 -ATOM 911 OW SOLV 280 -11.147 7.166 -13.230 1.00 0.00 -ATOM 912 HW1 SOLV 280 -10.652 6.795 -14.016 1.00 0.00 -ATOM 913 HW2 SOLV 280 -10.501 7.362 -12.493 1.00 0.00 -ATOM 914 OW SOLV 281 4.329 -1.061 10.283 1.00 0.00 -ATOM 915 HW1 SOLV 281 5.072 -0.474 9.963 1.00 0.00 -ATOM 916 HW2 SOLV 281 3.609 -1.095 9.590 1.00 0.00 -ATOM 917 OW SOLV 282 13.562 -1.678 -9.418 1.00 0.00 -ATOM 918 HW1 SOLV 282 13.337 -1.157 -8.594 1.00 0.00 -ATOM 919 HW2 SOLV 282 14.342 -2.276 -9.232 1.00 0.00 -ATOM 920 OW SOLV 283 3.243 1.639 -8.819 1.00 0.00 -ATOM 921 HW1 SOLV 283 3.134 1.065 -9.631 1.00 0.00 -ATOM 922 HW2 SOLV 283 2.817 2.530 -8.981 1.00 0.00 -ATOM 923 OW SOLV 284 -10.707 9.403 5.635 1.00 0.00 -ATOM 924 HW1 SOLV 284 -10.295 10.096 5.043 1.00 0.00 -ATOM 925 HW2 SOLV 284 -10.872 8.570 5.108 1.00 0.00 -ATOM 926 OW SOLV 285 -9.483 2.223 -1.627 1.00 0.00 -ATOM 927 HW1 SOLV 285 -8.901 2.310 -0.818 1.00 0.00 -ATOM 928 HW2 SOLV 285 -9.889 1.309 -1.649 1.00 0.00 -ATOM 929 OW SOLV 286 5.998 -13.120 -13.023 1.00 0.00 -ATOM 930 HW1 SOLV 286 6.062 -12.270 -12.501 1.00 0.00 -ATOM 931 HW2 SOLV 286 5.347 -13.003 -13.773 1.00 0.00 -ATOM 932 OW SOLV 287 2.440 -13.298 8.209 1.00 0.00 -ATOM 933 HW1 SOLV 287 2.028 -12.980 7.355 1.00 0.00 -ATOM 934 HW2 SOLV 287 1.783 -13.192 8.956 1.00 0.00 -ATOM 935 OW SOLV 288 5.021 0.796 -2.213 1.00 0.00 -ATOM 936 HW1 SOLV 288 5.453 0.005 -2.648 1.00 0.00 -ATOM 937 HW2 SOLV 288 4.134 0.968 -2.642 1.00 0.00 -ATOM 938 OW SOLV 289 0.558 -13.839 -10.029 1.00 0.00 -ATOM 939 HW1 SOLV 289 0.854 -14.460 -9.303 1.00 0.00 -ATOM 940 HW2 SOLV 289 1.212 -13.087 -10.111 1.00 0.00 -ATOM 941 OW SOLV 290 9.886 6.577 -5.537 1.00 0.00 -ATOM 942 HW1 SOLV 290 9.971 7.141 -6.358 1.00 0.00 -ATOM 943 HW2 SOLV 290 10.355 7.024 -4.775 1.00 0.00 -ATOM 944 OW SOLV 291 -13.203 9.339 -3.689 1.00 0.00 -ATOM 945 HW1 SOLV 291 -13.001 8.951 -4.588 1.00 0.00 -ATOM 946 HW2 SOLV 291 -12.539 10.057 -3.479 1.00 0.00 -ATOM 947 OW SOLV 292 14.374 0.174 7.923 1.00 0.00 -ATOM 948 HW1 SOLV 292 15.313 -0.062 7.673 1.00 0.00 -ATOM 949 HW2 SOLV 292 13.743 -0.480 7.506 1.00 0.00 -ATOM 950 OW SOLV 293 6.343 5.154 -11.595 1.00 0.00 -ATOM 951 HW1 SOLV 293 5.349 5.165 -11.485 1.00 0.00 -ATOM 952 HW2 SOLV 293 6.705 4.283 -11.263 1.00 0.00 -ATOM 953 OW SOLV 294 6.269 15.325 -15.096 1.00 0.00 -ATOM 954 HW1 SOLV 294 6.446 14.867 -14.225 1.00 0.00 -ATOM 955 HW2 SOLV 294 6.449 14.690 -15.848 1.00 0.00 -ATOM 956 OW SOLV 295 -12.537 -13.563 11.021 1.00 0.00 -ATOM 957 HW1 SOLV 295 -12.879 -12.626 10.941 1.00 0.00 -ATOM 958 HW2 SOLV 295 -11.913 -13.755 10.264 1.00 0.00 -ATOM 959 OW SOLV 296 -5.464 -11.186 7.901 1.00 0.00 -ATOM 960 HW1 SOLV 296 -5.238 -11.466 8.834 1.00 0.00 -ATOM 961 HW2 SOLV 296 -5.107 -10.267 7.734 1.00 0.00 -ATOM 962 OW SOLV 297 13.212 11.194 -7.454 1.00 0.00 -ATOM 963 HW1 SOLV 297 12.372 11.677 -7.209 1.00 0.00 -ATOM 964 HW2 SOLV 297 13.869 11.841 -7.841 1.00 0.00 -ATOM 965 OW SOLV 298 -14.493 -1.437 2.416 1.00 0.00 -ATOM 966 HW1 SOLV 298 -13.889 -0.995 3.079 1.00 0.00 -ATOM 967 HW2 SOLV 298 -14.083 -1.386 1.506 1.00 0.00 -ATOM 968 OW SOLV 299 -12.611 3.029 -10.117 1.00 0.00 -ATOM 969 HW1 SOLV 299 -13.398 2.414 -10.175 1.00 0.00 -ATOM 970 HW2 SOLV 299 -12.746 3.673 -9.363 1.00 0.00 -ATOM 971 OW SOLV 300 6.386 -3.823 -8.530 1.00 0.00 -ATOM 972 HW1 SOLV 300 5.897 -3.500 -9.341 1.00 0.00 -ATOM 973 HW2 SOLV 300 6.181 -3.224 -7.757 1.00 0.00 -ATOM 974 OW SOLV 301 1.448 10.599 -8.360 1.00 0.00 -ATOM 975 HW1 SOLV 301 2.337 10.199 -8.580 1.00 0.00 -ATOM 976 HW2 SOLV 301 1.581 11.498 -7.943 1.00 0.00 -ATOM 977 OW SOLV 302 -13.655 6.919 -11.826 1.00 0.00 -ATOM 978 HW1 SOLV 302 -12.965 7.640 -11.888 1.00 0.00 -ATOM 979 HW2 SOLV 302 -13.860 6.735 -10.865 1.00 0.00 -ATOM 980 OW SOLV 303 -7.038 11.963 -2.494 1.00 0.00 -ATOM 981 HW1 SOLV 303 -7.463 12.084 -3.392 1.00 0.00 -ATOM 982 HW2 SOLV 303 -6.463 11.145 -2.505 1.00 0.00 -ATOM 983 OW SOLV 304 13.917 -5.301 -3.039 1.00 0.00 -ATOM 984 HW1 SOLV 304 13.411 -4.549 -3.460 1.00 0.00 -ATOM 985 HW2 SOLV 304 13.972 -5.154 -2.051 1.00 0.00 -ATOM 986 OW SOLV 305 -5.416 12.365 -5.191 1.00 0.00 -ATOM 987 HW1 SOLV 305 -5.517 11.448 -5.577 1.00 0.00 -ATOM 988 HW2 SOLV 305 -5.920 13.021 -5.754 1.00 0.00 -ATOM 989 OW SOLV 306 10.436 10.430 -6.653 1.00 0.00 -ATOM 990 HW1 SOLV 306 11.435 10.414 -6.688 1.00 0.00 -ATOM 991 HW2 SOLV 306 10.089 11.061 -7.348 1.00 0.00 -ATOM 992 OW SOLV 307 2.118 -15.265 -1.208 1.00 0.00 -ATOM 993 HW1 SOLV 307 2.945 -14.828 -0.855 1.00 0.00 -ATOM 994 HW2 SOLV 307 2.079 -15.153 -2.201 1.00 0.00 -ATOM 995 OW SOLV 308 -8.399 5.122 -9.744 1.00 0.00 -ATOM 996 HW1 SOLV 308 -8.239 4.195 -10.084 1.00 0.00 -ATOM 997 HW2 SOLV 308 -9.341 5.392 -9.945 1.00 0.00 -ATOM 998 OW SOLV 309 -14.561 -12.116 3.857 1.00 0.00 -ATOM 999 HW1 SOLV 309 -15.282 -12.805 3.927 1.00 0.00 -ATOM 1000 HW2 SOLV 309 -13.807 -12.360 4.467 1.00 0.00 -ATOM 1001 OW SOLV 310 -6.016 6.756 12.796 1.00 0.00 -ATOM 1002 HW1 SOLV 310 -6.556 6.729 11.955 1.00 0.00 -ATOM 1003 HW2 SOLV 310 -6.242 5.964 13.363 1.00 0.00 -ATOM 1004 OW SOLV 311 -11.084 7.703 -7.629 1.00 0.00 -ATOM 1005 HW1 SOLV 311 -10.086 7.760 -7.666 1.00 0.00 -ATOM 1006 HW2 SOLV 311 -11.382 7.698 -6.675 1.00 0.00 -ATOM 1007 OW SOLV 312 13.064 1.659 -4.406 1.00 0.00 -ATOM 1008 HW1 SOLV 312 13.670 0.880 -4.568 1.00 0.00 -ATOM 1009 HW2 SOLV 312 13.581 2.400 -3.977 1.00 0.00 -ATOM 1010 OW SOLV 313 -12.718 12.671 11.879 1.00 0.00 -ATOM 1011 HW1 SOLV 313 -12.746 13.158 11.005 1.00 0.00 -ATOM 1012 HW2 SOLV 313 -12.092 11.895 11.807 1.00 0.00 -ATOM 1013 OW SOLV 314 6.858 -10.834 3.524 1.00 0.00 -ATOM 1014 HW1 SOLV 314 7.548 -10.274 3.065 1.00 0.00 -ATOM 1015 HW2 SOLV 314 6.571 -10.382 4.369 1.00 0.00 -ATOM 1016 OW SOLV 315 -6.605 6.777 8.528 1.00 0.00 -ATOM 1017 HW1 SOLV 315 -7.161 6.794 9.359 1.00 0.00 -ATOM 1018 HW2 SOLV 315 -7.030 6.173 7.855 1.00 0.00 -ATOM 1019 OW SOLV 316 -10.537 -1.656 8.488 1.00 0.00 -ATOM 1020 HW1 SOLV 316 -9.779 -1.993 9.047 1.00 0.00 -ATOM 1021 HW2 SOLV 316 -10.178 -1.090 7.746 1.00 0.00 -ATOM 1022 OW SOLV 317 5.060 14.129 6.074 1.00 0.00 -ATOM 1023 HW1 SOLV 317 5.107 13.414 5.377 1.00 0.00 -ATOM 1024 HW2 SOLV 317 5.501 14.958 5.731 1.00 0.00 -ATOM 1025 OW SOLV 318 -4.192 4.213 5.418 1.00 0.00 -ATOM 1026 HW1 SOLV 318 -4.528 5.090 5.763 1.00 0.00 -ATOM 1027 HW2 SOLV 318 -4.821 3.485 5.689 1.00 0.00 -ATOM 1028 OW SOLV 319 0.990 12.147 12.314 1.00 0.00 -ATOM 1029 HW1 SOLV 319 0.026 12.245 12.064 1.00 0.00 -ATOM 1030 HW2 SOLV 319 1.444 11.542 11.660 1.00 0.00 -ATOM 1031 OW SOLV 320 -15.311 -11.923 -9.396 1.00 0.00 -ATOM 1032 HW1 SOLV 320 -15.929 -12.676 -9.625 1.00 0.00 -ATOM 1033 HW2 SOLV 320 -14.372 -12.182 -9.622 1.00 0.00 -ATOM 1034 OW SOLV 321 -13.388 -7.185 -9.362 1.00 0.00 -ATOM 1035 HW1 SOLV 321 -12.500 -7.324 -8.923 1.00 0.00 -ATOM 1036 HW2 SOLV 321 -14.078 -6.993 -8.663 1.00 0.00 -ATOM 1037 OW SOLV 322 14.667 -2.332 9.410 1.00 0.00 -ATOM 1038 HW1 SOLV 322 14.527 -3.164 9.946 1.00 0.00 -ATOM 1039 HW2 SOLV 322 13.810 -2.072 8.965 1.00 0.00 -ATOM 1040 OW SOLV 323 -10.628 0.690 -4.167 1.00 0.00 -ATOM 1041 HW1 SOLV 323 -9.873 0.798 -4.813 1.00 0.00 -ATOM 1042 HW2 SOLV 323 -10.907 1.588 -3.827 1.00 0.00 -ATOM 1043 OW SOLV 324 -1.295 -4.117 5.563 1.00 0.00 -ATOM 1044 HW1 SOLV 324 -1.209 -4.827 6.263 1.00 0.00 -ATOM 1045 HW2 SOLV 324 -0.753 -4.371 4.762 1.00 0.00 -ATOM 1046 OW SOLV 325 -14.354 -7.294 -2.841 1.00 0.00 -ATOM 1047 HW1 SOLV 325 -14.332 -8.150 -2.324 1.00 0.00 -ATOM 1048 HW2 SOLV 325 -15.274 -7.151 -3.207 1.00 0.00 -ATOM 1049 OW SOLV 326 -10.106 2.003 -10.643 1.00 0.00 -ATOM 1050 HW1 SOLV 326 -10.352 1.594 -11.522 1.00 0.00 -ATOM 1051 HW2 SOLV 326 -9.284 1.558 -10.287 1.00 0.00 -ATOM 1052 OW SOLV 327 -11.170 -1.922 -4.869 1.00 0.00 -ATOM 1053 HW1 SOLV 327 -10.724 -1.128 -4.454 1.00 0.00 -ATOM 1054 HW2 SOLV 327 -12.020 -1.633 -5.311 1.00 0.00 -ATOM 1055 OW SOLV 328 13.488 0.027 -0.215 1.00 0.00 -ATOM 1056 HW1 SOLV 328 13.057 0.649 -0.869 1.00 0.00 -ATOM 1057 HW2 SOLV 328 13.294 0.336 0.716 1.00 0.00 -ATOM 1058 OW SOLV 329 -4.390 7.340 0.673 1.00 0.00 -ATOM 1059 HW1 SOLV 329 -3.808 7.756 -0.027 1.00 0.00 -ATOM 1060 HW2 SOLV 329 -5.251 7.845 0.733 1.00 0.00 -ATOM 1061 OW SOLV 330 3.818 11.226 4.272 1.00 0.00 -ATOM 1062 HW1 SOLV 330 3.178 10.469 4.404 1.00 0.00 -ATOM 1063 HW2 SOLV 330 4.667 10.879 3.873 1.00 0.00 -ATOM 1064 OW SOLV 331 -4.359 -3.222 9.292 1.00 0.00 -ATOM 1065 HW1 SOLV 331 -3.745 -2.525 9.664 1.00 0.00 -ATOM 1066 HW2 SOLV 331 -4.845 -2.849 8.501 1.00 0.00 -ATOM 1067 OW SOLV 332 -13.420 -13.845 -13.598 1.00 0.00 -ATOM 1068 HW1 SOLV 332 -13.934 -14.328 -14.307 1.00 0.00 -ATOM 1069 HW2 SOLV 332 -13.224 -12.913 -13.905 1.00 0.00 -ATOM 1070 OW SOLV 333 -3.695 -5.387 7.600 1.00 0.00 -ATOM 1071 HW1 SOLV 333 -4.018 -4.684 8.235 1.00 0.00 -ATOM 1072 HW2 SOLV 333 -4.395 -5.555 6.906 1.00 0.00 -ATOM 1073 OW SOLV 334 -10.861 6.667 8.652 1.00 0.00 -ATOM 1074 HW1 SOLV 334 -10.043 7.029 8.204 1.00 0.00 -ATOM 1075 HW2 SOLV 334 -11.617 7.311 8.533 1.00 0.00 -ATOM 1076 OW SOLV 335 -0.434 -15.053 -2.131 1.00 0.00 -ATOM 1077 HW1 SOLV 335 -1.041 -15.234 -1.357 1.00 0.00 -ATOM 1078 HW2 SOLV 335 0.518 -15.135 -1.834 1.00 0.00 -ATOM 1079 OW SOLV 336 15.152 11.349 -0.023 1.00 0.00 -ATOM 1080 HW1 SOLV 336 15.719 10.693 -0.520 1.00 0.00 -ATOM 1081 HW2 SOLV 336 14.473 11.741 -0.645 1.00 0.00 -ATOM 1082 OW SOLV 337 0.405 0.335 11.132 1.00 0.00 -ATOM 1083 HW1 SOLV 337 0.611 0.736 12.024 1.00 0.00 -ATOM 1084 HW2 SOLV 337 1.250 -0.002 10.716 1.00 0.00 -ATOM 1085 OW SOLV 338 4.670 9.068 6.080 1.00 0.00 -ATOM 1086 HW1 SOLV 338 4.864 8.118 6.326 1.00 0.00 -ATOM 1087 HW2 SOLV 338 4.786 9.651 6.884 1.00 0.00 -ATOM 1088 OW SOLV 339 -2.309 9.079 -1.130 1.00 0.00 -ATOM 1089 HW1 SOLV 339 -1.372 9.038 -1.478 1.00 0.00 -ATOM 1090 HW2 SOLV 339 -2.375 9.799 -0.438 1.00 0.00 -ATOM 1091 OW SOLV 340 -3.427 -0.898 4.043 1.00 0.00 -ATOM 1092 HW1 SOLV 340 -3.505 -1.698 4.638 1.00 0.00 -ATOM 1093 HW2 SOLV 340 -3.049 -1.175 3.160 1.00 0.00 -ATOM 1094 OW SOLV 341 5.721 4.046 -14.541 1.00 0.00 -ATOM 1095 HW1 SOLV 341 5.509 4.994 -14.779 1.00 0.00 -ATOM 1096 HW2 SOLV 341 4.930 3.468 -14.740 1.00 0.00 -ATOM 1097 OW SOLV 342 -14.081 13.072 -6.508 1.00 0.00 -ATOM 1098 HW1 SOLV 342 -13.814 12.114 -6.608 1.00 0.00 -ATOM 1099 HW2 SOLV 342 -13.608 13.624 -7.195 1.00 0.00 -ATOM 1100 OW SOLV 343 -3.690 3.777 -8.206 1.00 0.00 -ATOM 1101 HW1 SOLV 343 -4.353 4.325 -8.715 1.00 0.00 -ATOM 1102 HW2 SOLV 343 -4.011 3.653 -7.267 1.00 0.00 -ATOM 1103 OW SOLV 344 12.072 0.269 -13.125 1.00 0.00 -ATOM 1104 HW1 SOLV 344 12.766 -0.028 -13.781 1.00 0.00 -ATOM 1105 HW2 SOLV 344 11.986 -0.414 -12.399 1.00 0.00 -ATOM 1106 OW SOLV 345 -5.881 3.489 14.348 1.00 0.00 -ATOM 1107 HW1 SOLV 345 -4.944 3.694 14.063 1.00 0.00 -ATOM 1108 HW2 SOLV 345 -6.292 2.846 13.702 1.00 0.00 -ATOM 1109 OW SOLV 346 13.894 -13.744 6.950 1.00 0.00 -ATOM 1110 HW1 SOLV 346 13.111 -14.002 7.515 1.00 0.00 -ATOM 1111 HW2 SOLV 346 14.640 -13.429 7.537 1.00 0.00 -ATOM 1112 OW SOLV 347 13.192 -11.636 -14.739 1.00 0.00 -ATOM 1113 HW1 SOLV 347 13.425 -12.232 -15.508 1.00 0.00 -ATOM 1114 HW2 SOLV 347 12.291 -11.230 -14.892 1.00 0.00 -ATOM 1115 OW SOLV 348 14.638 -0.436 -4.952 1.00 0.00 -ATOM 1116 HW1 SOLV 348 15.150 -1.290 -4.855 1.00 0.00 -ATOM 1117 HW2 SOLV 348 15.278 0.325 -5.066 1.00 0.00 -ATOM 1118 OW SOLV 349 13.336 -1.914 12.595 1.00 0.00 -ATOM 1119 HW1 SOLV 349 14.189 -2.382 12.363 1.00 0.00 -ATOM 1120 HW2 SOLV 349 12.573 -2.557 12.521 1.00 0.00 -ATOM 1121 OW SOLV 350 -9.868 -5.369 4.207 1.00 0.00 -ATOM 1122 HW1 SOLV 350 -9.896 -6.328 3.926 1.00 0.00 -ATOM 1123 HW2 SOLV 350 -10.234 -4.796 3.474 1.00 0.00 -ATOM 1124 OW SOLV 351 5.212 4.209 2.989 1.00 0.00 -ATOM 1125 HW1 SOLV 351 4.363 4.436 3.466 1.00 0.00 -ATOM 1126 HW2 SOLV 351 5.986 4.323 3.612 1.00 0.00 -ATOM 1127 OW SOLV 352 8.705 -5.444 11.852 1.00 0.00 -ATOM 1128 HW1 SOLV 352 8.237 -4.678 11.411 1.00 0.00 -ATOM 1129 HW2 SOLV 352 8.040 -5.997 12.354 1.00 0.00 -ATOM 1130 OW SOLV 353 -3.607 -12.225 -10.044 1.00 0.00 -ATOM 1131 HW1 SOLV 353 -3.883 -11.331 -10.398 1.00 0.00 -ATOM 1132 HW2 SOLV 353 -2.629 -12.360 -10.203 1.00 0.00 -ATOM 1133 OW SOLV 354 -7.704 -13.865 13.087 1.00 0.00 -ATOM 1134 HW1 SOLV 354 -6.930 -14.407 13.415 1.00 0.00 -ATOM 1135 HW2 SOLV 354 -7.725 -12.989 13.569 1.00 0.00 -ATOM 1136 OW SOLV 355 11.546 -15.275 5.473 1.00 0.00 -ATOM 1137 HW1 SOLV 355 11.179 -14.756 6.245 1.00 0.00 -ATOM 1138 HW2 SOLV 355 11.979 -16.112 5.809 1.00 0.00 -ATOM 1139 OW SOLV 356 -2.059 5.710 6.342 1.00 0.00 -ATOM 1140 HW1 SOLV 356 -2.943 5.705 5.875 1.00 0.00 -ATOM 1141 HW2 SOLV 356 -1.417 6.286 5.835 1.00 0.00 -ATOM 1142 OW SOLV 357 -13.695 -3.689 -14.621 1.00 0.00 -ATOM 1143 HW1 SOLV 357 -14.505 -4.255 -14.777 1.00 0.00 -ATOM 1144 HW2 SOLV 357 -13.094 -3.741 -15.418 1.00 0.00 -ATOM 1145 OW SOLV 358 -4.707 -11.578 -7.413 1.00 0.00 -ATOM 1146 HW1 SOLV 358 -3.972 -11.969 -6.859 1.00 0.00 -ATOM 1147 HW2 SOLV 358 -4.465 -11.643 -8.382 1.00 0.00 -ATOM 1148 OW SOLV 359 15.293 3.722 10.479 1.00 0.00 -ATOM 1149 HW1 SOLV 359 15.116 4.458 11.133 1.00 0.00 -ATOM 1150 HW2 SOLV 359 15.506 4.115 9.585 1.00 0.00 -ATOM 1151 OW SOLV 360 -15.001 1.373 -10.162 1.00 0.00 -ATOM 1152 HW1 SOLV 360 -15.960 1.389 -10.447 1.00 0.00 -ATOM 1153 HW2 SOLV 360 -14.950 1.237 -9.173 1.00 0.00 -ATOM 1154 OW SOLV 361 -9.559 0.755 3.293 1.00 0.00 -ATOM 1155 HW1 SOLV 361 -8.998 0.367 2.561 1.00 0.00 -ATOM 1156 HW2 SOLV 361 -9.183 1.640 3.566 1.00 0.00 -ATOM 1157 OW SOLV 362 -1.496 5.040 -6.816 1.00 0.00 -ATOM 1158 HW1 SOLV 362 -2.217 4.352 -6.889 1.00 0.00 -ATOM 1159 HW2 SOLV 362 -1.637 5.584 -5.989 1.00 0.00 -ATOM 1160 OW SOLV 363 9.946 -4.027 9.697 1.00 0.00 -ATOM 1161 HW1 SOLV 363 9.472 -4.781 10.151 1.00 0.00 -ATOM 1162 HW2 SOLV 363 9.425 -3.182 9.823 1.00 0.00 -ATOM 1163 OW SOLV 364 -11.354 -7.843 -7.580 1.00 0.00 -ATOM 1164 HW1 SOLV 364 -10.490 -8.139 -7.173 1.00 0.00 -ATOM 1165 HW2 SOLV 364 -11.710 -8.568 -8.169 1.00 0.00 -ATOM 1166 OW SOLV 365 13.383 8.979 15.127 1.00 0.00 -ATOM 1167 HW1 SOLV 365 13.977 9.504 14.518 1.00 0.00 -ATOM 1168 HW2 SOLV 365 12.570 8.682 14.625 1.00 0.00 -ATOM 1169 OW SOLV 366 -1.129 14.225 12.930 1.00 0.00 -ATOM 1170 HW1 SOLV 366 -1.671 13.758 13.629 1.00 0.00 -ATOM 1171 HW2 SOLV 366 -0.308 13.689 12.733 1.00 0.00 -ATOM 1172 OW SOLV 367 -5.423 5.299 2.737 1.00 0.00 -ATOM 1173 HW1 SOLV 367 -5.804 4.682 3.426 1.00 0.00 -ATOM 1174 HW2 SOLV 367 -4.425 5.298 2.805 1.00 0.00 -ATOM 1175 OW SOLV 368 -5.803 -2.504 11.929 1.00 0.00 -ATOM 1176 HW1 SOLV 368 -5.696 -2.106 11.018 1.00 0.00 -ATOM 1177 HW2 SOLV 368 -5.304 -3.370 11.974 1.00 0.00 -ATOM 1178 OW SOLV 369 12.713 -9.117 -13.038 1.00 0.00 -ATOM 1179 HW1 SOLV 369 12.996 -8.675 -12.187 1.00 0.00 -ATOM 1180 HW2 SOLV 369 11.949 -9.736 -12.854 1.00 0.00 -ATOM 1181 OW SOLV 370 6.400 -13.736 13.468 1.00 0.00 -ATOM 1182 HW1 SOLV 370 5.603 -13.934 12.897 1.00 0.00 -ATOM 1183 HW2 SOLV 370 6.328 -14.242 14.328 1.00 0.00 -ATOM 1184 OW SOLV 371 -5.031 10.619 14.214 1.00 0.00 -ATOM 1185 HW1 SOLV 371 -5.523 10.039 13.563 1.00 0.00 -ATOM 1186 HW2 SOLV 371 -4.051 10.431 14.152 1.00 0.00 -ATOM 1187 OW SOLV 372 -11.438 -13.728 2.540 1.00 0.00 -ATOM 1188 HW1 SOLV 372 -11.835 -12.816 2.643 1.00 0.00 -ATOM 1189 HW2 SOLV 372 -10.775 -13.888 3.271 1.00 0.00 -ATOM 1190 OW SOLV 373 3.249 14.520 1.176 1.00 0.00 -ATOM 1191 HW1 SOLV 373 3.553 14.091 0.325 1.00 0.00 -ATOM 1192 HW2 SOLV 373 3.995 14.507 1.841 1.00 0.00 -ATOM 1193 OW SOLV 374 -9.104 3.317 9.923 1.00 0.00 -ATOM 1194 HW1 SOLV 374 -8.999 3.165 10.906 1.00 0.00 -ATOM 1195 HW2 SOLV 374 -10.029 3.058 9.643 1.00 0.00 -ATOM 1196 OW SOLV 375 -1.010 6.214 -13.448 1.00 0.00 -ATOM 1197 HW1 SOLV 375 -0.607 7.000 -12.978 1.00 0.00 -ATOM 1198 HW2 SOLV 375 -1.150 5.471 -12.794 1.00 0.00 -ATOM 1199 OW SOLV 376 -1.063 0.137 -11.930 1.00 0.00 -ATOM 1200 HW1 SOLV 376 -1.914 0.487 -11.540 1.00 0.00 -ATOM 1201 HW2 SOLV 376 -0.515 -0.285 -11.208 1.00 0.00 -ATOM 1202 OW SOLV 377 -2.046 12.956 -2.686 1.00 0.00 -ATOM 1203 HW1 SOLV 377 -2.670 13.684 -2.971 1.00 0.00 -ATOM 1204 HW2 SOLV 377 -1.299 13.349 -2.149 1.00 0.00 -ATOM 1205 OW SOLV 378 -11.345 -1.719 4.003 1.00 0.00 -ATOM 1206 HW1 SOLV 378 -11.346 -2.245 3.152 1.00 0.00 -ATOM 1207 HW2 SOLV 378 -10.405 -1.469 4.238 1.00 0.00 -ATOM 1208 OW SOLV 379 -3.735 13.109 -13.694 1.00 0.00 -ATOM 1209 HW1 SOLV 379 -4.179 13.758 -14.312 1.00 0.00 -ATOM 1210 HW2 SOLV 379 -2.743 13.235 -13.735 1.00 0.00 -ATOM 1211 OW SOLV 380 0.909 -5.921 8.922 1.00 0.00 -ATOM 1212 HW1 SOLV 380 0.624 -6.218 9.833 1.00 0.00 -ATOM 1213 HW2 SOLV 380 1.891 -5.732 8.925 1.00 0.00 -ATOM 1214 OW SOLV 381 10.668 -12.150 14.629 1.00 0.00 -ATOM 1215 HW1 SOLV 381 10.259 -12.604 15.421 1.00 0.00 -ATOM 1216 HW2 SOLV 381 9.947 -11.743 14.069 1.00 0.00 -ATOM 1217 OW SOLV 382 8.750 -7.083 1.583 1.00 0.00 -ATOM 1218 HW1 SOLV 382 8.536 -6.706 2.484 1.00 0.00 -ATOM 1219 HW2 SOLV 382 9.053 -8.031 1.681 1.00 0.00 -ATOM 1220 OW SOLV 383 14.736 -13.575 10.646 1.00 0.00 -ATOM 1221 HW1 SOLV 383 14.001 -12.933 10.869 1.00 0.00 -ATOM 1222 HW2 SOLV 383 15.524 -13.398 11.235 1.00 0.00 -ATOM 1223 OW SOLV 384 5.361 13.984 -0.803 1.00 0.00 -ATOM 1224 HW1 SOLV 384 5.133 13.311 -1.507 1.00 0.00 -ATOM 1225 HW2 SOLV 384 6.284 14.334 -0.963 1.00 0.00 -ATOM 1226 OW SOLV 385 -12.631 1.026 2.848 1.00 0.00 -ATOM 1227 HW1 SOLV 385 -12.390 0.466 3.641 1.00 0.00 -ATOM 1228 HW2 SOLV 385 -11.824 1.150 2.271 1.00 0.00 -ATOM 1229 OW SOLV 386 -8.332 -8.795 10.763 1.00 0.00 -ATOM 1230 HW1 SOLV 386 -9.083 -9.303 10.340 1.00 0.00 -ATOM 1231 HW2 SOLV 386 -8.129 -9.187 11.660 1.00 0.00 -ATOM 1232 OW SOLV 387 -1.371 10.841 -13.562 1.00 0.00 -ATOM 1233 HW1 SOLV 387 -1.633 10.367 -14.403 1.00 0.00 -ATOM 1234 HW2 SOLV 387 -0.770 10.252 -13.021 1.00 0.00 -ATOM 1235 OW SOLV 388 0.828 -10.453 12.939 1.00 0.00 -ATOM 1236 HW1 SOLV 388 1.350 -11.269 13.187 1.00 0.00 -ATOM 1237 HW2 SOLV 388 0.839 -10.339 11.946 1.00 0.00 -ATOM 1238 OW SOLV 389 -13.695 8.745 -13.995 1.00 0.00 -ATOM 1239 HW1 SOLV 389 -14.576 8.543 -14.424 1.00 0.00 -ATOM 1240 HW2 SOLV 389 -13.417 7.970 -13.427 1.00 0.00 -ATOM 1241 OW SOLV 390 10.518 7.446 3.584 1.00 0.00 -ATOM 1242 HW1 SOLV 390 10.378 6.700 2.934 1.00 0.00 -ATOM 1243 HW2 SOLV 390 9.798 8.130 3.467 1.00 0.00 -ATOM 1244 OW SOLV 391 -14.422 4.404 -12.851 1.00 0.00 -ATOM 1245 HW1 SOLV 391 -14.312 3.594 -12.275 1.00 0.00 -ATOM 1246 HW2 SOLV 391 -13.932 5.174 -12.443 1.00 0.00 -ATOM 1247 OW SOLV 392 7.568 -1.055 3.635 1.00 0.00 -ATOM 1248 HW1 SOLV 392 7.087 -0.178 3.670 1.00 0.00 -ATOM 1249 HW2 SOLV 392 8.554 -0.896 3.688 1.00 0.00 -ATOM 1250 OW SOLV 393 -5.737 -0.404 13.589 1.00 0.00 -ATOM 1251 HW1 SOLV 393 -5.639 0.102 14.446 1.00 0.00 -ATOM 1252 HW2 SOLV 393 -5.212 -1.253 13.641 1.00 0.00 -ATOM 1253 OW SOLV 394 5.270 -9.731 -6.770 1.00 0.00 -ATOM 1254 HW1 SOLV 394 5.160 -10.690 -6.506 1.00 0.00 -ATOM 1255 HW2 SOLV 394 4.644 -9.517 -7.519 1.00 0.00 -ATOM 1256 OW SOLV 395 -6.901 10.782 -10.961 1.00 0.00 -ATOM 1257 HW1 SOLV 395 -7.674 11.368 -10.718 1.00 0.00 -ATOM 1258 HW2 SOLV 395 -6.353 11.230 -11.667 1.00 0.00 -ATOM 1259 OW SOLV 396 5.111 9.514 -7.925 1.00 0.00 -ATOM 1260 HW1 SOLV 396 5.122 10.370 -7.408 1.00 0.00 -ATOM 1261 HW2 SOLV 396 4.757 9.685 -8.845 1.00 0.00 -ATOM 1262 OW SOLV 397 4.217 7.631 -11.755 1.00 0.00 -ATOM 1263 HW1 SOLV 397 4.055 8.499 -11.285 1.00 0.00 -ATOM 1264 HW2 SOLV 397 4.299 7.794 -12.738 1.00 0.00 -ATOM 1265 OW SOLV 398 0.659 8.283 -2.581 1.00 0.00 -ATOM 1266 HW1 SOLV 398 0.355 9.235 -2.632 1.00 0.00 -ATOM 1267 HW2 SOLV 398 1.654 8.247 -2.669 1.00 0.00 -ATOM 1268 OW SOLV 399 -5.986 2.064 -5.057 1.00 0.00 -ATOM 1269 HW1 SOLV 399 -6.980 2.055 -4.951 1.00 0.00 -ATOM 1270 HW2 SOLV 399 -5.556 1.874 -4.174 1.00 0.00 -ATOM 1271 OW SOLV 400 -7.076 3.739 4.108 1.00 0.00 -ATOM 1272 HW1 SOLV 400 -7.749 4.269 4.624 1.00 0.00 -ATOM 1273 HW2 SOLV 400 -7.497 3.391 3.271 1.00 0.00 -ATOM 1274 OW SOLV 401 -10.040 -15.297 12.426 1.00 0.00 -ATOM 1275 HW1 SOLV 401 -10.588 -14.886 13.154 1.00 0.00 -ATOM 1276 HW2 SOLV 401 -9.091 -14.993 12.512 1.00 0.00 -ATOM 1277 OW SOLV 402 -2.127 14.248 8.089 1.00 0.00 -ATOM 1278 HW1 SOLV 402 -2.278 15.092 8.605 1.00 0.00 -ATOM 1279 HW2 SOLV 402 -2.280 14.421 7.116 1.00 0.00 -ATOM 1280 OW SOLV 403 3.234 -8.493 11.276 1.00 0.00 -ATOM 1281 HW1 SOLV 403 3.205 -9.493 11.282 1.00 0.00 -ATOM 1282 HW2 SOLV 403 3.672 -8.178 10.434 1.00 0.00 -ATOM 1283 OW SOLV 404 2.625 1.370 -1.025 1.00 0.00 -ATOM 1284 HW1 SOLV 404 2.457 1.591 -0.064 1.00 0.00 -ATOM 1285 HW2 SOLV 404 3.432 1.867 -1.345 1.00 0.00 -ATOM 1286 OW SOLV 405 2.433 -4.569 14.528 1.00 0.00 -ATOM 1287 HW1 SOLV 405 2.211 -3.602 14.654 1.00 0.00 -ATOM 1288 HW2 SOLV 405 2.035 -4.893 13.670 1.00 0.00 -ATOM 1289 OW SOLV 406 -11.185 -2.998 -13.789 1.00 0.00 -ATOM 1290 HW1 SOLV 406 -11.193 -2.122 -14.271 1.00 0.00 -ATOM 1291 HW2 SOLV 406 -12.111 -3.374 -13.765 1.00 0.00 -ATOM 1292 OW SOLV 407 0.424 -9.450 7.537 1.00 0.00 -ATOM 1293 HW1 SOLV 407 -0.176 -10.154 7.916 1.00 0.00 -ATOM 1294 HW2 SOLV 407 0.610 -8.759 8.236 1.00 0.00 -ATOM 1295 OW SOLV 408 -11.356 10.058 -13.000 1.00 0.00 -ATOM 1296 HW1 SOLV 408 -12.291 9.717 -13.095 1.00 0.00 -ATOM 1297 HW2 SOLV 408 -10.731 9.287 -12.877 1.00 0.00 -ATOM 1298 OW SOLV 409 -3.739 6.838 -2.242 1.00 0.00 -ATOM 1299 HW1 SOLV 409 -4.459 7.412 -2.635 1.00 0.00 -ATOM 1300 HW2 SOLV 409 -2.976 7.415 -1.949 1.00 0.00 -ATOM 1301 OW SOLV 410 14.827 -11.437 -12.216 1.00 0.00 -ATOM 1302 HW1 SOLV 410 14.309 -10.915 -12.894 1.00 0.00 -ATOM 1303 HW2 SOLV 410 15.257 -12.224 -12.659 1.00 0.00 -ATOM 1304 OW SOLV 411 -3.860 -3.026 -7.403 1.00 0.00 -ATOM 1305 HW1 SOLV 411 -4.446 -3.362 -6.666 1.00 0.00 -ATOM 1306 HW2 SOLV 411 -4.410 -2.497 -8.050 1.00 0.00 -ATOM 1307 OW SOLV 412 -1.247 -8.322 -5.787 1.00 0.00 -ATOM 1308 HW1 SOLV 412 -1.864 -8.873 -5.226 1.00 0.00 -ATOM 1309 HW2 SOLV 412 -0.823 -8.901 -6.483 1.00 0.00 -ATOM 1310 OW SOLV 413 -8.441 -9.077 7.757 1.00 0.00 -ATOM 1311 HW1 SOLV 413 -9.009 -8.298 7.490 1.00 0.00 -ATOM 1312 HW2 SOLV 413 -8.854 -9.536 8.544 1.00 0.00 -ATOM 1313 OW SOLV 414 -6.324 3.016 -10.694 1.00 0.00 -ATOM 1314 HW1 SOLV 414 -5.871 3.810 -11.100 1.00 0.00 -ATOM 1315 HW2 SOLV 414 -5.951 2.179 -11.093 1.00 0.00 -ATOM 1316 OW SOLV 415 -2.559 4.170 15.050 1.00 0.00 -ATOM 1317 HW1 SOLV 415 -2.347 5.143 14.953 1.00 0.00 -ATOM 1318 HW2 SOLV 415 -2.593 3.745 14.145 1.00 0.00 -ATOM 1319 OW SOLV 416 2.609 -6.383 6.272 1.00 0.00 -ATOM 1320 HW1 SOLV 416 2.021 -5.577 6.337 1.00 0.00 -ATOM 1321 HW2 SOLV 416 2.164 -7.157 6.722 1.00 0.00 -ATOM 1322 OW SOLV 417 3.405 -6.382 -9.538 1.00 0.00 -ATOM 1323 HW1 SOLV 417 3.115 -6.116 -8.619 1.00 0.00 -ATOM 1324 HW2 SOLV 417 4.275 -5.939 -9.754 1.00 0.00 -ATOM 1325 OW SOLV 418 7.587 15.102 -7.732 1.00 0.00 -ATOM 1326 HW1 SOLV 418 8.125 15.945 -7.752 1.00 0.00 -ATOM 1327 HW2 SOLV 418 7.858 14.553 -6.941 1.00 0.00 -ATOM 1328 OW SOLV 419 2.875 12.608 -4.076 1.00 0.00 -ATOM 1329 HW1 SOLV 419 2.538 13.546 -3.992 1.00 0.00 -ATOM 1330 HW2 SOLV 419 2.667 12.103 -3.238 1.00 0.00 -ATOM 1331 OW SOLV 420 -12.382 3.273 -0.756 1.00 0.00 -ATOM 1332 HW1 SOLV 420 -12.559 4.027 -0.123 1.00 0.00 -ATOM 1333 HW2 SOLV 420 -12.483 2.403 -0.274 1.00 0.00 -ATOM 1334 OW SOLV 421 -0.973 10.013 1.441 1.00 0.00 -ATOM 1335 HW1 SOLV 421 -0.778 10.372 2.354 1.00 0.00 -ATOM 1336 HW2 SOLV 421 -0.819 10.730 0.761 1.00 0.00 -ATOM 1337 OW SOLV 422 -1.778 -1.389 -6.692 1.00 0.00 -ATOM 1338 HW1 SOLV 422 -1.770 -1.299 -5.696 1.00 0.00 -ATOM 1339 HW2 SOLV 422 -2.542 -1.972 -6.969 1.00 0.00 -ATOM 1340 OW SOLV 423 10.337 0.647 3.726 1.00 0.00 -ATOM 1341 HW1 SOLV 423 11.153 0.073 3.803 1.00 0.00 -ATOM 1342 HW2 SOLV 423 9.738 0.482 4.510 1.00 0.00 -ATOM 1343 OW SOLV 424 -11.229 -5.581 -14.585 1.00 0.00 -ATOM 1344 HW1 SOLV 424 -10.304 -5.960 -14.569 1.00 0.00 -ATOM 1345 HW2 SOLV 424 -11.254 -4.740 -14.043 1.00 0.00 -ATOM 1346 OW SOLV 425 1.627 5.099 -12.253 1.00 0.00 -ATOM 1347 HW1 SOLV 425 0.855 4.944 -12.871 1.00 0.00 -ATOM 1348 HW2 SOLV 425 2.187 4.272 -12.206 1.00 0.00 -ATOM 1349 OW SOLV 426 6.800 8.942 11.762 1.00 0.00 -ATOM 1350 HW1 SOLV 426 6.406 8.446 12.535 1.00 0.00 -ATOM 1351 HW2 SOLV 426 6.824 8.345 10.960 1.00 0.00 -ATOM 1352 OW SOLV 427 -13.353 -7.266 10.906 1.00 0.00 -ATOM 1353 HW1 SOLV 427 -14.295 -7.082 11.188 1.00 0.00 -ATOM 1354 HW2 SOLV 427 -13.313 -7.342 9.909 1.00 0.00 -ATOM 1355 OW SOLV 428 3.436 9.469 -3.103 1.00 0.00 -ATOM 1356 HW1 SOLV 428 3.653 8.691 -3.692 1.00 0.00 -ATOM 1357 HW2 SOLV 428 4.181 9.611 -2.451 1.00 0.00 -ATOM 1358 OW SOLV 429 10.259 12.455 12.112 1.00 0.00 -ATOM 1359 HW1 SOLV 429 9.271 12.316 12.174 1.00 0.00 -ATOM 1360 HW2 SOLV 429 10.515 13.269 12.634 1.00 0.00 -ATOM 1361 OW SOLV 430 -1.768 -9.429 -2.919 1.00 0.00 -ATOM 1362 HW1 SOLV 430 -2.106 -10.354 -3.091 1.00 0.00 -ATOM 1363 HW2 SOLV 430 -2.404 -8.764 -3.311 1.00 0.00 -ATOM 1364 OW SOLV 431 -8.762 -2.446 10.686 1.00 0.00 -ATOM 1365 HW1 SOLV 431 -8.844 -3.410 10.940 1.00 0.00 -ATOM 1366 HW2 SOLV 431 -7.997 -2.332 10.052 1.00 0.00 -ATOM 1367 OW SOLV 432 -0.371 15.314 10.313 1.00 0.00 -ATOM 1368 HW1 SOLV 432 -0.650 15.094 9.378 1.00 0.00 -ATOM 1369 HW2 SOLV 432 -0.830 14.697 10.952 1.00 0.00 -ATOM 1370 OW SOLV 433 11.152 3.710 -14.664 1.00 0.00 -ATOM 1371 HW1 SOLV 433 10.370 3.496 -14.078 1.00 0.00 -ATOM 1372 HW2 SOLV 433 11.824 4.237 -14.143 1.00 0.00 -ATOM 1373 OW SOLV 434 -10.615 -7.571 -3.455 1.00 0.00 -ATOM 1374 HW1 SOLV 434 -10.671 -8.456 -3.918 1.00 0.00 -ATOM 1375 HW2 SOLV 434 -10.445 -6.852 -4.129 1.00 0.00 -ATOM 1376 OW SOLV 435 -5.888 14.032 -7.489 1.00 0.00 -ATOM 1377 HW1 SOLV 435 -6.831 13.876 -7.782 1.00 0.00 -ATOM 1378 HW2 SOLV 435 -5.264 13.790 -8.232 1.00 0.00 -ATOM 1379 OW SOLV 436 6.732 2.279 -11.284 1.00 0.00 -ATOM 1380 HW1 SOLV 436 7.354 1.497 -11.225 1.00 0.00 -ATOM 1381 HW2 SOLV 436 6.629 2.551 -12.240 1.00 0.00 -ATOM 1382 OW SOLV 437 0.733 -6.001 12.307 1.00 0.00 -ATOM 1383 HW1 SOLV 437 1.249 -6.582 12.937 1.00 0.00 -ATOM 1384 HW2 SOLV 437 -0.072 -6.496 11.980 1.00 0.00 -ATOM 1385 OW SOLV 438 -14.457 -12.474 -3.075 1.00 0.00 -ATOM 1386 HW1 SOLV 438 -14.398 -11.689 -3.692 1.00 0.00 -ATOM 1387 HW2 SOLV 438 -13.548 -12.680 -2.712 1.00 0.00 -ATOM 1388 OW SOLV 439 1.121 -7.794 -12.243 1.00 0.00 -ATOM 1389 HW1 SOLV 439 1.329 -6.857 -11.964 1.00 0.00 -ATOM 1390 HW2 SOLV 439 1.528 -7.973 -13.139 1.00 0.00 -ATOM 1391 OW SOLV 440 -2.009 -7.413 6.698 1.00 0.00 -ATOM 1392 HW1 SOLV 440 -1.481 -7.080 5.916 1.00 0.00 -ATOM 1393 HW2 SOLV 440 -1.458 -8.066 7.218 1.00 0.00 -ATOM 1394 OW SOLV 441 8.337 12.931 9.737 1.00 0.00 -ATOM 1395 HW1 SOLV 441 8.945 13.686 9.494 1.00 0.00 -ATOM 1396 HW2 SOLV 441 8.631 12.101 9.264 1.00 0.00 -ATOM 1397 OW SOLV 442 2.965 12.675 -6.995 1.00 0.00 -ATOM 1398 HW1 SOLV 442 3.109 13.665 -6.976 1.00 0.00 -ATOM 1399 HW2 SOLV 442 2.935 12.325 -6.059 1.00 0.00 -ATOM 1400 OW SOLV 443 -7.630 10.655 6.589 1.00 0.00 -ATOM 1401 HW1 SOLV 443 -6.990 11.424 6.584 1.00 0.00 -ATOM 1402 HW2 SOLV 443 -7.644 10.240 7.499 1.00 0.00 -ATOM 1403 OW SOLV 444 -12.634 2.405 11.132 1.00 0.00 -ATOM 1404 HW1 SOLV 444 -13.286 2.120 11.835 1.00 0.00 -ATOM 1405 HW2 SOLV 444 -13.070 3.069 10.524 1.00 0.00 -ATOM 1406 OW SOLV 445 -3.378 -3.184 -14.480 1.00 0.00 -ATOM 1407 HW1 SOLV 445 -4.190 -3.107 -15.059 1.00 0.00 -ATOM 1408 HW2 SOLV 445 -2.560 -3.210 -15.055 1.00 0.00 -ATOM 1409 OW SOLV 446 2.030 14.923 -8.412 1.00 0.00 -ATOM 1410 HW1 SOLV 446 2.331 13.985 -8.239 1.00 0.00 -ATOM 1411 HW2 SOLV 446 2.564 15.311 -9.163 1.00 0.00 -ATOM 1412 OW SOLV 447 10.158 -2.025 -9.384 1.00 0.00 -ATOM 1413 HW1 SOLV 447 9.575 -2.834 -9.455 1.00 0.00 -ATOM 1414 HW2 SOLV 447 10.706 -2.081 -8.549 1.00 0.00 -ATOM 1415 OW SOLV 448 11.440 2.998 13.236 1.00 0.00 -ATOM 1416 HW1 SOLV 448 12.048 3.282 13.978 1.00 0.00 -ATOM 1417 HW2 SOLV 448 11.943 2.415 12.598 1.00 0.00 -ATOM 1418 OW SOLV 449 -15.031 11.230 9.903 1.00 0.00 -ATOM 1419 HW1 SOLV 449 -14.075 11.019 9.700 1.00 0.00 -ATOM 1420 HW2 SOLV 449 -15.617 10.509 9.532 1.00 0.00 -ATOM 1421 OW SOLV 450 -14.461 -4.215 5.114 1.00 0.00 -ATOM 1422 HW1 SOLV 450 -14.938 -3.806 4.337 1.00 0.00 -ATOM 1423 HW2 SOLV 450 -13.968 -5.031 4.811 1.00 0.00 -ATOM 1424 OW SOLV 451 8.109 -7.546 -12.911 1.00 0.00 -ATOM 1425 HW1 SOLV 451 8.210 -7.851 -11.964 1.00 0.00 -ATOM 1426 HW2 SOLV 451 8.832 -6.890 -13.129 1.00 0.00 -ATOM 1427 OW SOLV 452 -12.767 -12.501 7.160 1.00 0.00 -ATOM 1428 HW1 SOLV 452 -12.533 -12.212 6.232 1.00 0.00 -ATOM 1429 HW2 SOLV 452 -12.311 -13.367 7.364 1.00 0.00 -ATOM 1430 OW SOLV 453 -4.984 3.575 9.949 1.00 0.00 -ATOM 1431 HW1 SOLV 453 -5.703 3.044 9.500 1.00 0.00 -ATOM 1432 HW2 SOLV 453 -5.280 4.526 10.042 1.00 0.00 -ATOM 1433 OW SOLV 454 -10.689 -12.993 -11.462 1.00 0.00 -ATOM 1434 HW1 SOLV 454 -11.138 -12.326 -10.867 1.00 0.00 -ATOM 1435 HW2 SOLV 454 -10.200 -12.514 -12.191 1.00 0.00 -ATOM 1436 OW SOLV 455 -0.045 -2.983 -8.212 1.00 0.00 -ATOM 1437 HW1 SOLV 455 -0.406 -2.563 -7.378 1.00 0.00 -ATOM 1438 HW2 SOLV 455 -0.280 -3.955 -8.224 1.00 0.00 -ATOM 1439 OW SOLV 456 -4.940 -9.293 11.346 1.00 0.00 -ATOM 1440 HW1 SOLV 456 -5.322 -8.661 10.671 1.00 0.00 -ATOM 1441 HW2 SOLV 456 -4.337 -8.792 11.967 1.00 0.00 -ATOM 1442 OW SOLV 457 -6.553 -10.347 -11.543 1.00 0.00 -ATOM 1443 HW1 SOLV 457 -6.656 -11.331 -11.690 1.00 0.00 -ATOM 1444 HW2 SOLV 457 -7.397 -9.881 -11.808 1.00 0.00 -ATOM 1445 OW SOLV 458 -2.427 -1.830 7.198 1.00 0.00 -ATOM 1446 HW1 SOLV 458 -2.142 -2.266 8.052 1.00 0.00 -ATOM 1447 HW2 SOLV 458 -2.264 -2.455 6.434 1.00 0.00 -ATOM 1448 OW SOLV 459 6.022 6.359 -1.871 1.00 0.00 -ATOM 1449 HW1 SOLV 459 5.562 5.489 -2.049 1.00 0.00 -ATOM 1450 HW2 SOLV 459 6.931 6.346 -2.286 1.00 0.00 -ATOM 1451 OW SOLV 460 11.524 3.442 9.077 1.00 0.00 -ATOM 1452 HW1 SOLV 460 11.739 4.254 9.621 1.00 0.00 -ATOM 1453 HW2 SOLV 460 12.182 2.718 9.286 1.00 0.00 -ATOM 1454 OW SOLV 461 -13.454 9.892 -6.866 1.00 0.00 -ATOM 1455 HW1 SOLV 461 -12.455 9.903 -6.902 1.00 0.00 -ATOM 1456 HW2 SOLV 461 -13.822 9.912 -7.795 1.00 0.00 -ATOM 1457 OW SOLV 462 -8.115 -11.091 -4.437 1.00 0.00 -ATOM 1458 HW1 SOLV 462 -7.138 -10.882 -4.401 1.00 0.00 -ATOM 1459 HW2 SOLV 462 -8.256 -12.062 -4.244 1.00 0.00 -ATOM 1460 OW SOLV 463 -2.243 8.243 -5.973 1.00 0.00 -ATOM 1461 HW1 SOLV 463 -2.049 8.541 -5.038 1.00 0.00 -ATOM 1462 HW2 SOLV 463 -2.832 8.915 -6.421 1.00 0.00 -ATOM 1463 OW SOLV 464 13.873 5.765 -9.933 1.00 0.00 -ATOM 1464 HW1 SOLV 464 13.035 5.855 -9.395 1.00 0.00 -ATOM 1465 HW2 SOLV 464 13.676 5.260 -10.774 1.00 0.00 -ATOM 1466 OW SOLV 465 -1.147 2.876 11.376 1.00 0.00 -ATOM 1467 HW1 SOLV 465 -0.726 1.969 11.354 1.00 0.00 -ATOM 1468 HW2 SOLV 465 -0.491 3.556 11.047 1.00 0.00 -ATOM 1469 OW SOLV 466 -0.590 7.380 -9.339 1.00 0.00 -ATOM 1470 HW1 SOLV 466 -1.340 6.722 -9.412 1.00 0.00 -ATOM 1471 HW2 SOLV 466 -0.952 8.267 -9.054 1.00 0.00 -ATOM 1472 OW SOLV 467 14.144 3.224 6.212 1.00 0.00 -ATOM 1473 HW1 SOLV 467 13.581 2.399 6.153 1.00 0.00 -ATOM 1474 HW2 SOLV 467 14.981 3.021 6.720 1.00 0.00 -ATOM 1475 OW SOLV 468 1.993 5.899 -9.355 1.00 0.00 -ATOM 1476 HW1 SOLV 468 0.998 5.966 -9.278 1.00 0.00 -ATOM 1477 HW2 SOLV 468 2.345 6.706 -9.829 1.00 0.00 -ATOM 1478 OW SOLV 469 3.079 11.452 14.621 1.00 0.00 -ATOM 1479 HW1 SOLV 469 2.879 11.219 13.669 1.00 0.00 -ATOM 1480 HW2 SOLV 469 3.438 12.384 14.668 1.00 0.00 -ATOM 1481 OW SOLV 470 -7.309 -10.347 12.618 1.00 0.00 -ATOM 1482 HW1 SOLV 470 -8.005 -10.963 12.986 1.00 0.00 -ATOM 1483 HW2 SOLV 470 -6.872 -9.851 13.368 1.00 0.00 -ATOM 1484 OW SOLV 471 2.914 -7.588 -1.034 1.00 0.00 -ATOM 1485 HW1 SOLV 471 2.869 -6.722 -1.532 1.00 0.00 -ATOM 1486 HW2 SOLV 471 2.245 -8.226 -1.414 1.00 0.00 -ATOM 1487 OW SOLV 472 -12.957 13.463 4.274 1.00 0.00 -ATOM 1488 HW1 SOLV 472 -13.879 13.093 4.154 1.00 0.00 -ATOM 1489 HW2 SOLV 472 -12.635 13.843 3.407 1.00 0.00 -ATOM 1490 OW SOLV 473 3.975 -9.820 -9.196 1.00 0.00 -ATOM 1491 HW1 SOLV 473 3.220 -9.606 -9.816 1.00 0.00 -ATOM 1492 HW2 SOLV 473 4.763 -9.248 -9.422 1.00 0.00 -ATOM 1493 OW SOLV 474 6.868 14.004 12.263 1.00 0.00 -ATOM 1494 HW1 SOLV 474 7.230 13.628 11.410 1.00 0.00 -ATOM 1495 HW2 SOLV 474 6.551 14.940 12.106 1.00 0.00 -ATOM 1496 OW SOLV 475 -5.676 -7.219 9.104 1.00 0.00 -ATOM 1497 HW1 SOLV 475 -6.098 -6.690 8.369 1.00 0.00 -ATOM 1498 HW2 SOLV 475 -6.149 -7.030 9.965 1.00 0.00 -ATOM 1499 OW SOLV 476 10.638 2.518 0.059 1.00 0.00 -ATOM 1500 HW1 SOLV 476 10.879 2.368 1.018 1.00 0.00 -ATOM 1501 HW2 SOLV 476 11.146 3.305 -0.292 1.00 0.00 -ATOM 1502 OW SOLV 477 7.267 0.135 -4.389 1.00 0.00 -ATOM 1503 HW1 SOLV 477 8.017 0.772 -4.209 1.00 0.00 -ATOM 1504 HW2 SOLV 477 6.989 -0.302 -3.534 1.00 0.00 -ATOM 1505 OW SOLV 478 -3.860 -10.400 1.672 1.00 0.00 -ATOM 1506 HW1 SOLV 478 -4.569 -10.400 2.377 1.00 0.00 -ATOM 1507 HW2 SOLV 478 -3.507 -9.471 1.555 1.00 0.00 -ATOM 1508 OW SOLV 479 15.322 12.201 6.541 1.00 0.00 -ATOM 1509 HW1 SOLV 479 14.539 12.675 6.943 1.00 0.00 -ATOM 1510 HW2 SOLV 479 15.978 11.970 7.260 1.00 0.00 -ATOM 1511 OW SOLV 480 -11.183 -8.700 -12.427 1.00 0.00 -ATOM 1512 HW1 SOLV 480 -11.917 -9.313 -12.136 1.00 0.00 -ATOM 1513 HW2 SOLV 480 -11.561 -7.793 -12.615 1.00 0.00 -ATOM 1514 OW SOLV 481 13.193 -2.203 -3.153 1.00 0.00 -ATOM 1515 HW1 SOLV 481 14.182 -2.349 -3.121 1.00 0.00 -ATOM 1516 HW2 SOLV 481 13.005 -1.233 -3.306 1.00 0.00 -ATOM 1517 OW SOLV 482 13.105 -0.090 -7.282 1.00 0.00 -ATOM 1518 HW1 SOLV 482 12.200 0.115 -6.909 1.00 0.00 -ATOM 1519 HW2 SOLV 482 13.724 -0.340 -6.536 1.00 0.00 -ATOM 1520 OW SOLV 483 -11.779 12.503 6.881 1.00 0.00 -ATOM 1521 HW1 SOLV 483 -11.109 13.177 6.569 1.00 0.00 -ATOM 1522 HW2 SOLV 483 -12.532 12.454 6.225 1.00 0.00 -ATOM 1523 OW SOLV 484 13.549 14.570 -7.117 1.00 0.00 -ATOM 1524 HW1 SOLV 484 13.537 15.569 -7.168 1.00 0.00 -ATOM 1525 HW2 SOLV 484 13.419 14.283 -6.168 1.00 0.00 -ATOM 1526 OW SOLV 485 9.961 -3.090 6.514 1.00 0.00 -ATOM 1527 HW1 SOLV 485 9.319 -3.704 6.054 1.00 0.00 -ATOM 1528 HW2 SOLV 485 9.452 -2.372 6.989 1.00 0.00 -ATOM 1529 OW SOLV 486 -13.231 -8.003 1.104 1.00 0.00 -ATOM 1530 HW1 SOLV 486 -13.085 -8.777 0.488 1.00 0.00 -ATOM 1531 HW2 SOLV 486 -13.509 -8.340 2.003 1.00 0.00 -ATOM 1532 OW SOLV 487 -12.504 6.390 10.914 1.00 0.00 -ATOM 1533 HW1 SOLV 487 -12.868 6.756 11.771 1.00 0.00 -ATOM 1534 HW2 SOLV 487 -12.997 6.794 10.143 1.00 0.00 -ATOM 1535 OW SOLV 488 1.304 1.379 -12.033 1.00 0.00 -ATOM 1536 HW1 SOLV 488 1.223 2.228 -11.510 1.00 0.00 -ATOM 1537 HW2 SOLV 488 0.392 1.044 -12.268 1.00 0.00 -ATOM 1538 OW SOLV 489 -12.125 -3.989 13.731 1.00 0.00 -ATOM 1539 HW1 SOLV 489 -11.505 -4.771 13.678 1.00 0.00 -ATOM 1540 HW2 SOLV 489 -11.825 -3.375 14.461 1.00 0.00 -ATOM 1541 OW SOLV 490 13.098 12.998 3.719 1.00 0.00 -ATOM 1542 HW1 SOLV 490 12.993 13.891 4.157 1.00 0.00 -ATOM 1543 HW2 SOLV 490 12.614 12.305 4.254 1.00 0.00 -ATOM 1544 OW SOLV 491 3.213 -12.861 -10.286 1.00 0.00 -ATOM 1545 HW1 SOLV 491 2.795 -12.673 -11.175 1.00 0.00 -ATOM 1546 HW2 SOLV 491 3.706 -12.049 -9.972 1.00 0.00 -ATOM 1547 OW SOLV 492 -1.907 12.543 2.660 1.00 0.00 -ATOM 1548 HW1 SOLV 492 -1.228 12.973 3.254 1.00 0.00 -ATOM 1549 HW2 SOLV 492 -2.822 12.700 3.031 1.00 0.00 -ATOM 1550 OW SOLV 493 7.392 9.229 -14.028 1.00 0.00 -ATOM 1551 HW1 SOLV 493 8.013 10.011 -13.974 1.00 0.00 -ATOM 1552 HW2 SOLV 493 7.919 8.396 -14.197 1.00 0.00 -ATOM 1553 OW SOLV 494 -1.731 3.139 5.156 1.00 0.00 -ATOM 1554 HW1 SOLV 494 -2.430 3.697 5.603 1.00 0.00 -ATOM 1555 HW2 SOLV 494 -2.134 2.660 4.377 1.00 0.00 -ATOM 1556 OW SOLV 495 -11.657 5.584 -15.225 1.00 0.00 -ATOM 1557 HW1 SOLV 495 -11.776 6.080 -14.365 1.00 0.00 -ATOM 1558 HW2 SOLV 495 -12.540 5.225 -15.527 1.00 0.00 -ATOM 1559 OW SOLV 496 -12.811 9.095 13.817 1.00 0.00 -ATOM 1560 HW1 SOLV 496 -12.369 8.429 14.418 1.00 0.00 -ATOM 1561 HW2 SOLV 496 -12.123 9.524 13.232 1.00 0.00 -ATOM 1562 OW SOLV 497 -2.899 6.653 3.018 1.00 0.00 -ATOM 1563 HW1 SOLV 497 -3.707 6.835 3.578 1.00 0.00 -ATOM 1564 HW2 SOLV 497 -3.090 6.902 2.068 1.00 0.00 -ATOM 1565 OW SOLV 498 -11.322 3.272 -3.473 1.00 0.00 -ATOM 1566 HW1 SOLV 498 -11.856 3.804 -2.816 1.00 0.00 -ATOM 1567 HW2 SOLV 498 -10.505 2.911 -3.024 1.00 0.00 -ATOM 1568 OW SOLV 499 11.856 7.840 8.999 1.00 0.00 -ATOM 1569 HW1 SOLV 499 11.301 7.103 9.385 1.00 0.00 -ATOM 1570 HW2 SOLV 499 11.744 7.856 8.005 1.00 0.00 -ATOM 1571 OW SOLV 500 10.289 15.263 13.010 1.00 0.00 -ATOM 1572 HW1 SOLV 500 9.480 15.724 13.375 1.00 0.00 -ATOM 1573 HW2 SOLV 500 10.811 15.903 12.446 1.00 0.00 -ATOM 1574 OW SOLV 501 13.375 10.173 2.089 1.00 0.00 -ATOM 1575 HW1 SOLV 501 14.120 10.572 1.554 1.00 0.00 -ATOM 1576 HW2 SOLV 501 12.877 10.900 2.561 1.00 0.00 -ATOM 1577 OW SOLV 502 -3.916 -8.061 -12.396 1.00 0.00 -ATOM 1578 HW1 SOLV 502 -3.815 -7.167 -12.834 1.00 0.00 -ATOM 1579 HW2 SOLV 502 -4.028 -7.937 -11.410 1.00 0.00 -ATOM 1580 OW SOLV 503 0.697 -8.638 -1.989 1.00 0.00 -ATOM 1581 HW1 SOLV 503 -0.055 -9.079 -2.478 1.00 0.00 -ATOM 1582 HW2 SOLV 503 0.623 -7.646 -2.088 1.00 0.00 -ATOM 1583 OW SOLV 504 -12.253 8.139 0.919 1.00 0.00 -ATOM 1584 HW1 SOLV 504 -13.115 7.746 0.601 1.00 0.00 -ATOM 1585 HW2 SOLV 504 -12.364 8.475 1.854 1.00 0.00 -ATOM 1586 OW SOLV 505 13.195 15.035 13.609 1.00 0.00 -ATOM 1587 HW1 SOLV 505 12.726 14.420 12.975 1.00 0.00 -ATOM 1588 HW2 SOLV 505 13.413 14.542 14.452 1.00 0.00 -ATOM 1589 OW SOLV 506 12.781 7.756 -1.295 1.00 0.00 -ATOM 1590 HW1 SOLV 506 13.601 7.876 -1.855 1.00 0.00 -ATOM 1591 HW2 SOLV 506 11.983 8.088 -1.799 1.00 0.00 -ATOM 1592 OW SOLV 507 -2.233 -0.641 10.069 1.00 0.00 -ATOM 1593 HW1 SOLV 507 -1.729 -0.837 9.227 1.00 0.00 -ATOM 1594 HW2 SOLV 507 -1.587 -0.403 10.795 1.00 0.00 -ATOM 1595 OW SOLV 508 4.424 5.026 -8.015 1.00 0.00 -ATOM 1596 HW1 SOLV 508 4.911 5.450 -8.778 1.00 0.00 -ATOM 1597 HW2 SOLV 508 3.455 4.937 -8.246 1.00 0.00 -ATOM 1598 OW SOLV 509 14.741 -1.656 5.419 1.00 0.00 -ATOM 1599 HW1 SOLV 509 15.032 -2.592 5.219 1.00 0.00 -ATOM 1600 HW2 SOLV 509 15.546 -1.086 5.588 1.00 0.00 -ATOM 1601 OW SOLV 510 13.390 4.711 -3.771 1.00 0.00 -ATOM 1602 HW1 SOLV 510 12.555 4.375 -4.207 1.00 0.00 -ATOM 1603 HW2 SOLV 510 13.698 5.541 -4.236 1.00 0.00 -ATOM 1604 OW SOLV 511 -6.374 12.517 -13.075 1.00 0.00 -ATOM 1605 HW1 SOLV 511 -6.929 12.425 -13.902 1.00 0.00 -ATOM 1606 HW2 SOLV 511 -5.485 12.909 -13.312 1.00 0.00 -ATOM 1607 OW SOLV 512 -2.176 6.629 11.401 1.00 0.00 -ATOM 1608 HW1 SOLV 512 -1.454 7.304 11.553 1.00 0.00 -ATOM 1609 HW2 SOLV 512 -2.805 6.633 12.178 1.00 0.00 -ATOM 1610 OW SOLV 513 13.139 -10.995 12.346 1.00 0.00 -ATOM 1611 HW1 SOLV 513 12.750 -11.631 11.679 1.00 0.00 -ATOM 1612 HW2 SOLV 513 12.405 -10.452 12.755 1.00 0.00 -ATOM 1613 OW SOLV 514 -10.923 14.250 -11.172 1.00 0.00 -ATOM 1614 HW1 SOLV 514 -11.560 15.021 -11.191 1.00 0.00 -ATOM 1615 HW2 SOLV 514 -10.208 14.392 -11.856 1.00 0.00 -ATOM 1616 OW SOLV 515 12.486 0.968 -10.043 1.00 0.00 -ATOM 1617 HW1 SOLV 515 12.944 0.167 -9.657 1.00 0.00 -ATOM 1618 HW2 SOLV 515 11.659 0.680 -10.525 1.00 0.00 -ATOM 1619 OW SOLV 516 -12.939 5.534 -7.241 1.00 0.00 -ATOM 1620 HW1 SOLV 516 -12.331 6.304 -7.434 1.00 0.00 -ATOM 1621 HW2 SOLV 516 -13.769 5.868 -6.794 1.00 0.00 -ATOM 1622 OW SOLV 517 -3.255 14.679 -7.411 1.00 0.00 -ATOM 1623 HW1 SOLV 517 -2.445 15.096 -7.822 1.00 0.00 -ATOM 1624 HW2 SOLV 517 -4.018 14.727 -8.056 1.00 0.00 -ATOM 1625 OW SOLV 518 -4.099 15.076 9.954 1.00 0.00 -ATOM 1626 HW1 SOLV 518 -3.847 15.074 8.986 1.00 0.00 -ATOM 1627 HW2 SOLV 518 -5.095 15.043 10.039 1.00 0.00 -ATOM 1628 OW SOLV 519 -4.087 12.924 11.900 1.00 0.00 -ATOM 1629 HW1 SOLV 519 -4.931 13.174 12.375 1.00 0.00 -ATOM 1630 HW2 SOLV 519 -3.985 13.490 11.082 1.00 0.00 -ATOM 1631 OW SOLV 520 -14.071 -14.997 -1.479 1.00 0.00 -ATOM 1632 HW1 SOLV 520 -13.929 -14.231 -0.853 1.00 0.00 -ATOM 1633 HW2 SOLV 520 -13.326 -15.024 -2.146 1.00 0.00 -ATOM 1634 OW SOLV 521 5.241 -12.777 1.166 1.00 0.00 -ATOM 1635 HW1 SOLV 521 4.572 -12.549 1.874 1.00 0.00 -ATOM 1636 HW2 SOLV 521 6.108 -12.322 1.368 1.00 0.00 -ATOM 1637 OW SOLV 522 -0.500 -5.106 -10.875 1.00 0.00 -ATOM 1638 HW1 SOLV 522 -1.065 -5.004 -10.057 1.00 0.00 -ATOM 1639 HW2 SOLV 522 -0.017 -5.981 -10.840 1.00 0.00 -ATOM 1640 OW SOLV 523 10.653 -1.048 -4.554 1.00 0.00 -ATOM 1641 HW1 SOLV 523 10.674 -1.784 -3.878 1.00 0.00 -ATOM 1642 HW2 SOLV 523 10.954 -0.195 -4.128 1.00 0.00 -ATOM 1643 OW SOLV 524 9.592 11.958 4.361 1.00 0.00 -ATOM 1644 HW1 SOLV 524 9.419 11.077 4.801 1.00 0.00 -ATOM 1645 HW2 SOLV 524 8.725 12.361 4.070 1.00 0.00 -ATOM 1646 OW SOLV 525 -5.033 -6.143 -14.511 1.00 0.00 -ATOM 1647 HW1 SOLV 525 -4.286 -5.818 -13.931 1.00 0.00 -ATOM 1648 HW2 SOLV 525 -5.818 -5.530 -14.419 1.00 0.00 -ATOM 1649 OW SOLV 526 2.990 -13.428 -7.280 1.00 0.00 -ATOM 1650 HW1 SOLV 526 2.725 -14.346 -7.575 1.00 0.00 -ATOM 1651 HW2 SOLV 526 3.124 -13.423 -6.289 1.00 0.00 -ATOM 1652 OW SOLV 527 0.567 3.630 7.256 1.00 0.00 -ATOM 1653 HW1 SOLV 527 -0.078 4.098 7.860 1.00 0.00 -ATOM 1654 HW2 SOLV 527 0.195 2.739 6.997 1.00 0.00 -ATOM 1655 OW SOLV 528 -5.426 12.337 7.286 1.00 0.00 -ATOM 1656 HW1 SOLV 528 -4.818 11.694 7.751 1.00 0.00 -ATOM 1657 HW2 SOLV 528 -4.889 13.093 6.912 1.00 0.00 -ATOM 1658 OW SOLV 529 -4.927 13.162 -9.995 1.00 0.00 -ATOM 1659 HW1 SOLV 529 -5.450 12.950 -10.821 1.00 0.00 -ATOM 1660 HW2 SOLV 529 -3.999 13.434 -10.248 1.00 0.00 -ATOM 1661 OW SOLV 530 0.361 -11.766 9.424 1.00 0.00 -ATOM 1662 HW1 SOLV 530 -0.129 -11.225 10.107 1.00 0.00 -ATOM 1663 HW2 SOLV 530 -0.247 -12.471 9.058 1.00 0.00 -ATOM 1664 OW SOLV 531 -2.143 -0.282 15.233 1.00 0.00 -ATOM 1665 HW1 SOLV 531 -2.052 -1.107 15.791 1.00 0.00 -ATOM 1666 HW2 SOLV 531 -2.459 0.474 15.806 1.00 0.00 -ATOM 1667 OW SOLV 532 -6.526 -7.217 -7.353 1.00 0.00 -ATOM 1668 HW1 SOLV 532 -6.445 -7.295 -6.360 1.00 0.00 -ATOM 1669 HW2 SOLV 532 -7.309 -6.638 -7.579 1.00 0.00 -ATOM 1670 OW SOLV 533 -7.914 10.308 -14.308 1.00 0.00 -ATOM 1671 HW1 SOLV 533 -6.999 10.022 -14.592 1.00 0.00 -ATOM 1672 HW2 SOLV 533 -8.277 9.651 -13.646 1.00 0.00 -ATOM 1673 OW SOLV 534 14.003 15.054 -11.772 1.00 0.00 -ATOM 1674 HW1 SOLV 534 13.444 14.441 -12.329 1.00 0.00 -ATOM 1675 HW2 SOLV 534 13.443 15.444 -11.041 1.00 0.00 -ATOM 1676 OW SOLV 535 12.541 -12.046 -9.687 1.00 0.00 -ATOM 1677 HW1 SOLV 535 13.402 -11.560 -9.835 1.00 0.00 -ATOM 1678 HW2 SOLV 535 12.143 -12.294 -10.571 1.00 0.00 -ATOM 1679 OW SOLV 536 8.976 14.626 -10.720 1.00 0.00 -ATOM 1680 HW1 SOLV 536 9.300 15.136 -11.516 1.00 0.00 -ATOM 1681 HW2 SOLV 536 7.976 14.597 -10.726 1.00 0.00 -ATOM 1682 OW SOLV 537 -9.090 5.470 4.882 1.00 0.00 -ATOM 1683 HW1 SOLV 537 -9.942 5.886 5.199 1.00 0.00 -ATOM 1684 HW2 SOLV 537 -8.415 5.489 5.619 1.00 0.00 -ATOM 1685 OW SOLV 538 -8.820 8.497 13.077 1.00 0.00 -ATOM 1686 HW1 SOLV 538 -8.204 8.773 12.339 1.00 0.00 -ATOM 1687 HW2 SOLV 538 -9.575 7.961 12.698 1.00 0.00 -ATOM 1688 OW SOLV 539 6.713 6.722 13.482 1.00 0.00 -ATOM 1689 HW1 SOLV 539 7.651 7.046 13.609 1.00 0.00 -ATOM 1690 HW2 SOLV 539 6.708 5.723 13.448 1.00 0.00 -ATOM 1691 OW SOLV 540 14.159 7.423 10.865 1.00 0.00 -ATOM 1692 HW1 SOLV 540 13.238 7.161 10.576 1.00 0.00 -ATOM 1693 HW2 SOLV 540 14.101 8.170 11.527 1.00 0.00 -ATOM 1694 OW SOLV 541 -6.708 1.653 8.851 1.00 0.00 -ATOM 1695 HW1 SOLV 541 -7.167 1.454 9.717 1.00 0.00 -ATOM 1696 HW2 SOLV 541 -7.375 2.006 8.194 1.00 0.00 -ATOM 1697 OW SOLV 542 -11.809 1.891 5.745 1.00 0.00 -ATOM 1698 HW1 SOLV 542 -12.779 2.028 5.544 1.00 0.00 -ATOM 1699 HW2 SOLV 542 -11.538 2.489 6.499 1.00 0.00 -ATOM 1700 OW SOLV 543 10.826 -5.525 4.597 1.00 0.00 -ATOM 1701 HW1 SOLV 543 10.951 -6.414 4.155 1.00 0.00 -ATOM 1702 HW2 SOLV 543 10.508 -5.661 5.535 1.00 0.00 -ATOM 1703 OW SOLV 544 5.255 7.053 -6.324 1.00 0.00 -ATOM 1704 HW1 SOLV 544 4.437 7.488 -5.948 1.00 0.00 -ATOM 1705 HW2 SOLV 544 4.992 6.433 -7.064 1.00 0.00 -ATOM 1706 OW SOLV 545 6.579 6.640 -14.042 1.00 0.00 -ATOM 1707 HW1 SOLV 545 6.725 7.568 -13.700 1.00 0.00 -ATOM 1708 HW2 SOLV 545 6.534 6.004 -13.271 1.00 0.00 -ATOM 1709 OW SOLV 546 -7.248 8.118 -0.101 1.00 0.00 -ATOM 1710 HW1 SOLV 546 -7.031 8.006 0.868 1.00 0.00 -ATOM 1711 HW2 SOLV 546 -8.180 7.800 -0.273 1.00 0.00 -ATOM 1712 OW SOLV 547 -2.890 1.077 -10.179 1.00 0.00 -ATOM 1713 HW1 SOLV 547 -3.425 1.556 -9.483 1.00 0.00 -ATOM 1714 HW2 SOLV 547 -2.642 0.169 -9.842 1.00 0.00 -ATOM 1715 OW SOLV 548 -3.332 -7.434 12.889 1.00 0.00 -ATOM 1716 HW1 SOLV 548 -2.598 -7.821 12.330 1.00 0.00 -ATOM 1717 HW2 SOLV 548 -3.284 -6.436 12.858 1.00 0.00 -ATOM 1718 OW SOLV 549 -2.214 -2.402 -10.175 1.00 0.00 -ATOM 1719 HW1 SOLV 549 -2.280 -3.042 -9.410 1.00 0.00 -ATOM 1720 HW2 SOLV 549 -3.106 -1.981 -10.335 1.00 0.00 -ATOM 1721 OW SOLV 550 -4.151 -11.937 5.258 1.00 0.00 -ATOM 1722 HW1 SOLV 550 -4.077 -10.974 5.516 1.00 0.00 -ATOM 1723 HW2 SOLV 550 -3.279 -12.396 5.429 1.00 0.00 -ATOM 1724 OW SOLV 551 -12.219 -1.450 12.644 1.00 0.00 -ATOM 1725 HW1 SOLV 551 -12.617 -1.574 11.735 1.00 0.00 -ATOM 1726 HW2 SOLV 551 -11.890 -2.331 12.986 1.00 0.00 -ATOM 1727 OW SOLV 552 1.432 -14.437 2.150 1.00 0.00 -ATOM 1728 HW1 SOLV 552 0.829 -13.951 1.516 1.00 0.00 -ATOM 1729 HW2 SOLV 552 2.077 -14.998 1.631 1.00 0.00 -ATOM 1730 OW SOLV 553 -9.892 12.660 9.000 1.00 0.00 -ATOM 1731 HW1 SOLV 553 -9.319 13.425 8.705 1.00 0.00 -ATOM 1732 HW2 SOLV 553 -10.575 12.465 8.297 1.00 0.00 -ATOM 1733 OW SOLV 554 9.632 0.832 -6.716 1.00 0.00 -ATOM 1734 HW1 SOLV 554 9.719 0.572 -7.678 1.00 0.00 -ATOM 1735 HW2 SOLV 554 9.458 0.016 -6.165 1.00 0.00 -ATOM 1736 OW SOLV 555 -11.623 3.978 7.652 1.00 0.00 -ATOM 1737 HW1 SOLV 555 -11.199 4.612 8.300 1.00 0.00 -ATOM 1738 HW2 SOLV 555 -12.598 4.182 7.575 1.00 0.00 -ATOM 1739 OW SOLV 556 -10.859 9.190 -9.917 1.00 0.00 -ATOM 1740 HW1 SOLV 556 -11.120 8.492 -9.250 1.00 0.00 -ATOM 1741 HW2 SOLV 556 -9.870 9.332 -9.882 1.00 0.00 -ATOM 1742 OW SOLV 557 -11.692 -3.779 6.551 1.00 0.00 -ATOM 1743 HW1 SOLV 557 -11.905 -3.343 5.677 1.00 0.00 -ATOM 1744 HW2 SOLV 557 -11.021 -3.226 7.044 1.00 0.00 -ATOM 1745 OW SOLV 558 7.760 -13.857 9.255 1.00 0.00 -ATOM 1746 HW1 SOLV 558 7.014 -14.476 9.010 1.00 0.00 -ATOM 1747 HW2 SOLV 558 8.581 -14.104 8.739 1.00 0.00 -ATOM 1748 OW SOLV 559 4.557 -14.157 11.514 1.00 0.00 -ATOM 1749 HW1 SOLV 559 3.941 -14.870 11.850 1.00 0.00 -ATOM 1750 HW2 SOLV 559 5.077 -14.507 10.735 1.00 0.00 -ATOM 1751 OW SOLV 560 0.725 5.441 5.057 1.00 0.00 -ATOM 1752 HW1 SOLV 560 -0.093 5.199 4.534 1.00 0.00 -ATOM 1753 HW2 SOLV 560 0.684 5.007 5.957 1.00 0.00 -ATOM 1754 OW SOLV 561 -1.522 12.124 10.976 1.00 0.00 -ATOM 1755 HW1 SOLV 561 -2.385 12.623 11.055 1.00 0.00 -ATOM 1756 HW2 SOLV 561 -1.643 11.347 10.358 1.00 0.00 -ATOM 1757 OW SOLV 562 -11.715 3.007 -6.923 1.00 0.00 -ATOM 1758 HW1 SOLV 562 -12.589 2.563 -6.726 1.00 0.00 -ATOM 1759 HW2 SOLV 562 -11.838 4.000 -6.925 1.00 0.00 -ATOM 1760 OW SOLV 563 11.564 -14.709 9.429 1.00 0.00 -ATOM 1761 HW1 SOLV 563 10.987 -15.157 10.112 1.00 0.00 -ATOM 1762 HW2 SOLV 563 12.085 -15.400 8.928 1.00 0.00 -ATOM 1763 OW SOLV 564 -9.749 -13.497 -4.262 1.00 0.00 -ATOM 1764 HW1 SOLV 564 -9.686 -14.470 -4.484 1.00 0.00 -ATOM 1765 HW2 SOLV 564 -10.702 -13.258 -4.077 1.00 0.00 -ATOM 1766 OW SOLV 565 8.755 -13.487 -12.635 1.00 0.00 -ATOM 1767 HW1 SOLV 565 7.775 -13.302 -12.567 1.00 0.00 -ATOM 1768 HW2 SOLV 565 8.912 -14.213 -13.306 1.00 0.00 -ATOM 1769 OW SOLV 566 -4.531 3.606 -13.258 1.00 0.00 -ATOM 1770 HW1 SOLV 566 -3.897 4.122 -12.682 1.00 0.00 -ATOM 1771 HW2 SOLV 566 -4.638 4.072 -14.136 1.00 0.00 -ATOM 1772 OW SOLV 567 -4.437 -14.398 13.041 1.00 0.00 -ATOM 1773 HW1 SOLV 567 -3.814 -15.162 13.209 1.00 0.00 -ATOM 1774 HW2 SOLV 567 -4.082 -13.836 12.294 1.00 0.00 -ATOM 1775 OW SOLV 568 10.896 -12.632 7.408 1.00 0.00 -ATOM 1776 HW1 SOLV 568 10.434 -11.753 7.293 1.00 0.00 -ATOM 1777 HW2 SOLV 568 10.651 -13.239 6.651 1.00 0.00 -ATOM 1778 OW SOLV 569 -0.735 -9.560 -13.636 1.00 0.00 -ATOM 1779 HW1 SOLV 569 -0.119 -9.079 -13.011 1.00 0.00 -ATOM 1780 HW2 SOLV 569 -0.804 -9.050 -14.494 1.00 0.00 -ATOM 1781 OW SOLV 570 7.386 -10.295 -13.929 1.00 0.00 -ATOM 1782 HW1 SOLV 570 7.470 -9.311 -13.768 1.00 0.00 -ATOM 1783 HW2 SOLV 570 8.281 -10.672 -14.165 1.00 0.00 -ATOM 1784 OW SOLV 571 -14.266 -4.617 -11.880 1.00 0.00 -ATOM 1785 HW1 SOLV 571 -14.004 -3.718 -12.233 1.00 0.00 -ATOM 1786 HW2 SOLV 571 -13.754 -4.808 -11.042 1.00 0.00 -ATOM 1787 OW SOLV 572 -8.004 6.500 -7.249 1.00 0.00 -ATOM 1788 HW1 SOLV 572 -7.168 6.031 -7.535 1.00 0.00 -ATOM 1789 HW2 SOLV 572 -8.766 5.852 -7.251 1.00 0.00 -ATOM 1790 OW SOLV 573 -12.484 -15.195 8.618 1.00 0.00 -ATOM 1791 HW1 SOLV 573 -12.251 -15.524 9.533 1.00 0.00 -ATOM 1792 HW2 SOLV 573 -13.282 -14.595 8.673 1.00 0.00 -ATOM 1793 OW SOLV 574 -1.726 -13.721 -15.311 1.00 0.00 -ATOM 1794 HW1 SOLV 574 -0.797 -14.017 -15.089 1.00 0.00 -ATOM 1795 HW2 SOLV 574 -2.310 -13.823 -14.506 1.00 0.00 -ATOM 1796 OW SOLV 575 12.453 11.526 -10.832 1.00 0.00 -ATOM 1797 HW1 SOLV 575 12.922 10.666 -10.630 1.00 0.00 -ATOM 1798 HW2 SOLV 575 12.744 12.225 -10.179 1.00 0.00 -ATOM 1799 OW SOLV 576 6.263 -5.650 0.500 1.00 0.00 -ATOM 1800 HW1 SOLV 576 5.703 -6.163 -0.151 1.00 0.00 -ATOM 1801 HW2 SOLV 576 7.011 -6.230 0.824 1.00 0.00 -ATOM 1802 OW SOLV 577 10.287 -9.331 -11.004 1.00 0.00 -ATOM 1803 HW1 SOLV 577 10.051 -9.813 -11.847 1.00 0.00 -ATOM 1804 HW2 SOLV 577 10.253 -9.968 -10.234 1.00 0.00 -ATOM 1805 OW SOLV 578 -8.615 -5.724 -13.786 1.00 0.00 -ATOM 1806 HW1 SOLV 578 -8.706 -5.874 -12.801 1.00 0.00 -ATOM 1807 HW2 SOLV 578 -7.968 -6.386 -14.165 1.00 0.00 -ATOM 1808 OW SOLV 579 11.179 13.520 -12.450 1.00 0.00 -ATOM 1809 HW1 SOLV 579 10.827 12.650 -12.794 1.00 0.00 -ATOM 1810 HW2 SOLV 579 11.601 13.379 -11.554 1.00 0.00 -ATOM 1811 OW SOLV 580 -5.746 3.654 -0.580 1.00 0.00 -ATOM 1812 HW1 SOLV 580 -6.353 4.295 -1.050 1.00 0.00 -ATOM 1813 HW2 SOLV 580 -5.311 3.054 -1.252 1.00 0.00 -ATOM 1814 OW SOLV 581 8.843 -11.220 -0.344 1.00 0.00 -ATOM 1815 HW1 SOLV 581 7.968 -10.819 -0.615 1.00 0.00 -ATOM 1816 HW2 SOLV 581 8.682 -11.964 0.305 1.00 0.00 -ATOM 1817 OW SOLV 582 -15.055 -5.781 14.719 1.00 0.00 -ATOM 1818 HW1 SOLV 582 -15.741 -6.414 15.079 1.00 0.00 -ATOM 1819 HW2 SOLV 582 -14.315 -6.301 14.292 1.00 0.00 -ATOM 1820 OW SOLV 583 2.918 6.788 9.029 1.00 0.00 -ATOM 1821 HW1 SOLV 583 3.628 6.794 8.325 1.00 0.00 -ATOM 1822 HW2 SOLV 583 3.278 6.369 9.862 1.00 0.00 -ATOM 1823 OW SOLV 584 4.937 -5.079 12.087 1.00 0.00 -ATOM 1824 HW1 SOLV 584 4.520 -4.448 12.740 1.00 0.00 -ATOM 1825 HW2 SOLV 584 4.403 -5.924 12.053 1.00 0.00 -ATOM 1826 OW SOLV 585 7.351 6.876 2.949 1.00 0.00 -ATOM 1827 HW1 SOLV 585 6.491 7.329 3.185 1.00 0.00 -ATOM 1828 HW2 SOLV 585 7.891 6.733 3.778 1.00 0.00 -ATOM 1829 OW SOLV 586 11.589 1.378 7.015 1.00 0.00 -ATOM 1830 HW1 SOLV 586 12.394 1.277 7.600 1.00 0.00 -ATOM 1831 HW2 SOLV 586 11.249 0.473 6.758 1.00 0.00 -ATOM 1832 OW SOLV 587 0.735 -7.646 -9.409 1.00 0.00 -ATOM 1833 HW1 SOLV 587 1.074 -7.989 -10.285 1.00 0.00 -ATOM 1834 HW2 SOLV 587 1.345 -6.928 -9.074 1.00 0.00 -ATOM 1835 OW SOLV 588 -3.401 0.785 6.340 1.00 0.00 -ATOM 1836 HW1 SOLV 588 -3.411 0.274 5.481 1.00 0.00 -ATOM 1837 HW2 SOLV 588 -3.156 0.171 7.090 1.00 0.00 -ATOM 1838 OW SOLV 589 -13.924 -3.351 -0.822 1.00 0.00 -ATOM 1839 HW1 SOLV 589 -13.829 -2.702 -0.067 1.00 0.00 -ATOM 1840 HW2 SOLV 589 -14.456 -4.141 -0.517 1.00 0.00 -ATOM 1841 OW SOLV 590 9.215 3.577 -3.366 1.00 0.00 -ATOM 1842 HW1 SOLV 590 9.603 3.307 -4.247 1.00 0.00 -ATOM 1843 HW2 SOLV 590 8.274 3.890 -3.498 1.00 0.00 -ATOM 1844 OW SOLV 591 -14.389 1.036 0.073 1.00 0.00 -ATOM 1845 HW1 SOLV 591 -14.391 0.125 -0.340 1.00 0.00 -ATOM 1846 HW2 SOLV 591 -14.313 1.728 -0.645 1.00 0.00 -ATOM 1847 OW SOLV 592 1.651 -2.669 -10.185 1.00 0.00 -ATOM 1848 HW1 SOLV 592 1.113 -3.364 -10.663 1.00 0.00 -ATOM 1849 HW2 SOLV 592 1.287 -2.542 -9.262 1.00 0.00 -ATOM 1850 OW SOLV 593 10.875 -14.694 -3.048 1.00 0.00 -ATOM 1851 HW1 SOLV 593 11.520 -13.951 -2.867 1.00 0.00 -ATOM 1852 HW2 SOLV 593 10.240 -14.415 -3.768 1.00 0.00 -ATOM 1853 OW SOLV 594 8.739 13.593 -5.370 1.00 0.00 -ATOM 1854 HW1 SOLV 594 8.156 13.618 -4.557 1.00 0.00 -ATOM 1855 HW2 SOLV 594 8.342 12.973 -6.046 1.00 0.00 -ATOM 1856 OW SOLV 595 -4.634 14.102 -2.727 1.00 0.00 -ATOM 1857 HW1 SOLV 595 -5.612 13.920 -2.619 1.00 0.00 -ATOM 1858 HW2 SOLV 595 -4.374 13.968 -3.684 1.00 0.00 -ATOM 1859 OW SOLV 596 3.648 5.656 12.897 1.00 0.00 -ATOM 1860 HW1 SOLV 596 4.274 4.953 13.234 1.00 0.00 -ATOM 1861 HW2 SOLV 596 3.673 6.446 13.509 1.00 0.00 -ATOM 1862 OW SOLV 597 -3.830 -5.203 -9.799 1.00 0.00 -ATOM 1863 HW1 SOLV 597 -4.799 -5.424 -9.911 1.00 0.00 -ATOM 1864 HW2 SOLV 597 -3.629 -5.065 -8.829 1.00 0.00 -ATOM 1865 OW SOLV 598 15.311 -3.886 11.962 1.00 0.00 -ATOM 1866 HW1 SOLV 598 16.238 -4.263 11.971 1.00 0.00 -ATOM 1867 HW2 SOLV 598 14.677 -4.556 12.349 1.00 0.00 -ATOM 1868 OW SOLV 599 12.684 1.554 2.222 1.00 0.00 -ATOM 1869 HW1 SOLV 599 11.956 1.001 2.627 1.00 0.00 -ATOM 1870 HW2 SOLV 599 13.568 1.251 2.576 1.00 0.00 -ATOM 1871 OW SOLV 600 -12.800 0.290 -11.354 1.00 0.00 -ATOM 1872 HW1 SOLV 600 -13.018 1.183 -10.958 1.00 0.00 -ATOM 1873 HW2 SOLV 600 -12.021 0.382 -11.974 1.00 0.00 -ATOM 1874 OW SOLV 601 3.263 4.067 -4.308 1.00 0.00 -ATOM 1875 HW1 SOLV 601 4.180 4.464 -4.264 1.00 0.00 -ATOM 1876 HW2 SOLV 601 2.998 3.946 -5.265 1.00 0.00 -ATOM 1877 OW SOLV 602 -8.903 7.803 -11.754 1.00 0.00 -ATOM 1878 HW1 SOLV 602 -7.965 7.904 -12.086 1.00 0.00 -ATOM 1879 HW2 SOLV 602 -8.888 7.459 -10.815 1.00 0.00 -ATOM 1880 OW SOLV 603 -7.091 -11.868 5.554 1.00 0.00 -ATOM 1881 HW1 SOLV 603 -6.940 -11.493 6.469 1.00 0.00 -ATOM 1882 HW2 SOLV 603 -6.211 -11.999 5.098 1.00 0.00 -ATOM 1883 OW SOLV 604 2.486 -3.210 11.172 1.00 0.00 -ATOM 1884 HW1 SOLV 604 3.258 -2.663 10.848 1.00 0.00 -ATOM 1885 HW2 SOLV 604 1.827 -2.617 11.634 1.00 0.00 -ATOM 1886 OW SOLV 605 1.232 7.146 11.108 1.00 0.00 -ATOM 1887 HW1 SOLV 605 1.301 7.559 10.200 1.00 0.00 -ATOM 1888 HW2 SOLV 605 0.532 7.622 11.639 1.00 0.00 -ATOM 1889 OW SOLV 606 -6.779 1.822 12.144 1.00 0.00 -ATOM 1890 HW1 SOLV 606 -6.618 1.461 11.225 1.00 0.00 -ATOM 1891 HW2 SOLV 606 -6.527 1.131 12.822 1.00 0.00 -ATOM 1892 OW SOLV 607 -13.852 -9.136 7.521 1.00 0.00 -ATOM 1893 HW1 SOLV 607 -13.953 -8.141 7.498 1.00 0.00 -ATOM 1894 HW2 SOLV 607 -12.911 -9.381 7.286 1.00 0.00 -ATOM 1895 OW SOLV 608 -7.594 11.376 13.130 1.00 0.00 -ATOM 1896 HW1 SOLV 608 -6.673 11.022 13.293 1.00 0.00 -ATOM 1897 HW2 SOLV 608 -8.258 10.821 13.631 1.00 0.00 -ATOM 1898 OW SOLV 609 8.914 0.160 0.321 1.00 0.00 -ATOM 1899 HW1 SOLV 609 9.148 -0.796 0.499 1.00 0.00 -ATOM 1900 HW2 SOLV 609 9.120 0.709 1.131 1.00 0.00 -ATOM 1901 OW SOLV 610 10.549 -1.515 11.951 1.00 0.00 -ATOM 1902 HW1 SOLV 610 10.472 -1.417 12.943 1.00 0.00 -ATOM 1903 HW2 SOLV 610 11.356 -1.020 11.629 1.00 0.00 -ATOM 1904 OW SOLV 611 -5.197 1.123 -2.262 1.00 0.00 -ATOM 1905 HW1 SOLV 611 -5.492 0.192 -2.047 1.00 0.00 -ATOM 1906 HW2 SOLV 611 -4.764 1.529 -1.458 1.00 0.00 -ATOM 1907 OW SOLV 612 -10.808 7.369 -4.970 1.00 0.00 -ATOM 1908 HW1 SOLV 612 -11.778 7.271 -4.746 1.00 0.00 -ATOM 1909 HW2 SOLV 612 -10.259 6.874 -4.296 1.00 0.00 -ATOM 1910 OW SOLV 613 -4.082 9.995 -13.989 1.00 0.00 -ATOM 1911 HW1 SOLV 613 -3.610 10.795 -13.619 1.00 0.00 -ATOM 1912 HW2 SOLV 613 -4.439 10.209 -14.898 1.00 0.00 -ATOM 1913 OW SOLV 614 -9.180 10.624 0.712 1.00 0.00 -ATOM 1914 HW1 SOLV 614 -8.338 11.140 0.871 1.00 0.00 -ATOM 1915 HW2 SOLV 614 -8.954 9.730 0.324 1.00 0.00 -ATOM 1916 OW SOLV 615 -13.730 2.201 -15.033 1.00 0.00 -ATOM 1917 HW1 SOLV 615 -13.955 3.167 -15.155 1.00 0.00 -ATOM 1918 HW2 SOLV 615 -12.825 2.119 -14.617 1.00 0.00 -ATOM 1919 OW SOLV 616 13.901 -6.535 -13.786 1.00 0.00 -ATOM 1920 HW1 SOLV 616 13.956 -7.200 -13.041 1.00 0.00 -ATOM 1921 HW2 SOLV 616 14.772 -6.051 -13.866 1.00 0.00 -ATOM 1922 OW SOLV 617 1.706 -0.626 -7.761 1.00 0.00 -ATOM 1923 HW1 SOLV 617 2.366 -0.467 -8.496 1.00 0.00 -ATOM 1924 HW2 SOLV 617 0.981 -1.231 -8.089 1.00 0.00 -ATOM 1925 OW SOLV 618 -11.325 12.567 -2.085 1.00 0.00 -ATOM 1926 HW1 SOLV 618 -12.157 12.398 -2.615 1.00 0.00 -ATOM 1927 HW2 SOLV 618 -11.239 11.872 -1.371 1.00 0.00 -ATOM 1928 OW SOLV 619 9.303 15.250 -14.622 1.00 0.00 -ATOM 1929 HW1 SOLV 619 9.661 15.367 -15.549 1.00 0.00 -ATOM 1930 HW2 SOLV 619 9.530 14.335 -14.290 1.00 0.00 -ATOM 1931 OW SOLV 620 -9.339 14.131 3.969 1.00 0.00 -ATOM 1932 HW1 SOLV 620 -9.534 14.600 4.831 1.00 0.00 -ATOM 1933 HW2 SOLV 620 -8.473 14.466 3.597 1.00 0.00 -ATOM 1934 OW SOLV 621 2.821 -0.231 -10.556 1.00 0.00 -ATOM 1935 HW1 SOLV 621 2.595 -1.061 -11.065 1.00 0.00 -ATOM 1936 HW2 SOLV 621 2.178 0.496 -10.799 1.00 0.00 -ATOM 1937 OW SOLV 622 -6.070 -14.166 4.065 1.00 0.00 -ATOM 1938 HW1 SOLV 622 -6.317 -13.593 4.846 1.00 0.00 -ATOM 1939 HW2 SOLV 622 -5.561 -13.620 3.399 1.00 0.00 -ATOM 1940 OW SOLV 623 7.975 -12.881 -8.491 1.00 0.00 -ATOM 1941 HW1 SOLV 623 8.954 -13.082 -8.537 1.00 0.00 -ATOM 1942 HW2 SOLV 623 7.561 -13.036 -9.388 1.00 0.00 -ATOM 1943 OW SOLV 624 0.882 -10.931 -9.372 1.00 0.00 -ATOM 1944 HW1 SOLV 624 0.620 -10.251 -10.056 1.00 0.00 -ATOM 1945 HW2 SOLV 624 0.364 -11.773 -9.522 1.00 0.00 -ATOM 1946 OW SOLV 625 10.014 -11.548 -3.411 1.00 0.00 -ATOM 1947 HW1 SOLV 625 10.793 -10.925 -3.340 1.00 0.00 -ATOM 1948 HW2 SOLV 625 9.393 -11.225 -4.126 1.00 0.00 -ATOM 1949 OW SOLV 626 0.970 -8.058 1.470 1.00 0.00 -ATOM 1950 HW1 SOLV 626 1.387 -8.104 0.562 1.00 0.00 -ATOM 1951 HW2 SOLV 626 0.851 -8.983 1.829 1.00 0.00 -ATOM 1952 OW SOLV 627 -0.626 -6.941 4.426 1.00 0.00 -ATOM 1953 HW1 SOLV 627 -1.102 -7.481 3.731 1.00 0.00 -ATOM 1954 HW2 SOLV 627 0.311 -6.762 4.125 1.00 0.00 -ATOM 1955 OW SOLV 628 2.776 14.222 8.589 1.00 0.00 -ATOM 1956 HW1 SOLV 628 2.143 14.688 9.208 1.00 0.00 -ATOM 1957 HW2 SOLV 628 2.579 14.491 7.646 1.00 0.00 -ATOM 1958 OW SOLV 629 4.176 -13.520 3.605 1.00 0.00 -ATOM 1959 HW1 SOLV 629 3.429 -14.072 3.976 1.00 0.00 -ATOM 1960 HW2 SOLV 629 4.313 -13.750 2.642 1.00 0.00 -ATOM 1961 OW SOLV 630 13.497 -4.537 -8.112 1.00 0.00 -ATOM 1962 HW1 SOLV 630 13.322 -3.903 -8.865 1.00 0.00 -ATOM 1963 HW2 SOLV 630 14.090 -5.277 -8.430 1.00 0.00 -ATOM 1964 OW SOLV 631 -12.993 -12.212 0.907 1.00 0.00 -ATOM 1965 HW1 SOLV 631 -13.584 -12.840 1.413 1.00 0.00 -ATOM 1966 HW2 SOLV 631 -12.068 -12.589 0.861 1.00 0.00 -ATOM 1967 OW SOLV 632 1.306 5.194 -2.389 1.00 0.00 -ATOM 1968 HW1 SOLV 632 1.001 5.716 -3.186 1.00 0.00 -ATOM 1969 HW2 SOLV 632 2.063 4.596 -2.652 1.00 0.00 -ATOM 1970 OW SOLV 633 -3.115 -5.428 -12.879 1.00 0.00 -ATOM 1971 HW1 SOLV 633 -3.193 -4.538 -13.328 1.00 0.00 -ATOM 1972 HW2 SOLV 633 -2.312 -5.432 -12.283 1.00 0.00 -ATOM 1973 OW SOLV 634 -7.088 -5.501 -9.425 1.00 0.00 -ATOM 1974 HW1 SOLV 634 -8.080 -5.370 -9.424 1.00 0.00 -ATOM 1975 HW2 SOLV 634 -6.881 -6.469 -9.568 1.00 0.00 -ATOM 1976 OW SOLV 635 1.351 -5.907 -3.497 1.00 0.00 -ATOM 1977 HW1 SOLV 635 2.159 -5.613 -4.006 1.00 0.00 -ATOM 1978 HW2 SOLV 635 0.763 -5.117 -3.320 1.00 0.00 -ATOM 1979 OW SOLV 636 -6.703 -6.586 -1.535 1.00 0.00 -ATOM 1980 HW1 SOLV 636 -6.573 -6.424 -2.513 1.00 0.00 -ATOM 1981 HW2 SOLV 636 -6.589 -7.561 -1.341 1.00 0.00 -ATOM 1982 OW SOLV 637 11.731 5.705 -8.271 1.00 0.00 -ATOM 1983 HW1 SOLV 637 10.837 5.301 -8.076 1.00 0.00 -ATOM 1984 HW2 SOLV 637 12.450 5.050 -8.041 1.00 0.00 -ATOM 1985 OW SOLV 638 -12.550 9.978 8.416 1.00 0.00 -ATOM 1986 HW1 SOLV 638 -12.745 9.703 7.474 1.00 0.00 -ATOM 1987 HW2 SOLV 638 -11.783 10.620 8.423 1.00 0.00 -ATOM 1988 OW SOLV 639 -6.861 -12.946 -10.297 1.00 0.00 -ATOM 1989 HW1 SOLV 639 -5.886 -12.771 -10.430 1.00 0.00 -ATOM 1990 HW2 SOLV 639 -7.172 -13.625 -10.962 1.00 0.00 -ATOM 1991 OW SOLV 640 3.478 -9.424 2.463 1.00 0.00 -ATOM 1992 HW1 SOLV 640 3.907 -9.967 1.741 1.00 0.00 -ATOM 1993 HW2 SOLV 640 3.855 -8.498 2.452 1.00 0.00 -ATOM 1994 OW SOLV 641 7.977 -5.914 7.647 1.00 0.00 -ATOM 1995 HW1 SOLV 641 8.711 -6.551 7.412 1.00 0.00 -ATOM 1996 HW2 SOLV 641 8.351 -5.159 8.186 1.00 0.00 -ATOM 1997 OW SOLV 642 14.333 -7.855 5.546 1.00 0.00 -ATOM 1998 HW1 SOLV 642 14.954 -7.263 6.060 1.00 0.00 -ATOM 1999 HW2 SOLV 642 13.938 -8.538 6.162 1.00 0.00 -ATOM 2000 OW SOLV 643 15.143 -11.234 7.964 1.00 0.00 -ATOM 2001 HW1 SOLV 643 15.439 -11.708 7.134 1.00 0.00 -ATOM 2002 HW2 SOLV 643 15.654 -10.379 8.060 1.00 0.00 -ATOM 2003 OW SOLV 644 -5.707 0.863 -14.882 1.00 0.00 -ATOM 2004 HW1 SOLV 644 -5.405 1.106 -13.960 1.00 0.00 -ATOM 2005 HW2 SOLV 644 -5.812 1.695 -15.428 1.00 0.00 -ATOM 2006 OW SOLV 645 12.468 -0.953 3.858 1.00 0.00 -ATOM 2007 HW1 SOLV 645 12.847 -1.305 3.002 1.00 0.00 -ATOM 2008 HW2 SOLV 645 13.094 -1.160 4.609 1.00 0.00 -ATOM 2009 OW SOLV 646 14.339 -1.996 15.281 1.00 0.00 -ATOM 2010 HW1 SOLV 646 14.165 -1.853 14.307 1.00 0.00 -ATOM 2011 HW2 SOLV 646 15.191 -2.508 15.396 1.00 0.00 -ATOM 2012 OW SOLV 647 -0.493 -2.271 14.134 1.00 0.00 -ATOM 2013 HW1 SOLV 647 -1.125 -1.558 14.439 1.00 0.00 -ATOM 2014 HW2 SOLV 647 0.429 -1.891 14.060 1.00 0.00 -ATOM 2015 OW SOLV 648 -12.323 11.199 1.849 1.00 0.00 -ATOM 2016 HW1 SOLV 648 -11.341 11.280 2.021 1.00 0.00 -ATOM 2017 HW2 SOLV 648 -12.478 10.555 1.099 1.00 0.00 -ATOM 2018 OW SOLV 649 0.992 11.080 -1.961 1.00 0.00 -ATOM 2019 HW1 SOLV 649 1.406 10.678 -1.144 1.00 0.00 -ATOM 2020 HW2 SOLV 649 0.775 12.040 -1.786 1.00 0.00 -ATOM 2021 OW SOLV 650 3.486 -2.868 -6.256 1.00 0.00 -ATOM 2022 HW1 SOLV 650 3.864 -2.868 -5.330 1.00 0.00 -ATOM 2023 HW2 SOLV 650 3.447 -1.929 -6.599 1.00 0.00 -ATOM 2024 OW SOLV 651 -6.644 -7.822 -4.691 1.00 0.00 -ATOM 2025 HW1 SOLV 651 -6.553 -8.474 -3.938 1.00 0.00 -ATOM 2026 HW2 SOLV 651 -7.346 -8.144 -5.326 1.00 0.00 -ATOM 2027 OW SOLV 652 4.212 3.541 0.512 1.00 0.00 -ATOM 2028 HW1 SOLV 652 4.286 3.748 -0.464 1.00 0.00 -ATOM 2029 HW2 SOLV 652 5.128 3.446 0.902 1.00 0.00 -ATOM 2030 OW SOLV 653 -2.360 12.571 -5.581 1.00 0.00 -ATOM 2031 HW1 SOLV 653 -2.204 13.417 -6.090 1.00 0.00 -ATOM 2032 HW2 SOLV 653 -3.341 12.452 -5.425 1.00 0.00 -ATOM 2033 OW SOLV 654 7.520 8.815 -0.973 1.00 0.00 -ATOM 2034 HW1 SOLV 654 6.821 8.136 -1.195 1.00 0.00 -ATOM 2035 HW2 SOLV 654 7.936 8.589 -0.092 1.00 0.00 -ATOM 2036 OW SOLV 655 13.575 9.000 -10.105 1.00 0.00 -ATOM 2037 HW1 SOLV 655 13.257 8.678 -10.997 1.00 0.00 -ATOM 2038 HW2 SOLV 655 13.891 8.221 -9.563 1.00 0.00 -ATOM 2039 OW SOLV 656 -8.725 -10.908 3.246 1.00 0.00 -ATOM 2040 HW1 SOLV 656 -9.248 -11.183 4.053 1.00 0.00 -ATOM 2041 HW2 SOLV 656 -7.758 -10.827 3.487 1.00 0.00 -ATOM 2042 OW SOLV 657 10.285 8.868 0.188 1.00 0.00 -ATOM 2043 HW1 SOLV 657 10.930 9.446 -0.312 1.00 0.00 -ATOM 2044 HW2 SOLV 657 9.581 8.534 -0.439 1.00 0.00 -ATOM 2045 OW SOLV 658 1.333 8.834 -14.843 1.00 0.00 -ATOM 2046 HW1 SOLV 658 1.686 8.136 -15.466 1.00 0.00 -ATOM 2047 HW2 SOLV 658 1.826 9.691 -14.988 1.00 0.00 -ATOM 2048 OW SOLV 659 -9.132 -10.584 -13.319 1.00 0.00 -ATOM 2049 HW1 SOLV 659 -8.613 -10.073 -14.003 1.00 0.00 -ATOM 2050 HW2 SOLV 659 -9.837 -9.993 -12.925 1.00 0.00 -ATOM 2051 OW SOLV 660 2.591 1.961 8.451 1.00 0.00 -ATOM 2052 HW1 SOLV 660 2.044 2.474 7.789 1.00 0.00 -ATOM 2053 HW2 SOLV 660 3.286 2.562 8.846 1.00 0.00 -ATOM 2054 OW SOLV 661 -7.265 9.677 9.318 1.00 0.00 -ATOM 2055 HW1 SOLV 661 -7.527 10.596 9.615 1.00 0.00 -ATOM 2056 HW2 SOLV 661 -6.680 9.257 10.012 1.00 0.00 -ATOM 2057 OW SOLV 662 12.143 -8.544 14.710 1.00 0.00 -ATOM 2058 HW1 SOLV 662 12.837 -7.871 14.965 1.00 0.00 -ATOM 2059 HW2 SOLV 662 11.660 -8.853 15.529 1.00 0.00 -ATOM 2060 OW SOLV 663 7.492 9.141 -3.849 1.00 0.00 -ATOM 2061 HW1 SOLV 663 8.276 8.564 -4.078 1.00 0.00 -ATOM 2062 HW2 SOLV 663 7.394 9.191 -2.855 1.00 0.00 -ATOM 2063 OW SOLV 664 -4.959 10.090 -2.474 1.00 0.00 -ATOM 2064 HW1 SOLV 664 -4.452 10.753 -3.024 1.00 0.00 -ATOM 2065 HW2 SOLV 664 -4.937 10.367 -1.513 1.00 0.00 -ATOM 2066 OW SOLV 665 5.682 6.923 -9.397 1.00 0.00 -ATOM 2067 HW1 SOLV 665 5.419 7.053 -10.354 1.00 0.00 -ATOM 2068 HW2 SOLV 665 5.458 7.747 -8.876 1.00 0.00 -ATOM 2069 OW SOLV 666 -11.040 -0.373 -7.114 1.00 0.00 -ATOM 2070 HW1 SOLV 666 -11.106 -0.924 -7.946 1.00 0.00 -ATOM 2071 HW2 SOLV 666 -10.743 0.553 -7.351 1.00 0.00 -ATOM 2072 OW SOLV 667 5.835 10.034 8.696 1.00 0.00 -ATOM 2073 HW1 SOLV 667 6.347 10.357 9.492 1.00 0.00 -ATOM 2074 HW2 SOLV 667 4.930 10.459 8.687 1.00 0.00 -ATOM 2075 OW SOLV 668 10.120 8.993 12.303 1.00 0.00 -ATOM 2076 HW1 SOLV 668 9.252 9.320 12.676 1.00 0.00 -ATOM 2077 HW2 SOLV 668 10.584 9.742 11.831 1.00 0.00 -ATOM 2078 OW SOLV 669 -4.067 -8.157 0.065 1.00 0.00 -ATOM 2079 HW1 SOLV 669 -4.819 -8.441 0.660 1.00 0.00 -ATOM 2080 HW2 SOLV 669 -4.336 -7.341 -0.447 1.00 0.00 -ATOM 2081 OW SOLV 670 3.491 11.408 8.599 1.00 0.00 -ATOM 2082 HW1 SOLV 670 3.833 11.743 7.721 1.00 0.00 -ATOM 2083 HW2 SOLV 670 2.850 12.072 8.982 1.00 0.00 -ATOM 2084 OW SOLV 671 10.149 9.502 -11.191 1.00 0.00 -ATOM 2085 HW1 SOLV 671 9.830 8.864 -10.490 1.00 0.00 -ATOM 2086 HW2 SOLV 671 11.149 9.507 -11.207 1.00 0.00 -ATOM 2087 OW SOLV 672 4.942 -0.920 2.436 1.00 0.00 -ATOM 2088 HW1 SOLV 672 5.603 -0.173 2.372 1.00 0.00 -ATOM 2089 HW2 SOLV 672 4.241 -0.689 3.111 1.00 0.00 -ATOM 2090 OW SOLV 673 2.646 8.189 -5.645 1.00 0.00 -ATOM 2091 HW1 SOLV 673 2.564 8.570 -6.566 1.00 0.00 -ATOM 2092 HW2 SOLV 673 2.489 8.911 -4.971 1.00 0.00 -ATOM 2093 OW SOLV 674 10.873 13.198 -8.317 1.00 0.00 -ATOM 2094 HW1 SOLV 674 9.990 12.729 -8.275 1.00 0.00 -ATOM 2095 HW2 SOLV 674 10.834 13.918 -9.011 1.00 0.00 -ATOM 2096 OW SOLV 675 -13.526 -6.857 -13.402 1.00 0.00 -ATOM 2097 HW1 SOLV 675 -13.657 -6.457 -12.495 1.00 0.00 -ATOM 2098 HW2 SOLV 675 -13.438 -6.126 -14.079 1.00 0.00 -ATOM 2099 OW SOLV 676 -7.212 -14.373 -1.107 1.00 0.00 -ATOM 2100 HW1 SOLV 676 -7.994 -13.771 -0.952 1.00 0.00 -ATOM 2101 HW2 SOLV 676 -7.501 -15.163 -1.648 1.00 0.00 -ATOM 2102 OW SOLV 677 6.577 -2.008 -6.208 1.00 0.00 -ATOM 2103 HW1 SOLV 677 7.338 -1.731 -6.794 1.00 0.00 -ATOM 2104 HW2 SOLV 677 6.624 -1.509 -5.342 1.00 0.00 -ATOM 2105 OW SOLV 678 3.726 5.606 4.876 1.00 0.00 -ATOM 2106 HW1 SOLV 678 2.960 6.044 4.407 1.00 0.00 -ATOM 2107 HW2 SOLV 678 3.717 5.862 5.842 1.00 0.00 -ATOM 2108 OW SOLV 679 12.641 2.305 -1.789 1.00 0.00 -ATOM 2109 HW1 SOLV 679 11.657 2.479 -1.750 1.00 0.00 -ATOM 2110 HW2 SOLV 679 12.874 1.904 -2.675 1.00 0.00 -ATOM 2111 OW SOLV 680 -5.025 0.712 -12.128 1.00 0.00 -ATOM 2112 HW1 SOLV 680 -4.058 0.791 -12.369 1.00 0.00 -ATOM 2113 HW2 SOLV 680 -5.118 0.153 -11.304 1.00 0.00 -ATOM 2114 OW SOLV 681 -8.075 -14.447 1.996 1.00 0.00 -ATOM 2115 HW1 SOLV 681 -8.745 -13.735 1.786 1.00 0.00 -ATOM 2116 HW2 SOLV 681 -7.241 -14.025 2.353 1.00 0.00 -ATOM 2117 OW SOLV 682 -8.012 -8.045 -11.099 1.00 0.00 -ATOM 2118 HW1 SOLV 682 -8.915 -7.941 -10.682 1.00 0.00 -ATOM 2119 HW2 SOLV 682 -7.431 -8.596 -10.500 1.00 0.00 -ATOM 2120 OW SOLV 683 11.320 -4.277 -3.788 1.00 0.00 -ATOM 2121 HW1 SOLV 683 10.848 -4.696 -4.563 1.00 0.00 -ATOM 2122 HW2 SOLV 683 10.726 -4.300 -2.984 1.00 0.00 -ATOM 2123 OW SOLV 684 -4.158 11.817 4.327 1.00 0.00 -ATOM 2124 HW1 SOLV 684 -4.534 11.119 4.936 1.00 0.00 -ATOM 2125 HW2 SOLV 684 -3.547 11.385 3.663 1.00 0.00 -ATOM 2126 OW SOLV 685 9.598 12.316 1.662 1.00 0.00 -ATOM 2127 HW1 SOLV 685 9.689 12.301 2.658 1.00 0.00 -ATOM 2128 HW2 SOLV 685 10.238 11.662 1.259 1.00 0.00 -ATOM 2129 OW SOLV 686 13.552 -4.637 -0.497 1.00 0.00 -ATOM 2130 HW1 SOLV 686 13.989 -4.526 0.396 1.00 0.00 -ATOM 2131 HW2 SOLV 686 12.976 -3.842 -0.687 1.00 0.00 -ATOM 2132 OW SOLV 687 -7.077 -7.987 -14.039 1.00 0.00 -ATOM 2133 HW1 SOLV 687 -7.093 -8.519 -13.193 1.00 0.00 -ATOM 2134 HW2 SOLV 687 -6.169 -8.044 -14.452 1.00 0.00 -ATOM 2135 OW SOLV 688 -1.575 7.266 8.611 1.00 0.00 -ATOM 2136 HW1 SOLV 688 -1.588 6.369 8.167 1.00 0.00 -ATOM 2137 HW2 SOLV 688 -0.716 7.731 8.396 1.00 0.00 -ATOM 2138 OW SOLV 689 7.232 2.315 -1.074 1.00 0.00 -ATOM 2139 HW1 SOLV 689 7.962 1.781 -0.647 1.00 0.00 -ATOM 2140 HW2 SOLV 689 7.104 3.168 -0.568 1.00 0.00 -ATOM 2141 OW SOLV 690 9.417 -9.533 12.219 1.00 0.00 -ATOM 2142 HW1 SOLV 690 9.069 -10.288 11.663 1.00 0.00 -ATOM 2143 HW2 SOLV 690 9.770 -8.814 11.620 1.00 0.00 -ATOM 2144 OW SOLV 691 5.707 2.919 6.135 1.00 0.00 -ATOM 2145 HW1 SOLV 691 5.105 2.121 6.118 1.00 0.00 -ATOM 2146 HW2 SOLV 691 6.660 2.618 6.150 1.00 0.00 -ATOM 2147 OW SOLV 692 10.725 -3.503 -6.722 1.00 0.00 -ATOM 2148 HW1 SOLV 692 11.285 -4.198 -6.270 1.00 0.00 -ATOM 2149 HW2 SOLV 692 11.119 -2.599 -6.559 1.00 0.00 -ATOM 2150 OW SOLV 693 14.049 -11.024 1.887 1.00 0.00 -ATOM 2151 HW1 SOLV 693 14.844 -11.441 2.328 1.00 0.00 -ATOM 2152 HW2 SOLV 693 13.245 -11.598 2.037 1.00 0.00 -ATOM 2153 OW SOLV 694 6.194 1.261 -8.369 1.00 0.00 -ATOM 2154 HW1 SOLV 694 5.711 1.385 -9.236 1.00 0.00 -ATOM 2155 HW2 SOLV 694 7.166 1.113 -8.547 1.00 0.00 -ATOM 2156 OW SOLV 695 10.868 8.678 6.482 1.00 0.00 -ATOM 2157 HW1 SOLV 695 11.199 9.496 6.013 1.00 0.00 -ATOM 2158 HW2 SOLV 695 11.048 7.873 5.916 1.00 0.00 -ATOM 2159 OW SOLV 696 9.118 -10.448 7.012 1.00 0.00 -ATOM 2160 HW1 SOLV 696 8.456 -9.885 6.518 1.00 0.00 -ATOM 2161 HW2 SOLV 696 8.634 -11.072 7.625 1.00 0.00 -ATOM 2162 OW SOLV 697 11.377 -11.724 3.961 1.00 0.00 -ATOM 2163 HW1 SOLV 697 11.459 -12.541 3.391 1.00 0.00 -ATOM 2164 HW2 SOLV 697 12.173 -11.656 4.563 1.00 0.00 -ATOM 2165 OW SOLV 698 7.555 -9.975 -9.502 1.00 0.00 -ATOM 2166 HW1 SOLV 698 6.851 -9.896 -8.796 1.00 0.00 -ATOM 2167 HW2 SOLV 698 8.451 -10.076 -9.068 1.00 0.00 -ATOM 2168 OW SOLV 699 -6.529 -6.215 13.985 1.00 0.00 -ATOM 2169 HW1 SOLV 699 -6.626 -7.031 14.555 1.00 0.00 -ATOM 2170 HW2 SOLV 699 -5.886 -5.582 14.416 1.00 0.00 -ATOM 2171 OW SOLV 700 -14.078 4.913 14.649 1.00 0.00 -ATOM 2172 HW1 SOLV 700 -15.045 4.671 14.732 1.00 0.00 -ATOM 2173 HW2 SOLV 700 -13.996 5.809 14.214 1.00 0.00 -ATOM 2174 OW SOLV 701 8.451 2.495 6.805 1.00 0.00 -ATOM 2175 HW1 SOLV 701 8.695 2.996 7.635 1.00 0.00 -ATOM 2176 HW2 SOLV 701 9.232 1.947 6.506 1.00 0.00 -ATOM 2177 OW SOLV 702 12.856 1.631 11.026 1.00 0.00 -ATOM 2178 HW1 SOLV 702 13.237 0.720 10.867 1.00 0.00 -ATOM 2179 HW2 SOLV 702 13.597 2.271 11.232 1.00 0.00 -ATOM 2180 OW SOLV 703 4.887 3.838 8.803 1.00 0.00 -ATOM 2181 HW1 SOLV 703 5.016 3.439 7.894 1.00 0.00 -ATOM 2182 HW2 SOLV 703 5.687 3.639 9.370 1.00 0.00 -ATOM 2183 OW SOLV 704 -3.979 -7.572 -5.711 1.00 0.00 -ATOM 2184 HW1 SOLV 704 -4.873 -7.986 -5.539 1.00 0.00 -ATOM 2185 HW2 SOLV 704 -3.859 -6.778 -5.115 1.00 0.00 -ATOM 2186 OW SOLV 705 12.366 -5.029 -10.939 1.00 0.00 -ATOM 2187 HW1 SOLV 705 12.740 -4.211 -11.375 1.00 0.00 -ATOM 2188 HW2 SOLV 705 12.940 -5.818 -11.161 1.00 0.00 -ATOM 2189 OW SOLV 706 -9.358 -4.293 -2.515 1.00 0.00 -ATOM 2190 HW1 SOLV 706 -9.605 -4.942 -3.235 1.00 0.00 -ATOM 2191 HW2 SOLV 706 -8.480 -4.557 -2.116 1.00 0.00 -ATOM 2192 OW SOLV 707 3.664 -5.405 9.185 1.00 0.00 -ATOM 2193 HW1 SOLV 707 4.138 -6.277 9.061 1.00 0.00 -ATOM 2194 HW2 SOLV 707 4.010 -4.952 10.007 1.00 0.00 -ATOM 2195 OW SOLV 708 15.185 5.582 1.359 1.00 0.00 -ATOM 2196 HW1 SOLV 708 14.310 5.462 0.889 1.00 0.00 -ATOM 2197 HW2 SOLV 708 15.089 6.282 2.067 1.00 0.00 -ATOM 2198 OW SOLV 709 -15.267 8.346 -2.079 1.00 0.00 -ATOM 2199 HW1 SOLV 709 -15.701 8.612 -1.218 1.00 0.00 -ATOM 2200 HW2 SOLV 709 -14.519 7.709 -1.892 1.00 0.00 -ATOM 2201 OW SOLV 710 14.645 10.062 12.745 1.00 0.00 -ATOM 2202 HW1 SOLV 710 14.615 10.092 11.746 1.00 0.00 -ATOM 2203 HW2 SOLV 710 15.297 10.742 13.080 1.00 0.00 -ATOM 2204 OW SOLV 711 -10.921 10.531 10.735 1.00 0.00 -ATOM 2205 HW1 SOLV 711 -10.109 11.036 10.440 1.00 0.00 -ATOM 2206 HW2 SOLV 711 -11.111 9.796 10.083 1.00 0.00 -ATOM 2207 OW SOLV 712 -10.736 -7.664 10.672 1.00 0.00 -ATOM 2208 HW1 SOLV 712 -11.719 -7.521 10.788 1.00 0.00 -ATOM 2209 HW2 SOLV 712 -10.260 -6.788 10.747 1.00 0.00 -ATOM 2210 OW SOLV 713 -0.249 -14.841 4.400 1.00 0.00 -ATOM 2211 HW1 SOLV 713 0.606 -14.708 3.898 1.00 0.00 -ATOM 2212 HW2 SOLV 713 -0.967 -14.278 3.991 1.00 0.00 -ATOM 2213 OW SOLV 714 11.607 -2.309 -11.928 1.00 0.00 -ATOM 2214 HW1 SOLV 714 10.912 -2.003 -11.278 1.00 0.00 -ATOM 2215 HW2 SOLV 714 12.084 -3.105 -11.556 1.00 0.00 -ATOM 2216 OW SOLV 715 11.937 11.366 5.476 1.00 0.00 -ATOM 2217 HW1 SOLV 715 11.089 11.732 5.091 1.00 0.00 -ATOM 2218 HW2 SOLV 715 11.803 11.162 6.445 1.00 0.00 -ATOM 2219 OW SOLV 716 -10.850 -8.309 6.205 1.00 0.00 -ATOM 2220 HW1 SOLV 716 -10.534 -7.866 5.366 1.00 0.00 -ATOM 2221 HW2 SOLV 716 -10.929 -9.294 6.053 1.00 0.00 -ATOM 2222 OW SOLV 717 3.542 14.899 -11.369 1.00 0.00 -ATOM 2223 HW1 SOLV 717 4.277 15.010 -12.037 1.00 0.00 -ATOM 2224 HW2 SOLV 717 3.622 15.604 -10.664 1.00 0.00 -ATOM 2225 OW SOLV 718 12.206 6.422 14.292 1.00 0.00 -ATOM 2226 HW1 SOLV 718 11.662 5.865 14.920 1.00 0.00 -ATOM 2227 HW2 SOLV 718 13.177 6.230 14.432 1.00 0.00 -ATOM 2228 OW SOLV 719 -11.603 6.493 5.498 1.00 0.00 -ATOM 2229 HW1 SOLV 719 -12.442 6.958 5.781 1.00 0.00 -ATOM 2230 HW2 SOLV 719 -11.783 5.515 5.396 1.00 0.00 -ATOM 2231 OW SOLV 720 -11.237 1.406 8.621 1.00 0.00 -ATOM 2232 HW1 SOLV 720 -10.778 0.520 8.568 1.00 0.00 -ATOM 2233 HW2 SOLV 720 -11.871 1.408 9.395 1.00 0.00 -ATOM 2234 OW SOLV 721 -8.025 6.620 10.768 1.00 0.00 -ATOM 2235 HW1 SOLV 721 -8.690 6.514 11.507 1.00 0.00 -ATOM 2236 HW2 SOLV 721 -8.365 6.163 9.945 1.00 0.00 -ATOM 2237 OW SOLV 722 8.464 -14.556 0.510 1.00 0.00 -ATOM 2238 HW1 SOLV 722 8.830 -15.181 1.200 1.00 0.00 -ATOM 2239 HW2 SOLV 722 8.646 -14.924 -0.402 1.00 0.00 -ATOM 2240 OW SOLV 723 5.773 -10.570 -11.684 1.00 0.00 -ATOM 2241 HW1 SOLV 723 6.113 -10.322 -10.777 1.00 0.00 -ATOM 2242 HW2 SOLV 723 6.525 -10.537 -12.342 1.00 0.00 -ATOM 2243 OW SOLV 724 3.369 -8.957 -4.268 1.00 0.00 -ATOM 2244 HW1 SOLV 724 3.411 -8.117 -3.727 1.00 0.00 -ATOM 2245 HW2 SOLV 724 2.780 -8.811 -5.064 1.00 0.00 -ATOM 2246 OW SOLV 725 -14.558 -6.269 8.259 1.00 0.00 -ATOM 2247 HW1 SOLV 725 -14.658 -5.741 7.416 1.00 0.00 -ATOM 2248 HW2 SOLV 725 -14.042 -5.733 8.928 1.00 0.00 -ATOM 2249 OW SOLV 726 -6.049 -6.445 2.528 1.00 0.00 -ATOM 2250 HW1 SOLV 726 -6.375 -7.174 3.130 1.00 0.00 -ATOM 2251 HW2 SOLV 726 -5.905 -5.611 3.060 1.00 0.00 -ATOM 2252 OW SOLV 727 5.881 -12.359 -5.411 1.00 0.00 -ATOM 2253 HW1 SOLV 727 6.111 -13.211 -5.882 1.00 0.00 -ATOM 2254 HW2 SOLV 727 4.944 -12.413 -5.066 1.00 0.00 -ATOM 2255 OW SOLV 728 5.635 14.505 2.777 1.00 0.00 -ATOM 2256 HW1 SOLV 728 5.859 15.410 3.138 1.00 0.00 -ATOM 2257 HW2 SOLV 728 6.020 14.407 1.859 1.00 0.00 -ATOM 2258 OW SOLV 729 -6.248 2.486 -7.758 1.00 0.00 -ATOM 2259 HW1 SOLV 729 -7.235 2.633 -7.823 1.00 0.00 -ATOM 2260 HW2 SOLV 729 -5.983 2.430 -6.795 1.00 0.00 -ATOM 2261 OW SOLV 730 13.272 -13.480 -5.380 1.00 0.00 -ATOM 2262 HW1 SOLV 730 12.599 -13.093 -6.010 1.00 0.00 -ATOM 2263 HW2 SOLV 730 13.729 -12.741 -4.885 1.00 0.00 -ATOM 2264 OW SOLV 731 -10.635 0.561 -12.934 1.00 0.00 -ATOM 2265 HW1 SOLV 731 -9.962 -0.178 -12.902 1.00 0.00 -ATOM 2266 HW2 SOLV 731 -11.129 0.525 -13.803 1.00 0.00 -ATOM 2267 OW SOLV 732 11.163 -12.193 10.696 1.00 0.00 -ATOM 2268 HW1 SOLV 732 10.541 -11.789 10.025 1.00 0.00 -ATOM 2269 HW2 SOLV 732 11.463 -13.091 10.373 1.00 0.00 -ATOM 2270 OW SOLV 733 2.432 8.107 3.724 1.00 0.00 -ATOM 2271 HW1 SOLV 733 2.752 7.627 2.907 1.00 0.00 -ATOM 2272 HW2 SOLV 733 1.749 8.789 3.463 1.00 0.00 -ATOM 2273 OW SOLV 734 -2.085 10.943 7.828 1.00 0.00 -ATOM 2274 HW1 SOLV 734 -1.173 11.311 8.012 1.00 0.00 -ATOM 2275 HW2 SOLV 734 -2.046 10.342 7.030 1.00 0.00 -ATOM 2276 OW SOLV 735 7.583 -2.209 0.242 1.00 0.00 -ATOM 2277 HW1 SOLV 735 7.134 -2.110 1.130 1.00 0.00 -ATOM 2278 HW2 SOLV 735 8.259 -2.944 0.291 1.00 0.00 -ATOM 2279 OW SOLV 736 -4.624 -13.160 1.947 1.00 0.00 -ATOM 2280 HW1 SOLV 736 -4.075 -12.950 1.138 1.00 0.00 -ATOM 2281 HW2 SOLV 736 -4.150 -13.843 2.503 1.00 0.00 -ATOM 2282 OW SOLV 737 11.210 -2.622 -0.534 1.00 0.00 -ATOM 2283 HW1 SOLV 737 10.329 -2.197 -0.741 1.00 0.00 -ATOM 2284 HW2 SOLV 737 11.070 -3.586 -0.309 1.00 0.00 -ATOM 2285 OW SOLV 738 11.907 5.240 0.737 1.00 0.00 -ATOM 2286 HW1 SOLV 738 12.488 5.406 -0.061 1.00 0.00 -ATOM 2287 HW2 SOLV 738 11.217 5.961 0.801 1.00 0.00 -ATOM 2288 OW SOLV 739 -0.827 13.712 -0.177 1.00 0.00 -ATOM 2289 HW1 SOLV 739 -1.782 13.864 -0.432 1.00 0.00 -ATOM 2290 HW2 SOLV 739 -0.776 13.461 0.790 1.00 0.00 -ATOM 2291 OW SOLV 740 11.458 -11.965 -6.972 1.00 0.00 -ATOM 2292 HW1 SOLV 740 12.257 -11.737 -7.529 1.00 0.00 -ATOM 2293 HW2 SOLV 740 10.807 -11.206 -6.998 1.00 0.00 -ATOM 2294 OW SOLV 741 4.221 -4.854 -14.204 1.00 0.00 -ATOM 2295 HW1 SOLV 741 4.805 -5.625 -14.458 1.00 0.00 -ATOM 2296 HW2 SOLV 741 3.430 -4.820 -14.814 1.00 0.00 -ATOM 2297 OW SOLV 742 11.927 3.682 4.445 1.00 0.00 -ATOM 2298 HW1 SOLV 742 12.612 3.671 5.173 1.00 0.00 -ATOM 2299 HW2 SOLV 742 12.161 2.996 3.756 1.00 0.00 -ATOM 2300 OW SOLV 743 8.292 9.315 5.384 1.00 0.00 -ATOM 2301 HW1 SOLV 743 9.081 8.780 5.688 1.00 0.00 -ATOM 2302 HW2 SOLV 743 7.561 9.245 6.063 1.00 0.00 -ATOM 2303 OW SOLV 744 -13.579 12.415 -3.729 1.00 0.00 -ATOM 2304 HW1 SOLV 744 -13.850 12.933 -4.540 1.00 0.00 -ATOM 2305 HW2 SOLV 744 -12.746 11.898 -3.927 1.00 0.00 -ATOM 2306 OW SOLV 745 8.555 5.103 9.521 1.00 0.00 -ATOM 2307 HW1 SOLV 745 8.999 4.381 10.051 1.00 0.00 -ATOM 2308 HW2 SOLV 745 7.658 5.303 9.915 1.00 0.00 -ATOM 2309 OW SOLV 746 11.322 -6.832 -7.068 1.00 0.00 -ATOM 2310 HW1 SOLV 746 12.053 -6.154 -6.994 1.00 0.00 -ATOM 2311 HW2 SOLV 746 11.533 -7.470 -7.809 1.00 0.00 -ATOM 2312 OW SOLV 747 -4.673 -0.220 9.036 1.00 0.00 -ATOM 2313 HW1 SOLV 747 -3.775 -0.413 9.431 1.00 0.00 -ATOM 2314 HW2 SOLV 747 -4.797 0.769 8.956 1.00 0.00 -ATOM 2315 OW SOLV 748 -0.854 -11.686 5.698 1.00 0.00 -ATOM 2316 HW1 SOLV 748 -0.528 -11.700 4.753 1.00 0.00 -ATOM 2317 HW2 SOLV 748 -0.181 -11.224 6.276 1.00 0.00 -ATOM 2318 OW SOLV 749 10.037 7.902 -8.774 1.00 0.00 -ATOM 2319 HW1 SOLV 749 9.117 7.673 -8.456 1.00 0.00 -ATOM 2320 HW2 SOLV 749 10.679 7.195 -8.478 1.00 0.00 -ATOM 2321 OW SOLV 750 10.120 -10.925 -13.272 1.00 0.00 -ATOM 2322 HW1 SOLV 750 10.965 -11.406 -13.505 1.00 0.00 -ATOM 2323 HW2 SOLV 750 9.402 -11.592 -13.070 1.00 0.00 -ATOM 2324 OW SOLV 751 -7.617 -4.220 8.542 1.00 0.00 -ATOM 2325 HW1 SOLV 751 -7.607 -3.221 8.584 1.00 0.00 -ATOM 2326 HW2 SOLV 751 -7.245 -4.520 7.663 1.00 0.00 -ATOM 2327 OW SOLV 752 -1.301 -11.320 -6.874 1.00 0.00 -ATOM 2328 HW1 SOLV 752 -0.547 -11.731 -6.361 1.00 0.00 -ATOM 2329 HW2 SOLV 752 -0.970 -11.019 -7.769 1.00 0.00 -ATOM 2330 OW SOLV 753 2.850 1.489 -3.693 1.00 0.00 -ATOM 2331 HW1 SOLV 753 2.091 1.560 -3.046 1.00 0.00 -ATOM 2332 HW2 SOLV 753 2.982 2.369 -4.150 1.00 0.00 -ATOM 2333 OW SOLV 754 12.098 5.096 -12.396 1.00 0.00 -ATOM 2334 HW1 SOLV 754 11.100 5.038 -12.421 1.00 0.00 -ATOM 2335 HW2 SOLV 754 12.371 6.003 -12.074 1.00 0.00 -ATOM 2336 OW SOLV 755 -4.258 -8.905 7.213 1.00 0.00 -ATOM 2337 HW1 SOLV 755 -4.651 -8.648 8.096 1.00 0.00 -ATOM 2338 HW2 SOLV 755 -3.649 -8.178 6.895 1.00 0.00 -ATOM 2339 OW SOLV 756 4.011 -5.055 -4.038 1.00 0.00 -ATOM 2340 HW1 SOLV 756 4.095 -4.943 -3.048 1.00 0.00 -ATOM 2341 HW2 SOLV 756 4.760 -5.626 -4.374 1.00 0.00 -ATOM 2342 OW SOLV 757 8.612 2.863 -13.905 1.00 0.00 -ATOM 2343 HW1 SOLV 757 8.257 1.940 -13.758 1.00 0.00 -ATOM 2344 HW2 SOLV 757 9.401 2.823 -14.518 1.00 0.00 -ATOM 2345 OW SOLV 758 -8.449 3.252 7.297 1.00 0.00 -ATOM 2346 HW1 SOLV 758 -9.310 3.407 6.813 1.00 0.00 -ATOM 2347 HW2 SOLV 758 -8.609 3.292 8.283 1.00 0.00 -ATOM 2348 OW SOLV 759 -10.290 -14.261 -9.129 1.00 0.00 -ATOM 2349 HW1 SOLV 759 -9.523 -13.812 -8.670 1.00 0.00 -ATOM 2350 HW2 SOLV 759 -10.516 -13.761 -9.966 1.00 0.00 -ATOM 2351 OW SOLV 760 10.383 1.992 -11.795 1.00 0.00 -ATOM 2352 HW1 SOLV 760 10.877 2.740 -12.240 1.00 0.00 -ATOM 2353 HW2 SOLV 760 10.801 1.120 -12.048 1.00 0.00 -ATOM 2354 OW SOLV 761 9.356 5.135 -12.150 1.00 0.00 -ATOM 2355 HW1 SOLV 761 8.400 5.399 -12.278 1.00 0.00 -ATOM 2356 HW2 SOLV 761 9.401 4.306 -11.592 1.00 0.00 -ATOM 2357 OW SOLV 762 9.109 -6.794 -9.748 1.00 0.00 -ATOM 2358 HW1 SOLV 762 9.910 -6.551 -9.201 1.00 0.00 -ATOM 2359 HW2 SOLV 762 8.667 -7.600 -9.354 1.00 0.00 -ATOM 2360 OW SOLV 763 -3.493 3.195 -5.572 1.00 0.00 -ATOM 2361 HW1 SOLV 763 -4.156 3.765 -5.087 1.00 0.00 -ATOM 2362 HW2 SOLV 763 -3.153 2.484 -4.957 1.00 0.00 -ATOM 2363 OW SOLV 764 -15.304 -5.025 1.615 1.00 0.00 -ATOM 2364 HW1 SOLV 764 -14.448 -5.529 1.502 1.00 0.00 -ATOM 2365 HW2 SOLV 764 -16.055 -5.670 1.760 1.00 0.00 -ATOM 2366 OW SOLV 765 -7.128 -2.965 -6.524 1.00 0.00 -ATOM 2367 HW1 SOLV 765 -7.322 -2.527 -7.402 1.00 0.00 -ATOM 2368 HW2 SOLV 765 -7.977 -3.326 -6.137 1.00 0.00 -ATOM 2369 OW SOLV 766 -6.552 -9.589 -8.907 1.00 0.00 -ATOM 2370 HW1 SOLV 766 -5.874 -9.955 -8.270 1.00 0.00 -ATOM 2371 HW2 SOLV 766 -6.541 -10.127 -9.751 1.00 0.00 -ATOM 2372 OW SOLV 767 9.929 -7.662 -1.143 1.00 0.00 -ATOM 2373 HW1 SOLV 767 9.720 -8.638 -1.200 1.00 0.00 -ATOM 2374 HW2 SOLV 767 9.933 -7.377 -0.184 1.00 0.00 -ATOM 2375 OW SOLV 768 13.897 7.575 3.394 1.00 0.00 -ATOM 2376 HW1 SOLV 768 14.057 8.054 4.257 1.00 0.00 -ATOM 2377 HW2 SOLV 768 13.526 8.215 2.721 1.00 0.00 -ATOM 2378 OW SOLV 769 0.564 0.001 -14.406 1.00 0.00 -ATOM 2379 HW1 SOLV 769 -0.153 -0.435 -13.863 1.00 0.00 -ATOM 2380 HW2 SOLV 769 1.392 -0.559 -14.376 1.00 0.00 -ATOM 2381 OW SOLV 770 -0.650 -3.008 9.264 1.00 0.00 -ATOM 2382 HW1 SOLV 770 -0.350 -2.610 8.397 1.00 0.00 -ATOM 2383 HW2 SOLV 770 0.052 -3.632 9.606 1.00 0.00 -ATOM 2384 OW SOLV 771 -9.269 -8.157 14.140 1.00 0.00 -ATOM 2385 HW1 SOLV 771 -9.215 -7.618 14.981 1.00 0.00 -ATOM 2386 HW2 SOLV 771 -8.524 -7.894 13.528 1.00 0.00 -ATOM 2387 OW SOLV 772 -9.970 -7.081 1.145 1.00 0.00 -ATOM 2388 HW1 SOLV 772 -9.337 -6.403 0.772 1.00 0.00 -ATOM 2389 HW2 SOLV 772 -10.826 -7.058 0.629 1.00 0.00 -ATOM 2390 OW SOLV 773 -0.956 -2.347 -13.108 1.00 0.00 -ATOM 2391 HW1 SOLV 773 -0.529 -1.854 -12.350 1.00 0.00 -ATOM 2392 HW2 SOLV 773 -1.664 -2.957 -12.752 1.00 0.00 -ATOM 2393 OW SOLV 774 10.230 11.017 -13.440 1.00 0.00 -ATOM 2394 HW1 SOLV 774 10.124 10.621 -12.528 1.00 0.00 -ATOM 2395 HW2 SOLV 774 10.751 10.389 -14.018 1.00 0.00 -ATOM 2396 OW SOLV 775 -6.448 -3.786 -14.698 1.00 0.00 -ATOM 2397 HW1 SOLV 775 -7.227 -4.413 -14.690 1.00 0.00 -ATOM 2398 HW2 SOLV 775 -6.745 -2.890 -15.029 1.00 0.00 -ATOM 2399 OW SOLV 776 8.041 14.764 -1.928 1.00 0.00 -ATOM 2400 HW1 SOLV 776 8.849 14.438 -2.419 1.00 0.00 -ATOM 2401 HW2 SOLV 776 7.995 15.762 -1.989 1.00 0.00 -ATOM 2402 OW SOLV 777 -6.304 -3.666 -11.401 1.00 0.00 -ATOM 2403 HW1 SOLV 777 -5.534 -4.061 -11.903 1.00 0.00 -ATOM 2404 HW2 SOLV 777 -5.959 -3.118 -10.639 1.00 0.00 -ATOM 2405 OW SOLV 778 14.070 5.498 -14.615 1.00 0.00 -ATOM 2406 HW1 SOLV 778 15.045 5.515 -14.393 1.00 0.00 -ATOM 2407 HW2 SOLV 778 13.622 4.773 -14.092 1.00 0.00 -ATOM 2408 OW SOLV 779 -3.673 0.105 -4.685 1.00 0.00 -ATOM 2409 HW1 SOLV 779 -4.437 0.633 -5.057 1.00 0.00 -ATOM 2410 HW2 SOLV 779 -3.964 -0.355 -3.847 1.00 0.00 -ATOM 2411 OW SOLV 780 2.561 -10.663 6.098 1.00 0.00 -ATOM 2412 HW1 SOLV 780 3.347 -10.766 6.707 1.00 0.00 -ATOM 2413 HW2 SOLV 780 1.747 -10.449 6.638 1.00 0.00 -ATOM 2414 OW SOLV 781 7.570 -6.043 4.190 1.00 0.00 -ATOM 2415 HW1 SOLV 781 7.462 -6.385 5.124 1.00 0.00 -ATOM 2416 HW2 SOLV 781 6.668 -5.896 3.783 1.00 0.00 -ATOM 2417 OW SOLV 782 2.346 -15.221 -4.084 1.00 0.00 -ATOM 2418 HW1 SOLV 782 1.387 -15.188 -4.363 1.00 0.00 -ATOM 2419 HW2 SOLV 782 2.733 -14.300 -4.111 1.00 0.00 -ATOM 2420 OW SOLV 783 10.484 -7.529 10.126 1.00 0.00 -ATOM 2421 HW1 SOLV 783 11.415 -7.585 9.765 1.00 0.00 -ATOM 2422 HW2 SOLV 783 10.486 -6.991 10.969 1.00 0.00 -ATOM 2423 OW SOLV 784 12.615 13.689 7.560 1.00 0.00 -ATOM 2424 HW1 SOLV 784 12.831 13.472 8.512 1.00 0.00 -ATOM 2425 HW2 SOLV 784 12.197 12.892 7.124 1.00 0.00 -ATOM 2426 OW SOLV 785 6.633 -10.103 -2.811 1.00 0.00 -ATOM 2427 HW1 SOLV 785 7.114 -9.343 -3.249 1.00 0.00 -ATOM 2428 HW2 SOLV 785 7.161 -10.944 -2.930 1.00 0.00 -ATOM 2429 OW SOLV 786 7.383 -3.417 -2.885 1.00 0.00 -ATOM 2430 HW1 SOLV 786 7.489 -2.571 -2.364 1.00 0.00 -ATOM 2431 HW2 SOLV 786 7.776 -4.179 -2.369 1.00 0.00 -ATOM 2432 OW SOLV 787 -4.023 -4.353 4.637 1.00 0.00 -ATOM 2433 HW1 SOLV 787 -4.277 -4.807 3.783 1.00 0.00 -ATOM 2434 HW2 SOLV 787 -3.055 -4.521 4.828 1.00 0.00 -ATOM 2435 OW SOLV 788 3.363 9.288 11.299 1.00 0.00 -ATOM 2436 HW1 SOLV 788 3.915 8.877 10.573 1.00 0.00 -ATOM 2437 HW2 SOLV 788 2.554 8.723 11.462 1.00 0.00 -ATOM 2438 OW SOLV 789 12.268 -10.460 -1.203 1.00 0.00 -ATOM 2439 HW1 SOLV 789 11.675 -10.231 -1.975 1.00 0.00 -ATOM 2440 HW2 SOLV 789 12.290 -11.452 -1.082 1.00 0.00 -ATOM 2441 OW SOLV 790 9.006 6.224 -1.529 1.00 0.00 -ATOM 2442 HW1 SOLV 790 9.696 6.204 -2.252 1.00 0.00 -ATOM 2443 HW2 SOLV 790 8.858 5.297 -1.184 1.00 0.00 -ATOM 2444 OW SOLV 791 9.927 4.628 2.773 1.00 0.00 -ATOM 2445 HW1 SOLV 791 10.550 5.095 2.145 1.00 0.00 -ATOM 2446 HW2 SOLV 791 10.454 4.181 3.495 1.00 0.00 -ATOM 2447 OW SOLV 792 8.572 15.015 3.514 1.00 0.00 -ATOM 2448 HW1 SOLV 792 9.548 15.194 3.391 1.00 0.00 -ATOM 2449 HW2 SOLV 792 8.321 14.182 3.022 1.00 0.00 -ATOM 2450 OW SOLV 793 11.107 15.152 2.443 1.00 0.00 -ATOM 2451 HW1 SOLV 793 11.391 15.165 1.484 1.00 0.00 -ATOM 2452 HW2 SOLV 793 11.915 15.214 3.029 1.00 0.00 -ATOM 2453 OW SOLV 794 -3.985 3.477 1.333 1.00 0.00 -ATOM 2454 HW1 SOLV 794 -4.583 3.849 0.622 1.00 0.00 -ATOM 2455 HW2 SOLV 794 -4.529 3.250 2.140 1.00 0.00 -ATOM 2456 OW SOLV 795 -15.038 2.833 13.034 1.00 0.00 -ATOM 2457 HW1 SOLV 795 -15.617 2.535 13.793 1.00 0.00 -ATOM 2458 HW2 SOLV 795 -14.509 3.635 13.313 1.00 0.00 -ATOM 2459 OW SOLV 796 13.740 13.708 10.137 1.00 0.00 -ATOM 2460 HW1 SOLV 796 14.649 13.317 9.991 1.00 0.00 -ATOM 2461 HW2 SOLV 796 13.821 14.551 10.669 1.00 0.00 -ATOM 2462 OW SOLV 797 -4.881 9.135 3.828 1.00 0.00 -ATOM 2463 HW1 SOLV 797 -5.768 8.852 3.463 1.00 0.00 -ATOM 2464 HW2 SOLV 797 -4.589 8.487 4.532 1.00 0.00 -ATOM 2465 OW SOLV 798 9.973 5.373 7.282 1.00 0.00 -ATOM 2466 HW1 SOLV 798 9.476 4.550 7.004 1.00 0.00 -ATOM 2467 HW2 SOLV 798 9.757 5.586 8.234 1.00 0.00 -ATOM 2468 OW SOLV 799 -11.232 -4.885 -4.853 1.00 0.00 -ATOM 2469 HW1 SOLV 799 -12.169 -4.603 -5.059 1.00 0.00 -ATOM 2470 HW2 SOLV 799 -11.181 -5.207 -3.908 1.00 0.00 -ATOM 2471 OW SOLV 800 -13.142 15.143 -8.411 1.00 0.00 -ATOM 2472 HW1 SOLV 800 -13.517 15.606 -9.214 1.00 0.00 -ATOM 2473 HW2 SOLV 800 -12.422 14.511 -8.697 1.00 0.00 -ATOM 2474 OW SOLV 801 4.747 3.852 -2.025 1.00 0.00 -ATOM 2475 HW1 SOLV 801 4.349 3.544 -2.889 1.00 0.00 -ATOM 2476 HW2 SOLV 801 5.580 3.331 -1.837 1.00 0.00 -ATOM 2477 OW SOLV 802 8.748 2.150 2.328 1.00 0.00 -ATOM 2478 HW1 SOLV 802 9.262 3.006 2.370 1.00 0.00 -ATOM 2479 HW2 SOLV 802 9.164 1.480 2.943 1.00 0.00 -ATOM 2480 OW SOLV 803 2.448 2.123 1.716 1.00 0.00 -ATOM 2481 HW1 SOLV 803 3.054 2.671 1.138 1.00 0.00 -ATOM 2482 HW2 SOLV 803 2.806 2.104 2.650 1.00 0.00 -ATOM 2483 OW SOLV 804 6.012 -7.623 -8.877 1.00 0.00 -ATOM 2484 HW1 SOLV 804 6.722 -7.520 -8.181 1.00 0.00 -ATOM 2485 HW2 SOLV 804 5.141 -7.288 -8.517 1.00 0.00 -ATOM 2486 OW SOLV 805 11.199 -12.587 0.861 1.00 0.00 -ATOM 2487 HW1 SOLV 805 10.934 -12.099 0.030 1.00 0.00 -ATOM 2488 HW2 SOLV 805 10.496 -13.260 1.091 1.00 0.00 -ATOM 2489 OW SOLV 806 -14.070 -8.807 3.524 1.00 0.00 -ATOM 2490 HW1 SOLV 806 -15.015 -8.851 3.200 1.00 0.00 -ATOM 2491 HW2 SOLV 806 -14.057 -8.488 4.472 1.00 0.00 -ATOM 2492 OW SOLV 807 -9.185 -2.152 1.908 1.00 0.00 -ATOM 2493 HW1 SOLV 807 -10.021 -2.684 1.772 1.00 0.00 -ATOM 2494 HW2 SOLV 807 -8.533 -2.366 1.181 1.00 0.00 -ATOM 2495 OW SOLV 808 -10.803 12.611 -8.266 1.00 0.00 -ATOM 2496 HW1 SOLV 808 -10.887 11.829 -8.884 1.00 0.00 -ATOM 2497 HW2 SOLV 808 -10.250 13.322 -8.702 1.00 0.00 -ATOM 2498 OW SOLV 809 -1.392 -5.701 -15.191 1.00 0.00 -ATOM 2499 HW1 SOLV 809 -2.248 -5.787 -14.680 1.00 0.00 -ATOM 2500 HW2 SOLV 809 -1.467 -6.200 -16.054 1.00 0.00 -ATOM 2501 OW SOLV 810 0.663 -1.994 -5.714 1.00 0.00 -ATOM 2502 HW1 SOLV 810 1.007 -1.459 -6.486 1.00 0.00 -ATOM 2503 HW2 SOLV 810 1.394 -2.117 -5.043 1.00 0.00 -ATOM 2504 OW SOLV 811 -12.977 -12.411 13.582 1.00 0.00 -ATOM 2505 HW1 SOLV 811 -12.637 -12.682 12.682 1.00 0.00 -ATOM 2506 HW2 SOLV 811 -13.336 -11.479 13.536 1.00 0.00 -ATOM 2507 OW SOLV 812 4.982 -10.862 14.980 1.00 0.00 -ATOM 2508 HW1 SOLV 812 4.879 -10.022 15.512 1.00 0.00 -ATOM 2509 HW2 SOLV 812 5.684 -10.729 14.280 1.00 0.00 -ATOM 2510 OW SOLV 813 12.385 -1.486 7.243 1.00 0.00 -ATOM 2511 HW1 SOLV 813 13.011 -2.190 6.906 1.00 0.00 -ATOM 2512 HW2 SOLV 813 11.452 -1.709 6.963 1.00 0.00 -ATOM 2513 OW SOLV 814 12.311 10.838 10.797 1.00 0.00 -ATOM 2514 HW1 SOLV 814 12.664 10.521 11.677 1.00 0.00 -ATOM 2515 HW2 SOLV 814 12.336 11.837 10.768 1.00 0.00 -ATOM 2516 OW SOLV 815 -7.145 14.495 8.543 1.00 0.00 -ATOM 2517 HW1 SOLV 815 -7.281 13.662 8.007 1.00 0.00 -ATOM 2518 HW2 SOLV 815 -7.333 14.306 9.507 1.00 0.00 -ATOM 2519 OW SOLV 816 -14.748 12.320 2.350 1.00 0.00 -ATOM 2520 HW1 SOLV 816 -15.210 12.144 1.481 1.00 0.00 -ATOM 2521 HW2 SOLV 816 -13.810 11.977 2.305 1.00 0.00 -ATOM 2522 OW SOLV 817 13.709 -2.083 1.561 1.00 0.00 -ATOM 2523 HW1 SOLV 817 13.494 -1.627 0.697 1.00 0.00 -ATOM 2524 HW2 SOLV 817 14.651 -1.874 1.822 1.00 0.00 -ATOM 2525 OW SOLV 818 6.353 1.360 13.006 1.00 0.00 -ATOM 2526 HW1 SOLV 818 6.062 0.734 13.729 1.00 0.00 -ATOM 2527 HW2 SOLV 818 6.814 2.149 13.412 1.00 0.00 -ATOM 2528 OW SOLV 819 -13.430 -9.801 13.138 1.00 0.00 -ATOM 2529 HW1 SOLV 819 -12.772 -9.261 12.613 1.00 0.00 -ATOM 2530 HW2 SOLV 819 -14.233 -9.240 13.343 1.00 0.00 -ATOM 2531 OW SOLV 820 -4.770 -12.074 14.709 1.00 0.00 -ATOM 2532 HW1 SOLV 820 -3.799 -11.858 14.812 1.00 0.00 -ATOM 2533 HW2 SOLV 820 -4.878 -12.814 14.044 1.00 0.00 -ATOM 2534 OW SOLV 821 0.350 -11.428 -3.162 1.00 0.00 -ATOM 2535 HW1 SOLV 821 -0.041 -10.704 -2.593 1.00 0.00 -ATOM 2536 HW2 SOLV 821 1.333 -11.279 -3.263 1.00 0.00 -ATOM 2537 OW SOLV 822 7.487 -5.041 -14.483 1.00 0.00 -ATOM 2538 HW1 SOLV 822 6.946 -4.565 -13.790 1.00 0.00 -ATOM 2539 HW2 SOLV 822 7.254 -6.014 -14.477 1.00 0.00 -ATOM 2540 OW SOLV 823 -5.942 0.185 2.639 1.00 0.00 -ATOM 2541 HW1 SOLV 823 -5.139 -0.398 2.770 1.00 0.00 -ATOM 2542 HW2 SOLV 823 -6.027 0.813 3.412 1.00 0.00 -ATOM 2543 OW SOLV 824 -5.736 1.732 5.245 1.00 0.00 -ATOM 2544 HW1 SOLV 824 -6.018 1.687 6.203 1.00 0.00 -ATOM 2545 HW2 SOLV 824 -4.744 1.617 5.183 1.00 0.00 -ATOM 2546 OW SOLV 825 -9.949 -3.664 -7.073 1.00 0.00 -ATOM 2547 HW1 SOLV 825 -10.327 -4.161 -6.292 1.00 0.00 -ATOM 2548 HW2 SOLV 825 -10.194 -2.697 -7.003 1.00 0.00 -ATOM 2549 OW SOLV 826 -10.567 -15.314 -6.319 1.00 0.00 -ATOM 2550 HW1 SOLV 826 -10.169 -14.414 -6.147 1.00 0.00 -ATOM 2551 HW2 SOLV 826 -10.815 -15.390 -7.285 1.00 0.00 -ATOM 2552 OW SOLV 827 1.879 3.848 -7.618 1.00 0.00 -ATOM 2553 HW1 SOLV 827 1.615 4.660 -7.097 1.00 0.00 -ATOM 2554 HW2 SOLV 827 2.035 3.086 -6.989 1.00 0.00 -ATOM 2555 OW SOLV 828 -15.030 -9.622 -1.091 1.00 0.00 -ATOM 2556 HW1 SOLV 828 -15.361 -10.559 -0.981 1.00 0.00 -ATOM 2557 HW2 SOLV 828 -15.390 -9.053 -0.351 1.00 0.00 -ATOM 2558 OW SOLV 829 1.551 6.959 -0.402 1.00 0.00 -ATOM 2559 HW1 SOLV 829 2.220 6.710 0.298 1.00 0.00 -ATOM 2560 HW2 SOLV 829 1.493 6.228 -1.083 1.00 0.00 -ATOM 2561 OW SOLV 830 -11.297 11.056 -5.033 1.00 0.00 -ATOM 2562 HW1 SOLV 830 -10.783 10.472 -4.405 1.00 0.00 -ATOM 2563 HW2 SOLV 830 -10.767 11.881 -5.231 1.00 0.00 -ATOM 2564 OW SOLV 831 -1.684 8.832 15.022 1.00 0.00 -ATOM 2565 HW1 SOLV 831 -1.610 8.520 15.969 1.00 0.00 -ATOM 2566 HW2 SOLV 831 -1.359 8.112 14.408 1.00 0.00 -ATOM 2567 OW SOLV 832 9.755 0.899 -2.450 1.00 0.00 -ATOM 2568 HW1 SOLV 832 8.873 1.332 -2.265 1.00 0.00 -ATOM 2569 HW2 SOLV 832 10.373 1.061 -1.680 1.00 0.00 -ATOM 2570 OW SOLV 833 -6.866 -11.377 0.382 1.00 0.00 -ATOM 2571 HW1 SOLV 833 -6.573 -11.591 1.314 1.00 0.00 -ATOM 2572 HW2 SOLV 833 -7.451 -10.566 0.395 1.00 0.00 -ATOM 2573 OW SOLV 834 5.239 0.127 6.040 1.00 0.00 -ATOM 2574 HW1 SOLV 834 5.427 -0.431 6.849 1.00 0.00 -ATOM 2575 HW2 SOLV 834 4.611 -0.364 5.436 1.00 0.00 -ATOM 2576 OW SOLV 835 0.678 1.735 14.066 1.00 0.00 -ATOM 2577 HW1 SOLV 835 0.381 2.534 14.588 1.00 0.00 -ATOM 2578 HW2 SOLV 835 0.380 0.902 14.533 1.00 0.00 -ATOM 2579 OW SOLV 836 0.940 12.529 1.401 1.00 0.00 -ATOM 2580 HW1 SOLV 836 1.878 12.273 1.164 1.00 0.00 -ATOM 2581 HW2 SOLV 836 0.756 13.456 1.075 1.00 0.00 -ATOM 2582 OW SOLV 837 14.137 -14.295 -2.904 1.00 0.00 -ATOM 2583 HW1 SOLV 837 13.976 -14.098 -3.871 1.00 0.00 -ATOM 2584 HW2 SOLV 837 15.088 -14.084 -2.675 1.00 0.00 -ATOM 2585 OW SOLV 838 -7.793 12.205 10.534 1.00 0.00 -ATOM 2586 HW1 SOLV 838 -7.768 12.168 11.533 1.00 0.00 -ATOM 2587 HW2 SOLV 838 -8.719 12.435 10.232 1.00 0.00 -ATOM 2588 OW SOLV 839 12.362 -14.689 -14.434 1.00 0.00 -ATOM 2589 HW1 SOLV 839 12.057 -14.755 -15.384 1.00 0.00 -ATOM 2590 HW2 SOLV 839 13.327 -14.425 -14.413 1.00 0.00 -ATOM 2591 OW SOLV 840 -13.387 6.607 -4.513 1.00 0.00 -ATOM 2592 HW1 SOLV 840 -13.767 7.512 -4.324 1.00 0.00 -ATOM 2593 HW2 SOLV 840 -14.132 5.960 -4.676 1.00 0.00 -ATOM 2594 OW SOLV 841 -9.201 -6.363 -6.017 1.00 0.00 -ATOM 2595 HW1 SOLV 841 -9.007 -5.438 -6.345 1.00 0.00 -ATOM 2596 HW2 SOLV 841 -10.163 -6.580 -6.182 1.00 0.00 -ATOM 2597 OW SOLV 842 13.003 -7.054 9.044 1.00 0.00 -ATOM 2598 HW1 SOLV 842 13.034 -6.243 9.629 1.00 0.00 -ATOM 2599 HW2 SOLV 842 13.633 -6.935 8.276 1.00 0.00 -ATOM 2600 OW SOLV 843 -11.410 -9.375 -0.364 1.00 0.00 -ATOM 2601 HW1 SOLV 843 -11.655 -9.981 -1.121 1.00 0.00 -ATOM 2602 HW2 SOLV 843 -10.440 -9.487 -0.148 1.00 0.00 -ATOM 2603 OW SOLV 844 6.680 -5.023 -5.963 1.00 0.00 -ATOM 2604 HW1 SOLV 844 6.674 -4.626 -6.881 1.00 0.00 -ATOM 2605 HW2 SOLV 844 6.448 -4.318 -5.294 1.00 0.00 -ATOM 2606 OW SOLV 845 13.098 10.685 -2.294 1.00 0.00 -ATOM 2607 HW1 SOLV 845 12.327 11.262 -2.564 1.00 0.00 -ATOM 2608 HW2 SOLV 845 13.822 10.752 -2.981 1.00 0.00 -ATOM 2609 OW SOLV 846 -12.882 5.001 2.271 1.00 0.00 -ATOM 2610 HW1 SOLV 846 -13.022 5.152 3.250 1.00 0.00 -ATOM 2611 HW2 SOLV 846 -13.759 5.066 1.796 1.00 0.00 -ATOM 2612 OW SOLV 847 7.529 -11.279 10.379 1.00 0.00 -ATOM 2613 HW1 SOLV 847 7.391 -10.659 11.152 1.00 0.00 -ATOM 2614 HW2 SOLV 847 7.089 -12.156 10.573 1.00 0.00 -ATOM 2615 OW SOLV 848 2.428 -11.530 -14.659 1.00 0.00 -ATOM 2616 HW1 SOLV 848 1.928 -10.892 -15.245 1.00 0.00 -ATOM 2617 HW2 SOLV 848 3.399 -11.511 -14.898 1.00 0.00 -ATOM 2618 OW SOLV 849 -6.630 13.163 4.477 1.00 0.00 -ATOM 2619 HW1 SOLV 849 -5.923 12.574 4.085 1.00 0.00 -ATOM 2620 HW2 SOLV 849 -6.352 13.452 5.393 1.00 0.00 -ATOM 2621 OW SOLV 850 7.417 5.071 -7.397 1.00 0.00 -ATOM 2622 HW1 SOLV 850 6.541 5.551 -7.443 1.00 0.00 -ATOM 2623 HW2 SOLV 850 7.685 4.777 -8.315 1.00 0.00 -ATOM 2624 OW SOLV 851 6.456 -6.727 -3.677 1.00 0.00 -ATOM 2625 HW1 SOLV 851 6.376 -7.201 -4.554 1.00 0.00 -ATOM 2626 HW2 SOLV 851 7.230 -6.095 -3.708 1.00 0.00 -ATOM 2627 OW SOLV 852 -2.803 -8.557 -15.216 1.00 0.00 -ATOM 2628 HW1 SOLV 852 -3.568 -8.138 -14.726 1.00 0.00 -ATOM 2629 HW2 SOLV 852 -2.322 -9.187 -14.606 1.00 0.00 -ATOM 2630 OW SOLV 853 -7.670 1.031 0.508 1.00 0.00 -ATOM 2631 HW1 SOLV 853 -6.919 0.836 -0.123 1.00 0.00 -ATOM 2632 HW2 SOLV 853 -7.444 0.679 1.416 1.00 0.00 -ATOM 2633 OW SOLV 854 -0.447 -14.161 -5.306 1.00 0.00 -ATOM 2634 HW1 SOLV 854 -0.463 -14.254 -6.301 1.00 0.00 -ATOM 2635 HW2 SOLV 854 -1.286 -14.547 -4.922 1.00 0.00 -ATOM 2636 OW SOLV 855 -10.779 6.296 13.084 1.00 0.00 -ATOM 2637 HW1 SOLV 855 -11.318 6.011 13.876 1.00 0.00 -ATOM 2638 HW2 SOLV 855 -9.883 5.852 13.113 1.00 0.00 -ATOM 2639 OW SOLV 856 -2.108 -13.587 -0.212 1.00 0.00 -ATOM 2640 HW1 SOLV 856 -2.763 -12.973 -0.653 1.00 0.00 -ATOM 2641 HW2 SOLV 856 -2.394 -14.535 -0.353 1.00 0.00 -ATOM 2642 OW SOLV 857 -6.835 5.251 6.443 1.00 0.00 -ATOM 2643 HW1 SOLV 857 -7.310 4.691 7.122 1.00 0.00 -ATOM 2644 HW2 SOLV 857 -6.568 4.678 5.667 1.00 0.00 -ATOM 2645 OW SOLV 858 9.063 -12.839 2.657 1.00 0.00 -ATOM 2646 HW1 SOLV 858 9.215 -13.824 2.737 1.00 0.00 -ATOM 2647 HW2 SOLV 858 9.784 -12.349 3.146 1.00 0.00 -ATOM 2648 OW SOLV 859 -8.801 7.660 7.097 1.00 0.00 -ATOM 2649 HW1 SOLV 859 -9.374 8.339 6.637 1.00 0.00 -ATOM 2650 HW2 SOLV 859 -7.911 8.063 7.309 1.00 0.00 -ATOM 2651 OW SOLV 860 -14.774 4.287 -9.045 1.00 0.00 -ATOM 2652 HW1 SOLV 860 -14.530 4.244 -8.076 1.00 0.00 -ATOM 2653 HW2 SOLV 860 -15.621 4.807 -9.153 1.00 0.00 -ATOM 2654 OW SOLV 861 -1.855 -9.518 -10.134 1.00 0.00 -ATOM 2655 HW1 SOLV 861 -1.543 -8.647 -10.516 1.00 0.00 -ATOM 2656 HW2 SOLV 861 -2.646 -9.358 -9.544 1.00 0.00 -ATOM 2657 OW SOLV 862 8.351 5.091 5.088 1.00 0.00 -ATOM 2658 HW1 SOLV 862 8.903 4.805 5.871 1.00 0.00 -ATOM 2659 HW2 SOLV 862 8.942 5.213 4.290 1.00 0.00 -ATOM 2660 OW SOLV 863 -12.667 -3.765 9.495 1.00 0.00 -ATOM 2661 HW1 SOLV 863 -12.313 -2.834 9.581 1.00 0.00 -ATOM 2662 HW2 SOLV 863 -12.371 -4.155 8.623 1.00 0.00 -ATOM 2663 OW SOLV 864 -6.658 6.374 -2.471 1.00 0.00 -ATOM 2664 HW1 SOLV 864 -6.558 6.781 -1.563 1.00 0.00 -ATOM 2665 HW2 SOLV 864 -5.904 5.738 -2.636 1.00 0.00 -ATOM 2666 OW SOLV 865 7.114 4.269 0.850 1.00 0.00 -ATOM 2667 HW1 SOLV 865 7.788 4.309 1.588 1.00 0.00 -ATOM 2668 HW2 SOLV 865 6.382 4.927 1.032 1.00 0.00 -ATOM 2669 OW SOLV 866 5.029 -0.513 14.511 1.00 0.00 -ATOM 2670 HW1 SOLV 866 5.085 -0.947 13.612 1.00 0.00 -ATOM 2671 HW2 SOLV 866 4.917 -1.216 15.214 1.00 0.00 -ATOM 2672 OW SOLV 867 3.616 3.046 -12.262 1.00 0.00 -ATOM 2673 HW1 SOLV 867 3.662 2.048 -12.221 1.00 0.00 -ATOM 2674 HW2 SOLV 867 3.410 3.332 -13.198 1.00 0.00 -ATOM 2675 OW SOLV 868 -2.431 -10.425 13.405 1.00 0.00 -ATOM 2676 HW1 SOLV 868 -3.422 -10.528 13.493 1.00 0.00 -ATOM 2677 HW2 SOLV 868 -2.103 -9.768 14.085 1.00 0.00 -ATOM 2678 OW SOLV 869 -6.447 13.918 13.189 1.00 0.00 -ATOM 2679 HW1 SOLV 869 -6.486 12.927 13.057 1.00 0.00 -ATOM 2680 HW2 SOLV 869 -7.340 14.249 13.494 1.00 0.00 -ATOM 2681 OW SOLV 870 7.672 -8.330 -6.530 1.00 0.00 -ATOM 2682 HW1 SOLV 870 7.868 -9.094 -5.915 1.00 0.00 -ATOM 2683 HW2 SOLV 870 6.682 -8.230 -6.631 1.00 0.00 -ATOM 2684 OW SOLV 871 -8.795 3.428 -14.634 1.00 0.00 -ATOM 2685 HW1 SOLV 871 -8.633 2.458 -14.817 1.00 0.00 -ATOM 2686 HW2 SOLV 871 -9.777 3.589 -14.533 1.00 0.00 -ATOM 2687 OW SOLV 872 -11.388 -10.661 -9.688 1.00 0.00 -ATOM 2688 HW1 SOLV 872 -11.626 -10.711 -8.718 1.00 0.00 -ATOM 2689 HW2 SOLV 872 -11.991 -10.007 -10.146 1.00 0.00 -ATOM 2690 OW SOLV 873 -10.098 -8.025 3.679 1.00 0.00 -ATOM 2691 HW1 SOLV 873 -10.490 -8.931 3.514 1.00 0.00 -ATOM 2692 HW2 SOLV 873 -9.821 -7.619 2.808 1.00 0.00 -ATOM 2693 OW SOLV 874 -0.852 -15.316 -8.140 1.00 0.00 -ATOM 2694 HW1 SOLV 874 0.091 -15.253 -8.466 1.00 0.00 -ATOM 2695 HW2 SOLV 874 -1.055 -16.263 -7.890 1.00 0.00 -ATOM 2696 OW SOLV 875 11.356 11.040 8.022 1.00 0.00 -ATOM 2697 HW1 SOLV 875 11.747 11.085 8.942 1.00 0.00 -ATOM 2698 HW2 SOLV 875 11.060 10.103 7.832 1.00 0.00 -ATOM 2699 OW SOLV 876 1.171 11.386 -12.724 1.00 0.00 -ATOM 2700 HW1 SOLV 876 1.941 11.735 -13.257 1.00 0.00 -ATOM 2701 HW2 SOLV 876 0.348 11.377 -13.293 1.00 0.00 -ATOM 2702 OW SOLV 877 2.614 13.777 -13.796 1.00 0.00 -ATOM 2703 HW1 SOLV 877 3.495 13.612 -14.240 1.00 0.00 -ATOM 2704 HW2 SOLV 877 2.767 14.102 -12.863 1.00 0.00 -ATOM 2705 OW SOLV 878 12.530 13.906 -4.099 1.00 0.00 -ATOM 2706 HW1 SOLV 878 13.232 13.722 -3.410 1.00 0.00 -ATOM 2707 HW2 SOLV 878 12.061 14.761 -3.875 1.00 0.00 -ATOM 2708 OW SOLV 879 4.787 8.351 14.493 1.00 0.00 -ATOM 2709 HW1 SOLV 879 5.066 8.177 15.438 1.00 0.00 -ATOM 2710 HW2 SOLV 879 5.335 7.788 13.874 1.00 0.00 -ATOM 2711 OW SOLV 880 9.471 -13.650 -5.760 1.00 0.00 -ATOM 2712 HW1 SOLV 880 10.192 -12.994 -5.534 1.00 0.00 -ATOM 2713 HW2 SOLV 880 9.198 -13.530 -6.715 1.00 0.00 -ATOM 2714 OW SOLV 881 2.771 -5.674 -6.995 1.00 0.00 -ATOM 2715 HW1 SOLV 881 1.853 -5.642 -6.599 1.00 0.00 -ATOM 2716 HW2 SOLV 881 3.299 -4.886 -6.677 1.00 0.00 -ATOM 2717 OW SOLV 882 -14.338 2.046 7.987 1.00 0.00 -ATOM 2718 HW1 SOLV 882 -14.778 2.256 8.860 1.00 0.00 -ATOM 2719 HW2 SOLV 882 -13.443 1.634 8.155 1.00 0.00 -ATOM 2720 OW SOLV 883 -4.173 -8.131 4.514 1.00 0.00 -ATOM 2721 HW1 SOLV 883 -4.302 -8.379 5.474 1.00 0.00 -ATOM 2722 HW2 SOLV 883 -3.234 -7.817 4.374 1.00 0.00 -ATOM 2723 OW SOLV 884 14.384 -10.873 -4.256 1.00 0.00 -ATOM 2724 HW1 SOLV 884 14.150 -10.079 -3.694 1.00 0.00 -ATOM 2725 HW2 SOLV 884 14.833 -11.563 -3.689 1.00 0.00 -ATOM 2726 OW SOLV 885 -13.873 -15.326 12.664 1.00 0.00 -ATOM 2727 HW1 SOLV 885 -13.698 -14.641 11.957 1.00 0.00 -ATOM 2728 HW2 SOLV 885 -13.010 -15.750 12.938 1.00 0.00 -ATOM 2729 OW SOLV 886 -9.568 -4.719 12.646 1.00 0.00 -ATOM 2730 HW1 SOLV 886 -8.825 -5.347 12.413 1.00 0.00 -ATOM 2731 HW2 SOLV 886 -10.445 -5.146 12.426 1.00 0.00 -ATOM 2732 OW SOLV 887 1.982 -8.176 14.276 1.00 0.00 -ATOM 2733 HW1 SOLV 887 1.455 -8.983 14.010 1.00 0.00 -ATOM 2734 HW2 SOLV 887 2.743 -8.050 13.640 1.00 0.00 -ATOM 2735 OW SOLV 888 -9.076 13.212 -5.036 1.00 0.00 -ATOM 2736 HW1 SOLV 888 -8.776 12.627 -5.789 1.00 0.00 -ATOM 2737 HW2 SOLV 888 -9.426 14.074 -5.403 1.00 0.00 -ATOM 2738 OW SOLV 889 2.582 -12.064 11.169 1.00 0.00 -ATOM 2739 HW1 SOLV 889 3.218 -12.778 11.460 1.00 0.00 -ATOM 2740 HW2 SOLV 889 2.172 -12.321 10.294 1.00 0.00 -ATOM 2741 OW SOLV 890 -5.174 14.765 1.750 1.00 0.00 -ATOM 2742 HW1 SOLV 890 -5.873 15.339 2.176 1.00 0.00 -ATOM 2743 HW2 SOLV 890 -5.614 14.007 1.269 1.00 0.00 -ATOM 2744 OW SOLV 891 -10.587 13.893 1.353 1.00 0.00 -ATOM 2745 HW1 SOLV 891 -10.963 12.999 1.595 1.00 0.00 -ATOM 2746 HW2 SOLV 891 -9.976 14.206 2.080 1.00 0.00 -ATOM 2747 OW SOLV 892 9.581 3.393 -7.807 1.00 0.00 -ATOM 2748 HW1 SOLV 892 9.107 4.124 -7.317 1.00 0.00 -ATOM 2749 HW2 SOLV 892 9.271 2.506 -7.465 1.00 0.00 -ATOM 2750 OW SOLV 893 8.345 11.130 -8.642 1.00 0.00 -ATOM 2751 HW1 SOLV 893 7.780 10.348 -8.382 1.00 0.00 -ATOM 2752 HW2 SOLV 893 9.278 10.820 -8.826 1.00 0.00 -ATOM 2753 OW SOLV 894 14.865 -6.250 -10.357 1.00 0.00 -ATOM 2754 HW1 SOLV 894 15.414 -5.634 -10.922 1.00 0.00 -ATOM 2755 HW2 SOLV 894 15.471 -6.840 -9.823 1.00 0.00 -ATOM 2756 OW SOLV 895 -3.508 4.256 12.522 1.00 0.00 -ATOM 2757 HW1 SOLV 895 -2.911 3.489 12.286 1.00 0.00 -ATOM 2758 HW2 SOLV 895 -3.560 4.888 11.748 1.00 0.00 -ATOM 2759 OW SOLV 896 0.363 8.757 6.690 1.00 0.00 -ATOM 2760 HW1 SOLV 896 1.074 8.239 6.215 1.00 0.00 -ATOM 2761 HW2 SOLV 896 0.460 9.729 6.477 1.00 0.00 -ATOM 2762 OW SOLV 897 12.844 5.667 6.787 1.00 0.00 -ATOM 2763 HW1 SOLV 897 12.456 5.226 5.978 1.00 0.00 -ATOM 2764 HW2 SOLV 897 12.570 5.163 7.606 1.00 0.00 -ATOM 2765 OW SOLV 898 1.272 5.674 -5.641 1.00 0.00 -ATOM 2766 HW1 SOLV 898 0.357 5.973 -5.372 1.00 0.00 -ATOM 2767 HW2 SOLV 898 1.825 6.471 -5.885 1.00 0.00 -ATOM 2768 OW SOLV 899 -7.581 9.087 -8.353 1.00 0.00 -ATOM 2769 HW1 SOLV 899 -6.884 9.314 -7.673 1.00 0.00 -ATOM 2770 HW2 SOLV 899 -7.701 8.095 -8.390 1.00 0.00 -ATOM 2771 OW SOLV 900 -13.356 -13.659 -10.621 1.00 0.00 -ATOM 2772 HW1 SOLV 900 -13.901 -13.785 -11.450 1.00 0.00 -ATOM 2773 HW2 SOLV 900 -12.391 -13.569 -10.867 1.00 0.00 -ATOM 2774 OW SOLV 901 -11.397 5.889 -9.856 1.00 0.00 -ATOM 2775 HW1 SOLV 901 -11.451 5.516 -8.929 1.00 0.00 -ATOM 2776 HW2 SOLV 901 -12.215 5.629 -10.368 1.00 0.00 -ATOM 2777 OW SOLV 902 3.410 3.298 14.976 1.00 0.00 -ATOM 2778 HW1 SOLV 902 2.785 2.549 15.195 1.00 0.00 -ATOM 2779 HW2 SOLV 902 2.973 3.917 14.324 1.00 0.00 -ATOM 2780 OW SOLV 903 10.491 -2.749 2.943 1.00 0.00 -ATOM 2781 HW1 SOLV 903 11.269 -2.152 3.138 1.00 0.00 -ATOM 2782 HW2 SOLV 903 10.670 -3.661 3.314 1.00 0.00 -ATOM 2783 OW SOLV 904 1.523 -11.436 2.744 1.00 0.00 -ATOM 2784 HW1 SOLV 904 1.978 -12.286 2.477 1.00 0.00 -ATOM 2785 HW2 SOLV 904 2.176 -10.680 2.697 1.00 0.00 -ATOM 2786 OW SOLV 905 14.776 9.915 -12.542 1.00 0.00 -ATOM 2787 HW1 SOLV 905 14.638 10.891 -12.714 1.00 0.00 -ATOM 2788 HW2 SOLV 905 15.538 9.584 -13.099 1.00 0.00 -ATOM 2789 OW SOLV 906 -11.888 -3.892 -10.655 1.00 0.00 -ATOM 2790 HW1 SOLV 906 -12.166 -4.135 -9.726 1.00 0.00 -ATOM 2791 HW2 SOLV 906 -10.925 -4.128 -10.787 1.00 0.00 -ATOM 2792 OW SOLV 907 9.640 -9.598 2.391 1.00 0.00 -ATOM 2793 HW1 SOLV 907 9.705 -10.369 1.759 1.00 0.00 -ATOM 2794 HW2 SOLV 907 10.437 -9.593 2.995 1.00 0.00 -ATOM 2795 OW SOLV 908 -4.089 7.001 -14.098 1.00 0.00 -ATOM 2796 HW1 SOLV 908 -3.462 7.587 -13.583 1.00 0.00 -ATOM 2797 HW2 SOLV 908 -4.311 7.436 -14.970 1.00 0.00 -TER -CONECT 1 3 -CONECT 2 3 -CONECT 3 4 -CONECT 3 5 -CONECT 5 6 -CONECT 5 9 -CONECT 6 7 -CONECT 6 8 -CONECT 9 10 -CONECT 9 11 -CONECT 11 12 -CONECT 11 13 -CONECT 13 14 -CONECT 13 27 -CONECT 14 15 -CONECT 15 16 -CONECT 15 18 -CONECT 16 17 -CONECT 16 20 -CONECT 18 19 -CONECT 18 22 -CONECT 20 21 -CONECT 20 24 -CONECT 22 23 -CONECT 22 24 -CONECT 24 25 -CONECT 25 26 -CONECT 27 28 -CONECT 27 29 -CONECT 29 30 -CONECT 29 31 -CONECT 31 32 -CONECT 31 44 -CONECT 32 33 -CONECT 33 34 -CONECT 34 35 -CONECT 35 36 -CONECT 35 37 -CONECT 37 38 -CONECT 37 41 -CONECT 38 39 -CONECT 38 40 -CONECT 41 42 -CONECT 41 43 -CONECT 44 45 -CONECT 44 46 -CONECT 46 47 -CONECT 46 48 -CONECT 48 49 -CONECT 48 57 -CONECT 49 50 -CONECT 50 51 -CONECT 51 52 -CONECT 52 53 -CONECT 53 54 -CONECT 53 55 -CONECT 53 56 -CONECT 57 58 -CONECT 57 59 -CONECT 59 60 -CONECT 59 61 -CONECT 61 62 -CONECT 61 69 -CONECT 62 63 -CONECT 63 64 -CONECT 64 65 -CONECT 64 66 -CONECT 66 67 -CONECT 66 68 -CONECT 69 70 -CONECT 69 71 -ENDMDL diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_solv.pdb.gz b/testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_solv.pdb.gz new file mode 100644 index 0000000000000000000000000000000000000000..2eb6122c24b0ee16eca41387b543e4de17d8ef3d GIT binary patch literal 44442 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 KT5 Date: Mon, 13 Nov 2023 18:27:29 +0100 Subject: [PATCH 17/47] Add test-trajectory for data without GENBOX and TIMESTEP --- .../data/gromos11/gromos11_cluster_vac.trj.gz | Bin 0 -> 4283 bytes testsuite/MDAnalysisTests/datafiles.py | 1 + 2 files changed, 1 insertion(+) create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_cluster_vac.trj.gz diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_cluster_vac.trj.gz b/testsuite/MDAnalysisTests/data/gromos11/gromos11_cluster_vac.trj.gz new file mode 100644 index 0000000000000000000000000000000000000000..467d5cf02afd84308297248d663ed7f4a8104b22 GIT binary patch literal 4283 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 literal 0 HcmV?d00001 diff --git a/testsuite/MDAnalysisTests/datafiles.py b/testsuite/MDAnalysisTests/datafiles.py index a9cac5d2222..c62c01894dd 100644 --- a/testsuite/MDAnalysisTests/datafiles.py +++ b/testsuite/MDAnalysisTests/datafiles.py @@ -604,6 +604,7 @@ TRC_TRAJ2_VAC = (_data_ref / 'gromos11/gromos11_traj_vac_2.trc.gz').as_posix() TRC_PDB_SOLV = (_data_ref / 'gromos11/gromos11_traj_solv.pdb.gz').as_posix() TRC_TRAJ_SOLV = (_data_ref / 'gromos11/gromos11_traj_solv.trc.gz').as_posix() +TRC_CLUSTER = (_data_ref / 'gromos11/gromos11_cluster_vac.trj.gz').as_posix() DihedralArray = (_data_ref / 'adk_oplsaa_dihedral.npy').as_posix() DihedralsArray = (_data_ref / 'adk_oplsaa_dihedral_list.npy').as_posix() From 7dd51fefd402c849d67ca266d01cbe2f0bc94373 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Mon, 13 Nov 2023 18:30:41 +0100 Subject: [PATCH 18/47] Change how to loop through Gromos trajectories and other Gromos reader bugfixes --- package/MDAnalysis/coordinates/TRC.py | 171 +++++++++++++------------- 1 file changed, 86 insertions(+), 85 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 7a0886f27f8..0cfd9646490 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -36,7 +36,7 @@ import MDAnalysis as mda u = mda.Universe("topology.pdb", ["md_1.trc.gz","md_2.trc.gz"], - format="TRC", continuous=True) + continuous=True) .. Note:: The GROMOS trajectory format organizes its data in blocks. A block starts @@ -44,7 +44,7 @@ Only the TITLE-block at the beginning of each file is mandatory, others blocks can be chosen depending on the task. - The reader is capable to read the blocks "TIMESTEP", "POSITIONRED" and + This reader is designed to read the blocks "TIMESTEP", "POSITIONRED" and "GENBOX" from the trajectory which covers most standard trajectories. MDAnalysis requires the blocks of each frame to be in the same order @@ -85,11 +85,17 @@ class TRCReader(base.ReaderBase): @store_init_arguments def __init__(self, filename, **kwargs): super(TRCReader, self).__init__(filename, **kwargs) - - # GROMOS11 trajectories can be either *.trc or *.trc. + + self.SUPPORTED_BLOCKS = ['TITLE', 'TIMESTEP', 'POSITIONRED', + 'GENBOX'] + self.NOT_SUPPORTED_BLOCKNAMES = ['POSITION', 'REFPOSITION', + 'VELOCITY', 'VELOCITYRED', 'FREEFORCE', 'FREEFORCERED', + 'CONSFORCE', 'CONSFORCERED'] + + # GROMOS11 trajectories can be either *.trc or *.trc.gz. root, ext = os.path.splitext(self.filename) self.trcfile = util.anyopen(self.filename) - self.compression = ext[1:] if ext[1:] != "trj" else None + self.compression = ext[1:] if ext[1:] != "trc" else None # Read and calculate some information about the trajectory self.traj_properties = self._read_traj_properties() @@ -161,19 +167,17 @@ def _read_traj_properties(self): """ traj_properties = {} - SUPPORTED_BLOCKS = ['TIMESTEP', 'POSITIONRED', 'GENBOX'] # # Check which of the supported blocks comes first win the trajectory # first_block = None with util.anyopen(self.filename) as f: - while (True): - line = f.readline() - if (line == '') or (line == b''): break # EOF - for blockname in SUPPORTED_BLOCKS: - if (blockname in line): - #Save the name of the first block in the trajectory file + for line in iter(f.readline,''): + for blockname in self.SUPPORTED_BLOCKS: + if (blockname in line) and (blockname != 'TITLE'): + #Save the name of the first non-Title block + #in the trajectory file first_block = blockname if (first_block is not None): break #First block found @@ -192,15 +196,13 @@ def _read_traj_properties(self): l_timestep_timevalues = [] with util.anyopen(self.filename) as f: - while (True): - line = f.readline() - if (line == '') or (line == b''): break # EOF - + for line in iter(f.readline,''): + # # First block of frame # if (first_block in line): - l_blockstart_offset.append(f.tell()) + l_blockstart_offset.append(f.tell()-len(line)) frame_counter += 1 # @@ -242,79 +244,78 @@ def _read_traj_properties(self): return traj_properties - def _read_GROMOS11_trajectory(self, _frame): + def _read_GROMOS11_trajectory(self): frameDat = {} f = self.trcfile - - l_blockstart_offset = self.traj_properties["l_blockstart_offset"] + if (f.closed): + raise Exception("The trajectory has been closed before reading.") - try: - - # - # Read time - # - while (True): - line = f.readline() - if (line == '') or (line == b''): break # EOF - if (f.tell() in l_blockstart_offset): - tmp_step, tmp_time = f.readline().split() - frameDat["step"] = int(round(float(tmp_step))) - frameDat["time"] = float(tmp_time) - - elif ("POSITIONRED" in line): - tmp_buf = [] - while (True): - coords_str = f.readline() - if '#' in coords_str: - continue - elif "END" in coords_str: - break - else: - tmp_buf.append(coords_str.split()) - - if (np.array(tmp_buf).shape[0] == self.n_atoms): - frameDat["positions"] = np.asarray(tmp_buf, - dtype=np.float64) + # Read trajectory + for line in iter(f.readline,''): + + if ("TIMESTEP" in line): + tmp_step, tmp_time = f.readline().split() + frameDat["step"] = int(tmp_step) + frameDat["time"] = float(tmp_time) + + elif ("POSITIONRED" in line): + tmp_buf = [] + while (True): + coords_str = f.readline() + if '#' in coords_str: + continue + elif "END" in coords_str: + break else: - raise ValueError("The trajectory contains \ - the wrong number of atoms!") - - elif ("GENBOX" in line): - ntb_setting = int(f.readline()) - if (ntb_setting == 0): - frameDat["dimensions"] = None - self.periodic = False - - elif (ntb_setting in [-1, 1]): - tmp_a, tmp_b, tmp_c = f.readline().split() - tmp_alpha, tmp_beta, tmp_gamma = f.readline().split() - frameDat["dimensions"] = [float(tmp_a), - float(tmp_b), - float(tmp_c), - float(tmp_alpha), - float(tmp_beta), - float(tmp_gamma)] - self.periodic = True + tmp_buf.append(coords_str.split()) + + if (np.array(tmp_buf).shape[0] == self.n_atoms): + frameDat["positions"] = np.asarray(tmp_buf, + dtype=np.float64) + else: + raise ValueError("The trajectory contains \ + the wrong number of atoms!") + + elif ("GENBOX" in line): + ntb_setting = int(f.readline()) + if (ntb_setting == 0): + frameDat["dimensions"] = None + self.periodic = False - line3 = f.readline().split() - line4 = f.readline().split() - for v in (line3 + line4): - if (float(v) != 0.0): - raise NotImplementedError("This reader \ - supports neither \ - triclinic and/or \ - (yawed,pitched, \ - rolled) boxes!") - else: - raise NotImplementedError("This reader does not \ - support this box type!") - break - - return frameDat - - except (ValueError, IndexError) as err: - raise EOFError(err) from None + elif (ntb_setting in [-1, 1]): + tmp_a, tmp_b, tmp_c = f.readline().split() + tmp_alpha, tmp_beta, tmp_gamma = f.readline().split() + frameDat["dimensions"] = [float(tmp_a), + float(tmp_b), + float(tmp_c), + float(tmp_alpha), + float(tmp_beta), + float(tmp_gamma)] + self.periodic = True + + line3 = f.readline().split() + line4 = f.readline().split() + for v in (line3 + line4): + if (float(v) != 0.0): + raise NotImplementedError("This reader \ + supports neither \ + triclinic and/or \ + (yawed,pitched, \ + rolled) boxes!") + else: + raise NotImplementedError("This reader does only support\ + vacuum and rectangular boxes!") + break + + elif any(non_supp_bn in line for non_supp_bn in self.NOT_SUPPORTED_BLOCKNAMES): + for non_supp_bn in self.NOT_SUPPORTED_BLOCKNAMES: + if (non_supp_bn in line): + warnings.warn("Block "+non_supp_bn+" is not supported!", UserWarning) + + + return frameDat + def _read_frame(self, i): """read frame i""" @@ -333,7 +334,7 @@ def _read_next_timestep(self, ts=None): if (self._frame >= self.n_frames): raise EOFError('Trying to go over trajectory limit') - raw_framedata = self._read_GROMOS11_trajectory(self._frame) + raw_framedata = self._read_GROMOS11_trajectory() self._frame_to_ts(raw_framedata, ts) self.ts = ts From 960f3cde1eba27e462f035a49846c48f768e8c12 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Tue, 14 Nov 2023 13:25:24 +0100 Subject: [PATCH 19/47] Gromos11 pytesting check for some edgecases and warnings --- .../MDAnalysisTests/coordinates/test_trc.py | 50 ++++++ .../data/gromos11/gromos11_cluster_vac.trj.gz | Bin 4283 -> 6163 bytes .../data/gromos11/gromos11_traj_vac.pdb | 150 ------------------ testsuite/MDAnalysisTests/datafiles.py | 3 +- 4 files changed, 52 insertions(+), 151 deletions(-) delete mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_vac.pdb diff --git a/testsuite/MDAnalysisTests/coordinates/test_trc.py b/testsuite/MDAnalysisTests/coordinates/test_trc.py index 8ff5d1fb34d..dacd376d9ba 100644 --- a/testsuite/MDAnalysisTests/coordinates/test_trc.py +++ b/testsuite/MDAnalysisTests/coordinates/test_trc.py @@ -22,12 +22,14 @@ # import pytest import numpy as np +import warnings from numpy.testing import assert_allclose from numpy.testing import assert_equal import MDAnalysis as mda from MDAnalysis.coordinates.TRC import TRCReader from MDAnalysisTests.datafiles import TRC_PDB_VAC, TRC_TRAJ1_VAC, TRC_TRAJ2_VAC +from MDAnalysisTests.datafiles import TRC_CLUSTER_VAC from MDAnalysisTests.datafiles import TRC_PDB_SOLV, TRC_TRAJ_SOLV @@ -70,6 +72,13 @@ def test_trc_time(self, TRC_U): assert TRC_U.trajectory[0].time == 0 assert TRC_U.trajectory[4].time == 80 + def test_trc_dt(self, TRC_U): + time_array = np.array([ts.time for ts in TRC_U.trajectory]) + assert_equal(time_array, np.arange(6)*20) + + dt_array = np.diff(time_array) + assert_equal(dt_array, np.full(5,20)) + def test_trc_data_step(self, TRC_U): assert TRC_U.trajectory[0].data['step'] == 0 assert TRC_U.trajectory[4].data['step'] == 10000 @@ -137,3 +146,44 @@ def test_open_twice(self, TRC_U): with pytest.raises(IOError): TRC_U.trajectory.open_trajectory() +class TestTRCReaderClusterTrajectory: + @pytest.fixture(scope='class') + def TRC_U(self): + with pytest.warns(UserWarning) as record_of_warnings: + TRC_U = mda.Universe(TRC_PDB_VAC, TRC_CLUSTER_VAC, format="TRC") + + warning_strins = ["The trajectory does not contain TIMESTEP blocks!", + "POSITION block is not supported!"] + + warning_strins_found = 0 + for w in record_of_warnings: + if (str(w.message) in warning_strins): + warning_strins_found += 1 + + assert (warning_strins_found) == 2 + return TRC_U + + def test_trc_n_atoms(self, TRC_U): + assert (TRC_U.trajectory.n_atoms) == 73 + + def test_periodic(self, TRC_U): + assert_equal(TRC_U.trajectory.periodic, False) + + def test_trc_dimensions(self, TRC_U): + ts = TRC_U.trajectory[1] + assert_equal(ts.dimensions, None) + + def test_trc_n_frames(self, TRC_U): + assert len(TRC_U.trajectory) == 3 + assert (TRC_U.trajectory.n_frames) == 3 + + def test_trc_frame(self, TRC_U): + with pytest.warns(UserWarning): #Warning: "POSITION block is not supported!" + assert TRC_U.trajectory[0].frame == 0 + assert TRC_U.trajectory[2].frame == 2 + + def test_trc_time(self, TRC_U): + with pytest.warns(UserWarning): + assert TRC_U.trajectory[0].time == 0 + assert TRC_U.trajectory[2].time == 0 + diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_cluster_vac.trj.gz b/testsuite/MDAnalysisTests/data/gromos11/gromos11_cluster_vac.trj.gz index 467d5cf02afd84308297248d663ed7f4a8104b22..eadc1ea1b557082abe08b71e04fc1909dd159de2 100644 GIT binary patch literal 6163 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%0AlnS=WAlRREKgBD%rgwbnBtuNy}0g)FsKw9-+W zj7Arc8eaCo!yyne*9M5DrhT_!{Rj%StDd#gKdZ}w?yAMFu}#tluyep+vv}=SF&8DnG+pg#m#Fpe{w4(mEOXBsk;8ydms{mcOJeX5R~(uqtWzJ^TE6Moh8|nl z+!=E#*fpz8gnBJlx|zS!tavI;P6@KiTx?S9*tGx>Pd7E+nztCYB!RP!_ZD?69aEI! zIN&TTQX+8?jsL34pPC3Zs({XwgrOPmIDT6DR_f%0U5B=QW}*_Zx!6n%YX0fO|MJJNR=t)zI|Y8- zZtrWzv*)u8qUml{cG2}gbJ_o?C= zT2LSie21;Ai{?_~XiaS0tfmMtbpI@vUhs&tX%@P)1yH;wAq*xgTFNH#cJ;L*43=_n ztVi?o)QZ{2i01wU{#G@d9p75Q zfP&#`*_a19i@14MO3S#I@_j1B7yty>G4F=_E@gm-lJ%Og)fP`5Eg^zR-fEm6>x=~t zEeL6Mx`I&uO9l3FqLERfL0{=!1Ou=rN^f#BZ3JlrBYX(K;x1kXR28ZXBimWaA*xS2 zffE%!-5v6-c`i`ZT*;hEPCFh*zShIZ$VNj&7?73~*wjwc_55kI{_2yM!)k*HpvekM zYwOTK`zQGpY)+JFVhuA_?3K5GPv>$VeF{jt4&1dPx&x&+H^u`&o!O=eDr$JQ8`Qxd z+gT^|yar{iUI3cO(Tr(bmE!HGZ>1)PdXDbO)>4)$UM*pbrd6?TRbbkn$hoCv|Lydr z0>g1h*jX!I?M>~hsqp-TG5j7a$*O1KQ=y!z^@1meP@i+6D$XsY^v&qh4w*`nqNZ08ajWyl2Ts-uO)1(tF~T%7+^aX> z?p3nM8A%f{6@&R!1qS5;;NI$^HsKYV(`(sqBvdzZc~EYyGI3g)q}!2=Y5qGg(NaHJ z-+C1@@igQ{b2`heFSpOtR}Iu55~)osT(<2jhipW*nk)9iBl+em-?*yud1Px(>}I^~ zS1%^o7^*XYhVlHg1U9HHdj8yon9{PaNA}|?%`Kx6_1nyCFV$T=x_)AqbGMk~3>XBnKs&14qf_bFClU zqk0RSEX%zF1tODh;7Iod?`%FdYswa$?H&}dnEmglKt-hkyCsGsei z5Lb5^L7v=`B8_!zuVw|NZVk1M*|Z!=3r5e=Xm8oqseA>do`iy<(DbqrEA^8q;wn%H zRK3~*&#~C;+GxpD?5V|+Slm{J9k}b+U(sLi=JQ|})dec@_8^g?@t^CcJ4HM8w<<8) znDjD+Ym=tm{p8PM+AAuap9$R8nnWo%%?6aQhO?R`-Sz3a-mYH*-dpT^mBOdy_6O8k z`-v%gyoQ_2L;U+H5zJw$h8uz`W5GHvOIfzo&FiyWNGgRGHLvd%bpXa4H=kb6c=tf` zL!BZjpExYye$5WG1~)bG4oe-8+%>b0tB#1sk?jgSBq?Uqe%02^pYn+D>sM%L*P@Aw zZ@FI})6P@tOr6?GaQdOdYnBvG!{Er2vwfoi(|WvSDgNeCKsH-SCAo&)4?n{gT5XIw zY&8~|>wPpyYM7Z{shbI~?j=H!yt0LdWSZLxVzL5*iMR4zCzr#WDSEP_rYd@^iXZET zSjPw4)0NfG{|K6Z1Bskxb*CS^a5fK=j()(=gW*>Fuu~oS2RR@HLzB#Oef`w1L~_QL zU%yVOi5!|BZujK0?Yz%&%a~mI+Sbp7{0^xa(~B%HesRUb$6m;R=eZ>g+Vr!n_tOeG zDsi*gqmIbb4`}|r0wZB+dwRxJ3OK9%W9KP~SvV?T5H;0nmta2qP}RCO_5iegAuY5#007H#M@Rqw literal 4283 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 diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_vac.pdb b/testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_vac.pdb deleted file mode 100644 index c446db6ec25..00000000000 --- a/testsuite/MDAnalysisTests/data/gromos11/gromos11_traj_vac.pdb +++ /dev/null @@ -1,150 +0,0 @@ -TITLE gromos11_traj_vac.pdb -MODEL -ATOM 1 H1 VAL A 1 30.136 23.574 4.008 1.00 0.00 -ATOM 2 H2 VAL A 1 31.407 22.558 4.514 1.00 0.00 -ATOM 3 N VAL A 1 31.083 23.273 3.895 1.00 0.00 -ATOM 4 H3 VAL A 1 31.212 22.951 2.957 1.00 0.00 -ATOM 5 CA VAL A 1 31.975 24.440 3.973 1.00 0.00 -ATOM 6 CB VAL A 1 33.430 23.999 3.805 1.00 0.00 -ATOM 7 CG1 VAL A 1 33.728 23.622 2.352 1.00 0.00 -ATOM 8 CG2 VAL A 1 34.396 25.043 4.369 1.00 0.00 -ATOM 9 C VAL A 1 31.554 25.620 3.095 1.00 0.00 -ATOM 10 O VAL A 1 31.417 25.496 1.879 1.00 0.00 -ATOM 11 N TYR A 2 31.503 26.774 3.754 1.00 0.00 -ATOM 12 H TYR A 2 31.863 26.955 4.669 1.00 0.00 -ATOM 13 CA TYR A 2 30.940 27.949 3.075 1.00 0.00 -ATOM 14 CB TYR A 2 30.837 29.161 4.004 1.00 0.00 -ATOM 15 CG TYR A 2 29.942 30.292 3.493 1.00 0.00 -ATOM 16 CD1 TYR A 2 30.530 31.512 3.180 1.00 0.00 -ATOM 17 HD1 TYR A 2 31.585 31.599 2.920 1.00 0.00 -ATOM 18 CD2 TYR A 2 28.562 30.167 3.385 1.00 0.00 -ATOM 19 HD2 TYR A 2 28.063 29.208 3.526 1.00 0.00 -ATOM 20 CE1 TYR A 2 29.681 32.579 2.911 1.00 0.00 -ATOM 21 HE1 TYR A 2 30.125 33.370 2.306 1.00 0.00 -ATOM 22 CE2 TYR A 2 27.736 31.244 3.086 1.00 0.00 -ATOM 23 HE2 TYR A 2 26.680 30.994 3.196 1.00 0.00 -ATOM 24 CZ TYR A 2 28.294 32.510 2.951 1.00 0.00 -ATOM 25 OH TYR A 2 27.527 33.601 3.219 1.00 0.00 -ATOM 26 HH TYR A 2 26.725 33.362 2.671 1.00 0.00 -ATOM 27 C TYR A 2 31.514 28.471 1.756 1.00 0.00 -ATOM 28 O TYR A 2 30.705 28.814 0.896 1.00 0.00 -ATOM 29 N ARG A 3 32.806 28.258 1.523 1.00 0.00 -ATOM 30 H ARG A 3 33.409 28.176 2.317 1.00 0.00 -ATOM 31 CA ARG A 3 33.456 28.570 0.241 1.00 0.00 -ATOM 32 CB ARG A 3 34.957 28.381 0.470 1.00 0.00 -ATOM 33 CG ARG A 3 35.860 29.557 0.847 1.00 0.00 -ATOM 34 CD ARG A 3 35.596 30.761 -0.060 1.00 0.00 -ATOM 35 NE ARG A 3 36.546 31.810 0.337 1.00 0.00 -ATOM 36 HE ARG A 3 37.069 31.713 1.184 1.00 0.00 -ATOM 37 CZ ARG A 3 36.787 32.931 -0.357 1.00 0.00 -ATOM 38 NH1 ARG A 3 36.295 33.175 -1.580 1.00 0.00 -ATOM 39 HH11 ARG A 3 36.476 34.050 -2.029 1.00 0.00 -ATOM 40 HH12 ARG A 3 35.565 32.568 -1.893 1.00 0.00 -ATOM 41 NH2 ARG A 3 37.499 33.952 0.139 1.00 0.00 -ATOM 42 HH21 ARG A 3 37.658 34.741 -0.453 1.00 0.00 -ATOM 43 HH22 ARG A 3 38.006 33.868 0.997 1.00 0.00 -ATOM 44 C ARG A 3 33.025 27.725 -0.959 1.00 0.00 -ATOM 45 O ARG A 3 33.207 28.096 -2.118 1.00 0.00 -ATOM 46 N LYSHA 4 32.464 26.575 -0.595 1.00 0.00 -ATOM 47 H LYSHA 4 32.312 26.329 0.362 1.00 0.00 -ATOM 48 CA LYSHA 4 31.948 25.584 -1.550 1.00 0.00 -ATOM 49 CB LYSHA 4 32.812 24.322 -1.519 1.00 0.00 -ATOM 50 CG LYSHA 4 32.554 23.449 -2.748 1.00 0.00 -ATOM 51 CD LYSHA 4 33.026 24.137 -4.031 1.00 0.00 -ATOM 52 CE LYSHA 4 34.488 24.041 -4.473 1.00 0.00 -ATOM 53 NZ LYSHA 4 34.727 24.535 -5.837 1.00 0.00 -ATOM 54 HZ1 LYSHA 4 34.260 23.931 -6.483 1.00 0.00 -ATOM 55 HZ2 LYSHA 4 35.706 24.692 -5.965 1.00 0.00 -ATOM 56 HZ3 LYSHA 4 34.279 25.429 -5.811 1.00 0.00 -ATOM 57 C LYSHA 4 30.480 25.278 -1.247 1.00 0.00 -ATOM 58 O LYSHA 4 30.050 24.146 -1.028 1.00 0.00 -ATOM 59 N GLN A 5 29.733 26.378 -1.230 1.00 0.00 -ATOM 60 H GLN A 5 30.102 27.248 -1.558 1.00 0.00 -ATOM 61 CA GLN A 5 28.282 26.297 -1.013 1.00 0.00 -ATOM 62 CB GLN A 5 27.937 26.696 0.424 1.00 0.00 -ATOM 63 CG GLN A 5 27.713 25.498 1.349 1.00 0.00 -ATOM 64 CD GLN A 5 27.349 25.872 2.787 1.00 0.00 -ATOM 65 OE1 GLN A 5 28.182 25.876 3.693 1.00 0.00 -ATOM 66 NE2 GLN A 5 26.058 25.901 3.103 1.00 0.00 -ATOM 67 HE21 GLN A 5 25.815 26.404 3.932 1.00 0.00 -ATOM 68 HE22 GLN A 5 25.336 25.327 2.716 1.00 0.00 -ATOM 69 C GLN A 5 27.572 27.227 -1.999 1.00 0.00 -ATOM 70 O1 GLN A 5 26.478 26.841 -2.463 1.00 0.00 -ATOM 71 O2 GLN A 5 28.289 28.144 -2.455 1.00 0.00 -TER -ATOM 72 CL CL- B 6 3.903 0.305 11.378 1.00 0.00 -TER -ATOM 73 CL CL- C 7 11.196 10.750 4.996 1.00 0.00 -TER -CONECT 1 3 -CONECT 2 3 -CONECT 3 4 -CONECT 3 5 -CONECT 5 6 -CONECT 5 9 -CONECT 6 7 -CONECT 6 8 -CONECT 9 10 -CONECT 9 11 -CONECT 11 12 -CONECT 11 13 -CONECT 13 14 -CONECT 13 27 -CONECT 14 15 -CONECT 15 16 -CONECT 15 18 -CONECT 16 17 -CONECT 16 20 -CONECT 18 19 -CONECT 18 22 -CONECT 20 21 -CONECT 20 24 -CONECT 22 23 -CONECT 22 24 -CONECT 24 25 -CONECT 25 26 -CONECT 27 28 -CONECT 27 29 -CONECT 29 30 -CONECT 29 31 -CONECT 31 32 -CONECT 31 44 -CONECT 32 33 -CONECT 33 34 -CONECT 34 35 -CONECT 35 36 -CONECT 35 37 -CONECT 37 38 -CONECT 37 41 -CONECT 38 39 -CONECT 38 40 -CONECT 41 42 -CONECT 41 43 -CONECT 44 45 -CONECT 44 46 -CONECT 46 47 -CONECT 46 48 -CONECT 48 49 -CONECT 48 57 -CONECT 49 50 -CONECT 50 51 -CONECT 51 52 -CONECT 52 53 -CONECT 53 54 -CONECT 53 55 -CONECT 53 56 -CONECT 57 58 -CONECT 57 59 -CONECT 59 60 -CONECT 59 61 -CONECT 61 62 -CONECT 61 69 -CONECT 62 63 -CONECT 63 64 -CONECT 64 65 -CONECT 64 66 -CONECT 66 67 -CONECT 66 68 -CONECT 69 70 -CONECT 69 71 -ENDMDL diff --git a/testsuite/MDAnalysisTests/datafiles.py b/testsuite/MDAnalysisTests/datafiles.py index c62c01894dd..c45b9c535c1 100644 --- a/testsuite/MDAnalysisTests/datafiles.py +++ b/testsuite/MDAnalysisTests/datafiles.py @@ -211,6 +211,7 @@ "legacy_DCD_c36_coords", # frames 1 and 4 read in for tip125_tric_C36.dcd using legacy DCD reader "GSD", "GSD_bonds", "GSD_long", "TRC_PDB_VAC", "TRC_TRAJ1_VAC", "TRC_TRAJ2_VAC", # 2x 3 frames of vacuum trajectory from GROMOS11 tutorial + "TRC_CLUSTER_VAC", #three frames without TIMESTEP and GENBOX block but with unsupported POSITION block "TRC_PDB_SOLV", "TRC_TRAJ_SOLV", # 2 frames of solvated trajectory from GROMOS11 tutorial "GRO_MEMPROT", "XTC_MEMPROT", # YiiP transporter in POPE:POPG lipids with Na+, Cl-, Zn2+ dummy model without water "DihedralArray", "DihedralsArray", # time series of single dihedral @@ -604,7 +605,7 @@ TRC_TRAJ2_VAC = (_data_ref / 'gromos11/gromos11_traj_vac_2.trc.gz').as_posix() TRC_PDB_SOLV = (_data_ref / 'gromos11/gromos11_traj_solv.pdb.gz').as_posix() TRC_TRAJ_SOLV = (_data_ref / 'gromos11/gromos11_traj_solv.trc.gz').as_posix() -TRC_CLUSTER = (_data_ref / 'gromos11/gromos11_cluster_vac.trj.gz').as_posix() +TRC_CLUSTER_VAC = (_data_ref / 'gromos11/gromos11_cluster_vac.trj.gz').as_posix() DihedralArray = (_data_ref / 'adk_oplsaa_dihedral.npy').as_posix() DihedralsArray = (_data_ref / 'adk_oplsaa_dihedral_list.npy').as_posix() From bcbbefabd1330322014a7aba6cddf2d6d86962c6 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Tue, 14 Nov 2023 13:26:47 +0100 Subject: [PATCH 20/47] Gromos11 reader documentation and bugfixes --- package/MDAnalysis/coordinates/TRC.py | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 0cfd9646490..c29cc7f7a2e 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -26,10 +26,6 @@ ==================================================================== Reads coordinates, timesteps and box-sizes from GROMOS11 TRC trajectories. -The trajectory format is documented in the GROMOS Manual Vol. 4, chapter 2 and 4. -The manual can be downloaded here: -https://gromos.net/gromos11_pdf_manuals/vol4.pdf -The code has been tested with GROMOS11 version 1.6 (Dec. 2023) To load the trajectory into :class:`~MDAnalysis.core.universe.Universe`, you need to provide topology information using a pdb:: @@ -47,8 +43,13 @@ This reader is designed to read the blocks "TIMESTEP", "POSITIONRED" and "GENBOX" from the trajectory which covers most standard trajectories. - MDAnalysis requires the blocks of each frame to be in the same order + MDAnalysis requires the blocks to be in the same order for each frame and ignores non-supported blocks. + +The trajectory format is documented in the GROMOS Manual Vol. 4, chapter 2 and 4. +The manual can be downloaded here: +https://gromos.net/gromos11_pdf_manuals/vol4.pdf +The code has been tested with GROMOS11 version 1.6 (Dec. 2023) Classes ------- @@ -239,14 +240,20 @@ def _read_traj_properties(self): - l_timestep_timevalues[0]) else: traj_properties["dt"] = 0 - warnings.warn("The trajectory does not contain TIMESTEP \ - information!", UserWarning) + warnings.warn("The trajectory does not contain TIMESTEP blocks!",\ + UserWarning) return traj_properties def _read_GROMOS11_trajectory(self): frameDat = {} + frameDat["step"] = int(self._frame) + frameDat["time"] = float(0.0) + frameDat["positions"] = None + frameDat["dimensions"] = None + self.periodic = False + f = self.trcfile if (f.closed): raise Exception("The trajectory has been closed before reading.") @@ -311,7 +318,8 @@ def _read_GROMOS11_trajectory(self): elif any(non_supp_bn in line for non_supp_bn in self.NOT_SUPPORTED_BLOCKNAMES): for non_supp_bn in self.NOT_SUPPORTED_BLOCKNAMES: if (non_supp_bn in line): - warnings.warn("Block "+non_supp_bn+" is not supported!", UserWarning) + warnings.warn(non_supp_bn + " block is not supported!", UserWarning) + pass return frameDat @@ -334,7 +342,7 @@ def _read_next_timestep(self, ts=None): if (self._frame >= self.n_frames): raise EOFError('Trying to go over trajectory limit') - raw_framedata = self._read_GROMOS11_trajectory() + raw_framedata = self._read_GROMOS11_trajectory() self._frame_to_ts(raw_framedata, ts) self.ts = ts From 93bc53f7b47f66017c4620c12ed60416b19c27f8 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Tue, 14 Nov 2023 15:29:57 +0100 Subject: [PATCH 21/47] Fix merge conflicts in changelog --- package/CHANGELOG | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/package/CHANGELOG b/package/CHANGELOG index a85f1a106a2..b36846ed143 100644 --- a/package/CHANGELOG +++ b/package/CHANGELOG @@ -15,7 +15,7 @@ The rules for this file: ------------------------------------------------------------------------------- ??/??/?? IAlibay, ianmkenney, PicoCentauri, pgbarletta, p-j-smith, - richardjgowers, lilyminium + richardjgowers, lilyminium, ALescoulie, hmacdope * 2.7.0 @@ -27,26 +27,52 @@ Fixes * Fixes a case where qcprot.CalcRMSDRotationalMatrix would return a RMSD of None * Fixes hydrogenbonds tutorial path to point to hbonds (Issue #4285, PR #4286) + * Fix atom charge reading in PDBQT parser (Issue #4282, PR #4283) Enhancements - * Added a reader for GROMOS11 TRC trajectories (PR #4292 , Issue #4291) + * Refactor c_distances backend to have a cython .pxd header and expose in + libmdanalysis (Issue #4315, PR #4324) + * Add faster nucleic acid Major and Minor pair distance calculators using + AnalysisBase for updated nucleicacids module (Issue #3720, PR #3735) + * Adds external sidebar links (Issue #4296) * Updated lib.qcprot.CalcRMSDRotationalMatrix to accept either float32 or float64 inputs (PR #4273, part of #3927) * Added a warning about charge neutrality to the documentation of `DielectricConstant` (Issue #4262, PR #4263) + * Added a reader for GROMOS11 TRC trajectories (PR #4292 , Issue #4291) * Add support for reading chainID info from prmtop amber topologies (PR #4007) * Add support for reading chainID info from GROMACS TPR topologies - (Issue #3994, PR #4281) + (Issue #3994, PR #4281) + * Add support for reading chainID info from Autodock PDBQT files (Issue #4207, + PR #4284) Changes + * Biopython is now an optional dependency (Issue #3820, PR #4332) + * Networkx is now an optional dependency (Issue #3822). + * High memory tests (enabled through the environment variable + `ENABLE_HIGH_MEM_UNIT_TESTS` are now only enabled if the environment variable + is set to "true") (PR #4295) * The `mda-xdrlib` module is now a core dependency of MDAnalysis replacing the now deprecated `xdrlib` core Python library (PR #4271) * ConverterBase class moved from coordinates/base.py to converters/base.py (Issue #3404) + * Results for WatsonCrickDist nucleic acids analysis are now stored in + `analysis.nucleicacids.WatsonCrickDist.results.distances` (Issue #3720, PR #3735) Deprecations + * MDAnalysis.lib.util is deprecated and will be removed in version 3.0 + (Issue #3649) + * The TRZ reader & writer are deprecated and will be removed in version 3.0 + (PR #4335) + * X3DNA has been deprecated and will be removed in 3.0.0 (Issue #3788) * coordinates.base.ConverterBase has been deprecated and will be removed in 3.0.0; use converters.base.ConvertBase instead (Issue #3404) + * In `nucleicacids.WatsonCrickDist`, accepting lists of `Residue` objects was deprecated + in favor of using `ResidueGroup`: using `List[Residue]` will be removed in release + 3.0.0; instead use a `ResidueGroup` (Issue #3720, PR #3735) + * In `nucleicacids.WatsonCrickDist` the result `results.pair_distances` was + deprecated and will be removed in 3.0.0; use `results.distances` (Issue #3720, + PR #3735) 28/08/23 IAlibay, hmacdope, pillose, jaclark5, tylerjereddy From 61a0561683ac8483233399caf2bc203d0a380a13 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Tue, 14 Nov 2023 16:19:46 +0100 Subject: [PATCH 22/47] Fixes PEP 8 issues --- package/MDAnalysis/coordinates/TRC.py | 203 +++++++++--------- package/MDAnalysis/coordinates/chain.py | 3 +- .../MDAnalysisTests/coordinates/test_trc.py | 37 ++-- testsuite/MDAnalysisTests/datafiles.py | 2 +- 4 files changed, 123 insertions(+), 122 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index c29cc7f7a2e..7abe5358206 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -31,26 +31,26 @@ you need to provide topology information using a pdb:: import MDAnalysis as mda - u = mda.Universe("topology.pdb", ["md_1.trc.gz","md_2.trc.gz"], + u = mda.Universe("topology.pdb", ["md_1.trc.gz","md_2.trc.gz"], continuous=True) .. Note:: - The GROMOS trajectory format organizes its data in blocks. A block starts - with a blockname in capital letters and ends with a line containing only ''END''. - Only the TITLE-block at the beginning of each file is mandatory, - others blocks can be chosen depending on the task. + The GROMOS trajectory format organizes its data in blocks. A block starts + with a blockname in capital letters and ends with a line containing only + ''END''. Only the TITLE-block at the beginning of each file is mandatory, + others blocks can be chosen depending on the task. - This reader is designed to read the blocks "TIMESTEP", "POSITIONRED" and + This reader is designed to read the blocks "TIMESTEP", "POSITIONRED" and "GENBOX" from the trajectory which covers most standard trajectories. - + MDAnalysis requires the blocks to be in the same order for each frame and ignores non-supported blocks. The trajectory format is documented in the GROMOS Manual Vol. 4, chapter 2 and 4. -The manual can be downloaded here: +The manual can be downloaded here: https://gromos.net/gromos11_pdf_manuals/vol4.pdf The code has been tested with GROMOS11 version 1.6 (Dec. 2023) - + Classes ------- @@ -82,17 +82,18 @@ class TRCReader(base.ReaderBase): format = 'TRC' units = {'time': 'ps', 'length': 'nm'} _Timestep = Timestep - + @store_init_arguments def __init__(self, filename, **kwargs): super(TRCReader, self).__init__(filename, **kwargs) - - self.SUPPORTED_BLOCKS = ['TITLE', 'TIMESTEP', 'POSITIONRED', - 'GENBOX'] - self.NOT_SUPPORTED_BLOCKNAMES = ['POSITION', 'REFPOSITION', - 'VELOCITY', 'VELOCITYRED', 'FREEFORCE', 'FREEFORCERED', - 'CONSFORCE', 'CONSFORCERED'] - + + self.SUPPORTED_BLOCKS = ['TITLE', 'TIMESTEP', 'POSITIONRED', + 'GENBOX'] + self.NOT_SUPPORTED_BLOCKNAMES = ['POSITION', 'REFPOSITION', + 'VELOCITY', 'VELOCITYRED', + 'FREEFORCE', 'FREEFORCERED', + 'CONSFORCE', 'CONSFORCERED'] + # GROMOS11 trajectories can be either *.trc or *.trc.gz. root, ext = os.path.splitext(self.filename) self.trcfile = util.anyopen(self.filename) @@ -100,15 +101,15 @@ def __init__(self, filename, **kwargs): # Read and calculate some information about the trajectory self.traj_properties = self._read_traj_properties() - + self._cache = {} self.ts = self._Timestep(self.n_atoms, **self._ts_kwargs) - + self._reopen() self.ts.dt = self.traj_properties["dt"] - + self._read_frame(0) - + @property @cached('n_atoms') def n_atoms(self): @@ -119,9 +120,9 @@ def n_atoms(self): return 0 def _read_atom_count(self): - n_atoms = self.traj_properties["n_atoms"] + n_atoms = self.traj_properties["n_atoms"] return n_atoms - + @property @cached('n_frames') def n_frames(self): @@ -132,23 +133,23 @@ def n_frames(self): return 0 def _read_frame_count(self): - n_frames = self.traj_properties["n_frames"] + n_frames = self.traj_properties["n_frames"] return n_frames - + def _frame_to_ts(self, frameDat, ts): """Convert a frame to a :class: TimeStep""" ts.frame = self._frame ts.time = frameDat["time"] - + ts.data['time'] = frameDat["time"] ts.data['step'] = frameDat["step"] - + ts.dimensions = frameDat["dimensions"] ts.positions = frameDat["positions"] # # Convert the units - # + # if self.convert_units: if ts.has_positions: self.convert_pos_from_native(ts.positions) @@ -156,119 +157,119 @@ def _frame_to_ts(self, frameDat, ts): self.convert_pos_from_native(ts.dimensions[:3]) if ts.has_velocities: self.convert_velocities_from_native(ts.velocities) - + return ts - + def _read_traj_properties(self): """ * Reads the number of atoms per frame (n_atoms) - * Reads the number of frames (n_frames) - * Reads the startposition of the timestep block - for each frame (l_blockstart_offset) + * Reads the number of frames (n_frames) + * Reads the startposition of the timestep block + for each frame (l_blockstart_offset) """ - + traj_properties = {} - + # # Check which of the supported blocks comes first win the trajectory # first_block = None - with util.anyopen(self.filename) as f: - for line in iter(f.readline,''): + with util.anyopen(self.filename) as f: + for line in iter(f.readline, ''): for blockname in self.SUPPORTED_BLOCKS: if (blockname in line) and (blockname != 'TITLE'): - #Save the name of the first non-Title block - #in the trajectory file + # Save the name of the first non-Title block + # in the trajectory file first_block = blockname - - if (first_block is not None): break #First block found - + + if (first_block is not None): + break # First block found + # # Calculate meta-data of the trajectory - # + # in_positionred_block = False lastline_was_timestep = False - + atom_counter = 0 n_atoms = 0 - frame_counter = 0 - + frame_counter = 0 + l_blockstart_offset = [] l_timestep_timevalues = [] - + with util.anyopen(self.filename) as f: - for line in iter(f.readline,''): + for line in iter(f.readline, ''): # # First block of frame # if (first_block in line): - l_blockstart_offset.append(f.tell()-len(line)) + l_blockstart_offset.append(f.tell()-len(line)) frame_counter += 1 - - # + + # # Timestep-Block - # + # if "TIMESTEP" in line: lastline_was_timestep = True - - elif (lastline_was_timestep == True): + + elif (lastline_was_timestep is True): l_timestep_timevalues.append(float(line.split()[1])) - lastline_was_timestep = False + lastline_was_timestep = False # # Coordinates-Block # if "POSITIONRED" in line: in_positionred_block = True - - if (in_positionred_block == True) and (n_atoms == 0): + + if (in_positionred_block is True) and (n_atoms == 0): if (len(line.split()) == 3): - atom_counter += 1 - - if ("END" in line) and (in_positionred_block == True): + atom_counter += 1 + + if ("END" in line) and (in_positionred_block is True): n_atoms = atom_counter in_positionred_block = False - traj_properties["n_atoms"] = n_atoms traj_properties["n_frames"] = frame_counter traj_properties["l_blockstart_offset"] = l_blockstart_offset - + if (len(l_timestep_timevalues) >= 2): - traj_properties["dt"] = (l_timestep_timevalues[1] + traj_properties["dt"] = (l_timestep_timevalues[1] - l_timestep_timevalues[0]) else: traj_properties["dt"] = 0 - warnings.warn("The trajectory does not contain TIMESTEP blocks!",\ - UserWarning) - + warnings.warn("The trajectory does not contain TIMESTEP blocks!", + UserWarning) + return traj_properties def _read_GROMOS11_trajectory(self): - + frameDat = {} frameDat["step"] = int(self._frame) - frameDat["time"] = float(0.0) + frameDat["time"] = float(0.0) frameDat["positions"] = None frameDat["dimensions"] = None self.periodic = False - + f = self.trcfile if (f.closed): raise Exception("The trajectory has been closed before reading.") - # Read trajectory - for line in iter(f.readline,''): + # Read trajectory + for line in iter(f.readline, ''): - if ("TIMESTEP" in line): + if ("TIMESTEP" in line): tmp_step, tmp_time = f.readline().split() frameDat["step"] = int(tmp_step) frameDat["time"] = float(tmp_time) - - elif ("POSITIONRED" in line): + + elif ("POSITIONRED" in line): tmp_buf = [] - while (True): + while (True): coords_str = f.readline() if '#' in coords_str: continue @@ -276,33 +277,33 @@ def _read_GROMOS11_trajectory(self): break else: tmp_buf.append(coords_str.split()) - + if (np.array(tmp_buf).shape[0] == self.n_atoms): - frameDat["positions"] = np.asarray(tmp_buf, + frameDat["positions"] = np.asarray(tmp_buf, dtype=np.float64) else: raise ValueError("The trajectory contains \ - the wrong number of atoms!") + the wrong number of atoms!") - elif ("GENBOX" in line): + elif ("GENBOX" in line): ntb_setting = int(f.readline()) if (ntb_setting == 0): frameDat["dimensions"] = None self.periodic = False - - elif (ntb_setting in [-1, 1]): + + elif (ntb_setting in [-1, 1]): tmp_a, tmp_b, tmp_c = f.readline().split() tmp_alpha, tmp_beta, tmp_gamma = f.readline().split() - frameDat["dimensions"] = [float(tmp_a), - float(tmp_b), - float(tmp_c), + frameDat["dimensions"] = [float(tmp_a), + float(tmp_b), + float(tmp_c), float(tmp_alpha), - float(tmp_beta), + float(tmp_beta), float(tmp_gamma)] self.periodic = True - + line3 = f.readline().split() - line4 = f.readline().split() + line4 = f.readline().split() for v in (line3 + line4): if (float(v) != 0.0): raise NotImplementedError("This reader \ @@ -312,24 +313,23 @@ def _read_GROMOS11_trajectory(self): rolled) boxes!") else: raise NotImplementedError("This reader does only support\ - vacuum and rectangular boxes!") + vacuum and rectangular boxes!") break - - elif any(non_supp_bn in line for non_supp_bn in self.NOT_SUPPORTED_BLOCKNAMES): + + elif any(non_supp_bn in line for + non_supp_bn in self.NOT_SUPPORTED_BLOCKNAMES): for non_supp_bn in self.NOT_SUPPORTED_BLOCKNAMES: if (non_supp_bn in line): - warnings.warn(non_supp_bn + " block is not supported!", UserWarning) - pass + warnings.warn(non_supp_bn + " block is not supported!", + UserWarning) - return frameDat - def _read_frame(self, i): """read frame i""" self._frame = i - 1 - # Move position in file just (-2 byte) before the start of the block + # Move position in file just (-2 byte) before the start of the block self.trcfile.seek(self.traj_properties["l_blockstart_offset"][i]-2, 0) return self._read_next_timestep() @@ -337,17 +337,17 @@ def _read_frame(self, i): def _read_next_timestep(self, ts=None): if ts is None: ts = self.ts - + self._frame += 1 if (self._frame >= self.n_frames): raise EOFError('Trying to go over trajectory limit') - raw_framedata = self._read_GROMOS11_trajectory() + raw_framedata = self._read_GROMOS11_trajectory() self._frame_to_ts(raw_framedata, ts) self.ts = ts - + return ts - + def _reopen(self): """Close and reopen the trajectory""" self.close() @@ -363,9 +363,9 @@ def open_trajectory(self): # Reset ts self.ts = self._Timestep(self.n_atoms, **self._ts_kwargs) - + # Set frame to -1, so next timestep is zero - self._frame = -1 + self._frame = -1 return self.trcfile @@ -375,4 +375,3 @@ def close(self): return self.trcfile.close() self.trcfile = None - diff --git a/package/MDAnalysis/coordinates/chain.py b/package/MDAnalysis/coordinates/chain.py index 3727437ac29..11a19e8d12d 100644 --- a/package/MDAnalysis/coordinates/chain.py +++ b/package/MDAnalysis/coordinates/chain.py @@ -299,7 +299,8 @@ def __init__(self, filenames, skip=1, dt=None, continuous=False, # calculate new start_frames to have a time continuous trajectory. if continuous: - check_allowed_filetypes(self.readers, ['XTC', 'TRR', "LAMMPSDUMP", "TRC"]) + check_allowed_filetypes(self.readers, ['XTC', 'TRR', "LAMMPSDUMP", + "TRC"]) if np.any(np.array(n_frames) == 1): raise RuntimeError("ChainReader: Need at least two frames in " "every trajectory with continuous=True") diff --git a/testsuite/MDAnalysisTests/coordinates/test_trc.py b/testsuite/MDAnalysisTests/coordinates/test_trc.py index dacd376d9ba..c853eff5ee5 100644 --- a/testsuite/MDAnalysisTests/coordinates/test_trc.py +++ b/testsuite/MDAnalysisTests/coordinates/test_trc.py @@ -36,24 +36,24 @@ class TestTRCReaderVacuumBox: @pytest.fixture(scope='class') def TRC_U(self): - return mda.Universe(TRC_PDB_VAC, [TRC_TRAJ1_VAC, TRC_TRAJ2_VAC], + return mda.Universe(TRC_PDB_VAC, [TRC_TRAJ1_VAC, TRC_TRAJ2_VAC], continuous=True) def test_initial_frame_is_0(self, TRC_U): assert_equal(TRC_U.trajectory.ts.frame, 0, "The initial frame is not 0 but {0}".format( TRC_U.trajectory.ts.frame)) - + def test_trc_positions(self, TRC_U): # first frame first particle TRC_U.trajectory[0] assert_allclose(TRC_U.atoms.positions[0], - [2.19782507, 24.65064345, 29.39783426]) + [2.19782507, 24.65064345, 29.39783426]) # fith frame first particle TRC_U.trajectory[4] assert_allclose(TRC_U.atoms.positions[0], - [0.37026654, 22.78805010, 3.69695262]) - + [0.37026654, 22.78805010, 3.69695262]) + def test_trc_dimensions(self, TRC_U): assert TRC_U.trajectory[0].dimensions is None @@ -75,14 +75,14 @@ def test_trc_time(self, TRC_U): def test_trc_dt(self, TRC_U): time_array = np.array([ts.time for ts in TRC_U.trajectory]) assert_equal(time_array, np.arange(6)*20) - + dt_array = np.diff(time_array) - assert_equal(dt_array, np.full(5,20)) - + assert_equal(dt_array, np.full(5, 20)) + def test_trc_data_step(self, TRC_U): assert TRC_U.trajectory[0].data['step'] == 0 assert TRC_U.trajectory[4].data['step'] == 10000 - + def test_periodic(self, TRC_U): assert_equal(TRC_U.trajectory.periodic, False) @@ -90,15 +90,15 @@ def test_rewind(self, TRC_U): TRC_U.trajectory[0] trc = TRC_U.trajectory trc.next() - trc.next() + trc.next() trc.next() trc.next() assert_equal(trc.ts.frame, 4, "trajectory.next() did not forward to frameindex 4") trc.rewind() - assert_equal(trc.ts.frame, 0, "trajectory.rewind() failed " \ + assert_equal(trc.ts.frame, 0, "trajectory.rewind() failed " "to rewind to first frame") - + assert np.any(TRC_U.atoms.positions != 0), "The atom positions " \ "are not populated" @@ -143,23 +143,24 @@ def test_trc_dimensions(self, TRC_U): def test_open_twice(self, TRC_U): TRC_U.trajectory._reopen() - with pytest.raises(IOError): + with pytest.raises(IOError): TRC_U.trajectory.open_trajectory() + class TestTRCReaderClusterTrajectory: @pytest.fixture(scope='class') def TRC_U(self): with pytest.warns(UserWarning) as record_of_warnings: TRC_U = mda.Universe(TRC_PDB_VAC, TRC_CLUSTER_VAC, format="TRC") - + warning_strins = ["The trajectory does not contain TIMESTEP blocks!", "POSITION block is not supported!"] - + warning_strins_found = 0 for w in record_of_warnings: if (str(w.message) in warning_strins): warning_strins_found += 1 - + assert (warning_strins_found) == 2 return TRC_U @@ -178,7 +179,8 @@ def test_trc_n_frames(self, TRC_U): assert (TRC_U.trajectory.n_frames) == 3 def test_trc_frame(self, TRC_U): - with pytest.warns(UserWarning): #Warning: "POSITION block is not supported!" + # Catch expected warnings: "POSITION block is not supported!" + with pytest.warns(UserWarning): assert TRC_U.trajectory[0].frame == 0 assert TRC_U.trajectory[2].frame == 2 @@ -186,4 +188,3 @@ def test_trc_time(self, TRC_U): with pytest.warns(UserWarning): assert TRC_U.trajectory[0].time == 0 assert TRC_U.trajectory[2].time == 0 - diff --git a/testsuite/MDAnalysisTests/datafiles.py b/testsuite/MDAnalysisTests/datafiles.py index 2ce4a3768a3..0c338358dae 100644 --- a/testsuite/MDAnalysisTests/datafiles.py +++ b/testsuite/MDAnalysisTests/datafiles.py @@ -212,7 +212,7 @@ "legacy_DCD_c36_coords", # frames 1 and 4 read in for tip125_tric_C36.dcd using legacy DCD reader "GSD", "GSD_bonds", "GSD_long", "TRC_PDB_VAC", "TRC_TRAJ1_VAC", "TRC_TRAJ2_VAC", # 2x 3 frames of vacuum trajectory from GROMOS11 tutorial - "TRC_CLUSTER_VAC", #three frames without TIMESTEP and GENBOX block but with unsupported POSITION block + "TRC_CLUSTER_VAC", # three frames without TIMESTEP and GENBOX block but with unsupported POSITION block "TRC_PDB_SOLV", "TRC_TRAJ_SOLV", # 2 frames of solvated trajectory from GROMOS11 tutorial "GRO_MEMPROT", "XTC_MEMPROT", # YiiP transporter in POPE:POPG lipids with Na+, Cl-, Zn2+ dummy model without water "DihedralArray", "DihedralsArray", # time series of single dihedral From c2197b1520e364d809e4f1b1f9d13f8d8d2eec08 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Tue, 14 Nov 2023 16:49:04 +0100 Subject: [PATCH 23/47] Updated documentation und non-supported block types --- package/MDAnalysis/coordinates/TRC.py | 41 ++++++++++++++++++++------- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 7abe5358206..662db594cd8 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -36,20 +36,25 @@ .. Note:: The GROMOS trajectory format organizes its data in blocks. A block starts - with a blockname in capital letters and ends with a line containing only - ''END''. Only the TITLE-block at the beginning of each file is mandatory, - others blocks can be chosen depending on the task. + with a blockname in capital letters (example: POSITIONRED) and ends with + a line containing only ''END''. Only the TITLE-block at the beginning of + each file is mandatory, others blocks can be chosen depending on the task. - This reader is designed to read the blocks "TIMESTEP", "POSITIONRED" and - "GENBOX" from the trajectory which covers most standard trajectories. + The trajectory format as well as all permitted blocks and their data are + documented in the GROMOS Manual Vol. 4, chapter 2 and 4. + The manual can be downloaded here: + https://gromos.net/gromos11_pdf_manuals/vol4.pdf +This reader is designed to read the blocks "TIMESTEP", "POSITIONRED" and +"GENBOX" from the trajectory which covers the standard trajectories of most +simulations . If a trajectory includes other blocks, a warning is served +and the blocks are ignored. + +.. Note:: MDAnalysis requires the blocks to be in the same order for each frame and ignores non-supported blocks. -The trajectory format is documented in the GROMOS Manual Vol. 4, chapter 2 and 4. -The manual can be downloaded here: -https://gromos.net/gromos11_pdf_manuals/vol4.pdf -The code has been tested with GROMOS11 version 1.6 (Dec. 2023) + Classes ------- @@ -92,7 +97,23 @@ def __init__(self, filename, **kwargs): self.NOT_SUPPORTED_BLOCKNAMES = ['POSITION', 'REFPOSITION', 'VELOCITY', 'VELOCITYRED', 'FREEFORCE', 'FREEFORCERED', - 'CONSFORCE', 'CONSFORCERED'] + 'CONSFORCE', 'CONSFORCERED', + 'SHAKEFAILPOSITION', + 'SHAKEFAILPREVPOSITION', + 'LATTICESHIFTS', + 'COSDISPLACEMENTS', + 'STOCHINT', 'NHCVARIABLES', + 'ROTTRANSREFPOS', 'PERTDATA', + 'DISRESEXPAVE', + 'JVALUERESEXPAVE', + 'JVALUERESEPS', + 'JVALUEPERSCALE', + 'ORDERPARAMRESEXPAVE', + 'XRAYRESEXPAVE', 'LEUSBIAS', + 'LEUSBIASBAS', 'ENERGY03', + 'VOLUMEPRESSURE03', + 'FREEENERGYDERIVS03', + 'BFACTOR', 'AEDSS'] # GROMOS11 trajectories can be either *.trc or *.trc.gz. root, ext = os.path.splitext(self.filename) From 680ae2f6298d01a09f41353c85fe2553b961a1b8 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Thu, 16 Nov 2023 10:03:30 +0100 Subject: [PATCH 24/47] Make sure that only blocknames without any additional text get identified as blocknames --- package/MDAnalysis/coordinates/TRC.py | 18 +++++++++--------- .../data/gromos11/gromos11_cluster_vac.trj.gz | Bin 6163 -> 6192 bytes 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 662db594cd8..5dbec337371 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -198,7 +198,7 @@ def _read_traj_properties(self): with util.anyopen(self.filename) as f: for line in iter(f.readline, ''): for blockname in self.SUPPORTED_BLOCKS: - if (blockname in line) and (blockname != 'TITLE'): + if (blockname == line.strip()) and (blockname != 'TITLE'): # Save the name of the first non-Title block # in the trajectory file first_block = blockname @@ -225,14 +225,14 @@ def _read_traj_properties(self): # # First block of frame # - if (first_block in line): + if (first_block == line.strip()): l_blockstart_offset.append(f.tell()-len(line)) frame_counter += 1 # # Timestep-Block # - if "TIMESTEP" in line: + if ("TIMESTEP" == line.strip()): lastline_was_timestep = True elif (lastline_was_timestep is True): @@ -242,14 +242,14 @@ def _read_traj_properties(self): # # Coordinates-Block # - if "POSITIONRED" in line: + if ("POSITIONRED" == line.strip()): in_positionred_block = True if (in_positionred_block is True) and (n_atoms == 0): if (len(line.split()) == 3): atom_counter += 1 - if ("END" in line) and (in_positionred_block is True): + if ("END" == line.strip()) and (in_positionred_block is True): n_atoms = atom_counter in_positionred_block = False @@ -283,12 +283,12 @@ def _read_GROMOS11_trajectory(self): # Read trajectory for line in iter(f.readline, ''): - if ("TIMESTEP" in line): + if ("TIMESTEP" == line.strip()): tmp_step, tmp_time = f.readline().split() frameDat["step"] = int(tmp_step) frameDat["time"] = float(tmp_time) - elif ("POSITIONRED" in line): + elif ("POSITIONRED" == line.strip()): tmp_buf = [] while (True): coords_str = f.readline() @@ -306,7 +306,7 @@ def _read_GROMOS11_trajectory(self): raise ValueError("The trajectory contains \ the wrong number of atoms!") - elif ("GENBOX" in line): + elif ("GENBOX" == line.strip()): ntb_setting = int(f.readline()) if (ntb_setting == 0): frameDat["dimensions"] = None @@ -340,7 +340,7 @@ def _read_GROMOS11_trajectory(self): elif any(non_supp_bn in line for non_supp_bn in self.NOT_SUPPORTED_BLOCKNAMES): for non_supp_bn in self.NOT_SUPPORTED_BLOCKNAMES: - if (non_supp_bn in line): + if (non_supp_bn == line.strip()): warnings.warn(non_supp_bn + " block is not supported!", UserWarning) diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_cluster_vac.trj.gz b/testsuite/MDAnalysisTests/data/gromos11/gromos11_cluster_vac.trj.gz index eadc1ea1b557082abe08b71e04fc1909dd159de2..46312316a498fa9736a9b42247cb92c1693bcf0c 100644 GIT binary patch literal 6192 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 Oz4?E&!TR*dJOBWEY%BEu literal 6163 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%0AlnS=WAlRREKgBD%rgwbnBtuNy}0g)FsKw9-+W zj7Arc8eaCo!yyne*9M5DrhT_!{Rj%StDd#gKdZ}w?yAMFu}#tluyep+vv}=SF&8DnG+pg#m#Fpe{w4(mEOXBsk;8ydms{mcOJeX5R~(uqtWzJ^TE6Moh8|nl z+!=E#*fpz8gnBJlx|zS!tavI;P6@KiTx?S9*tGx>Pd7E+nztCYB!RP!_ZD?69aEI! zIN&TTQX+8?jsL34pPC3Zs({XwgrOPmIDT6DR_f%0U5B=QW}*_Zx!6n%YX0fO|MJJNR=t)zI|Y8- zZtrWzv*)u8qUml{cG2}gbJ_o?C= zT2LSie21;Ai{?_~XiaS0tfmMtbpI@vUhs&tX%@P)1yH;wAq*xgTFNH#cJ;L*43=_n ztVi?o)QZ{2i01wU{#G@d9p75Q zfP&#`*_a19i@14MO3S#I@_j1B7yty>G4F=_E@gm-lJ%Og)fP`5Eg^zR-fEm6>x=~t zEeL6Mx`I&uO9l3FqLERfL0{=!1Ou=rN^f#BZ3JlrBYX(K;x1kXR28ZXBimWaA*xS2 zffE%!-5v6-c`i`ZT*;hEPCFh*zShIZ$VNj&7?73~*wjwc_55kI{_2yM!)k*HpvekM zYwOTK`zQGpY)+JFVhuA_?3K5GPv>$VeF{jt4&1dPx&x&+H^u`&o!O=eDr$JQ8`Qxd z+gT^|yar{iUI3cO(Tr(bmE!HGZ>1)PdXDbO)>4)$UM*pbrd6?TRbbkn$hoCv|Lydr z0>g1h*jX!I?M>~hsqp-TG5j7a$*O1KQ=y!z^@1meP@i+6D$XsY^v&qh4w*`nqNZ08ajWyl2Ts-uO)1(tF~T%7+^aX> z?p3nM8A%f{6@&R!1qS5;;NI$^HsKYV(`(sqBvdzZc~EYyGI3g)q}!2=Y5qGg(NaHJ z-+C1@@igQ{b2`heFSpOtR}Iu55~)osT(<2jhipW*nk)9iBl+em-?*yud1Px(>}I^~ zS1%^o7^*XYhVlHg1U9HHdj8yon9{PaNA}|?%`Kx6_1nyCFV$T=x_)AqbGMk~3>XBnKs&14qf_bFClU zqk0RSEX%zF1tODh;7Iod?`%FdYswa$?H&}dnEmglKt-hkyCsGsei z5Lb5^L7v=`B8_!zuVw|NZVk1M*|Z!=3r5e=Xm8oqseA>do`iy<(DbqrEA^8q;wn%H zRK3~*&#~C;+GxpD?5V|+Slm{J9k}b+U(sLi=JQ|})dec@_8^g?@t^CcJ4HM8w<<8) znDjD+Ym=tm{p8PM+AAuap9$R8nnWo%%?6aQhO?R`-Sz3a-mYH*-dpT^mBOdy_6O8k z`-v%gyoQ_2L;U+H5zJw$h8uz`W5GHvOIfzo&FiyWNGgRGHLvd%bpXa4H=kb6c=tf` zL!BZjpExYye$5WG1~)bG4oe-8+%>b0tB#1sk?jgSBq?Uqe%02^pYn+D>sM%L*P@Aw zZ@FI})6P@tOr6?GaQdOdYnBvG!{Er2vwfoi(|WvSDgNeCKsH-SCAo&)4?n{gT5XIw zY&8~|>wPpyYM7Z{shbI~?j=H!yt0LdWSZLxVzL5*iMR4zCzr#WDSEP_rYd@^iXZET zSjPw4)0NfG{|K6Z1Bskxb*CS^a5fK=j()(=gW*>Fuu~oS2RR@HLzB#Oef`w1L~_QL zU%yVOi5!|BZujK0?Yz%&%a~mI+Sbp7{0^xa(~B%HesRUb$6m;R=eZ>g+Vr!n_tOeG zDsi*gqmIbb4`}|r0wZB+dwRxJ3OK9%W9KP~SvV?T5H;0nmta2qP}RCO_5iegAuY5#007H#M@Rqw From abed22763602e77f270041675861a2ab957b792c Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Thu, 16 Nov 2023 10:14:51 +0100 Subject: [PATCH 25/47] Complies with #4334 and removes ts arg from _read_next_timestep --- package/MDAnalysis/coordinates/TRC.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 5dbec337371..1ab16257106 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -355,19 +355,16 @@ def _read_frame(self, i): return self._read_next_timestep() - def _read_next_timestep(self, ts=None): - if ts is None: - ts = self.ts + def _read_next_timestep(self): self._frame += 1 if (self._frame >= self.n_frames): raise EOFError('Trying to go over trajectory limit') raw_framedata = self._read_GROMOS11_trajectory() - self._frame_to_ts(raw_framedata, ts) - self.ts = ts + self._frame_to_ts(raw_framedata, self.ts) - return ts + return self.ts def _reopen(self): """Close and reopen the trajectory""" From ef7238b009fedbcdbcadc17871ba1ee69697cb7f Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Thu, 16 Nov 2023 10:15:56 +0100 Subject: [PATCH 26/47] Removes unused import of warnings --- testsuite/MDAnalysisTests/coordinates/test_trc.py | 1 - 1 file changed, 1 deletion(-) diff --git a/testsuite/MDAnalysisTests/coordinates/test_trc.py b/testsuite/MDAnalysisTests/coordinates/test_trc.py index c853eff5ee5..33e24609a28 100644 --- a/testsuite/MDAnalysisTests/coordinates/test_trc.py +++ b/testsuite/MDAnalysisTests/coordinates/test_trc.py @@ -22,7 +22,6 @@ # import pytest import numpy as np -import warnings from numpy.testing import assert_allclose from numpy.testing import assert_equal From bc690321f4be84e0c4bfda46f5dfaf5b3213397e Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Thu, 16 Nov 2023 12:02:17 +0100 Subject: [PATCH 27/47] Fixes compression detection when trj suffix is used. --- package/MDAnalysis/coordinates/TRC.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 1ab16257106..ce9956be1a7 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -115,10 +115,14 @@ def __init__(self, filename, **kwargs): 'FREEENERGYDERIVS03', 'BFACTOR', 'AEDSS'] - # GROMOS11 trajectories can be either *.trc or *.trc.gz. + # GROMOS11 trajectories are usually either *.trc or *.trc.gz. + # (trj suffix can come up when trajectory obtained from clustering) root, ext = os.path.splitext(self.filename) self.trcfile = util.anyopen(self.filename) - self.compression = ext[1:] if ext[1:] != "trc" else None + if (ext[1:] == "trc") or (ext[1:] == "trj"): + self.compression = None + else: + self.compression = ext[1:] # Read and calculate some information about the trajectory self.traj_properties = self._read_traj_properties() @@ -349,6 +353,7 @@ def _read_GROMOS11_trajectory(self): def _read_frame(self, i): """read frame i""" self._frame = i - 1 + print("_read_frame(i)") # Move position in file just (-2 byte) before the start of the block self.trcfile.seek(self.traj_properties["l_blockstart_offset"][i]-2, 0) From 6eaaeac94f0d1320807449dc91b2f024130a6c27 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Thu, 16 Nov 2023 12:03:35 +0100 Subject: [PATCH 28/47] Removes unwanted print() from code --- package/MDAnalysis/coordinates/TRC.py | 1 - 1 file changed, 1 deletion(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index ce9956be1a7..e3b6c4b3198 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -353,7 +353,6 @@ def _read_GROMOS11_trajectory(self): def _read_frame(self, i): """read frame i""" self._frame = i - 1 - print("_read_frame(i)") # Move position in file just (-2 byte) before the start of the block self.trcfile.seek(self.traj_properties["l_blockstart_offset"][i]-2, 0) From 604bd53519ecf91f93095b7296ad054f8a1fe5a0 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Thu, 16 Nov 2023 12:08:03 +0100 Subject: [PATCH 29/47] fix reST --- package/MDAnalysis/coordinates/TRC.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index e3b6c4b3198..f266c40336e 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -162,7 +162,7 @@ def _read_frame_count(self): return n_frames def _frame_to_ts(self, frameDat, ts): - """Convert a frame to a :class: TimeStep""" + """Convert a frame to a :class:`TimeStep`""" ts.frame = self._frame ts.time = frameDat["time"] From 780a46a948f2dd1e8ae6e9655b6e6d582d1bbdda Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Fri, 1 Dec 2023 14:25:26 +0100 Subject: [PATCH 30/47] TRC: Documentation and straight forward change requests from review --- package/MDAnalysis/coordinates/TRC.py | 38 +++++++++++-------------- package/MDAnalysis/coordinates/chain.py | 4 +-- 2 files changed, 18 insertions(+), 24 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index f266c40336e..da3a8259e25 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -28,7 +28,8 @@ Reads coordinates, timesteps and box-sizes from GROMOS11 TRC trajectories. To load the trajectory into :class:`~MDAnalysis.core.universe.Universe`, -you need to provide topology information using a pdb:: +you need to provide topology information using a topology file such as +a PDB:: import MDAnalysis as mda u = mda.Universe("topology.pdb", ["md_1.trc.gz","md_2.trc.gz"], @@ -118,12 +119,13 @@ def __init__(self, filename, **kwargs): # GROMOS11 trajectories are usually either *.trc or *.trc.gz. # (trj suffix can come up when trajectory obtained from clustering) root, ext = os.path.splitext(self.filename) - self.trcfile = util.anyopen(self.filename) if (ext[1:] == "trc") or (ext[1:] == "trj"): self.compression = None else: self.compression = ext[1:] + self.trcfile = util.anyopen(self.filename) + # Read and calculate some information about the trajectory self.traj_properties = self._read_traj_properties() @@ -139,10 +141,7 @@ def __init__(self, filename, **kwargs): @cached('n_atoms') def n_atoms(self): """The number of atoms in one frame.""" - try: - return self._read_atom_count() - except IOError: - return 0 + return self._read_atom_count() def _read_atom_count(self): n_atoms = self.traj_properties["n_atoms"] @@ -152,10 +151,8 @@ def _read_atom_count(self): @cached('n_frames') def n_frames(self): """The number of frames in the trajectory.""" - try: - return self._read_frame_count() - except IOError: - return 0 + return self._read_frame_count() + def _read_frame_count(self): n_frames = self.traj_properties["n_frames"] @@ -180,8 +177,6 @@ def _frame_to_ts(self, frameDat, ts): self.convert_pos_from_native(ts.positions) if ts.dimensions is not None: self.convert_pos_from_native(ts.dimensions[:3]) - if ts.has_velocities: - self.convert_velocities_from_native(ts.velocities) return ts @@ -196,7 +191,7 @@ def _read_traj_properties(self): traj_properties = {} # - # Check which of the supported blocks comes first win the trajectory + # Check which of the supported blocks comes first in the trajectory # first_block = None with util.anyopen(self.filename) as f: @@ -257,6 +252,9 @@ def _read_traj_properties(self): n_atoms = atom_counter in_positionred_block = False + if (frame_counter == 0): + raise ValueError('No supported blocks were found within the GROMOS trajectory!') + traj_properties["n_atoms"] = n_atoms traj_properties["n_frames"] = frame_counter traj_properties["l_blockstart_offset"] = l_blockstart_offset @@ -280,11 +278,8 @@ def _read_GROMOS11_trajectory(self): frameDat["dimensions"] = None self.periodic = False + # Read the trajectory f = self.trcfile - if (f.closed): - raise Exception("The trajectory has been closed before reading.") - - # Read trajectory for line in iter(f.readline, ''): if ("TIMESTEP" == line.strip()): @@ -363,7 +358,7 @@ def _read_next_timestep(self): self._frame += 1 if (self._frame >= self.n_frames): - raise EOFError('Trying to go over trajectory limit') + raise IOError('Trying to go over trajectory limit') raw_framedata = self._read_GROMOS11_trajectory() self._frame_to_ts(raw_framedata, self.ts) @@ -393,7 +388,6 @@ def open_trajectory(self): def close(self): """Close the trc trajectory file if it was open.""" - if self.trcfile is None: - return - self.trcfile.close() - self.trcfile = None + if self.trcfile is not None: + self.trcfile.close() + self.trcfile = None diff --git a/package/MDAnalysis/coordinates/chain.py b/package/MDAnalysis/coordinates/chain.py index 11a19e8d12d..bdfdeff3523 100644 --- a/package/MDAnalysis/coordinates/chain.py +++ b/package/MDAnalysis/coordinates/chain.py @@ -299,8 +299,8 @@ def __init__(self, filenames, skip=1, dt=None, continuous=False, # calculate new start_frames to have a time continuous trajectory. if continuous: - check_allowed_filetypes(self.readers, ['XTC', 'TRR', "LAMMPSDUMP", - "TRC"]) + check_allowed_filetypes(self.readers, ['XTC', 'TRR', 'LAMMPSDUMP', + 'TRC']) if np.any(np.array(n_frames) == 1): raise RuntimeError("ChainReader: Need at least two frames in " "every trajectory with continuous=True") From fddb54b12528cfc895f0aa5f226414639cb8d6e0 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Fri, 1 Dec 2023 15:57:10 +0100 Subject: [PATCH 31/47] GROMOS11: Update testsuite as requestet by review --- .../MDAnalysisTests/coordinates/test_trc.py | 56 ++++++++----------- testsuite/setup.py | 1 + 2 files changed, 25 insertions(+), 32 deletions(-) diff --git a/testsuite/MDAnalysisTests/coordinates/test_trc.py b/testsuite/MDAnalysisTests/coordinates/test_trc.py index 33e24609a28..518dbd0bc67 100644 --- a/testsuite/MDAnalysisTests/coordinates/test_trc.py +++ b/testsuite/MDAnalysisTests/coordinates/test_trc.py @@ -23,7 +23,6 @@ import pytest import numpy as np from numpy.testing import assert_allclose -from numpy.testing import assert_equal import MDAnalysis as mda from MDAnalysis.coordinates.TRC import TRCReader @@ -39,9 +38,7 @@ def TRC_U(self): continuous=True) def test_initial_frame_is_0(self, TRC_U): - assert_equal(TRC_U.trajectory.ts.frame, 0, - "The initial frame is not 0 but {0}".format( - TRC_U.trajectory.ts.frame)) + assert TRC_U.trajectory.ts.frame == 0 def test_trc_positions(self, TRC_U): # first frame first particle @@ -73,17 +70,17 @@ def test_trc_time(self, TRC_U): def test_trc_dt(self, TRC_U): time_array = np.array([ts.time for ts in TRC_U.trajectory]) - assert_equal(time_array, np.arange(6)*20) + assert_allclose(time_array, np.arange(6)*20.0) dt_array = np.diff(time_array) - assert_equal(dt_array, np.full(5, 20)) + assert_allclose(dt_array, np.full(5, 20.0)) def test_trc_data_step(self, TRC_U): assert TRC_U.trajectory[0].data['step'] == 0 assert TRC_U.trajectory[4].data['step'] == 10000 def test_periodic(self, TRC_U): - assert_equal(TRC_U.trajectory.periodic, False) + assert TRC_U.trajectory.periodic is False def test_rewind(self, TRC_U): TRC_U.trajectory[0] @@ -92,29 +89,25 @@ def test_rewind(self, TRC_U): trc.next() trc.next() trc.next() - assert_equal(trc.ts.frame, 4, - "trajectory.next() did not forward to frameindex 4") + assert trc.ts.frame == 4, "trajectory.next() did not forward to frameindex 4" trc.rewind() - assert_equal(trc.ts.frame, 0, "trajectory.rewind() failed " - "to rewind to first frame") + assert trc.ts.frame == 0, "trajectory.rewind() failed to rewind to first frame" assert np.any(TRC_U.atoms.positions != 0), "The atom positions " \ "are not populated" def test_random_access(self, TRC_U): TRC_U.trajectory[0] - pos0 = TRC_U.atoms[0].position + pos0 = TRC_U.atoms.positions TRC_U.trajectory.next() TRC_U.trajectory.next() - pos2 = TRC_U.atoms[0].position + pos2 = TRC_U.atoms.positions TRC_U.trajectory[0] - - assert_equal(TRC_U.atoms[0].position, pos0) + assert_allclose(TRC_U.atoms.positions, pos0) TRC_U.trajectory[2] - - assert_equal(TRC_U.atoms[0].position, pos2) + assert_allclose(TRC_U.atoms.positions, pos2) def test_read_frame_reopens(self, TRC_U): TRC_U.trajectory._reopen() @@ -128,10 +121,10 @@ def TRC_U(self): return mda.Universe(TRC_PDB_SOLV, TRC_TRAJ_SOLV) def test_trc_n_atoms(self, TRC_U): - assert (TRC_U.trajectory.n_atoms) == 2797 + assert TRC_U.trajectory.n_atoms == 2797 def test_periodic(self, TRC_U): - assert_equal(TRC_U.trajectory.periodic, True) + assert TRC_U.trajectory.periodic is True def test_trc_dimensions(self, TRC_U): ts = TRC_U.trajectory[1] @@ -152,38 +145,37 @@ def TRC_U(self): with pytest.warns(UserWarning) as record_of_warnings: TRC_U = mda.Universe(TRC_PDB_VAC, TRC_CLUSTER_VAC, format="TRC") - warning_strins = ["The trajectory does not contain TIMESTEP blocks!", - "POSITION block is not supported!"] + warning_strings = ["The trajectory does not contain TIMESTEP blocks!", + "POSITION block is not supported!"] - warning_strins_found = 0 + warning_strings_found = 0 for w in record_of_warnings: - if (str(w.message) in warning_strins): - warning_strins_found += 1 + if (str(w.message) in warning_strings): + warning_strings_found += 1 - assert (warning_strins_found) == 2 + assert warning_strings_found == 2 return TRC_U def test_trc_n_atoms(self, TRC_U): - assert (TRC_U.trajectory.n_atoms) == 73 + assert TRC_U.trajectory.n_atoms == 73 def test_periodic(self, TRC_U): - assert_equal(TRC_U.trajectory.periodic, False) + assert TRC_U.trajectory.periodic is False def test_trc_dimensions(self, TRC_U): ts = TRC_U.trajectory[1] - assert_equal(ts.dimensions, None) + assert ts.dimensions is None def test_trc_n_frames(self, TRC_U): assert len(TRC_U.trajectory) == 3 - assert (TRC_U.trajectory.n_frames) == 3 + assert TRC_U.trajectory.n_frames == 3 def test_trc_frame(self, TRC_U): - # Catch expected warnings: "POSITION block is not supported!" - with pytest.warns(UserWarning): + with pytest.warns(UserWarning, match="POSITION block is not supported!"): assert TRC_U.trajectory[0].frame == 0 assert TRC_U.trajectory[2].frame == 2 def test_trc_time(self, TRC_U): - with pytest.warns(UserWarning): + with pytest.warns(UserWarning, match="POSITION block is not supported!"): assert TRC_U.trajectory[0].time == 0 assert TRC_U.trajectory[2].time == 0 diff --git a/testsuite/setup.py b/testsuite/setup.py index 2e026ed5b9b..2df7cddc653 100755 --- a/testsuite/setup.py +++ b/testsuite/setup.py @@ -149,6 +149,7 @@ def run(self): 'data/Amber/*.trj', 'data/Amber/*.mdcrd', 'data/Amber/*.ncdf', 'data/Amber/*.nc', 'data/Amber/*.inpcrd', + 'data/gromos11/*.gz', 'data/*.pqr', 'data/*.pdbqt', 'data/*.bz2', 'data/*.gz', 'data/*.ent', 'data/*.fasta', From 827eecbd99a09b5da0b0d6cc8cae9165549a3870 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Fri, 1 Dec 2023 16:39:23 +0100 Subject: [PATCH 32/47] GROMOS11: Changes requested by reviewers, pathlib instead of os --- package/MDAnalysis/coordinates/TRC.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index da3a8259e25..278fbb8c302 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -65,7 +65,7 @@ """ -import os +import pathlib import errno import warnings import numpy as np @@ -118,12 +118,12 @@ def __init__(self, filename, **kwargs): # GROMOS11 trajectories are usually either *.trc or *.trc.gz. # (trj suffix can come up when trajectory obtained from clustering) - root, ext = os.path.splitext(self.filename) + ext = pathlib.Path(self.filename).suffix if (ext[1:] == "trc") or (ext[1:] == "trj"): self.compression = None else: self.compression = ext[1:] - + print(self.compression) self.trcfile = util.anyopen(self.filename) # Read and calculate some information about the trajectory @@ -153,7 +153,6 @@ def n_frames(self): """The number of frames in the trajectory.""" return self._read_frame_count() - def _read_frame_count(self): n_frames = self.traj_properties["n_frames"] return n_frames @@ -169,9 +168,7 @@ def _frame_to_ts(self, frameDat, ts): ts.dimensions = frameDat["dimensions"] ts.positions = frameDat["positions"] - # # Convert the units - # if self.convert_units: if ts.has_positions: self.convert_pos_from_native(ts.positions) @@ -381,7 +378,7 @@ def open_trajectory(self): # Reset ts self.ts = self._Timestep(self.n_atoms, **self._ts_kwargs) - # Set frame to -1, so next timestep is zero + # Set _frame to -1, so next timestep is zero self._frame = -1 return self.trcfile From 9fca76accdfd32a8b7fb15c9512fda9a6cd4335d Mon Sep 17 00:00:00 2001 From: JoStoe Date: Sat, 9 Dec 2023 20:46:56 +0100 Subject: [PATCH 33/47] gromos11 reader: Adds support for triclinic boxes --- package/MDAnalysis/coordinates/TRC.py | 35 ++++---- .../MDAnalysisTests/coordinates/test_trc.py | 83 ++++++++++++++++++ .../gromos11/gromos11_genbox_euler.trc.gz | Bin 0 -> 1556 bytes .../gromos11/gromos11_genbox_origin.trc.gz | Bin 0 -> 1559 bytes .../gromos11/gromos11_triclinic_solv.trc.gz | Bin 0 -> 51980 bytes .../gromos11/gromos11_truncOcta_vac.trc.gz | Bin 0 -> 1516 bytes testsuite/MDAnalysisTests/datafiles.py | 6 ++ 7 files changed, 109 insertions(+), 15 deletions(-) create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_genbox_euler.trc.gz create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_genbox_origin.trc.gz create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_triclinic_solv.trc.gz create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_truncOcta_vac.trc.gz diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 278fbb8c302..c04b323d984 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -74,7 +74,6 @@ from .timestep import Timestep from ..lib import util from ..lib.util import cached, store_init_arguments -from ..exceptions import NoDataError from ..version import __version__ import logging @@ -123,7 +122,7 @@ def __init__(self, filename, **kwargs): self.compression = None else: self.compression = ext[1:] - print(self.compression) + self.trcfile = util.anyopen(self.filename) # Read and calculate some information about the trajectory @@ -250,7 +249,8 @@ def _read_traj_properties(self): in_positionred_block = False if (frame_counter == 0): - raise ValueError('No supported blocks were found within the GROMOS trajectory!') + raise ValueError('No supported blocks were found within \ + the GROMOS trajectory!') traj_properties["n_atoms"] = n_atoms traj_properties["n_frames"] = frame_counter @@ -308,7 +308,7 @@ def _read_GROMOS11_trajectory(self): frameDat["dimensions"] = None self.periodic = False - elif (ntb_setting in [-1, 1]): + elif (ntb_setting in [1, 2]): tmp_a, tmp_b, tmp_c = f.readline().split() tmp_alpha, tmp_beta, tmp_gamma = f.readline().split() frameDat["dimensions"] = [float(tmp_a), @@ -319,18 +319,23 @@ def _read_GROMOS11_trajectory(self): float(tmp_gamma)] self.periodic = True - line3 = f.readline().split() - line4 = f.readline().split() - for v in (line3 + line4): - if (float(v) != 0.0): - raise NotImplementedError("This reader \ - supports neither \ - triclinic and/or \ - (yawed,pitched, \ - rolled) boxes!") + genbox_line3 = f.readline().split() + if np.count_nonzero(np.array(genbox_line3).astype('float')) != 0: + raise NotImplementedError("This reader " + "doesnt't support " + "a shifted origin!") + + genbox_line4 = f.readline().split() + if np.count_nonzero(np.array(genbox_line4).astype('float')) != 0: + raise NotImplementedError("This reader " + "doesnt't support " + "yawed, pitched or " + "rolled boxes!") + else: - raise NotImplementedError("This reader does only support\ - vacuum and rectangular boxes!") + raise NotImplementedError("This reader doesn't support " + "truncated-octahedral " + "periodic boundary conditions") break elif any(non_supp_bn in line for diff --git a/testsuite/MDAnalysisTests/coordinates/test_trc.py b/testsuite/MDAnalysisTests/coordinates/test_trc.py index 518dbd0bc67..1a2231d142f 100644 --- a/testsuite/MDAnalysisTests/coordinates/test_trc.py +++ b/testsuite/MDAnalysisTests/coordinates/test_trc.py @@ -28,7 +28,9 @@ from MDAnalysis.coordinates.TRC import TRCReader from MDAnalysisTests.datafiles import TRC_PDB_VAC, TRC_TRAJ1_VAC, TRC_TRAJ2_VAC from MDAnalysisTests.datafiles import TRC_CLUSTER_VAC +from MDAnalysisTests.datafiles import TRC_GENBOX_ORIGIN, TRC_GENBOX_EULER from MDAnalysisTests.datafiles import TRC_PDB_SOLV, TRC_TRAJ_SOLV +from MDAnalysisTests.datafiles import TRC_TRICLINIC_SOLV, TRC_TRUNCOCT_VAC class TestTRCReaderVacuumBox: @@ -139,6 +141,87 @@ def test_open_twice(self, TRC_U): TRC_U.trajectory.open_trajectory() +class TestTRCReaderTriclinicBox: + @pytest.fixture(scope='class') + def TRC_U(self): + return mda.Universe(TRC_PDB_SOLV, TRC_TRICLINIC_SOLV) + + def test_trc_n_atoms(self, TRC_U): + assert TRC_U.trajectory.n_atoms == 2797 + + def test_periodic(self, TRC_U): + assert TRC_U.trajectory.periodic is True + + def test_trc_dimensions(self, TRC_U): + ts = TRC_U.trajectory[0] + assert_allclose( + ts.dimensions, + [33.72394463, 38.87568624, 26.74177871, 91.316862341, 93.911031544, 54.514000084] + ) + + def test_trc_distances(self, TRC_U): + import MDAnalysis.analysis.distances as distances + import MDAnalysis.analysis.atomicdistances as atomicdistances + + ts = TRC_U.trajectory[0] + + atom_1a = TRC_U.select_atoms('resname LYSH and name O and resid 4') + atom_1b = TRC_U.select_atoms('resname ARG and name H and resid 3') + atom_1c = TRC_U.select_atoms('resname SOLV and name OW and resid 718') + atom_1d = TRC_U.select_atoms('resname SOLV and name OW and resid 305') + + atom_2a = TRC_U.select_atoms('resname VAL and name CG1 and resid 1') + atom_2b = TRC_U.select_atoms('resname SOLV and name OW and resid 497') + atom_2c = TRC_U.select_atoms('resname SOLV and name OW and resid 593') + atom_2d = TRC_U.select_atoms('resname SOLV and name OW and resid 497') + + ag1 = atom_1a + atom_1b + atom_1c + atom_1d + ag2 = atom_2a + atom_2b + atom_2c + atom_2d + + dist_A = distances.dist(ag1, ag2, box=ts.dimensions)[2] # return distance + dist_B = atomicdistances.AtomicDistances(ag1, ag2, pbc=True).run().results[0] + + assert_allclose( + dist_A, [5.9488481, 4.4777278, 20.8165518, 7.5727112], rtol=1e-06 + ) # Reference values calculated with gromos++ tser + assert_allclose( + dist_B, [5.9488481, 4.4777278, 20.8165518, 7.5727112], rtol=1e-06 + ) # Reference values calculated with gromos++ tser + + +class TestTRCReaderTruncOctBox: + @pytest.fixture(scope='class') + def TRC_U(self): + with pytest.raises(NotImplementedError, match="truncated-octahedral"): + return mda.Universe(TRC_PDB_VAC, TRC_TRUNCOCT_VAC) + + def test_load_trajectory(self, TRC_U): + temp_universe = TRC_U + del temp_universe + + +class TestTRCGenboxOrigin: + @pytest.fixture(scope='class') + def TRC_U(self): + with pytest.raises(NotImplementedError, match="doesnt't support a shifted origin!"): + return mda.Universe(TRC_PDB_VAC, TRC_GENBOX_ORIGIN) + + def test_load_trajectory(self, TRC_U): + temp_universe = TRC_U + del temp_universe + + +class TestTRCGenboxEuler: + @pytest.fixture(scope='class') + def TRC_U(self): + with pytest.raises(NotImplementedError, match=("doesnt't support yawed, " + "pitched or rolled boxes!")): + return mda.Universe(TRC_PDB_VAC, TRC_GENBOX_EULER) + + def test_load_trajectory(self, TRC_U): + temp_universe = TRC_U + del temp_universe + class TestTRCReaderClusterTrajectory: @pytest.fixture(scope='class') def TRC_U(self): diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_genbox_euler.trc.gz b/testsuite/MDAnalysisTests/data/gromos11/gromos11_genbox_euler.trc.gz new file mode 100644 index 0000000000000000000000000000000000000000..1cf1950f08c73a0caa4107b7eed8eb64f084cd3d GIT binary patch literal 1556 zcmV+v2J87BiwFqXy>w*&17~t?ZEtfiF<)n8ZenkEUuAV{WpXZba$^8}m%)ymH4KIK z^Asboriv5WvA3urR0&!HvtWx*CBy~^X2aX_<^FO0vgxR*ZWLd~K0ZG7ef{wI!^_h% zf3JW4_UGr{-~Rgh-{-f#p5H$I^Y;Aq$LHtoUp{{K>DQ;1kMEyeKm7Re%j?Te5A*x4 zJ^p*w>hEFu)2ClPynguf@#mNKPuG2yoYAe#b?oodt+@`h>zISvq20IjXx-*W>DRT* z9Me_uI)<5I5wm=2o8rB$&AS<{qkMDI^jM3xP-&vqwF|M#+4eD8Z+s)Od{4tbTie#X zTS)37jq$Fz#LVeqTWjxXBVuPslGbBP+ZgpOQ^swrq1iQkTZfED7q2*TYM;@{I)-$Q z+>n`cG3#Sx`R&4AB4_%+gp9T4*l|x%95ZHAwJb&LSPS>rTE$HuG6M(OcP2Sn%cpOu z>QYh3m^y~fT`6ijru52KaFYfmWlcU)aki~REF1OMx5Sr#U-(d`9E&HrG}3bpxAN_+ zlkYq^WD0>_l%g~M5GiSe$4JVSal_t1p|37H(zT(qAb>yfV zJjkm11N#+p*KYV4MWJOKSF^WwG`B;e*>B&2{vP!-S`bKs7d|Qw(6oH34Dc`PM|8l{ zS@X;X@Jo)d%3N0=YgV)z1{fJGOAOLyQz%(+!5 zqsgRj1rbagw8voqjbvb6?1ex}3i>{-HW+?)oixP6FMyYICNyeU)F%!=8h2gCiHfq) zCvmfl5cN883+>ZK8(-SyL(I z*2w{lh$ZyZ7C@OEn|x#GOB4$h?^n;w+|ForBnutil^K)`S&6EYtnaE7(S?DD?$)HI zrisEyF{~#nVGLFpO&O_e`^MASD-L@_0Ke&|eg)`oFsewHm~FaO-04WE_-+Mu1YYmH zBLN>}6UcV7z#EOEty+P{Ry$uuh>w;;RF?D(>uRU2uE>y| zISv(-a&1RoPhBWhp^3h+laxX^b1K|*_bVmk-8OD(5Oap`4%*jZW3?Eq=9EU=%X$oy z8sXm7f!s^<9hkHSS5Hr|w;*XixKo4zx>|hurfjs89ERbVR9g9_fq*kBZZs#!{AK}> zd-T2FIZ?-21oq2dNdsG{HjZFLuhKXpkFLwj0#+;_VR<^;4RdgTMZz4*NYF6nSj5S1QAHcB@KFRtlLcWrqc3b8SD{no&!U3m=ka z?#IDC6eR}YvPN{duez=|VXNQEnihZqt(Wh$yHLq>d`!qem&NIBqakq?RVkaYI%8Y2 zQBdVPI@}O67Ki=xSoB2i_N1qOh@~GbSSu(?SAl?NGEPKl_#jH`ti60sKCUTIl%mzA zOUW`y5m3J$_R7+`l=}VA)aZ*op)iaVKU)^BdYidrn$a4-ef5;^D+rx6mD&-OMx&24r&gbjWC^>DeXTz1 z$MX0Ewtu+o@J{DIGqlLs*N@9OzxYk}^<(Ao#r3!UKR*B88ddo6`fJBWF8={BzcJ#b G4gdfQ_7|uC literal 0 HcmV?d00001 diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_genbox_origin.trc.gz b/testsuite/MDAnalysisTests/data/gromos11/gromos11_genbox_origin.trc.gz new file mode 100644 index 0000000000000000000000000000000000000000..7f571f4a0b042b19e923f8f4610b8b5192546513 GIT binary patch literal 1559 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

)}(L1#N!7j-#(Wy4#lp0&=I#6WB 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 F0st3_%FF-& literal 0 HcmV?d00001 diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_truncOcta_vac.trc.gz b/testsuite/MDAnalysisTests/data/gromos11/gromos11_truncOcta_vac.trc.gz new file mode 100644 index 0000000000000000000000000000000000000000..79c0de2fb16e7ce0976eb8987d154be257bcdb5b GIT binary patch literal 1516 zcmVKbaG<=eV5CQT*nQD z_wy73crAgqVzHJ9JPrgTl3{D%T^4zRAny-<)m^N1HX3ObHHTe?WxN@$(o14?(9A!$zD488yQ#Eba^Rep) z&607V$DB26=#7pHk>%&rDk&xAeK(23s*Vol4`xd`I@b)b>S$dnE3Bg{b&1(|wJuM( zlJa~igO?Shcl26oXsMmYd`@W5?7M53nXJy+hFfImc}#x^xOZEquc&yTlQqYh=kc^f z5!UE{)})L2_S5_MQMtVzi-tEeGIH_zfZ}sNI{!Us)wyo#q@a8IZBiIz-QA(fX>qUGtQ*WwGXF0KM+ zpvgQ)+2(TTJkjp(FCj)}QZ*#XqZ!7%T90midJt|ZbbRD}80TfH$qk#APdiA(u+14A z9X$bZh(tr&g>d2Z6$d(@8Q;jLtXLaAw_h5wsUOWbPbSv=Fme` zCwMogqah4=xf})3Sev2Iy+;I|IKW#&LzTmB^m2$^v6?drO^#>k9P>r~NoeMMuVb8#KRYp$0e#$2Ou#h^0M{Bj15D&F0uMaf$_dZO0~ zbFAcrt9Mq0Gy2S?fW*RArA|qT(szV*G&fB;c1>n;3Dulvaj_AZ7grBQ(~au@WUjWh zAaLCJ?%ofo4bZu~AFx3C=nhPBnT&`WlaiB(LOf??OE=D!6sS%^`zhY0 zs@``4BHnT52V)7d?P!J;poVnbfp0FxS5E{7jMOGGa)W%B!HFJ&%dnH42r;)|w%8*D z$HJ#NI*cwojb*nC%bqKwGojlvVBHJXXk0x8vxiZ2YN!qK=o$iKwl8;d2(z}HCi8$f zr{(BbGWKj)7;;&SW_-R{3rJ+I~5&$K$hv_axhiK*+WoxNJ!=FI-2@ z5{O40;z!yn9DL9kil~Pnsokt>%VzY{52{y|l7nmQr)9kfA-USBxT}vle`?M!AQ!%_ zU9sXZg=x2QFq;z#JBF3ZeQy`G`W89^SLB#*@^5KH%OAi5K%Akj{sgI>Ak9(IyB={)Up1XN1i-fd? z?S+J8@uGutv7Md>wymL_w)1F_2Z_{Q^!nNnSnX&??>5*ljuX);;SM_V+MAfCq0cS! zSwoI>w-t6$#U<|E1n0LSbylpmD8sv5c(9`X=!%`oXI|c;J^F3)ZY#VQ!QP$K7c|ON z;GQy>cek;22{=rAHqG|LJza^0O3 zHV=%t$1hTtgZX`;cj)$myU!%PGvtilEh%BC>4~|&jQHuv!#OCbp2ouC#C6T8Nuhi1 zrY-rxbzZhD7dE51%M6{i*-)@V`nJ};Y`B{sy;mw52jaC}9DPsfoUds1P}ZF`nf(Q6 z?=wdw=#@7ueS8D^$H&*dfBWO@ncb(S$NA?PNC`8^A0K!0+C4izKR(_LzaD@3|Kt0Q SqknLG)bb}CZzA7l4gdfVED2oz literal 0 HcmV?d00001 diff --git a/testsuite/MDAnalysisTests/datafiles.py b/testsuite/MDAnalysisTests/datafiles.py index 0c338358dae..625daefdb16 100644 --- a/testsuite/MDAnalysisTests/datafiles.py +++ b/testsuite/MDAnalysisTests/datafiles.py @@ -213,6 +213,8 @@ "GSD", "GSD_bonds", "GSD_long", "TRC_PDB_VAC", "TRC_TRAJ1_VAC", "TRC_TRAJ2_VAC", # 2x 3 frames of vacuum trajectory from GROMOS11 tutorial "TRC_CLUSTER_VAC", # three frames without TIMESTEP and GENBOX block but with unsupported POSITION block + "TRC_TRICLINIC_SOLV", "TRC_TRUNCOCT_VAC", + "TRC_GENBOX_ORIGIN", "TRC_GENBOX_EULER", "TRC_PDB_SOLV", "TRC_TRAJ_SOLV", # 2 frames of solvated trajectory from GROMOS11 tutorial "GRO_MEMPROT", "XTC_MEMPROT", # YiiP transporter in POPE:POPG lipids with Na+, Cl-, Zn2+ dummy model without water "DihedralArray", "DihedralsArray", # time series of single dihedral @@ -608,6 +610,10 @@ TRC_PDB_SOLV = (_data_ref / 'gromos11/gromos11_traj_solv.pdb.gz').as_posix() TRC_TRAJ_SOLV = (_data_ref / 'gromos11/gromos11_traj_solv.trc.gz').as_posix() TRC_CLUSTER_VAC = (_data_ref / 'gromos11/gromos11_cluster_vac.trj.gz').as_posix() +TRC_TRICLINIC_SOLV = (_data_ref / 'gromos11/gromos11_triclinic_solv.trc.gz').as_posix() +TRC_TRUNCOCT_VAC = (_data_ref / 'gromos11/gromos11_truncOcta_vac.trc.gz').as_posix() +TRC_GENBOX_ORIGIN = (_data_ref / 'gromos11/gromos11_genbox_origin.trc.gz').as_posix() +TRC_GENBOX_EULER = (_data_ref / 'gromos11/gromos11_genbox_euler.trc.gz').as_posix() DihedralArray = (_data_ref / 'adk_oplsaa_dihedral.npy').as_posix() DihedralsArray = (_data_ref / 'adk_oplsaa_dihedral_list.npy').as_posix() From 41c1a5921175a0d4357bd5101dff21181fad0eec Mon Sep 17 00:00:00 2001 From: JoStoe Date: Sat, 9 Dec 2023 21:56:22 +0100 Subject: [PATCH 34/47] gromos11: Make formatting flake8 compatible --- package/MDAnalysis/coordinates/TRC.py | 201 ++++++++++-------- .../MDAnalysisTests/coordinates/test_trc.py | 88 ++++---- 2 files changed, 158 insertions(+), 131 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index c04b323d984..b5502bbf02a 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -74,46 +74,55 @@ from .timestep import Timestep from ..lib import util from ..lib.util import cached, store_init_arguments -from ..version import __version__ import logging + logger = logging.getLogger("MDAnalysis.coordinates.GROMOS11") class TRCReader(base.ReaderBase): - """Coordinate reader for the GROMOS11 format - """ + """Coordinate reader for the GROMOS11 format""" - format = 'TRC' - units = {'time': 'ps', 'length': 'nm'} + format = "TRC" + units = {"time": "ps", "length": "nm"} _Timestep = Timestep @store_init_arguments def __init__(self, filename, **kwargs): super(TRCReader, self).__init__(filename, **kwargs) - self.SUPPORTED_BLOCKS = ['TITLE', 'TIMESTEP', 'POSITIONRED', - 'GENBOX'] - self.NOT_SUPPORTED_BLOCKNAMES = ['POSITION', 'REFPOSITION', - 'VELOCITY', 'VELOCITYRED', - 'FREEFORCE', 'FREEFORCERED', - 'CONSFORCE', 'CONSFORCERED', - 'SHAKEFAILPOSITION', - 'SHAKEFAILPREVPOSITION', - 'LATTICESHIFTS', - 'COSDISPLACEMENTS', - 'STOCHINT', 'NHCVARIABLES', - 'ROTTRANSREFPOS', 'PERTDATA', - 'DISRESEXPAVE', - 'JVALUERESEXPAVE', - 'JVALUERESEPS', - 'JVALUEPERSCALE', - 'ORDERPARAMRESEXPAVE', - 'XRAYRESEXPAVE', 'LEUSBIAS', - 'LEUSBIASBAS', 'ENERGY03', - 'VOLUMEPRESSURE03', - 'FREEENERGYDERIVS03', - 'BFACTOR', 'AEDSS'] + self.SUPPORTED_BLOCKS = ["TITLE", "TIMESTEP", "POSITIONRED", "GENBOX"] + self.NOT_SUPPORTED_BLOCKNAMES = [ + "POSITION", + "REFPOSITION", + "VELOCITY", + "VELOCITYRED", + "FREEFORCE", + "FREEFORCERED", + "CONSFORCE", + "CONSFORCERED", + "SHAKEFAILPOSITION", + "SHAKEFAILPREVPOSITION", + "LATTICESHIFTS", + "COSDISPLACEMENTS", + "STOCHINT", + "NHCVARIABLES", + "ROTTRANSREFPOS", + "PERTDATA", + "DISRESEXPAVE", + "JVALUERESEXPAVE", + "JVALUERESEPS", + "JVALUEPERSCALE", + "ORDERPARAMRESEXPAVE", + "XRAYRESEXPAVE", + "LEUSBIAS", + "LEUSBIASBAS", + "ENERGY03", + "VOLUMEPRESSURE03", + "FREEENERGYDERIVS03", + "BFACTOR", + "AEDSS", + ] # GROMOS11 trajectories are usually either *.trc or *.trc.gz. # (trj suffix can come up when trajectory obtained from clustering) @@ -137,7 +146,7 @@ def __init__(self, filename, **kwargs): self._read_frame(0) @property - @cached('n_atoms') + @cached("n_atoms") def n_atoms(self): """The number of atoms in one frame.""" return self._read_atom_count() @@ -147,7 +156,7 @@ def _read_atom_count(self): return n_atoms @property - @cached('n_frames') + @cached("n_frames") def n_frames(self): """The number of frames in the trajectory.""" return self._read_frame_count() @@ -161,8 +170,8 @@ def _frame_to_ts(self, frameDat, ts): ts.frame = self._frame ts.time = frameDat["time"] - ts.data['time'] = frameDat["time"] - ts.data['step'] = frameDat["step"] + ts.data["time"] = frameDat["time"] + ts.data["step"] = frameDat["step"] ts.dimensions = frameDat["dimensions"] ts.positions = frameDat["positions"] @@ -191,14 +200,14 @@ def _read_traj_properties(self): # first_block = None with util.anyopen(self.filename) as f: - for line in iter(f.readline, ''): + for line in iter(f.readline, ""): for blockname in self.SUPPORTED_BLOCKS: - if (blockname == line.strip()) and (blockname != 'TITLE'): + if (blockname == line.strip()) and (blockname != "TITLE"): # Save the name of the first non-Title block # in the trajectory file first_block = blockname - if (first_block is not None): + if first_block is not None: break # First block found # @@ -215,59 +224,58 @@ def _read_traj_properties(self): l_timestep_timevalues = [] with util.anyopen(self.filename) as f: - for line in iter(f.readline, ''): - + for line in iter(f.readline, ""): # # First block of frame # - if (first_block == line.strip()): - l_blockstart_offset.append(f.tell()-len(line)) + if first_block == line.strip(): + l_blockstart_offset.append(f.tell() - len(line)) frame_counter += 1 # # Timestep-Block # - if ("TIMESTEP" == line.strip()): + if "TIMESTEP" == line.strip(): lastline_was_timestep = True - elif (lastline_was_timestep is True): + elif lastline_was_timestep is True: l_timestep_timevalues.append(float(line.split()[1])) lastline_was_timestep = False # # Coordinates-Block # - if ("POSITIONRED" == line.strip()): + if "POSITIONRED" == line.strip(): in_positionred_block = True if (in_positionred_block is True) and (n_atoms == 0): - if (len(line.split()) == 3): + if len(line.split()) == 3: atom_counter += 1 if ("END" == line.strip()) and (in_positionred_block is True): n_atoms = atom_counter in_positionred_block = False - if (frame_counter == 0): - raise ValueError('No supported blocks were found within \ - the GROMOS trajectory!') + if frame_counter == 0: + raise ValueError( + "No supported blocks were found within the GROMOS trajectory!" + ) traj_properties["n_atoms"] = n_atoms traj_properties["n_frames"] = frame_counter traj_properties["l_blockstart_offset"] = l_blockstart_offset - if (len(l_timestep_timevalues) >= 2): - traj_properties["dt"] = (l_timestep_timevalues[1] - - l_timestep_timevalues[0]) + if len(l_timestep_timevalues) >= 2: + traj_properties["dt"] = l_timestep_timevalues[1] - l_timestep_timevalues[0] else: traj_properties["dt"] = 0 - warnings.warn("The trajectory does not contain TIMESTEP blocks!", - UserWarning) + warnings.warn( + "The trajectory does not contain TIMESTEP blocks!", UserWarning + ) return traj_properties def _read_GROMOS11_trajectory(self): - frameDat = {} frameDat["step"] = int(self._frame) frameDat["time"] = float(0.0) @@ -277,73 +285,80 @@ def _read_GROMOS11_trajectory(self): # Read the trajectory f = self.trcfile - for line in iter(f.readline, ''): - - if ("TIMESTEP" == line.strip()): + for line in iter(f.readline, ""): + if "TIMESTEP" == line.strip(): tmp_step, tmp_time = f.readline().split() frameDat["step"] = int(tmp_step) frameDat["time"] = float(tmp_time) - elif ("POSITIONRED" == line.strip()): + elif "POSITIONRED" == line.strip(): tmp_buf = [] - while (True): + while True: coords_str = f.readline() - if '#' in coords_str: + if "#" in coords_str: continue elif "END" in coords_str: break else: tmp_buf.append(coords_str.split()) - if (np.array(tmp_buf).shape[0] == self.n_atoms): - frameDat["positions"] = np.asarray(tmp_buf, - dtype=np.float64) + if np.array(tmp_buf).shape[0] == self.n_atoms: + frameDat["positions"] = np.asarray(tmp_buf, dtype=np.float64) else: - raise ValueError("The trajectory contains \ - the wrong number of atoms!") + raise ValueError( + "The trajectory contains the wrong number of atoms!" + ) - elif ("GENBOX" == line.strip()): + elif "GENBOX" == line.strip(): ntb_setting = int(f.readline()) - if (ntb_setting == 0): + if ntb_setting == 0: frameDat["dimensions"] = None self.periodic = False - elif (ntb_setting in [1, 2]): + elif ntb_setting in [1, 2]: tmp_a, tmp_b, tmp_c = f.readline().split() tmp_alpha, tmp_beta, tmp_gamma = f.readline().split() - frameDat["dimensions"] = [float(tmp_a), - float(tmp_b), - float(tmp_c), - float(tmp_alpha), - float(tmp_beta), - float(tmp_gamma)] + frameDat["dimensions"] = [ + float(tmp_a), + float(tmp_b), + float(tmp_c), + float(tmp_alpha), + float(tmp_beta), + float(tmp_gamma), + ] self.periodic = True genbox_line3 = f.readline().split() - if np.count_nonzero(np.array(genbox_line3).astype('float')) != 0: - raise NotImplementedError("This reader " - "doesnt't support " - "a shifted origin!") + if np.count_nonzero(np.array(genbox_line3).astype("float")) != 0: + raise NotImplementedError( + "This reader doesnt't support a shifted origin!" + ) genbox_line4 = f.readline().split() - if np.count_nonzero(np.array(genbox_line4).astype('float')) != 0: - raise NotImplementedError("This reader " - "doesnt't support " - "yawed, pitched or " - "rolled boxes!") + if np.count_nonzero(np.array(genbox_line4).astype("float")) != 0: + raise NotImplementedError( + "This reader " + "doesnt't support " + "yawed, pitched or " + "rolled boxes!" + ) else: - raise NotImplementedError("This reader doesn't support " - "truncated-octahedral " - "periodic boundary conditions") + raise NotImplementedError( + "This reader doesn't support " + "truncated-octahedral " + "periodic boundary conditions" + ) break - elif any(non_supp_bn in line for - non_supp_bn in self.NOT_SUPPORTED_BLOCKNAMES): + elif any( + non_supp_bn in line for non_supp_bn in self.NOT_SUPPORTED_BLOCKNAMES + ): for non_supp_bn in self.NOT_SUPPORTED_BLOCKNAMES: - if (non_supp_bn == line.strip()): - warnings.warn(non_supp_bn + " block is not supported!", - UserWarning) + if non_supp_bn == line.strip(): + warnings.warn( + non_supp_bn + " block is not supported!", UserWarning + ) return frameDat @@ -352,15 +367,14 @@ def _read_frame(self, i): self._frame = i - 1 # Move position in file just (-2 byte) before the start of the block - self.trcfile.seek(self.traj_properties["l_blockstart_offset"][i]-2, 0) + self.trcfile.seek(self.traj_properties["l_blockstart_offset"][i] - 2, 0) return self._read_next_timestep() def _read_next_timestep(self): - self._frame += 1 - if (self._frame >= self.n_frames): - raise IOError('Trying to go over trajectory limit') + if self._frame >= self.n_frames: + raise IOError("Trying to go over trajectory limit") raw_framedata = self._read_GROMOS11_trajectory() self._frame_to_ts(raw_framedata, self.ts) @@ -374,8 +388,7 @@ def _reopen(self): def open_trajectory(self): if self.trcfile is not None: - raise IOError( - errno.EALREADY, 'TRC file already opened', self.filename) + raise IOError(errno.EALREADY, "TRC file already opened", self.filename) # Reload trajectory file self.trcfile = util.anyopen(self.filename) diff --git a/testsuite/MDAnalysisTests/coordinates/test_trc.py b/testsuite/MDAnalysisTests/coordinates/test_trc.py index 1a2231d142f..bfcfe659452 100644 --- a/testsuite/MDAnalysisTests/coordinates/test_trc.py +++ b/testsuite/MDAnalysisTests/coordinates/test_trc.py @@ -25,7 +25,6 @@ from numpy.testing import assert_allclose import MDAnalysis as mda -from MDAnalysis.coordinates.TRC import TRCReader from MDAnalysisTests.datafiles import TRC_PDB_VAC, TRC_TRAJ1_VAC, TRC_TRAJ2_VAC from MDAnalysisTests.datafiles import TRC_CLUSTER_VAC from MDAnalysisTests.datafiles import TRC_GENBOX_ORIGIN, TRC_GENBOX_EULER @@ -34,10 +33,11 @@ class TestTRCReaderVacuumBox: - @pytest.fixture(scope='class') + @pytest.fixture(scope="class") def TRC_U(self): - return mda.Universe(TRC_PDB_VAC, [TRC_TRAJ1_VAC, TRC_TRAJ2_VAC], - continuous=True) + return mda.Universe( + TRC_PDB_VAC, [TRC_TRAJ1_VAC, TRC_TRAJ2_VAC], continuous=True + ) def test_initial_frame_is_0(self, TRC_U): assert TRC_U.trajectory.ts.frame == 0 @@ -45,12 +45,12 @@ def test_initial_frame_is_0(self, TRC_U): def test_trc_positions(self, TRC_U): # first frame first particle TRC_U.trajectory[0] - assert_allclose(TRC_U.atoms.positions[0], - [2.19782507, 24.65064345, 29.39783426]) + assert_allclose( + TRC_U.atoms.positions[0], [2.19782507, 24.65064345, 29.39783426] + ) # fith frame first particle TRC_U.trajectory[4] - assert_allclose(TRC_U.atoms.positions[0], - [0.37026654, 22.78805010, 3.69695262]) + assert_allclose(TRC_U.atoms.positions[0], [0.37026654, 22.78805010, 3.69695262]) def test_trc_dimensions(self, TRC_U): assert TRC_U.trajectory[0].dimensions is None @@ -72,14 +72,14 @@ def test_trc_time(self, TRC_U): def test_trc_dt(self, TRC_U): time_array = np.array([ts.time for ts in TRC_U.trajectory]) - assert_allclose(time_array, np.arange(6)*20.0) + assert_allclose(time_array, np.arange(6) * 20.0) dt_array = np.diff(time_array) assert_allclose(dt_array, np.full(5, 20.0)) def test_trc_data_step(self, TRC_U): - assert TRC_U.trajectory[0].data['step'] == 0 - assert TRC_U.trajectory[4].data['step'] == 10000 + assert TRC_U.trajectory[0].data["step"] == 0 + assert TRC_U.trajectory[4].data["step"] == 10000 def test_periodic(self, TRC_U): assert TRC_U.trajectory.periodic is False @@ -95,8 +95,9 @@ def test_rewind(self, TRC_U): trc.rewind() assert trc.ts.frame == 0, "trajectory.rewind() failed to rewind to first frame" - assert np.any(TRC_U.atoms.positions != 0), "The atom positions " \ - "are not populated" + assert np.any(TRC_U.atoms.positions != 0), ( + "The atom positions are not populated" + ) def test_random_access(self, TRC_U): TRC_U.trajectory[0] @@ -118,7 +119,7 @@ def test_read_frame_reopens(self, TRC_U): class TestTRCReaderSolvatedBox: - @pytest.fixture(scope='class') + @pytest.fixture(scope="class") def TRC_U(self): return mda.Universe(TRC_PDB_SOLV, TRC_TRAJ_SOLV) @@ -131,8 +132,7 @@ def test_periodic(self, TRC_U): def test_trc_dimensions(self, TRC_U): ts = TRC_U.trajectory[1] assert_allclose( - ts.dimensions, - [30.54416298, 30.54416298, 30.54416298, 90., 90., 90.] + ts.dimensions, [30.54416298, 30.54416298, 30.54416298, 90.0, 90.0, 90.0] ) def test_open_twice(self, TRC_U): @@ -142,7 +142,7 @@ def test_open_twice(self, TRC_U): class TestTRCReaderTriclinicBox: - @pytest.fixture(scope='class') + @pytest.fixture(scope="class") def TRC_U(self): return mda.Universe(TRC_PDB_SOLV, TRC_TRICLINIC_SOLV) @@ -156,24 +156,31 @@ def test_trc_dimensions(self, TRC_U): ts = TRC_U.trajectory[0] assert_allclose( ts.dimensions, - [33.72394463, 38.87568624, 26.74177871, 91.316862341, 93.911031544, 54.514000084] + [ + 33.72394463, + 38.87568624, + 26.74177871, + 91.316862341, + 93.911031544, + 54.514000084, + ], ) def test_trc_distances(self, TRC_U): import MDAnalysis.analysis.distances as distances import MDAnalysis.analysis.atomicdistances as atomicdistances - + ts = TRC_U.trajectory[0] - atom_1a = TRC_U.select_atoms('resname LYSH and name O and resid 4') - atom_1b = TRC_U.select_atoms('resname ARG and name H and resid 3') - atom_1c = TRC_U.select_atoms('resname SOLV and name OW and resid 718') - atom_1d = TRC_U.select_atoms('resname SOLV and name OW and resid 305') + atom_1a = TRC_U.select_atoms("resname LYSH and name O and resid 4") + atom_1b = TRC_U.select_atoms("resname ARG and name H and resid 3") + atom_1c = TRC_U.select_atoms("resname SOLV and name OW and resid 718") + atom_1d = TRC_U.select_atoms("resname SOLV and name OW and resid 305") - atom_2a = TRC_U.select_atoms('resname VAL and name CG1 and resid 1') - atom_2b = TRC_U.select_atoms('resname SOLV and name OW and resid 497') - atom_2c = TRC_U.select_atoms('resname SOLV and name OW and resid 593') - atom_2d = TRC_U.select_atoms('resname SOLV and name OW and resid 497') + atom_2a = TRC_U.select_atoms("resname VAL and name CG1 and resid 1") + atom_2b = TRC_U.select_atoms("resname SOLV and name OW and resid 497") + atom_2c = TRC_U.select_atoms("resname SOLV and name OW and resid 593") + atom_2d = TRC_U.select_atoms("resname SOLV and name OW and resid 497") ag1 = atom_1a + atom_1b + atom_1c + atom_1d ag2 = atom_2a + atom_2b + atom_2c + atom_2d @@ -190,7 +197,7 @@ def test_trc_distances(self, TRC_U): class TestTRCReaderTruncOctBox: - @pytest.fixture(scope='class') + @pytest.fixture(scope="class") def TRC_U(self): with pytest.raises(NotImplementedError, match="truncated-octahedral"): return mda.Universe(TRC_PDB_VAC, TRC_TRUNCOCT_VAC) @@ -201,9 +208,11 @@ def test_load_trajectory(self, TRC_U): class TestTRCGenboxOrigin: - @pytest.fixture(scope='class') + @pytest.fixture(scope="class") def TRC_U(self): - with pytest.raises(NotImplementedError, match="doesnt't support a shifted origin!"): + with pytest.raises( + NotImplementedError, match="doesnt't support a shifted origin!" + ): return mda.Universe(TRC_PDB_VAC, TRC_GENBOX_ORIGIN) def test_load_trajectory(self, TRC_U): @@ -212,28 +221,33 @@ def test_load_trajectory(self, TRC_U): class TestTRCGenboxEuler: - @pytest.fixture(scope='class') + @pytest.fixture(scope="class") def TRC_U(self): - with pytest.raises(NotImplementedError, match=("doesnt't support yawed, " - "pitched or rolled boxes!")): + with pytest.raises( + NotImplementedError, + match=("doesnt't support yawed, pitched or rolled boxes!"), + ): return mda.Universe(TRC_PDB_VAC, TRC_GENBOX_EULER) def test_load_trajectory(self, TRC_U): temp_universe = TRC_U del temp_universe + class TestTRCReaderClusterTrajectory: - @pytest.fixture(scope='class') + @pytest.fixture(scope="class") def TRC_U(self): with pytest.warns(UserWarning) as record_of_warnings: TRC_U = mda.Universe(TRC_PDB_VAC, TRC_CLUSTER_VAC, format="TRC") - warning_strings = ["The trajectory does not contain TIMESTEP blocks!", - "POSITION block is not supported!"] + warning_strings = [ + "The trajectory does not contain TIMESTEP blocks!", + "POSITION block is not supported!", + ] warning_strings_found = 0 for w in record_of_warnings: - if (str(w.message) in warning_strings): + if str(w.message) in warning_strings: warning_strings_found += 1 assert warning_strings_found == 2 From 487ca3f94d740a07fe7b3adb3c4a970a6735fe78 Mon Sep 17 00:00:00 2001 From: JoStoe Date: Sat, 9 Dec 2023 23:24:03 +0100 Subject: [PATCH 35/47] GROMOS11: Allows to disable unit conversion and adds testing of empty file --- package/MDAnalysis/coordinates/TRC.py | 3 +- .../MDAnalysisTests/coordinates/test_trc.py | 28 ++++++++++++++++++- .../data/gromos11/gromos11_empty.trc | 1 + testsuite/MDAnalysisTests/datafiles.py | 4 ++- testsuite/setup.py | 2 +- 5 files changed, 34 insertions(+), 4 deletions(-) create mode 100644 testsuite/MDAnalysisTests/data/gromos11/gromos11_empty.trc diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index b5502bbf02a..5093ee5939e 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -88,7 +88,7 @@ class TRCReader(base.ReaderBase): _Timestep = Timestep @store_init_arguments - def __init__(self, filename, **kwargs): + def __init__(self, filename, convert_units=True, **kwargs): super(TRCReader, self).__init__(filename, **kwargs) self.SUPPORTED_BLOCKS = ["TITLE", "TIMESTEP", "POSITIONRED", "GENBOX"] @@ -133,6 +133,7 @@ def __init__(self, filename, **kwargs): self.compression = ext[1:] self.trcfile = util.anyopen(self.filename) + self.convert_units = convert_units # Read and calculate some information about the trajectory self.traj_properties = self._read_traj_properties() diff --git a/testsuite/MDAnalysisTests/coordinates/test_trc.py b/testsuite/MDAnalysisTests/coordinates/test_trc.py index bfcfe659452..d7e21e1da28 100644 --- a/testsuite/MDAnalysisTests/coordinates/test_trc.py +++ b/testsuite/MDAnalysisTests/coordinates/test_trc.py @@ -26,7 +26,7 @@ import MDAnalysis as mda from MDAnalysisTests.datafiles import TRC_PDB_VAC, TRC_TRAJ1_VAC, TRC_TRAJ2_VAC -from MDAnalysisTests.datafiles import TRC_CLUSTER_VAC +from MDAnalysisTests.datafiles import TRC_CLUSTER_VAC, TRC_EMPTY from MDAnalysisTests.datafiles import TRC_GENBOX_ORIGIN, TRC_GENBOX_EULER from MDAnalysisTests.datafiles import TRC_PDB_SOLV, TRC_TRAJ_SOLV from MDAnalysisTests.datafiles import TRC_TRICLINIC_SOLV, TRC_TRUNCOCT_VAC @@ -141,6 +141,18 @@ def test_open_twice(self, TRC_U): TRC_U.trajectory.open_trajectory() +class TestTRCReaderSolvatedBoxNoConvert: + @pytest.fixture(scope="class") + def TRC_U(self): + return mda.Universe(TRC_PDB_SOLV, TRC_TRAJ_SOLV, convert_units=False) + + def test_trc_dimensions(self, TRC_U): + ts = TRC_U.trajectory[1] + assert_allclose( + ts.dimensions, [3.054416298, 3.054416298, 3.054416298, 90.0, 90.0, 90.0] + ) + + class TestTRCReaderTriclinicBox: @pytest.fixture(scope="class") def TRC_U(self): @@ -234,6 +246,20 @@ def test_load_trajectory(self, TRC_U): del temp_universe +class TestTRCEmptyFile: + @pytest.fixture(scope="class") + def TRC_U(self): + with pytest.raises( + ValueError, + match=("No supported blocks were found within the GROMOS trajectory!"), + ): + return mda.Universe(TRC_PDB_VAC, TRC_EMPTY) + + def test_load_trajectory(self, TRC_U): + temp_universe = TRC_U + del temp_universe + + class TestTRCReaderClusterTrajectory: @pytest.fixture(scope="class") def TRC_U(self): diff --git a/testsuite/MDAnalysisTests/data/gromos11/gromos11_empty.trc b/testsuite/MDAnalysisTests/data/gromos11/gromos11_empty.trc new file mode 100644 index 00000000000..8d1c8b69c3f --- /dev/null +++ b/testsuite/MDAnalysisTests/data/gromos11/gromos11_empty.trc @@ -0,0 +1 @@ + diff --git a/testsuite/MDAnalysisTests/datafiles.py b/testsuite/MDAnalysisTests/datafiles.py index 625daefdb16..8ae48dfa41d 100644 --- a/testsuite/MDAnalysisTests/datafiles.py +++ b/testsuite/MDAnalysisTests/datafiles.py @@ -213,8 +213,9 @@ "GSD", "GSD_bonds", "GSD_long", "TRC_PDB_VAC", "TRC_TRAJ1_VAC", "TRC_TRAJ2_VAC", # 2x 3 frames of vacuum trajectory from GROMOS11 tutorial "TRC_CLUSTER_VAC", # three frames without TIMESTEP and GENBOX block but with unsupported POSITION block - "TRC_TRICLINIC_SOLV", "TRC_TRUNCOCT_VAC", + "TRC_TRICLINIC_SOLV", "TRC_TRUNCOCT_VAC", "TRC_GENBOX_ORIGIN", "TRC_GENBOX_EULER", + "TRC_EMPTY", # Empty file containing only one space "TRC_PDB_SOLV", "TRC_TRAJ_SOLV", # 2 frames of solvated trajectory from GROMOS11 tutorial "GRO_MEMPROT", "XTC_MEMPROT", # YiiP transporter in POPE:POPG lipids with Na+, Cl-, Zn2+ dummy model without water "DihedralArray", "DihedralsArray", # time series of single dihedral @@ -614,6 +615,7 @@ TRC_TRUNCOCT_VAC = (_data_ref / 'gromos11/gromos11_truncOcta_vac.trc.gz').as_posix() TRC_GENBOX_ORIGIN = (_data_ref / 'gromos11/gromos11_genbox_origin.trc.gz').as_posix() TRC_GENBOX_EULER = (_data_ref / 'gromos11/gromos11_genbox_euler.trc.gz').as_posix() +TRC_EMPTY = (_data_ref / 'gromos11/gromos11_empty.trc').as_posix() DihedralArray = (_data_ref / 'adk_oplsaa_dihedral.npy').as_posix() DihedralsArray = (_data_ref / 'adk_oplsaa_dihedral_list.npy').as_posix() diff --git a/testsuite/setup.py b/testsuite/setup.py index 2df7cddc653..154b7dba99b 100755 --- a/testsuite/setup.py +++ b/testsuite/setup.py @@ -149,7 +149,7 @@ def run(self): 'data/Amber/*.trj', 'data/Amber/*.mdcrd', 'data/Amber/*.ncdf', 'data/Amber/*.nc', 'data/Amber/*.inpcrd', - 'data/gromos11/*.gz', + 'data/gromos11/*.gz', 'data/gromos11/*.trc', 'data/*.pqr', 'data/*.pdbqt', 'data/*.bz2', 'data/*.gz', 'data/*.ent', 'data/*.fasta', From b3136967c011b095ea35ba24d164678e4277e4dd Mon Sep 17 00:00:00 2001 From: JoStoe Date: Sun, 10 Dec 2023 12:31:13 +0100 Subject: [PATCH 36/47] GROMOS11: Exchange NotImplementedError for ValueError --- package/MDAnalysis/coordinates/TRC.py | 6 +++--- testsuite/MDAnalysisTests/coordinates/test_trc.py | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 5093ee5939e..a180df60992 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -331,13 +331,13 @@ def _read_GROMOS11_trajectory(self): genbox_line3 = f.readline().split() if np.count_nonzero(np.array(genbox_line3).astype("float")) != 0: - raise NotImplementedError( + raise ValueError( "This reader doesnt't support a shifted origin!" ) genbox_line4 = f.readline().split() if np.count_nonzero(np.array(genbox_line4).astype("float")) != 0: - raise NotImplementedError( + raise ValueError( "This reader " "doesnt't support " "yawed, pitched or " @@ -345,7 +345,7 @@ def _read_GROMOS11_trajectory(self): ) else: - raise NotImplementedError( + raise ValueError( "This reader doesn't support " "truncated-octahedral " "periodic boundary conditions" diff --git a/testsuite/MDAnalysisTests/coordinates/test_trc.py b/testsuite/MDAnalysisTests/coordinates/test_trc.py index d7e21e1da28..15f3c456bf7 100644 --- a/testsuite/MDAnalysisTests/coordinates/test_trc.py +++ b/testsuite/MDAnalysisTests/coordinates/test_trc.py @@ -211,7 +211,7 @@ def test_trc_distances(self, TRC_U): class TestTRCReaderTruncOctBox: @pytest.fixture(scope="class") def TRC_U(self): - with pytest.raises(NotImplementedError, match="truncated-octahedral"): + with pytest.raises(ValueError, match="truncated-octahedral"): return mda.Universe(TRC_PDB_VAC, TRC_TRUNCOCT_VAC) def test_load_trajectory(self, TRC_U): @@ -223,7 +223,7 @@ class TestTRCGenboxOrigin: @pytest.fixture(scope="class") def TRC_U(self): with pytest.raises( - NotImplementedError, match="doesnt't support a shifted origin!" + ValueError, match="doesnt't support a shifted origin!" ): return mda.Universe(TRC_PDB_VAC, TRC_GENBOX_ORIGIN) @@ -236,7 +236,7 @@ class TestTRCGenboxEuler: @pytest.fixture(scope="class") def TRC_U(self): with pytest.raises( - NotImplementedError, + ValueError, match=("doesnt't support yawed, pitched or rolled boxes!"), ): return mda.Universe(TRC_PDB_VAC, TRC_GENBOX_EULER) From 92084e0ab88e797ec617084bad09cf984f11e739 Mon Sep 17 00:00:00 2001 From: JoStoe Date: Sun, 10 Dec 2023 13:12:47 +0100 Subject: [PATCH 37/47] GROMOS11: Changes to correctly trigger exceptions during the creation of universe --- .../MDAnalysisTests/coordinates/test_trc.py | 36 +++++-------------- 1 file changed, 8 insertions(+), 28 deletions(-) diff --git a/testsuite/MDAnalysisTests/coordinates/test_trc.py b/testsuite/MDAnalysisTests/coordinates/test_trc.py index 15f3c456bf7..dd64f6d0a93 100644 --- a/testsuite/MDAnalysisTests/coordinates/test_trc.py +++ b/testsuite/MDAnalysisTests/coordinates/test_trc.py @@ -209,55 +209,35 @@ def test_trc_distances(self, TRC_U): class TestTRCReaderTruncOctBox: - @pytest.fixture(scope="class") - def TRC_U(self): + def test_universe(self): with pytest.raises(ValueError, match="truncated-octahedral"): - return mda.Universe(TRC_PDB_VAC, TRC_TRUNCOCT_VAC) - - def test_load_trajectory(self, TRC_U): - temp_universe = TRC_U - del temp_universe + mda.Universe(TRC_PDB_VAC, TRC_TRUNCOCT_VAC) class TestTRCGenboxOrigin: - @pytest.fixture(scope="class") - def TRC_U(self): + def test_universe(self): with pytest.raises( ValueError, match="doesnt't support a shifted origin!" ): - return mda.Universe(TRC_PDB_VAC, TRC_GENBOX_ORIGIN) - - def test_load_trajectory(self, TRC_U): - temp_universe = TRC_U - del temp_universe + mda.Universe(TRC_PDB_VAC, TRC_GENBOX_ORIGIN) class TestTRCGenboxEuler: - @pytest.fixture(scope="class") - def TRC_U(self): + def test_universe(self): with pytest.raises( ValueError, match=("doesnt't support yawed, pitched or rolled boxes!"), ): - return mda.Universe(TRC_PDB_VAC, TRC_GENBOX_EULER) - - def test_load_trajectory(self, TRC_U): - temp_universe = TRC_U - del temp_universe + mda.Universe(TRC_PDB_VAC, TRC_GENBOX_EULER) class TestTRCEmptyFile: - @pytest.fixture(scope="class") - def TRC_U(self): + def test_universe(self): with pytest.raises( ValueError, match=("No supported blocks were found within the GROMOS trajectory!"), ): - return mda.Universe(TRC_PDB_VAC, TRC_EMPTY) - - def test_load_trajectory(self, TRC_U): - temp_universe = TRC_U - del temp_universe + mda.Universe(TRC_PDB_VAC, TRC_EMPTY) class TestTRCReaderClusterTrajectory: From e612526660febef5dd8cb48cf147871c672fb8d6 Mon Sep 17 00:00:00 2001 From: JoStoe Date: Sun, 10 Dec 2023 13:26:59 +0100 Subject: [PATCH 38/47] GROMOS11: Changes how state of line 3 and 4 in GENBOX are evaluated --- package/MDAnalysis/coordinates/TRC.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index a180df60992..23755fa1eb5 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -329,14 +329,14 @@ def _read_GROMOS11_trajectory(self): ] self.periodic = True - genbox_line3 = f.readline().split() - if np.count_nonzero(np.array(genbox_line3).astype("float")) != 0: + gb_line3 = f.readline().split() + if np.sum(np.abs(np.array(gb_line3).astype(np.float64))) > 1e-10: raise ValueError( "This reader doesnt't support a shifted origin!" ) - genbox_line4 = f.readline().split() - if np.count_nonzero(np.array(genbox_line4).astype("float")) != 0: + gb_line4 = f.readline().split() + if np.sum(np.abs(np.array(gb_line4).astype(np.float64))) > 1e-10: raise ValueError( "This reader " "doesnt't support " From c4374cdb309aaa2754c14d3bd6fcdaca26020fd2 Mon Sep 17 00:00:00 2001 From: JoStoe Date: Sun, 10 Dec 2023 14:21:52 +0100 Subject: [PATCH 39/47] GROMOS11: Use class-variables --- package/MDAnalysis/coordinates/TRC.py | 72 +++++++++++++-------------- 1 file changed, 36 insertions(+), 36 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 23755fa1eb5..37971103fe9 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -87,43 +87,43 @@ class TRCReader(base.ReaderBase): units = {"time": "ps", "length": "nm"} _Timestep = Timestep + SUPPORTED_BLOCKS = ["TITLE", "TIMESTEP", "POSITIONRED", "GENBOX"] + NOT_SUPPORTED_BLOCKS = [ + "POSITION", + "REFPOSITION", + "VELOCITY", + "VELOCITYRED", + "FREEFORCE", + "FREEFORCERED", + "CONSFORCE", + "CONSFORCERED", + "SHAKEFAILPOSITION", + "SHAKEFAILPREVPOSITION", + "LATTICESHIFTS", + "COSDISPLACEMENTS", + "STOCHINT", + "NHCVARIABLES", + "ROTTRANSREFPOS", + "PERTDATA", + "DISRESEXPAVE", + "JVALUERESEXPAVE", + "JVALUERESEPS", + "JVALUEPERSCALE", + "ORDERPARAMRESEXPAVE", + "XRAYRESEXPAVE", + "LEUSBIAS", + "LEUSBIASBAS", + "ENERGY03", + "VOLUMEPRESSURE03", + "FREEENERGYDERIVS03", + "BFACTOR", + "AEDSS", + ] + @store_init_arguments def __init__(self, filename, convert_units=True, **kwargs): super(TRCReader, self).__init__(filename, **kwargs) - self.SUPPORTED_BLOCKS = ["TITLE", "TIMESTEP", "POSITIONRED", "GENBOX"] - self.NOT_SUPPORTED_BLOCKNAMES = [ - "POSITION", - "REFPOSITION", - "VELOCITY", - "VELOCITYRED", - "FREEFORCE", - "FREEFORCERED", - "CONSFORCE", - "CONSFORCERED", - "SHAKEFAILPOSITION", - "SHAKEFAILPREVPOSITION", - "LATTICESHIFTS", - "COSDISPLACEMENTS", - "STOCHINT", - "NHCVARIABLES", - "ROTTRANSREFPOS", - "PERTDATA", - "DISRESEXPAVE", - "JVALUERESEXPAVE", - "JVALUERESEPS", - "JVALUEPERSCALE", - "ORDERPARAMRESEXPAVE", - "XRAYRESEXPAVE", - "LEUSBIAS", - "LEUSBIASBAS", - "ENERGY03", - "VOLUMEPRESSURE03", - "FREEENERGYDERIVS03", - "BFACTOR", - "AEDSS", - ] - # GROMOS11 trajectories are usually either *.trc or *.trc.gz. # (trj suffix can come up when trajectory obtained from clustering) ext = pathlib.Path(self.filename).suffix @@ -202,7 +202,7 @@ def _read_traj_properties(self): first_block = None with util.anyopen(self.filename) as f: for line in iter(f.readline, ""): - for blockname in self.SUPPORTED_BLOCKS: + for blockname in TRCReader.SUPPORTED_BLOCKS: if (blockname == line.strip()) and (blockname != "TITLE"): # Save the name of the first non-Title block # in the trajectory file @@ -353,9 +353,9 @@ def _read_GROMOS11_trajectory(self): break elif any( - non_supp_bn in line for non_supp_bn in self.NOT_SUPPORTED_BLOCKNAMES + non_supp_bn in line for non_supp_bn in TRCReader.NOT_SUPPORTED_BLOCKS ): - for non_supp_bn in self.NOT_SUPPORTED_BLOCKNAMES: + for non_supp_bn in TRCReader.NOT_SUPPORTED_BLOCKS: if non_supp_bn == line.strip(): warnings.warn( non_supp_bn + " block is not supported!", UserWarning From f0982a9efd5f1bd64ae8359450bd0883df09f1c4 Mon Sep 17 00:00:00 2001 From: JoStoe Date: Sun, 10 Dec 2023 16:05:15 +0100 Subject: [PATCH 40/47] GROMOS11: Add files to test_multiprocessing.py --- .../MDAnalysisTests/parallelism/test_multiprocessing.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/testsuite/MDAnalysisTests/parallelism/test_multiprocessing.py b/testsuite/MDAnalysisTests/parallelism/test_multiprocessing.py index 638132d457c..6b29aec6a57 100644 --- a/testsuite/MDAnalysisTests/parallelism/test_multiprocessing.py +++ b/testsuite/MDAnalysisTests/parallelism/test_multiprocessing.py @@ -56,6 +56,7 @@ PDB, PDB_small, PDB_multiframe, PDBQT_input, PQR, + TRC_PDB_VAC, TRC_TRAJ1_VAC, TRC_TRAJ2_VAC, TRR, TRJ, TRZ, @@ -83,6 +84,8 @@ (GRO, [GRO, GRO, GRO, GRO, GRO]), (PDB, [PDB, PDB, PDB, PDB, PDB]), (GRO, [XTC, XTC]), + (TRC_PDB_VAC, TRC_TRAJ1_VAC), + (TRC_PDB_VAC, [TRC_TRAJ1_VAC, TRC_TRAJ2_VAC]), ]) def u(request): if len(request.param) == 1: @@ -193,6 +196,8 @@ def test_creating_multiple_universe_without_offset(temp_xtc, ncopies=3): ('NCDF', NCDF, dict()), ('TXYZ', TXYZ, dict()), ('memory', np.arange(60).reshape(2, 10, 3).astype(np.float64), dict()), + ('TRC', TRC_TRAJ1_VAC, dict()), + ('CHAIN', [TRC_TRAJ1_VAC, TRC_TRAJ2_VAC], dict()), ('CHAIN', [GRO, GRO, GRO], dict()), ('CHAIN', [PDB, PDB, PDB], dict()), ('CHAIN', [XTC, XTC, XTC], dict()), From a88b3bf7b938b56e05e5432ff9cd2de9ad74066f Mon Sep 17 00:00:00 2001 From: JoStoe Date: Sun, 10 Dec 2023 16:12:10 +0100 Subject: [PATCH 41/47] Changes order of changelog for GROMOS11 addition to put newest on top --- package/CHANGELOG | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package/CHANGELOG b/package/CHANGELOG index b36846ed143..6e55f6eabbb 100644 --- a/package/CHANGELOG +++ b/package/CHANGELOG @@ -30,6 +30,7 @@ Fixes * Fix atom charge reading in PDBQT parser (Issue #4282, PR #4283) Enhancements + * Added a reader for GROMOS11 TRC trajectories (PR #4292 , Issue #4291) * Refactor c_distances backend to have a cython .pxd header and expose in libmdanalysis (Issue #4315, PR #4324) * Add faster nucleic acid Major and Minor pair distance calculators using @@ -39,7 +40,6 @@ Enhancements inputs (PR #4273, part of #3927) * Added a warning about charge neutrality to the documentation of `DielectricConstant` (Issue #4262, PR #4263) - * Added a reader for GROMOS11 TRC trajectories (PR #4292 , Issue #4291) * Add support for reading chainID info from prmtop amber topologies (PR #4007) * Add support for reading chainID info from GROMACS TPR topologies (Issue #3994, PR #4281) From 40a1ad23a00a083d47dfb128c6f5c2c29c549a81 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Wed, 13 Dec 2023 09:58:24 +0100 Subject: [PATCH 42/47] Fix merge conflicts in AUTHORS and CHANGELOG --- package/AUTHORS | 2 ++ package/CHANGELOG | 1 + 2 files changed, 3 insertions(+) diff --git a/package/AUTHORS b/package/AUTHORS index e261170d622..9dc5b3ece61 100644 --- a/package/AUTHORS +++ b/package/AUTHORS @@ -222,6 +222,8 @@ Chronological list of authors - Shubham Kumar - Zaheer Timol - Geongi Moon + - Sumit Gupta + - Heet Vekariya - Johannes Stöckelmaier External code diff --git a/package/CHANGELOG b/package/CHANGELOG index 6e55f6eabbb..8ab7a2549b8 100644 --- a/package/CHANGELOG +++ b/package/CHANGELOG @@ -31,6 +31,7 @@ Fixes Enhancements * Added a reader for GROMOS11 TRC trajectories (PR #4292 , Issue #4291) + * Document the usage of NoDataError in its docstring (Issue #3901, PR #4359) * Refactor c_distances backend to have a cython .pxd header and expose in libmdanalysis (Issue #4315, PR #4324) * Add faster nucleic acid Major and Minor pair distance calculators using From 8b5beb5ec1f07020559af8a3a0d22613e16dec50 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Sat, 16 Dec 2023 16:42:06 +0100 Subject: [PATCH 43/47] GROMOS11: Fix typos, remove unnecessary functions --- package/MDAnalysis/coordinates/TRC.py | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 37971103fe9..36c7209f44b 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -119,7 +119,7 @@ class TRCReader(base.ReaderBase): "BFACTOR", "AEDSS", ] - + @store_init_arguments def __init__(self, filename, convert_units=True, **kwargs): super(TRCReader, self).__init__(filename, **kwargs) @@ -150,21 +150,13 @@ def __init__(self, filename, convert_units=True, **kwargs): @cached("n_atoms") def n_atoms(self): """The number of atoms in one frame.""" - return self._read_atom_count() - - def _read_atom_count(self): - n_atoms = self.traj_properties["n_atoms"] - return n_atoms + return self.traj_properties["n_atoms"] @property @cached("n_frames") def n_frames(self): """The number of frames in the trajectory.""" - return self._read_frame_count() - - def _read_frame_count(self): - n_frames = self.traj_properties["n_frames"] - return n_frames + return self.traj_properties["n_frames"] def _frame_to_ts(self, frameDat, ts): """Convert a frame to a :class:`TimeStep`""" @@ -204,7 +196,7 @@ def _read_traj_properties(self): for line in iter(f.readline, ""): for blockname in TRCReader.SUPPORTED_BLOCKS: if (blockname == line.strip()) and (blockname != "TITLE"): - # Save the name of the first non-Title block + # Save the name of the first non-title block # in the trajectory file first_block = blockname @@ -234,7 +226,7 @@ def _read_traj_properties(self): frame_counter += 1 # - # Timestep-Block + # Timestep-block # if "TIMESTEP" == line.strip(): lastline_was_timestep = True @@ -244,12 +236,12 @@ def _read_traj_properties(self): lastline_was_timestep = False # - # Coordinates-Block + # Coordinates-block # if "POSITIONRED" == line.strip(): in_positionred_block = True - if (in_positionred_block is True) and (n_atoms == 0): + elif (in_positionred_block is True) and (n_atoms == 0): if len(line.split()) == 3: atom_counter += 1 From ede220276e67baa46a73ef36ed50845e2da45778 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Sat, 16 Dec 2023 17:34:20 +0100 Subject: [PATCH 44/47] GROMOS11: Change attribute compression to compressed --- package/MDAnalysis/coordinates/TRC.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/MDAnalysis/coordinates/TRC.py b/package/MDAnalysis/coordinates/TRC.py index 36c7209f44b..e1d29d2a84c 100644 --- a/package/MDAnalysis/coordinates/TRC.py +++ b/package/MDAnalysis/coordinates/TRC.py @@ -128,9 +128,9 @@ def __init__(self, filename, convert_units=True, **kwargs): # (trj suffix can come up when trajectory obtained from clustering) ext = pathlib.Path(self.filename).suffix if (ext[1:] == "trc") or (ext[1:] == "trj"): - self.compression = None + self.compressed = None else: - self.compression = ext[1:] + self.compressed = ext[1:] self.trcfile = util.anyopen(self.filename) self.convert_units = convert_units From 7c624acf1887d0c6bb74c8f4e9fe16999da1479e Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Sat, 16 Dec 2023 18:34:15 +0100 Subject: [PATCH 45/47] Reset AUTHORS and CHANGELOG to the latest status of develop to fix merge conflicts --- package/AUTHORS | 1 - package/CHANGELOG | 9 +++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/package/AUTHORS b/package/AUTHORS index 9dc5b3ece61..611d09e1dac 100644 --- a/package/AUTHORS +++ b/package/AUTHORS @@ -224,7 +224,6 @@ Chronological list of authors - Geongi Moon - Sumit Gupta - Heet Vekariya - - Johannes Stöckelmaier External code ------------- diff --git a/package/CHANGELOG b/package/CHANGELOG index 8ab7a2549b8..f227b3986b8 100644 --- a/package/CHANGELOG +++ b/package/CHANGELOG @@ -20,6 +20,10 @@ The rules for this file: * 2.7.0 Fixes + * Fix doctest errors of lib/transformations.py (Issue #3925, PR #4370) + * Fix documentation building errors due to `html_static_path` and unindented + block of code (Issue #4362, PR #4365) + * Updated cimport for numpy to maintain cimport consistency (Issue #3908) * Fix `NoJump` unwrapping for jumps on the second frame in a trajectory (PR #4258, Issue #4257) * Deprecated np.float_ and np.NaN aliases have been replaced with @@ -30,7 +34,6 @@ Fixes * Fix atom charge reading in PDBQT parser (Issue #4282, PR #4283) Enhancements - * Added a reader for GROMOS11 TRC trajectories (PR #4292 , Issue #4291) * Document the usage of NoDataError in its docstring (Issue #3901, PR #4359) * Refactor c_distances backend to have a cython .pxd header and expose in libmdanalysis (Issue #4315, PR #4324) @@ -61,6 +64,8 @@ Changes `analysis.nucleicacids.WatsonCrickDist.results.distances` (Issue #3720, PR #3735) Deprecations + * The `asel` argument to timeseries will be renamed to `atomgroup` in 3.0.0. + (Issue #3911) * MDAnalysis.lib.util is deprecated and will be removed in version 3.0 (Issue #3649) * The TRZ reader & writer are deprecated and will be removed in version 3.0 @@ -76,7 +81,7 @@ Deprecations PR #3735) -28/08/23 IAlibay, hmacdope, pillose, jaclark5, tylerjereddy +08/28/23 IAlibay, hmacdope, pillose, jaclark5, tylerjereddy * 2.6.1 From 1691782c0039e272fb8f752233f31e7f07ef8796 Mon Sep 17 00:00:00 2001 From: stoeckelmaier Date: Sat, 16 Dec 2023 18:41:07 +0100 Subject: [PATCH 46/47] Add to AUTHORS and CHANGELOG --- package/AUTHORS | 1 + package/CHANGELOG | 1 + 2 files changed, 2 insertions(+) diff --git a/package/AUTHORS b/package/AUTHORS index 7d4d5e22f34..c2d41018dce 100644 --- a/package/AUTHORS +++ b/package/AUTHORS @@ -227,6 +227,7 @@ Chronological list of authors - Geongi Moon - Sumit Gupta - Heet Vekariya + - Johannes Stöckelmaier External code ------------- diff --git a/package/CHANGELOG b/package/CHANGELOG index ba292289607..ec39b2e39eb 100644 --- a/package/CHANGELOG +++ b/package/CHANGELOG @@ -34,6 +34,7 @@ Fixes * Fix atom charge reading in PDBQT parser (Issue #4282, PR #4283) Enhancements + * Added a reader for GROMOS11 TRC trajectories (PR #4292 , Issue #4291) * Document the usage of NoDataError in its docstring (Issue #3901, PR #4359) * Refactor c_distances backend to have a cython .pxd header and expose in libmdanalysis (Issue #4315, PR #4324) From 3e666a87da40f4ce8e25de9c1fd061f8a290a893 Mon Sep 17 00:00:00 2001 From: JoStoe Date: Sun, 17 Dec 2023 11:24:57 +0100 Subject: [PATCH 47/47] Add github handle to CHANGELOG --- package/CHANGELOG | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/package/CHANGELOG b/package/CHANGELOG index ec39b2e39eb..7b6cbc709f3 100644 --- a/package/CHANGELOG +++ b/package/CHANGELOG @@ -15,7 +15,8 @@ The rules for this file: ------------------------------------------------------------------------------- ??/??/?? IAlibay, ianmkenney, PicoCentauri, pgbarletta, p-j-smith, - richardjgowers, lilyminium, ALescoulie, hmacdope, HeetVekariya + richardjgowers, lilyminium, ALescoulie, hmacdope, HeetVekariya, + JoStoe * 2.7.0