mlcolvar: Machine Learning Collective Variables#

https://img.shields.io/badge/Github-mlcolvar-brightgreen https://img.shields.io/badge/doi-10.1063/5.0156343-blue https://img.shields.io/badge/arXiv:2305.19980-red

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!

The workflow for training and deploying CVs is illustrated in the figure:

Example workflow

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

Table of contents#

Indices and tables#