Tyler Reddy edited this page May 5, 2015 · 2 revisions

This is a major new release of MDAnalysis, more than 1 year after 0.7.7. In addition to bug fixes it contains many new features (such as improvements in handling Gromacs data such as a fast random access trajectory reader and TPR reading capability), new analysis modules, and it introduces the MDAnalysis.visualization module, which collects code aiding in visualizing MD data.

There are a number of potentially backwards-incompatible changes, including a minimum requirement for Python 2.6 and some methods have become managed attributes.

From this release onwards, source code distributions are exclusively hosted on the Python Package index at and pre-built packages for a range of distributions can be found at


(Note that we effectively skipped 0.8.0.)


  • Named selections can now be passed to selectAtoms (Issue 174)
  • (experimental) MDAnalysis.visualization namespace added along with 2D/3D streamplot modules & documentation for them
  • TRR file handling is now fully aware of missing coordinate/velocity/force information when reading and writing frames.
  • MDAnalysis.analysis.contacts.ContactAnalysis1 run() method now allows trajectory slicing (Issue 161)
  • Merge AtomGroups into a new Universe (Issue 157)
  • TPR parser (currently limited to versions 58, 73 and 83 of the Gromacs TPR format (Gromacs 4.0 to 4.6.1), see Issue 2)
  • fast XTC seeking (Issue 127)
  • changing resid (set_resid()) or segid (set_segid()) changes the topology and lists of resids/segids can be assigned to groups of objects (AtomGroup, ResidueGroup)
  • helanal: additional output of local bend and unit twist angles (Issue 133)
  • added support for reading DMS files (DESRES molecular structure)
  • bond connectivity information can be guessed from a PDB file if the bond=True keyword is set in Universe (Issue 23)
  • MDAnalysis.analysis.rms.RMSD: calculation of additional RMSDs
  • Plugin to generate nucleic acid helicoidal parameters using X3DNA; (must install working version 2.1 of X3DNA independently)
  • can use advanced slicing (with arbitrary lists or arrays) at all levels of the hierarchy (Issue 148)
  • coordinate readers and writers can be used as context managers with the 'with' statement
  • Can load multiple trajectories as Universe(topology, traj2, traj2, ...) in addition to providing all trajectories as a list, i.e. Universe(topology, [traj1, traj2, ...])
  • added support for YASP and IBIsCO formats (.trz) (Issue 152)
  • new methods for AtomGroup: packIntoBox([inplace=True])
  • added non-standard "extended" PDB format (XPDB) that reads five-digit residue numbers
  • util.convert_aa_code() recognizes non-standard residue names such as HSE, GLUH, GLH, ...
  • added new geometrics selections: sphlayer, sphzone, cylayer, cyzone
  • added TopologyDict and TopologyGroup classes for bond analysis
  • added calc_bonds, calc_angles and calc_torsions cython functions to core.distances for quickly calculating bond information
  • added applyPBC(coords, box) function to core.distances to move coordinates to within the primary unit cell
  • many AtomGroup methods now support 'pbc' flag to move atoms to within primary unitcell before calculation. This behaviour can also be toggled using the core.flags['use_pbc'] flag (Issue 156)
  • MDAnalysis.analysis.rms.rmsd(): new center keyword so that one can immediately calculate the minimum rmsd of two rigid-body superimposed structures


  • libxdrfile2 is now used instead of libxdrfile. libxdrfile2 is distributed under GPLv2
  • dropped support for Python 2.5; minimum requirement is Python 2.6 (Issue 130)
  • almost all methods of AtomGroup return NumPy arrays
  • slicing and indexing of AtomGroup, Residue, ResidueGroup, Segment, SegmentGroup will now always return an appropriate object and never a simple list
  • removed Timeseries.principleAxis (probably was never working)
  • dependent on Biopython >= 1.59 (Issue 147)
  • Hydrogen bond analysis defaults to updating selection 1 and 2 for every timestep in order to avoid unexpected behavior (Issue 138)
  • AtomGroup.velocities is now a (managed) attribute and not a method anymore: replace 'ag.velocities()' with 'ag.velocities'
  • changed the name of the flag 'convert_gromacs_lengths' to 'convert_lengths'


  • asUniverse now also accepts any instance that inherits from MDAnalysis.Universe (Issue 176)
  • fixed XDR writer incorrect use of delta parameter (Issue 154)
  • fixed incorrect computation of distances in serial and parallel distance_array() with PBC (Issue 151)
  • fixed Issue 129 ( module pipe/file closure)
  • fixed array comparison bug in MDAnalysis.analysis.helanal and various enhancements to the helanal module
  • fixed gave incorrect results if ref_frame != 0
  • alignto() now checks that the two selections describe the same atoms (fixes Issue 143)
  • slicing of ResidueGroup will now produce a ResidueGroup, and slicing of a SegmentGroup will produce a SegmentGroup, not a list as before (fixes Issue 135)
  • detect OpenMP-capable compiler during setup (Issue 145), which should allow users of Mac OS X 10.7 and 10.8 to build MDAnalysis using Apple's C-compiler (clang) (Issue 142) although they will not get a parallel version of distance_array.
  • PDB with blank lines gave IndexError (Issue 158)
  • fixed AtomGroup.ts Timestep instance not containing all available information (Issue 163)
  • fixed Timestep copy method returning a base Timestep rather than appropriate format (Issue 164)


orbeckst, jandom, zhuyi.xue, xdeupi,, manuel.nuno.melo, danny.parton, sebastien.buchoux, denniej0, rmcgibbo, richardjgowers, lennardvanderfeltz, bernardin.alejandro, matthieu.chavent

Project Information

GNU GPL v2 code license
Labels: python, molecular dynamics, analysis, DCD, CHARMM, LAMMPS, NAMD, Gromacs, computer simulation, atoms, coordinates, trajectory, XTC, Library, object-oriented
Core Developers


Release Notes
Guide for Developers
Google Summer of Code

Code of Conduct


@mdanalysis on Twitter
Downloads (PyPi)
Mailing Lists:
User discussion group
Developer mailing list

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.