Release 0.15.0

We have just released MDAnalysis version 0.15.0. This release contains new features as well as bug fixes. Highlights are listed below but for more details see the release notes.

We also had a lot of contributions from GSoC applicants. Thanks to our GSoC students @fiona-naughton and @jdetle as well as the other applicants @saxenauts, @endle, @abhinavgupta94 and @pedrishi.


You can upgrade with pip install --upgrade MDAnalysis

Noticable Changes

Deprecations in anticipation of new topology system

The next release (0.16.0) will bring a very big change to the internal workings of MDAnalysis. The topology system (how atom, residue, segment attributes are stored and manipulated) has been completely redesigned, giving many advantages and resolving a number of longstanding issues. The new system also brings speed (up to 40x faster) and memory (up to 60% less usage) improvements, and makes the core of MDAnalysis easier to maintain for the future. You can read more about this at the original issue, or see a short summary of the new system on the wiki.

In preparation for this change, we have introduced deprecation warnings for all components of the existing topology system suggesting the corresponding usage under the new system. Please adjust existing code as you encounter these warnings.

Revamped Contact Analysis

Contact Analysis has been completely rewritten in the new Contacts class. This class offers a standard native contact analysis as well as a contact analysis developed by Best & Hummer. A Q1-Q2 analysis is now available directly as q1q2. We have also made the Contacts extendable so that you can pass it your own cut-off functions, the q1q2 analysis is actually only a wrapper of Contacts that makes use of this flexibility. More information can be found in the documentation.

The old ContactAnalysis1 and ContactAnalysis classes will be removed in the next release.

RMSD Calculation

The rmsd function now doesn’t super position the given coordinates by default. The coordinates aren’t changed now by default, instead you can control it with the new center and superposition keywords.

PDB Format

Our own PDB parser has seen a lot of love in the last year. It has been the default for a long time now and all problems that occur for PDB’s are fixed only in this parser. Because of that we have removed the Biopython PDB parser. This means the permissive keyword argument for Universes isn’t used anymore.

We have also spent time tuning the performance of the PDB trajectory reader. Reading long PDB trajectories is now significantly faster. Your exact speed up depends on the length of the trajectory. For 1000 frames we have measured a speed up of 10000%. See PR #849 and Issue #848 for more details.

Additionally we have added .ent files to the list of supported PDB file formats.

Other Changes

A list of all changes can be found in the CHANGELOG.