From 12a7dd7140618badc5481f8f201f9ad366be6aff Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Mon, 27 Apr 2026 12:25:29 -0700 Subject: [PATCH 1/3] updating septop analysis notebook for new results structure --- openmm_septop/septop_analysis.ipynb | 572 ++++++++++++++++++---------- 1 file changed, 362 insertions(+), 210 deletions(-) diff --git a/openmm_septop/septop_analysis.ipynb b/openmm_septop/septop_analysis.ipynb index 5e44a0e..8636a30 100644 --- a/openmm_septop/septop_analysis.ipynb +++ b/openmm_septop/septop_analysis.ipynb @@ -35,37 +35,34 @@ "name": "stdout", "output_type": "stream", "text": [ - "--2025-10-14 20:00:18-- https://zenodo.org/records/17435569/files/septop_results.zip\n", - "Resolving zenodo.org (zenodo.org)... 188.185.45.92, 188.185.48.194, 188.185.43.25\n", - "Connecting to zenodo.org (zenodo.org)|188.185.45.92|:443... connected.\n", - "HTTP request sent, awaiting response... 200 OK\n", - "Length: 5974197 (5.7M) [application/octet-stream]\n", - "Saving to: ‘septop_results.zip’\n", - "\n", - "septop_results.zip 100%[===================>] 5.70M 559KB/s in 11s \n", - "\n", - "2025-10-14 20:00:30 (529 KB/s) - ‘septop_results.zip’ saved [5974197/5974197]\n", - "\n", + " % Total % Received % Xferd Average Speed Time Time Time Current\n", + " Dload Upload Total Spent Left Speed\n", + "100 12.7M 100 12.7M 0 0 3153k 0 0:00:04 0:00:04 --:--:-- 3153k\n", "Archive: septop_results.zip\n", - " creating: septop_results\n", - " creating: septop_results/results_2\n", - " inflating: septop_results/results_2/rbfe_7a_7b.json \n", - " inflating: septop_results/results_2/rbfe_1_7b.json \n", - " inflating: septop_results/results_2/rbfe_1_7a.json \n", - " creating: septop_results/results_1\n", - " inflating: septop_results/results_1/rbfe_7a_7b.json \n", - " inflating: septop_results/results_1/rbfe_1_7a.json \n", - " creating: septop_results/results_0\n", - " inflating: septop_results/results_0/rbfe_7a_7b.json \n", - " inflating: septop_results/results_0/rbfe_1_7b.json \n", - " inflating: septop_results/results_0/rbfe_1_7a.json \n", - " inflating: septop_results/results_0/rbfe_1_25.json \n" + " inflating: septop_results/pre_openfe_v1.11/results_2/rbfe_1_7b.json \n", + " inflating: septop_results/pre_openfe_v1.11/results_2/rbfe_7a_7b.json \n", + " inflating: septop_results/pre_openfe_v1.11/results_2/rbfe_1_7a.json \n", + " inflating: septop_results/pre_openfe_v1.11/results_1/rbfe_7a_7b.json \n", + " inflating: septop_results/pre_openfe_v1.11/results_1/rbfe_1_7a.json \n", + " inflating: septop_results/pre_openfe_v1.11/results_0/rbfe_1_7b.json \n", + " inflating: septop_results/pre_openfe_v1.11/results_0/rbfe_1_25.json \n", + " inflating: septop_results/pre_openfe_v1.11/results_0/rbfe_7a_7b.json \n", + " inflating: septop_results/pre_openfe_v1.11/results_0/rbfe_1_7a.json \n", + " inflating: septop_results/current/results_2/rbfe_1_7b.json \n", + " inflating: septop_results/current/results_2/rbfe_7a_7b.json \n", + " inflating: septop_results/current/results_2/rbfe_1_7a.json \n", + " inflating: septop_results/current/results_1/rbfe_7a_7b.json \n", + " inflating: septop_results/current/results_1/rbfe_1_7a.json \n", + " inflating: septop_results/current/results_0/rbfe_1_7b.json \n", + " inflating: septop_results/current/results_0/rbfe_1_25.json \n", + " inflating: septop_results/current/results_0/rbfe_7a_7b.json \n", + " inflating: septop_results/current/results_0/rbfe_1_7a.json \n" ] } ], "source": [ - "!wget https://zenodo.org/records/17435569/files/septop_results.zip\n", - "!unzip septop_results.zip" + "!curl -O https://zenodo.org/records/19805681/files/septop_results.zip\n", + "!unzip -o septop_results.zip" ] }, { @@ -80,7 +77,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 2, "id": "7fbf1482-25ca-427b-a881-af88a983461c", "metadata": {}, "outputs": [], @@ -206,7 +203,7 @@ " dg_error = result[\"unit_results\"][p][\"outputs\"][\"unit_estimate_error\"]\n", "\n", " ddgs[names][simtype].append([dg, dg_error])\n", - " elif \"standard_state_correction_A\" in result[\"unit_results\"][p][\"outputs\"]:\n", + " if \"standard_state_correction_A\" in result[\"unit_results\"][p][\"outputs\"]:\n", " corr_A = result[\"unit_results\"][p][\"outputs\"][\n", " \"standard_state_correction_A\"\n", " ]\n", @@ -219,9 +216,6 @@ " ddgs[names][\"standard_state_correction_B\"].append(\n", " [corr_B, 0 * unit.kilocalorie_per_mole]\n", " )\n", - " else:\n", - " continue\n", - "\n", " return ddgs" ] }, @@ -494,32 +488,10 @@ "execution_count": 12, "id": "3b81c26b-4e3d-4bca-bfb1-4f72c75ec1bf", "metadata": {}, - "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "/home/ialibay/software/mambaforge/install/envs/openfe/lib/python3.12/site-packages/openmoltools/utils.py:9: UserWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html. The pkg_resources package is slated for removal as early as 2025-11-30. Refrain from using this package or pin to Setuptools<81.\n", - " from pkg_resources import resource_filename\n", - "/home/ialibay/software/mambaforge/install/envs/openfe/lib/python3.12/site-packages/Bio/Application/__init__.py:39: BiopythonDeprecationWarning: The Bio.Application modules and modules relying on it have been deprecated.\n", - "\n", - "Due to the on going maintenance burden of keeping command line application\n", - "wrappers up to date, we have decided to deprecate and eventually remove these\n", - "modules.\n", - "\n", - "We instead now recommend building your command line and invoking it directly\n", - "with the subprocess module.\n", - " warnings.warn(\n" - ] - } - ], + "outputs": [], "source": [ "# Specify paths to result directories\n", - "results_dir = [\n", - " pathlib.Path(\"septop_results/results_0\"),\n", - " pathlib.Path(\"septop_results/results_1\"),\n", - " pathlib.Path(\"septop_results/results_2\"),\n", - "]\n", + "results_dir = [pathlib.Path(\"septop_results/current/\")]\n", "ddgs = extract_results_dict(results_dir)" ] }, @@ -584,29 +556,29 @@ " 0\n", " 1\n", " 25\n", - " 2.0\n", - " 1.6\n", + " 0.2\n", + " 1.4\n", " \n", " \n", " 1\n", " 1\n", " 7a\n", - " 0.6\n", - " 1.5\n", + " 1.3\n", + " 1.6\n", " \n", " \n", " 2\n", " 1\n", " 7b\n", - " 0.1\n", - " 1.5\n", + " 1.7\n", + " 1.6\n", " \n", " \n", " 3\n", " 7a\n", " 7b\n", - " 1.9\n", - " 1.5\n", + " 1.8\n", + " 1.6\n", " \n", " \n", "\n", @@ -614,10 +586,10 @@ ], "text/plain": [ " ligand_i ligand_j DDG(i->j) (kcal/mol) uncertainty (kcal/mol)\n", - "0 1 25 2.0 1.6\n", - "1 1 7a 0.6 1.5\n", - "2 1 7b 0.1 1.5\n", - "3 7a 7b 1.9 1.5" + "0 1 25 0.2 1.4\n", + "1 1 7a 1.3 1.6\n", + "2 1 7b 1.7 1.6\n", + "3 7a 7b 1.8 1.6" ] }, "execution_count": 14, @@ -688,26 +660,26 @@ " \n", " 0\n", " 1\n", - " -0.675\n", - " 0.664267\n", + " -0.800000\n", + " 0.665207\n", " \n", " \n", " 1\n", " 25\n", - " 1.325\n", - " 1.311964\n", + " -0.600000\n", + " 1.192686\n", " \n", " \n", " 2\n", " 7a\n", - " -0.875\n", - " 0.903466\n", + " 0.033333\n", + " 0.932291\n", " \n", " \n", " 3\n", " 7b\n", - " 0.225\n", - " 0.903466\n", + " 1.366667\n", + " 0.932291\n", " \n", " \n", "\n", @@ -715,10 +687,10 @@ ], "text/plain": [ " ligand DG (kcal/mol) uncertainty (kcal/mol)\n", - "0 1 -0.675 0.664267\n", - "1 25 1.325 1.311964\n", - "2 7a -0.875 0.903466\n", - "3 7b 0.225 0.903466" + "0 1 -0.800000 0.665207\n", + "1 25 -0.600000 1.192686\n", + "2 7a 0.033333 0.932291\n", + "3 7b 1.366667 0.932291" ] }, "execution_count": 16, @@ -792,16 +764,16 @@ " complex\n", " 1\n", " 25\n", - " 39.88\n", - " 0.61\n", + " 42.66\n", + " 0.73\n", " \n", " \n", " 1\n", " solvent\n", " 1\n", " 25\n", - " 37.9\n", - " 1.4\n", + " 42.4\n", + " 1.2\n", " \n", " \n", " 2\n", @@ -813,78 +785,110 @@ " \n", " \n", " 3\n", - " standard_state_correction_B\n", + " standard_state_correction_A\n", " 1\n", " 25\n", - " 9.3\n", + " -9.2\n", " 0.0\n", " \n", " \n", " 4\n", + " standard_state_correction_B\n", + " 1\n", + " 25\n", + " 9.0\n", + " 0.0\n", + " \n", + " \n", + " 5\n", + " standard_state_correction_B\n", + " 1\n", + " 25\n", + " 9.0\n", + " 0.0\n", + " \n", + " \n", + " 6\n", " complex\n", " 1\n", " 7a\n", - " -0.82\n", - " 0.71\n", + " 0.82\n", + " 0.84\n", " \n", " \n", - " 5\n", + " 7\n", " complex\n", " 1\n", " 7a\n", - " -0.35\n", - " 0.69\n", + " 0.32\n", + " 0.89\n", " \n", " \n", - " 6\n", + " 8\n", " complex\n", " 1\n", " 7a\n", - " -2.10\n", - " 0.62\n", + " 0.59\n", + " 0.69\n", " \n", " \n", - " 7\n", + " 9\n", " solvent\n", " 1\n", " 7a\n", - " -1.9\n", - " 1.2\n", + " -1.1\n", + " 1.4\n", " \n", " \n", - " 8\n", + " 10\n", " solvent\n", " 1\n", " 7a\n", - " -1.5\n", + " -0.7\n", " 1.4\n", " \n", " \n", - " 9\n", + " 11\n", " solvent\n", " 1\n", " 7a\n", - " -1.6\n", + " -0.8\n", " 1.4\n", " \n", " \n", - " 10\n", + " 12\n", + " standard_state_correction_A\n", + " 1\n", + " 7a\n", + " -9.1\n", + " 0.0\n", + " \n", + " \n", + " 13\n", " standard_state_correction_A\n", " 1\n", " 7a\n", - " -8.8\n", + " -9.1\n", " 0.0\n", " \n", " \n", - " 11\n", + " 14\n", " standard_state_correction_A\n", " 1\n", " 7a\n", - " -9.0\n", + " -9.2\n", " 0.0\n", " \n", " \n", - " 12\n", + " 15\n", + " standard_state_correction_A\n", + " 1\n", + " 7a\n", + " -9.2\n", + " 0.0\n", + " \n", + " \n", + " 16\n", " standard_state_correction_A\n", " 1\n", " 7a\n", @@ -892,23 +896,31 @@ " 0.0\n", " \n", " \n", - " 13\n", + " 17\n", + " standard_state_correction_A\n", + " 1\n", + " 7a\n", + " -9.1\n", + " 0.0\n", + " \n", + " \n", + " 18\n", " standard_state_correction_B\n", " 1\n", " 7a\n", - " 9.1\n", + " 9.0\n", " 0.0\n", " \n", " \n", - " 14\n", + " 19\n", " standard_state_correction_B\n", " 1\n", " 7a\n", - " 9.1\n", + " 9.0\n", " 0.0\n", " \n", " \n", - " 15\n", + " 20\n", " standard_state_correction_B\n", " 1\n", " 7a\n", @@ -916,47 +928,71 @@ " 0.0\n", " \n", " \n", - " 16\n", + " 21\n", + " standard_state_correction_B\n", + " 1\n", + " 7a\n", + " 9.0\n", + " 0.0\n", + " \n", + " \n", + " 22\n", + " standard_state_correction_B\n", + " 1\n", + " 7a\n", + " 9.0\n", + " 0.0\n", + " \n", + " \n", + " 23\n", + " standard_state_correction_B\n", + " 1\n", + " 7a\n", + " 9.0\n", + " 0.0\n", + " \n", + " \n", + " 24\n", " complex\n", " 1\n", " 7b\n", - " 2.48\n", - " 0.84\n", + " 0.39\n", + " 0.73\n", " \n", " \n", - " 17\n", + " 25\n", " complex\n", " 1\n", " 7b\n", - " 3.63\n", - " 0.74\n", + " 0.82\n", + " 0.78\n", " \n", " \n", - " 18\n", + " 26\n", " solvent\n", " 1\n", " 7b\n", - " 2.8\n", + " -1.3\n", " 1.3\n", " \n", " \n", - " 19\n", + " 27\n", " solvent\n", " 1\n", " 7b\n", - " 3.1\n", - " 1.3\n", + " -0.8\n", + " 1.4\n", " \n", " \n", - " 20\n", + " 28\n", " standard_state_correction_A\n", " 1\n", " 7b\n", - " -9.0\n", + " -9.3\n", " 0.0\n", " \n", " \n", - " 21\n", + " 29\n", " standard_state_correction_A\n", " 1\n", " 7b\n", @@ -964,15 +1000,39 @@ " 0.0\n", " \n", " \n", - " 22\n", + " 30\n", + " standard_state_correction_A\n", + " 1\n", + " 7b\n", + " -9.3\n", + " 0.0\n", + " \n", + " \n", + " 31\n", + " standard_state_correction_A\n", + " 1\n", + " 7b\n", + " -9.3\n", + " 0.0\n", + " \n", + " \n", + " 32\n", " standard_state_correction_B\n", " 1\n", " 7b\n", - " 9.1\n", + " 9.4\n", " 0.0\n", " \n", " \n", - " 23\n", + " 33\n", + " standard_state_correction_B\n", + " 1\n", + " 7b\n", + " 9.4\n", + " 0.0\n", + " \n", + " \n", + " 34\n", " standard_state_correction_B\n", " 1\n", " 7b\n", @@ -980,55 +1040,63 @@ " 0.0\n", " \n", " \n", - " 24\n", + " 35\n", + " standard_state_correction_B\n", + " 1\n", + " 7b\n", + " 9.3\n", + " 0.0\n", + " \n", + " \n", + " 36\n", " complex\n", " 7a\n", " 7b\n", - " 3.17\n", - " 0.80\n", + " -0.64\n", + " 0.53\n", " \n", " \n", - " 25\n", + " 37\n", " complex\n", " 7a\n", " 7b\n", - " 1.65\n", - " 0.68\n", + " -1.53\n", + " 0.78\n", " \n", " \n", - " 26\n", + " 38\n", " complex\n", " 7a\n", " 7b\n", - " -2.06\n", - " 0.58\n", + " 3.74\n", + " 0.63\n", " \n", " \n", - " 27\n", + " 39\n", " solvent\n", " 7a\n", " 7b\n", - " -1.2\n", - " 1.3\n", + " -1.0\n", + " 1.4\n", " \n", " \n", - " 28\n", + " 40\n", " solvent\n", " 7a\n", " 7b\n", - " -0.9\n", - " 1.3\n", + " -1.3\n", + " 1.5\n", " \n", " \n", - " 29\n", + " 41\n", " solvent\n", " 7a\n", " 7b\n", - " -1.1\n", - " 1.2\n", + " -1.2\n", + " 1.4\n", " \n", " \n", - " 30\n", + " 42\n", " standard_state_correction_A\n", " 7a\n", " 7b\n", @@ -1036,23 +1104,63 @@ " 0.0\n", " \n", " \n", - " 31\n", + " 43\n", " standard_state_correction_A\n", " 7a\n", " 7b\n", - " -9.4\n", + " -9.0\n", " 0.0\n", " \n", " \n", - " 32\n", + " 44\n", " standard_state_correction_A\n", " 7a\n", " 7b\n", - " -9.0\n", + " -9.1\n", " 0.0\n", " \n", " \n", - " 33\n", + " 45\n", + " standard_state_correction_A\n", + " 7a\n", + " 7b\n", + " -9.1\n", + " 0.0\n", + " \n", + " \n", + " 46\n", + " standard_state_correction_A\n", + " 7a\n", + " 7b\n", + " -9.2\n", + " 0.0\n", + " \n", + " \n", + " 47\n", + " standard_state_correction_A\n", + " 7a\n", + " 7b\n", + " -9.2\n", + " 0.0\n", + " \n", + " \n", + " 48\n", + " standard_state_correction_B\n", + " 7a\n", + " 7b\n", + " 9.4\n", + " 0.0\n", + " \n", + " \n", + " 49\n", + " standard_state_correction_B\n", + " 7a\n", + " 7b\n", + " 9.4\n", + " 0.0\n", + " \n", + " \n", + " 50\n", " standard_state_correction_B\n", " 7a\n", " 7b\n", @@ -1060,19 +1168,27 @@ " 0.0\n", " \n", " \n", - " 34\n", + " 51\n", " standard_state_correction_B\n", " 7a\n", " 7b\n", - " 9.3\n", + " 8.9\n", " 0.0\n", " \n", " \n", - " 35\n", + " 52\n", " standard_state_correction_B\n", " 7a\n", " 7b\n", - " 9.0\n", + " 9.2\n", + " 0.0\n", + " \n", + " \n", + " 53\n", + " standard_state_correction_B\n", + " 7a\n", + " 7b\n", + " 9.2\n", " 0.0\n", " \n", " \n", @@ -1081,80 +1197,116 @@ ], "text/plain": [ " leg ligand_i ligand_j DG(i->j) (kcal/mol) \\\n", - "0 complex 1 25 39.88 \n", - "1 solvent 1 25 37.9 \n", + "0 complex 1 25 42.66 \n", + "1 solvent 1 25 42.4 \n", "2 standard_state_correction_A 1 25 -9.2 \n", - "3 standard_state_correction_B 1 25 9.3 \n", - "4 complex 1 7a -0.82 \n", - "5 complex 1 7a -0.35 \n", - "6 complex 1 7a -2.10 \n", - "7 solvent 1 7a -1.9 \n", - "8 solvent 1 7a -1.5 \n", - "9 solvent 1 7a -1.6 \n", - "10 standard_state_correction_A 1 7a -8.8 \n", - "11 standard_state_correction_A 1 7a -9.0 \n", + "3 standard_state_correction_A 1 25 -9.2 \n", + "4 standard_state_correction_B 1 25 9.0 \n", + "5 standard_state_correction_B 1 25 9.0 \n", + "6 complex 1 7a 0.82 \n", + "7 complex 1 7a 0.32 \n", + "8 complex 1 7a 0.59 \n", + "9 solvent 1 7a -1.1 \n", + "10 solvent 1 7a -0.7 \n", + "11 solvent 1 7a -0.8 \n", "12 standard_state_correction_A 1 7a -9.1 \n", - "13 standard_state_correction_B 1 7a 9.1 \n", - "14 standard_state_correction_B 1 7a 9.1 \n", - "15 standard_state_correction_B 1 7a 9.0 \n", - "16 complex 1 7b 2.48 \n", - "17 complex 1 7b 3.63 \n", - "18 solvent 1 7b 2.8 \n", - "19 solvent 1 7b 3.1 \n", - "20 standard_state_correction_A 1 7b -9.0 \n", - "21 standard_state_correction_A 1 7b -9.3 \n", - "22 standard_state_correction_B 1 7b 9.1 \n", - "23 standard_state_correction_B 1 7b 9.3 \n", - "24 complex 7a 7b 3.17 \n", - "25 complex 7a 7b 1.65 \n", - "26 complex 7a 7b -2.06 \n", - "27 solvent 7a 7b -1.2 \n", - "28 solvent 7a 7b -0.9 \n", - "29 solvent 7a 7b -1.1 \n", - "30 standard_state_correction_A 7a 7b -9.0 \n", - "31 standard_state_correction_A 7a 7b -9.4 \n", - "32 standard_state_correction_A 7a 7b -9.0 \n", - "33 standard_state_correction_B 7a 7b 8.9 \n", - "34 standard_state_correction_B 7a 7b 9.3 \n", - "35 standard_state_correction_B 7a 7b 9.0 \n", + "13 standard_state_correction_A 1 7a -9.1 \n", + "14 standard_state_correction_A 1 7a -9.2 \n", + "15 standard_state_correction_A 1 7a -9.2 \n", + "16 standard_state_correction_A 1 7a -9.1 \n", + "17 standard_state_correction_A 1 7a -9.1 \n", + "18 standard_state_correction_B 1 7a 9.0 \n", + "19 standard_state_correction_B 1 7a 9.0 \n", + "20 standard_state_correction_B 1 7a 9.0 \n", + "21 standard_state_correction_B 1 7a 9.0 \n", + "22 standard_state_correction_B 1 7a 9.0 \n", + "23 standard_state_correction_B 1 7a 9.0 \n", + "24 complex 1 7b 0.39 \n", + "25 complex 1 7b 0.82 \n", + "26 solvent 1 7b -1.3 \n", + "27 solvent 1 7b -0.8 \n", + "28 standard_state_correction_A 1 7b -9.3 \n", + "29 standard_state_correction_A 1 7b -9.3 \n", + "30 standard_state_correction_A 1 7b -9.3 \n", + "31 standard_state_correction_A 1 7b -9.3 \n", + "32 standard_state_correction_B 1 7b 9.4 \n", + "33 standard_state_correction_B 1 7b 9.4 \n", + "34 standard_state_correction_B 1 7b 9.3 \n", + "35 standard_state_correction_B 1 7b 9.3 \n", + "36 complex 7a 7b -0.64 \n", + "37 complex 7a 7b -1.53 \n", + "38 complex 7a 7b 3.74 \n", + "39 solvent 7a 7b -1.0 \n", + "40 solvent 7a 7b -1.3 \n", + "41 solvent 7a 7b -1.2 \n", + "42 standard_state_correction_A 7a 7b -9.0 \n", + "43 standard_state_correction_A 7a 7b -9.0 \n", + "44 standard_state_correction_A 7a 7b -9.1 \n", + "45 standard_state_correction_A 7a 7b -9.1 \n", + "46 standard_state_correction_A 7a 7b -9.2 \n", + "47 standard_state_correction_A 7a 7b -9.2 \n", + "48 standard_state_correction_B 7a 7b 9.4 \n", + "49 standard_state_correction_B 7a 7b 9.4 \n", + "50 standard_state_correction_B 7a 7b 8.9 \n", + "51 standard_state_correction_B 7a 7b 8.9 \n", + "52 standard_state_correction_B 7a 7b 9.2 \n", + "53 standard_state_correction_B 7a 7b 9.2 \n", "\n", " uncertainty (kcal/mol) \n", - "0 0.61 \n", - "1 1.4 \n", + "0 0.73 \n", + "1 1.2 \n", "2 0.0 \n", "3 0.0 \n", - "4 0.71 \n", - "5 0.69 \n", - "6 0.62 \n", - "7 1.2 \n", - "8 1.4 \n", + "4 0.0 \n", + "5 0.0 \n", + "6 0.84 \n", + "7 0.89 \n", + "8 0.69 \n", "9 1.4 \n", - "10 0.0 \n", - "11 0.0 \n", + "10 1.4 \n", + "11 1.4 \n", "12 0.0 \n", "13 0.0 \n", "14 0.0 \n", "15 0.0 \n", - "16 0.84 \n", - "17 0.74 \n", - "18 1.3 \n", - "19 1.3 \n", + "16 0.0 \n", + "17 0.0 \n", + "18 0.0 \n", + "19 0.0 \n", "20 0.0 \n", "21 0.0 \n", "22 0.0 \n", "23 0.0 \n", - "24 0.80 \n", - "25 0.68 \n", - "26 0.58 \n", - "27 1.3 \n", - "28 1.3 \n", - "29 1.2 \n", + "24 0.73 \n", + "25 0.78 \n", + "26 1.3 \n", + "27 1.4 \n", + "28 0.0 \n", + "29 0.0 \n", "30 0.0 \n", "31 0.0 \n", "32 0.0 \n", "33 0.0 \n", "34 0.0 \n", - "35 0.0 " + "35 0.0 \n", + "36 0.53 \n", + "37 0.78 \n", + "38 0.63 \n", + "39 1.4 \n", + "40 1.5 \n", + "41 1.4 \n", + "42 0.0 \n", + "43 0.0 \n", + "44 0.0 \n", + "45 0.0 \n", + "46 0.0 \n", + "47 0.0 \n", + "48 0.0 \n", + "49 0.0 \n", + "50 0.0 \n", + "51 0.0 \n", + "52 0.0 \n", + "53 0.0 " ] }, "execution_count": 18, @@ -1183,7 +1335,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.13.8" + "version": "3.12.13" }, "widgets": { "application/vnd.jupyter.widget-state+json": { From c1c9530c26a48a8a181f32d3b4f0400c7041075c Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Tue, 28 Apr 2026 09:19:05 -0700 Subject: [PATCH 2/3] clean up abfe imports --- abfe_tutorial/abfe_analysis.ipynb | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/abfe_tutorial/abfe_analysis.ipynb b/abfe_tutorial/abfe_analysis.ipynb index 3acf40c..d4bccee 100644 --- a/abfe_tutorial/abfe_analysis.ipynb +++ b/abfe_tutorial/abfe_analysis.ipynb @@ -70,12 +70,8 @@ "outputs": [], "source": [ "import numpy as np\n", - "import glob\n", - "import json\n", - "import csv\n", "import os\n", "import pathlib\n", - "from typing import Literal, List\n", "from gufe.tokenization import JSON_HANDLER\n", "import pandas as pd\n", "from openff.units import unit\n", @@ -94,7 +90,7 @@ "### Some helper methods to load and format the ABFE results\n", "Over the next few cells, we define some helper methods that we will use to load and format the ABFE results.\n", "\n", - "Note: you do not need to directly interact with any of these, unless you are looking to change the behaviour of how data is being processed" + "**Note: you do not need to directly interact with any of these, unless you are looking to change the behaviour of how data is being processed**" ] }, { @@ -182,8 +178,6 @@ "metadata": {}, "outputs": [], "source": [ - "\n", - "\n", "def _get_legs_from_result_jsons(\n", " result_fns: list[pathlib.Path],\n", ") -> dict[str, dict[str, list]]:\n", From 20fada6db79b99c4c44856836285caccef6d1b31 Mon Sep 17 00:00:00 2001 From: Alyssa Travitz Date: Tue, 28 Apr 2026 09:20:30 -0700 Subject: [PATCH 3/3] fixed to septop notebook --- openmm_septop/septop_analysis.ipynb | 488 +++++++++------------------- 1 file changed, 156 insertions(+), 332 deletions(-) diff --git a/openmm_septop/septop_analysis.ipynb b/openmm_septop/septop_analysis.ipynb index 8636a30..b10615e 100644 --- a/openmm_septop/septop_analysis.ipynb +++ b/openmm_septop/septop_analysis.ipynb @@ -37,7 +37,7 @@ "text": [ " % Total % Received % Xferd Average Speed Time Time Time Current\n", " Dload Upload Total Spent Left Speed\n", - "100 12.7M 100 12.7M 0 0 3153k 0 0:00:04 0:00:04 --:--:-- 3153k\n", + "100 12.7M 100 12.7M 0 0 604k 0 0:00:21 0:00:21 --:--:-- 693k\n", "Archive: septop_results.zip\n", " inflating: septop_results/pre_openfe_v1.11/results_2/rbfe_1_7b.json \n", " inflating: septop_results/pre_openfe_v1.11/results_2/rbfe_7a_7b.json \n", @@ -111,6 +111,40 @@ { "cell_type": "code", "execution_count": 3, + "id": "768e3c9a-a09d-4817-aa25-21c8809b263e", + "metadata": {}, + "outputs": [], + "source": [ + "def _get_names(result: dict) -> tuple[str, str]:\n", + " \"\"\"Get the ligand names from a unit's results data.\n", + "\n", + " Parameters\n", + " ----------\n", + " result : dict\n", + " A results dict.\n", + "\n", + " Returns\n", + " -------\n", + " tuple[str, str]\n", + " Ligand names corresponding to the results.\n", + " \"\"\"\n", + "\n", + " solvent_data = list(result[\"protocol_result\"][\"data\"][\"solvent\"].values())[0][0]\n", + "\n", + " try:\n", + " setup_data = solvent_data[\"inputs\"][\"setup\"][\"inputs\"]\n", + " except KeyError:\n", + " setup_data = solvent_data[\"inputs\"]\n", + "\n", + " name_A = setup_data[\"alchemical_components\"][\"stateA\"][0][\"molprops\"][\"ofe-name\"]\n", + " name_B = setup_data[\"alchemical_components\"][\"stateB\"][0][\"molprops\"][\"ofe-name\"]\n", + "\n", + " return str(name_A), str(name_B)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, "id": "c185164a-f1c6-483b-b013-f4d499889570", "metadata": {}, "outputs": [], @@ -156,7 +190,7 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "3733c540-de62-45a0-ba66-268397a38b49", "metadata": {}, "outputs": [], @@ -191,63 +225,41 @@ " continue\n", "\n", " ddgs[names][\"overall\"].append([result[\"estimate\"], result[\"uncertainty\"]])\n", - " proto_key = [\n", - " k\n", - " for k in result[\"unit_results\"].keys()\n", - " if k.startswith(\"ProtocolUnitResult\")\n", - " ]\n", + " proto_key = [k for k in result[\"unit_results\"].keys() if k.startswith(\"ProtocolUnitResult\")]\n", + " # In openfe v1.11+, we only want to pick up results from\n", + " # the Analysis Unit. To ensure backwards compatibility,\n", + " # we check if there are any analysis units. If so,\n", + " # we set a flag and later exclude Setup and Run.\n", + " has_analysis_units = any(\n", + " [\"Analysis\" in result[\"unit_results\"][p][\"source_key\"] for p in proto_key]\n", + " )\n", + "\n", " for p in proto_key:\n", + " # Skip non-analysis units if we have any\n", + " if has_analysis_units and (\n", + " \"Setup\" in result[\"unit_results\"][p][\"source_key\"]\n", + " or \"Run\" in result[\"unit_results\"][p][\"source_key\"]\n", + " ):\n", + " continue\n", + "\n", " if \"unit_estimate\" in result[\"unit_results\"][p][\"outputs\"]:\n", " simtype = result[\"unit_results\"][p][\"outputs\"][\"simtype\"]\n", " dg = result[\"unit_results\"][p][\"outputs\"][\"unit_estimate\"]\n", " dg_error = result[\"unit_results\"][p][\"outputs\"][\"unit_estimate_error\"]\n", "\n", " ddgs[names][simtype].append([dg, dg_error])\n", + "\n", " if \"standard_state_correction_A\" in result[\"unit_results\"][p][\"outputs\"]:\n", - " corr_A = result[\"unit_results\"][p][\"outputs\"][\n", - " \"standard_state_correction_A\"\n", - " ]\n", - " corr_B = result[\"unit_results\"][p][\"outputs\"][\n", - " \"standard_state_correction_B\"\n", - " ]\n", + " corr_A = result[\"unit_results\"][p][\"outputs\"][\"standard_state_correction_A\"]\n", + " corr_B = result[\"unit_results\"][p][\"outputs\"][\"standard_state_correction_B\"]\n", " ddgs[names][\"standard_state_correction_A\"].append(\n", " [corr_A, 0 * unit.kilocalorie_per_mole]\n", " )\n", " ddgs[names][\"standard_state_correction_B\"].append(\n", " [corr_B, 0 * unit.kilocalorie_per_mole]\n", " )\n", - " return ddgs" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "id": "08afcbcf-34a8-4450-a967-eb4ed5800ee1", - "metadata": {}, - "outputs": [], - "source": [ - "def _get_names(result: dict) -> tuple[str, str]:\n", - " \"\"\"Get the ligand names from a unit's results data.\n", "\n", - " Parameters\n", - " ----------\n", - " result : dict\n", - " A results dict.\n", - "\n", - " Returns\n", - " -------\n", - " tuple[str, str]\n", - " Ligand names corresponding to the results.\n", - " \"\"\"\n", - " try:\n", - " nm = list(result[\"unit_results\"].values())[0][\"name\"]\n", - "\n", - " except KeyError:\n", - " raise ValueError(\"Failed to guess names\")\n", - "\n", - " toks = nm.split(\",\")\n", - " toks = toks[1].split()\n", - " return toks[1], toks[3]" + " return ddgs" ] }, { @@ -261,25 +273,17 @@ " \"\"\"\n", " Calculate the error of the estimate as the std of the repeats\n", " \"\"\"\n", - " return np.std([v[0].m for v in r[\"overall\"]])" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "id": "30faf828", - "metadata": {}, - "outputs": [], - "source": [ + " return np.std([v[0].m for v in r[\"overall\"]])\n", + "\n", "def _error_mbar(r):\n", " \"\"\"\n", " Calculate the error of the estimate using the reported MBAR errors.\n", "\n", " This also takes into account that repeats may have been run for this edge by using the average MBAR error\n", " \"\"\"\n", - " complex_errors = [x[1].m for x in r[\"complex\"]]\n", - " solvent_errors = [x[1].m for x in r[\"solvent\"]]\n", - " return np.sqrt(np.mean(complex_errors) ** 2 + np.mean(solvent_errors) ** 2)" + " complex_errors = np.array([x[1].m for x in r[\"complex\"]])\n", + " solvent_errors = np.array([x[1].m for x in r[\"solvent\"]])\n", + " return np.sqrt(np.mean(complex_errors**2) + np.mean(solvent_errors**2))" ] }, { @@ -300,7 +304,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 7, "id": "e025eb3c-dc67-4170-afbe-0923b2cff0b4", "metadata": {}, "outputs": [], @@ -331,7 +335,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 8, "id": "411fe035-2ae2-4f98-9bab-19764af724ce", "metadata": {}, "outputs": [], @@ -373,7 +377,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 9, "id": "213f1c7b-185f-403b-a98c-22d31a5e60e5", "metadata": {}, "outputs": [], @@ -421,7 +425,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 10, "id": "76ced921-9d12-40c1-b95e-57430ea84778", "metadata": {}, "outputs": [], @@ -485,7 +489,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 11, "id": "3b81c26b-4e3d-4bca-bfb1-4f72c75ec1bf", "metadata": {}, "outputs": [], @@ -509,7 +513,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 12, "id": "46996a74-709c-41f2-ac39-0f77fb33371e", "metadata": {}, "outputs": [], @@ -520,7 +524,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 13, "id": "b2b6fdf0", "metadata": {}, "outputs": [ @@ -592,7 +596,7 @@ "3 7a 7b 1.8 1.6" ] }, - "execution_count": 14, + "execution_count": 13, "metadata": {}, "output_type": "execute_result" } @@ -615,7 +619,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 14, "id": "22e25226-0073-40a4-9cbc-da802a29fc25", "metadata": {}, "outputs": [], @@ -626,7 +630,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 15, "id": "cda55931", "metadata": {}, "outputs": [ @@ -693,7 +697,7 @@ "3 7b 1.366667 0.932291" ] }, - "execution_count": 16, + "execution_count": 15, "metadata": {}, "output_type": "execute_result" } @@ -715,7 +719,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 16, "id": "8b2c1dd8-ffa3-4585-94a7-4a1ed1454f30", "metadata": {}, "outputs": [], @@ -726,7 +730,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 17, "id": "08b72901-9c71-460b-b5da-9fb4a35e07f7", "metadata": {}, "outputs": [ @@ -785,22 +789,6 @@ " \n", " \n", " 3\n", - " standard_state_correction_A\n", - " 1\n", - " 25\n", - " -9.2\n", - " 0.0\n", - " \n", - " \n", - " 4\n", - " standard_state_correction_B\n", - " 1\n", - " 25\n", - " 9.0\n", - " 0.0\n", - " \n", - " \n", - " 5\n", " standard_state_correction_B\n", " 1\n", " 25\n", @@ -808,7 +796,7 @@ " 0.0\n", " \n", " \n", - " 6\n", + " 4\n", " complex\n", " 1\n", " 7a\n", @@ -816,7 +804,7 @@ " 0.84\n", " \n", " \n", - " 7\n", + " 5\n", " complex\n", " 1\n", " 7a\n", @@ -824,7 +812,7 @@ " 0.89\n", " \n", " \n", - " 8\n", + " 6\n", " complex\n", " 1\n", " 7a\n", @@ -832,7 +820,7 @@ " 0.69\n", " \n", " \n", - " 9\n", + " 7\n", " solvent\n", " 1\n", " 7a\n", @@ -840,7 +828,7 @@ " 1.4\n", " \n", " \n", - " 10\n", + " 8\n", " solvent\n", " 1\n", " 7a\n", @@ -848,7 +836,7 @@ " 1.4\n", " \n", " \n", - " 11\n", + " 9\n", " solvent\n", " 1\n", " 7a\n", @@ -856,15 +844,7 @@ " 1.4\n", " \n", " \n", - " 12\n", - " standard_state_correction_A\n", - " 1\n", - " 7a\n", - " -9.1\n", - " 0.0\n", - " \n", - " \n", - " 13\n", + " 10\n", " standard_state_correction_A\n", " 1\n", " 7a\n", @@ -872,15 +852,7 @@ " 0.0\n", " \n", " \n", - " 14\n", - " standard_state_correction_A\n", - " 1\n", - " 7a\n", - " -9.2\n", - " 0.0\n", - " \n", - " \n", - " 15\n", + " 11\n", " standard_state_correction_A\n", " 1\n", " 7a\n", @@ -888,15 +860,7 @@ " 0.0\n", " \n", " \n", - " 16\n", - " standard_state_correction_A\n", - " 1\n", - " 7a\n", - " -9.1\n", - " 0.0\n", - " \n", - " \n", - " 17\n", + " 12\n", " standard_state_correction_A\n", " 1\n", " 7a\n", @@ -904,31 +868,7 @@ " 0.0\n", " \n", " \n", - " 18\n", - " standard_state_correction_B\n", - " 1\n", - " 7a\n", - " 9.0\n", - " 0.0\n", - " \n", - " \n", - " 19\n", - " standard_state_correction_B\n", - " 1\n", - " 7a\n", - " 9.0\n", - " 0.0\n", - " \n", - " \n", - " 20\n", - " standard_state_correction_B\n", - " 1\n", - " 7a\n", - " 9.0\n", - " 0.0\n", - " \n", - " \n", - " 21\n", + " 13\n", " standard_state_correction_B\n", " 1\n", " 7a\n", @@ -936,7 +876,7 @@ " 0.0\n", " \n", " \n", - " 22\n", + " 14\n", " standard_state_correction_B\n", " 1\n", " 7a\n", @@ -944,7 +884,7 @@ " 0.0\n", " \n", " \n", - " 23\n", + " 15\n", " standard_state_correction_B\n", " 1\n", " 7a\n", @@ -952,7 +892,7 @@ " 0.0\n", " \n", " \n", - " 24\n", + " 16\n", " complex\n", " 1\n", " 7b\n", @@ -960,7 +900,7 @@ " 0.73\n", " \n", " \n", - " 25\n", + " 17\n", " complex\n", " 1\n", " 7b\n", @@ -968,7 +908,7 @@ " 0.78\n", " \n", " \n", - " 26\n", + " 18\n", " solvent\n", " 1\n", " 7b\n", @@ -976,7 +916,7 @@ " 1.3\n", " \n", " \n", - " 27\n", + " 19\n", " solvent\n", " 1\n", " 7b\n", @@ -984,23 +924,7 @@ " 1.4\n", " \n", " \n", - " 28\n", - " standard_state_correction_A\n", - " 1\n", - " 7b\n", - " -9.3\n", - " 0.0\n", - " \n", - " \n", - " 29\n", - " standard_state_correction_A\n", - " 1\n", - " 7b\n", - " -9.3\n", - " 0.0\n", - " \n", - " \n", - " 30\n", + " 20\n", " standard_state_correction_A\n", " 1\n", " 7b\n", @@ -1008,7 +932,7 @@ " 0.0\n", " \n", " \n", - " 31\n", + " 21\n", " standard_state_correction_A\n", " 1\n", " 7b\n", @@ -1016,15 +940,7 @@ " 0.0\n", " \n", " \n", - " 32\n", - " standard_state_correction_B\n", - " 1\n", - " 7b\n", - " 9.4\n", - " 0.0\n", - " \n", - " \n", - " 33\n", + " 22\n", " standard_state_correction_B\n", " 1\n", " 7b\n", @@ -1032,15 +948,7 @@ " 0.0\n", " \n", " \n", - " 34\n", - " standard_state_correction_B\n", - " 1\n", - " 7b\n", - " 9.3\n", - " 0.0\n", - " \n", - " \n", - " 35\n", + " 23\n", " standard_state_correction_B\n", " 1\n", " 7b\n", @@ -1048,7 +956,7 @@ " 0.0\n", " \n", " \n", - " 36\n", + " 24\n", " complex\n", " 7a\n", " 7b\n", @@ -1056,7 +964,7 @@ " 0.53\n", " \n", " \n", - " 37\n", + " 25\n", " complex\n", " 7a\n", " 7b\n", @@ -1064,7 +972,7 @@ " 0.78\n", " \n", " \n", - " 38\n", + " 26\n", " complex\n", " 7a\n", " 7b\n", @@ -1072,7 +980,7 @@ " 0.63\n", " \n", " \n", - " 39\n", + " 27\n", " solvent\n", " 7a\n", " 7b\n", @@ -1080,7 +988,7 @@ " 1.4\n", " \n", " \n", - " 40\n", + " 28\n", " solvent\n", " 7a\n", " 7b\n", @@ -1088,7 +996,7 @@ " 1.5\n", " \n", " \n", - " 41\n", + " 29\n", " solvent\n", " 7a\n", " 7b\n", @@ -1096,15 +1004,7 @@ " 1.4\n", " \n", " \n", - " 42\n", - " standard_state_correction_A\n", - " 7a\n", - " 7b\n", - " -9.0\n", - " 0.0\n", - " \n", - " \n", - " 43\n", + " 30\n", " standard_state_correction_A\n", " 7a\n", " 7b\n", @@ -1112,15 +1012,7 @@ " 0.0\n", " \n", " \n", - " 44\n", - " standard_state_correction_A\n", - " 7a\n", - " 7b\n", - " -9.1\n", - " 0.0\n", - " \n", - " \n", - " 45\n", + " 31\n", " standard_state_correction_A\n", " 7a\n", " 7b\n", @@ -1128,15 +1020,7 @@ " 0.0\n", " \n", " \n", - " 46\n", - " standard_state_correction_A\n", - " 7a\n", - " 7b\n", - " -9.2\n", - " 0.0\n", - " \n", - " \n", - " 47\n", + " 32\n", " standard_state_correction_A\n", " 7a\n", " 7b\n", @@ -1144,15 +1028,7 @@ " 0.0\n", " \n", " \n", - " 48\n", - " standard_state_correction_B\n", - " 7a\n", - " 7b\n", - " 9.4\n", - " 0.0\n", - " \n", - " \n", - " 49\n", + " 33\n", " standard_state_correction_B\n", " 7a\n", " 7b\n", @@ -1160,15 +1036,7 @@ " 0.0\n", " \n", " \n", - " 50\n", - " standard_state_correction_B\n", - " 7a\n", - " 7b\n", - " 8.9\n", - " 0.0\n", - " \n", - " \n", - " 51\n", + " 34\n", " standard_state_correction_B\n", " 7a\n", " 7b\n", @@ -1176,15 +1044,7 @@ " 0.0\n", " \n", " \n", - " 52\n", - " standard_state_correction_B\n", - " 7a\n", - " 7b\n", - " 9.2\n", - " 0.0\n", - " \n", - " \n", - " 53\n", + " 35\n", " standard_state_correction_B\n", " 7a\n", " 7b\n", @@ -1200,116 +1060,80 @@ "0 complex 1 25 42.66 \n", "1 solvent 1 25 42.4 \n", "2 standard_state_correction_A 1 25 -9.2 \n", - "3 standard_state_correction_A 1 25 -9.2 \n", - "4 standard_state_correction_B 1 25 9.0 \n", - "5 standard_state_correction_B 1 25 9.0 \n", - "6 complex 1 7a 0.82 \n", - "7 complex 1 7a 0.32 \n", - "8 complex 1 7a 0.59 \n", - "9 solvent 1 7a -1.1 \n", - "10 solvent 1 7a -0.7 \n", - "11 solvent 1 7a -0.8 \n", + "3 standard_state_correction_B 1 25 9.0 \n", + "4 complex 1 7a 0.82 \n", + "5 complex 1 7a 0.32 \n", + "6 complex 1 7a 0.59 \n", + "7 solvent 1 7a -1.1 \n", + "8 solvent 1 7a -0.7 \n", + "9 solvent 1 7a -0.8 \n", + "10 standard_state_correction_A 1 7a -9.1 \n", + "11 standard_state_correction_A 1 7a -9.2 \n", "12 standard_state_correction_A 1 7a -9.1 \n", - "13 standard_state_correction_A 1 7a -9.1 \n", - "14 standard_state_correction_A 1 7a -9.2 \n", - "15 standard_state_correction_A 1 7a -9.2 \n", - "16 standard_state_correction_A 1 7a -9.1 \n", - "17 standard_state_correction_A 1 7a -9.1 \n", - "18 standard_state_correction_B 1 7a 9.0 \n", - "19 standard_state_correction_B 1 7a 9.0 \n", - "20 standard_state_correction_B 1 7a 9.0 \n", - "21 standard_state_correction_B 1 7a 9.0 \n", - "22 standard_state_correction_B 1 7a 9.0 \n", - "23 standard_state_correction_B 1 7a 9.0 \n", - "24 complex 1 7b 0.39 \n", - "25 complex 1 7b 0.82 \n", - "26 solvent 1 7b -1.3 \n", - "27 solvent 1 7b -0.8 \n", - "28 standard_state_correction_A 1 7b -9.3 \n", - "29 standard_state_correction_A 1 7b -9.3 \n", - "30 standard_state_correction_A 1 7b -9.3 \n", - "31 standard_state_correction_A 1 7b -9.3 \n", - "32 standard_state_correction_B 1 7b 9.4 \n", - "33 standard_state_correction_B 1 7b 9.4 \n", - "34 standard_state_correction_B 1 7b 9.3 \n", - "35 standard_state_correction_B 1 7b 9.3 \n", - "36 complex 7a 7b -0.64 \n", - "37 complex 7a 7b -1.53 \n", - "38 complex 7a 7b 3.74 \n", - "39 solvent 7a 7b -1.0 \n", - "40 solvent 7a 7b -1.3 \n", - "41 solvent 7a 7b -1.2 \n", - "42 standard_state_correction_A 7a 7b -9.0 \n", - "43 standard_state_correction_A 7a 7b -9.0 \n", - "44 standard_state_correction_A 7a 7b -9.1 \n", - "45 standard_state_correction_A 7a 7b -9.1 \n", - "46 standard_state_correction_A 7a 7b -9.2 \n", - "47 standard_state_correction_A 7a 7b -9.2 \n", - "48 standard_state_correction_B 7a 7b 9.4 \n", - "49 standard_state_correction_B 7a 7b 9.4 \n", - "50 standard_state_correction_B 7a 7b 8.9 \n", - "51 standard_state_correction_B 7a 7b 8.9 \n", - "52 standard_state_correction_B 7a 7b 9.2 \n", - "53 standard_state_correction_B 7a 7b 9.2 \n", + "13 standard_state_correction_B 1 7a 9.0 \n", + "14 standard_state_correction_B 1 7a 9.0 \n", + "15 standard_state_correction_B 1 7a 9.0 \n", + "16 complex 1 7b 0.39 \n", + "17 complex 1 7b 0.82 \n", + "18 solvent 1 7b -1.3 \n", + "19 solvent 1 7b -0.8 \n", + "20 standard_state_correction_A 1 7b -9.3 \n", + "21 standard_state_correction_A 1 7b -9.3 \n", + "22 standard_state_correction_B 1 7b 9.4 \n", + "23 standard_state_correction_B 1 7b 9.3 \n", + "24 complex 7a 7b -0.64 \n", + "25 complex 7a 7b -1.53 \n", + "26 complex 7a 7b 3.74 \n", + "27 solvent 7a 7b -1.0 \n", + "28 solvent 7a 7b -1.3 \n", + "29 solvent 7a 7b -1.2 \n", + "30 standard_state_correction_A 7a 7b -9.0 \n", + "31 standard_state_correction_A 7a 7b -9.1 \n", + "32 standard_state_correction_A 7a 7b -9.2 \n", + "33 standard_state_correction_B 7a 7b 9.4 \n", + "34 standard_state_correction_B 7a 7b 8.9 \n", + "35 standard_state_correction_B 7a 7b 9.2 \n", "\n", " uncertainty (kcal/mol) \n", "0 0.73 \n", "1 1.2 \n", "2 0.0 \n", "3 0.0 \n", - "4 0.0 \n", - "5 0.0 \n", - "6 0.84 \n", - "7 0.89 \n", - "8 0.69 \n", + "4 0.84 \n", + "5 0.89 \n", + "6 0.69 \n", + "7 1.4 \n", + "8 1.4 \n", "9 1.4 \n", - "10 1.4 \n", - "11 1.4 \n", + "10 0.0 \n", + "11 0.0 \n", "12 0.0 \n", "13 0.0 \n", "14 0.0 \n", "15 0.0 \n", - "16 0.0 \n", - "17 0.0 \n", - "18 0.0 \n", - "19 0.0 \n", + "16 0.73 \n", + "17 0.78 \n", + "18 1.3 \n", + "19 1.4 \n", "20 0.0 \n", "21 0.0 \n", "22 0.0 \n", "23 0.0 \n", - "24 0.73 \n", + "24 0.53 \n", "25 0.78 \n", - "26 1.3 \n", + "26 0.63 \n", "27 1.4 \n", - "28 0.0 \n", - "29 0.0 \n", + "28 1.5 \n", + "29 1.4 \n", "30 0.0 \n", "31 0.0 \n", "32 0.0 \n", "33 0.0 \n", "34 0.0 \n", - "35 0.0 \n", - "36 0.53 \n", - "37 0.78 \n", - "38 0.63 \n", - "39 1.4 \n", - "40 1.5 \n", - "41 1.4 \n", - "42 0.0 \n", - "43 0.0 \n", - "44 0.0 \n", - "45 0.0 \n", - "46 0.0 \n", - "47 0.0 \n", - "48 0.0 \n", - "49 0.0 \n", - "50 0.0 \n", - "51 0.0 \n", - "52 0.0 \n", - "53 0.0 " + "35 0.0 " ] }, - "execution_count": 18, + "execution_count": 17, "metadata": {}, "output_type": "execute_result" } @@ -1335,7 +1159,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.13" + "version": "3.13.13" }, "widgets": { "application/vnd.jupyter.widget-state+json": {