Skip to main content

FastMDXplora

Molecular dynamics from a PDB code to a finished study — in one command.

DOI PyPI conda-forge PyPI Downloads Python License: MIT

Tests codecov Docs

Quick start · Agent · Cite


fastmdx explore --system 181L
setup  →  simulation  →  analysis  →  report

Four characters of PDB ID as input. FastMDXplora fetches T4 lysozyme, parameterises the benzene bound in its cavity, runs the dynamics, analyses the trajectory, works out which residues hold the ligand in place, and writes the whole study up as a PDF.

Or configure the whole MD study in the GUI:

fastmdx gui

Install

conda create -n fastmdxplora -c conda-forge fastmdxplora
conda activate fastmdxplora

fastmdx info lists every backend and how to get anything missing:

fastmdx info

What you can study

A protein on its own Fold, flexibility, secondary structure, native contacts, conformational clustering — from a PDB code. Fluctuations can be set against the crystal's own B-factors, and backbone order parameters against what NMR relaxation measures.
A protein with a ligand The ligand is found, its chemistry resolved, its protonation settled in the binding site. Eight interaction types against published criteria tell you what holds it, not just what it touches.
A membrane protein Embedded in one of seven bilayers, with the orientation checked rather than assumed and pressure coupling that suits a lipid system.
Free energy along a coordinate Umbrella sampling, metadynamics and steered MD from a named collective variable — nine of them, one or two at a time — without writing PLUMED input. Each says what its output is and is not: a surface if the bias converged, a pathway and the work along it, a potential of mean force if the windows overlap.
A trajectory from another engine Skip the simulation and analyse what you already have — GROMACS .xtc and .trr, Amber .nc, NAMD and CHARMM .dcd, LAMMPS .lammpstrj, or .pdb, .cif and .h5 that carry their own topology.
Many systems at once Mutants against wild type — named as L99A, and checked against the residue actually there — a sweep across a setting, runs pinned one per GPU, and a comparison report across all of them. Where the members differ only by seed, the spread of their means is set against the error each run claimed for itself.

It refuses rather than guesses. An ambiguous ligand charge, a protein backwards in its membrane, a free-energy surface that never converged — each stops the run and is named, not papered over. Biased averages are corrected to equilibrium where the bias allows and labelled where it does not. Every step explains itself and cites the paper worth reading. What comes out, you can defend; what you cannot is marked.

The config is the study

A FastMDXplora config is the whole description of a molecular dynamics study: the system, how it is prepared, how it is simulated, what is measured, and how it is written up. Capture that, and the four phases — setup, simulation, analysis, report — run themselves.

systems:
  - system: 181L
simulation:
  duration_ns: 100

That is a complete study. Everything unnamed takes a documented default, and every run writes resolved_config.yml — the file, the command line and the API arguments merged — so the exact study can be run again by anyone holding that one file.

Three ways to build a config, and each of them also runs all four phases:

The GUI fastmdx gui. A form generated from the schema, so every setting is reachable. Worth using even for a command-line or Python workflow: build the study where the options are visible and explained, then take the file away.
The CLI fastmdx explore --config study.yml, or fastmdx init-config for a commented template, or a flag for any setting.
The Python API FastMDXplora(config="study.yml").explore(), or the same blocks passed as options.

None of these is the primary interface and none is a subset of another — form, flags and API are generated from one declaration — and a study designed in the GUI on a laptop runs unchanged on a cluster, because what travels is the config.

And a fourth, in place of a person. The FastMDXplora Agent writes a config from a sentence, and is reachable through all three of the above:

fastmdx agent "simulate trypsin with benzamidine bound at pH 6.5 for 100 ns"

It gets no special treatment. What it writes goes through exactly the same validator, by the same code, with the same refusals, as a config typed by hand — and a proposal that did not validate carries no config at all.

The manifest is the result

What a config is to a study, manifest.json is to its result: every phase that ran, every artifact it produced, every setting it used, and the exact software stack it ran on — including which package versions were loaded, because those decide numbers. A run directory is readable by somebody who was not there.

Documentation

Start here — Install · Your first study · How FastMDXplora works

The Config — The FastMDXplora Config · Config reference · Selections · Examples

Writing a Config — GUI · CLI · API · Agent

Going further — Restraints, membranes, enhanced sampling · Production and GPUs · Running elsewhere

Results — The FastMDXplora Manifest · Reading the results · The analyses · Protein-ligand interactions · Refusals

For developers — Developing FastMDXplora · How it is validated

Citation

Aina, A.; Kwan, D. FastMDAnalysis: Software for Automated Analysis of Molecular Dynamics Trajectories. J. Comput. Chem. 2026, 47, e70350. DOI: 10.1002/jcc.70350

@article{aina2026fastmd,
  author  = {Aina, Adekunle and Kwan, Derrick},
  title   = {FastMDAnalysis: Software for Automated Analysis of Molecular Dynamics Trajectories},
  journal = {Journal of Computational Chemistry},
  volume  = {47},
  number  = {8},
  pages   = {e70350},
  year    = {2026},
  doi     = {10.1002/jcc.70350},
}

Contributing

Contributions welcome — see CONTRIBUTING.md. FastMDXplora follows the Contributor Covenant.

License

MIT. See LICENSE.


Built in the AAI Research Lab at California State University Dominguez Hills, on MDTraj, OpenMM, PDBFixer, OpenFF, RDKit, NumPy, SciPy, scikit-learn and Matplotlib.

Metadata

Release files for fastmdxplora 2.5.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastmdxplora 2.5.7
File Size Uploaded
fastmdxplora-2.5.7.tar.gz 3.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for fastmdxplora 2.5.7
File Interpreter ABI Platform
fastmdxplora-2.5.7-py3-none-any.whl Python 3 none any Details

Total release size: 4.3 MB

Release files / fastmdxplora-2.5.7.tar.gz

Download URL fastmdxplora-2.5.7.tar.gz
Size 3.0 MB
Tags Source
SHA-256 checksum
How to use checksums
e0f505152d9bbb45f6d6966504aadc6a7b7e84b110859d5b7f55ac018715b94e
BLAKE2b-256 checksum
How to use checksums
35a779327077f224ed0b2a26361db91e7c19ca08e9bdeb3328cd762ce2308e60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release files / fastmdxplora-2.5.7-py3-none-any.whl

Download URL fastmdxplora-2.5.7-py3-none-any.whl
Size 1.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
09155bd0fe8e5befb2e8eb441ff528639f35c8e56134e7083eb99a28f6eaa3ab
BLAKE2b-256 checksum
How to use checksums
01b64363eaffbb569779a9f0c32e4bcc0bc0157897de93ff85f4fe606abb3f26
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 24, 2026.

Transparency log

Release history Release notifications | RSS feed

2.6.0

2 release files

2.5.8

2 release files

This release

2.5.7 This release

2 release files

2.5.6

2 release files

2.5.5

2 release files

2.5.4

2 release files

2.5.3

2 release files

2.5.2

2 release files

2.5.1

2 release files

2.5.0

2 release files

2.4.0

2 release files

2.3.0

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page