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

Class FilterMatcher

source code

                   object --+            
                            |            
                  ??.instance --+        
                                |        
rdfiltercatalog.FilterMatcherBase --+    
                                    |    
  rdfiltercatalog.PythonFilterMatcher --+
                                        |
                                       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')
__init__( (object)arg1, (object)arg2) -> None :
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)
GetName( (FilterMatcherBase)arg1) -> str :
source code

Inherited from rdfiltercatalog.FilterMatcherBase: __reduce__, __str__

Inherited from unreachable.instance: __new__

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __subclasshook__

Class Variables [hide private]

Inherited from rdfiltercatalog.PythonFilterMatcher: __instance_size__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, name='Unamed FilterMatcher')
(Constructor)

source code 

__init__( (object)arg1, (object)arg2) -> None :

    C++ signature :
        void __init__(_object*,_object*)

Overrides: object.__init__
(inherited documentation)

HasMatch(self, mol)

source code 
Return True if the filter matches the molecule

Overrides: rdfiltercatalog.FilterMatcherBase.HasMatch

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

Overrides: rdfiltercatalog.FilterMatcherBase.GetMatches

IsValid(self, mol)

source code 
Must override this function

Overrides: rdfiltercatalog.FilterMatcherBase.IsValid

GetName(self)

source code 

GetName( (FilterMatcherBase)arg1) -> str :

    C++ signature :
        std::string GetName(RDKit::FilterMatcherBase {lvalue})

Overrides: rdfiltercatalog.FilterMatcherBase.GetName
(inherited documentation)