1. Overview of MDAnalysis
MDAnalysis is a Python package for the analysis of molecular dynamics simulations.
It provides an object-oriented interface to molecular structures and trajectories,
with direct access to atomic coordinates as numpy.ndarray
objects for seamless
integration with NumPy and SciPy.
This page gives a high-level overview of the most important public classes and modules. For usage examples and tutorials, refer to the User Guide.
1.1. Key Classes
The core of MDAnalysis revolves around the Universe
class,
which serves as the central data structure that loads and connects topology and coordinate data.
From a Universe
, users typically interact with AtomGroup
objects — flexible collections of atoms that support structural selections and analysis operations. These selections
are created using CHARMM-style selection syntax via the select_atoms()
method,
allowing users to query atoms based on names, residue numbers, segments, and more.
Individual atoms are represented by the Atom
class, while residues and segments (or chains) are modeled using the
Residue
and Segment
classes, respectively. Together, these
classes form an intuitive, object-oriented hierarchy that makes it easy to navigate and analyze molecular systems.
1.2. Core modules
MDAnalysis is organized into several core modules that provide specialized functionality for
handling and analyzing molecular dynamics data. The MDAnalysis.core
module defines the
essential data structures such as Universe
, AtomGroup
,
and related objects. The MDAnalysis.analysis
module contains a collection of analysis tools for tasks like RMSD calculation,
diffusion analysis, contact maps, and more. The MDAnalysis.selections
module implements the flexible selection language used
to query atoms based on structural properties. Finally, MDAnalysis.topology
manages topology parsing and representation,
supporting a wide range of file formats for loading molecular structures.