rdkit.Chem.FilterCatalog module

class rdkit.Chem.FilterCatalog.FilterMatcher((object)self, (object)callback)

Bases: 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

C++ signature :

void __init__(_object*,_object*)

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((FilterMatcherBase)self) str :
C++ signature :

std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > GetName(RDKit::FilterMatcherBase {lvalue})

HasMatch(mol)

Return True if the filter matches the molecule

IsValid(mol)

Must override this function