def test_read_4(): "DCDReader: check streaming read followed by reading the 'rest'" xyz_ref, box_lengths_ref, box_angles_ref = DCDTrajectoryFile(fn_dcd).read() reader = DCDTrajectoryFile(fn_dcd) for i in range(int(len(xyz_ref)/2)): xyz, box_lenths, box_angles = reader.read(1) eq(xyz_ref[np.newaxis, i], xyz) eq(box_lengths_ref[np.newaxis, i], box_lenths) eq(box_angles_ref[np.newaxis, i], box_angles) xyz_rest, box_rest, angles_rest = reader.read() yield lambda: eq(xyz_ref[i+1:], xyz_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_4(): "DCDReader: check streaming read followed by reading the 'rest'" xyz_ref, box_lengths_ref, box_angles_ref = DCDTrajectoryFile(fn_dcd).read() reader = DCDTrajectoryFile(fn_dcd) for i in range(int(len(xyz_ref) / 2)): xyz, box_lenths, box_angles = reader.read(1) eq(xyz_ref[np.newaxis, i], xyz) eq(box_lengths_ref[np.newaxis, i], box_lenths) eq(box_angles_ref[np.newaxis, i], box_angles) xyz_rest, box_rest, angles_rest = reader.read() yield lambda: eq(xyz_ref[i + 1:], xyz_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_3(): "DCDReader: check streaming read of frames 1 at a time" xyz_ref, box_lengths_ref, box_angles_ref = DCDTrajectoryFile(fn_dcd).read() reader = DCDTrajectoryFile(fn_dcd) for i in range(len(xyz_ref)): xyz, box_lenths, box_angles = reader.read(1) eq(xyz_ref[np.newaxis, i], xyz) eq(box_lengths_ref[np.newaxis, i], box_lenths) eq(box_angles_ref[np.newaxis, i], box_angles)
def test_write_2(): xyz = np.array(np.random.randn(500, 10, 3), dtype=np.float32) box_lengths = 25 * np.ones((500, 3), dtype=np.float32) box_angles = 90 * np.ones((500, 3), dtype=np.float32) box_lengths[0,0] = 10.0 f = DCDTrajectoryFile(temp, 'w') f.write(xyz, box_lengths, box_angles) f.close() f = DCDTrajectoryFile(temp) xyz2, box_lengths2, box_angles2 = f.read() f.close() yield lambda: eq(xyz, xyz2) yield lambda: eq(box_lengths, box_lengths2) yield lambda: eq(box_angles, box_angles2)
def test_write_2(): xyz = np.array(np.random.randn(500, 10, 3), dtype=np.float32) box_lengths = 25 * np.ones((500, 3), dtype=np.float32) box_angles = 90 * np.ones((500, 3), dtype=np.float32) box_lengths[0, 0] = 10.0 f = DCDTrajectoryFile(temp, 'w') f.write(xyz, box_lengths, box_angles) f.close() f = DCDTrajectoryFile(temp) xyz2, box_lengths2, box_angles2 = f.read() f.close() yield lambda: eq(xyz, xyz2) yield lambda: eq(box_lengths, box_lengths2) yield lambda: eq(box_angles, box_angles2)
def test_read_closed(): f = DCDTrajectoryFile(fn_dcd) f.close() f.read()