Package rdkit :: Package Chem :: Module FilterCatalog :: Class FilterMatcher
[hide private]
[frames] | no frames]

Class FilterMatcher

source code

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