Modular implementation and framework for running weighted ensemble simulations in pure python, where the aim is to have simple things simple and complicated things possible. The latter being the priority.
The goal of the architecture is that it should be highly modular to allow extension, but provide a “killer app” for most uses that just works, no questions asked.
Comes equipped with support for OpenMM molecular dynamics, parallelization using multiprocessing, the WExplore and REVO (Resampling Ensembles by Variance Optimization) resampling algorithms, and an HDF5 file format and library for storing and querying your WE datasets that can be used from the command line.
The deeper architecture of wepy
is intended to be loosely coupled,
so that unforeseen use cases can be accomodated, but tightly
integrated for the most common of use cases, i.e. molecular dynamics.
This allows freedom for fast development of new methods.
Discussion takes place on riot.im (#wepy:matrix.org) which is a slack-like app that works on the Matrix protocol: https://riot.im/app/#/room/#wepy:matrix.org
You can also contact me directly:
samuel.lotz@salotz.info
We are on pip now:
pip install wepy
Which will install most dependencies, except for OpenMM (which you potentially might not even need). To install it you can just use the omnia anaconda repository for the version you want.
conda install -c omnia openmm
You can always install from git as well for the latest:
git clone https://github.com/ADicksonLab/wepy
cd wepy
pip install -e .
If installation went alright you should have this command line interface for working with orchestration available:
wepy --help
Until there is proper documentation there are a few examples here (https://github.com/ADicksonLab/wepy/tree/master/examples).
There is an example with a pair of Lennard-Jones particles that runs on the reference implementation. This is the “Hello World” example and should be your starting point.
A more advanced (and interesting) example is a non-equilibrium unbinding WExplore simulation of the soluble epoxide hydrolase (sEH) protein with the inhibitor TPPU, which was the subject of this paper:
Lotz and Dickson. 2018. JACS 140 (2) pp. 618-628 (DOI: 10.1021/jacs.7b08572)
Install these packages:
pip install ipython sphinx guzzle_sphinx_theme sphinxcontrib-napoleon nbsphinx
Install pandoc for converting org-mode files to rst (optional).
You can follow the instructions on the site or just use anaconda:
conda install pandoc
Then run the build script. This uses the make file and additionally runs api-doc, and converts org-mode source files to rst using pandoc.
cd sphinx
chmod u+x build.sh
./build.sh
This will build the HTML files in the ‘sphinx/_build/html’ directory and if you point your web browser there you can view them.
To run the current deployments of the docs run the deploy script:
chmod u+x deploy.sh
./deploy.sh