Oliver Beckstein edited this page Sep 26, 2015 · 3 revisions


MDAnalysis is a library that facilitates the construction of software tools that can perform novel analysis tasks. Some tools are shipped with MDAnalysis in the MDAnalysis.analysis module and example scripts in the examples directory of the source distribution. There are also self-contained Python packages that depend on MDAnalysis but are installed separately (effectively since MDAnalysis 0.8). We refer to them as applications.

What is a MDAnalysis application?

A MDAnalysis application is a self-contained Python package that makes use of MDAnalysis for some of its core functionality but is distributed independently from the MDAnalysis package itself.

A typical application consists of

  • python scripts that run the analysis task
  • support library
  • and related files to facilitate installation with e.g. python install
  • documentation
  • examples
  • test cases

How to download and install an application?

There are typically multiple ways to obtain and install from source although not all of them might be applicable for all applications:

  1. If the application is hosted on the Python package index then you might be able to simply say pip install APPLICATION-NAME or easy_install APPLICATION-NAME.
  2. You should always be able to obtain the source. Applications are hosted at

If you haven't installed MDAnalysis itself yet then the application will try to do this automatically. If this fails then you should first try to install MDAnalysis yourself and then install the application. Feel free to ask for help on the user mailing list.

Using an application

Each application should come with documentation that explains how to use it after it has been installed. Typically, you will have to run a Python script that was installed into your system.

List of applications

Developer information

The applications/ top level directory of the MDAnalysis repository contains self-contained Python packages that make use of MDAnalysis as their primary dependency. Each package should be installable on its own but make use of dependency mechanisms to automatically install MDAnalysis (and other required packages).

The idea is that an interested user can easily install a particular application without having to worry too much about MDAnalysis itself.

As a developer, you should pick a good name and store your complete package in a directory of that name. Typically, you will be only one working on this directory but because of the open source nature of the whole MDAnalysis project, other users might also start contributing. It is up to you to communicate with users on how to coordinate development.

Each application should contain

  • code in a Python module or package
  • installable scripts (this is how a user would typically make use of the application)
  • documentation
    • usage information and an example
    • data to execute the example
    • citation information (if applicable)

If you want your application hosted with MDAnalysis then get in touch on the developer mailing list.

Source code tarballs and possibly egg archives can be hosted on the download page. Adding the application to the Python Package Index (PyPi) is encouraged.

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.