Skip to content
🚂 Python API for Emma's Markov Model Algorithms 🚂
Branch: devel
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci merged devel Jul 1, 2019
.github [github] added templates for new issues and pull requests Oct 20, 2016
ext [pybind11] updated submodule to v2.3.0 Jul 12, 2019
.gitattributes [versioneer] updated to v0.13 Feb 23, 2015
.gitignore added .pytest_cache to .gitignore Jun 16, 2018
.gitmodules merged devel Jul 1, 2019
.pylintrc [travis] added pylint check (errors only). Fixes #202 Apr 11, 2015
.travis.yml merged devel Jul 1, 2019
AUTHORS [cmsm] cleanup, fix tests, update authors Jul 11, 2019
LICENSE.txt switch license to lgpl Aug 31, 2015 merged devel Jul 1, 2019
README.rst [doc] updated install instructions [ci skip] Jan 29, 2018
appveyor.yml merged devel Jul 1, 2019 [conftest] ignore errors during tidying up. Sep 18, 2018 optionally install ipywidgets [ci skip] Feb 17, 2018
pyproject.toml merged devel Jul 1, 2019
setup.cfg merged devel Jul 1, 2019 merged devel Jul 1, 2019 [version] upgraded versioneer to 0.18 Nov 6, 2017


EMMA (Emma's Markov Model Algorithms)

What is it?

PyEMMA (EMMA = Emma's Markov Model Algorithms) is an open source Python/C package for analysis of extensive molecular dynamics simulations. In particular, it includes algorithms for estimation, validation and analysis of:

  • Clustering and Featurization
  • Markov state models (MSMs)
  • Hidden Markov models (HMMs)
  • Multi-ensemble Markov models (MEMMs)
  • Time-lagged independent component analysis (TICA)
  • Transition Path Theory (TPT)

PyEMMA can be used from Jupyter (former IPython, recommended), or by writing Python scripts. The docs, can be found at


If you use PyEMMA in scientific work, please cite:

M. K. Scherer, B. Trendelkamp-Schroer, F. Paul, G. Pérez-Hernández, M. Hoffmann, N. Plattner, C. Wehmeyer, J.-H. Prinz and F. Noé: PyEMMA 2: A Software Package for Estimation, Validation, and Analysis of Markov Models, J. Chem. Theory Comput. 11, 5525-5542 (2015)


If you want to use Miniconda on Linux or OSX, you can run this script to download and install everything:

curl -s | bash

If you have Anaconda/Miniconda installed, use the following:

conda install -c conda-forge pyemma

With pip:

pip install pyemma

or install latest devel branch with pip:

pip install git+

For a complete guide to installation, please have a look at the version online or offline in file doc/source/INSTALL.rst

To build the documentation offline you should install the requirements with:

pip install -r requirements-build-doc.txt

Then build with make:

cd doc; make html

Support and development

For bug reports/suggestions/complaints please file an issue on GitHub.

Or start a discussion on our mailing list:

External Libraries

You can’t perform that action at this time.