From ca19a0c5d9116bd0acca160f98a5f369ba501e19 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Pulido?= <2949729+ijpulidos@users.noreply.github.com> Date: Mon, 29 Jul 2024 16:36:58 -0400 Subject: [PATCH 1/6] Documentation fixes. Basic API ref. --- docs/api.rst | 10 ++++++++-- docs/conf.py | 4 ++-- feflow/protocols/nonequilibrium_cycling.py | 9 +++++++-- feflow/settings/nonequilibrium_cycling.py | 3 --- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/docs/api.rst b/docs/api.rst index 9af79b62..f4420055 100644 --- a/docs/api.rst +++ b/docs/api.rst @@ -1,7 +1,13 @@ API Documentation ================= +.. module:: feflow + :no-index: + .. autosummary:: - :toctree: autosummary + :toctree: autosummary + :recursive: - feflow.canvas + feflow.protocols + feflow.settings + feflow.utils diff --git a/docs/conf.py b/docs/conf.py index cb5faaf8..cce95b5f 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -24,10 +24,10 @@ project = "feflow" copyright = ( - "2023, Iván Pulido. Project structure based on the " + "2023, ChoderaLab. Project structure based on the " "Computational Molecular Science Python Cookiecutter version 1.1" ) -author = "Iván Pulido" +author = "ChoderaLab" # The short X.Y version version = "" diff --git a/feflow/protocols/nonequilibrium_cycling.py b/feflow/protocols/nonequilibrium_cycling.py index b41eef2a..32b8d6f9 100644 --- a/feflow/protocols/nonequilibrium_cycling.py +++ b/feflow/protocols/nonequilibrium_cycling.py @@ -37,6 +37,10 @@ class SetupUnit(ProtocolUnit): + """ + Initial unit of the protocol. Sets up a Nonequilibrium cycling simulation given the chemical + systems, mapping and settings. + """ @staticmethod def _check_states_compatibility(state_a, state_b): """ @@ -431,8 +435,9 @@ def _execute(self, ctx, *, protocol, state_a, state_b, mapping, **inputs): class CycleUnit(ProtocolUnit): """ - Monolithic unit for simulation. It runs a single NEQ cycle simulation from chemical systems - and stores the work computed in numpy-formatted files, to be analyzed by a result unit. + Monolithic unit for the cycle part of the simulation. + It runs a number of NEq cycles from the outputs of a setup unit and stores the work computed in + numpy-formatted files, to be analyzed by a result unit. """ @staticmethod diff --git a/feflow/settings/nonequilibrium_cycling.py b/feflow/settings/nonequilibrium_cycling.py index b29bb019..1a49adfc 100644 --- a/feflow/settings/nonequilibrium_cycling.py +++ b/feflow/settings/nonequilibrium_cycling.py @@ -1,8 +1,5 @@ """ Settings objects for the different protocols using gufe objects. - -This module implements the objects that will be needed to run relative binding free -energy calculations using perses. """ from typing import Optional From be7d362343707eb38ba161a660e365e5e706b3bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Pulido?= <2949729+ijpulidos@users.noreply.github.com> Date: Mon, 29 Jul 2024 16:37:36 -0400 Subject: [PATCH 2/6] Due credit and acknowledgements --- README.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 54d38236..8e78b6bf 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,23 @@ Recipes, utilities, and protocols for molecular free energy calculations using t Copyright (c) 2023, ChoderaLab -#### Acknowledgements +### Acknowledgements [Choderalab -- Perses](https://github.com/choderalab/perses) + [Open Free energy Consortium](https://openfree.energy/) + Project based on the [Computational Molecular Science Python Cookiecutter](https://github.com/molssi/cookiecutter-cms) version 1.1. + +### References +[1] Van Der Walt, S., Colbert, S.C. & Varoquaux, G., 2011. The NumPy array: a structure for efficient numerical computation. Computing in Science & Engineering, 13(2), pp.22–30. + +[2] Identifying and Overcoming the Sampling Challenges in Relative Binding Free Energy Calculations of a Model Protein:Protein Complex +Ivy Zhang, Dominic A. Rufa, Iván Pulido, Michael M. Henry, Laura E. Rosen, Kevin Hauser, Sukrit Singh, and John D. Chodera +Journal of Chemical Theory and Computation 2023 19 (15), 4863-4882 +DOI: 10.1021/acs.jctc.3c00333 + +[3] Chodera, J. et al., 2023. choderalab/openmmtools: 0.23.1. + +[4] Eastman, P. et al., 2017. OpenMM 7: Rapid development of high performance algorithms for molecular dynamics R. Gentleman, ed.. PLOS Computational Biology, 13(7), p.1005659. + From b2360e7a515645c22ab6f1f1670a9c3a377324d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Pulido?= <2949729+ijpulidos@users.noreply.github.com> Date: Mon, 29 Jul 2024 16:57:45 -0400 Subject: [PATCH 3/6] Citation and zenodo integration --- CITATION.cff | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 CITATION.cff diff --git a/CITATION.cff b/CITATION.cff new file mode 100644 index 00000000..7ac13f04 --- /dev/null +++ b/CITATION.cff @@ -0,0 +1,31 @@ +# This CITATION.cff file was generated with cffinit. +# Visit https://bit.ly/cffinit to generate yours today! + +cff-version: 1.2.0 +title: FEflow +message: >- + If you use this software, please cite it using the + metadata from this file. +type: software +authors: + - given-names: Iván + family-names: Pulido Sánchez + orcid: 'https://orcid.org/0000-0002-7178-8136' + - given-names: Irfan + family-names: Alibay + orcid: 'https://orcid.org/0000-0001-5787-9130' + - given-names: David + family-names: Dotson + orcid: 'https://orcid.org/0000-0001-5879-2942' + - given-names: Richard + family-names: Gowers + orcid: 'https://orcid.org/0000-0002-3241-1846' + - given-names: Hannah + family-names: Baumann + orcid: 'https://orcid.org/0000-0002-1736-7744' + - given-names: Michael M. + family-names: Henry + orcid: 'https://orcid.org/0000-0002-3870-9993' +repository-code: 'https://github.com/choderalab/feflow' +version: '0.1' +date-released: '2024-07-29' From 92765acfe4c6e99e28c0358267cd794090fdbfc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Pulido?= <2949729+ijpulidos@users.noreply.github.com> Date: Mon, 29 Jul 2024 17:00:37 -0400 Subject: [PATCH 4/6] Updated CHANGELOG for 0.1 --- docs/CHANGELOG.rst | 11 +++++++++++ feflow/__init__.py | 2 +- news/TEMPLATE.rst | 23 +++++++++++++++++++++++ rever.xsh | 7 +++++++ 4 files changed, 42 insertions(+), 1 deletion(-) create mode 100644 docs/CHANGELOG.rst create mode 100644 news/TEMPLATE.rst create mode 100644 rever.xsh diff --git a/docs/CHANGELOG.rst b/docs/CHANGELOG.rst new file mode 100644 index 00000000..d9ceb528 --- /dev/null +++ b/docs/CHANGELOG.rst @@ -0,0 +1,11 @@ +================= +feflow Change Log +================= + +.. current developments + +v0.1 +==================== + +First release. Base implementation of Nonequilibrium cycling protocol. + diff --git a/feflow/__init__.py b/feflow/__init__.py index 370965fa..2fc6dfdd 100644 --- a/feflow/__init__.py +++ b/feflow/__init__.py @@ -3,4 +3,4 @@ from importlib.metadata import version -__version__ = version("openfe") +__version__ = version("feflow") diff --git a/news/TEMPLATE.rst b/news/TEMPLATE.rst new file mode 100644 index 00000000..790d30b1 --- /dev/null +++ b/news/TEMPLATE.rst @@ -0,0 +1,23 @@ +**Added:** + +* + +**Changed:** + +* + +**Deprecated:** + +* + +**Removed:** + +* + +**Fixed:** + +* + +**Security:** + +* diff --git a/rever.xsh b/rever.xsh new file mode 100644 index 00000000..1b33d21f --- /dev/null +++ b/rever.xsh @@ -0,0 +1,7 @@ +$PROJECT = $GITHUB_REPO = 'feflow' +$GITHUB_ORG = 'choderalab' + +$ACTIVITIES = ['changelog'] + +$CHANGELOG_FILENAME = 'docs/CHANGELOG.rst' +$CHANGELOG_TEMPLATE = 'TEMPLATE.rst' From d2b0204900e493ec2cec9d313946117a6209a903 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 21:10:44 +0000 Subject: [PATCH 5/6] [pre-commit.ci] auto fixes from pre-commit.com hooks for more information, see https://pre-commit.ci --- README.md | 2 +- feflow/protocols/nonequilibrium_cycling.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8e78b6bf..e3065f1b 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,7 @@ Project based on the [2] Identifying and Overcoming the Sampling Challenges in Relative Binding Free Energy Calculations of a Model Protein:Protein Complex Ivy Zhang, Dominic A. Rufa, Iván Pulido, Michael M. Henry, Laura E. Rosen, Kevin Hauser, Sukrit Singh, and John D. Chodera Journal of Chemical Theory and Computation 2023 19 (15), 4863-4882 -DOI: 10.1021/acs.jctc.3c00333 +DOI: 10.1021/acs.jctc.3c00333 [3] Chodera, J. et al., 2023. choderalab/openmmtools: 0.23.1. diff --git a/feflow/protocols/nonequilibrium_cycling.py b/feflow/protocols/nonequilibrium_cycling.py index 32b8d6f9..87faf441 100644 --- a/feflow/protocols/nonequilibrium_cycling.py +++ b/feflow/protocols/nonequilibrium_cycling.py @@ -41,6 +41,7 @@ class SetupUnit(ProtocolUnit): Initial unit of the protocol. Sets up a Nonequilibrium cycling simulation given the chemical systems, mapping and settings. """ + @staticmethod def _check_states_compatibility(state_a, state_b): """ From ff9db93554dd01997c9be3233336469dce096d88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20Pulido?= <2949729+ijpulidos@users.noreply.github.com> Date: Mon, 29 Jul 2024 17:14:47 -0400 Subject: [PATCH 6/6] Enabling logger. --- feflow/protocols/nonequilibrium_cycling.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feflow/protocols/nonequilibrium_cycling.py b/feflow/protocols/nonequilibrium_cycling.py index 87faf441..23cfd905 100644 --- a/feflow/protocols/nonequilibrium_cycling.py +++ b/feflow/protocols/nonequilibrium_cycling.py @@ -33,7 +33,7 @@ from ..utils.data import serialize, deserialize # Specific instance of logger for this module -# logger = logging.getLogger(__name__) +logger = logging.getLogger(__name__) class SetupUnit(ProtocolUnit):