mdciao: Accessible Analysis and Visualization of Molecular Dynamics Simulation Data
- figure:: doc/imgs/banner.png
- scale:
33%
- figure:: doc/imgs/distro_and_violin.png
- scale:
25%
- figure:: doc/imgs/timedep_ctc_matrix.png
- scale:
55%
- figure:: doc/imgs/interface.combined.png
- scale:
33%
mdciao is a Python module that provides quick, “one-shot” command-line tools to analyze molecular simulation data using residue-residue distances. mdciao tries to automate as much as possible for non-experienced users while remaining highly customizable for advanced users, by exposing an API to construct your own analysis workflow.
Under the hood, the module mdtraj is doing most of the computation and handling of molecular information, using BioPython for sequence alignment, pandas for many table and IO related operations, and matplotlib for visualization. It tries to automatically use the consensus nomenclature for
- GPCRs
via Ballesteros-Weinstein-Numbering or structure-based schemes by Gloriam et al for the receptor’s TM domain, or
via generic-residue-numbering for the GAIN domain of adhesion GPCRs
- G-proteins
- Kinases
via their 85 pocket-residue numbering scheme
using local files or on-the-fly lookups of the GPCRdb and/or KLIFS.
Licenses
mdciao is licensed under the GNU Lesser General Public License v3.0 or later (LGPL-3.0-or-later, see the LICENSE.txt).
mdciao uses a modified version of the method mdtraj.compute_contacts of mdtraj. This modified version is published along with mdciao and can be found in contacts/_md_compute_contacts.py. Please see that file for details on the modifications.
Modules used by mdciao have different licenses. You can check any module’s license in your Python environment using pip-licenses:
>>> pip-licenses | grep module_name
Documentation
Currently, docs are hosted at https://mdciao.org.
System Requirements
mdciao is developed in GNU/Linux, and CI-tested via github actions for GNU/Linux and MacOs. Tested Python versions are:
GNU/Linux: 3.8, 3.9, 3.10, 3.11, 3.12
MacOs: 3.8, 3.9, 3.10, 3.11, 3.12.
So everything should work out of the box in these conditions.
Scope
mdciao originated as a loose collection of CLI scripts used in our lab to streamline contact-frequency analysis of MD simulations with mdtraj, which is doing a lot of the heavy work under the hood of mdciao. The goal was to take the less scripting-affine lab members from their raw data to informative graphs about the general vicinity of their residues of interest without much hassle. From there, it grew to incorporate many of the things routinely done in the lab (with a focus on GPCRs and G proteins) and ultimately a package available for third-party use was made.
- The main publications which have driven the development of mdciao are:
- Function and dynamics of the intrinsically disordered carboxyl terminus of β2 adrenergic receptor.
- Heng, J., Hu, Y., Pérez-Hernández, G. et al.Nat Commun 14, 2005 (2023).
- Time-resolved cryo-EM of G-protein activation by a GPCR.
- Papasergi-Scott, M.M., Pérez-Hernández, G., Batebi, H. et al.Nature 629, 1182–1191 (2024).
- Mechanistic insights into G-protein coupling with an agonist-bound G-protein-coupled receptor.
- Batebi, H., Pérez-Hernández, G., Rahman, S.N. et al.Nat Struct Mol Biol (2024).
- Generic residue numbering of the GAIN domain of adhesion GPCRs.
- Seufert, F., Pérez-Hernández, G., Pándy-Szekeres, G. et al.Nat Commun 16, 246 (2025).
TODOs
You can find an informal list of TODOs and known issues here.
Metadata
Release files for mdciao 1.1.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 | Provenance | Actions |
|---|---|---|---|---|
| mdciao-1.1.0.tar.gz | 3.2 MB | Without provenance | Details for mdciao-1.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| mdciao-1.1.0-py3-none-any.whl | Python 3 | none | any | Details for mdciao-1.1.0-py3-none-any.whl |
Total release size: 6.5 MB
Release files / mdciao-1.1.0.tar.gz
| Download URL | mdciao-1.1.0.tar.gz |
|---|---|
| Size | 3.2 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
725e2af61e4426ce4e8b741e005c1d3ca97bbeb5258df82a5cb0386b604872bf
|
|
BLAKE2b-256 checksum How to use checksums |
8e0df48c4a06201c114a21adddd282837428950427dc652fcb683d2ea90b8df3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.9
|
Release files / mdciao-1.1.0-py3-none-any.whl
| Download URL | mdciao-1.1.0-py3-none-any.whl |
|---|---|
| Size | 3.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f153588797e505adeb2ed19516e69844dcc83b4118b75440d9e14a7254d1cb24
|
|
BLAKE2b-256 checksum How to use checksums |
00662666ba591b65ecca29649fa71592c01ebea5468d73d554eb2c62a1ab7d38
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.9
|
Security for mdciao 1.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.
No provenance found
None of the files in this release were uploaded with provenance metadata.
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.