Tags: salilab/imp
Tags
IMP 2.7.0 release - New applications of IMP are now available: - [Modeling of the yeast Mediator complex](https://salilab.org/mediator/) - [Modeling of the yeast and human TFIIH complex](https://salilab.org/tfiih/) - [Modeling of complexes between the 26S proteasome and proteasome interacting proteins](https://salilab.org/26S-PIPs) - [Human Complement modeling](https://salilab.org/Complement) - [Modeling of a region of the fly genome](https://integrativemodeling.org/systems/?sys=22) using IMP and [TADbit](http://sgt.cnag.cat/3dg/tadbit/) - Memory and CPU performance improvements across the code, particularly in IMP::pmi. - Preview of mmCIF support for deposition of integrative models in [PDB-dev](https://pdb-dev.rcsb.rutgers.edu/). See the IMP::pmi::mmcif module for more details. - This will be the last release that includes packages for RedHat Enterprise Linux 5 (and variants, such as CentOS 5), since RHEL 5 has reached end of life. - The IMP::em::SurfaceShellDensityMap::binaries() method has been replaced with the (correctly spelled) IMP::em::SurfaceShellDensityMap::binarize() method. - IMP::multifit::WeightedExcludedVolumeRestraint no longer expects that the IMP::core::RigidBody particles it acts on are also IMP::atom::Hierarchy objects. Use an IMP::multifit::RigidLeavesRefiner in place of IMP::core::LeavesRefiner to get the old behavior. - IMP::modeller::MultipleBinormalRestraint has moved to the IMP::core module. - The IMP::core::setup_as_rigid_body() method has been removed. Use IMP::core::create_rigid_body() instead. - IMP::test:TempDir and IMP::test::RunInTempDir are deprecated in favor of similar functions that work as Python context managers (IMP::test::temporary_directory() and IMP::Test::temporary_working_directory() respectively).
IMP 2.6.0 release - This release includes most of the functionality of PMI2. This is an improved version of PMI that is faster than PMI1, more modular, and easier to use. See IMP::pmi for more information. - A new application of IMP is now available: [Modeling of exosome complexes from cross-link MS data](http://salilab.org/exosome). - The IMP::base and IMP::kernel namespaces have been removed (use the top-level IMP namespace instead). - The IMP::display::ChimeraWriter class has been removed (use IMP::rmf instead). - IMP::Model no longer has an implicit scoring function. This means that Model::evaluate() and Model::add_restraint() have been removed (use an IMP::ScoringFunction instead). IMP::Optimizer and IMP::Sampler now also require an IMP::ScoringFunction to be explicitly set before they are used. - IMP::atom::Hierarchy::get_as_xxx() methods are deprecated; use regular decorators instead. For example, instead of h.get_as_residue() use Residue(h). If you want to check for validity first, use Residue::get_is_setup(h). - IMP::atom::Selection can now select by element. - IMP::modeller::load_restraints_file() and IMP::modeller::read_pdb() have been removed. Use the IMP::modeller::ModelLoader class instead. - IMP::atom::PDBSelector subclasses are more flexible, with a new IMP::atom::XorPDBSelector class, and can be combined using standard Python operators, in similar fashion to sets (&, |, ^, -, ~ operators). - The following modules that use FFTW (which is licensed under the GPL) are themselves now also licensed under the GPL: IMP::EMageFit, IMP::cnmultifit, IMP::em2d, IMP::integrative_docking, and IMP::multifit. - Bugfix: sampled EM density maps should now handle resolution correctly; maps generated by the fixed code agree well with those generated by EMAN. The old radius-dependent kernel parameter code is no longer used.
IMP 2.5.0 release
- Documentation has been revised and updated; the main manual now gives a
gentler introduction to IMP, with more technical details on the code
provided in a separate reference guide.
- The IMP::base and IMP::kernel namespaces are now deprecated. Functionality
in both base and kernel now lives in the top-level "IMP" namespace.
- IMP::atom::Selection::get_selected_particle_indexes() has a new
'with_representation' parameter. If turned on (the default), Selection
returns all representational (XYZ) particles that match the request -
for example, selecting a residue will typically return all of its atoms.
If turned off, Selection returns the highest matching particle instead -
so, in this case, the residue particle itself.
- All IMP::RAII objects (e.g. IMP::SetLogState) now support the context
manager protocol in Python (e.g. "with IMP.SetLogState() as s:")
- Several long-deprecated functions have been removed. These include:
- Several Restraint constructors that take Particles. Use equivalent
constructors that take an IMP::Model pointer and ParticleIndexes instead.
- IMP::core::MonteCarlo::get_number_of_forward_steps() (use
get_number_of_accepted_steps() instead).
- IMP::Model::remove_restraint(), IMP::Model::get_restraints(),
IMP::Model::get_number_of_restraints(), IMP::Model::get_restraints().
Store your restraints in an IMP::RestraintSet or use an
IMP::core::RestraintsScoringFunction. Related methods such as
IMP::Model::evaluate() will be removed in the next IMP release.
- IMP::Model::set_maximum_score() and related methods. Set the maximum
scores on the IMP::Restraint or IMP::RestraintSet directly, using
IMP::Restraint::set_maximum_score().
- IMP::Restraint::get_input_containers() and
IMP::Restraint::get_input_particles(). Use IMP::Restraint::get_inputs()
instead (similarly for get_outputs()).
- IMP::rmf::save_frame() no longer takes a frame index argument (it was
previously ignored anyway).
- Several functions have been deprecated in this release (and will be removed
in the next). These include several Restraint constructors that take Particle
or Particles objects (use constructors that take an IMP::Model and
ParticleIndex or ParticleIndexes) instead; and add_particle*(),
set_particle*() and clear_particle*() in several Container objects (use add(),
set() and clear() with particle indexes instead).
- On platforms that support it, OpenMP is turned on by default. To speed up
some parts of IMP, call IMP::base::set_number_of_threads(). By default,
only a single thread is used.
- The RPM packages now include an -mpich subpackage that can be installed
to enable parallel computation, using the IMP.mpi module in concert
with the mpich library.
- We now provide packages for both of the currently-supported Ubuntu LTS
releases: Ubuntu 12.04 (Precise Pangolin) and Ubuntu 14.04 (Trusty Tahr).
- The default log level has changed from NONE to WARNING.
- A new command line tool, `multi_foxs`, allows for enumeration and scoring
of multi-state models against SAXS profiles.
- A new command line tool, `ligand_score_multiple`, acts similarly to the
existing `ligand_score` tool but scores each ligand pose generated by
docking software (such as PatchDock).
- New applications of IMP are now available:
- Multi-state modeling of the histidine kinase, PhoQ
- Determination of the molecular architecture of the 40S•eIF1•eIF3
translation initiation complex
- IMP::domino::DiscreteSampler::set_restraints() now allows the set of
restraints used in DOMINO filtering to be controlled (previously, all
restraints in the IMP::Model were used).
- IMP::modeller::IMPRestraints now transfers an IMP::ScoringFunction into the
MODELLER score, not the implicit (and deprecated) score of the
entire IMP::Model.
- Bugfix #775: coordinates of voxels in EM maps were previously inconsistently
treated (they are supposed to be the centers of the voxels, but in some
cases they were the lower left edge). The fix may result in maps and their
bounding boxes appearing shifted by half the voxel size.
IMP 2.4.0 release - Python 3 is now supported. - Command line tools are now placed in the `bin` directory of modules (the old `bin` directory, used for utility programs that are not installed, is now called `utility`). The `applications` directory is removed. - Several Python modules that were only used by EMageFit have been moved from IMP::em2d to IMP::EMageFit. - A new tutorial that uses the IMP::pmi module is now available (modeling of the RNA Polymerase II stalk).
IMP 2.3.0 release - A new IMP::pmi module was added, containing high-level Python classes to simplify the representation, scoring, sampling and analyzing of models in IMP. This module is still under heavy development, and should be considered experimental. - Binary installers for 64-bit Windows are now available. - The `.py` extension has been removed from all Python applications, so that they are consistent with the C++ extensions. - IMP::atom::Selection objects can now be combined using basic set operations (union, intersection, difference, symmetric difference). In Python the equivalent operators (|, &, -, ^ respectively) can be used. - The integrative docking (idock) application now employs SOAP to improve the scoring. - IMP::atom::CHARMMParameters::create_topology() now works with a wider range of hierarchies (previously it would only accept Residues that were direct children of Chains). For example, it should do the right thing when given a Hierarchy that contains no Chain particles, or one where Residues are grouped under Fragments. - Only Python 2.6 or later is now supported. We still provide IMP for RedHat Enterprise 5 (which ships with Python 2.4) but you will need to use the `python26` binary (part of EPEL) rather than the system default Python.
IMP 2.2.1 release - Bugfix: PoseScore (see the ligand_score application) should now match that used by the Pose&Rank web server (http://salilab.org/poseandrank/) - Minor other build and documentation fixes.
IMP 2.2.0 release
- 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
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 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/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/.