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)
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)
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)
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)
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)
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)
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)