Spruce TK 1.0.0

New features

  • The OEExtractBioUnits function has become a stable API. The final implementation includes an options class, OEBioUnitExtractionOptions, to control its behavior.

  • 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:

    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, OEMakeDesignUnit, has been added that creates an OEDesignUnit.

  • 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.

Minor bug fixes

  • An issue with OECapTermini preventing caps from being built in some very specific instances has been fixed.
  • OEBuildSidechains no longer builds sidechains on packing residues.

Documentation changes