Blog

Release 0.16.2

Just a few weeks after our last release, we are releasing MDAnalysis version 0.16.2. The release notes list the full details of the changes in this version. This version fixes some bugs, but it mostly introduces deprecation warnings for changes that will occur in subsequent versions.

The first feature to be deprecated is the Timeseries module that will be removed in version 0.17.0. The MDAnalysis.analysis.base.analysis_class function can be used to replace the deprecated Timeseries. analysis_class was introduced in version 0.16.0 and you can read more about it in a previous blog post.

Instant selectors are also deprecated and will be removed in release 1.0. These shortcuts allow you to access segments, residues, or atoms using there names as attribute. For instance, such selectors allow you to access a segment called “SYSTEM” from a universe u by calling u.SYSTEM, or to select all the lysine of a residue group rg by calling rg.LYS. Although these shortcuts used to be reasonably useful for interactive work, they also introduce unexpected behaviours for a Python object, and are fragile mechanisms that are difficult to maintain. You can read the discussion in issue 1377 to learn how to replace the different selectors.

Finally, the global flags will disappear in release 1.0 to be replaced with more granular keyword arguments in the appropriate methods. The flags introduce a global state that could make MDAnalysis scripts run differently for different users and could thus lead to difficult to reproduce results. The discussion about removing the flags is happening in issue 782.

Removing outdated code allows us to keep MDAnalysis robust and consistent as we prepare for 1.0 when the user interface will become frozen. We are confident that these features were not much used or have better replacement. Come to the mailing lists or our github repository to join the conversation.

Thank you to all the contributors who reported issues or contributed code to this version. Thank you also to Dominik ‘Rathann’ Mierzejewski for his first contribution to the code base.

Upgrade

You can upgrade with pip install --upgrade MDAnalysis . If you use the conda package manager run conda update -c conda-forge mdanalysis

Release 0.16.1

We have just released MDAnalysis version 0.16.1. This release is dedicated to purely fixing bugs, thank you to everyone who helped us identify these! For full details of the bugs fixed, see the release notes.

Thank you also to our four new contributors, Jon Kapla, Sang Young Noh, Andrew William King and Kathleen Clark.

Besides the bug fixes we updated the style (PR 1126) of our docs so that they match with the website.

Upgrade

You can upgrade with pip install --upgrade MDAnalysis . If you use the conda package manager run conda update -c conda-forge mdanalysis

Google Summer of Code Student 2017

We are happy to anounce that MDAnalysis is hosting a GSoC student for NumFOCUS this year, Utkarsh Bansal (@utkbansal on GitHub), with his project “Port to pytest”.

Utkarsh Bansal: Port unit tests to pytest

Utkarsh Bansal

Utkarsh will port our complete unit tests from nose to pytest. This is a massive undertaking for MDAnalysis with over 4000 individual tests. But we have great confidence in him and he has started work already to ensure that we don’t have a drop in code coverage during the transition. Newer projects under the MDAnalysis umbrella all use pytests and we are happy to see the switch happening for MDAnalysis as well. Utkarsh will blog continuously during the summer to let you know how far the transition has come and how to best write unit-tests in python.

Utkarsh is currently pursuing a bachelors in Computer Science and Engineering and will be graduating this summer. He hopes to learn new things about python and testing in general this summer and is planning to continue his career as a software developer.

Other NumFOCUS students

NumFOCUS is hosting 12 students this year for several of their supported and affiliated projects. You can find out about the other students here.