FastMDXplora
Fully Automated SysTem for Molecular Dynamics eXploration
FastMDXplora explores a protein's behavior end to end from a single command. Given a structure (or just a PDB ID) it performs molecular dynamics exploration all the way through setup, simulation, analysis, and reporting, then hands back publication-ready results.
setup → simulation → analysis → report
Highlights
- Explore a protein's full dynamics with a single command, covering setup, simulation, analysis, and reporting
- Build a protein-ligand system from a PDB identifier alone: the ligand is identified, its chemistry retrieved, and its protonation settled in the binding site, with a refusal rather than a guess where the structure is ambiguous
- Find out what holds a ligand in place, not just how much of the protein it touches: hydrogen bonds, hydrophobic contacts, salt bridges, pi-stacking, pi-cation, halogen bonds, metal coordination and water bridges, each against a published criterion
- Read an occupancy that says how much watching it rests on: a contact present in 450 consecutive frames and one present in 450 alternating frames are both fifty per cent, and only the second has an error bar
- Reach beyond plain MD with built-in PLUMED enhanced sampling (metadynamics, umbrella sampling, steered MD)
- Design, start, watch, and review an exploration from a browser, with a 3D viewer and live telemetry
- Analyse a trajectory you already have, from any engine, without running the simulation again
- Build a config in the browser and run it there, or take it to a cluster — the same file either way
- Scale from a quick single-protein exploration to large parallel campaigns, driven the same way from the CLI or the Python API
Phases of FastMDXplora
| Phase | What it does |
|---|---|
| setup | Cleans up your structure and builds a simulation-ready system: fixes missing atoms, adds hydrogens, solvates, and adds ions. Decides what each non-standard residue means — a bound ligand is parameterized, a cryoprotectant discarded, a coordinated metal kept — and stops where the structure does not say. |
| simulation | Runs the molecular dynamics (energy minimization, equilibration, and production), with optional enhanced sampling. |
| analysis | Computes the standard structural and dynamic metrics (and protein-ligand metrics when a ligand is present), with figures ready to use. |
| report | Packages everything into a written report (Markdown and PDF), a slide deck, a browser dashboard, and a self-contained bundle you can share. The report includes a methods paragraph written against the reporting checklists journals apply, and a convergence assessment that says what the run can and cannot support. |
Install
From conda-forge, which brings every backend with it:
conda create -n fastmdxplora -c conda-forge fastmdxplora
conda activate fastmdxplora
This is the recommended route. OpenMM, PDBFixer, OpenFF, RDKit, and PROPKA are conda-forge packages, and the ligand path needs all of them; installing them any other way is more work for the same result.
From PyPI, if you already manage those yourself or only need part of the pipeline:
pip install fastmdxplora # analysis and reporting
pip install "fastmdxplora[md]" # adds setup and simulation
pip install "fastmdxplora[ligand]" # adds most of protein-ligand preparation
pip install "fastmdxplora[pdf]" # adds the PDF report
Two of those are partial from PyPI, which is why conda-forge is the recommendation rather than a preference.
The ligand path also needs the OpenFF toolkit, which has no PyPI distribution at all — it is a conda-forge package, so no pip command reaches it:
conda install -c conda-forge openff-toolkit openmmforcefields
The pdf extra needs Pango and Cairo present as system libraries. The conda-forge package brings its own; from PyPI they have to be installed separately. Where they are missing the run says so and writes the other formats rather than failing.
Run fastmdx info afterwards to see which backends were found.
Working on FastMDXplora itself, Windows and WSL2, and troubleshooting a partial install are covered in the installation guide.
Quick start
fastmdx explore --system 1L2Y # a full exploration, from a PDB ID
fastmdx gui # design, start, and watch one in a browser
fastmdx info # what is installed and which backends are present
From Python:
import fastmdxplora as fastmdx
runs = fastmdx.FastMDXplora(system="1L2Y", output_dir="trpcage").explore()
print(runs[0].output_dir)
For anything beyond a quick run, capture the whole exploration in a YAML file.
fastmdx init-config writes a commented template, and the same file drives
both the CLI and the Python API:
fastmdx explore --config study.yml
Parameter sweeps, multi-system campaigns, cross-run comparison, parallel execution, and the full flag list are covered in the usage examples and the CLI reference.
Outputs by phase
Each phase writes to its own subdirectory under the output root, with a parameters manifest so every artifact is traceable to the options that produced it.
| Phase | Key outputs |
|---|---|
setup |
prepared.pdb, solvated.pdb, setup_parameters.json |
simulation |
production.dcd, topology.pdb, simulation_parameters.json |
analysis |
<analysis>/*.dat, <analysis>/*.png, analysis_manifest.json |
report |
report.md, report.pdf, dashboard.html, slides.pptx, project_bundle.zip |
Documentation
Full documentation is at fastmdxplora.readthedocs.io:
- Beginner's guide: first run, start to finish
- Protein-ligand interactions: what holds a ligand, and how confidently it is known
- Installation: every route, platform notes, troubleshooting
- GUI: the browser interface, and watching a cluster run
- Configuration: the YAML file, option by option
- CLI reference: every command and flag
- Production runs: GPUs, long trajectories, scaling
Citation
If you use FastMDXplora in your work, please cite:
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 are welcome. See CONTRIBUTING.md. FastMDXplora follows the Contributor Covenant.
License
MIT. See LICENSE.
Acknowledgements
FastMDXplora is developed in the AAI Research Lab at California State University Dominguez Hills. It builds on a deep ecosystem of open-source scientific Python: MDTraj, OpenMM, PDBFixer, NumPy, SciPy, scikit-learn, Matplotlib, python-pptx, and many others.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fastmdxplora-2.3.0.tar.gz.
File metadata
- Download URL: fastmdxplora-2.3.0.tar.gz
- Upload date:
- Size: 837.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8e05f86e89da2c76775a8f5101365b1c4d44841297d689fb484ea7326c0a2df5
|
|
| MD5 |
93533b9de440568df83b26d750d0aae5
|
|
| BLAKE2b-256 |
6995f0ed069f50de4b5babbca4621aab8f9a07b4f8a7eb43e9f000b28e224e50
|
Provenance
The following attestation bundles were made for fastmdxplora-2.3.0.tar.gz:
Publisher:
publish.yml on aai-research-lab/FastMDXplora
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fastmdxplora-2.3.0.tar.gz -
Subject digest:
8e05f86e89da2c76775a8f5101365b1c4d44841297d689fb484ea7326c0a2df5 - Sigstore transparency entry: 2343089126
- Sigstore integration time:
-
Permalink:
aai-research-lab/FastMDXplora@92c29d833a3cb0315098df7147517f4f133ba2e6 -
Branch / Tag:
refs/tags/v2.3.0 - Owner: https://github.com/aai-research-lab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@92c29d833a3cb0315098df7147517f4f133ba2e6 -
Trigger Event:
push
-
Statement type:
File details
Details for the file fastmdxplora-2.3.0-py3-none-any.whl.
File metadata
- Download URL: fastmdxplora-2.3.0-py3-none-any.whl
- Upload date:
- Size: 592.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8a145bd07fba928a6d1392263222cba8446ca1008882ea915884bd6559a8ce51
|
|
| MD5 |
11434d5ae3717f736297f318cf7580c0
|
|
| BLAKE2b-256 |
fadd45dff71f6103e220b12451a3da72a15e17d1a1073b39c07e3f7b8068d8d4
|
Provenance
The following attestation bundles were made for fastmdxplora-2.3.0-py3-none-any.whl:
Publisher:
publish.yml on aai-research-lab/FastMDXplora
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
fastmdxplora-2.3.0-py3-none-any.whl -
Subject digest:
8a145bd07fba928a6d1392263222cba8446ca1008882ea915884bd6559a8ce51 - Sigstore transparency entry: 2343089151
- Sigstore integration time:
-
Permalink:
aai-research-lab/FastMDXplora@92c29d833a3cb0315098df7147517f4f133ba2e6 -
Branch / Tag:
refs/tags/v2.3.0 - Owner: https://github.com/aai-research-lab
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@92c29d833a3cb0315098df7147517f4f133ba2e6 -
Trigger Event:
push
-
Statement type: