Skip to main content

AIMMD-Lab

pytest codecov Documentation Status Read the Docs PyPI License: MIT Python

This repository implements AI for Molecular Mechanism Discovery (AIMMD) — AI-enhanced path sampling for rare molecular transitions.

AIMMD generates short unbiased simulations from configurations chosen by a machine-learned committor model, building a diverse ensemble of trajectories that approximates a long equilibrirum trajecotory at a fraction of the computational cost. That ensemble is reweighted to recover free-energy profiles and transition rates, while the learned committor doubles as an interpretable reaction coordinate. Runs scale from a laptop (multiprocessing) to HPC clusters (SLURM srun), driving the GROMACS MD engine or a built-in toy engine.

📖 Documentation: https://aimmd-lab.readthedocs.io

A alternative package implementing AIMMD as published in Jung et al. (2023) is available at https://github.com/bio-phys/aimmd.

Features

  • Committor-guided two-way shooting in the reactive region.
  • Rejection-free path sampling (rfps) and classic TPS acceptance (tps).
  • On-the-fly training and reweighting — the committor model, adaptive bins, and densities update continuously as data arrives.
  • Free energies and rates from a single self-consistent path ensemble.
  • Multi-system / multi-ligand runs trained with one shared committor network.
  • Biased dynamics (OPES/PLUMED) with Tiwary–Parrinello rate reweighting.
  • Graph-neural-network committor models (optional).
  • Local or HPC execution from the same parameter file.

Installation

From PyPI

pip install aimmd-lab

The distribution is named aimmd-lab, but the import name is aimmd:

import aimmd

We recommend a clean conda environment (Python 3.13 is tested):

conda create -n aimmd python=3.13
conda activate aimmd
pip install aimmd-lab

Prerequisites: GROMACS

AIMMD drives the GROMACS MD engine and expects gmx or gmx_mpi on your PATH. For testing and lightweight work it can be installed from conda-forge:

conda install conda-forge::gromacs

For production runs we recommend building GROMACS from source for optimal performance; see the GROMACS install guide. (The built-in toy engine needs no GROMACS.)

Optional: graph neural networks

Graph-based committor models need extra packages (torch-cluster can be awkward to build). Install the graphs extra plus mlcolvar:

pip install "aimmd-lab[graphs]"
pip install mlcolvar

If the default wheels do not match your CUDA/Python build, install them explicitly — see the installation guide for a confirmed-working CUDA 11.8 / Python 3.13 example.

Development install

git clone https://github.com/covinolab/AIMMD-Lab.git
cd AIMMD-Lab
pip install -e ".[tests,docs]"
pytest tests/          # verify the installation

Quickstart

An AIMMD run is defined by a params.py file (states, features, network, engine, sampling controls) and a short launch script:

import aimmd

params   = aimmd.Params.load('params.py')   # load the run configuration
launcher = aimmd.Launcher(params, 'run1')   # attach a working directory

# 5 shooting workers, 1 free-A, 1 free-B; stop after 25k frames.
launcher.run(5, 1, 1, nframes=25000)

# Reload and analyze the resulting path ensemble.
ensemble = params.pathensemble('run1')
ensemble.report()
ensemble.reweight()      # free energies / rates

See the Quickstart and the runnable tutorial notebooks (a 1-D toy system and a multi-ligand run, both GROMACS-free) for complete examples.

Documentation

Full documentation is hosted at https://aimmd-lab.readthedocs.io, including:

Citation

If you use AIMMD in your work, please cite the relevant papers:

  1. Jung, H.; Covino, R.; Arjun, A.; Leitold, C.; Dellago, C.; Bolhuis, P. G.; Hummer, G. Machine-Guided Path Sampling to Discover Mechanisms of Molecular Self-Organization. Nat. Comput. Sci. 2023, 3 (4), 334–345. https://doi.org/10.1038/s43588-023-00428-z
  2. Lazzeri, G.; Jung, H.; Bolhuis, P. G.; Covino, R. Molecular Free Energies, Rates, and Mechanisms from Data-Efficient Path Sampling Simulations. J. Chem. Theory Comput. 2023, 19 (24), 9060–9076. https://doi.org/10.1021/acs.jctc.3c00821
  3. Lazzeri, G.; Bolhuis, P. G.; Covino, R. Optimal Rejection-Free Path Sampling. arXiv 2025. https://arxiv.org/abs/2503.21037

A CITATION.cff file is included for GitHub's "Cite this repository" feature.

Contributing

Contributions are welcome — see CONTRIBUTING.md and the developer guide.

License

AIMMD is released under the MIT License. See LICENSE.

Metadata

Release files for aimmd-lab 0.1.0

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

Source distribution (sdist)

Source distribution for aimmd-lab 0.1.0
File Size Uploaded Provenance
aimmd_lab-0.1.0.tar.gz 329.8 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for aimmd-lab 0.1.0
File Interpreter ABI Platform
aimmd_lab-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 655.8 kB

Release files / aimmd_lab-0.1.0.tar.gz

Download URL aimmd_lab-0.1.0.tar.gz
Size 329.8 kB
Tags Source
SHA-256 checksum
How to use checksums
991c83ab6a1a70f3d88982fcf116dd2f5d778c9740bc4f4e2120fc752f960e0e
BLAKE2b-256 checksum
How to use checksums
23aab4cb97396c2fa2686e150fd4fd70d915c7ba2f1d1de9a2e0b89bd92550dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 9, 2026.

Transparency log

Release files / aimmd_lab-0.1.0-py3-none-any.whl

Download URL aimmd_lab-0.1.0-py3-none-any.whl
Size 325.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
c554fdde480013be7fcb0fbb55add89033179101c748b28c7655437266a4ac8f
BLAKE2b-256 checksum
How to use checksums
a8af8e5822fb53faba739b6c9f7b1f38bb9c900052a7a66449c82e3144e478a9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 Jul 9, 2026.

Transparency log

Security for aimmd-lab 0.1.0

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for aimmd_lab-0.1.0.tar.gz

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 Jul 9, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

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