コード例 #1
0
ファイル: UnitTestGobbi.py プロジェクト: dahuilangda/rdkit
 def testOrderBug2(self):
   from rdkit.Chem import Randomize
   from rdkit import DataStructs
   probes = ['Oc1nc(Oc2ncccc2)ccc1']
   for smi in probes:
     m1 = Chem.MolFromSmiles(smi)
     #m1.Debug()
     sig1 = Generate.Gen2DFingerprint(m1,self.factory)
     csmi = Chem.MolToSmiles(m1)
     m2 = Chem.MolFromSmiles(csmi)
     #m2.Debug()
     sig2 = Generate.Gen2DFingerprint(m2,self.factory)
     self.failUnless(list(sig1.GetOnBits())==list(sig2.GetOnBits()),'%s %s'%(smi,csmi))
     self.failUnlessEqual(DataStructs.DiceSimilarity(sig1,sig2),1.0)
     self.failUnlessEqual(sig1,sig2)
     for i in range(10):
       m2 = Randomize.RandomizeMol(m1)
       sig2 = Generate.Gen2DFingerprint(m2,self.factory)
       if sig2!=sig1:
         Generate._verbose=True
         print '----------------'
         sig1 = Generate.Gen2DFingerprint(m1,self.factory)
         print '----------------'
         sig2 = Generate.Gen2DFingerprint(m2,self.factory)
         print '----------------'
         print Chem.MolToMolBlock(m1)
         print '----------------'
         print Chem.MolToMolBlock(m2)
         print '----------------'
         s1 = set(sig1.GetOnBits())
         s2= set(sig2.GetOnBits())
         print s1.difference(s2)
       self.failUnlessEqual(sig1,sig2)
コード例 #2
0
def TestMolecule(mol):
    try:
        Chem.SanitizeMol(mol)
        mol = Chem.RemoveHs(mol)
    except ValueError as msg:
        return -1
    except Exception:
        import traceback
        traceback.print_exc()
        return -2
    if mol.GetNumAtoms():
        try:
            Randomize.CheckCanonicalization(mol, 10)
        except Exception:
            import traceback
            traceback.print_exc()
            return -3
    return 0
コード例 #3
0
ファイル: BulkTester.py プロジェクト: dahuilangda/rdkit
import sys
from rdkit.Chem import Randomize

def TestMolecule(mol):
  try:
    Chem.SanitizeMol(mol)
    mol = Chem.RemoveHs(mol)
  except ValueError,msg:
    return -1
  except:
    import traceback
    traceback.print_exc()
    return -2
  if mol.GetNumAtoms():
    try:
      Randomize.CheckCanonicalization(mol,10)
    except:
      import traceback
      traceback.print_exc()
      return -3
  return 0
    
    
def TestSupplier(suppl,stopAfter=-1,reportInterval=100,reportTo=sys.stderr,
                 nameProp='_Name'):
  nDone = 0
  nFailed = 0
  while 1:
    try:
      mol = suppl.next()
    except StopIteration: