OEDesignUnit

Attention

This API is currently available in C++ and Python.

class OEDesignUnit : public OESystem::OEBase

This is a container class derived from OEBase that holds all molecules needed to construct a model-ready biomolecular system.

Constructors

Molecule constructors

Note

Molecule constructors are intended for already prepared molecules. They requires a target structure, as well as either a ligand or a list of binding site residues. Solvent and co-factors are optional, and are only set if the molecules passed are valid. The target molecule is not split into components and no structure preparation take place. A title will be generated based on the names of the provided molecules, but can be set manually afterwards.

OEDesignUnit(const OEChem::OEMolBase& target,
             const OEChem::OEMolBase& ligand,
             const OEChem::OEMolBase& solvent = OEChem::OEGraphMol(),
             const OEChem::OEMolBase& cofactors = OEChem::OEGraphMol(),
             const unsigned targetID = OEDesignUnitComponents::Protein)

Target-ligand constructor

OEDesignUnit(const OEChem::OEMolBase& target,
             const std::vector<std::string>& siteResidues,
             const OEChem::OEMolBase& solvent = OEChem::OEGraphMol(),
             const OEChem::OEMolBase& cofactors = OEChem::OEGraphMol(),
             const unsigned targetID = OEDesignUnitComponents::Protein)

Apo target constructor

operator=

Assignment operator.

operator bool

Clear

CreateCopy

GetComponent

GetComponentID

GetComponentTag

GetComponents

GetComponentsWithin

GetDataType

GetIDs

GetLigand

GetMetal

GetNucleicAcid

GetPDBMetaData

GetPackingResidues

GetProtein

GetReceptor

GetSiteResidues

GetSolvent

GetStructureQuality

See also

GetTransform

See also

GetTaggedComponents

GetTags

GetTarget

GetTargetComponentID

GetTargetComponentTag

GetTitle

GetAltLoc

HasAltLoc

HasComponent

HasLigand

HasMetal

HasNucleicAcid

HasPDBMetaData

HasPackingResidues

HasProtein

HasReceptor

HasSiteResidues

HasSolvent

HasStructureQuality

HasTransform

HasTarget

HasTitle

IsDataType

SetTitle

SetSiteResidues

SetSiteResidues requires residues that are present in the current target component. SetSiteResidues returns False if siteResidues is empty, or if any residue in siteResidues is not found in the target.

SetSiteResidues uses the optional parameters as follows:

  • The threshold option defines the minimum heavy-atom fraction of the current ligand that must fall inside the site box. Setting the value to 0.0 skips the ligand coverage validation.

  • The addBox option expands the site box before ligand coverage is evaluated.

  • The rearrangeComponents option controls whether components are re-arranged in the design unit based on whether the ligand coverage validation is true or false. Setting rearrangeComponents to False causes SetSiteResidues to return False when ligand coverage is below threshold. Setting the value to True, allows component reassignment when ligand coverage is below threshold. The current ligand is moved to OtherLigands and cofactors are moved to OtherCofactors. The list of OtherLigands is then evaluated, and the best ligand that meets threshold can be promoted into the ligand component, with corresponding OtherCofactors moved to the Cofactors component.

  • siteSize controls how site-associated cofactors are determined.

Note

SetSiteResidues preserves an existing receptor only when at least one new site residue overlaps the previous site-residue set. SetSiteResidues clears the receptor when no overlap is found.

ClearReceptor

ClearComponent