class BaseReference(object): def __init__(self): self.trajectory = None self.n_atoms = 5 self.n_frames = 5 # default for the numpy test functions self.prec = 6 self.container_format = False self.changing_dimensions = False self.first_frame = Timestep(self.n_atoms) self.first_frame.positions = np.arange(3 * self.n_atoms).reshape( self.n_atoms, 3) self.first_frame.frame = 0 self.second_frame = self.first_frame.copy() self.second_frame.positions = 2**1 * self.first_frame.positions self.second_frame.frame = 1 self.last_frame = self.first_frame.copy() self.last_frame.positions = 2**4 * self.first_frame.positions self.last_frame.frame = self.n_frames - 1 # remember frames are 0 indexed self.jump_to_frame = self.first_frame.copy() self.jump_to_frame.positions = 2**3 * self.first_frame.positions self.jump_to_frame.frame = 3 self.dimensions = np.array([81.1, 82.2, 83.3, 75, 80, 85], dtype=np.float32) self.dimensions_second_frame = np.array( [82.1, 83.2, 84.3, 75.1, 80.1, 85.1], dtype=np.float32) self.volume = mda.lib.mdamath.box_volume(self.dimensions) self.time = 0 self.dt = 1 self.totaltime = 5 def iter_ts(self, i): ts = self.first_frame.copy() ts.positions = 2**i * self.first_frame.positions ts.time = i ts.frame = i return ts
class BaseReference(object): def __init__(self): self.trajectory = None self.n_atoms = 5 self.n_frames = 5 # default for the numpy test functions self.prec = 6 self.container_format = False self.changing_dimensions = False self.first_frame = Timestep(self.n_atoms) self.first_frame.positions = np.arange( 3 * self.n_atoms).reshape(self.n_atoms, 3) self.first_frame.frame = 0 self.second_frame = self.first_frame.copy() self.second_frame.positions = 2 ** 1 * self.first_frame.positions self.second_frame.frame = 1 self.last_frame = self.first_frame.copy() self.last_frame.positions = 2 ** 4 * self.first_frame.positions self.last_frame.frame = self.n_frames - 1 # remember frames are 0 indexed self.jump_to_frame = self.first_frame.copy() self.jump_to_frame.positions = 2 ** 3 * self.first_frame.positions self.jump_to_frame.frame = 3 self.dimensions = np.array([81.1, 82.2, 83.3, 75, 80, 85], dtype=np.float32) self.dimensions_second_frame = np.array([82.1, 83.2, 84.3, 75.1, 80.1, 85.1], dtype=np.float32) self.volume = mda.lib.mdamath.box_volume(self.dimensions) self.time = 0 self.dt = 1 self.totaltime = 5 def iter_ts(self, i): ts = self.first_frame.copy() ts.positions = 2**i * self.first_frame.positions ts.time = i ts.frame = i return ts
class BaseReference(object): def __init__(self): self.trajectory = None self.n_atoms = 5 self.n_frames = 5 # default for the numpy test functions self.prec = 6 self.container_format = False self.changing_dimensions = False # for testing auxiliary addition self.aux_lowf = AUX_XVG_LOWF # test auxiliary with lower frequency self.aux_lowf_dt = 2 # has steps at 0ps, 2ps, 4ps # representative data for each trajectory frame, assuming 'closest' option self.aux_lowf_data = [ [2**0], # frame 0 = 0ps = step 0 [np.nan], # frame 1 = 1ps = no step [2**1], # frame 2 = 2ps = step 1 [np.nan], # frame 3 = 3ps = no step [2**2], # frame 4 = 4ps = step 2 ] self.aux_lowf_frames_with_steps = [0, 2, 4] # trajectory frames with # corresponding auxiliary steps self.aux_highf = AUX_XVG_HIGHF # test auxiliary with higher frequency self.aux_highf_dt = 0.5 # has steps at 0, 0.5, 1, ... 3.5, 4ps self.aux_highf_data = [ [2**0], # frame 0 = 0ps = step 0 [2**2], # frame 1 = 1ps = step 2 [2**4], # frame 2 = 2ps = step 4 [2**6], # frame 3 = 3ps = step 6 [2**8], # frame 4 = 4ps = step 8 ] self.aux_highf_n_steps = 10 self.aux_highf_all_data = [[2**i] for i in range(self.aux_highf_n_steps)] self.aux_offset_by = 0.25 self.first_frame = Timestep(self.n_atoms) self.first_frame.positions = np.arange(3 * self.n_atoms).reshape( self.n_atoms, 3) self.first_frame.frame = 0 self.first_frame.aux.lowf = self.aux_lowf_data[0] self.first_frame.aux.highf = self.aux_highf_data[0] self.second_frame = self.first_frame.copy() self.second_frame.positions = 2**1 * self.first_frame.positions self.second_frame.frame = 1 self.second_frame.aux.lowf = self.aux_lowf_data[1] self.second_frame.aux.highf = self.aux_highf_data[1] self.last_frame = self.first_frame.copy() self.last_frame.positions = 2**4 * self.first_frame.positions self.last_frame.frame = self.n_frames - 1 self.last_frame.aux.lowf = self.aux_lowf_data[-1] self.last_frame.aux.highf = self.aux_highf_data[-1] # remember frames are 0 indexed self.jump_to_frame = self.first_frame.copy() self.jump_to_frame.positions = 2**3 * self.first_frame.positions self.jump_to_frame.frame = 3 self.jump_to_frame.aux.lowf = self.aux_lowf_data[3] self.jump_to_frame.aux.highf = self.aux_highf_data[3] self.dimensions = np.array([81.1, 82.2, 83.3, 75, 80, 85], dtype=np.float32) self.dimensions_second_frame = np.array( [82.1, 83.2, 84.3, 75.1, 80.1, 85.1], dtype=np.float32) self.volume = mda.lib.mdamath.box_volume(self.dimensions) self.time = 0 self.dt = 1 self.totaltime = 4 def iter_ts(self, i): ts = self.first_frame.copy() ts.positions = 2**i * self.first_frame.positions ts.time = i ts.frame = i ts.aux.lowf = np.array(self.aux_lowf_data[i]) ts.aux.highf = np.array(self.aux_highf_data[i]) return ts
class BaseReference(object): def __init__(self): self.trajectory = None self.n_atoms = 5 self.n_frames = 5 # default for the numpy test functions self.prec = 6 self.container_format = False self.changing_dimensions = False # for testing auxiliary addition self.aux_lowf = AUX_XVG_LOWF # test auxiliary with lower frequency self.aux_lowf_dt = 2 # has steps at 0ps, 2ps, 4ps # representative data for each trajectory frame, assuming 'closest' option self.aux_lowf_data = [[2 ** 0], # frame 0 = 0ps = step 0 [np.nan], # frame 1 = 1ps = no step [2 ** 1], # frame 2 = 2ps = step 1 [np.nan], # frame 3 = 3ps = no step [2 ** 2], # frame 4 = 4ps = step 2 ] self.aux_lowf_frames_with_steps = [0, 2, 4] # trajectory frames with # corresponding auxiliary steps self.aux_highf = AUX_XVG_HIGHF # test auxiliary with higher frequency self.aux_highf_dt = 0.5 # has steps at 0, 0.5, 1, ... 3.5, 4ps self.aux_highf_data = [[2 ** 0], # frame 0 = 0ps = step 0 [2 ** 2], # frame 1 = 1ps = step 2 [2 ** 4], # frame 2 = 2ps = step 4 [2 ** 6], # frame 3 = 3ps = step 6 [2 ** 8], # frame 4 = 4ps = step 8 ] self.aux_highf_n_steps = 10 self.aux_highf_all_data = [[2 ** i] for i in range(self.aux_highf_n_steps)] self.aux_offset_by = 0.25 self.first_frame = Timestep(self.n_atoms) self.first_frame.positions = np.arange( 3 * self.n_atoms).reshape(self.n_atoms, 3) self.first_frame.frame = 0 self.first_frame.aux.lowf = self.aux_lowf_data[0] self.first_frame.aux.highf = self.aux_highf_data[0] self.second_frame = self.first_frame.copy() self.second_frame.positions = 2 ** 1 * self.first_frame.positions self.second_frame.frame = 1 self.second_frame.aux.lowf = self.aux_lowf_data[1] self.second_frame.aux.highf = self.aux_highf_data[1] self.last_frame = self.first_frame.copy() self.last_frame.positions = 2 ** 4 * self.first_frame.positions self.last_frame.frame = self.n_frames - 1 self.last_frame.aux.lowf = self.aux_lowf_data[-1] self.last_frame.aux.highf = self.aux_highf_data[-1] # remember frames are 0 indexed self.jump_to_frame = self.first_frame.copy() self.jump_to_frame.positions = 2 ** 3 * self.first_frame.positions self.jump_to_frame.frame = 3 self.jump_to_frame.aux.lowf = self.aux_lowf_data[3] self.jump_to_frame.aux.highf = self.aux_highf_data[3] self.dimensions = np.array([81.1, 82.2, 83.3, 75, 80, 85], dtype=np.float32) self.dimensions_second_frame = np.array([82.1, 83.2, 84.3, 75.1, 80.1, 85.1], dtype=np.float32) self.volume = mda.lib.mdamath.box_volume(self.dimensions) self.time = 0 self.dt = 1 self.totaltime = 4 def iter_ts(self, i): ts = self.first_frame.copy() ts.positions = 2 ** i * self.first_frame.positions ts.time = i ts.frame = i ts.aux.lowf = np.array(self.aux_lowf_data[i]) ts.aux.highf = np.array(self.aux_highf_data[i]) return ts