Exemple #1
0
    def test_classifierVSselectors(self):
        """
         make sure that the classifier returns the same results as its
         selectors
        """
        bndClassifier = BondClassifier({
            'amide':
            AmideBondSelector(),
            'cycle':
            CycleBondSelector(),
            'leaf':
            LeafBondSelector(),
            'peptide':
            PeptideBackBoneBondSelector(),
        })
        #all the bonds in the molecule as a BondSet
        bnds = self.mol.allAtoms.bonds[0]

        #get the specified bonds as a BondSet
        localDict = {}
        localDict['amide'] = AmideBondSelector().select(bnds)
        localDict['cycle'] = CycleBondSelector().select(bnds)
        localDict['leaf'] = LeafBondSelector().select(bnds)
        localDict['peptide'] = PeptideBackBoneBondSelector().select(bnds)

        #make the classifier do the same thing
        resultDict = bndClassifier.classify(bnds)

        for k in resultDict.keys():
            self.compareBondSets(localDict[k], resultDict[k])
 def test_LeafBondSelector_select_all_leaves(self):
     """
      test LeafBond select: all bonds
     """
     leafBndSel = LeafBondSelector()
     ats = self.mol.allAtoms
     bnds = ats.bonds[0]
     resultBnds = leafBndSel.select(bnds)
     #print 'all_leaves:len(resultBnds)=', len(resultBnds)
     self.assertEqual(len(resultBnds) , 150)
 def test_LeafBondSelector_select_no_leaves(self):
     """
      test LeafBond select: no bonds
     """
     leafBndSel = LeafBondSelector()
     ats = self.mol.allAtoms[7:10]
     bnds = ats.bonds[0]
     resultBnds = leafBndSel.select(bnds)
     #print 'no_leaves:len(resultBnds)=', len(resultBnds)
     self.assertEqual(len(resultBnds) , 0)
 def test_LeafBondSelector_select_all_leaves(self):
     """
      test LeafBond select: all bonds
     """
     leafBndSel = LeafBondSelector()
     ats = self.mol.allAtoms
     bnds = ats.bonds[0]
     resultBnds = leafBndSel.select(bnds)
     #print 'all_leaves:len(resultBnds)=', len(resultBnds)
     self.assertEqual(len(resultBnds), 150)
 def test_LeafBondSelector_select_no_leaves(self):
     """
      test LeafBond select: no bonds
     """
     leafBndSel = LeafBondSelector()
     ats = self.mol.allAtoms[7:10]
     bnds = ats.bonds[0]
     resultBnds = leafBndSel.select(bnds)
     #print 'no_leaves:len(resultBnds)=', len(resultBnds)
     self.assertEqual(len(resultBnds), 0)
 def test_LeafBondSelector_select_some_leaves(self):
     """
      test LeafBond select: some bonds
     """
     leafBndSel = LeafBondSelector()
     ats = self.mol.allAtoms[:10]
     bnds = ats.bonds[0]
     resultBnds = leafBndSel.select(bnds)
     #print 'some_leaves:len(resultBnds)=', len(resultBnds)
     #self.assertEqual(len(resultBnds) , 2)
     self.assertEqual(len(resultBnds) , 5)
 def test_LeafBondSelector_select_some_leaves(self):
     """
      test LeafBond select: some bonds
     """
     leafBndSel = LeafBondSelector()
     ats = self.mol.allAtoms[:10]
     bnds = ats.bonds[0]
     resultBnds = leafBndSel.select(bnds)
     #print 'some_leaves:len(resultBnds)=', len(resultBnds)
     #self.assertEqual(len(resultBnds) , 2)
     self.assertEqual(len(resultBnds), 5)
def setAutoFlexFields(res):
    #process residues
    if hasattr(res, 'setup'):
        return
    res.setup = 1
    res.atoms.used = 0
    res.atoms.bonds[0].possibleTors = 0
    res.atoms.bonds[0].activeTors = 0
    backbone_names = [
        'C', 'N', 'O', 'HN', 'HN1', 'HN2', 'HA', 'H1', 'H2', 'H3', 'HO', 'H'
    ]
    #includes CA
    sidechain = res.atoms.get(lambda x: x.name not in backbone_names)
    res.sideChain = sidechain
    bondlist = res.bondlist = sidechain.bonds[0]
    bondlist.leaf = 0
    bondlist.possibleTors = 0
    bondlist.activeTors = 0
    rbs = RotatableBondSelector()
    rotatables = rbs.select(bondlist)
    for b in rotatables:
        b.possibleTors = 1
        b.activeTors = 1
    amides = AmideBondSelector().select(bondlist)
    for b in amides:
        b.activeTors = 0
        b.possibleTors = 1
    guanidiniums = GuanidiniumBondSelector().select(bondlist)
    for b in guanidiniums:
        b.activeTors = 0
        b.possibleTors = 1
    leaves = LeafBondSelector().select(bondlist)
    for b in leaves:
        b.activeTors = 0
        b.possibleTors = 0
    res.torscount = len(bondlist.get(lambda x: x.activeTors == 1))
    #this field is not used in AutoDock4
    res.torsdof = res.torscount
    res.torscount = len(bondlist.get(lambda x: x.activeTors == 1))
    res.torsdof = res.torscount

    caAtoms = res.atoms.get(lambda x: x.name == 'CA')
    #get returns an AtomSet
    if caAtoms:  #this checks for len(caAtoms)
        res.rootlist = caAtoms
    else:
        res.rootlist = AtomSet([res.atoms.get(lambda x: x._uniqIndex == 0)[0]])
        res.sideChain = res.atoms
Exemple #9
0
 def __init__(self, tolerance=0.01, detectAll=True):
     self.detect_all_cycles = detectAll
     self.d = {
         'amide': AmideBondSelector(),
         'ppbb': PeptideBackBoneBondSelector(),
         'leaf': LeafBondSelector(),
         'cycle': CycleBondSelector(),
         'rotatable': RotatableBondSelector(),
         'bondOrder2': BondOrderBondSelector(2),
         'hydrogenRotators': HydrogenRotatorBondSelector(),
         'guanidinium': GuanidiniumBondSelector(),
         'aromatic': AromaticCycleBondSelector2()
     }
     BondClassifier.__init__(self, self.d)
     #used to detect colinear atoms
     #if dist1+dist2<dist13+0.1
     self.tolerance = 0.01
 def test_LeafBondSelector_constructor(self):
     """
      test LeafBond constructor
     """
     leafBndSel = LeafBondSelector()
     self.assertEqual(leafBndSel.__class__, LeafBondSelector)