1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
from pymol import cmd, testing, stored
@testing.requires('incentive')
@testing.requires('no_edu')
class TestMorphing(testing.PyMOLTestCase):
def testMorphRigimol(self):
cmd.set('suspend_undo')
import epymol.rigimol
cmd.fab('ACD', 'm1')
cmd.create('m1', 'm1', 1, 2)
cmd.rotate('x', 90, 'm1', 2)
steps = 5
cmd.morph('mout', 'm1', refinement=1, steps=steps, method='rigimol')
self.assertEqual(steps, cmd.count_states('mout'))
self.assertEqual(cmd.count_atoms('m1'),
cmd.count_atoms('mout'))
def testMorphMulti(self):
cmd.set('suspend_undo')
cmd.fab('ACD', 'm1')
cmd.create('m1', 'm1', 1, 2)
cmd.create('m1', 'm1', 1, 3)
cmd.rotate('x', 90, 'm1', 2)
cmd.rotate('x', 45, 'm1', 3)
steps = 5
cmd.morph('mout', 'm1', None, 0, 0, 0, steps, 'linear')
self.assertEqual(steps * 2, cmd.count_states('mout'))
self.assertEqual(cmd.count_atoms('m1'),
cmd.count_atoms('mout'))
cmd.morph('mo2', 'm1', None, 0, -1, 0, steps, 'linear')
self.assertEqual(steps * 3, cmd.count_states('mo2'))
self.assertEqual(cmd.count_atoms('m1'),
cmd.count_atoms('mo2'))
|