def test_0(self): traj = mdio.iterload(fn('Tc5b.x'), fn('Tc5b.top')) frame0 = traj[0] assert frame0._buffer2d[0, 0] == frame0[0, 0] assert frame0._buffer2d[0, 1] == frame0[0, 1] assert frame0._buffer2d[0, 2] == frame0[0, 2] assert frame0._buffer2d[1, 0] == frame0[1, 0] assert frame0._buffer2d[19, 0] == frame0[19, 0] frame0._buffer2d[19, 0] = 1000. # make sure changing _buffer2d will update frame0.xyz too assert frame0._buffer2d[19, 0] == frame0[19, 0] arr0 = np.asarray(frame0._buffer2d) arr0[19] = [200, 300, 400.] assert frame0._buffer2d[19, 0] == frame0[19, 0] == arr0[19, 0] frame1 = frame0.copy() frame1.strip(traj.top("!@CA")) _f = pt.Frame(frame0, traj.top("@CA")) CA_2 = _f[2, :] aa_eq(CA_2, frame1[2, :]) assert frame0._buffer1d.shape == (912, ) assert frame0._buffer2d.shape == (304, 3) assert frame0._buffer1d.is_c_contig() == True frame0._buffer2d[1:3, 0] = array('d', [1., 2.]) aa_eq(frame0[1:3, 0], array('d', frame0._buffer2d[1:3, 0])) aa_eq(frame0._buffer2d[1:3, 0], array('d', frame0._buffer2d[1:3, 0]))
def test_force(self): frame = pt.Frame(304) force = np.zeros(304 * 3) + 1. assert frame.force is None frame.force = force assert frame.force.shape == (304, 3) frame.force = None assert frame.force is None
def test_velocity(self): frame = pt.Frame(304) velocity = np.zeros(304 * 3) + 1. assert frame.velocity is None frame.velocity = velocity assert frame.velocity.shape == (304, 3) frame.velocity = None assert frame.velocity is None
def get_frame_with_force(traj, forces=frcs): frame0 = pt.Frame() crdinfo = dict(has_force=True) frame0._allocate_force_and_velocity(traj.top, crdinfo) for frame, frc in zip(traj, frcs): frame0.xyz[:] = frame.xyz frame0.force[:] = frc yield frame0
def test_velocity_and_force_allocation(self): frame = pt.Frame() top = pt.tools.make_fake_topology(100) assert frame.n_atoms == 0 assert not frame.has_force() assert not frame.has_velocity() crdinfo = dict(has_force=True, has_velocity=True) frame._allocate_force_and_velocity(top, crdinfo) assert frame.n_atoms == 100 assert frame.has_force() assert frame.has_velocity()
def shape_mismatch2(): fa[0] = pt.Frame()
def test_0(self): traj = pt.iterload(fn('Tc5b.x'), fn('Tc5b.top')) for xyz0 in traj.xyz: frame = pt.Frame(traj.n_atoms, xyz0, _as_ptr=True) aa_eq(frame.xyz, xyz0)
def test_0(self): traj = pt.iterload("./data/Tc5b.x", "./data/Tc5b.top") for xyz0 in traj.xyz: frame = pt.Frame(traj.n_atoms, xyz0, _as_ptr=True) aa_eq(frame.xyz, xyz0)