https://github.com/gph82/mdciao
mdciao: Accessible Analysis and Visualization of Molecular Dynamics Simulation Data
https://github.com/gph82/mdciao
amino-acids computational-chemistry g-protein gpcr gpcr-numbering kinases molecular-dynamics pdb-database protein-structure python structural-biology
Last synced: 5 months ago
JSON representation
mdciao: Accessible Analysis and Visualization of Molecular Dynamics Simulation Data
- Host: GitHub
- URL: https://github.com/gph82/mdciao
- Owner: gph82
- License: lgpl-3.0
- Created: 2019-07-30T09:22:05.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2026-01-14T17:03:38.000Z (5 months ago)
- Last Synced: 2026-01-14T21:11:59.920Z (5 months ago)
- Topics: amino-acids, computational-chemistry, g-protein, gpcr, gpcr-numbering, kinases, molecular-dynamics, pdb-database, protein-structure, python, structural-biology
- Language: Python
- Homepage: https://mdciao.org
- Size: 76.8 MB
- Stars: 37
- Watchers: 4
- Forks: 7
- Open Issues: 5
-
Metadata Files:
- Readme: README.rst
- License: LICENSE.txt
Awesome Lists containing this project
README
mdciao: Accessible Analysis and Visualization of Molecular Dynamics Simulation Data
===================================================================================
|Pip Package| |Python Package| |MacOs Package| |Coverage| |DOI| |License|
.. 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
* via `Common G-alpha Numbering (CGN) `_
* 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 ``_.
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.
.. admonition:: Python 3.13 users
Python 3.13 support is unofficial, because the module ``bezier`` `currently requires python <=3.12 `_.
Still, you can install mdciao in Python 3.13 if you install ``bezier`` previously with these environment variables:
>>> BEZIER_NO_EXTENSION="True" BEZIER_IGNORE_VERSION_CHECK="True" pip install bezier
>>> pip install mdciao
You can check what these variables do `here `__.
Since ``mdciao`` installs and passes the CI-tests for Python 3.13 in such an environment, you can use it **at your own risk**. Please report on any issues you might find.
Authors
=======
``mdciao`` is written and maintained by Guillermo Pérez-Hernández (`ORCID `_) currently at the `Institute of Medical Physics and Biophysics `_ in the
`Charité Universitäsmedizin Berlin `_.
Please cite:
* mdciao: Accessible Analysis and Visualization of Molecular Dynamics Simulation Data
| Guillermo Pérez-Hernández, Peter W. Hildebrand
| PLoS Comput Biol 21(4): e1012837.
| https://doi.org/10.1371/journal.pcbi.1012837
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).
| https://doi.org/10.1038/s41467-023-37233-1
* 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).
| https://doi.org/10.1038/s41586-024-07153-1
* 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).
| https://doi.org/10.1038/s41594-024-01334-2
* 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).
| https://doi.org/10.1038/s41467-024-55466-6
TODOs
=====
You can find an informal list of TODOs and known issues `here `__.
.. |Pip Package| image::
https://badge.fury.io/py/mdciao.svg
:target: https://badge.fury.io/py/mdciao
.. |Python Package| image::
https://github.com/gph82/mdciao/actions/workflows/python-package.yml/badge.svg
:target: https://github.com/gph82/mdciao/actions/workflows/python-package.yml
.. |MacOs Package| image::
https://github.com/gph82/mdciao/actions/workflows/python-package.macos.yml/badge.svg
:target: https://github.com/gph82/mdciao/actions/workflows/python-package.macos.yml
.. |Coverage| image::
https://codecov.io/gh/gph82/mdciao/branch/master/graph/badge.svg?
:target: https://codecov.io/gh/gph82/mdciao
.. |License| image::
https://img.shields.io/github/license/gph82/mdciao
.. |DOI| image::
https://zenodo.org/badge/DOI/10.5281/zenodo.5643177.svg
:target: https://doi.org/10.5281/zenodo.5643177