There have been a couple of problematic bugs that have been fixed recently
in close pairs/excluded volume code. One was a bug that caused the close
pairs list to be built too often for a good part of January. The other was
a longer standing bug with close pairs lists not being updated properly
with rigid bodies under certain cases, which I don't entirely understand
exactly.
- A module IMP.module_template was added to act as a template for creating
new external modules. It includes setting up …
[View More]git hooks for format checks
and things like that. You can clone it and then check out your clone to
quickly get started with your own module.
- 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
IMP::algebra::get_vector_geometry().
- 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.
- 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 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/multiresolution.py and atom/multistate.py for examples.
- The container imlementations 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/base/random.h.
- 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/.
[View Less]