OEMolComplexCategorizer¶

class OEMolComplexCategorizer : public OEMolComplexCategorizerBase


Concrete class functor used by OESplitMolComplex and OEGetMolComplexComponents to assign functional roles to molecular fragments. The OESplitMolComplexOptions class holds a OEMolComplexCategorizer object by default.

The following methods are publicly inherited from OEMolComplexCategorizerBase:

Constructors¶

OEMolComplexCategorizer(const OEMolComplexCategorizer &rhs)
OEMolComplexCategorizer(const std::string &ligName=std::string())


Constructor and copy constructor. If ligName is specified in the call to the constructor, the method UsingExplicitLigandName will return true and components will be recognized as ligands if and only if they have a matching residue name string.

operator=¶

OEMolComplexCategorizer &operator=(const OEMolComplexCategorizer &rhs)


Assignment operator.

operator()¶

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


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.

void AddLigandName(const std::string &ligName)


Store an additional ligand name in the OEResidueCategoryData associated with this object. Method UsingExplicitLigandName will return true and components will be recognized as ligands if and only if they have a residue name string matching one of the OEResidueDatabaseCategory::Ligand entries.

ClearLigandSubSearch¶

void ClearLigandSubSearch()


Clear any ligand subsearch pattern.

CreateCopy¶

OEMolComplexCategorizerBase *CreateCopy() const


CreateCopy method.

GetBundleCofactors¶

bool GetBundleCofactors() const


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

GetLigandSubSearch¶

OEChem::OESubSearch GetLigandSubSearch() const


Return the subsearch pattern used to identify the ligand by graph.

GetMaxLigAtoms¶

unsigned GetMaxLigAtoms() const


Return the maximum number of non-hydrogen atoms in a ligand.

GetMaxLigResidues¶

unsigned GetMaxLigResidues() const


Return the maximum number of residues in a ligand.

GetMaxPeptideResidues¶

unsigned GetMaxPeptideResidues() const


Return the maximum number of residues in a peptide.

GetMaxProteinAtoms¶

unsigned GetMaxProteinAtoms() const


Return the maximum number of non-hydrogen atoms in a protein.

GetMinLigAtoms¶

unsigned GetMinLigAtoms() const


Return the minimum number of non-hydrogen atoms in a ligand.

GetResidueCategoryData¶

OEResidueCategoryData *GetResidueCategoryData() const


Return a new copy of the OEResidueCategoryData object used to define all the molecular components that are not ligands.

To avoid a memory leak in C++, the returned pointer should be stored in a variable of the OEOwnedPtr template class or deallocated with the delete operator.

SetBundleCofactors¶

void SetBundleCofactors(bool bundle=true)


Controls whether cofactors (other than metals) should be associated with the category OEMolComplexFilterCategory::ProtComplex.

SetLigandSubSearch¶

void SetLigandSubSearch(const char *smarts)
void SetLigandSubSearch(const OEChem::OESubSearch &ss)


Define a subsearch pattern used to identify the ligand by graph.

SetMaxLigAtoms¶

void SetMaxLigAtoms(unsigned n)


Set the maximum number of non-hydrogen atoms in a ligand. Default = 70.

Note

When no ligand is found, other molecules such as peptides, nucleic acids, or sugars may be treated as ligands. If this occurs, this restriction will not apply.

SetMaxLigResidues¶

void SetMaxLigResidues(unsigned n)


Set the maximum number of residues in a ligand. Default = 3.

Note

When no ligand is found, other molecules such as peptides, nucleic acids, or sugars may be treated as ligands. If this occurs, this restriction will not apply.

SetMaxPeptideResidues¶

void SetMaxPeptideResidues(unsigned n)


Set the maximum number of residues to be considered a peptide. Default = 49.

SetMaxProteinAtoms¶

void SetMaxProteinAtoms(unsigned n)


Set the maximum number of non-hydrogen atoms in a protein. Default = 0, meaning unlimited.

SetMinLigAtoms¶

void SetMinLigAtoms(unsigned n)


Set the minimum number of non-hydrogen atoms in a ligand. Default = 4.

Note

When no ligand is found, other molecules such as peptides, nucleic acids, or sugars may be treated as ligands. If this occurs, this restriction will not apply.

SetResidueCategoryData¶

void SetResidueCategoryData(const OEResidueCategoryData &db)


Set the OEResidueCategoryData object used to define all the molecular components that are not ligands.

UsingExplicitLigandName¶

bool UsingExplicitLigandName() const


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