File: morphing.py

package info (click to toggle)
pymol 3.1.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 74,084 kB
  • sloc: cpp: 482,660; python: 89,328; ansic: 29,512; javascript: 6,792; sh: 84; makefile: 25
file content (34 lines) | stat: -rw-r--r-- 1,295 bytes parent folder | download
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'))