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:

operator=

GetDimension

NumBonds

operator bool

GetEnergy

NumGroups

Clear

GetGroup

OrderAtoms

ClearCoords

GetGroups

OrderBonds

Compress

GetMaxAtomIdx

ResetPerceived

Count

GetMaxBondIdx

SetCoords

CreateCopy

GetTitle

SetDimension

DeleteAtom

HasPerceived

SetEnergy

DeleteBond

IsDataType

SetPerceived

DeleteGroup

IsDeleted

SetRxn

GetAtom

IsRxn

SetTitle

GetAtoms

NewAtom

Sweep

GetBond

NewBond

UnCompress

GetBonds

NewGroup

GetCoords

NumAtoms

The following methods are publicly inherited from OEBase:

operator=

GetData

IsDataType

operator+=

GetDataIter

SetBaseData

AddBaseData

GetDataType

SetBoolData

AddData

GetDoubleData

SetData

Clear

GetFloatData

SetDoubleData

CreateCopy

GetIntData

SetFloatData

DeleteData

GetStringData

SetIntData

GetBoolData

HasData

SetStringData

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