OEMolComplexCategorizerBase

class OEMolComplexCategorizerBase

Abstract base class functor for objects stored in OESplitMolComplexOptions objects which are used by OESplitMolComplex and OEGetMolComplexComponents to assign functional roles to molecular fragments.

The following OESplitMolComplexOptions methods get or set an OEMolComplexCategorizerBase:

GetCategorizer

SetCategorizer

The following classes derive from this class:

operator()

std::string operator()(OESystem::OERoleSet &roles,
                       std::map<std::string, unsigned> &counts,
                       const OEChem::OEAtomBondSet& frag,
                       bool isCovalent = false) const =0

Method to examine the OEAtomBondSet frag and return three things required by OESplitMolComplex and OEGetMolComplexComponents to process the component:

  • a new title string

  • a OERoleSet containing the functional roles associated with this fragment (see OEMolComplexFilterCategory)

  • an updated map of how many times a residue has been seen to date

If isCovalent is true, additional tests may be performed to determine whether the fragment might be considered a (covalent) ligand which is indicated with the OEMolComplexFilterCategory.Ligand OERole in roles.

CreateCopy

OEMolComplexCategorizerBase *CreateCopy() const =0

CreateCopy method.

GetBundleCofactors

bool GetBundleCofactors() const

Returns true if cofactors (other than metals) are associated with the category OEMolComplexFilterCategory.Cofactor.

GetResidueCategoryData

OEResidueCategoryData* GetResidueCategoryData() const = 0

Pure virtual method.

OEResidueCategoryData& GetResidueCategoryData() = 0

Pure virtual method.

UsingExplicitLigandName

bool UsingExplicitLigandName() const

Returns true if an explicit ligand residue name is being used to identify the ligand.