Python C++ Other
Clone or download
marscher Merge pull request #1339 from marscher/kmeans_minor
[kmeans] only show progress for creating data array, if src is not in memory.
Latest commit 192a38e Jul 16, 2018


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