Ejemplo n.º 1
0
 def __init__(self, receptor_file, percentCutoff=1., detect_pi=False, dist_cutoff=6, verbose=False, 
                     distanceSelector=None, hydrogen_bond_builder=None, distanceSelectorWithCutoff=None,
                     aromatic_cycle_bond_selector=None): 
     self.receptor_file = receptor_file
     receptor = Read(receptor_file)
     assert(len(receptor)==1)
     assert isinstance(receptor, MoleculeSet)
     self.macro = receptor[0]
     self.macro_atoms = self.macro.allAtoms
     self.macro.buildBondsByDistance()
     self.verbose = verbose
     #??useful??
     self.percentCutoff = percentCutoff
     self.detect_pi = detect_pi
     self.distanceSelector = distanceSelector 
     if self.distanceSelector is None:
         self.distanceSelector = CloserThanVDWSelector(return_dist=0)
     self.hydrogen_bond_builder = hydrogen_bond_builder 
     if self.hydrogen_bond_builder is None:
         self.hydrogen_bond_builder = HydrogenBondBuilder()
     self.distanceSelectorWithCutoff = distanceSelectorWithCutoff 
     if self.distanceSelectorWithCutoff is None:
         self.distanceSelectorWithCutoff = DistanceSelector()
     self.dist_cutoff=float(dist_cutoff)
     self.results = d = {}
     self.report_list =['lig_hb_atoms','lig_close_atoms']
     self.aromatic_cycle_bond_selector = aromatic_cycle_bond_selector
     if self.aromatic_cycle_bond_selector is None:
         self.aromatic_cycle_bond_selector = AromaticCycleBondSelector()
     if detect_pi:
         self.report_list.extend(['pi_cation','pi_pi', 'cation_pi', 't_shaped'])
     if self.verbose: print("self.report_list=", self.report_list)
Ejemplo n.º 2
0
 def test_CloserThanVDWSelector_setupCutoff(self):
     """
      CloserThanVDWSelector cutoff is expected shape
     """
     cutoff = CloserThanVDWSelector().setupCutoff(self.rec.allAtoms, self.lig.allAtoms, 3.0)
     self.assertEquals(cutoff.shape[0], len(self.lig.allAtoms))
     self.assertEquals(cutoff.shape[1], len(self.rec.allAtoms))
Ejemplo n.º 3
0
 def test_CloserThanVDWSelector_select(self):
     """
     CloserThanVDWSelector.select returns expected number of atoms 
     """
     d_sel = CloserThanVDWSelector()
     resultD, distD = d_sel.select(self.lig.allAtoms, self.rec.allAtoms)
     #check that 14 atoms in the ligand are near 1 or more atoms in the receptor
     self.assertEquals(len(resultD.keys()), 14)
     d = {}
     for k in resultD.values():
         for item in k:
             d[item] = 0
     #check that 16 atoms in the receptor are near an atom in the ligand
     self.assertEquals(len(d.keys()), 16)
Ejemplo n.º 4
0
 def test_CloserThanVDWSelector(self):
     """
     instantiate a CloserThanVDWSelector
     """
     d_sel = CloserThanVDWSelector()
     self.assertEquals(d_sel.__class__, CloserThanVDWSelector)