Skip to main content

An object-oriented toolkit to analyze molecular dynamics trajectories.

Project description

Powered by NumFOCUS Github Actions Build Status Github Actions Cron Job Status Cirrus CI - Cron job status Github Actions Linters Status Coverage Status

Documentation (latest release) Documentation (development version) User Google Group Developer Google Group Anaconda ASV Benchmarks

MDAnalysis is a Python library for the analysis of computer simulations of many-body systems at the molecular scale, spanning use cases from interactions of drugs with proteins to novel materials. It is widely used in the scientific community and is written by scientists for scientists.

It works with a wide range of popular simulation packages including Gromacs, Amber, NAMD, CHARMM, DL_Poly, HooMD, LAMMPS and many others — see the lists of supported trajectory formats and topology formats. MDAnalysis also includes widely used analysis algorithms in the MDAnalysis.analysis module.

The MDAnalysis project uses an open governance model and is fiscally sponsored by NumFOCUS. Consider making a tax-deductible donation to help the project pay for developer time, professional services, travel, workshops, and a variety of other needs.

NumFOCUS (Fiscally Sponsored Project)

This project is bound by a Code of Conduct.

Powered by MDAnalysis

If you use MDAnalysis in your project consider letting your users and the world know about it by displaying the MDAnalysis badge! Embedding code is available for different markups.

Example analysis script

import MDAnalysis as mda

# Load simulation results with a single line
u = mda.Universe('topol.tpr','traj.trr')

# Select atoms
ag = u.select_atoms('name OH')

# Atom data made available as Numpy arrays

# Iterate through trajectories
for ts in u.trajectory:


New users should read the Quickstart Guide and might want to look at our videos, in which core developers explain various aspects of MDAnalysis.

All users should read the User Guide.

Developers may also want to refer to the MDAnalysis API docs.

A growing number of tutorials are available that explain how to conduct RMSD calculations, structural alignment, distance and contact analysis, and many more.

Installation and availability

The latest release can be installed via pip or conda as described in the Installation Quick Start.

Source code is hosted in a git repository at and is packaged under the GNU General Public License, version 3 or any later version. Invidiual source code components are provided under a mixture of GPLv3+ compatible licenses, including LGPLv2.1+ and GPLv2+. Please see the file LICENSE for more information.


Please report bugs or enhancement requests through the Issue Tracker. Questions can also be asked on the user mailing list.

If you are a new developer who would like to start contributing to MDAnalysis get in touch on the developer mailing list. To set up a development environment and run the test suite read the developer guide.


When using MDAnalysis in published work, please cite the following two papers:

  • R. J. Gowers, M. Linke, J. Barnoud, T. J. E. Reddy, M. N. Melo, S. L. Seyler, D. L. Dotson, J. Domanski, S. Buchoux, I. M. Kenney, and O. Beckstein. MDAnalysis: A Python package for the rapid analysis of molecular dynamics simulations. In S. Benthall and S. Rostrup, editors, Proceedings of the 15th Python in Science Conference, pages 102-109, Austin, TX, 2016. SciPy. doi:10.25080/Majora-629e541a-00e

  • N. Michaud-Agrawal, E. J. Denning, T. B. Woolf, and O. Beckstein. MDAnalysis: A Toolkit for the Analysis of Molecular Dynamics Simulations. J. Comput. Chem. 32 (2011), 2319–2327. doi:10.1002/jcc.21787

For citations of included algorithms and sub-modules please see the references.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

MDAnalysis-2.6.1.tar.gz (4.2 MB view hashes)

Uploaded Source

Built Distributions

MDAnalysis-2.6.1-cp311-cp311-win_amd64.whl (3.8 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

MDAnalysis-2.6.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (10.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

MDAnalysis-2.6.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.8 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

MDAnalysis-2.6.1-cp311-cp311-macosx_11_0_arm64.whl (3.9 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

MDAnalysis-2.6.1-cp311-cp311-macosx_10_9_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

MDAnalysis-2.6.1-cp310-cp310-win_amd64.whl (3.8 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

MDAnalysis-2.6.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.4 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

MDAnalysis-2.6.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.3 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

MDAnalysis-2.6.1-cp310-cp310-macosx_11_0_arm64.whl (3.9 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

MDAnalysis-2.6.1-cp310-cp310-macosx_10_9_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

MDAnalysis-2.6.1-cp39-cp39-win_amd64.whl (3.8 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

MDAnalysis-2.6.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.4 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

MDAnalysis-2.6.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (9.3 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

MDAnalysis-2.6.1-cp39-cp39-macosx_11_0_arm64.whl (3.9 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

MDAnalysis-2.6.1-cp39-cp39-macosx_10_9_x86_64.whl (4.0 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page