rdkit.Chem.FilterCatalog module

class rdkit.Chem.FilterCatalog.FilterMatcher(self, name: str)

Bases: FilterMatcher

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)

Return True if the filter matches the molecule (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(self) str
HasMatch(mol)

Return True if the filter matches the molecule

IsValid(mol)

Must override this function