aboutsummaryrefslogtreecommitdiff
path: root/plip/test/test_xml_parser.py
diff options
context:
space:
mode:
Diffstat (limited to 'plip/test/test_xml_parser.py')
-rw-r--r--plip/test/test_xml_parser.py146
1 files changed, 0 insertions, 146 deletions
diff --git a/plip/test/test_xml_parser.py b/plip/test/test_xml_parser.py
deleted file mode 100644
index 1f45daa..0000000
--- a/plip/test/test_xml_parser.py
+++ /dev/null
@@ -1,146 +0,0 @@
-# coding=utf-8
-"""
-Protein-Ligand Interaction Profiler - Analyze and visualize protein-ligand interactions in PDB files.
-test_xml_parser.py - Unit Tests for XML Parser.
-"""
-
-
-import unittest
-from plip.exchange.xml import PlipXML
-
-
-class XMLParserTest(unittest.TestCase):
- """Checks if the XML parser is working correctly"""
-
- def setUp(self):
- self.px = PlipXML('./xml/1vsn.report.xml')
- self.bsite = self.px.bsites['NFT:A:283']
- self.smiles = 'CC(C)CC(NC(c1ccc(cc1)c1ccc(cc1)S(N)(=O)=O)C(F)(F)F)C(=O)NCC=N'
-
- def test_general_information(self):
- """Test if general information is correctly parsed."""
- self.assertEqual(self.px.version, '1.4.2')
- self.assertEqual(self.px.pdbid, '1VSN')
- self.assertFalse(self.px.fixed)
- self.assertEqual(self.px.filename, '1vsn.pdb')
- self.assertEqual(self.px.excluded, [])
-
- def test_bsite_information(self):
- """Test if the binding site information is correctly parsed."""
- self.assertEqual(self.bsite.pdbid, '1VSN')
- self.assertEqual(self.bsite.uniqueid, '1VSN:NFT:A:283')
- self.assertEqual(self.bsite.hetid, 'NFT')
- self.assertEqual(self.bsite.longname, 'NFT')
- self.assertEqual(self.bsite.ligtype, 'SMALLMOLECULE')
- self.assertEqual(self.bsite.smiles, self.smiles)
- self.assertEqual(self.bsite.members, ['NFT:A:283'])
- self.assertFalse(self.bsite.composite)
-
- # ligand properties
- self.assertEqual(self.bsite.heavy_atoms, 33)
- self.assertEqual(self.bsite.hbd, 5)
- self.assertEqual(self.bsite.unpaired_hbd, 0)
- self.assertEqual(self.bsite.hba, 7)
- self.assertEqual(self.bsite.unpaired_hba, 2)
- self.assertEqual(self.bsite.hal, 3)
- self.assertEqual(self.bsite.unpaired_hal, 1)
- self.assertEqual(self.bsite.rings, 2)
- self.assertEqual(self.bsite.rotatable_bonds, 12)
- self.assertAlmostEqual(self.bsite.molweight, 484, 0)
- self.assertAlmostEqual(self.bsite.logp, 6, 0)
-
- # Atom mappings (non-exhaustive test)
- lmap = self.bsite.mappings['pdb_to_smiles']
- self.assertEqual(lmap[1625], 24)
- self.assertEqual(lmap[1649], 33)
- self.assertEqual(lmap[1617], 14)
-
- # Binding site residues
- self.assertEqual(len(self.bsite.bs_res), 35)
-
- # Interacting chains
- self.assertEqual(self.bsite.interacting_chains, ['A'])
-
- # Has Interactions?
- self.assertTrue(self.bsite.has_interactions, True)
-
- def test_interactions(self):
- """Test if interaction information is correctly parsed."""
-
- # Hydrophobic Contacts
- self.assertEqual(len(self.bsite.hydrophobics), 4)
- hydrophobic1 = self.bsite.hydrophobics[0]
- self.assertEqual(hydrophobic1.dist, 3.67)
- self.assertEqual(hydrophobic1.resnr, 61)
- self.assertEqual(hydrophobic1.restype, 'ASP')
- self.assertEqual(hydrophobic1.reschain, 'A')
- self.assertEqual(hydrophobic1.ligcarbonidx, 1639)
- self.assertEqual(hydrophobic1.protcarbonidx, 448)
- self.assertEqual(hydrophobic1.ligcoo, (-7.395, 24.225, 6.614))
- self.assertEqual(hydrophobic1.protcoo, (-6.900, 21.561, 9.090))
-
- # Hydrogen Bonds
- self.assertEqual(len(self.bsite.hbonds), 6)
- hbond1 = self.bsite.hbonds[0]
- self.assertEqual(hbond1.resnr, 19)
- self.assertEqual(hbond1.restype, 'GLN')
- self.assertEqual(hbond1.reschain, 'A')
- self.assertTrue(hbond1.sidechain)
- self.assertEqual(hbond1.dist_h_a, 2.16)
- self.assertEqual(hbond1.dist_d_a, 3.11)
- self.assertEqual(hbond1.don_angle, 160.05)
- self.assertTrue(hbond1.protisdon)
- self.assertEqual(hbond1.donoridx, 153)
- self.assertEqual(hbond1.donortype, 'Nam')
- self.assertEqual(hbond1.acceptoridx, 1649)
- self.assertEqual(hbond1.acceptortype, 'N2')
- self.assertEqual(hbond1.ligcoo, (2.820, 18.145, 6.806))
- self.assertEqual(hbond1.protcoo, (3.976, 15.409, 7.712))
-
- # Water Bridges
- self.assertEqual(len(self.bsite.wbridges), 1)
- wbridge1 = self.bsite.wbridges[0]
- self.assertEqual(wbridge1.resnr, 159)
- self.assertEqual(wbridge1.restype, 'HIS')
- self.assertEqual(wbridge1.reschain, 'A')
- self.assertEqual(wbridge1.dist_a_w, 3.67)
- self.assertEqual(wbridge1.dist_d_w, 3.13)
- self.assertEqual(wbridge1.don_angle, 126.73)
- self.assertEqual(wbridge1.water_angle, 116.36)
- self.assertTrue(wbridge1.protisdon)
- self.assertEqual(wbridge1.donor_idx, 1210)
- self.assertEqual(wbridge1.donortype, 'Nar')
- self.assertEqual(wbridge1.acceptor_idx, 1649)
- self.assertEqual(wbridge1.acceptortype, 'N2')
- self.assertEqual(wbridge1.ligcoo, (2.820, 18.145, 6.806))
- self.assertEqual(wbridge1.protcoo, (6.401, 19.307, 4.971))
- self.assertEqual(wbridge1.watercoo, (3.860, 18.563, 3.309))
-
- # Salt Bridges
- self.assertEqual(len(self.bsite.sbridges), 0)
-
- # Pi stacking
- self.assertEqual(len(self.bsite.pi_stacks), 0)
-
- # Pi cation interactions
- self.assertEqual(len(self.bsite.pi_cations), 0)
-
- # Halogen Bonds
- self.assertEqual(len(self.bsite.halogens), 2)
- hal1 = self.bsite.halogens[0]
- self.assertEqual(hal1.resnr, 67)
- self.assertEqual(hal1.restype, 'TYR')
- self.assertEqual(hal1.reschain, 'A')
- self.assertTrue(hal1.sidechain)
- self.assertEqual(hal1.dist, 3.37)
- self.assertEqual(hal1.don_angle, 156.70)
- self.assertEqual(hal1.acc_angle, 100.53)
- self.assertEqual(hal1.don_idx, 1627)
- self.assertEqual(hal1.donortype, 'F')
- self.assertEqual(hal1.acc_idx, 485)
- self.assertEqual(hal1.acceptortype, 'O3')
- self.assertEqual(hal1.ligcoo, (-1.862, 29.303, 4.507))
- self.assertEqual(hal1.protcoo, (-1.005, 26.276, 3.287))
-
- # Metal complexes
- self.assertEqual(len(self.bsite.metal_complexes), 0)