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
Beispiel #2
0
def test_pipes():
    ref = PdbFile(os.environ["TEST_DATA_PATH"] +
                  "/trjtool/GB1/run00001.pdb").frames()[0]

    traj = Trajectory(ref)
    traj.extend(
        TrjtoolDatFile(os.environ["TEST_DATA_PATH"] +
                       "/trjtool/GB1/run00001.dat"))

    first_geom_center = XYZ(8.422286, 0.967190, -13.856332)

    for frame in traj:
        assert frame.coords.mean().distance(first_geom_center) < 0.001
        break
    del frame

    for frame in traj | AngstromsToNanometers():
        assert frame.coords.mean().distance(first_geom_center * 10) < 0.001
        break
    del frame

    for frame in traj | Align(by=lambda a: True):
        assert frame.coords.mean().distance(first_geom_center) < 0.001
    del frame
    for frame in traj[0:10] | Align(by=lambda a: True):
        assert frame.coords.mean().distance(first_geom_center) < 0.001
    del frame
    for frame in traj[0:10] | Align(
            by=lambda a: True) | AngstromsToNanometers():
        assert frame.coords.mean().distance(first_geom_center * 10) < 0.001
    del frame
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)
Beispiel #4
0
def test_tqdm():
    from tqdm import tqdm
    ref = PdbFile(os.environ["TEST_DATA_PATH"] +
                  "/trjtool/GB1/run00001.pdb").frames()[0]

    traj = Trajectory(ref)
    traj.extend(
        TrjtoolDatFile(os.environ["TEST_DATA_PATH"] +
                       "/trjtool/GB1/run00001.dat"))
    for _ in tqdm(traj):
        pass
    del _
    for _ in tqdm(traj[::2]):
        pass
    del _
Beispiel #5
0
def test_unit_cell_scale():
    ref = PdbFile(os.environ["TEST_DATA_PATH"] +
                  "/trjtool/GB1/run00001.pdb").frames()[0]
    traj = Trajectory(ref)
    traj.extend(
        TrjtoolDatFile(os.environ["TEST_DATA_PATH"] +
                       "/trjtool/GB1/run00002.dat"))
    volumes = []
    for frame in traj[::100] | ScaleUnitCell(
            os.environ["TEST_DATA_PATH"] +
            "/trjtool/GB1/summary/summary.VOLUME"):
        volumes += [frame.cell.volume]

    assert np.allclose(volumes, [
        112190.6817, 111667.0223, 112060.3447, 112010.4530, 111899.7620,
        112420.6936, 111794.6408, 112093.9081, 111655.2990, 111978.6604
    ])
def test_raise_file_is_empty():
    from pyxmolpp2 import TrjtoolDatFile
    import os
    with pytest.raises(RuntimeError):
        TrjtoolDatFile(os.devnull)
def test_raise_file_does_not_exists():
    from pyxmolpp2 import TrjtoolDatFile

    with pytest.raises(RuntimeError):
        TrjtoolDatFile("does_not_exists.dat")