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
.
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.
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.
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.