Package rdkit :: Package Chem :: Module FragmentMatcher
[hide private]
[frames] | no frames]

Module FragmentMatcher

source code

exposes a class for matching fragments of molecules.

The class exposes a simple API:

If you want a matcher that hits C=O, you'd do:
>>> p = FragmentMatcher()
>>> p.Init('C=O')

you can then match with:
>>> mol = Chem.MolFromSmiles('CC(=O)O')
>>> p.HasMatch(mol)
1
>>> p.HasMatch(Chem.MolFromSmiles('CC(C)C'))
0

information about the matches:
>>> len(p.GetMatches(Chem.MolFromSmiles('CC=O')))
1
>>> len(p.GetMatches(Chem.MolFromSmiles('O=CC=O')))
2

or, you can add exclusion fragments (defined as smarts) with:
>>> p.AddExclusion('c1ccccc1')

now the matcher will not hit anything that has a benzene ring.
>>> p.HasMatch(Chem.MolFromSmiles('CC=O'))
1
>>> p.HasMatch(Chem.MolFromSmiles('c1ccccc1CC=O'))
0

Classes [hide private]
  FragmentMatcher
Functions [hide private]
 
_test() source code
Variables [hide private]
  __package__ = 'rdkit.Chem'

Imports: Chem