rdkit.Chem.FilterCatalog module

class rdkit.Chem.FilterCatalog.FilterMatcher(name='Unamed FilterMatcher')

Bases: rdkit.Chem.rdfiltercatalog.PythonFilterMatcher

FilterMatcher - This class allows creation of Python based filters. Subclass this class to create a Filter useable in a FilterCatalogEntry

Simple Example:

from rdkit.Chem import rdMolDescriptors class MWFilter(FilterMatcher):

def __init__(self, minMw, maxMw):
FilterMatcher.__init__(self, “MW violation”) self.minMw = minMw self.maxMw = maxMw
def IsValid(self):
return True
def HasMatch(self, mol):
mw = rdMolDescriptors.CalcExactMolWt(mol) return not self.minMw <= mw <= self.maxMw
GetMatches(mol, matchVect) → returns True if the filter matches

(By default, this calls HasMatch and does not modify matchVect)

matchVect is a vector of FilterMatch’s which hold the matching filter and the matched query_atom, mol_atom pairs if applicable. To append to this vector: v = MatchTypeVect() v.append(IntPair( query_atom_idx, mol_atom_idx ) ) match = FilterMatch(self, v) matchVect.append( match )

GetName()
HasMatch(mol)

Return True if the filter matches the molecule

IsValid(mol)

Must override this function