RMF
Change Log

1.7.0 - 2024-12-04

  • Python 2 is no longer supported; the minimum supported Python version is 3.6.
  • CMake 2 is no longer supported; the minimum supported CMake version is 3.14.
  • RMF::decorator::Chain can now store the mmCIF asym ID, which need not be the same as the (author-provided) chain ID.

1.6.1 - 2024-05-13

  • .deb packages for RMF for Ubuntu are now provided via the Ubuntu PPA mechanism.
  • rmf_cat now checks that all of the files it has been asked to concatenate have the same structure and static frame, and exits with an error if they don't. A new --force option is provided to override this check.
  • Bugfix: fixes to build with Boost 1.85

1.6.0 - 2023-12-14

  • RPM packages for RMF for RedHat Linux (and clones such as Alma or Rocky) and for Fedora are now provided by the COPR project.
  • RMF::decorator::Chain can now store a per-chain sequence offset and UniProt accession. The offset, which defaults to zero, maps from the sequence index (which always starts at 1) to the residue index (which may not).

1.5.1 - 2023-06-08

  • Any String or Strings attributes containing filesystem paths are now rewritten when the RMF static frame is cloned (e.g. during rmf_slice or rmf_cat) so that they are relative to the new file, not the old one. This relies on the convention that path attributes have names ending in "filename" or "filenames".
  • Bugfix: particles without Cartesian coordinates are now handled correctly by the get_all_global_coordinates() Python function.
  • Bugfix: relative paths should now be set correctly when the path to the RMF file itself contains one or more '..' components.

1.5.0 - 2023-03-22

  • Windows builds now require MS Visual Studio 2015 or later (for full C++11 support). The following macros for pre-C++11 environments are no longer needed and are deprecated: RMF_NOEXCEPT, RMF_CANEXCEPT.
  • All RMF binaries now report the full version (including micro version) when the –version flag is used (e.g. "1.4.1", not "1.4").
  • If built with NumPy, some Python-specific functions are now provided to allow direct access to RMF data via NumPy arrays.
  • File handles can now be explicitly closed (via a close method). Most IO operations on a closed handle will now raise an error. In Python file handles now support the context manager protocol so can be used in 'with' blocks.

1.4.1 - 2022-11-21

  • Build fixes to work with SWIG 4.1.
  • Various internal build scripts now use 'python3' rather than unversioned 'python'.

1.4 - 2022-03-10

  • RMF now requires a C++11 compiler and SWIG 3 (or later) to build. Most recent compilers should support C++11, such as gcc, clang or MS Visual Studio 2012 or later. Various macro and header workarounds for pre-C++11 environments are thus no longer needed and are deprecated: RMF_FINAL, RMF_OVERRIDE, and RMF_FOREACH.
  • Build fixes for latest log4cxx, in C++17 mode, or with newer versions of gcc.

1.3.1 - 2021-12-01

  • Various build fixes for newer versions of gcc and clang.
  • Build fixes for Fedora 33 or later.
  • Add support for Python 3.10.
  • Minor documentation improvements.

1.3 - 2021-04-21

  • All RMF binaries now support the –version flag, and the RMF library itself is versioned.

1.2 - 2021-04-19

  • A new category of decorators 'provenance' allows information about how the structure was generated to be added to the file.
  • The new RMF::decorator::Reference decorator allows for a node to mark another node as its reference.
  • The new RMF::decorator::ExplicitResolution decorator allows attaching an explicitly-set resolution to a node. (This allows such values from IMP to be accurately stored in the file.)

1.1 - 2014-03-07