def test_read_3(get_fn): # Test read with n_frames fn_dtr = get_fn('frame0.dtr') dtr_traj = DTRTrajectoryFile(fn_dtr) dtr_traj.seek(1) xyz, times, cell_lens, cell_angles = dtr_traj.read(n_frames=900) eq(len(xyz), 500)
def test_read_7(): 'test two full read' reader = DTRTrajectoryFile(fn_dtr) xyz, times, cell_lens, cell_angles = reader.read() xyz, times, cell_lens, cell_angles = reader.read() eq(len(xyz), 0) eq(len(times), 0) eq(len(cell_lens), 0) eq(len(cell_angles), 0)
def test_read_6(): "DTRReader: check streaming read followed by reading the 'rest'" xyz_ref, times_ref, box_lengths_ref, box_angles_ref = DTRTrajectoryFile(fn_dtr).read() reader = DTRTrajectoryFile(fn_dtr) for i in range(int(len(xyz_ref)/2)): xyz, times, box_lenths, box_angles = reader.read(1) eq(xyz_ref[np.newaxis, i], xyz) eq(times_ref[np.newaxis, i], times) eq(box_lengths_ref[np.newaxis, i], box_lenths) eq(box_angles_ref[np.newaxis, i], box_angles) xyz_rest, times_rest, box_rest, angles_rest = reader.read() yield lambda: eq(xyz_ref[i+1:], xyz_rest) yield lambda: eq(times_ref[i+1:], times_rest) yield lambda: eq(box_lengths_ref[i+1:], box_rest) yield lambda: eq(box_angles_ref[i+1:], angles_rest) yield lambda: len(xyz_ref) == i + len(xyz_rest)
def test_read_7(get_fn): # Test two full reads fn_dtr = get_fn('frame0.dtr') reader = DTRTrajectoryFile(fn_dtr) xyz, times, cell_lens, cell_angles = reader.read() xyz, times, cell_lens, cell_angles = reader.read() eq(len(xyz), 0) eq(len(times), 0) eq(len(cell_lens), 0) eq(len(cell_angles), 0)
def test_read(): """ test the default read and compare against reference trajectory in dcd format """ dtr_traj = DTRTrajectoryFile(fn_dtr) eq(len(dtr_traj), 501) xyz, times, cell_lens, cell_angles = dtr_traj.read() xyz2, cell_lens2, cell_angles2 = DCDTrajectoryFile(fn_dcd).read() eq(xyz, xyz2) eq(cell_lens, cell_lens2) eq(cell_angles, cell_angles2)
def test_read_5(): "check streaming read of frames 1 at a time" xyz_ref, times_ref, box_lengths_ref, box_angles_ref = DTRTrajectoryFile(fn_dtr).read() reader = DTRTrajectoryFile(fn_dtr) for i in range(len(xyz_ref)): xyz, times, box_lenths, box_angles = reader.read(1) eq(xyz_ref[np.newaxis, i], xyz) eq(times_ref[np.newaxis, i], times) eq(box_lengths_ref[np.newaxis, i], box_lenths) eq(box_angles_ref[np.newaxis, i], box_angles)
def test_read(get_fn): # Test the default read and compare against reference trajectory in dcd format fn_dtr = get_fn('frame0.dtr') fn_dcd = get_fn('frame0.dcd') dtr_traj = DTRTrajectoryFile(fn_dtr) eq(len(dtr_traj), 501) xyz, times, cell_lens, cell_angles = dtr_traj.read() xyz2, cell_lens2, cell_angles2 = DCDTrajectoryFile(fn_dcd).read() eq(xyz, xyz2) eq(cell_lens, cell_lens2) eq(cell_angles, cell_angles2)
def test_read_6(get_fn): # Check streaming read followed by reading the 'rest' fn_dtr = get_fn('frame0.dtr') xyz_ref, times_ref, box_lengths_ref, box_angles_ref = DTRTrajectoryFile(fn_dtr).read() reader = DTRTrajectoryFile(fn_dtr) for i in range(len(xyz_ref) // 2): xyz, times, box_lenths, box_angles = reader.read(1) eq(xyz_ref[np.newaxis, i], xyz) eq(times_ref[np.newaxis, i], times) eq(box_lengths_ref[np.newaxis, i], box_lenths) eq(box_angles_ref[np.newaxis, i], box_angles) xyz_rest, times_rest, box_rest, angles_rest = reader.read() i = len(xyz_ref) // 2 assert eq(xyz_ref[i:], xyz_rest) assert eq(times_ref[i:], times_rest) assert eq(box_lengths_ref[i:], box_rest) assert eq(box_angles_ref[i:], angles_rest) assert len(xyz_ref) == i + len(xyz_rest)
def test_read_3(): """test read with n_frames""" dtr_traj = DTRTrajectoryFile(fn_dtr) dtr_traj.seek(1) xyz, times, cell_lens, cell_angles = dtr_traj.read(n_frames=900) eq(len(xyz), 500)
def test_read_closed(): f = DTRTrajectoryFile(fn_dtr) f.close() f.read()
def test_read_closed(get_fn): fn_dtr = get_fn('frame0.dtr') with pytest.raises(IOError): f = DTRTrajectoryFile(fn_dtr) f.close() f.read()