Skip to main content

ConformAtlas

Mapping conformational landscapes from molecular simulations

Python 3.10 | 3.11 | 3.12 CI Documentation License: MIT

Installation · Quick start · Outputs · Documentation · Citation


ConformAtlas turns molecular dynamics trajectories into a quantitative map of conformational space: principal components, a free-energy landscape with error bars, the metastable states on it, the barriers and rates between them, and a verdict on whether the sampling supports those numbers. It runs as a single command (conformatlas analyze) and as a Python library, reads anything MDAnalysis can open, and ships with a validation suite that checks every numerical component against analytical results or an independent implementation.

Free-energy landscape of influenza neuraminidase bound to zanamivir
Influenza A/H1N1 neuraminidase bound to zanamivir, 2001 frames at 300 K: free-energy landscape on the first two Cα principal components with three watershed states (48 / 41 / 11 %). Unmodified figures/fel_2d_3d.png from a single conformatlas analyze run; see the tutorial.

Features

Decompositions Cartesian PCA after Kabsch superposition, backbone / side-chain / nucleic dihedral PCA, TICA with implied timescales; landscapes on any component pair, on RMSD vs Rg, or on user-supplied collective variables
Free-energy landscape Boltzmann inversion at the simulation temperature (kJ/mol), automatic grid resolution, unsampled bins left empty; agrees with gmx sham on the same input
Uncertainty Circular block bootstrap within replicates: standard deviation and 95 % CI of every bin, state population, state free energy and barrier
States and kinetics Watershed segmentation with barrier-based merging, saddle-point barriers, transition matrix, dwell times, mean first-passage times; optional Markov state model (microstates, reversible estimator, implied-timescale scan, Chapman–Kolmogorov test, PCCA+)
Convergence Statistical inefficiency and effective sample size, equilibration detection, first/second-half subspace overlap, cosine content, population stability per replicate
Structures Representative and average structures per state, RMSF profiles, per-residue mode contributions, NMWiz mode files, dynamic cross-correlation maps, ligand–residue contacts
Comparisons Any number of systems projected into a shared PCA space: ΔΔG maps with uncertainty, population differences with bootstrap confidence intervals and p-values, landscape overlap metrics
Enhanced sampling conformatlas reweight turns PLUMED metadynamics or umbrella-sampling output into per-frame weights (final bias, Tiwary–Parrinello, WHAM, MBAR) for a reweighted landscape
Scale Streaming two-pass PCA engine with memory independent of trajectory length, multi-replicate aware, HDF5 results container, re-analysis of saved results without re-reading trajectories
Reporting Self-contained HTML report with interactive landscape and 3-D structure viewer, publication-ready PNG/SVG/PDF figures, optional PDF report

Installation

pip install conformatlas            # core (includes MDAnalysis)
pip install "conformatlas[all]"     # + interactive figures, HDF5, progress bars, PDF report

From source:

git clone https://github.com/AtharvaTilewale/ConformAtlas.git
cd ConformAtlas
pip install -e ".[dev]"
conformatlas doctor                 # checks Python dependencies and GROMACS (optional)

Requires Python ≥ 3.10. GROMACS is optional and only needed for --pca-backend gromacs.

Quick start

Analyse one system (any number of replicates):

conformatlas analyze -s topology.gro -f rep1.xtc -f rep2.xtc -f rep3.xtc -T 300 -o results/WT

Protein–ligand complex, discarding the equilibration phase and adding a Markov state model:

conformatlas analyze -s md.gro -f md_noPBC.xtc -n index.ndx \
    --cov-group C-alpha --lig ZMR -T 300 \
    --equilibration auto --bootstrap 200 --msm \
    -o results/complex

Compare conditions (wild type vs mutant, apo vs holo, …) in a shared PCA space:

conformatlas compare --config comparison.yaml -o results/comparison

Try it on the bundled synthetic two-state peptide:

conformatlas example -o demo
conformatlas analyze -s demo/WT/topology.pdb -f demo/WT/rep1.xtc -f demo/WT/rep2.xtc -T 300 --bins 32 --smooth-sigma 1.0 -o demo/results

Every option can live in a YAML file (conformatlas init-config --type analyze -o run.yaml). Trajectories must be made whole across periodic boundaries first (gmx trjconv -pbc mol). The full option reference is in docs/cli.md.

From Python:

from conformatlas import api

ens  = api.load_trajectories("topology.gro", ["rep1.xtc", "rep2.xtc"], group="C-alpha")
pcs  = api.pca(ens)
land = api.landscape(pcs, temperature=300)
st   = api.states(land)
fig, ax, _ = api.plot_landscape(land, states=st.states)

What you get

results/
├── report.html         # interactive landscape, structure viewer, interpretation
├── summary.json        # state populations and minima, convergence assessment
├── pca/                # eigenvalues, projections, eigenvectors, modes.nmd, mode contributions
├── fel/                # free-energy grid, probability, bootstrap SD and CI
├── states/             # basins, frame assignments, barriers, state ΔG, representative structures
├── statistics/         # populations with block SD/SEM and bootstrap 95 % CI
├── kinetics/  msm/     # transition matrices, dwell times, MFPT; MSM diagnostics (--msm)
├── convergence/        # RMSIP, N_eff, equilibration, cosine content, population stability
├── residues/           # DCCM, state differences, ligand contacts (--residue-analysis)
└── figures/            # 2-D/3-D landscapes, uncertainty maps, kinetics, MSM, DCCM panels

Units: Å, ps, kJ/mol. The complete file manifest is in docs/outputs.md.

Validation

validation/validate.py compares every numerical component with an analytical result or an independent implementation — MDAnalysis, GROMACS (covar, anaeig, sham), pymbar, deeptime, SciPy and ProDy — and writes the report that is published as docs/benchmarks.md (147/147 checks). Components that are conventions rather than derivations (convergence thresholds, grid heuristics, MSM lag selection) are labelled as such in docs/methods.md.

Boltzmann inversion assumes an unbiased equilibrium ensemble; for biased simulations use conformatlas reweight and --weights-file. See the FAQ for this and other pitfalls.

Documentation

Full documentation: conformatlas.readthedocs.io

Getting started Reference Background
Installation Command line Methods
Quickstart Python API Interpreting results
Tutorial: neuraminidase–zanamivir Output files Convergence diagnostics
FAQ Comparing systems Validation and benchmarks

Citation

@software{conformatlas2026,
  author  = {Tilewale, Atharva and Patel, Dhaval},
  title   = {ConformAtlas: mapping conformational landscapes from molecular simulations},
  year    = {2026},
  version = {1.0.0},
  url     = {https://github.com/AtharvaTilewale/ConformAtlas}
}

A machine-readable citation is in CITATION.cff.

Contributing

Bug reports, feature requests and pull requests are welcome — see CONTRIBUTING.md. Please run ruff check, the test suite and validation/validate.py before opening a pull request.

Authors and license

Developed by Atharva Tilewale and Dhaval Patel. Released under the MIT License.

Metadata

Release files for conformatlas 1.0.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 conformatlas 1.0.0
File Size Uploaded
conformatlas-1.0.0.tar.gz 588.3 kB Details

Built distribution (wheel)

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

Total release size: 1.2 MB

Release files / conformatlas-1.0.0.tar.gz

Download URL conformatlas-1.0.0.tar.gz
Size 588.3 kB
Tags Source
SHA-256 checksum
How to use checksums
4cd9a9034de7c8118bece4b17949375363d62e160d26b6c957bcc9e63a1101f6
BLAKE2b-256 checksum
How to use checksums
8d0ee5748ccab7b69a78aca0f308ac2ce285f67d5423bfec67ff1764f2b03fd9
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 Oct 11, 2026.

Transparency log

Release files / conformatlas-1.0.0-py3-none-any.whl

Download URL conformatlas-1.0.0-py3-none-any.whl
Size 601.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ccc5681c9e5408aab78f6bc259592359e2ed25d4b227a8efc02097007346531e
BLAKE2b-256 checksum
How to use checksums
a0a6d66c4b361435859702da1b0ca95dedf8d85d40851b940123e27c90be8484
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 Oct 11, 2026.

Transparency log

Release history Release notifications | RSS feed

1.0.2

2 release files

1.0.1

2 release files

This release

1.0.0 This release

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