Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add tutorials of running and analyzing REXEE simulations #52

Merged
merged 61 commits into from
Aug 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
9dafb5e
Renamed run_REXEE_modify_inputs.ipynb to MT_REXEE.ipynb and modified …
wehs7661 Apr 30, 2024
be2759e
Added a few references
wehs7661 Apr 30, 2024
681567f
Added links to external tutorials; Tweaked some notebooks; Modified i…
wehs7661 Apr 30, 2024
63bafd8
Modified README and changed the directory structure for tutorials
wehs7661 Apr 30, 2024
5aa6d5a
Added environment.yml for Binder; Tweaked tutorials and README
wehs7661 May 6, 2024
95fe5e0
Modified environment.yml
wehs7661 May 6, 2024
443cf9d
Modified environment.yml
wehs7661 May 6, 2024
18c3d03
Modified environment.yml
wehs7661 May 6, 2024
05fe6c6
Modified environment.yml
wehs7661 May 6, 2024
f4d2b75
Modified environment.yml
wehs7661 May 6, 2024
78be51d
Another test on environment.yml
wehs7661 May 6, 2024
d0fd660
Modified the directory structure of the tutorials
wehs7661 May 16, 2024
f376edd
Modified expanded.mdp for tutorial 1
wehs7661 May 16, 2024
c283c57
Minor bugfixes; Modified expanded.mdp for tutorial 1
wehs7661 May 16, 2024
9ed9e4a
Fixed unit tests; Modified environment.yml
wehs7661 May 16, 2024
f03e531
Modified environment.yml
wehs7661 May 16, 2024
702387c
Modified envrionment.yml
wehs7661 May 16, 2024
4729ab0
Modified envrionment.yml
wehs7661 May 16, 2024
ab2006c
Modified envrionment.yml
wehs7661 May 16, 2024
462381c
Minor bugfixes
wehs7661 May 16, 2024
c0f6d48
Minor bugfixes
wehs7661 May 16, 2024
152472b
Some intermediate work on tutorial_1
wehs7661 May 17, 2024
45acc86
Some intermediate work on tutorial 1
wehs7661 May 18, 2024
899e594
Resttructured the tutorials
wehs7661 May 18, 2024
3aef5b4
Finished section 1 of Tutorial 1
wehs7661 May 18, 2024
8409d26
Finished section 2 of Tutorial 1; Preliminary work on section 3
wehs7661 May 18, 2024
2f85444
Some intermediate work on section 3 of Tutorial 1
wehs7661 May 18, 2024
48b34c3
Some more work on standard_REXEE
wehs7661 May 20, 2024
d111583
Modified setup.py
wehs7661 May 28, 2024
d8a5390
Modified config.yml for CircleCI
wehs7661 May 28, 2024
58a85ed
Modified config.yml for CircleCI
wehs7661 May 28, 2024
feef60f
Modified config.yml for CircleCI to troubleshoot
wehs7661 May 28, 2024
a16c79e
Modified config.yml for CircleCI to troubleshoot
wehs7661 May 28, 2024
e304f57
Modified config.yml for CircleCI to troubleshoot
wehs7661 May 28, 2024
56c3dd3
Modified config.yml
wehs7661 May 29, 2024
5daa0a5
Modified config.yml
wehs7661 May 29, 2024
e0702bb
Added section 0 and twkead sections 1 and 2 in standard_REXEE.ipynb
wehs7661 Jul 29, 2024
fa8663a
Some minor tweaks for the documentation and the package dependencies
wehs7661 Jul 29, 2024
fc24f04
Some minor tweaks and intermediate work on the tutorial
wehs7661 Jul 29, 2024
813e06f
Fixed a minor bug in analyze_REXEE.py
wehs7661 Jul 29, 2024
53b40ab
Some intermediate work
wehs7661 Jul 29, 2024
1dcd397
Modified .circleci/config.yml and versioneer.py
wehs7661 Jul 30, 2024
63de9a5
Modified .circleci/config.yml
wehs7661 Jul 30, 2024
598c8ff
Modified analyze_REXEE.py
wehs7661 Jul 30, 2024
7668309
Minor tweaks
wehs7661 Jul 30, 2024
bdb9040
Modified README.md
wehs7661 Jul 30, 2024
d071d5d
Fixed a minor bug in analyze_REXEE.py; Modified .circleci/config.yml
wehs7661 Jul 30, 2024
4e25108
Added example outputs for tutorial_1.ipynb
wehs7661 Jul 30, 2024
5c1b425
Updated example_outputs; Modified tutorial 1; Modified .circleci/conf…
wehs7661 Jul 30, 2024
b9ba478
Some intermediate work
wehs7661 Jul 30, 2024
2b3cfb3
Some intermediate work
wehs7661 Jul 30, 2024
633ac90
Updated example_outputs and work on tutorial 1
wehs7661 Jul 31, 2024
ab3bde8
Some further work on Tutorial 1; Minor tweaks for other codes
wehs7661 Jul 31, 2024
24861ff
Some work on section 4 of Tutorial 1
wehs7661 Jul 31, 2024
b42cfc2
Some more work on Tutorial 1
wehs7661 Jul 31, 2024
78806b2
Tweaked the display settings for the output figures in Tutorial 1
wehs7661 Jul 31, 2024
80c77cd
Tweaked the display of the images in Tutorial 1
wehs7661 Jul 31, 2024
9f48c4c
Minor tweaks
wehs7661 Jul 31, 2024
810cd71
Added a preliminary draft of Tutorial 1
wehs7661 Aug 1, 2024
154c2b4
Minor tweaks of Tutorial 1
wehs7661 Aug 1, 2024
9f0982c
Finalized Tutorial 1
wehs7661 Aug 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 27 additions & 7 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@ version: 2.1

jobs:
test:
machine:
# Note that ubuntu with versions later than 2022 triggers an interative prompt that gets CI stuck
image: ubuntu-2004:202107-02
docker:
- image: cimg/python:<<parameters.python-version>>
environment:
PYTHON_VERSION: "3.8"
PYTHON_VERSION: "<<parameters.python-version>>"
parameters:
python-version:
type: string
resource_class: large
steps:
- checkout

Expand All @@ -21,10 +24,17 @@ jobs:
name: Installing dependencies for GROMACS
command: |
sudo apt-get update
sudo apt-get install -y software-properties-common
sudo apt install build-essential
sudo apt-get install ccache libblas-dev libfftw3-dev liblapack-dev libmpich-dev libxml2-dev mpich ninja-build
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main' -y

# The following three lines are required to install libss1.1, which is not available in the default environment
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb
sudo dpkg -i ./libssl1.1_1.1.1f-1ubuntu2_amd64.deb
rm -f libssl1.1_1.1.1f-1ubuntu2_amd64.deb

sudo apt install cmake && cmake --version

- run:
Expand Down Expand Up @@ -74,9 +84,19 @@ jobs:
- store_test_results:
path: test-results

# we are not testing Python 3.12. as it seems to have some conflicts with versioneer.py. Will look into this more in the future.
workflows:
continuous-integration:
jobs:
- test


- test:
name: test-python-3.8
python-version: "3.8"
# - test:
# name: test-python-3.9
# python-version: "3.9"
- test:
name: test-python-3.10
python-version: "3.10"
- test:
name: test-python-3.11
python-version: "3.11"
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ If applicable, add screenshots to help explain your problem.

**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Version [e.g. 0.1.2]
- Version of `ensemble_md` [e.g. 0.1.2]

**Additional context**
Add any other context about the problem here.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -105,3 +105,6 @@ ENV/
# profraw files from LLVM? Unclear exactly what triggers this
# There are reports this comes from LLVM profiling, but also Xcode 9.
*profraw

# Others
.DS_Store
15 changes: 10 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,20 +6,25 @@ Ensemble Molecular Dynamics
[![Documentation Status](https://readthedocs.org/projects/ensemble-md/badge/?version=latest)](https://ensemble-md.readthedocs.io/en/latest/?badge=latest)
[![GitHub Actions Lint Status](https://github.com/wehs7661/ensemble_md/actions/workflows/lint.yaml/badge.svg)](https://github.com/wehs7661/ensemble_md/actions/workflows/lint.yaml)
[![PyPI version](https://badge.fury.io/py/ensemble-md.svg)](https://badge.fury.io/py/ensemble-md)
[![DOI](https://img.shields.io/badge/DOI-arxiv.org%2Fabs%2F2308.06938-green)](https://arxiv.org/abs/2308.06938)

[![python](https://img.shields.io/badge/Python-3.8%20|%203.9%20|%203.10%20|%203.11-4BC51D.svg?style=flat&logo=python&logoColor=white)](https://www.python.org)
[![DOI](https://img.shields.io/badge/DOI-10.1021/acs.jctc.4c00484-4BC51D)](https://pubs.acs.org/doi/epdf/10.1021/acs.jctc.4c00484)
[![MIT license](https://img.shields.io/badge/License-MIT-blue.svg)](https://lbesson.mit-license.org/)
[![Downloads](https://static.pepy.tech/badge/ensemble-md)](https://pepy.tech/project/ensemble-md)
[![Twitter Follow](https://img.shields.io/twitter/follow/WeiTseHsu?style=social)](https://twitter.com/WeiTseHsu)

**ensemble_md** is a Python package that provides methods for setting up, running, and analyzing molecular dynamics ensembles in GROMACS. The current implementation is mainly for synchronous replica exchange (REX) of expanded ensemble (EE), abbreviated as REXEE. In the future, we will develop methods like asynchronous REXEE or multi-topology REXEE. For installation instructions, theory overview, tutorials, and API references, please visit the [documentation](https://ensemble-md.readthedocs.io/en/latest/?badge=latest).

`ensemble_md` is a Python package that provides methods for setting up, running, and analyzing GROMACS simulation ensembles. Currently, the package implements all the necessary algorithms for running synchronous replica exchange (REX) of expanded ensembles (EE), abbreviated as REXEE, as well as its multi-topology (MT) variation, MT-REXEE. Our future work includes implementing asynchronous REXEE and other possible variations of the REXEE method. For installation instructions, theory overview, tutorials, and API references, please visit the [documentation](https://ensemble-md.readthedocs.io/en/latest/?badge=latest) and our [JCTC paper](https://pubs.acs.org/doi/epdf/10.1021/acs.jctc.4c00484).

### Reference
If you use any components of the Python package `ensemble_md` or the REXEE method in your research, please cite the following paper:

Hsu, W. T., & Shirts, M. R. (2024). Replica Exchange of Expanded Ensembles: A Generalized Ensemble Approach with Enhanced Flexibility and Parallelizability. *Journal of Chemical Theory and Computation*. doi: [10.1021/acs.jctc.4c00484](https://doi.org/10.1021/acs.jctc.4c00484)

### Copyright

Copyright (c) 2022, Wei-Tse Hsu


#### Acknowledgements
### Acknowledgements

Project based on the
[Computational Molecular Science Python Cookiecutter](https://github.com/molssi/cookiecutter-cms) version 1.6.
39 changes: 0 additions & 39 deletions docs/examples/analyze_REXEE.ipynb

This file was deleted.

110 changes: 0 additions & 110 deletions docs/examples/data/expanded.mdp

This file was deleted.

12 changes: 0 additions & 12 deletions docs/examples/data/params.yaml

This file was deleted.

65 changes: 0 additions & 65 deletions docs/examples/run_REXEE.ipynb

This file was deleted.

Binary file added docs/examples/tutorial_1/example_outputs.zip
Binary file not shown.
Loading
Loading