MDAnalysis
An object-oriented toolkit to analyze molecular dynamics trajectories.
Decision gist · record as of 2026-08-14
Yes. MDAnalysis is a mature, actively maintained library with broad support for simulation formats and a large user base in computational chemistry and biophysics. Install friction is moderate but manageable; the LGPLv3+ license is permissive for most use cases. No known security vulnerabilities. Install it if you work with molecular dynamics simulations and need a standard, well-documented toolkit for trajectory analysis.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Medium install friction: 11 runtime dependencies including numpy, scipy, matplotlib, and joblib.
- Prebuilt wheels available for Python 3.11–3.14 on macOS, Windows, and Linux.
- Actively maintained with recent commits; last release 301 days old but repository shows ongoing development.
License · maintenance · safety
copyleft license (copyleft) — Licensed under LGPLv3+ with some components under LGPLv2.1+. Permissive for linking into non-free software; you may use and modify it freely, but derivative works must remain under LGPL. No restriction on closed-source applications that link to it.
last release 2025-10-17 (301 days) · last repo commit 2026-08-11 · 1,626 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 256,728 downloads/mo, #8,459 on PyPI
Alternatives
Verify before relying
pip install mdanalysis
import MDAnalysis as mda
u = mda.Universe('topol.tpr', 'traj.trr')
ag = u.select_atoms('name OH')
for ts in u.trajectory:
print(ag.center_of_mass())- Performance characteristics and scalability limits for large trajectory files or systems
- Specific analysis algorithms included in MDAnalysis.analysis module beyond what the description excerpt covers
- Memory requirements and optimal hardware for typical use cases
What it is and what it does
MDAnalysis is a Python library for reading, manipulating, and analyzing molecular dynamics simulation trajectories. It abstracts away the complexity of different trajectory file formats—supporting GROMACS, Amber, NAMD, CHARMM, DL_POLY, HOOMD, LAMMPS, and others—and provides a unified interface to select atoms, extract structural data as NumPy arrays, and iterate through frames. The library is written by and for computational scientists and includes a growing collection of analysis algorithms for tasks like RMSD calculations, structural alignment, and distance analysis.
The package is mature (first released in 2012), actively maintained, and fiscally sponsored by NumFOCUS. It has a large dependency footprint (11 runtime packages including numpy, scipy, and matplotlib) and is designed for interactive exploration and scripting of simulation data. Prebuilt wheels cover recent Python versions and major platforms, making installation straightforward for most users.
Use it for
- Load and iterate through molecular dynamics trajectories from GROMACS, Amber, or NAMD simulations to extract atomic positions and velocities.
- Select subsets of atoms (e.g., 'name OH' or 'protein and backbone') and compute structural properties like center of mass or distances.
- Perform RMSD calculations and structural alignment to compare protein conformations across trajectory frames.
- Extract time-series data (positions, forces, velocities) as NumPy arrays for downstream statistical or machine-learning analysis.
- Analyze drug–protein interactions or material properties by computing contact distances and structural metrics over simulation time.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
MDAnalysis is a mature, actively maintained library with broad support for simulation formats and a large user base in computational chemistry and biophysics. Install friction is moderate but manageable; the LGPLv3+ license is permissive for most use cases. No known security vulnerabilities. Install it if you work with molecular dynamics simulations and need a standard, well-documented toolkit for trajectory analysis.
Install
mdanalysis on PyPI
Before you install
Medium install friction: 11 runtime dependencies including numpy, scipy, matplotlib, and joblib. Prebuilt wheels available for Python 3.11–3.14 on macOS, Windows, and Linux. Actively maintained with recent commits; last release 301 days old but repository shows ongoing development.
License in practice
Licensed under LGPLv3+ with some components under LGPLv2.1+. Permissive for linking into non-free software; you may use and modify it freely, but derivative works must remain under LGPL. No restriction on closed-source applications that link to it.
Quickstart
pip install mdanalysis
import MDAnalysis as mda
u = mda.Universe('topol.tpr', 'traj.trr')
ag = u.select_atoms('name OH')
for ts in u.trajectory:
print(ag.center_of_mass())
Verify before relying
- Performance characteristics and scalability limits for large trajectory files or systems
- Specific analysis algorithms included in MDAnalysis.analysis module beyond what the description excerpt covers
- Memory requirements and optimal hardware for typical use cases
Package facts
| License | copyleft license copyleft |
| Python support | Supports the current Python release >=3.11 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | 11 packagesnumpyGridDataFormatsmmtf-pythonjoblibscipymatplotlibtqdmthreadpoolctlpackagingfilelockmda-xdrlib |
| Maintenance | Actively maintained 301 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 256,728 / month, #8,459 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 6 - MatureEnvironment :: ConsoleIntended Audience :: Science/ResearchLicense :: OSI Approved :: GNU Lesser General Public License v3 or later (LGPLv3+)Operating System :: MacOS :: MacOS XOperating System :: Microsoft :: WindowsOperating System :: POSIXProgramming Language :: CProgramming Language :: PythonProgramming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Topic :: Scientific/EngineeringTopic :: Scientific/Engineering :: Bio-InformaticsTopic :: Scientific/Engineering :: ChemistryTopic :: Software Development :: Libraries :: Python Modules |
Evidence: mdanalysis-2.10.0-cp311-cp311-macosx_10_9_x86_64.whl; mdanalysis-2.10.0-cp311-cp311-macosx_11_0_arm64.whl; mdanalysis-2.10.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; mdanalysis-2.10.0-cp311-cp311-win_amd64.whl; mdanalysis-2.10.0-cp312-cp312-macosx_10_13_x86_64.whl; mdanalysis-2.10.0-cp312-cp312-macosx_11_0_arm64.whl; mdanalysis-2.10.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; mdanalysis-2.10.0-cp312-cp312-win_amd64.whl; mdanalysis-2.10.0-cp313-cp313-macosx_10_13_x86_64.whl; mdanalysis-2.10.0-cp313-cp313-macosx_11_0_arm64.whl; mdanalysis-2.10.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; mdanalysis-2.10.0-cp313-cp313-win_amd64.whl; mdanalysis-2.10.0-cp314-cp314-macosx_10_13_x86_64.whl; mdanalysis-2.10.0-cp314-cp314-macosx_11_0_arm64.whl; mdanalysis-2.10.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; mdanalysis-2.10.0-cp314-cp314-win_amd64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “MD simulation post-processing”
- MDAnalysisMDAnalysis reads and analyzes molecular dynamics simulation…
- mdtrajMDTraj reads, writes, and analyzes molecular dynamics trajectories in…
- alchemlybalchemlyb parses molecular dynamics simulation output, extracts…
Give your agent the search over MCP, or paste the wish link into any chat.
More Scientific/Engineering packages
NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.
pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.
scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.
scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.
Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.
dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.
Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.
Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.
See also mdtraj · alchemlyb · biotraj · OpenMM · dpdata · ase · openseespy · pdb2pqr · pymbar · nvalchemi-toolkit-ops