diff --git a/rbfe_tutorial/cli_tutorial.md b/rbfe_tutorial/cli_tutorial.md index 83ee387..6b1ff48 100644 --- a/rbfe_tutorial/cli_tutorial.md +++ b/rbfe_tutorial/cli_tutorial.md @@ -130,7 +130,8 @@ While less flexible than using the API, some options can be modified by providin The default settings represented in YAML settings format is as follows: ``` yaml -mapper: kartograf +mapper: + method: kartograf settings: atom_max_distance: 0.95 atom_map_hydrogens: true @@ -148,7 +149,7 @@ partial_charge: off_toolkit_backend: ambertools number_of_conformers: None nagl_model: None - + forcefields: None ``` Let's assume you want to exchange the kartograf atom mapper with the LOMAP atom mapper, the Minimal Spanning Tree @@ -191,8 +192,8 @@ Parsing in Files: Using Options: Mapper: Mapping Scorer: - Network Generation: - Partial Charge Generation: am1bcc + Network Generation: + Partial Charge Generation: nagl n_protocol_repeats=1 (1 simulation repeat(s) per transformation) ``` @@ -232,8 +233,8 @@ for file in network_setup/transformations/*.json; do relpath=${file:30} # strip off "network_setup/transformations/" dirpath=${relpath%.*} # strip off final ".json" # loop over three repeats - for repeat in {1..3}; do - openfe quickrun $file -o results/repeat${repeat}/$relpath -d results/repeat${repeat}/$dirpath + for repeat in {0..2}; do + openfe quickrun $file -o results_$repeat/$relpath -d results_$repeat/$dirpath done done ``` @@ -248,9 +249,9 @@ and submit a job script for the simplest SLURM use case: for file in network_setup/transformations/*.json; do relpath=${file:30} # strip off "network_setup/transformations/" dirpath=${relpath%.*} # strip off final ".json" - for repeat in {1..3}; do + for repeat in {0..2}; do jobpath="network_setup/transformations/${dirpath}_${repeat}.job" - cmd="openfe quickrun $file -o results/repeat${repeat}/$relpath -d results/repeat${repeat}/$dirpath" + cmd="openfe quickrun $file -o results_${repeat}/$relpath -d results_${repeat}/$dirpath" echo -e "#!/usr/bin/env bash\n${cmd}" > $jobpath sbatch $jobpath done @@ -276,7 +277,7 @@ The structure should look something like this: ```text results -├── replicate_0 +├── results_0 │   ├── rbfe_lig_ejm_31_complex_lig_ejm_42_complex │   │   ├── shared_RelativeHybridTopologyProtocolUnit-79c279f04ec84218b7935bc0447539a9_attempt_0 │   │   │   ├── checkpoint.nc diff --git a/showcase/openfe_showcase.ipynb b/showcase/openfe_showcase.ipynb index a0addac..6fe9a7e 100644 --- a/showcase/openfe_showcase.ipynb +++ b/showcase/openfe_showcase.ipynb @@ -29,7 +29,11 @@ "* Scorers (for atom mappings)\n", "* Ligand networks\n", "\n", - "This showcase currently focuses on relative binding free energy (RBFE) calculations. However, OpenFE also provides protocols for running [absolute hydration free energy calculations](https://docs.openfree.energy/en/latest/tutorials/ahfe_tutorial.html) and [Molecular Dynamics (MD) simulations](https://docs.openfree.energy/en/latest/tutorials/md_tutorial.html). In the future, other methods will become available, such as absolute binding free energy calculations and RBFE calculations using a Separated Topologies approach.\n", + "This showcase currently focuses on relative binding free energy (RBFE) calculations using a hybrid topology approach. However, OpenFE provides a wide range of protocols for:\n", + "- [Absolute binding free energy calculations](https://docs.openfree.energy/en/latest/tutorials/abfe_tutorial.html)\n", + "- [Absolute hydration free energy calculations](https://docs.openfree.energy/en/latest/tutorials/ahfe_tutorial.html)\n", + "- [Molecular Dynamics (MD) simulations](https://docs.openfree.energy/en/latest/tutorials/md_tutorial.html)\n", + "- [Relative binding free energy calculations using a Separated Topologies (SepTop) approach](https://docs.openfree.energy/en/latest/tutorials/septop_tutorial.html)\n", "\n", "If you are planning your own calculations, please also check out our [tutorials](https://docs.openfree.energy/en/stable/tutorials/index.html) which will walk you step-by-step through setup, execution and analysis of different protocols." ] @@ -219,16 +223,16 @@ "used along the way.\n", " \n", "\n", - "| **Actions** | **Software** |\n", - "|:------------------------------|:-----------------------------------------------------------|\n", - "| Create OpenFE Molecules | OpenFE RDKit |\n", - "| Create Network | OpenFE Lomap, Networkx |\n", - "| Visualise Network | OpenFE NetworkX, RDKit, Matplotlib |\n", - "| Create ligand topologies | OpenFE interface - OpenFF tk |\n", - "| Create hybrid OpenMM topology | OpenFE interface - OpenMMTools (eventually - ex Perses) |\n", - "| Create Lambda Protocol | OpenFE interface - OpenMMTools (eventually - ex Perses) |\n", - "| Set up and run RBFE calculations | OpenFE interface - OpenMM + OpenMMTools |\n", - "| Analyze RBFE calculations | OpenFE interface - PyMBAR + OpenMMTools |" + "| **Actions** | **Software** |\n", + "|:------------------------------|:--------------------------------------------------------|\n", + "| Create OpenFE Molecules | OpenFE RDKit |\n", + "| Create Network | OpenFE Lomap, Kartograf, NetworkX |\n", + "| Visualise Network | OpenFE NetworkX, RDKit, Matplotlib |\n", + "| Create ligand topologies | OpenFE interface - OpenFF tk |\n", + "| Create hybrid OpenMM topology | OpenFE interface - OpenMMTools (eventually - ex Perses) |\n", + "| Create Lambda Protocol | OpenFE interface - OpenMMTools (eventually - ex Perses) |\n", + "| Set up and run RBFE calculations | OpenFE interface - OpenMM + OpenMMTools |\n", + "| Analyze RBFE calculations | OpenFE interface - PyMBAR + OpenMMTools |" ] }, { @@ -3277,7 +3281,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "\u001b[?25lLoading results: ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 54/54 files\u001b[?25h\n", + "\u001B[?25lLoading results: ▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇▇ 54/54 files\u001B[?25h\n", "writing dg output to 'final_results.tsv'\n", "ligand\tDG(MLE) (kcal/mol)\tuncertainty (kcal/mol)\n", "lig_ejm_31\t-0.09\t0.06\n", @@ -3399,12 +3403,14 @@ "metadata": {}, "source": [ "In our [documentation](https://docs.openfree.energy/en/latest/index.html), \n", - "we provide tutorials for ever protocol to walk you through setup, execution and analysis step by step.\n", + "we provide tutorials for every protocol to walk you through setup, execution and analysis step by step.\n", "\n", "* [RBFE CLI tutorial](https://docs.openfree.energy/en/latest/tutorials/rbfe_cli_tutorial.html)\n", "* [RBFE Python tutorial](https://docs.openfree.energy/en/latest/tutorials/rbfe_python_tutorial.html)\n", "* [AHFE tutorial](https://docs.openfree.energy/en/latest/tutorials/ahfe_tutorial.html)\n", "* [MD tutorial](https://docs.openfree.energy/en/latest/tutorials/md_tutorial.html)\n", + "* [ABFE tutorial](https://docs.openfree.energy/en/latest/tutorials/abfe_tutorial.html)\n", + "* [RBFE using a Separated Topologies (SepTop) approach tutorial](https://docs.openfree.energy/en/latest/tutorials/septop_tutorial.html)\n", "\n", "In addition to the tutorials, you can find [cookbooks](https://docs.openfree.energy/en/latest/cookbook/index.html), written as How-to guides on how to utilize different components of the toolkit, as well as a [User Guide](https://docs.openfree.energy/en/latest/guide/index.html) that goes into the underlying concepts of the OpenFE toolkit.\n", "\n", @@ -3412,6 +3418,14 @@ "\n", "To learn more about the project, our team and how you can get involved, please visit our [Homepage](https://openfree.energy/) or get in touch at OpenFreeEnergy@omsf.io." ] + }, + { + "metadata": {}, + "cell_type": "code", + "outputs": [], + "execution_count": null, + "source": "", + "id": "eb2308d6adfdda77" } ], "metadata": {