Skip to main content

Machine learning collective variables for enhanced sampling

Project description

Machine Learning Collective Variables for Enhanced Sampling

CODE Documentation Status GitHub Actions Build Status codecov license

PAPER paper preprint


mlcolvar is a Python library aimed to help design data-driven collective-variables (CVs) for enhanced sampling simulations. The key features are:

  1. A unified framework to help test and use (some) of the CVs proposed in the literature.
  2. A modular interface to simplify the development of new approaches and the contamination between them.
  3. A streamlined distribution of CVs in the context of advanced sampling.

The library is built upon the PyTorch ML library as well as the Lightning high-level framework.


Some of the CVs which are implemented, organized by learning setting:

  • Unsupervised: PCA, (Variational) AutoEncoders [1,2]
  • Supervised: LDA [3], DeepLDA [4], DeepTDA [5]
  • Time-informed: TICA [6], DeepTICA/SRVs [7,8], VDE [9]

And many others can be implemented based on the building blocks or with simple modifications. Check out the documentation and the examples section!


Install with pip

The library is available on PyPi and can be installed with pip. This is the preferred choice for users as it automatically installs the package requirements.

pip install mlcolvar

Clone from GitHub

The library can also be installed cloning the repository from GitHub. This is the preferred choice for developers as it provides more flexibility and allows editable installation.

git clone https://github.com/luigibonati/mlcolvar.git
cd mlcolvar
pip -e install .

PLUMED interface: the resulting CVs can be deployed for enhancing sampling with the PLUMED package via the pytorch interface, available since version 2.9.


Notes: in early versions (v<=0.2.*) the library was called mlcvs. This is still accessible for compatibility with PLUMED masterclasses in the releases or by cloning the pre-lightning branch.


Copyright (c) 2023 Luigi Bonati, Enrico Trizio, Andrea Rizzi and Michele Parrinello. Structure of the project is based on Computational Molecular Science Python Cookiecutter.

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

mlcolvar-1.1.0.tar.gz (296.0 kB view details)

Uploaded Source

Built Distribution

mlcolvar-1.1.0-py3-none-any.whl (78.3 kB view details)

Uploaded Python 3

File details

Details for the file mlcolvar-1.1.0.tar.gz.

File metadata

  • Download URL: mlcolvar-1.1.0.tar.gz
  • Upload date:
  • Size: 296.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for mlcolvar-1.1.0.tar.gz
Algorithm Hash digest
SHA256 256114899962540b6ebf9870994ef4ee9fa07e0e846c9aaa39cbed9c38187c93
MD5 41ff9fc4ab05ba4c406e62dd3be6096e
BLAKE2b-256 4ff2fa21a58780bb9a35917c75db2243f101d20d65d35031038f6c396b88a5df

See more details on using hashes here.

File details

Details for the file mlcolvar-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: mlcolvar-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 78.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.13

File hashes

Hashes for mlcolvar-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d0716248134af4d8a693edc01a1aba429be0d8e86d5e722f5dc5612e21193a2a
MD5 cac75d556f5f4571afa5dafe52b18275
BLAKE2b-256 8f45c07a5b47cd9bcd556e81e8689ea3017d68aa2b20123b8b86c3d782c8aa22

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