Metadata-Version: 2.4
Name: openmm-opes
Version: 0.1.1
Summary: OpenMM implementation of On-the-fly Probability Enhanced Sampling (OPES)
Author: Charlles Abreu
License-Expression: MIT
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.24
Requires-Dist: scipy>=1.10
Requires-Dist: openmm>=8.1
Provides-Extra: dev
Requires-Dist: pytest>=7.4; extra == "dev"
Requires-Dist: ruff>=0.16; extra == "dev"
Requires-Dist: ty==0.0.72; extra == "dev"
Provides-Extra: docs
Requires-Dist: mkdocs>=1.6; extra == "docs"
Requires-Dist: mkdocs-material>=9.5; extra == "docs"
Requires-Dist: mkdocstrings[python]>=0.24; extra == "docs"
Dynamic: license-file

# openmm-opes

[![CI](https://github.com/craabreu/openmm-opes/actions/workflows/ci.yml/badge.svg)](https://github.com/craabreu/openmm-opes/actions/workflows/ci.yml)

An [OpenMM](https://openmm.org) implementation of On-the-fly Probability
Enhanced Sampling (OPES) and OPES-explore.

## Installation

```bash
pip install openmm-opes
```

## Usage

```python
from openmm_opes import OPES

sampler = OPES(system, variables, temperature, barrier, frequency=500,
               varianceFrequency=50)
sampler.step(simulation, 1_000_000)
fes = sampler.getFreeEnergy()
```

Full documentation: <https://craabreu.github.io/openmm-opes>

## Origin

This library packages and hardens the prototype implementation developed in
[craabreu/opes-simulations](https://github.com/craabreu/opes-simulations),
porting its `OPES`/`OnlineKDE` classes into a tested, documented package.

## References

- Invernizzi & Parrinello, J. Phys. Chem. Lett. 2020,
  [doi:10.1021/acs.jpclett.0c00497](https://doi.org/10.1021/acs.jpclett.0c00497)
- Invernizzi & Parrinello, J. Chem. Theory Comput. 2022,
  [doi:10.1021/acs.jctc.2c00152](https://doi.org/10.1021/acs.jctc.2c00152)

## License

MIT
