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:
OEQMolBase() OEQMolBase(const OEMolBase &m) OEQMolBase(const OEQMolBase &m)
Default and copy constructors.
OEQMolBase &operator=(const OEMolBase &rhs)
OEQMolBase &operator=(const OEQMolBase &rhs)
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.
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.
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.
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).
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).
bool IsDataType(const void *) const