# OEMakeDesignUnits¶

Attention

This is a preliminary API until 2020.Oct and may be improved based on user feedback. It is currently available in C++ and Python.

OESystem::OEIterBase<OEBio::OEDesignUnit> *
OEMakeDesignUnits(const OEChem::OEMolBase &structure,
const OESpruce::OEMakeDesignUnitOptions &opts=OESpruce::OEMakeDesignUnitOptions())
OESystem::OEIterBase<OEBio::OEDesignUnit> *
OEMakeDesignUnits(const OEChem::OEMolBase &structure,
const OESystem::OESkewGrid &electronDensity,
const OESpruce::OEMakeDesignUnitOptions &opts=OESpruce::OEMakeDesignUnitOptions())
OESystem::OEIterBase<OEBio::OEDesignUnit> *
OEMakeDesignUnits(const OEChem::OEMolBase &structure,
const OEBio::OEDesignUnit &designUnitReference,
const OESpruce::OEMakeDesignUnitOptions &opts=OESpruce::OEMakeDesignUnitOptions())
OESystem::OEIterBase<OEBio::OEDesignUnit> *
OEMakeDesignUnits(const OEChem::OEMolBase &structure,
const OESystem::OESkewGrid &electronDensity,
const OEBio::OEDesignUnit &designUnitReference,
const OESpruce::OEMakeDesignUnitOptions &opts=OESpruce::OEMakeDesignUnitOptions())


Return an iterator over all OEDesignUnit objects that can be produced from the input OEMolBase structure. A reference structure to be used for biounit extraction and structural superposition can be passed in through the designUnitReference argument, while information regarding the experimental data as well as basic options for constructing the design units themselves can be provided through the OEStructureMetadata (metadata) and OEMakeDesignUnitOptions (opts) arguments, respectively.

The difference between OEMakeDesignUnits and the OEMakeBioDesignUnits factory function is that the former will categorize all molecular components of the design unit, while the latter will not.

Note

This function will return an iterator over OEDesignUnit pointers, where the system’s molecules have been binned into categories given by the OEDesignUnitComponents namespace. Although an OEDesignUnitComponents.Metals category exists, depending on the proximity of the metal to the design unit’s binding site, the metal may be contained in either the OEDesignUnitComponents.Cofactors category if it falls within a cutoff to the binding site, or in the OEDesignUnitComponents.Metals category if not.

Code Example