rdkit.Chem.FragmentMatcher module

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

class rdkit.Chem.FragmentMatcher.FragmentMatcher

Bases: object

AddExclusion(sma)
GetBond(idx)
GetExclusionSMARTS()
GetMatch(mol)
GetMatches(mol, uniquify=1)
GetSMARTS()
HasMatch(mol)
Init(sma)