Skip to main content

.. |PyPIdownloads| image:: https://static.pepy.tech/personalized-badge/pygpcca?period=total&units=international_system&left_color=grey&right_color=blue&left_text=pypi%20downloads

Project description

PyPI Conda Cite Zenodo CI Documentation Coverage License PyPI - Downloads

pyGPCCA - Generalized Perron Cluster Cluster Analysis

Generalized Perron Cluster Cluster Analysis program to coarse-grain reversible and non-reversible Markov state models.

Markov state models (MSM) enable the identification and analysis of metastable states and related kinetics in a very instructive manner. They are widely used, e.g., to model molecular or cellular kinetics.

Common state-of-the-art Markov state modeling methods and tools are very well suited to model reversible processes in closed equilibrium systems. However, most are not well suited to deal with non-reversible or even non-autonomous processes of non-equilibrium systems.

To overcome this limitation, the Generalized Robust Perron Cluster Cluster Analysis (GPCCA or G-PCCA) was developed. The GPCCA method implemented in the pyGPCCA program readily handles equilibrium as well as non-equilibrium data by utilizing real Schur vectors instead of eigenvectors.

pyGPCCA enables the semiautomatic coarse-graining of transition matrices representing the dynamics of the system under study. Utilizing pyGPCCA, metastable states as well as cyclic kinetics can be identified and modeled.

How to cite pyGPCCA

If you use pyGPCCA or parts of it to model molecular dynamics, e.g. to coarse-grain protein conformational dynamics, cite [Reuter18] as:

@article{Reuter18,
    author = {Reuter, Bernhard and Weber, Marcus and Fackeldey, Konstantin and Röblitz, Susanna and Garcia, Martin E.},
    title = {Generalized Markov State Modeling Method for Nonequilibrium Biomolecular Dynamics:
    Exemplified on Amyloid β Conformational Dynamics Driven by an Oscillating Electric Field},
    journal = {Journal of Chemical Theory and Computation},
    volume = {14},
    number = {7},
    pages = {3579-3594},
    year = {2018},
    doi = {10.1021/acs.jctc.8b00079},
    note  = {PMID: 29812922},
}

If you use pyGPCCA or parts of it in a more general context, e.g. to model cellular dynamics, cite [Reuter19] as:

@article{Reuter19,
    author = {Reuter,Bernhard and Fackeldey,Konstantin and Weber,Marcus },
    title = {Generalized Markov modeling of nonreversible molecular kinetics},
    journal = {The Journal of Chemical Physics},
    volume = {150},
    number = {17},
    pages = {174103},
    year = {2019},
    doi = {10.1063/1.5064530},
}

Please consider also citing [Reuter22].

Installation

We support multiple ways of installing pyGPCCA. If any problems arise, please consult the troubleshooting section in the documentation.

Conda

pyGPCCA is available as a conda package and can be installed as:

conda install -c conda-forge pygpcca

This is the recommended way of installing, since this package also includes PETSc/SLEPc libraries. We use PETSc/SLEPc internally to speed up the computation of leading Schur vectors (both are optional).

PyPI

In order to install pyGPCCA from The Python Package Index, run:

pip install pygpcca
# or with libraries utilizing PETSc/SLEPc
pip install pygpcca[slepc]

Example

Please refer to our example usage in the documentation.

Key Contributors

Acknowledgments

We thank Marcus Weber and the Computational Molecular Design (CMD) group at the Zuse Institute Berlin (ZIB) for the longstanding and productive collaboration in the field of Markov modeling of non-reversible molecular dynamics. M. Weber, together with Susanna Röblitz and K. Fackeldey, had the original idea to employ Schur vectors instead of eigenvectors in the coarse-graining of non-reversible transition matrices.

Further, we would like to thank Fabian Paul for valuable discussions regarding the sorting of Schur vectors and his effort to translate the original sorting routine for real Schur forms, SRSchur published by Jan Brandts, from MATLAB into Python code, M. Weber and Alexander Sikorski for pointing us to SLEPc for sorted partial Schur decompositions, and A. Sikorski for supplying us with an code example and guidance how to interface SLEPc in Python. The development of pyGPCCA started - based on the original GPCCA program written in MATLAB - at the beginning of 2020 in a fork of MSMTools, since it was planned to integrate GPCCA into MSMTools at this time. Due to this, some similarities in structure and code (indicated were evident) can be found. Further, utility functions found in pygpcca/utils/_utils.py originate from MSMTools.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pygpcca-1.0.4.tar.gz (106.2 kB view details)

Uploaded Source

Built Distribution

pygpcca-1.0.4-py3-none-any.whl (68.7 kB view details)

Uploaded Python 3

File details

Details for the file pygpcca-1.0.4.tar.gz.

File metadata

  • Download URL: pygpcca-1.0.4.tar.gz
  • Upload date:
  • Size: 106.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for pygpcca-1.0.4.tar.gz
Algorithm Hash digest
SHA256 5e3b49279abc62d25133811daeee050715f995ff02042c46e2a2034331d090d1
MD5 1857e0ce6e55f46e1834cb3f45c880e3
BLAKE2b-256 955d6cd08d5822de8c482e8fc5c4299e6f139e4e1eb39cf5d999e5ba374a4baa

See more details on using hashes here.

File details

Details for the file pygpcca-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: pygpcca-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 68.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.15

File hashes

Hashes for pygpcca-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e541059418032cd51d2997638adfe6aac9629717bbd6b78d8876ffb4bf4018c7
MD5 5dd7d37ceda9502cff95823fbf2152f2
BLAKE2b-256 82a6c415c9faa7c4c8749fbac0c54523def0cf9efb94d70f09188370c0da74c8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page