mirror of
https://github.com/PDB-REDO/dssp.git
synced 2026-06-04 13:44:21 +08:00
68 lines
2.7 KiB
Python
68 lines
2.7 KiB
Python
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() |