OEMCSMaxBondsCompleteCycles¶
class OEMCSMaxBondsCompleteCycles : public OEMCSFunc
This class represents OEMCSMaxBondsCompleteCycles.
The OEMCSMaxBondsCompleteCycles
class is an
implementation of OEMCSFunc
designed to order
maximum substructure matches by the maximum number of bonds
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¶
OEMCSMaxBondsCompleteCycles(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\ bonds + \frac{num.\ of\ mapped\ atoms}{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 OEMCSMaxBondsCompleteCycles
object is dynamically allocated and owned by the caller.