def test_closest_compared_to_cpptraj(self): trajin = fn('tz2.ortho.nc') parm = fn('tz2.ortho.parm7') traj = pt.iterload(trajin, parm, frame_slice=[ (0, 2), ]) state = pt.load_cpptraj_state(''' parm {} trajin {} 1 2 autoimage closest 100 :1-13 createcrd mycrd'''.format(parm, trajin)) state.run() fi, top = pt.closest(traj(autoimage=True), mask=':1-13', n_solvents=100) xyz = pt.get_coordinates(fi) t0 = pt.Trajectory(xyz=xyz, top=top) aa_eq(state.data['mycrd'].xyz, t0.xyz) # dtype = 'trajectory' t1 = pt.closest(traj(autoimage=True), mask=':1-13', n_solvents=100, dtype='trajectory') aa_eq(state.data['mycrd'].xyz, t1.xyz)
def test_closest(): print('test_closest') for frame in pt.closest( traj(0, 100), n_solvents=10, restype='iterator')[0]: pass
def test_closest_compared_to_cpptraj(self): traj = pt.iterload("./data/tz2.ortho.nc", "./data/tz2.ortho.parm7") state = pt.load_cpptraj_state(''' autoimage closest 100 :1-13 createcrd mycrd''', traj) state.run() fi, top = pt.closest(traj(autoimage=True), mask=':1-13', n_solvents=100) xyz = pt.get_coordinates(fi) t0 = pt.Trajectory(xyz=xyz, top=top) aa_eq(state.data['mycrd'].xyz, t0.xyz) # dtype = 'trajectory' t1 = pt.closest(traj(autoimage=True), mask=':1-13', n_solvents=100, dtype='trajectory') aa_eq(state.data['mycrd'].xyz, t1.xyz)
def test_closest(self): # raise if not has solvent traj0 = pt.iterload(fn('tz2.nc'), fn('tz2.parm7'), frame_slice=[(0, 2)]) self.assertRaises(RuntimeError, lambda: pt.closest(traj0)) traj = pt.iterload(fn('tz2.ortho.nc'), fn('tz2.ortho.parm7'), frame_slice=[(0, 2)]) fi, top = pt.closest(traj) coords = [] for frame in fi: coords.append(frame.xyz.copy()) assert isinstance(frame, pt.Frame), 'must be Frame' # make a Trajectory fi, top = pt.closest(traj) xyz = pt.get_coordinates(fi) t0 = pt.Trajectory(xyz=xyz, top=top) aa_eq(np.array(coords), t0.xyz) # test write to disk fi, top = pt.closest(traj) pt.write_traj(outputname('fi.nc'), fi, top=top, overwrite=True) # load back t1 = pt.load(outputname('fi.nc'), top=top) aa_eq(t0.xyz, t1.xyz) # make sure n_sovent=10 (default) n_solvents = 0 for mol in top.mols: if mol.is_solvent(): n_solvents += 1 assert n_solvents == 10, 'must be 10 solvents' fi, top = pt.closest(traj) pt.write_traj(outputname('test.pdb'), next(fi), top=top, overwrite=True)
def test_closest_compared_to_cpptraj(self): traj = pt.iterload(fn('tz2.ortho.nc'), fn('tz2.ortho.parm7')) state = pt.load_cpptraj_state( ''' autoimage closest 100 :1-13 createcrd mycrd''', traj) state.run() fi, top = pt.closest(traj(autoimage=True), mask=':1-13', n_solvents=100) xyz = pt.get_coordinates(fi) t0 = pt.Trajectory(xyz=xyz, top=top) aa_eq(state.data['mycrd'].xyz, t0.xyz) # dtype = 'trajectory' t1 = pt.closest(traj(autoimage=True), mask=':1-13', n_solvents=100, dtype='trajectory') aa_eq(state.data['mycrd'].xyz, t1.xyz)
def test_closest(self): # raise if not has solvent traj0 = pt.iterload("./data/tz2.nc", "./data/tz2.parm7") self.assertRaises(RuntimeError, lambda: pt.closest(traj0)) traj = pt.iterload("./data/tz2.ortho.nc", "./data/tz2.ortho.parm7") fi, top = pt.closest(traj) coords = [] for frame in fi: coords.append(frame.xyz.copy()) assert isinstance(frame, pt.Frame), 'must be Frame' # make a Trajectory fi, top = pt.closest(traj) xyz = pt.get_coordinates(fi) t0 = pt.Trajectory(xyz=xyz, top=top) aa_eq(np.array(coords), t0.xyz) # test write to disk fi, top = pt.closest(traj) pt.write_traj('output/fi.nc', fi, top=top, overwrite=True) # load back t1 = pt.load('output/fi.nc', top=top) aa_eq(t0.xyz, t1.xyz) # make sure n_sovent=10 (default) n_solvents = 0 for mol in top.mols: if mol.is_solvent(): n_solvents += 1 assert n_solvents == 10, 'must be 10 solvents' fi, top = pt.closest(traj) pt.write_traj('output/test.pdb', next(fi), top=top, overwrite=True)
#solvmask is the mask for the atom around which you can keep the closest waters solvmask = ':504@CHC' wat2keep = 390 ########################################################## ########################################################## traj = pt.iterload(trajectory, top=topology) top = pt.load_topology(topology) stripped_prm = pt.strip(top, mask=stripmask) stripped_traj = pt.strip(traj, stripmask) print stripmask, "stripped" print "selecting closest", wat2keep, "water molecules ..." closest_traj = pt.closest(stripped_traj, mask=solvmask, n_solvents=wat2keep, dtype='trajectory') # NOTE: framelist here starts from zero! framelist = range(start - 1, stop, every) for frame in framelist: # NOTE: output files have numbering starting from one! name = 'closest_%04d.mol2' % (frame + 1) print " ... writing frame %s" % (name) pt.save(name, closest_traj, options='single', overwrite=True, frame_indices=[frame])
def test_closest(): print('test_closest') for frame in pt.closest(traj(0, 100), n_solvents=10, restype='iterator')[0]: pass