This API is currently available in C++ and Python.
OESystem::OEIterBase<OEChem::OEMolBase>* OEExtractBioUnits(const OEChem::OEMolBase& extractProtein, const OEChem::OEMolBase& refProtein, const OEBioUnitExtractionOptions opts=OEBioUnitExtractionOptions()) OESystem::OEIterBase<OEChem::OEMolBase>* OEExtractBioUnits(const OEChem::OEMolBase& extractProtein, const OEBioUnitExtractionOptions opts=OEBioUnitExtractionOptions())
Extracts BUs using either the PDB remarks when a single OEMolBase is provided, or a sequence alignment to a reference if two OEMolBases are provided. The OEExtractBioUnits is overloaded with to take an OEBioUnitExtractionOptions options class. This function returns an iterator of OEMolBase objects, one for each of the BUs.
If atoms are on the symmetry axis causing them to be duplicated by symmetry expansion, they are handled specially to avoid clashes in the output. If the duplication results in atoms of a molecule that are perfectly overlapping, e.g. a water molecule oxygen, then the duplicated water is deleted. If the overlap is not complete, but instead creates partially overlapping molecules, then the BU is enumerated into multiple BUs. The nearly identical BUs are tagged in generic data with an index number used by Spruce.
- The protein from which the BUs will be extracted.
- The reference protein that will be used for sequence alignment.
- OEBioUnitExtractionOptions options class defining biological unit extraction options.