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.8

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.8
File Size Uploaded
fastmdxplora-2.5.8.tar.gz 3.1 MB Details

Built distribution (wheel)

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

Total release size: 4.5 MB

Release files / fastmdxplora-2.5.8.tar.gz

Download URL fastmdxplora-2.5.8.tar.gz
Size 3.1 MB
Tags Source
SHA-256 checksum
How to use checksums
b337c0fba6e19a2763951b80b7b17e920fa616399b0e86b4fa441e227c0102e5
BLAKE2b-256 checksum
How to use checksums
1ef780acf975c40f1e8ee74d46f922a21a96007d087b9614d2567f6b258f4966
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 28, 2026.

Transparency log

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

Download URL fastmdxplora-2.5.8-py3-none-any.whl
Size 1.3 MB
Tags Python 3
SHA-256 checksum
How to use checksums
5dafa5f01ae04e43d547aab4c0ab105188d64c29f065555cffe0cbe9aca4e3de
BLAKE2b-256 checksum
How to use checksums
ff107527b1a7accb50600ec8ff9bf193d2fe6bc6e8f9800ee9d1e193d5f7158d
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 28, 2026.

Transparency log

Release history Release notifications | RSS feed

2.6.0

2 release files

This release

2.5.8 This release

2 release files

2.5.7

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