OESplitMolComplexOptions

class OESplitMolComplexOptions

The OESplitMolComplexOptions class encapsulates properties and resources that determine how OESplitMolComplex and OEGetMolComplexComponents operate. For examples detailing how to modify and/or operate different filters see Splitting Macromolecular Complexes.

Constructors

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

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

operator=

OESplitMolComplexOptions &operator=(const OESplitMolComplexOptions &rhs)

Assignment operator.

operator!=

bool operator!=(const OESplitMolComplexOptions &rhs) const

Not equals operator. Returns true if options are not equivalent.

operator==

bool operator==(const OESplitMolComplexOptions &rhs) const

Equals operator. Returns true if options are equivalent.

GetAddRGroup

bool GetAddRGroup() const

Returns true if “R groups” are to be added when covalent bonds are broken.

GetAdjustHCount

bool GetAdjustHCount() const

Returns true if the implicit hydrogen count is to be adjusted when covalent bonds are broken.

GetAssumptions

unsigned GetAssumptions() const

Return assumptions about molecular perception.

See also

GetCategorizer

OEMolComplexCategorizerBase *GetCategorizer() const

Return a new copy of the OEMolComplexCategorizerBase object used to categorize molecular components.

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.

GetCollectProteinByChain

bool GetCollectProteinByChain() const

Returns true if fragmented protein chains be associated with the same the same site.

GetCombinedFilter

OESystem::OEUnaryPredicate<OESystem::OERoleSet> *GetCombinedFilter() const

Returns a new copy of the filter that matches the ligand or protein or water filters.

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.

GetLigandFilter

OESystem::OEUnaryPredicate<OESystem::OERoleSet> *GetLigandFilter() const

Returns a new copy of the ligand filter.

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.

GetMaxBindingSiteDist

double GetMaxBindingSiteDist() const

Return the maximum distance from the ligand to be associated with a binding site. Can not be less than 1.0 Å.

GetMaxSurfaceWaterDist

double GetMaxSurfaceWaterDist() const

Return the maximum distance from the protein to be considered a surface water. Can not be less than 1.0 Å.

GetOtherFilter

OESystem::OEUnaryPredicate<OESystem::OERoleSet> *GetOtherFilter() const

Returns a new copy of the filter that matches everything that does not match the combined filter.

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.

GetPromoteUnknowns

bool GetPromoteUnknowns() const

Returns true if components classified as OEMolComplexFilterCategory::Unknown should be considered the ligand if no others ligand is found.

GetProteinFilter

OESystem::OEUnaryPredicate<OESystem::OERoleSet> *GetProteinFilter() const

Returns a new copy of the protein filter.

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.

GetSeparateResidues

bool GetSeparateResidues() const

Returns true if proteins are to be separated into individual residues before selection. Separating into residues can be used to extract binding site residues.

GetSplitCovalent

bool GetSplitCovalent() const

Returns true if covalent ligands are to be searched for and split out as separate components.

GetSplitCovalentCofactors

bool GetSplitCovalentCofactors() const

Returns true if covalent cofactors are to be searched for and split out as separate components.

GetWarnNoLigand

bool GetWarnNoLigand() const

Returns true if a verbose level warning will be generated when a ligand is not found.

GetWaterFilter

OESystem::OEUnaryPredicate<OESystem::OERoleSet> *GetWaterFilter() const

Returns a new copy of the water filter.

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.

ResetFilters

void ResetFilters(unsigned site=1u,
                  bool surfaceWaters=false,
                  unsigned ligCategory=OEMolComplexFilterCategory::Ligand,
                  unsigned protCategory=OEMolComplexFilterCategory::ProtComplex,
                  unsigned waterCategory=OEMolComplexFilterCategory::Water,
                  unsigned modelNo=1u)

Regenerate filters based on parameters. Can be overridden by methods to set individual filters. Site 0 means all sites. ModelNo 0 means all models.

Note

It may be necessary to remove the input flavor OEIFlavor::PDB::ENDM to read all models (see the splitmolcomplex example for how to do this). In most situations, the modelNo parameter should be set to either 0 or 1 (the default). The reason for this is that the site counter, which the site parameter selects based on, does not reset for each model and therefore site and model are not independent. A good example of where this can be used is with a PDB biological assembly file: setting the modelNo parameter to 0 (use all models), allows a binding site spanning symmetry related proteins marked as different models to be recognized.

SetAddRGroup

void SetAddRGroup(bool addR=true)

Set whether “R groups” are to be added when covalent bonds are broken.

SetAdjustHCount

void SetAdjustHCount(bool adjust=true)

Set whether the implicit hydrogen count is to be adjusted when covalent bonds are broken.

SetAssumptions

void SetAssumptions(unsigned assume)

Set assumptions about molecular perception. Default = OEAssumption::ResPerceived

SetCategorizer

void SetCategorizer(const OEMolComplexCategorizerBase &cat)

Set the OEMolComplexCategorizerBase object used to categorize molecular components.

SetCollectProteinByChain

void SetCollectProteinByChain(bool collect=true)

Set whether fragmented protein chains should be collected into the same site. Default = true

SetLigandFilter

void SetLigandFilter(const OESystem::OEUnaryPredicate<OESystem::OERoleSet> &f)

Set the ligand filter. Default is an OEMolComplexFilterFactory created with OEMolComplexFilterCategory::Ligand

SetMaxBindingSiteDist

void SetMaxBindingSiteDist(double dist)

Set the maximum distance from the ligand to be associated with a binding site. Default = 8.0 Å

SetMaxSurfaceWaterDist

void SetMaxSurfaceWaterDist(double dist)

Set the maximum distance from the protein to be considered a surface water. Default = 5.0 Å

SetPromoteUnknowns

void SetPromoteUnknowns(bool promote=true)

Set whether components classified as OEMolComplexFilterCategory::Unknown should be considered the ligand if no others ligand is found. Default = true

SetProteinFilter

void
  SetProteinFilter(const OESystem::OEUnaryPredicate<OESystem::OERoleSet> &f)

Set the protein filter. Default is an OEMolComplexFilterFactory created with OEMolComplexFilterCategory::ProtComplex

SetSeparateResidues

void SetSeparateResidues(bool separate=true)

Set whether to separate proteins into individual residues before selection. Can be used to identify binding site residues. Default = false

SetSplitCovalent

void SetSplitCovalent(bool split=true)

Set whether covalent ligands are to be searched for and split out as separate components. Default = false

SetSplitCovalentCofactors

void SetSplitCovalentCofactors(bool split=true)

Set whether covalent cofactors are to be searched for and split out as separate components. Default = false

SetWarnNoLigand

void SetWarnNoLigand(bool warn=true)

Set whether to send out a verbose level warning if a ligand is not found. Default = true

SetWaterFilter

void SetWaterFilter(const OESystem::OEUnaryPredicate<OESystem::OERoleSet> &f)

Set the water filter. Default is an OEMolComplexFilterFactory created with OEMolComplexFilterCategory::Water