OEMCSMaxAtomsCompleteCycles¶
class OEMCSMaxAtomsCompleteCycles : public OEMCSFunc
This class represents OEMCSMaxAtomsCompleteCycles.
The OEMCSMaxAtomsCompleteCycles class is an implementation of OEMCSFunc designed to order maximum substructure matches by the maximum number of atoms included in the graph match, with a variable priority given to matches which contain complete cycles common to both pattern and target.
See also
MCS scoring functions section
OEMCSSearch::SetMCSFunc
methodOECliqueSearch::SetMCSFunc
method
The following methods are publicly inherited from OEMCSFunc:
Constructors¶
OEMCSMaxAtomsCompleteCycles(double a=1.0)
The constructor takes a ‘penalty’ argument, with a default value
of 1.0
.
The penalty (or scaling) factor is used to subtract from the
total score composed of matching atoms and bonds the number of
pattern ring bonds that are not matches by a target bond
(see scoring function below).
This has the affect of scoring matches more highly when pattern
ring bonds are matched.
operator()¶
double operator()(const OEMolBase &, const OEMolBase &, OEAtomBase **,
OEBondBase **)
This method is called by its parent OEMCSSearch or OECliqueSearch object. The method is called with the pattern molecule, target molecule, and arrays and atoms and bonds containing the correspondences found for the a common structure match. The method computes a value based on the number of atoms and bonds in the common structure match which is used to determine the maximum common structure match.
Scoring function:
\(num.\ of\ mapped\ atoms + \frac{num.\ of\ mapped\ bonds}{100} - penalty \times num.\ of\ unmapped\ cyclic\ query\ bonds\)
The default penalty for each unmapped cyclic query bond is 1.0
.
CreateCopy¶
OEMCSFunc *CreateCopy() const
Deep copy constructor that returns a copy of the object. The memory for the returned OEMCSMaxAtomsCompleteCycles object is dynamically allocated and owned by the caller.
The returned copy should be deallocated using C++ delete operator in order to prevent a memory leak.