mdanalysis

Use when analyzing molecular dynamics trajectories with MDAnalysis. Covers Universe/AtomGroup, RMSD/RMSF/alignment, contacts and hydrogen bonds, dihedral/secondary structure/PCA analysis, and protein-ligand binding analysis.

MDAnalysis — MD Trajectory Analysis

MDAnalysis 2.10.0 (2025). Core pattern: Universe (topology + trajectory) → AtomGroup (selection) → AnalysisBase.run().results.

When to Use This Skill

  • Loading GROMACS, AMBER, NAMD, CHARMM, LAMMPS trajectories
  • RMSD and RMSF calculations (protein stability, flexibility)
  • Structural alignment across trajectory frames
  • Hydrogen bond detection and lifetime analysis
  • Protein-ligand contacts and binding site analysis
  • Dihedral angles (Ramachandran plots, chi angles)
  • Secondary structure (DSSP) assignment
  • PCA of conformational dynamics
  • Radial distribution functions (RDF), density maps
  • Mean square displacement (MSD), diffusion coefficients

Quick Start

import MDAnalysis as mda
from MDAnalysis.analysis import rms, align

# Load topology + trajectory
u = mda.Universe('protein.prmtop', 'traj.dcd')
print(u)                   # <Universe with 45000 atoms>
print(len(u.trajectory))   # number of frames

# Select atoms
protein = u.select_atoms('protein')
ca      = u.select_atoms('protein and name CA')
ligand  = u.select_atoms('resname LIG')

# Iterate trajectory
for ts in u.trajectory:
    print(ts.frame, ts.time, ca.positions.mean(axis=0))

Router — What to Read

TaskReference
Universe, topology formats, selections, trajectory I/O, writingreferences/universe-selections.md
RMSD, RMSF, alignment, radius of gyrationreferences/rmsd-rmsf-alignment.md
Hydrogen bonds, native contacts, binding residuesreferences/contacts-hbonds.md
Dihedrals, DSSP, PCA, RDF, density, MSDreferences/structure-dynamics.md
Protein-ligand interaction analysis workflowreferences/protein-ligand.md

Key Modules

ModuleImportRole
rmsfrom MDAnalysis.analysis import rmsRMSD, RMSF
alignfrom MDAnalysis.analysis import alignStructural alignment
contactsfrom MDAnalysis.analysis import contactsNative contacts
hydrogenbondsfrom MDAnalysis.analysis.hydrogenbonds.hbond_analysis import HydrogenBondAnalysisH-bonds
dihedralsfrom MDAnalysis.analysis.dihedrals import Ramachandran, JaninDihedral angles
dsspfrom MDAnalysis.analysis.dssp import DSSPSecondary structure
pcafrom MDAnalysis.analysis.pca import PCAConformational PCA
rdffrom MDAnalysis.analysis.rdf import InterRDFRadial distribution
densityfrom MDAnalysis.analysis.density import DensityAnalysisDensity maps
msdfrom MDAnalysis.analysis.msd import EinsteinMSDDiffusion
distancesfrom MDAnalysis.analysis.distances import dist, betweenDistances

Supported Formats

Topology:  PSF, PRMTOP (Amber), GRO (GROMACS), PDB, MOL2, TPR, CRD, XML
Trajectory: DCD, XTC, TRR, NC (Amber), LAMMPSDUMP, H5MD, TNG, XYZ, PDB

Installation

pip install MDAnalysis MDAnalysisData
conda install -c conda-forge mdanalysis

# Verify
python -c "import MDAnalysis; print(MDAnalysis.__version__)"

AnalysisBase Pattern (all analysis modules)

analysis = SomeAnalysis(atomgroup, **params)
analysis.run(start=0, stop=None, step=1, verbose=True)
results = analysis.results      # dict-like Results object

Related Skills

  • ase — ASE MD trajectories, structure building (complementary)
  • scientific-skills:matplotlib — plotting RMSD, RMSF curves
  • scientific-skills:seaborn — heatmaps for contact maps
  • scientific-skills:plotly — interactive conformational space plots
  • scientific-skills:biopython — PDB fetching and sequence tools