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:
operator() | GetBundleCofactors |
CreateCopy | UsingExplicitLigandName |
GetResidueCategoryData |
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.
AddLigandName¶
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.
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.
OEResidueCategoryData& GetResidueCategoryData()
Returns a reference to the OEResidueCategoryData object used to define all the molecular components that are not ligands.
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.