An alternative package reflecting most of PyEMMA's functionality is deeptime. The fork you are currently looking at is an attempt to make PyEMMA work by updating dependencies, patching deprecated calls and fixing bugs. It is not guaranteed to work, and we recommend using deeptime.
To manage its dependencies, this project uses uv. You can install this using:
pip install uv
or by following the official instructions.
Among other things, uv eases the creation of a virtual environment matching with the project's requirements. To create the virtual environment, you can run:
uv venv
and activate the virutal environment with:
source .venv/bin/activate
Then, you can install all the dependencies by simply running:
PYTHONPATH=$(pwd) uv sync
If you want to use the jupyter notebooks, you will need to install the jupyter kernel with:
PYTHONPATH=$(pwd) uv run ipython kernel install --user --env VIRTUAL_ENV $(pwd)/.venv --name=msm
then, just select the kernel "msm" in the jupyter notebook.
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 http://pyemma.org.
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 https://raw.githubusercontent.com/markovmodel/PyEMMA/devel/install_miniconda%2Bpyemma.sh | 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+https://github.com/markovmodel/PyEMMA.git@devel
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
For bug reports/suggestions/complaints please file an issue on GitHub.
Or start a discussion on our mailing list: [email protected]
- mdtraj (LGPLv3): https://mdtraj.org
- thermotools (LGLPv3): http://github.com/markovmodel/thermotools