OEQMolBase¶
class OEQMolBase : public OEMolBase
This class represents OEQMolBase.
The OEQMolBase is an abstract class that extends OEMolBase and provides facilities useful in graph matching. Query molecules are used in matching operations such as substructure search (OESubSearch), clique detection (OECliqueSearch), and maximum common substructure search (OEMCSSearch). Query expressions (OEExprBase) stored in query atoms (OEQAtomBase) and query bonds (OEQBondBase) are used to represent the boolean logic used in graph matching operations. Query molecules (OEQMolBase) conveniently collect query atoms and query bonds into a molecule suitable for use as a query graph in matching operations. As a derived type of OEMolBase, query molecules are valid arguments for functions which take a base molecule class as an argument.
The following methods are publicly inherited from OEMolBase:
The following methods are publicly inherited from OEBase:
Constructors¶
OEQMolBase()
OEQMolBase(const OEMolBase &m)
OEQMolBase(const OEQMolBase &m)
Default and copy constructors.
operator=¶
OEQMolBase &operator=(const OEMolBase &rhs)
Assignment operator that copies the data of the ‘rhs’ OEMolBase object into the right-hand side OEQMolBase object.
OEQMolBase &operator=(const OEQMolBase &rhs)
Assignment operator that copies the data of the ‘rhs’ OEQMolBase object into the right-hand side OEQMolBase object.
BuildExpressions¶
bool BuildExpressions(const OEMatchPair<OEExprBase> &)
bool BuildExpressions(unsigned int atomopts, unsigned int bondopts)
Builds query expressions (OEExprBase) for the
atoms (OEQAtomBase) and bonds
(OEQBondBase) contained in a query molecule
object.
Any pre-existing query expressions are destroyed by this method.
The bits in the unsigned integers passed to the method define
how query expressions will be built based on the attributes of
each atom and bond instance.
The bitwise options are stored in the
OEExprOpts
namespace.
This method provides the ability to convert attributes of base
atoms and bonds to query expressions that are consistent with
the semantics desired for a graph match procedure.
Each requested expression is constructed, using data from the
parent atom or bond if necessary.
During a graph match procedure, the resulting expression
composition will be used to evaluate atom and bond graph
component equivalences.
Note
OEQMolBase::BuildExpressions
uses the data
present in a query molecule only when it is called.
Subsequent modifications to atom and bond data to not cause
the expressions to be updated to reflect changes.
An additional call to
OEQMolBase::BuildExpressions
must be made
to synchronize expressions with atom and bond data.
CreateCopy¶
OESystem::OEBase *CreateCopy() const
Deep copy constructor that returns a copy of the object. The memory for the returned OEQMolBase 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.
GetQAtoms¶
OESystem::OEIterBase<OEQAtomBase> *GetQAtoms() const =0
Returns an iterator over all the query atoms (OEQAtomBase)
of a query molecule.
By default, this returns all the query atoms of the molecule in the order
they were created. The ordering of the atoms returned by
OEQMolBase::GetQAtoms
may be modified by
OEMolBase::OrderAtoms
.
OESystem::OEIterBase<OEQAtomBase> *
GetQAtoms(const OESystem::OEUnaryPredicate<OEChem::OEAtomBase> &) const =0
Returns an iterator over all of the query atoms of a query molecule that match the specified atom predicate (OEUnaryPredicate).
GetQBonds¶
OESystem::OEIterBase<OEQBondBase> *GetQBonds() const =0
Returns an iterator over all the query bonds (OEQBondBase)
of a query molecule.
By default, this returns all the query bonds of the molecule in the order
they were created. The ordering of the bonds returned by
OEQMolBase::GetQBonds
may be modified by
OEMolBase::OrderBonds
.
OESystem::OEIterBase<OEQBondBase> *
GetQBonds(const OESystem::OEUnaryPredicate<OEChem::OEBondBase> &) const =0
Returns an iterator over all of the query bonds of a query molecule that match the specified bond predicate (OEUnaryPredicate).
IsDataType¶
bool IsDataType(const void *) const