Example #1
0
def test_read_1(get_fn):
    with MDCRDTrajectoryFile(get_fn('frame0.mdcrd'), n_atoms=22) as f:
        xyz, _ = f.read()
    with MDCRDTrajectoryFile(get_fn('frame0.mdcrd'), n_atoms=22) as f:
        xyz3, _ = f.read(stride=3)

    eq(xyz[::3], xyz3)
Example #2
0
def test_read_0(get_fn):
    with MDCRDTrajectoryFile(get_fn('frame0.mdcrd'), n_atoms=22) as f:
        xyz, box = f.read()
        assert box is None
    with MDCRDTrajectoryFile(get_fn('frame0.mdcrdbox'), n_atoms=22) as f:
        xyz2, box = f.read()
        eq(box.shape, (1002, 3))
        eq(xyz, xyz2)
Example #3
0
def test_atom_indices_0(get_fn):
    atom_indices = np.arange(10)
    with MDCRDTrajectoryFile(get_fn('frame0.mdcrd'), n_atoms=22) as f:
        xyz0, box0 = f.read(n_frames=1)
    with MDCRDTrajectoryFile(get_fn('frame0.mdcrd'), n_atoms=22) as f:
        xyz1, box1 = f.read(n_frames=1, atom_indices=atom_indices)

    eq(xyz0[:, atom_indices], xyz1)
Example #4
0
def test_read_write_0():
    xyz = 10 * np.random.randn(100, 11, 3)
    with MDCRDTrajectoryFile(temp, mode='w') as f:
        f.write(xyz)
    with MDCRDTrajectoryFile(temp, n_atoms=11) as f:
        xyz2, _ = f.read()

    eq(_, None)
    eq(xyz, xyz2, decimal=3)
Example #5
0
def test_read_write_1():
    xyz = 10 * np.random.randn(100, 11, 3)
    box = np.random.randn(100, 3)
    with MDCRDTrajectoryFile(temp, mode='w') as f:
        f.write(xyz, box)
    with MDCRDTrajectoryFile(temp, n_atoms=11) as f:
        xyz2, box2 = f.read()

    eq(box, box2, decimal=3)
    eq(xyz, xyz2, decimal=3)
Example #6
0
def test_multiread(get_fn):
    reference = md.load(get_fn('frame0.mdcrd'), top=get_fn('native.pdb'))
    with MDCRDTrajectoryFile(get_fn('frame0.mdcrd'), n_atoms=22) as f:
        xyz0, box0 = f.read(n_frames=1)
        xyz1, box1 = f.read(n_frames=1)

    eq(reference.xyz[0], xyz0[0] / 10)
    eq(reference.xyz[1], xyz1[0] / 10)
Example #7
0
def test_seek(get_fn):
    reference = md.load(get_fn('frame0.mdcrd'), top=get_fn('native.pdb'))
    with MDCRDTrajectoryFile(get_fn('frame0.mdcrd'), n_atoms=22) as f:
        f.seek(1)
        eq(1, f.tell())
        xyz1, box1 = f.read(n_frames=1)
        eq(reference.xyz[1], xyz1[0] / 10)

        f.seek(10)
        eq(10, f.tell())
        xyz10, box10 = f.read(n_frames=1)
        eq(reference.xyz[10], xyz10[0] / 10)
        eq(11, f.tell())

        f.seek(-8, 1)
        xyz3, box3 = f.read(n_frames=1)
        eq(reference.xyz[3], xyz3[0] / 10)

        f.seek(4, 1)
        xyz8, box8 = f.read(n_frames=1)
        eq(reference.xyz[8], xyz8[0] / 10)