Skip to content


@benmwebb benmwebb tagged this 08 Apr 18:11
- A module IMP.template was added to act as a template for creating new
  external modules. It includes setting up git hooks for format checks and
  things like that.

- The python support for grids was cleaned up. Hopefully this makes it more
  robust. If you were using a grid in python that no longer exists, ping us,
  we can add it back.

- The generic geometry functions were simplified slightly and renamed to

- The IMP::base::Flag class was added to simplify adding flags in C++.

- The `--log_level` and `--check_level` command line argument now take
  strings (eg VERBOSE) to specify their values, rather than cryptic (and a
  bit unstable) numbers.

- Command line options are now divided into normal and advanced ones.
  You do `--help_advanced` to show the advanced ones.

- Support for computing Connolly surfaces was added with
  IMP::algebra::get_connolly_surface(). In addition, there is now
  IMP::algebra::get_uniform_surface_cover(const IMP::algebra::Sphere3Ds&,double)
  to sample the surface of a collection of balls.

- IMP::atom:: create_simplified_from_volume() was added to create a simplified
  representation of a hierarchy that preserves the surface are and occupied
  volume. It uses IMP::algebra::get_simplified_from_volume(). If you want to
  play with such representations, you can use the rmf_simply application.

- IMP::atom::get_rmsd(IMP::atom::Selection, IMP::atom::Selection,
                      const IMP::algebra::Transformation3D&) was deprecated.
  Use IMP::atom::get_rmsd_transforming_first() instead.

- IMP::algebra::get_rmsd() and IMP::algebra::get_rmsd_transforming_first()
  were added.

  have been added (eg IMP_BASE_SMALL_ORDERED_SET ()). They provide platform
  and boost-version independent ways to take advantage of the best set/map for
  an application. In particular, they use boost::container::flat_set and kin
  when available.

- IMP::atom::State and IMP::atom::Representation decorators have been added
  to provide support for multiple states and multiple representation schemes.
  They are integrated with RMFs and IMP::atom::Selection.
  See atom/ and atom/ for examples.

- The container implementations has been cleaned up and simplified a bit.
  This should not change most usage.

- [RMF]( has been updated. There are a few minor
  API changes, in addition to a new, faster format (`.rmf3`).

- [Eigen](#Eigen) is now included with IMP.

- The deprecated function IMP::kernel::Optimizer::set_restraints() was
  removed. Use IMP::kernel::Optimizer::set_scoring_function() instead.

- The deprecated constructor for IMP::kernel::ModelObject that does not take
  an IMP::kernel::Model was removed. This propagates to constructors
  IMP::kernel::Restraint, IMP::kernel::ScoreState and kin. Make sure you pass
  an IMP::kernel::Model as the first constructor argument. Related to this,
  deprecated functions like get_is_part_of_model(), set_model() were removed
  as they don't serve any purpose.

- The deprecated methods in IMP::kernel::Optimizer that pertain to attribute
  optimization were removed. Inherit from IMP::kernel::AttributeOptimizer
  instead if you want to use them in your optimizer.

- Some deprecated functionality was removed. If you encounter problems,
  replace IMP::base::OwnerPointer with IMP::base::PointerMember, find logging
  stuff in IMP/base/log.h, object in IMP/base/Object.h and random in

- IMP::atom::Chain now uses strings for the chain ids, to be consistent with
  changes in the PDB. PDB files are written using the first character of
  the chain string.

- Added orientation-dependent SOAP scoring (IMP::score_functor::OrientedSoap
  and IMP::atom::OrientedSoapPairScore). Orientation-dependent SOAP scores
  include those that score loops (SOAP-Loop), protein-peptide interfaces
  (SOAP-Peptide) and proteins (SOAP-Protein). The library files themselves
  are rather large (~1.5GB) and so are not included with IMP. They can be
  downloaded separately from
Assets 2