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 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
|
from mkdssp import dssp, TestBond, helix_type, chain_break_type, helix_type, helix_position_type, structure_type
import gzip
import unittest
class TestDssp(unittest.TestCase):
def setUp(self):
with gzip.open("1cbs.cif.gz", "rt") as f:
file_content = f.read()
self.dssp = dssp(file_content)
def test_dssp(self):
stats = self.dssp.statistics
self.assertEqual(stats.residues, 137)
def test_count(self):
count = 0
for r in self.dssp:
count += 1
self.assertEqual(count, 137)
def test_bond(self):
a = self.dssp.get('A', 137)
b = self.dssp.get('A', 6)
self.assertTrue(TestBond(a, b))
def test_one_residue(self):
r = self.dssp.get("A", 15)
self.assertEqual(r.asym_id, "A")
self.assertEqual(r.seq_id, 15)
self.assertEqual(r.compound_letter, "F")
self.assertEqual(r.auth_asym_id, "A")
self.assertEqual(r.auth_seq_id, 15)
self.assertEqual(r.pdb_strand_id, "A")
self.assertEqual(r.pdb_seq_num, 15)
self.assertEqual(r.pdb_ins_code, '')
self.assertAlmostEqual(r.alpha, 44.76425552368164)
self.assertAlmostEqual(r.kappa, 73.85977935791016)
self.assertAlmostEqual(r.phi, -66.86814880371094)
self.assertAlmostEqual(r.psi, -48.56082534790039)
self.assertAlmostEqual(r.tco, 0.9395495057106018)
self.assertAlmostEqual(r.omega, 179.16152954101562)
self.assertEqual(r.is_pre_pro, False)
self.assertEqual(r.is_cis, False)
self.assertEqual(r.chiral_volume, 0.0)
# self.assertAlmostEqual(r.chi, [-170.86489868164062, 59.921932220458984])
# self.assertAlmostEqual(r.ca_location, {'x': 22.385000228881836, 'y': 17.197999954223633, 'z': 17.680999755859375})
self.assertEqual(r.chain_break, chain_break_type.NoGap)
self.assertEqual(r.nr, 15)
self.assertEqual(r.type, structure_type.Alphahelix)
self.assertEqual(r.ssBridgeNr, 0)
self.assertEqual(r.helix(helix_type._3_10), helix_position_type.NoHelix)
self.assertEqual(r.helix(helix_type.alpha), helix_position_type.Start)
self.assertEqual(r.helix(helix_type.pi), helix_position_type.NoHelix)
self.assertEqual(r.helix(helix_type.pp), helix_position_type.NoHelix)
self.assertEqual(r.is_alpha_helix_end_before_start, False)
self.assertEqual(r.bend, True)
self.assertEqual(r.sheet, 0)
self.assertEqual(r.strand, 0)
(acceptor, energy) = r.acceptor(0)
self.assertEqual(acceptor.seq_id, 17)
self.assertAlmostEqual(energy, -0.2)
if __name__ == "__main__":
unittest.main()
|