Spruce TK 1.0.0¶
A new function, OEMakeDesignUnits, has been added that generates OEDesignUnit from structures read from PDB or mmCIF files. The function takes a number of options to control its behavior; therefore, the following options classes have been defined:
- OEMakeDesignUnitOptions: a high-level options class that holds the options classes below.
- OEDesignUnitPrepOptions: a high-level options class that holds other options classes, determining how a design unit is prepped.
- OEDesignUnitBuildOptions: a low-level class that sets whether to build caps and missing sidechains.
- OEProtonateDesignUnitOptions: a low-level class that sets whether and how to protonate the design unit, including whether to generate tautomers.
- OEDesignUnitSplitOptions: a low-level class that determines how to handle alternate locations, how a system is split, locating the ligand, etc.
The OEMakeDesignUnits function also takes the OEStructureMetadata class as input. The OEStructureMetadata class holds experimental data if known and can be used to indicate which is the ligand, what the sequence of the protein is, and other relevant pieces of information.
The function OEMakeDesignUnits is a high-level function that works on the two intermediate functions, OEMakeBioDesignUnits and OEEnumerateSites, which can be run separately if intermediate results are desired. The high-level OEMakeDesignUnits function has a deduplication step built in; this function is highly recommended.
A new function, OEProtonateDesignUnit, has been added that ensures that protons in an OEDesignUnit are optimized. The high-level function OEMakeDesignUnits calls this by default unless it is turned off in options.
The OEBuildSidechains function has been updated to allow building all possible clusters even if one fails due to clashes. The function still returns false in this case.
Major bug fixes¶
- An issue in the OEExtractBioUnits function that caused a segfault due to an improper PDB header format has been fixed.
- An issue in the alternate location expansion that left atoms on top of each other due to unconventional location definitions has been fixed.