aboutsummaryrefslogtreecommitdiff
path: root/plip/test/test_water_bridges.py
blob: d820b5942cf5b4925e2a906aa5e019c7337d1f5e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import unittest

from plip.structure.preparation import PDBComplex, PLInteraction


def characterize_complex(pdb_file: str, binding_site_id: str) -> PLInteraction:
    pdb_complex = PDBComplex()
    pdb_complex.load_pdb(pdb_file)
    for ligand in pdb_complex.ligands:
        if (
            ":".join([ligand.hetid, ligand.chain, str(ligand.position)])
            == binding_site_id
        ):
            pdb_complex.characterize_complex(ligand)
    return pdb_complex.interaction_sets[binding_site_id]


class WaterBridgeTest(unittest.TestCase):
    def test_3ems(self):
        interactions = characterize_complex("./pdb/3ems.pdb", "ARG:A:131")
        water_bridges = interactions.water_bridges
        self.assertEqual(len(water_bridges), 4)