Beispiel #1
0
    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'))
Beispiel #2
0
    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)))
Beispiel #3
0
    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)
Beispiel #4
0
    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)
Beispiel #5
0
 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)))
Beispiel #6
0
 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))
Beispiel #7
0
    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)))