Ejemplo n.º 1
0
    def test_serialization(self):
        mol = Chem.MolFromSmiles("O=C1CCCCC1")
        base_tautomer_query = rdTautomerQuery.TautomerQuery(mol)
        for tautomer_query in (pickle.loads(pickle.dumps(base_tautomer_query)),
                               rdTautomerQuery.TautomerQuery(
                                   base_tautomer_query.ToBinary())):
            self.assertEqual(2, len(tautomer_query.GetTautomers()))
            modified_bonds = tautomer_query.GetModifiedBonds()
            self.assertEqual(3, len(modified_bonds))
            modified_atoms = tautomer_query.GetModifiedAtoms()
            self.assertEqual(3, len(modified_atoms))

            target = Chem.MolFromSmiles("OC1=CCCC(CC)C1")
            self.assertTrue(
                target.HasSubstructMatch(tautomer_query.GetTemplateMolecule()))
Ejemplo n.º 2
0
 def test_simple(self):
     mol = Chem.MolFromSmiles("CC=O")
     tautomer_query = rdTautomerQuery.TautomerQuery(mol)
     target = Chem.MolFromSmiles("OC(C)=O")
     tautomers = tautomer_query.GetTautomers()
     self.assertTrue(target.HasSubstructMatch(mol))
     self.assertTrue(tautomer_query.IsSubstructOf(target))
Ejemplo n.º 3
0
 def test_types(self):
     mol = Chem.MolFromSmiles("O=C1CCCCC1")
     tautomer_query = rdTautomerQuery.TautomerQuery(mol)
     target = Chem.MolFromSmiles("OC1=CCCC(CC)C1")
     try:
         self.assertTrue(target.HasSubstructMatch(tautomer_query.GetTautomers()[1]))
     except Exception:
         self.fail("Boost type error")
Ejemplo n.º 4
0
    def test_basic(self):
        mol = Chem.MolFromSmiles("O=C1CCCCC1")
        tautomer_query = rdTautomerQuery.TautomerQuery(mol)
        self.assertEqual(2, len(tautomer_query.GetTautomers()))
        modified_bonds = tautomer_query.GetModifiedBonds()
        self.assertEqual(3, len(modified_bonds))
        modified_atoms = tautomer_query.GetModifiedAtoms()
        self.assertEqual(3, len(modified_atoms))

        target = Chem.MolFromSmiles("OC1=CCCC(CC)C1")
        self.assertTrue(
            target.HasSubstructMatch(tautomer_query.GetTemplateMolecule()))

        match = tautomer_query.IsSubstructOf(target)
        self.assertTrue(match)
        self.assertTrue(
            target.HasSubstructMatch(tautomer_query.GetTemplateMolecule()))
        #self.assertTrue(target.HasSubstructMatch(tautomer_query.GetTautomers()[1]))
        match = tautomer_query.GetSubstructMatch(target)
        self.assertEqual(7, len(match))

        matches = tautomer_query.GetSubstructMatches(target)
        self.assertEqual(1, len(matches))

        tautomer_matches = tautomer_query.GetSubstructMatchesWithTautomers(
            target)
        self.assertEqual(1, len(tautomer_matches))
        self.assertEqual(len(tautomer_matches[0][0]), 7)
        matching_tautomer = tautomer_matches[0][1]
        self.assertTrue(target.HasSubstructMatch(matching_tautomer))

        tautomer_fingerprint = tautomer_query.PatternFingerprintTemplate()
        target_fingerprint = rdTautomerQuery.PatternFingerprintTautomerTarget(
            target)
        matching_fingerprints = DataStructs.AllProbeBitsMatch(
            tautomer_fingerprint, target_fingerprint)
        self.assertTrue(matching_fingerprints)

        file = os.environ[
            'RDBASE'] + '/Code/GraphMol/MolStandardize/test_data/tautomerTransforms.in'
        tautomer_query2 = rdTautomerQuery.TautomerQuery(mol, file)
        self.assertEqual(2, len(tautomer_query.GetTautomers()))
Ejemplo n.º 5
0
 def test_parameter_searches(self):
     mol = Chem.MolFromSmiles("O=C1CCCCC1")
     tautomer_query = rdTautomerQuery.TautomerQuery(mol)
     target = Chem.MolFromSmiles("O=C1CCCC(CC)C1")
     params = Chem.SubstructMatchParameters()
     params.uniquify = False
     tautomer_matches = tautomer_query.GetSubstructMatchesWithTautomers(target, params)
     self.assertEqual(2, len(tautomer_matches))
     matches = tautomer_query.GetSubstructMatches(target, params)
     self.assertEqual(2, len(matches))
     match = tautomer_query.GetSubstructMatch(target, params)
     self.assertEqual(7, len(match))
     is_match = tautomer_query.IsSubstructOf(target, params)
     self.assertTrue(is_match)