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(ligName: str = str()) -> OEMolComplexCategorizer
OEMolComplexCategorizer(rhs: OEMolComplexCategorizer) -> OEMolComplexCategorizer

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()

__call__(roles: OERoleSet, counts: OEMolComplexResCounts,
         frag: OEAtomBondSet, isCovalent: bool = False) -> str

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

AddLigandName(ligName: str) -> None

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

ClearLigandSubSearch() -> None

Clear any ligand subsearch pattern.

CreateCopy

CreateCopy() -> OEMolComplexCategorizerBase

CreateCopy method.

GetBundleCofactors

GetBundleCofactors() -> bool

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

GetLigandSubSearch

GetLigandSubSearch() -> OESubSearch

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

GetMaxLigAtoms

GetMaxLigAtoms() -> int

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

GetMaxLigResidues

GetMaxLigResidues() -> int

Return the maximum number of residues in a ligand.

GetMaxPeptideResidues

GetMaxPeptideResidues() -> int

Return the maximum number of residues in a peptide.

GetMaxProteinAtoms

GetMaxProteinAtoms() -> int

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

GetMinLigAtoms

GetMinLigAtoms() -> int

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

GetResidueCategoryData

GetResidueCategoryData() -> OEResidueCategoryData

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

GetResidueCategoryData() -> OEResidueCategoryData

Returns a reference to the OEResidueCategoryData object used to define all the molecular components that are not ligands.

SetBundleCofactors

SetBundleCofactors(bundle: bool = True) -> None

Controls whether cofactors (other than metals) should be associated with the category OEMolComplexFilterCategory_ProtComplex.

SetLigandSubSearch

SetLigandSubSearch(smarts: str) -> None
SetLigandSubSearch(ss: OESubSearch) -> None

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

SetMaxLigAtoms

SetMaxLigAtoms(n: int) -> None

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

SetMaxLigResidues(n: int) -> None

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

SetMaxPeptideResidues(n: int) -> None

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

SetMaxProteinAtoms

SetMaxProteinAtoms(n: int) -> None

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

SetMinLigAtoms

SetMinLigAtoms(n: int) -> None

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

SetResidueCategoryData(db: OEResidueCategoryData) -> None

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

UsingExplicitLigandName

UsingExplicitLigandName() -> bool

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