March 2021

  • An issue with modeled loops having incorrect fragment numbers in their residue information has been fixed.


Fall 2020

  • Minor internal improvements have been made.

Spruce TK 1.2.0

Fall 2020

New features

  • New methods have been added to OEDesignUnitSplitOptions, OEDesignUnitSplitOptions.AddLipidCode, OEDesignUnitSplitOptions.SetLipidCodes, OEDesignUnitSplitOptions.ClearLipidCodes, and OEDesignUnitSplitOptions.GetLipidCodes that allow users to specify the names of molecules to be considered as lipids.
  • Support has been added for HEME and related cofactors in OEMakeDesignUnits. The state of HEME, contains two negatively charged nitrogens to balance the +2 Fe formal charge. The nitrogens coordinating the iron atom are indicated by zero-order bonds.
  • A new function, OEFindPockets, has been added that finds cavities in protein or nucleic acid complexes. The parameters for the search can be tuned with OEPocketOptions. The pockets are output as OEPocket objects in an iterator. The function can take a predicate that will control only outputting pockets with a given set of residues or atoms in it. This function is also used in OEMakeDesignUnits when a site residue is provided.
  • A new function, OEMakeDesignUnitFromPocket, has been added that takes a prepared biological unit from an OEMakeDesignUnit and an OEPocket and coverts it into an OEDesignUnit does with a reference structure.
  • New methods have been added in OELoopBuilderOptions, OELoopBuilderOptions.SetSeqAlignMethod, OELoopBuilderOptions.SetSeqAlignGapPenalty, OELoopBuilderOptions.SetSeqAlignExtendPenalty, OELoopBuilderOptions.GetSeqAlignMethod, OELoopBuilderOptions.GetSeqAlignGapPenalty, and OELoopBuilderOptions.GetSeqAlignExtendPenalty that allow users to control the sequence alignment done to find gaps in protein structures related to loop modeling.

Major bug fixes

  • A bug that caused some modeled loops to be missing the backbone NH hydrogen where the modeled loops were attached has been fixed.
  • Fragment numbers for build loops have been fixed to be consistent with the anchor residues where the loops are inserted.
  • A bug in OEFixBackbone has been fixed to ensure that OXT atoms are always built on C-terminal residues.
  • An issue with atom order for built pieces like loops or caps has been fixed to ensure that these are sequential with the location they are built.
  • A bug in OEBuildLoops that in specific situations caused incorrect detection of gaps in protein structures has been fixed. Additionally, options have been exposed in OELoopBuilderOptions to allows users to control the underlying sequence alignment in the event of a failure.

Minor bug fixes

  • Improvements have been made to standard amino acid residue perception when preparing structures.
  • Site residues in OEMakeDesignUnits are now being checked against all the biological units so one can serve as a reference for the rest.
  • A bug in loop modeling that caused the function to create residues with identical residue numbers has been fixed. The function now properly builds using insertion codes.
  • A bug in loop modeling that caused problems for the underlying sequence alignment code and incorrect loops when a single residue was floating in space between two gaps has been fixed.
  • The chemical component dictionary used internally in OEMakeDesignUnits has been updated with the latest changes from the RCSB, including some fixes for incorrect entries in the source data based on rules and literature searches.