def test_1(self): traj = mdio.iterload("./data/Tc5b.x", "./data/Tc5b.top") i = 0 for farray in traj.iterchunk(chunksize=4, stop=8): i += 1 assert i == 2 i = 0 for farray in traj.iterchunk(chunksize=4): i += 1 assert i == 3 i = 0 for farray in traj.iterchunk(chunksize=2): i += 1 assert i == 5 i = 0 for farray in traj.iterchunk(start=3, chunksize=4, stop=8): i += 1 assert i == 2 # action on chunk_iter pt.calc_distance( [traj.iterchunk(), traj.iterchunk(), traj[0]], '@CA @CB', top=traj.top) rmsd0 = pt.rmsd(traj.iterchunk(3), ref=traj[-1], top=traj.top) rmsd1 = pt.rmsd(traj, ref=-1) assert_almost_equal(rmsd0, rmsd1)
def test_1(self): traj = mdio.iterload(fn('Tc5b.x'), fn('Tc5b.top')) i = 0 for farray in traj.iterchunk(chunksize=4, stop=8): i += 1 assert i == 2 i = 0 for farray in traj.iterchunk(chunksize=4): i += 1 assert i == 3 i = 0 for farray in traj.iterchunk(chunksize=2): i += 1 assert i == 5 i = 0 for farray in traj.iterchunk(start=3, chunksize=4, stop=8): i += 1 assert i == 2 # action on chunk_iter pt.calc_distance( [traj.iterchunk(), traj.iterchunk(), traj[0]], '@CA @CB', top=traj.top) rmsd0 = pt.rmsd(traj.iterchunk(3), ref=traj[-1], top=traj.top) rmsd1 = pt.rmsd(traj, ref=-1) assert_almost_equal(rmsd0, rmsd1)
def test_6(self): traj = pt.iterload(tc5b_trajin, tc5b_top) mask_list = ('@CB @CA', '@CA @H') dslist = pt.calc_distance(traj, mask_list) dslist3_0 = pt.calc_distance(traj, mask_list[0]) dslist3_1 = pt.calc_distance(traj, mask_list[1]) aa_eq(dslist3_0, dslist[0]) aa_eq(dslist3_1, dslist[1])
def test_6(self): traj = pt.iterload("./data/Tc5b.x", "./data/Tc5b.top") mask_list = ('@CB @CA', '@CA @H') dslist = pt.calc_distance(traj, mask_list) dslist3_0 = pt.calc_distance(traj, mask_list[0]) dslist3_1 = pt.calc_distance(traj, mask_list[1]) aa_eq(dslist3_0, dslist[0]) aa_eq(dslist3_1, dslist[1])
def test_0(self): cm = """ parm data/Tc5b.top trajin data/Tc5b.x distance d0 @2 @3 distance d1 @4 @7 corr d0 d1 out test.out corr d0 out test2.out """ # exclude DatasetTopology (1st) state = pt.datafiles.load_cpptraj_state(cm).run() cout = state.data[1:] traj = pt.iterload("./data/Tc5b.x", "./data/Tc5b.top") dslist = pt.calc_distance(traj, ['@2 @3', '@4, @7']) pout = pt.xcorr(dslist[0], dslist[1]) # corr d0, d1 aa_eq(pout, cout[2]) # corr d0, d0 pout = pt.xcorr(dslist[0], dslist[0]) aa_eq(pout, cout[3]) # autocorr d0, d0 pout = pt.acorr(dslist[0]) aa_eq(pout, cout[3])
def test_corr(): cm = """ parm {} trajin {} distance d0 @2 @3 distance d1 @4 @7 corr d0 d1 out test.out corr d0 out test2.out """.format(tc5b_top, tc5b_trajin) with tempfolder(): # exclude DatasetTopology (1st) state = pt.datafiles.load_cpptraj_state(cm).run() cout = state.data[1:] traj = pt.iterload(tc5b_trajin, tc5b_top) dslist = pt.calc_distance(traj, ['@2 @3', '@4, @7']) pout = pt.xcorr(dslist[0], dslist[1]) # corr d0, d1 aa_eq(pout, cout[2]) # corr d0, d0 pout = pt.xcorr(dslist[0], dslist[0]) aa_eq(pout, cout[4]) # autocorr d0, d0 pout = pt.acorr(dslist[0]) aa_eq(pout, cout[4])
def test_general(self): traj = pt.iterload("./data/Tc5b.x", "./data/Tc5b.top") fa = traj[:] mask = ':1@CA :14@CB' d0 = pt.calc_distance(traj, mask) d1 = pt.distance(traj, mask) d2 = pt.calc_distance(fa, mask) aa_eq(d0, d1) aa_eq(d0, d2) Nsize = 12 arr = np.random.randint(0, 300, size=Nsize * 2).reshape(Nsize, 2) d3 = pt.calc_distance(fa, arr) d4 = pt.distance(traj, arr) d5 = pt.calc_distance(traj, arr) d6 = pt.calc_distance(fa, arr) d7 = pt.calc_distance([fa, traj], arr, n_frames=2 * fa.n_frames) d8 = pt.calc_distance([fa, traj], arr, n_frames=2 * fa.n_frames, dtype='dataset') aa_eq(d3, d4) aa_eq(d3, d5) aa_eq(d3, d6) aa_eq(d3.T, d7.T[:fa.n_frames]) aa_eq(d3.T, d7.T[fa.n_frames:]) aa_eq(d7, d8.values) # raise self.assertRaises(ValueError, lambda: pt.dihedrals(traj, [[0, 3, 2]]))
def test_distances(self): traj = pt.iterload("./data/Tc5b.x", "./data/Tc5b.top")[:] trajin = pt.datafiles.tc5b_trajin + """ distance @CB @CA distance @CA @H """ cout = pt.datafiles.load_cpptraj_output(trajin)[1:] mask_list = ('@CB @CA', '@CA @H') dslist = pt.calc_distance(traj, mask_list) dslist3_0 = pt.calc_distance(traj, mask_list[0]) dslist3_1 = pt.calc_distance(traj, mask_list[1]) # compare to cpptraj output aa_eq(dslist.flatten(), cout.values.flatten()) aa_eq(dslist3_0, dslist[0]) aa_eq(dslist3_1, dslist[1])
def test_distances(self): traj = pt.iterload(tc5b_trajin, tc5b_top)[:] trajin = """ parm {} trajin {} distance @CB @CA distance @CA @H """.format(fn('Tc5b.parm7'), fn('Tc5b.x')) cout = pt.datafiles.load_cpptraj_output(trajin)[1:] mask_list = ('@CB @CA', '@CA @H') dslist = pt.calc_distance(traj, mask_list) dslist3_0 = pt.calc_distance(traj, mask_list[0]) dslist3_1 = pt.calc_distance(traj, mask_list[1]) # compare to cpptraj output aa_eq(dslist.flatten(), cout.values.flatten()) aa_eq(dslist3_0, dslist[0]) aa_eq(dslist3_1, dslist[1])
def test_run_5(self): traj = pt.iterload(tc5b_trajin, tc5b_top) mask_list = ('@CB @CA', '@CA @H') dslist = CpptrajDatasetList() actlist = ActionList() for mask in mask_list: actlist.add(CA.Action_Distance(), mask, traj.top, dslist=dslist) actlist.compute(traj) dslist2 = pt.calc_distance(traj, mask_list) aa_eq(dslist.values, dslist2)
def test_run_5(self): traj = pt.iterload("./data/Tc5b.x", "./data/Tc5b.top") mask_list = ('@CB @CA', '@CA @H') dslist = CpptrajDatasetList() actlist = ActionList() for mask in mask_list: actlist.add(CA.Action_Distance(), mask, traj.top, dslist=dslist) actlist.compute(traj) dslist2 = pt.calc_distance(traj, mask_list) aa_eq(dslist.values, dslist2)