Skip to content

v0.4.0

Choose a tag to compare

@Ladme Ladme released this 13 Oct 15:47
· 372 commits to main since this release
ea5aba9

Changes to the Groan selection language

  • Breaking Change: Group names can no longer include the characters '<', '>', or '='.
  • Atom, residue, and group names can now be specified using regular expressions in the groan selection language.
  • Operators (<, >, <=, and =>) have been introduced for open-ended ranges in the groan selection language.
  • Added a new @hydrogen macro for automatic hydrogen atom detection.
  • Implemented a new tokenizer for atom and residue numbers in the groan selection language.

Changes to reading xtc and trr files

  • Breaking Change: Traits for reading xtc and trr files have been completely redone. Most notably, Xdr* methods, traits, and errors have been renamed to Traj*.
  • All trajectory readers must now implement TrajRead trait and do not have to be iterable. Trajectory iterator is constructed by wrapping the TrajRead-implementing structure into TrajReader.
  • Introduced several structures for efficient partial reading of trajectory files:
    • TrajRangeReader reads frames in a specified time range. Can be constructed for any structure implementing TrajRangeRead using with_range method.
    • TrajStepReader reads every stepth frame of the trajectory. Can be constructed for any structure implementing TrajStepRead using with_step method.
    • TrajRangeStepReader reads every stepth frame of the trajectory in a specified time range. Can be constructed for any structure implementing both TrajRangeRead and TrajStepRead using with_range and with_step methods.

Other changes

  • Added Atom::has_position and System::has_positions methods that check whether the atom or all atoms in the system, respectively, have non-zero position(s).
  • Added tests for reading double-precision trr files.
  • Enhanced documentation for error variants within the errors module.