rdkit.Chem.FilterCatalog module — The RDKit 2016.09.1 documentation

# 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