mlcolvar

A unified framework for machine learning collective variables for enhanced sampling simulations

https://github.com/luigibonati/mlcolvar

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 18 DOI reference(s) in README
  • Academic publication links
    Links to: arxiv.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (14.8%) to scientific vocabulary

Keywords

collective-variables data-driven enhanced-sampling machine-learning python
Last synced: 4 months ago · JSON representation ·

Repository

A unified framework for machine learning collective variables for enhanced sampling simulations

Basic Info
  • Host: GitHub
  • Owner: luigibonati
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 105 MB
Statistics
  • Stars: 121
  • Watchers: 4
  • Forks: 33
  • Open Issues: 14
  • Releases: 13
Topics
collective-variables data-driven enhanced-sampling machine-learning python
Created over 4 years ago · Last pushed 4 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

Machine Learning Collective Variables for Enhanced Sampling

CODE Documentation Status GitHub Actions Build Status codecov license

PAPER paper preprint

The documentation is available at: - stable version: https://mlcolvar.readthedocs.io - latest version: https://mlcolvar.readthedocs.io/en/latest/


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 tutorials and the examples section of the documentation.


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.

bash 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.

bash 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.

Owner

  • Name: Luigi Bonati
  • Login: luigibonati
  • Kind: user
  • Location: Genoa, Italy
  • Company: Italian Institute of Technology (IIT)

Postdoctoral researcher Atomistic Simulations, IIT, Genoa, Italy >> Machine learning for enhanced sampling simulations <<

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Bonati"
  given-names: "Luigi"
  orcid: "https://orcid.org/0000-0002-9118-6239"
- family-names: "Trizio"
  given-names: "Enrico"
  orcid: "https://orcid.org/0000-0003-2042-0232"
- family-names: "Rizzi"
  given-names: "Andrea"
  orcid: "https://orcid.org/0000-0001-7693-2013"
- family-names: "Parrinello"
  given-names: "Michele"
  orcid: "https://orcid.org/0000-0001-6550-3272"
title: "mlcolvar"
url: "https://github.com/luigibonati/mlcolvar"
preferred-citation:
  type: article
  authors:
  - family-names: "Bonati"
    given-names: "Luigi"
    orcid: "https://orcid.org/0000-0002-9118-6239"
  - family-names: "Trizio"
    given-names: "Enrico"
    orcid: "https://orcid.org/0000-0003-2042-0232"
  - family-names: "Rizzi"
    given-names: "Andrea"
    orcid: "https://orcid.org/0000-0001-7693-2013"
  - family-names: "Parrinello"
    given-names: "Michele"
    orcid: "https://orcid.org/0000-0001-6550-3272"
  doi: "10.1063/5.0156343"  
  journal: "Journal of Chemical Physics"
  start: 014801
  title: "A unified framework for machine learning collective variables for enhanced sampling simulations: mlcolvar"
  volume: 159
  year: 2023

GitHub Events

Total
  • Create event: 22
  • Issues event: 11
  • Release event: 3
  • Watch event: 30
  • Delete event: 15
  • Issue comment event: 47
  • Push event: 94
  • Pull request review comment event: 52
  • Pull request review event: 18
  • Pull request event: 46
  • Fork event: 8
Last Year
  • Create event: 22
  • Issues event: 11
  • Release event: 3
  • Watch event: 30
  • Delete event: 15
  • Issue comment event: 47
  • Push event: 94
  • Pull request review comment event: 52
  • Pull request review event: 18
  • Pull request event: 46
  • Fork event: 8

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 27
  • Total pull requests: 36
  • Average time to close issues: 3 months
  • Average time to close pull requests: 10 days
  • Total issue authors: 13
  • Total pull request authors: 9
  • Average comments per issue: 1.33
  • Average comments per pull request: 0.75
  • Merged pull requests: 19
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 7
  • Pull requests: 21
  • Average time to close issues: 13 days
  • Average time to close pull requests: 5 days
  • Issue authors: 5
  • Pull request authors: 6
  • Average comments per issue: 1.71
  • Average comments per pull request: 0.62
  • Merged pull requests: 10
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • EnricoTrizio (15)
  • luigibonati (3)
  • zd9999cs (2)
  • Kai-Zhu-2001 (2)
  • Alexander-the-Evil (2)
  • cchapellier (1)
  • andrrizzi (1)
  • JinyinZha (1)
  • geraseva (1)
  • jintuzhang (1)
  • thangckt (1)
  • recisic (1)
  • vishnu-thumpudi2108 (1)
Pull Request Authors
  • EnricoTrizio (30)
  • PabloNA97 (4)
  • luigibonati (4)
  • charlotte-chaps (1)
  • DevergneTimothee (1)
  • andrrizzi (1)
  • PythonFZ (1)
  • recisic (1)
Top Labels
Issue Labels
enhancement (5) bug (5) documentation (5) good first issue (2)
Pull Request Labels
bug (1) enhancement (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 243 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 5
  • Total maintainers: 1
pypi.org: mlcolvar

Machine learning collective variables for enhanced sampling

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 243 Last month
Rankings
Stargazers count: 8.8%
Forks count: 9.9%
Dependent packages count: 10.0%
Average: 13.3%
Downloads: 16.0%
Dependent repos count: 21.7%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/CI.yaml actions
  • actions/checkout v1 composite
  • codecov/codecov-action v1 composite
  • conda-incubator/setup-miniconda v2 composite
.github/workflows/codeql.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite
requirements.txt pypi
  • kdepy *
  • matplotlib *
  • numpy *
  • pandas *
  • pytest *
  • pyyaml *
  • setuptools *
  • torch *
  • yaml *