def test_volmap(self): traj = pt.iterload(fn('tz2.ortho.nc'), fn('tz2.ortho.parm7'))[:1] size = '' center = '' state = pt.load_cpptraj_state( txt.format(fn('tz2.ortho.parm7'), fn('tz2.ortho.nc'), cm, size, center)) state.run() cpp_data = state.data[-2].values # last one is totalvolume traj = traj.superpose(mask=':1-13').center(':1-13 mass origin') ds = pt.volmap(traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5), buffer=2.0, centermask='!:1-13', radscale=1.36) aa_eq(cpp_data, ds) # assert self.assertRaises( AssertionError, lambda: pt.volmap(traj, mask=':WAT@O', grid_spacing='0.5 0.5 0.5')) self.assertRaises( AssertionError, lambda: pt.volmap(traj, mask=':WAT@O', grid_spacing=(0.5, 0.5))) self.assertRaises( ValueError, lambda: pt.volmap(traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5), size='20 20 20'))
def test_volmap(self): traj = pt.iterload("./data/tz2.ortho.nc", "./data/tz2.ortho.parm7")[:1] size = '' center = '' state = pt.load_cpptraj_state(txt.format(cm, size, center)) state.run() cpp_data = state.data[-1].values traj = traj.superpose(mask=':1-13').center(':1-13 mass origin') ds = pt.volmap(traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5), buffer=2.0, centermask='!:1-13', radscale=1.36) aa_eq(cpp_data, ds) # assert self.assertRaises(AssertionError, lambda: pt.volmap(traj, mask=':WAT@O', grid_spacing='0.5 0.5 0.5')) self.assertRaises(AssertionError, lambda: pt.volmap(traj, mask=':WAT@O', grid_spacing=(0.5, 0.5))) self.assertRaises(ValueError, lambda: pt.volmap(traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5), size='20 20 20')) # test size cm_no_buffer = cm.replace('buffer 2.0', '') state = pt.load_cpptraj_state(txt.format(cm_no_buffer, 'size 20,20,20', '')) state.run() cpp_data = state.data[-1].values ds = volmap(traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5), size=(20, 20, 20), buffer=2.0, centermask='!:1-13', radscale=1.36) aa_eq(cpp_data, ds) # test center state = pt.load_cpptraj_state(txt.format(cm_no_buffer, 'size 20,20,20', 'center 0.5,0.5,0.5')) state.run() cpp_data = state.data[-1].values ds = volmap(traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5), size=(20, 20, 20), center=(0.5, 0.5, 0.5), buffer=2.0, centermask='!:1-13', radscale=1.36) aa_eq(cpp_data, ds) # raise RuntimeError dry_traj = pt.iterload('data/tz2.nc', 'data/tz2.parm7') self.assertRaises(RuntimeError, lambda: pt.volmap(dry_traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5)))
def test_volmap(self): traj = pt.iterload("data/tz2.ortho.nc", "data/tz2.ortho.parm7") # raise if does not provide size self.assertRaises( AssertionError, lambda: pt.pmap(pt.volmap, traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5), n_cores=2)) mask = ':WAT@O' grid_spacing = (0.5, 0.5, 0.5) for n_cores in [1, 2, 3]: for size in [(20, 20, 20), (20, 40, 60)]: serial_out = pt.volmap(traj, mask=mask, grid_spacing=grid_spacing, size=size) parallel_out = pt.pmap(pt.volmap, traj, mask=mask, grid_spacing=grid_spacing, size=size, n_cores=n_cores) self.assertEqual(serial_out.shape, tuple(2 * x for x in size)) aa_eq(serial_out, parallel_out)
def test_volmap(self): traj = pt.iterload("data/tz2.ortho.nc", "data/tz2.ortho.parm7") # raise if does not provide size self.assertRaises(AssertionError, lambda: pt.pmap(pt.volmap, traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5), n_cores=2)) mask = ':WAT@O' grid_spacing = (0.5, 0.5, 0.5) for n_cores in [1, 2, 3]: for size in [(20, 20, 20), (20, 40, 60)]: serial_out = pt.volmap(traj, mask=mask, grid_spacing=grid_spacing, size=size) parallel_out = pt.pmap(pt.volmap, traj, mask=mask, grid_spacing=grid_spacing, size=size, n_cores=n_cores) self.assertEqual(serial_out.shape, tuple(2 * x for x in size)) aa_eq(serial_out, parallel_out)
def test_volmap_RuntimeError(self): # raise RuntimeError dry_traj = pt.iterload(fn('tz2.nc'), fn('tz2.parm7')) self.assertRaises( RuntimeError, lambda: pt.volmap( dry_traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5)))
def test_volmap_RuntimeError(self): # raise RuntimeError dry_traj = pt.iterload(fn('tz2.nc'), fn('tz2.parm7')) with pytest.raises(RuntimeError): pt.volmap(dry_traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5))
def test_volmap(self): traj = pt.iterload("./data/tz2.ortho.nc", "./data/tz2.ortho.parm7")[:1] size = '' center = '' state = pt.load_cpptraj_state(txt.format(cm, size, center)) state.run() cpp_data = state.data[-1].values traj = traj.superpose(mask=':1-13').center(':1-13 mass origin') ds = pt.volmap(traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5), buffer=2.0, centermask='!:1-13', radscale=1.36) aa_eq(cpp_data, ds) # assert self.assertRaises( AssertionError, lambda: pt.volmap(traj, mask=':WAT@O', grid_spacing='0.5 0.5 0.5')) self.assertRaises( AssertionError, lambda: pt.volmap(traj, mask=':WAT@O', grid_spacing=(0.5, 0.5))) self.assertRaises( ValueError, lambda: pt.volmap(traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5), size='20 20 20')) # test size cm_no_buffer = cm.replace('buffer 2.0', '') state = pt.load_cpptraj_state( txt.format(cm_no_buffer, 'size 20,20,20', '')) state.run() cpp_data = state.data[-1].values ds = volmap(traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5), size=(20, 20, 20), buffer=2.0, centermask='!:1-13', radscale=1.36) aa_eq(cpp_data, ds) # test center state = pt.load_cpptraj_state( txt.format(cm_no_buffer, 'size 20,20,20', 'center 0.5,0.5,0.5')) state.run() cpp_data = state.data[-1].values ds = volmap(traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5), size=(20, 20, 20), center=(0.5, 0.5, 0.5), buffer=2.0, centermask='!:1-13', radscale=1.36) aa_eq(cpp_data, ds) # raise RuntimeError dry_traj = pt.iterload('data/tz2.nc', 'data/tz2.parm7') self.assertRaises( RuntimeError, lambda: pt.volmap( dry_traj, mask=':WAT@O', grid_spacing=(0.5, 0.5, 0.5)))