From 0d8a3e31483d0b8f8357170795bf21453073e7f1 Mon Sep 17 00:00:00 2001 From: Josh Horton Date: Thu, 6 Feb 2025 10:36:53 +0000 Subject: [PATCH 1/6] add a note on charge generation during network planning --- docs/guide/cli/cli_yaml.rst | 2 ++ docs/guide/introduction.rst | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/docs/guide/cli/cli_yaml.rst b/docs/guide/cli/cli_yaml.rst index 7ab92b15e..9cde7dbe5 100644 --- a/docs/guide/cli/cli_yaml.rst +++ b/docs/guide/cli/cli_yaml.rst @@ -1,3 +1,5 @@ +.. _userguide_cli_yaml_interface: + Customising CLI planning with YAML settings =========================================== diff --git a/docs/guide/introduction.rst b/docs/guide/introduction.rst index 6edc96c85..5432a1fa8 100644 --- a/docs/guide/introduction.rst +++ b/docs/guide/introduction.rst @@ -66,6 +66,13 @@ The commands used to generate an :class:`.AlchemicalNetwork` using the CLI are: * :ref:`cli_plan-rbfe-network` * :ref:`cli_plan-rhfe-network` +.. note:: + + To ensure a consistent set of partial charges are used for each molecule across different transformations, the CLI + network planners will now automatically generate charges ahead of planning the network. The partial charge generation + scheme can be configured using the :ref:`YAML settings `. + + For example, you can create a relative binding free energy (RBFE) network using .. code:: bash From 356d934bf61f898e4c7005b4d37ec8ef73d5441f Mon Sep 17 00:00:00 2001 From: Josh Horton Date: Fri, 7 Feb 2025 09:51:38 +0000 Subject: [PATCH 2/6] add links to tutorials --- docs/tutorials/charge_molecules_cli_tutorial.rst | 4 ++++ docs/tutorials/index.rst | 5 +++++ 2 files changed, 9 insertions(+) create mode 100644 docs/tutorials/charge_molecules_cli_tutorial.rst diff --git a/docs/tutorials/charge_molecules_cli_tutorial.rst b/docs/tutorials/charge_molecules_cli_tutorial.rst new file mode 100644 index 000000000..bc16130aa --- /dev/null +++ b/docs/tutorials/charge_molecules_cli_tutorial.rst @@ -0,0 +1,4 @@ +.. _charge_molecules_cli_tutorial: + +.. include:: /ExampleNotebooks/cli_tutorials/cli_charge_molecules.md + :parser: myst_parser.sphinx_ diff --git a/docs/tutorials/index.rst b/docs/tutorials/index.rst index 4ae2291b7..68cd49174 100644 --- a/docs/tutorials/index.rst +++ b/docs/tutorials/index.rst @@ -61,6 +61,10 @@ use the `Cinnabar Python package `_ to analyze (e.g. generating MLE estimates of absolute free energies) and plot networks of relative free energy results. +Generating Partial Charges +-------------------------- + +The :any:`` .. toctree:: :maxdepth: 1 @@ -72,3 +76,4 @@ and plot networks of relative free energy results. md_tutorial ahfe_tutorial plotting_with_cinnabar + charge_molecules_cli_tutorial From 503aa71d394122a6346dc8ab44f7450edd6a2a1b Mon Sep 17 00:00:00 2001 From: Josh Horton Date: Fri, 7 Feb 2025 09:56:32 +0000 Subject: [PATCH 3/6] add tutorial description to the index --- docs/tutorials/index.rst | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/tutorials/index.rst b/docs/tutorials/index.rst index 68cd49174..051e0b275 100644 --- a/docs/tutorials/index.rst +++ b/docs/tutorials/index.rst @@ -16,7 +16,7 @@ Relative Free Energies Python API Showcase ~~~~~~~~~~~~~~~~~~~ -Our :any:`shocase notebook ` walks users through +Our :any:`showcase notebook ` walks users through how to use the main Python API components of OpenFE to create a relative binding free energy calculation. @@ -64,7 +64,10 @@ and plot networks of relative free energy results. Generating Partial Charges -------------------------- -The :any:`` +The :any:`Generating Partial Charges CLI tutorial ` demonstrates + how the command line interface can be used to assign and store partial charges for small molecules which +can be used throughout the OpenFE eco-system. + .. toctree:: :maxdepth: 1 From 0abc72d3cecf37ca460c0ea3cf8b5bd002a83230 Mon Sep 17 00:00:00 2001 From: Josh Horton Date: Tue, 11 Feb 2025 13:41:11 +0000 Subject: [PATCH 4/6] reorder tutorials and add links to cli tutorial --- docs/guide/introduction.rst | 4 +++- docs/tutorials/index.rst | 16 ++++++++-------- openfecli/commands/plan_rbfe_network.py | 7 +++++++ openfecli/commands/plan_rhfe_network.py | 7 +++++++ 4 files changed, 25 insertions(+), 9 deletions(-) diff --git a/docs/guide/introduction.rst b/docs/guide/introduction.rst index 5432a1fa8..f038ee459 100644 --- a/docs/guide/introduction.rst +++ b/docs/guide/introduction.rst @@ -70,7 +70,9 @@ The commands used to generate an :class:`.AlchemicalNetwork` using the CLI are: To ensure a consistent set of partial charges are used for each molecule across different transformations, the CLI network planners will now automatically generate charges ahead of planning the network. The partial charge generation - scheme can be configured using the :ref:`YAML settings `. + scheme can be configured using the :ref:`YAML settings `. We also provide tooling to + generating the partial charges as a separate CLI step which can be run before network planning, see the :ref:`tutorial ` + for more details. For example, you can create a relative binding free energy (RBFE) network using diff --git a/docs/tutorials/index.rst b/docs/tutorials/index.rst index 051e0b275..810373646 100644 --- a/docs/tutorials/index.rst +++ b/docs/tutorials/index.rst @@ -9,6 +9,12 @@ OpenFE has several tutorial notebooks which are maintained on our Here is a list of key tutorials which cover the different aspects of the OpenFE tooling: +Generating Partial Charges +-------------------------- + +The :ref:`Generating Partial Charges CLI tutorial ` demonstrates +how the command line interface can be used to assign and store partial charges for small molecules which +can be used throughout the OpenFE eco-system. Relative Free Energies ---------------------- @@ -61,22 +67,16 @@ use the `Cinnabar Python package `_ to analyze (e.g. generating MLE estimates of absolute free energies) and plot networks of relative free energy results. -Generating Partial Charges --------------------------- - -The :any:`Generating Partial Charges CLI tutorial ` demonstrates - how the command line interface can be used to assign and store partial charges for small molecules which -can be used throughout the OpenFE eco-system. .. toctree:: :maxdepth: 1 :hidden: - + + charge_molecules_cli_tutorial rbfe_cli_tutorial rbfe_python_tutorial showcase_notebook md_tutorial ahfe_tutorial plotting_with_cinnabar - charge_molecules_cli_tutorial diff --git a/openfecli/commands/plan_rbfe_network.py b/openfecli/commands/plan_rbfe_network.py index 37354c057..4ff729b83 100644 --- a/openfecli/commands/plan_rbfe_network.py +++ b/openfecli/commands/plan_rbfe_network.py @@ -158,6 +158,13 @@ def plan_rbfe_network( The generated Network will be stored in a folder containing for each transformation a JSON file, that can be run with quickrun. + .. note:: + + To ensure a consistent set of partial charges are used for each molecule across different transformations, this + tool will automatically generate charges ahead of planning the network. ``am1bcc`` charges will be generated via + ``ambertools``, this can also be customized using the settings yaml file. + + By default, this tool makes the following choices: * Atom mappings performed by LOMAP, with settings max3d=1.0 and diff --git a/openfecli/commands/plan_rhfe_network.py b/openfecli/commands/plan_rhfe_network.py index 254343ad3..41d927561 100644 --- a/openfecli/commands/plan_rhfe_network.py +++ b/openfecli/commands/plan_rhfe_network.py @@ -122,6 +122,13 @@ def plan_rhfe_network(molecules: List[str], yaml_settings: str, output_dir: str, to run the planned transformations with the quickrun tool. For more sophisticated setups, please consider using the python layer of openfe. + .. note:: + + To ensure a consistent set of partial charges are used for each molecule across different transformations, this + tool will automatically generate charges ahead of planning the network. ``am1bcc`` charges will be generated via + ``ambertools``, this can also be customized using the settings yaml file. + + The tool will parse the input and run the rbfe network planner, which executes following steps: From 102c848168107f05f01a90f173aad9f13dd8574d Mon Sep 17 00:00:00 2001 From: Alyssa Travitz <31974495+atravitz@users.noreply.github.com> Date: Tue, 11 Feb 2025 08:21:11 -0800 Subject: [PATCH 5/6] Update docs/guide/introduction.rst --- docs/guide/introduction.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guide/introduction.rst b/docs/guide/introduction.rst index f038ee459..b1ec8eb73 100644 --- a/docs/guide/introduction.rst +++ b/docs/guide/introduction.rst @@ -71,7 +71,7 @@ The commands used to generate an :class:`.AlchemicalNetwork` using the CLI are: To ensure a consistent set of partial charges are used for each molecule across different transformations, the CLI network planners will now automatically generate charges ahead of planning the network. The partial charge generation scheme can be configured using the :ref:`YAML settings `. We also provide tooling to - generating the partial charges as a separate CLI step which can be run before network planning, see the :ref:`tutorial ` + generate the partial charges as a separate CLI step which can be run before network planning, see the :ref:`tutorial ` for more details. From cf20731ae41163666bb99b8f9c27477f094a8f90 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz <31974495+atravitz@users.noreply.github.com> Date: Tue, 11 Feb 2025 08:21:20 -0800 Subject: [PATCH 6/6] Update docs/tutorials/index.rst --- docs/tutorials/index.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/tutorials/index.rst b/docs/tutorials/index.rst index 810373646..13b091d3c 100644 --- a/docs/tutorials/index.rst +++ b/docs/tutorials/index.rst @@ -14,7 +14,7 @@ Generating Partial Charges The :ref:`Generating Partial Charges CLI tutorial ` demonstrates how the command line interface can be used to assign and store partial charges for small molecules which -can be used throughout the OpenFE eco-system. +can be used throughout the OpenFE ecosystem. Relative Free Energies ----------------------