Package rdkit :: Package Chem :: Module FilterCatalog :: Class FilterMatcher

[hide private]
[frames] | no frames]

# Class FilterMatcher

source code

    ??-140 --+
             |
            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

Instance Methods | [hide private]

__init__(self, name="Unamed FilterMatcher") | source code

HasMatch(self, mol) Return True if the filter matches the molecule | source code

    returns True if the filter matches

GetMatches(mol, matchVect) (By default, this calls HasMatch and does not modify matchVect) | source code

IsValid(self, mol) Must override this function | source code

GetName(self) | source code

Method Details | [hide private]

### GetMatches(mol, matchVect)

source code

    (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 )

Returns:

    returns True if the filter matches