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 OEMolBase only in Java:

GetAtomList GetBondList GetGroupList

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.

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