You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It is recommended to use a single set of charges for each ligand to ensure reproducibility between repeats or consistent
4
+
charges between different legs of a calculation involving the same ligand, like a relative binding affinity calculation for example (see [Osato et al.](https://chemrxiv.org/engage/chemrxiv/article-details/67579833085116a133e39d86)).
5
+
As such both the `plan-rbfe-network` and `plan-rhfe-network` commands will calculate partial charges for ligands making it expensive
6
+
to run multiple network mappings while finding the optimal one for the resources available.
7
+
8
+
Here we present a CLI tool to do this ahead of time, reducing overheads and further improving reproducibility.
9
+
This tutorial will show you how to use the OpenFE CLI command `charge-molecules` to generate and store partial charges for a series of ligands
10
+
into an SDF file which can be used with OpenFE protocols.
11
+
12
+
## Charging Molecules
13
+
14
+
The `charge-molecules` command allows you to generate partial charges a series of small molecules saved in SDF or MOL2
15
+
format using the `am1bcc` method calculated using `ambertools`:
Copy file name to clipboardExpand all lines: rbfe_tutorial/cli_tutorial.md
+31-6Lines changed: 31 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -50,9 +50,21 @@ we do the following:
50
50
- Instruct `openfe` to output files into a directory called `network_setup`
51
51
with the `-o network_setup` option.
52
52
53
-
Planning the campaign may take some time, as it tries to find the best
54
-
network from all possible transformations. This will create a directory called
55
-
`network_setup/`, which is structured like this:
53
+
Planning the campaign may take some time due to the complex series of tasks involved:
54
+
55
+
- partial charges are generated for each of the ligands to ensure reproducibility, by default this requires a semi-empirical quantum
56
+
chemical calculation to calculate `am1bcc` charges
57
+
- atom mappings are created and scored based on the perceived difficulty for all possible ligand pairs
58
+
- an optimal network is extracted from all possible pairwise transformations which balances edge redundancy and the total difficulty score of the network
59
+
60
+
The partial charge generation can take advantage of multiprocessing which offers a significant speed-up, you can specify
61
+
the number of processors available using the `-n` flag:
Copy file name to clipboardExpand all lines: rbfe_tutorial/python_tutorial.ipynb
+37-1Lines changed: 37 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -47,6 +47,42 @@
47
47
"ligands = [openfe.SmallMoleculeComponent.from_rdkit(mol) for mol in supp]"
48
48
]
49
49
},
50
+
{
51
+
"cell_type": "markdown",
52
+
"id": "8e5de19a",
53
+
"metadata": {},
54
+
"source": [
55
+
"## Charging the ligands\n",
56
+
"\n",
57
+
"It is recommended to use a single set of charges for each ligand to ensure reproducibility between repeats or consistent charges between different legs of a calculation involving the same ligand, like a relative binding affinity calculation for example. \n",
58
+
"\n",
59
+
"Here we will use some utility functions from OpenFE which can assign partial charges to a series of molecules with a variety of methods which can be configured via the `OpenFFPartialChargeSettings` class. In this example \n",
60
+
"we will charge the ligands using the `am1bcc` method from `ambertools` which is the default charge scheme used by OpenFE."
0 commit comments