diff options
Diffstat (limited to 'plip/test/test_xml_parser.py')
-rw-r--r-- | plip/test/test_xml_parser.py | 146 |
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) |