Skip to content

Commit

Permalink
Merge pull request #26 from craabreu/update-docs
Browse files Browse the repository at this point in the history
Updates documentation
  • Loading branch information
craabreu authored Dec 6, 2023
2 parents a6fd957 + a9dabf6 commit c2e153b
Show file tree
Hide file tree
Showing 7 changed files with 92 additions and 42 deletions.
25 changes: 7 additions & 18 deletions .github/workflows/Anaconda.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -42,24 +42,13 @@ jobs:
shell: bash -l {0}
working-directory: ./devtools/conda-recipes/anaconda
run: |
dir=$(mktemp -d)
echo "::group::Building ufedmm $UFEDMM_VERSION"
outdir=$(mktemp -d)
export UFEDMM_VERSION=${{ github.ref_name }}
for version in 3.{8..11}; do
echo "::group::Building ufedmm $UFEDMM_VERSION for Python $version"
outdir=$dir/py$version
mkdir $outdir
export PYTHON_VERSION=$version
conda mambabuild . --no-anaconda-upload -c conda-forge --output-folder $outdir --python $version
PACKAGE=$(find $outdir -name *.tar.bz2 | head -1)
for platform in osx-64 linux-32 linux-64 win-32 win-64; do
echo "Converting package to platform $platform"
conda convert --platform $platform $PACKAGE -o $outdir
done
echo "::endgroup::"
done
conda mambabuild . --no-anaconda-upload -c conda-forge --output-folder $outdir
echo "::endgroup::"
echo "::group::Uploading package to craabreu conda channel"
PACKAGE=$(find $outdir -name *.tar.bz2 | head -1)
export ANACONDA_API_TOKEN=${{ secrets.ANACONDA_TOKEN }}
echo "::group::Uploading packages to craabreu conda channel"
for filename in $(find $dir -name *.tar.bz2); do
anaconda upload --user craabreu --force --label main $filename
done
anaconda upload --user craabreu --force --label main $PACKAGE
echo "::endgroup::"
6 changes: 4 additions & 2 deletions .github/workflows/Linux.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,13 @@ on:

jobs:
test:
name: Test on ${{ matrix.os }}, Python ${{ matrix.python-version }}
name: Test on ${{ matrix.os }}, Python ${{ matrix.python-version }}, OpenMM ${{ matrix.openmm-version }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest]
python-version: [3.8, 3.9, "3.10"]
python-version: [3.9, "3.10"]
openmm-version: ["7.7", "8.0"]

steps:
- uses: actions/checkout@v3
Expand All @@ -42,6 +43,7 @@ jobs:
channels: conda-forge
extra-specs: |
python=${{ matrix.python-version }}
openmm=${{ matrix.openmm-version }}
- name: Install package
# conda setup requires this special shell
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/MacOS.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ on:

jobs:
test:
name: Test on ${{ matrix.os }}, Python ${{ matrix.python-version }}
name: Test on ${{ matrix.os }}, Python ${{ matrix.python-version }}, OpenMM ${{ matrix.openmm-version }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macOS-latest]
python-version: [3.8, 3.9, "3.10"]
python-version: [3.9, "3.10"]
openmm-version: ["8.0"]

steps:
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/Windows.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,12 +17,12 @@ on:

jobs:
test:
name: Test on ${{ matrix.os }}, Python ${{ matrix.python-version }}
name: Test on ${{ matrix.os }}, Python ${{ matrix.python-version }}, OpenMM ${{ matrix.openmm-version }}
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [windows-latest]
python-version: [3.8, 3.9]
python-version: [3.9, "3.10"]
openmm-version: ["8.0"]

steps:
Expand Down
40 changes: 33 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ Unified Free Energy Dynamics with OpenMM
[![Coverage](https://craabreu.github.io/ufedmm/coverage/coverage.svg)](https://craabreu.github.io/ufedmm/coverage/)
[![License](https://img.shields.io/badge/License-MIT-yellowgreen.svg?style=flat)](https://github.com/craabreu/ufedmm/blob/main/LICENSE.md)

[![Conda ufedmm version](https://img.shields.io/conda/v/craabreu/ufedmm.svg)](https://anaconda.org/craabreu/ufedmm)
[![Conda ufedmm platforms](https://img.shields.io/conda/pn/craabreu/ufedmm.svg)](https://anaconda.org/craabreu/ufedmm)
[![Conda ufedmm downloads](https://img.shields.io/conda/dn/craabreu/ufedmm.svg)](https://anaconda.org/craabreu/ufedmm)

UFEDMM extends [OpenMM's Python API] so that the user can easily run
efficient simulations in extended phase spaces, perform enhanced sampling
of systems with barriers and rare events, and compute accurate free-energy
Expand All @@ -17,9 +21,9 @@ surfaces for collective variables or reaction coordinates.
#### Extended Phase-Space Dynamics

The concept of extended phase space is a powerful tool in Molecular
Dynamics. It consists in treating arbitrary variables as coordinates of
Dynamics. It consists of treating arbitrary variables as coordinates of
fictitious particles, assigning masses to these particles, and solving
equations of motion which encode their interactions with the system
equations of motion that encode their interactions with the system
molecules. Differently from _collective variables_, which are functions
of atomic coordinates, these _extra dynamical variables_ are independent
ones. Together with their conjugate momenta, they add new dimensions to
Expand All @@ -32,7 +36,7 @@ relative likelihood of different states of a system. UFEDMM uses
extended phase-space dynamics to facilitate the calculation of free
energy as a function of extra dynamical variables. Under certain
assumptions, this is a suitable approximation for the free energy as
a function of collective variables, also known as potential of mean
a function of collective variables, also known as the potential of mean
force (PMF).

#### Enhanced Sampling of Rare Events
Expand All @@ -51,17 +55,17 @@ enacted by adding, to the total potential energy of the system, a new
term that depends both on the corresponding dynamical variable and at
least one collective variable. With OpenMM's [CustomCVForce] class,
adding such a term is as simple as writing down a mathematical expression.
All the low-level coding and compilation takes place automatically in the
All the low-level coding and compilation take place automatically in the
background.

UFEDMM build on the customization capability of OpenMM to enable efficient
[UFED] simulations in GPU's and other parallel computation platforms. It
UFEDMM builds on the customization capability of OpenMM to enable efficient
[UFED] simulations in GPUs and other parallel computation platforms. It
is efficient because it makes OpenMM treat extra dynamical variables like
normal atomic coordinates, thus avoiding the computational overhead of
dealing with [Context] parameters.

[TAMD]/[d-AFED] is optionally enabled by assigning distinct temperatures
to the molecules and to the extra dynamical variables. For this, UFEDMM
to the molecules and the extra dynamical variables. For this, UFEDMM
provides special [CustomIntegrator] subclasses, given that the intrinsic
OpenMM integrators cannot handle multiple temperatures. Extended-space
[Metadynamics] is enabled by explicitly defining the height and widths of
Expand All @@ -80,6 +84,28 @@ an external library of useful collective variables named
[CVPack](https://cvpack.readthedocs.io/en/latest/). It can be accessed via
the `ufedmm.cvpack` module.

### Installation and Usage

UFEDMM is available as a conda package installable from the
[craabreu](https://anaconda.org/craabreu) channel.
To install it, either run:

```bash
conda install -c conda-forge -c craabreu ufedmm
```

Or:

```bash
mamba install -c conda-forge -c craabreu ufedmm
```

To use UFEDMM in your own Python script or Jupyter notebook, import it as follows:

```python
import ufedmm
```

## Documentation

https://craabreu.github.io/ufedmm/
Expand Down
22 changes: 18 additions & 4 deletions docs/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,22 @@
Installation
============

At the command line::
UFEDMM is available as a conda package installable from the
[craabreu](https://anaconda.org/craabreu) channel.
To install it, either run:

git clone https://github.com/craabreu/ufedmm.git
cd ufedmm
python setup.py install
.. code-block:: bash
conda install -c conda-forge -c craabreu ufedmm
Or:

.. code-block:: bash
mamba install -c conda-forge -c craabreu ufedmm
To use UFEDMM in your own Python script or Jupyter notebook, import it as follows:

.. code-block:: python
import ufedmm
33 changes: 26 additions & 7 deletions docs/readme.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,35 @@ UFEDMM is an OpenMM extension for applying the Unified Free Energy Dynamics meth
Installation
============

::
UFEDMM is available as a conda package installable from the
[craabreu](https://anaconda.org/craabreu) channel.
To install it, either run:

git clone https://github.com/craabreu/ufedmm.git
cd ufedmm
python setup.py install
.. code-block:: bash
conda install -c conda-forge -c craabreu ufedmm
Or:

.. code-block:: bash
mamba install -c conda-forge -c craabreu ufedmm
To use UFEDMM in your own Python script or Jupyter notebook, import it as follows:

.. code-block:: python
import ufedmm
Documentation
=============

https://ufedmm.readthedocs.io/
https://craabreu.github.io/ufedmm/

Contributing
============

Feedback, bug reports, and feature requests are welcome. They should be
submitted to https://github.com/craabreu/ufedmm/issues.

Development
===========
Pull requests are greatly appreciated!

0 comments on commit c2e153b

Please sign in to comment.