diff --git a/cookbook/choose_protocol.ipynb b/cookbook/choose_protocol.ipynb index 152014a..0b8ddb4 100644 --- a/cookbook/choose_protocol.ipynb +++ b/cookbook/choose_protocol.ipynb @@ -1,10 +1,17 @@ { "cells": [ + { + "cell_type": "raw", + "id": "0765a7c9", + "metadata": {}, + "source": [ + ".. _cookbook_choose_config_protocol:" + ] + }, { "cell_type": "markdown", "id": "8efbded0-0b69-4392-b8df-7afbd817d733", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -35,7 +42,6 @@ "execution_count": 1, "id": "38b41f0a-d2a3-4231-bf08-1504d3824978", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -50,7 +56,6 @@ "cell_type": "markdown", "id": "893b1b18-3682-435f-a08f-e08c0f2f8cef", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -64,7 +69,6 @@ "cell_type": "markdown", "id": "dd66b0da-7366-44d5-b02a-ba2a67581b55", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -89,7 +93,6 @@ "execution_count": 2, "id": "b0757f5f-e38f-43ac-b43f-ee2bbea95f0d", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -108,7 +111,6 @@ "cell_type": "markdown", "id": "f9502961-84ce-4983-9c4f-9e07eb619d1f", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -130,7 +132,6 @@ "cell_type": "markdown", "id": "03fa0695-7066-494a-9e9d-6f7d7f3953d5", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -145,7 +146,6 @@ "execution_count": 3, "id": "96c32ead-a8d0-4283-950b-5d27c74ebf16", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -160,7 +160,6 @@ "cell_type": "markdown", "id": "b85b39a6-effd-423e-b8a5-b86bc2e7ee77", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -175,7 +174,6 @@ "execution_count": 4, "id": "8d5a6281-50f9-4062-8fa4-375ce2df1bd6", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -250,7 +248,6 @@ "cell_type": "markdown", "id": "b39aec57-d263-473e-a314-ce2e4519bef9", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -265,7 +262,6 @@ "execution_count": 5, "id": "2de6c6a9-bceb-4c9c-ae5a-3d88a72c801a", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -288,7 +284,6 @@ "cell_type": "markdown", "id": "606b0be8-6d76-4a5f-b9b0-9b54967ca988", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -303,7 +298,6 @@ "execution_count": 6, "id": "844e6fa5-f363-47fa-881d-00328faa601c", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -406,7 +400,6 @@ "execution_count": 7, "id": "b499d852-4d7e-47c5-9342-31017baed37c", "metadata": { - "editable": true, "nbsphinx": "hidden", "slideshow": { "slide_type": "" @@ -440,7 +433,6 @@ "execution_count": 8, "id": "32b9b58a-d7ea-4071-9046-53e6990a1faa", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -476,7 +468,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.11.6" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/cookbook/create_alchemical_network.ipynb b/cookbook/create_alchemical_network.ipynb index 2186f7b..02f21c3 100644 --- a/cookbook/create_alchemical_network.ipynb +++ b/cookbook/create_alchemical_network.ipynb @@ -1,5 +1,13 @@ { "cells": [ + { + "cell_type": "raw", + "id": "9fb7586c", + "metadata": {}, + "source": [ + ".. _cookbook_create_alchemicalnetwork:" + ] + }, { "cell_type": "markdown", "id": "b89fdb9a-24fe-4aeb-9390-a359dae6cc9b", @@ -22,7 +30,6 @@ "cell_type": "markdown", "id": "471531a1-a351-413b-b147-794f9af4e0f8", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -109,7 +116,6 @@ "execution_count": 4, "id": "d3054cfc-5040-4882-b3a3-92aba7ab5d1d", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -265,7 +271,6 @@ "execution_count": 8, "id": "c9baa54c-513a-486a-a06a-fd8fd5d19fa5", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -284,7 +289,6 @@ "cell_type": "markdown", "id": "b17669f6-a205-420d-96c3-1a9c92d0e13b", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -298,7 +302,6 @@ "cell_type": "markdown", "id": "682b45eb-4c79-4a68-b0a8-534544c0f0a7", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -315,7 +318,6 @@ "execution_count": 9, "id": "2da4dafb-20d6-4ce7-ab83-4690528097d6", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -350,7 +352,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.11.6" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/cookbook/generate_ligand_network.ipynb b/cookbook/generate_ligand_network.ipynb index 8580a05..8c615ef 100644 --- a/cookbook/generate_ligand_network.ipynb +++ b/cookbook/generate_ligand_network.ipynb @@ -1,5 +1,13 @@ { "cells": [ + { + "cell_type": "raw", + "id": "c6a2c302", + "metadata": {}, + "source": [ + ".. _cookbook_planning_ligandnetwork:" + ] + }, { "cell_type": "markdown", "id": "035c0099-6892-4ed2-b0d6-80b1c247c1e7", @@ -259,7 +267,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.8" + "version": "3.11.6" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/cookbook/generate_lomap_network.ipynb b/cookbook/generate_lomap_network.ipynb index 07183fe..cf3e586 100644 --- a/cookbook/generate_lomap_network.ipynb +++ b/cookbook/generate_lomap_network.ipynb @@ -1,5 +1,13 @@ { "cells": [ + { + "cell_type": "raw", + "id": "a41f6896", + "metadata": {}, + "source": [ + ".. _cookbook_ligandnetwork_lomap:" + ] + }, { "cell_type": "markdown", "id": "035c0099-6892-4ed2-b0d6-80b1c247c1e7", diff --git a/cookbook/hand_write_ligand_network.ipynb b/cookbook/hand_write_ligand_network.ipynb index 44eaaa5..e68a423 100644 --- a/cookbook/hand_write_ligand_network.ipynb +++ b/cookbook/hand_write_ligand_network.ipynb @@ -1,5 +1,13 @@ { "cells": [ + { + "cell_type": "raw", + "id": "554bc9f7", + "metadata": {}, + "source": [ + ".. _cookbook_ligandnetworks_by_hand:" + ] + }, { "cell_type": "markdown", "id": "bf739d70-3249-42b3-a352-8a41f8f8c667", @@ -266,7 +274,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.11.6" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/cookbook/ligandnetwork_vis.ipynb b/cookbook/ligandnetwork_vis.ipynb index f3e098f..57c0ac5 100644 --- a/cookbook/ligandnetwork_vis.ipynb +++ b/cookbook/ligandnetwork_vis.ipynb @@ -1,10 +1,17 @@ { "cells": [ + { + "cell_type": "raw", + "id": "68723119", + "metadata": {}, + "source": [ + ".. _cookbook_viz_ligandnetworks:" + ] + }, { "cell_type": "markdown", "id": "a2f0ee60-1060-4ca9-b0ff-529348dbc0e6", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -26,7 +33,6 @@ "cell_type": "markdown", "id": "d4fe6c50-3971-4b9d-bc2f-71b5deb58fd4", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -41,7 +47,6 @@ "execution_count": 1, "id": "aa30a8bc-bdf0-4382-98bd-2f33e703eb2d", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -71,7 +76,6 @@ "execution_count": 2, "id": "594364f7-00ab-4497-bf5e-74cb497802e7", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -430,7 +434,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.11.6" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/cookbook/loading_molecules.ipynb b/cookbook/loading_molecules.ipynb index 045117c..9652244 100644 --- a/cookbook/loading_molecules.ipynb +++ b/cookbook/loading_molecules.ipynb @@ -4,7 +4,6 @@ "cell_type": "raw", "id": "4d9beae7-b6bd-4743-9614-42450df0697d", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -22,7 +21,6 @@ "cell_type": "markdown", "id": "088a1bc4-e5f3-47ac-8ebf-1a904fa82f80", "metadata": { - "editable": true, "nbsphinx": "hidden", "slideshow": { "slide_type": "" @@ -37,7 +35,6 @@ "cell_type": "raw", "id": "acb1ed05-1874-4dd3-a41d-e18623bece44", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -53,7 +50,6 @@ "cell_type": "markdown", "id": "00d9ca69-1b38-4cf8-9c93-1fc4c08dae15", "metadata": { - "editable": true, "nbsphinx": "hidden", "slideshow": { "slide_type": "" @@ -68,7 +64,6 @@ "cell_type": "markdown", "id": "8bc61b88-0c8d-4b89-b704-8ac4ade19c6c", "metadata": { - "editable": true, "raw_mimetype": "", "slideshow": { "slide_type": "" @@ -94,7 +89,6 @@ "cell_type": "raw", "id": "d7277536-be61-4d45-b09f-1a7b355bee82", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -112,7 +106,6 @@ "cell_type": "markdown", "id": "d2658885-8ad9-4142-b163-17c8aa576b00", "metadata": { - "editable": true, "nbsphinx": "hidden", "slideshow": { "slide_type": "" @@ -127,7 +120,6 @@ "cell_type": "markdown", "id": "15115699-8bdb-4261-9afd-18ebd55bd06a", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -142,7 +134,6 @@ "execution_count": 1, "id": "1436cd71-2a65-4cef-9f9f-73013c791a17", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -163,7 +154,6 @@ "cell_type": "markdown", "id": "8c78efe2-5a0d-4aac-afd1-3e6c5b7a1efc", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -179,7 +169,6 @@ "cell_type": "markdown", "id": "b092b780-a2cb-4ece-9d77-c09f2e035b8f", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -195,7 +184,6 @@ "execution_count": 2, "id": "7f7e56c9-2bee-46a1-9ccf-7003b4886249", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -213,7 +201,6 @@ "cell_type": "markdown", "id": "2dbd57c0-87ee-426a-b0ac-1861480a0d34", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -233,7 +220,6 @@ "execution_count": 3, "id": "85704a16-86b6-4c25-9a4d-050fd215a2ef", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -257,7 +243,6 @@ "cell_type": "raw", "id": "b1c7eea8-7aaa-4a72-8d48-dfb7c32a60eb", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -275,7 +260,6 @@ "cell_type": "markdown", "id": "852c038e-d4dc-4fac-975c-d5e6baee719e", "metadata": { - "editable": true, "nbsphinx": "hidden", "slideshow": { "slide_type": "" @@ -290,7 +274,6 @@ "cell_type": "markdown", "id": "13839df1-fa2c-4e0a-8322-56ce466aea37", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -307,7 +290,6 @@ "execution_count": 4, "id": "669ea0d6-3f49-4e91-b992-95f1bd5e7174", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -325,7 +307,6 @@ "cell_type": "raw", "id": "f0e245cc-8763-48da-8908-1ab28e6b84d9", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -343,7 +324,6 @@ "cell_type": "markdown", "id": "21ebdadc-1bf6-4ad2-827e-b6b7dc19572a", "metadata": { - "editable": true, "nbsphinx": "hidden", "slideshow": { "slide_type": "" @@ -358,7 +338,6 @@ "cell_type": "markdown", "id": "40e3a23f-cc13-402e-8197-9552fbb387e7", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -375,7 +354,6 @@ "execution_count": 5, "id": "e6c35e81-d0c9-4680-bb35-e7ae2b3fd2da", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -394,7 +372,6 @@ "cell_type": "raw", "id": "02e4137f-f823-4dd7-beaa-a8382735bc64", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -412,7 +389,6 @@ "cell_type": "markdown", "id": "1e388bd2-f1b3-4a90-970e-72b652f6227b", "metadata": { - "editable": true, "nbsphinx": "hidden", "raw_mimetype": "", "slideshow": { @@ -428,7 +404,6 @@ "cell_type": "markdown", "id": "10655021-f3f0-4b21-9d8b-fc5a885555e4", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -447,7 +422,6 @@ "execution_count": 6, "id": "bf52b73e-5705-48e7-b69a-fb63748588d8", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -491,7 +465,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.11.6" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/cookbook/network_from_orion_fepp.ipynb b/cookbook/network_from_orion_fepp.ipynb index 75744df..cf66146 100644 --- a/cookbook/network_from_orion_fepp.ipynb +++ b/cookbook/network_from_orion_fepp.ipynb @@ -1,5 +1,13 @@ { "cells": [ + { + "cell_type": "raw", + "id": "0508cde5", + "metadata": {}, + "source": [ + ".. _cookbook_network_from_orion_fepp:" + ] + }, { "cell_type": "markdown", "id": "4197d26d-c9e2-47ca-8d19-8372568371d8", @@ -202,7 +210,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.11.6" }, "widgets": { "application/vnd.jupyter.widget-state+json": { diff --git a/cookbook/rfe_alchemical_planners.ipynb b/cookbook/rfe_alchemical_planners.ipynb new file mode 100644 index 0000000..5c5c4ca --- /dev/null +++ b/cookbook/rfe_alchemical_planners.ipynb @@ -0,0 +1,260 @@ +{ + "cells": [ + { + "cell_type": "raw", + "id": "6cf8c16b", + "metadata": {}, + "source": [ + ".. _cookbook_rfe_network_planners:" + ] + }, + { + "cell_type": "markdown", + "id": "b89fdb9a-24fe-4aeb-9390-a359dae6cc9b", + "metadata": {}, + "source": [ + "# Relative Free Energy Alchemical Network Planners" + ] + }, + { + "cell_type": "markdown", + "id": "2b11a786-0fab-4990-a2aa-242067f89287", + "metadata": {}, + "source": [ + "To simplify the process of creating an [Alchemical Network] for Relative Free Energy calculations, openfe offers two convenience `Alchemical Network Planner` classes; [RBFEAlchemicalNetworkPlanner] and [RHFEAlchemicalNetworkPlanner].\n", + "\n", + "[Alchemical Network]: https://docs.openfree.energy/en/stable/reference/api/generated/openfe.AlchemicalNetwork.html\n", + "[RBFEAlchemicalNetworkPlanner]: https://docs.openfree.energy/en/stable/reference/api/generated/openfe.setup.RBFEAlchemicalNetworkPlanner.html#openfe.setup.RBFEAlchemicalNetworkPlanner\n", + "[RHFEAlchemicalNetworkPlanner]: https://docs.openfree.energy/en/stable/reference/api/generated/openfe.setup.RHFEAlchemicalNetworkPlanner.html#openfe.setup.RHFEAlchemicalNetworkPlanner " + ] + }, + { + "cell_type": "markdown", + "id": "8d449f31", + "metadata": {}, + "source": [ + "## Overview\n", + "\n", + "To create an `AlchemicalNetwork` using the Alchemical Planners, the following steps must be followed:\n", + "\n", + "1. Create appropriate `ChemicalComponents`\n", + "2. Choosing an appropriate atom mapper, scorer, and network generator\n", + "3. Create an `Alchemical Planner`\n", + "4. Create the `AlchemicalNetwork`" + ] + }, + { + "cell_type": "markdown", + "id": "471531a1-a351-413b-b147-794f9af4e0f8", + "metadata": { + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "source": [ + "## Relative Binding Free Energy (RBFE)\n", + "\n", + "Here we demonstrate how to use the [RBFEAlchemicalNetworkPlanner] to create an RBFE [AlchemicalNetwork]\n", + "\n", + "[AlchemicalNetwork]: https://docs.openfree.energy/en/stable/reference/api/generated/openfe.AlchemicalNetwork.html\n", + "[RBFEAlchemicalNetworkPlanner]: https://docs.openfree.energy/en/stable/reference/api/generated/openfe.setup.RBFEAlchemicalNetworkPlanner.html#openfe.setup.RBFEAlchemicalNetworkPlanner" + ] + }, + { + "cell_type": "markdown", + "id": "1b9f171b", + "metadata": {}, + "source": [ + "### Creating `ChemicalComponents`\n", + "\n", + "First we define the `ChemicalComponents` which we want to represent in our `AlchemicalNetwork`." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "ba6d0d2f-03df-463f-8976-c15a2bdf65e5", + "metadata": {}, + "outputs": [], + "source": [ + "from rdkit import Chem\n", + "from openfe import SmallMoleculeComponent, SolventComponent, ProteinComponent" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "ceeff0fb", + "metadata": {}, + "outputs": [], + "source": [ + "# Some SmallMoleculeComponents defining the ligands we want to transform between\n", + "ligands = [\n", + " SmallMoleculeComponent(m)\n", + " for m in Chem.SDMolSupplier(\"assets/somebenzenes.sdf\", removeHs=False)\n", + "]\n", + "\n", + "# The ProteinComponent which will be present in our complex simulations\n", + "protein = ProteinComponent.from_pdb_file(\"assets/t4_lysozyme.pdb\")\n", + "\n", + "# The SolventComponent defining our system's solvation\n", + "solvent = SolventComponent()" + ] + }, + { + "cell_type": "markdown", + "id": "6bfee4c7-0aaf-49a6-b35a-bdbe99444bab", + "metadata": {}, + "source": [ + "### Choosing an atom mapper, scorer and network generator\n", + "\n", + "Here we choose to use the [KartografAtomMapper] alongside the [Lomap scorer].\n", + "\n", + "For our network we choose to create a minimum spanning network using [generate_minimal_spanning_network].\n", + "\n", + "[KartografAtomMapper]: https://kartograf.readthedocs.io/en/latest/api/kartograf.mappers.html\n", + "[Lomap scorer]: https://docs.openfree.energy/en/stable/reference/api/generated/openfe.setup.atom_mapping.lomap_scorers.default_lomap_score.html\n", + "[generate_minimal_spanning_network]: https://docs.openfree.energy/en/stable/reference/api/generated/openfe.setup.ligand_network_planning.generate_minimal_spanning_network.html" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "1284865e", + "metadata": {}, + "outputs": [], + "source": [ + "from openfe.setup.atom_mapping import KartografAtomMapper\n", + "from openfe.setup.atom_mapping.lomap_scorers import default_lomap_score\n", + "from openfe.setup.ligand_network_planning import generate_minimal_spanning_network" + ] + }, + { + "cell_type": "markdown", + "id": "e96f95fb", + "metadata": {}, + "source": [ + "### Building the Network Planner and getting an AlchemicalNetwork\n", + "\n", + "Finally we can use the `RBFEAlchemicalNetworkPlanner` to create an `AlchemicalNetwork`.\n", + "\n", + "Internally the Network Planner will:\n", + "\n", + "1. Create a `LigandNetwork` (accessible under the `._ligand_network` attribute).\n", + "2. Create two `Transformation` per edge of the `LigandNetwork`, one for each of the complex and solvent legs of the RBFE alchemical cycle.\n", + "3. Add all `Transformation`s to a single `AlchemicalNetwork`." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "4512c4d6-720f-4008-af53-a0b56b2ee1e9", + "metadata": {}, + "outputs": [], + "source": [ + "from openfe.setup.alchemical_network_planner import RBFEAlchemicalNetworkPlanner\n", + "\n", + "# Build the planner\n", + "alchem_planner = RBFEAlchemicalNetworkPlanner(\n", + " name=\"project\", \n", + " mappers=[KartografAtomMapper()],\n", + " mapping_scorer=default_lomap_score,\n", + " ligand_network_planner=generate_minimal_spanning_network,\n", + ")\n", + "\n", + "# Create the AlchemicalNetwork\n", + "alchemical_network = alchem_planner(\n", + " ligands=ligands,\n", + " solvent=solvent,\n", + " protein=protein\n", + ")" + ] + }, + { + "cell_type": "markdown", + "id": "405fe819-b4a6-408b-8623-041492c84dfb", + "metadata": {}, + "source": [ + "## Relative Hydration Free Energy (RHFE)\n", + "\n", + "Similarly, an RHFE `AlchemicalNetwork` can be created using the [RHFEAlchemicalNetworkPlanner].\n", + "\n", + "[RHFEAlchemicalNetworkPlanner]: https://docs.openfree.energy/en/stable/reference/api/generated/openfe.setup.RHFEAlchemicalNetworkPlanner.html#openfe.setup.RHFEAlchemicalNetworkPlanner " + ] + }, + { + "cell_type": "markdown", + "id": "dc5f6bcb", + "metadata": {}, + "source": [ + "### Building the Network Planner and getting an AlchemicalNetwork\n", + "\n", + "Here we use the same ChemicalComponents, atom mapper, scorer, and network planner as used in the RBFE section above.\n", + "\n", + "The `RHFEAlchemicalNetworkPlanner` will:\n", + "\n", + "1. Create a new `LigandNetwork`.\n", + "2. Create two `Transformation` per `LigandNetwork` edge, one for the solvent and vacuum legs of the transformation, setting appropriate nonbonded methods and cutoffs for the periodic and nonperiodic simulations.\n", + "3. Combine all the `Transformation`s into an `AlchemicalNetwork`." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "d3054cfc-5040-4882-b3a3-92aba7ab5d1d", + "metadata": { + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [], + "source": [ + "from openfe.setup.alchemical_network_planner import RHFEAlchemicalNetworkPlanner\n", + "\n", + "# Build the planner\n", + "alchem_planner = RHFEAlchemicalNetworkPlanner(\n", + " name=\"project\", \n", + " mappers=[KartografAtomMapper()],\n", + " mapping_scorer=default_lomap_score,\n", + " ligand_network_planner=generate_minimal_spanning_network,\n", + ")\n", + "\n", + "# Create the AlchemicalNetwork\n", + "alchemical_network = alchem_planner(\n", + " ligands=ligands,\n", + " solvent=solvent,\n", + ")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.6" + }, + "widgets": { + "application/vnd.jupyter.widget-state+json": { + "state": {}, + "version_major": 2, + "version_minor": 0 + } + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/cookbook/user_charges.ipynb b/cookbook/user_charges.ipynb index cd470db..64ded3e 100644 --- a/cookbook/user_charges.ipynb +++ b/cookbook/user_charges.ipynb @@ -1,10 +1,17 @@ { "cells": [ + { + "cell_type": "raw", + "id": "9a5f5c39", + "metadata": {}, + "source": [ + ".. _cookbook_user_charges:" + ] + }, { "cell_type": "markdown", "id": "088a1bc4-e5f3-47ac-8ebf-1a904fa82f80", "metadata": { - "editable": true, "nbsphinx": "hidden", "slideshow": { "slide_type": "" @@ -19,7 +26,6 @@ "cell_type": "markdown", "id": "00d9ca69-1b38-4cf8-9c93-1fc4c08dae15", "metadata": { - "editable": true, "nbsphinx": "hidden", "slideshow": { "slide_type": "" @@ -34,7 +40,6 @@ "cell_type": "markdown", "id": "8bc61b88-0c8d-4b89-b704-8ac4ade19c6c", "metadata": { - "editable": true, "raw_mimetype": "", "slideshow": { "slide_type": "" @@ -55,7 +60,6 @@ "cell_type": "markdown", "id": "d2658885-8ad9-4142-b163-17c8aa576b00", "metadata": { - "editable": true, "nbsphinx": "hidden", "slideshow": { "slide_type": "" @@ -70,7 +74,6 @@ "cell_type": "markdown", "id": "15115699-8bdb-4261-9afd-18ebd55bd06a", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -85,7 +88,6 @@ "execution_count": 1, "id": "1436cd71-2a65-4cef-9f9f-73013c791a17", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -110,7 +112,6 @@ "cell_type": "markdown", "id": "8c78efe2-5a0d-4aac-afd1-3e6c5b7a1efc", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -134,7 +135,6 @@ "cell_type": "markdown", "id": "b092b780-a2cb-4ece-9d77-c09f2e035b8f", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -150,7 +150,6 @@ "execution_count": 2, "id": "7f7e56c9-2bee-46a1-9ccf-7003b4886249", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -169,7 +168,6 @@ "cell_type": "markdown", "id": "2dbd57c0-87ee-426a-b0ac-1861480a0d34", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -195,7 +193,6 @@ "execution_count": 3, "id": "85704a16-86b6-4c25-9a4d-050fd215a2ef", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -223,7 +220,6 @@ "cell_type": "markdown", "id": "852c038e-d4dc-4fac-975c-d5e6baee719e", "metadata": { - "editable": true, "nbsphinx": "hidden", "slideshow": { "slide_type": "" @@ -238,7 +234,6 @@ "cell_type": "markdown", "id": "13839df1-fa2c-4e0a-8322-56ce466aea37", "metadata": { - "editable": true, "slideshow": { "slide_type": "" }, @@ -253,7 +248,6 @@ "execution_count": 4, "id": "669ea0d6-3f49-4e91-b992-95f1bd5e7174", "metadata": { - "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" @@ -306,7 +300,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.11.5" + "version": "3.11.6" }, "widgets": { "application/vnd.jupyter.widget-state+json": {