- 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
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()
- The family of macros IMP_BASE_[SMALL,LARGE]_[UNORDERED,ORDERED]_[MAP,SET]
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
- 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/multiresolution.py and atom/multistate.py for examples.
- The container implementations has been cleaned up and simplified a bit.
This should not change most usage.
- [RMF](http://salilab.github.io/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 http://salilab.org/SOAP/.