File: PYMOL-132.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 (26 lines) | stat: -rw-r--r-- 771 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
'''
duplicated CONECT records
'''

import unittest
from collections import defaultdict
from pymol import cmd, testing, stored

class Test132(testing.PyMOLTestCase):

    @testing.foreach(0, 1)
    def test(self, nodup):
        cmd.set('pdb_conect_nodup', nodup)
        cmd.fragment('cyclopentadiene')
        lines = cmd.get_pdbstr().splitlines()
        bonds = defaultdict(int)
        for line in lines:
            if line.startswith('CONECT'):
                indices = list(map(int, line[6:].split()))
                for i in indices[1:]:
                    bonds[indices[0], i] += 1
        counts = bonds.values()
        if nodup:
            self.assertTrue(all(v == 1 for v in counts))
        else:
            self.assertTrue(any(v > 1 for v in counts))