Mapping conformational landscapes from molecular simulations
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.
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)
| File | Size | Uploaded | |
|---|---|---|---|
| conformatlas-1.0.0.tar.gz | 588.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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