Ejemplo n.º 1
0
    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)
Ejemplo n.º 2
0
 def test_closest():
     print('test_closest')
     for frame in pt.closest(
             traj(0, 100),
             n_solvents=10,
             restype='iterator')[0]:
         pass
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)
Ejemplo n.º 5
0
    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)
Ejemplo n.º 6
0
    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)
Ejemplo n.º 7
0
#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])
Ejemplo n.º 8
0
 def test_closest():
     print('test_closest')
     for frame in pt.closest(traj(0, 100),
                             n_solvents=10,
                             restype='iterator')[0]:
         pass