Note: The estimated absolute binding afinites are centered around zero rather than the experimental mean, thus an offset should be applied to the calculated results before comparing them.
\n",
"\n",
- "with open(calculated_filename, 'r') as fd:\n",
- " rd = csv.reader(fd, delimiter=\"\\t\", quotechar='\"')\n",
- " headers = next(rd)\n",
- " for row in rd:\n",
- " # Only add ligand to dict if it has an exp. value\n",
- " if row[0] in experimental_data:\n",
- " calc_data[row[0]] = {}\n",
- " calc_data[row[0]]['dG'] = float(row[1])\n",
- " calc_data[row[0]]['ddG'] = float(row[2])\n",
+ "You can read more about absolute estimators in the [cinnabar guide](https://cinnabar.openfree.energy/en/latest/concepts/estimators.html#centering-of-results)\n",
"\n",
- "pprint(calc_data)"
+ "Next we will use the ``cinnabar`` API to gather the experiemtnal and calculated results into a single object:"
]
},
{
"cell_type": "code",
"execution_count": 5,
- "id": "d67089d8-1984-479f-b750-b51ab2ab174d",
- "metadata": {},
+ "id": "a65699b71a68cfe4",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2026-06-09T10:55:16.713105Z",
+ "start_time": "2026-06-09T10:55:16.673656Z"
+ }
+ },
"outputs": [],
"source": [
- "# Bring exp data in same order as calc data\n",
- "sorted_exp_data = {k: experimental_data[k] for k in calc_data}"
+ "# Create FEMap\n",
+ "fe_map = FEMap()\n",
+ "\n",
+ "# add the experimental data\n",
+ "for index, row in experimental_data.iterrows():\n",
+ " fe_map.add_experimental_measurement(\n",
+ " label=row['ligand'],\n",
+ " value=row['estimate (kcal/mol)'] * unit.kilocalories_per_mole,\n",
+ " uncertainty=row['uncertainty (kcal/mol)'] * unit.kilocalories_per_mole,\n",
+ " source=\"Experimental\"\n",
+ " )\n",
+ "\n",
+ "# add the computed data\n",
+ "for index, row in calculated_data.iterrows():\n",
+ " fe_map.add_absolute_calculation(\n",
+ " label=row['ligand'],\n",
+ " value=row[\"DG(MLE) (kcal/mol)\"] * unit.kilocalories_per_mole,\n",
+ " uncertainty=row[\"uncertainty (kcal/mol)\"] * unit.kilocalories_per_mole,\n",
+ " source=\"openfe\"\n",
+ " )"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "id": "95f86cdb",
+ "metadata": {},
+ "source": [
+ "We can then check that the absolute measurments have been correctly added:"
]
},
{
"cell_type": "code",
"execution_count": 6,
- "id": "f5468e6f-ee73-45e7-8665-dd3e4da9342e",
+ "id": "e9a4e3a67460c0f",
+ "metadata": {
+ "ExecuteTime": {
+ "end_time": "2026-06-09T10:55:18.505512Z",
+ "start_time": "2026-06-09T10:55:18.407406Z"
+ }
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
"
]
@@ -344,7 +3104,11 @@
],
"source": [
"# note you can pass the filename argument to write things out to file\n",
- "cinnabar_plotting.plot_DDGs(fe.to_legacy_graph(), figsize=5)"
+ "plotting.plot_DDGs(\n",
+ " fe_map, \n",
+ " source=\"openfe\", # the name of the computational source to plot\n",
+ " figsize=5\n",
+ " )"
]
},
{
@@ -354,18 +3118,1806 @@
"source": [
"### Plotting out the absolute free energy results\n",
"\n",
- "Finally let's go ahead and plot out the MLE derived absolute free energies"
+ "Finally let's generate an estimate of the absolute binding free energy for each ligand using the [MLE estimator](https://cinnabar.openfree.energy/en/latest/concepts/estimators.html#maximum-likelihood-estimation-mle) and plot out the derived values:"
]
},
{
"cell_type": "code",
- "execution_count": 7,
+ "execution_count": 8,
"id": "f39ef3c0-4d74-4c53-83bc-94d820428d47",
"metadata": {},
"outputs": [
{
"data": {
- "image/png": "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",
+ "image/svg+xml": [
+ "\n",
+ "\n",
+ "\n"
+ ],
"text/plain": [
"
"
]
@@ -376,7 +4928,12 @@
],
"source": [
"# note you can pass the filename argument to write to file\n",
- "cinnabar_plotting.plot_DGs(fe.to_legacy_graph(), figsize=5)"
+ "fe_map.generate_absolute_values() # Get MLE generated estimates of the absolute values\n",
+ "plotting.plot_DGs(\n",
+ " fe_map, \n",
+ " source=\"MLE\", # the name of the computational source to plot\n",
+ " figsize=5\n",
+ " )"
]
},
{
@@ -389,21 +4946,1890 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 9,
"id": "7fed7b2c-076f-4f98-818d-abdbdaf3121b",
"metadata": {},
"outputs": [
- {
- "name": "stderr",
- "output_type": "stream",
- "text": [
- "/Users/hannahbaumann/cinnabar/cinnabar/femap.py:21: UserWarning: Assuming kcal/mol units on measurements\n",
- " warnings.warn(\"Assuming kcal/mol units on measurements\")\n"
- ]
- },
{
"data": {
- "image/png": "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",
+ "image/svg+xml": [
+ "\n",
+ "\n",
+ "\n"
+ ],
"text/plain": [
"
"
]
@@ -413,11 +6839,14 @@
}
],
"source": [
- "data = femap.read_csv('cinnabar_input.csv')\n",
- "exp_DG_sum = sum([data['Experimental'][i].DG for i in data['Experimental'].keys()])\n",
- "shift = exp_DG_sum / len(data['Experimental'].keys())\n",
+ "shift = experimental_data[\"estimate (kcal/mol)\"].mean() # shift the computed values by the mean of the experimental values to put them on a similar scale\n",
"\n",
- "cinnabar_plotting.plot_DGs(fe.to_legacy_graph(), figsize=5, shift=shift.m)"
+ "plotting.plot_DGs(\n",
+ " fe_map, \n",
+ " source=\"MLE\", \n",
+ " figsize=5, \n",
+ " shift=shift\n",
+ ")"
]
},
{
@@ -427,106 +6856,450 @@
"source": [
"## Writing out the MLE derived absolute free energies\n",
"\n",
- "Finally, we can also write out the MLE derived absolute free energies in the following manner.\n",
- "\n",
- "**Note: you can obtain this directly from your results by calling `openfe gather --report dg`**"
+ "Finally, we can also extract the MLE derived absolute free energies along with the experimental results into a pandas ``DataFrame``."
]
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 10,
"id": "26b09073-f05f-401c-a10f-95c6c957f4da",
"metadata": {},
"outputs": [
{
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "{'lig_ejm_31': {'calculated_error': 0.05,\n",
- " 'calculated_estimate': 0.04,\n",
- " 'experimental_error': 0.18,\n",
- " 'experimental_estimate': -9.57},\n",
- " 'lig_ejm_42': {'calculated_error': 0.09,\n",
- " 'calculated_estimate': 0.53,\n",
- " 'experimental_error': 0.18,\n",
- " 'experimental_estimate': -9.81},\n",
- " 'lig_ejm_43': {'calculated_error': 0.13,\n",
- " 'calculated_estimate': 1.73,\n",
- " 'experimental_error': 0.18,\n",
- " 'experimental_estimate': -8.29},\n",
- " 'lig_ejm_46': {'calculated_error': 0.07,\n",
- " 'calculated_estimate': -0.69,\n",
- " 'experimental_error': 0.17,\n",
- " 'experimental_estimate': -11.35},\n",
- " 'lig_ejm_47': {'calculated_error': 0.19,\n",
- " 'calculated_estimate': 0.04,\n",
- " 'experimental_error': 0.18,\n",
- " 'experimental_estimate': -9.73},\n",
- " 'lig_ejm_48': {'calculated_error': 0.19,\n",
- " 'calculated_estimate': 0.54,\n",
- " 'experimental_error': 0.18,\n",
- " 'experimental_estimate': -9.03},\n",
- " 'lig_ejm_50': {'calculated_error': 0.08,\n",
- " 'calculated_estimate': 0.98,\n",
- " 'experimental_error': 0.18,\n",
- " 'experimental_estimate': -9.01},\n",
- " 'lig_jmc_23': {'calculated_error': 0.08,\n",
- " 'calculated_estimate': -1.08,\n",
- " 'experimental_error': 0.18,\n",
- " 'experimental_estimate': -11.74},\n",
- " 'lig_jmc_27': {'calculated_error': 0.11,\n",
- " 'calculated_estimate': -1.29,\n",
- " 'experimental_error': 0.17,\n",
- " 'experimental_estimate': -11.31},\n",
- " 'lig_jmc_28': {'calculated_error': 0.08,\n",
- " 'calculated_estimate': -0.81,\n",
- " 'experimental_error': 0.18,\n",
- " 'experimental_estimate': -11.01}}\n"
- ]
+ "data": {
+ "text/html": [
+ "