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' diff --git a/README.md b/README.md index 54d38236..e3065f1b 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. + 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/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/__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/feflow/protocols/nonequilibrium_cycling.py b/feflow/protocols/nonequilibrium_cycling.py index b41eef2a..23cfd905 100644 --- a/feflow/protocols/nonequilibrium_cycling.py +++ b/feflow/protocols/nonequilibrium_cycling.py @@ -33,10 +33,15 @@ from ..utils.data import serialize, deserialize # Specific instance of logger for this module -# logger = logging.getLogger(__name__) +logger = logging.getLogger(__name__) 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 +436,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 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'