Beispiel #1
0
def test_traj_iteration():
    from pyxmolpp2 import PdbFile, TrjtoolDatFile as DatFile, Trajectory
    frame = PdbFile(os.environ["TEST_DATA_PATH"] +
                    "/trjtool/GB1/run00001.pdb").frames()[0]

    assert frame.atoms.size > 0

    datfile1 = DatFile(os.environ["TEST_DATA_PATH"] +
                       "/trjtool/GB1/run00001.dat")
    datfile2 = DatFile(os.environ["TEST_DATA_PATH"] +
                       "/trjtool/GB1/run00002.dat")

    trj = Trajectory(frame)

    trj.extend(datfile1)
    trj.extend(datfile2)

    assert trj.n_frames == datfile1.n_frames() + datfile2.n_frames()

    n = 0
    stride = 50
    for f in trj[::stride]:
        r = f.atoms[0].r
        n += 1

    assert trj.n_frames // stride == n
def test_read_trjtool():
    from pyxmolpp2 import PdbFile, TrjtoolDatFile

    frame = PdbFile(os.environ["TEST_DATA_PATH"] + "/trjtool/GB1/run00001.pdb").frames()[0]

    assert frame.atoms.size > 0

    datfile = TrjtoolDatFile(os.environ["TEST_DATA_PATH"] + "/trjtool/GB1/run00001.dat")

    assert datfile.n_frames() == 1000
    assert datfile.n_atoms() == frame.atoms.size
    datfile.advance(0)
    datfile.read_frame(0, frame)