Skip to content

Instantly share code, notes, and snippets.

@dominicrufa
Created January 6, 2021 02:38
Show Gist options
  • Save dominicrufa/97141c03a7bd42aec521a5da54264b98 to your computer and use it in GitHub Desktop.
Save dominicrufa/97141c03a7bd42aec521a5da54264b98 to your computer and use it in GitHub Desktop.
added gavin's eq 8 free energy estimator
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This notebook attempts to yield a converged solvent-phase free energy calculation for all ligands of the jnk1 system"
]
},
{
"cell_type": "code",
"execution_count": 28,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import seaborn as sns\n",
"import numpy as np\n",
"\n",
"%matplotlib inline\n",
"\n",
"import os\n",
"colour_cycle = plt.rcParams['axes.prop_cycle'].by_key()['color']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"let's extract the forward and backward works"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [],
"source": [
"raw_dict = np.load('solvent.out.npz', allow_pickle=True)['arr_0'].item()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"let's look at the ligand pairs we have..."
]
},
{
"cell_type": "code",
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"dict_keys([(0, 13), (10, 1), (10, 17), (11, 1), (11, 14), (12, 17), (13, 15), (13, 20), (14, 16), (14, 20), (15, 20), (16, 1), (17, 3), (17, 4), (18, 20), (18, 4), (1, 20), (1, 9), (20, 2), (20, 3), (20, 4), (20, 8), (20, 9), (2, 4), (5, 4), (6, 4), (6, 8)])"
]
},
"execution_count": 30,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"raw_dict.keys()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"each entry is a dict of 'old' and 'new'..."
]
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"dict_keys(['old', 'new'])"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"raw_dict[(0,13)].keys()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"each entry here is a dict of tuples corresponding to a simulation index and a forward/backward work tuple"
]
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(-1081588.7570864186, 1081589.9689491775)"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"raw_dict[(0,13)]['old'][0]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"let's plot the histograms of forward and (negative) backward works (A->B and B->A, respectively) of lig0to13 (old)"
]
},
{
"cell_type": "code",
"execution_count": 33,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f94702e6438>"
]
},
"execution_count": 33,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"lig0_olds = np.array(list(raw_dict[(0,13)]['old'].values()))\n",
"forwards = lig0_olds[:,0]\n",
"backwards = -lig0_olds[:,1]\n",
"sns.distplot(forwards, rug=True, label = 'forward')\n",
"sns.distplot(backwards, rug=True, label='backward')\n",
"plt.xlabel(f\"work (kT)\")\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"let's look at the spread of the A->B->A works"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, '$w_{fwd} + w_{rev}$')"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"final_agg_works = lig0_olds.sum(axis=1)\n",
"sns.distplot(final_agg_works, rug=True)\n",
"plt.xlabel('$\\Delta w$')\n",
"plt.title('$w_{fwd} + w_{rev}$')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"it's fortunate that most of the works are clustered around 0, meaning that the work dissipated in the forward direction is dissipated (negative) in the second half of the annealing process."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let's see if we can generate a decently-converged free energy calculation from [this paper](https://static1.squarespace.com/static/530562f9e4b06fd3c041e221/t/57056c20f850827c4e7265fd/1459973152979/optimal+estimators+and+asymptotic+variances+for+nonequilibrium+path-ensemble+averages.pdf). Specifically, we take Eq 21.\n",
"$$\n",
"e^{-\\Delta \\hat{f}_t} = \\sum_{n=1}^{N_f} \\frac{e^{-w_t[X_{f_n}]}}{N_f + N_r e^{-\\hat{\\Omega}[X_{f_n}]}} + \\sum_{n=1}^{N_r} \\frac{e^{-w_t[X_{r_n}]}}{N_f + N_r e^{-\\hat{\\Omega}[X_{r_n}]}}\n",
"$$\n",
"where $\\Omega[X] \\equiv w_{2T}[X] - \\Delta f_{2T}$ and solve for $t=T$. In particular, I will split the trajectories $N$ in half so that $N_f = N_r = N/2$. Since the protocol is symmetric, then $\\Delta f_{2T} = 0$ and so $\\Omega[X] \\equiv w_{2T}[X]$. In this case, the equation should simplify to\n",
"$$\n",
"\\Delta \\hat{f}_T = -\\log \\left[\n",
" \\sum_{i=1}^{N/2} \\frac{e^{-w_{T}[X_{f_n}]}} {1 + e^{-w_{2T}[X_{f_n}]}}\n",
" +\n",
" \\sum_{i=1}^{N/2} \\frac{e^{-w_{T}[X_{r_n}]}} {1 + e^{-w_{2T}[X_{r_n}]}}\n",
" \\right]\n",
" - \\log (2/N)\n",
"$$"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {},
"outputs": [],
"source": [
"def free_energy(full_work_array):\n",
" \"\"\"\n",
" compute \\Delta \\hat{f}_T from eq 21.\n",
" all unitless\n",
" \n",
" arguments\n",
" full_work_array : np.array(N,2)\n",
" full work array (in kT).\n",
" full_work_array[:,0] are the cumulative works up to time T;\n",
" full_work_array[:,1] are thw cumulative works at time 2T\n",
" \n",
" returns\n",
" dG : float\n",
" reduced free energy difference\n",
" \n",
" NOTE : this equation is _not_ solved recursively\n",
" \"\"\"\n",
" N, sdim = full_work_array.shape\n",
" assert sdim==2\n",
" assert N % 2 == 0, f\"N is not even. cannot split works evenly\"\n",
" \n",
" #split the data in half randomly\n",
" forward_indices = np.random.choice(range(N), size=int(N/2), replace=False)\n",
" backward_indices = [i for i in range(N) if i not in forward_indices]\n",
" assert len(forward_indices) == N/2\n",
" assert len(backward_indices) == N/2\n",
" \n",
" forward_works = full_work_array[forward_indices,:]\n",
" backward_works = full_work_array[backward_indices, :]\n",
" \n",
" max_work = np.max(-full_work_array)\n",
" \n",
" #compute free energy\n",
" forward_max = np.max(-forward_works)\n",
" backward_max = np.max(-backward_works) \n",
" dG = -max_work -np.log(\n",
" ( np.exp(-forward_works[:,0] - max_work) / ((N/2) + (N/2) * np.exp(-forward_works[:,1])) ).sum()\n",
" + ( np.exp(-backward_works[:,0] - max_work) / ((N/2) + (N/2) * np.exp(-backward_works[:,1])) ).sum()\n",
" )\n",
" return dG"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"let's make the input to the `free_energy` function..."
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {},
"outputs": [],
"source": [
"input_work_array = lig0_olds.cumsum(axis=1)"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 10000/10000 [00:05<00:00, 1721.25it/s]\n"
]
}
],
"source": [
"import tqdm\n",
"N_bootstraps=10000\n",
"free_energies = []\n",
"num_base_samples = len(input_work_array)\n",
"for i in tqdm.trange(N_bootstraps):\n",
" subsample_indices = np.random.choice(range(num_base_samples), num_base_samples)\n",
" free_energies.append(free_energy(input_work_array[subsample_indices]))"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.axes._subplots.AxesSubplot at 0x7f94702b92e8>"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sns.distplot(free_energies)"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f946be6ad30>"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAEGCAYAAAB1iW6ZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOzdeXzU1bn48c+ZLZOZJJMdEsK+I0TAsLhAxQXFDa1t3VqXW4va0sXbem+Xq/W2te2v7b3eWkWqrUur1ooLoGIBEZRFkbDvEEISEkjIvk2S2c7vj0liIJNkksxkfd6vV17JzPfM93uyPTl5vuc8R2mtEUII0f8ZersDQgghQkMCuhBCDBAS0IUQYoCQgC6EEAOEBHQhhBggTL114cTERD1q1KjeurwQQvRLO3fuLNFaJwU61msBfdSoUWRmZvbW5YUQol9SSuW2dUxSLkIIMUBIQBdCiAEiqICulLpWKXVUKZWllPpxgOMOpdS7Sqm9SqmDSqn7Qt9VIYQQ7ekwh66UMgLPAFcD+cAOpdRqrfWhFs2+AxzSWt+olEoCjiqlXtVau8LSayFESLjdbvLz86mvr+/trojzWK1W0tLSMJvNQb8mmJuis4EsrXU2gFLqdWAx0DKgayBaKaWAKKAM8ATdCyFEr8jPzyc6OppRo0bh//UVfYHWmtLSUvLz8xk9enTQrwsm5TIMONXicX7jcy09DUwGTgP7ge9rrX3nn0gptUQplamUyiwuLg66k0KI8KivrychIUGCeR+jlCIhIaHT/zkFE9ADfafPL9F4DbAHSAWmA08rpWJavUjr57TWGVrrjKSkgNMohRA9TIJ539SV70swAT0fGN7icRr+kXhL9wFva78s4CQwqdO9EUII0WXB5NB3AOOVUqOBAuB24M7z2uQBVwKblVJDgIlAdig7KoQIv9e254X0fHfOGdFhm6eeeopnn32WmTNn8uqrr4b0+p3x0ksvkZmZydNPP91rfeiuDgO61tqjlFoKrAWMwAta64NKqQcbjy8Hfgm8pJTajz9F859a65Iw9lv0UyuOrWj++KsTvtqLPRF9xbJly/jggw+Cuvnn8Xgwmbq/wF1rjdYag2FgLcUJ6iujtV4DrDnvueUtPj4NLAxt18RAVOeuY/WJ1Vw96ure7oroAx588EGys7O56aabuPfee9m8eTPZ2dnYbDaee+450tPTefzxxzl9+jQ5OTkkJiZSUVHBb3/7W9LT05kxYwa33HILjz32GI8++igjR47k9ttvZ/HixZSXl+N2u/nVr37F4sWLycnJYdGiRSxYsIBPP/2UlStX8tFHH/Gb3/yGlJQUJkyYQERERG9/SbplYP15En3enuI9HC0/yv7i/b3dFdEHLF++nNTUVDZu3EhOTg4zZsxg3759/PrXv+buu+9ubrdz505WrVrFa6+9xvz589m8eTNVVVWYTCa2bt0KwJYtW5g3bx5Wq5V33nmHXbt2sXHjRn74wx/StNXm0aNHufvuu9m9ezcWi4Wf//znbN26lfXr13Po0KGAfexPJKCLHqO1ZvfZ3QDkVOX0bmdEn7Nlyxa+8Y1vAHDFFVdQWlpKZWUlADfddBORkZEAzJs3j08++YQtW7Zw/fXXU1NTg9PpJCcnh4kTJ6K15qc//Snp6elcddVVFBQUUFRUBMDIkSOZO3cuANu3b+fyyy8nKSkJi8XCbbfd1gufdWj1WrVFMfgcKTtCSV0JDouD/Op86jx1RJoie7tboo8ItGF909Q9u93e/NysWbPIzMxkzJgxXH311ZSUlPD8889z0UUXAfDqq69SXFzMzp07MZvNjBo1qnk+d8vztDz/QCEjdNFjsiqyAJibOhev9rK7aHcv90j0JfPnz2+e5bJp0yYSExOJiWm1nAWLxcLw4cN54403mDt3LvPmzeMPf/gD8+bNA6CyspLk5GTMZjMbN24kNzdwtdk5c+awadMmSktLcbvdrFixImC7/kRG6KLH5FTloFBckHABa3PWcqLyBJcMu6S3uyVaCGaaYbg8/vjj3HfffaSnp2Oz2Xj55ZfbbDtv3jw2bNiAzWZj3rx55OfnNwf0u+66ixtvvJGMjAymT5/OpEmBl8SkpKTw+OOPc/HFF5OSksLMmTPxer1h+dx6igr0b05PyMjI0LLBxeDyyMePsP3MdpbOWMpvPv8Nd066k0dmPdLb3RrUDh8+zOTJk3u7G6INgb4/SqmdWuuMQO0l5SJ6xIpjK9hTvIeESH/dEIfFQWFtYW93S4gBRQK66BFaa0rrSom3xgMQbYmmyFnUy70SYmCRgC56RI27BrfPTUJkAgCOCBmhCxFqEtBFjyitKwU4Z4ReXFeMxydl84UIFQnookdUuaoAiI2IBfwjdJ/2UVInJX+ECBUJ6KJHNAX0aEs0ADEW//xiSbsIEToyD130iOqGaqxGKxajBWgR0J0S0PuUzBdDe76M9veLz8nJ4YYbbuDAgQNdvsSmTZv4wx/+wHvvvdflc3TG448/TlRUFD/60Y965HqdISN00SOqXFXNQRwgJsL/cVGtzHQRfVd/W2gkAV30iGpXNdER0c2PrUYrVqOVs86zvdgr0Rd4PB7uuece0tPT+cpXvoLT6eQXv/gFs2bNYurUqSxZsqS5zktWVhZXXXUVF154ITNnzuTEiRPnnGvHjh3MmDGD7Oxspk2bRkVFBVprEhIS+Nvf/gbAN77xDT788ENycnKYN28eM2fOZObMmWzbtg3wj/gXLFjAnXfeybRp0wB44oknmDhxIldddRVHjx7twa9O50hAFz3i/BG6UookWxLFTtksfLA7evQoS5YsYd++fcTExLBs2TKWLl3Kjh07OHDgAHV1dc3plLvuuovvfOc77N27l23btpGSktJ8nm3btvHggw+yatUqxowZw6WXXsrWrVs5ePAgY8aMYfPmzQB89tlnzJ07l+TkZNavX8+uXbv45z//yfe+973mc33++ec88cQTHDp0iJ07d/L666+ze/du3n77bXbs2NGzX6BOkBy6CDu3z02Nu6b5hmgTheJg6cFe6pXoK4YPH86ll14KwNe//nWeeuopRo8eze9+9zucTidlZWVccMEFXH755RQUFHDLLbcAYLVam89x+PBhlixZwrp160hNTQW+KLM7cuRIHnroIZ577jkKCgqIj48nKiqKyspKli5dyp49ezAajRw7dqz5fLNnz27eQWnz5s3ccsst2Gw2wF/Kt68KaoSulLpWKXVUKZWllPpxgOOPKKX2NL4dUEp5lVLxoe+u6I9KnP6piS1H6E2Pq13VvdEl0YecX8JWKcW3v/1t3nzzTfbv38+3vvUt6uvrA5bXbZKSkoLVamX37i8qeDZthLF58+bmuudvvvlmcxGvJ598kiFDhrB3714yMzNxuVzNr+2vZXY7DOhKKSPwDLAImALcoZSa0rKN1vr3WuvpWuvpwE+Aj7XWZeHosOh/mpb4nz9Cj7JEUe2qbvcXVQx8eXl5fPrppwD84x//4LLLLgMgMTGRmpoa3nzzTQBiYmJIS0tj5cqVADQ0NOB0OgGIjY3l/fff56c//SmbNm0C/CP/kpISjh8/zpgxY7jssstaldlNSUnBYDDw97//vc0boPPnz+edd96hrq6O6upq3n333bB9LbormJTLbCBLa50NoJR6HVgMtLVf0x3AP0LTPTEQNN34DDRC92gPVa4qHBGO3uiaOF8H0wzDYfLkybz88ss88MADjB8/noceeojy8nKmTZvGqFGjmDVrVnPbv//97zzwwAM89thjmM3mc2qYDxkyhHfffZdFixbxwgsvMGfOHObMmdMcqOfNm8dPfvKT5j8Y3/72t7n11ltZsWIFCxYsaDUqbzJz5kxuu+02pk+fzsiRI5v/IPRFHZbPVUp9BbhWa31/4+NvAHO01ksDtLUB+cC4QCN0pdQSYAnAiBEjLmqr8LwYWP5x5B/8evuv+feL/p0oS1Tz8wdLDvLW8bd4+6a3GR83vhd7OHhJ+dy+LRzlcwMlj9r6K3AjsLWtdIvW+jmtdYbWOiMpKSmIS4uBoLy+HACb2XbO800pGJm6KERoBBPQ84HhLR6nAafbaHs7km4R5ymrL8NmsmFQ5/64SUAXIrSCCeg7gPFKqdFKKQv+oL36/EZKKQfwJWBVaLso+ruy+rJWo3OQgC5EqHV4U1Rr7VFKLQXWAkbgBa31QaXUg43Hlzc2vQVYp7WuDVtvRb9UWleK3dz6hpPJYCLSFCkBXYgQCWphkdZ6DbDmvOeWn/f4JeClUHVMDBzlDeUBAzr4R+ln6ySgCxEKsvRfhF1TDj2QaEu0jNCFCBFZ+i/Cyu1zU9lQ2eYIPcYSw6nqUz3cK9GWFcdWdNyoE7464ashPZ9on4zQRVhVNlQCtBnQo8xRlNaVylZ0g9hTTz3F5MmTueuuu3q7KyFz3XXXUVFR0ePXlRG6CKumvUQDzXIBf110jaakroSh9qE92TXRRyxbtowPPviguRgW+Evqmkx9Nzx11L81a9a0eSycZIQuwqqs3r/GrL2booCU0R2kHnzwQbKzs7nppptwOBwsWbKEhQsXcvfdd+P1ennkkUeYNWsW6enp/PnPf25+3e9///vm53/+85+3e41XXnmF2bNnM336dB544IHmUgBRUVH87Gc/48ILL2Tu3LkUFflrDhUXF3Prrbcya9YsZs2axdatWwH/TkUt++d0Ovna175Geno6t912G3PmzCEzMxOAUaNGUVJS0ub1vV4v9957L1OnTmXatGk8+eSTIfl6SkAXYdVhQDfLXPTBbPny5aSmprJx40Yefvhhdu7cyapVq3jttdf461//isPhYMeOHezYsYPnn3+ekydPsm7dOo4fP87nn3/Onj172LlzJ5988knA8x8+fJh//vOfbN26tblM7quvvgpAbW0tc+fOZe/evcyfP5/nn38egO9///s8/PDD7Nixg7feeov777+/+Xwt+7ds2TLi4uLYt28fjz76KDt37gz6+nv27KGgoIADBw6wf/9+7rsvNDV0+u7/NGJAqGjw5xEjTZEBjzeN0JsqMorB7aabbiIy0v+zsm7dOvbt29dcbbGyspLjx4+zbt061q1bx4wZMwCoqanh+PHjzJ8/v9X5NmzYwM6dO5sLfNXV1ZGcnAyAxWLhhhtuAOCiiy5i/fr1AHz44YccOvRF7cGqqiqqq6tb9W/Lli18//vfB2Dq1Kmkp6cHff0bb7yR7Oxsvvvd73L99dezcOHC7nzZmklAF2FV1VAFtB3Q7WY7JmWSEboAzq1DrrXmT3/6E9dcc805bdauXctPfvITHnjggQ7Pp7Xmnnvu4Te/+U2rY2azubnOudFoxOPx35j3+Xx8+umnzYG7vf515/p79+5l7dq1PPPMM7zxxhu88MILHZ6vIxLQRVhVuaqwm+2t6rg0adqKTgJ639CXphlec801PPvss1xxxRWYzWaOHTvGsGHDuOaaa3j00Ue56667iIqKoqCgALPZ3DzybunKK69k8eLFPPzwwyQnJ1NWVkZ1dTUjR45s87oLFy7k6aef5pFHHgFgz549TJ8+vVW7yy67jDfeeIMFCxZw6NAh9u/fH/T17XY7FouFW2+9lbFjx3Lvvfd2/QvVggR0EVbn7yUayBDbEAnoopX777+fnJwcZs6cidaapKQkVq5cycKFCzl8+DAXX3wx4L+5+corrwQM6FOmTOFXv/oVCxcuxOfzYTabeeaZZ9oN6E899RTf+c53SE9Px+PxMH/+fJYvX96q3be//e3mza1nzJhBeno6Dse5df3bun5kZCT33XcfPp8PIOAIvis6rIceLhkZGbrpjrAYuJZuWEqRs4ivTfxam20+O/0Zx8qP8e4tfXcnmIFK6qF3ndfrxe12Y7VaOXHiBFdeeSXHjh3DYrGE7BqdrYcuI3QRVkGN0O1D2FywGa11v9m7UQin08mCBQtwu91orXn22WdDGsy7QgK6CKuqhipGO0a322aIbQh1njqq3dUdBn8hAiktLeXKK69s9fyGDRtISEgIyzWjo6Ppa1kGCegirCpdlR3uFzrENgSAotoiCei9YCD8Z5SQkMCePXt6uxsh1ZV0uCwsEmFV1RBcygVkLnpvsFqtlJaWdil4iPDRWlNaWorVau3U62SELsKm3lOPy+ciJqLjWS4gq0V7Q1paGvn5+RQXS+mFvsZqtZKWltap10hAF2FT5fIvKupohJ4UmYRCUVQrI/SeZjabzymKJfq3oFIuSqlrlVJHlVJZSqkft9HmcqXUHqXUQaXUx6HtpuiPmkrndjRCNxvNxFvjJeUiRDd1OEJXShmBZ4CrgXxgh1Jqtdb6UIs2scAy4FqtdZ5SqvUMfzHotByhV7uq222bGJnYXGpXCNE1wYzQZwNZWutsrbULeB1YfF6bO4G3tdZ5AFprSYYKPjj5AQA7Cnd02DYxMpGSupJwd0mIAS2YgD4MaLlHWH7jcy1NAOKUUpuUUjuVUncHOpFSaolSKlMplSk3YQa+Ok8dAFZT+3fqVxxbQY27RraiE6KbggnogSaonj/HyQRcBFwPXAM8qpSa0OpFWj+ntc7QWmckJSV1urOif6n31AMQaQxcabElu9lOjbtGps8J0Q3BBPR8YHiLx2nA6QBt/qW1rtValwCfABeGpouiv2rwNgAQYYrosG2UOQqv9jbn3YUQnRdMQN8BjFdKjVZKWYDbgdXntVkFzFNKmZRSNmAOcDi0XRX9jcvrwqRMbZbObSnKEgUgN0aF6IYOZ7lorT1KqaXAWsAIvKC1PqiUerDx+HKt9WGl1L+AfYAP+IvW+kA4Oy76PpfPhcUYXLGipi3qSutLGcOYcHZLiAErqIVFWus1wJrznlt+3uPfA78PXddEf9fgbSDC2HG6BfwpF0BmugjRDVLLRYSNyxv8CL0poH+Y9yErjq0IZ7eEGLAkoIuwafA2BB3QrSYrBmWgxlUT5l4JMXBJQBdh4/K6gk65KKWIMkdR664Nc6+EGLgkoIuw6UzKBfxplxq3jNCF6CoJ6CJsOnNTFMBusVPrkhG6EF0lAV2ETWemLYKM0IXoLgnoIiy01v6Ui6FzAb3WXYtP+8LYMyEGLgnoIiyaCnN1ZoRuN9vR6ObXCiE6RwK6CIum2SqdyaE3Lf+XqYtCdI0EdBEWTQG9szl0QPLoQnSRBHQRFrWeLozQGwO6zEUXomskoIuwcLqdQCdz6BZ/gS5JuQjRNRLQRVh0JeViMVgwG8ySchGiiySgi7Doyk1RWf4vRPdIQBdh4fQ0plw6MQ8dvtiKTgjReRLQRVg05dA7M0IHsJltza8VQnSOBHQRFk1pE7PR3KnX2UwS0IXoKgnoIixq3bWYDeag9hNtyWa24fQ40VqHqWdCDFxB/bYppa5VSh1VSmUppX4c4PjlSqlKpdSexrfHQt9V0Z/Uums7NcOlid1sx6u9cmNUiC7ocE9RpZQReAa4GsgHdiilVmutD53XdLPW+oYw9FH0Q063s9P5c/CnXADK68ubSwEIIYITzAh9NpCltc7WWruA14HF4e2W6O9qPV0bodvM/oBe1lAW6i4JMeAFE9CHAadaPM5vfO58Fyul9iqlPlBKXRDoREqpJUqpTKVUZnFxcRe6K/qLWndtp6cswhcBvby+PNRdEmLACyagqwDPnX/HahcwUmt9IfAnYGWgE2mtn9NaZ2itM5KSkjrXU9GvhCLlIoTonGACej4wvMXjNOB0ywZa6yqtdU3jx2sAs1IqMWS9FP2O0+Ps8k1RgPIGCehCdFYwAX0HMF4pNVopZQFuB1a3bKCUGqqUUo0fz248b2moOyv6j1p3bZdG6GaDGZMyyQhdiC7ocJaL1tqjlFoKrAWMwAta64NKqQcbjy8HvgI8pJTyAHXA7VomEg9qXZ22qJTCZrZRVi83RYXorA4DOjSnUdac99zyFh8/DTwd2q6J/sqnfdR56roU0MF/Y7SioSLEvRJi4JOVoiLkulILvSWbySYpFyG6QAK6CLmulM5tKdIUSZWrKpRdEmJQkIAuQq5p+7muzEMHf0CvbKgMZZeEGBQkoIuQ627KpWmE7tO+UHZLiAFPAroIuVCkXHzaJxtdCNFJEtBFyIVihA5I2kWITpKALkKuKYfe1RG61WQFoKpBbowK0RkS0EXIyQhdiN4hAV2EXChy6ACVLgnoQnSGBHQRcs37iRo6t59oExmhC9E1EtBFyNW6a7GZbDTWa+s0CehCdI0EdBFyTo+zuQxuVxgNRmwmm6RchOgkCegi5Grdtd0K6ACOCIeM0IXoJAnoIuRq3bXNW8l1lSPCIdMWheikoMrnCtEZeVV5Xc6fN3FYHJJyEaKTZIQuQs7ldXV5ymKTmIgYSbkI0UkS0EXINXgburyoqEmMRQK6EJ0VVEBXSl2rlDqqlMpSSv24nXazlFJepdRXQtdF0d+4fN0foTsi/CkX2clQiOB1GNCVUkbgGWARMAW4Qyk1pY12/w//3qNiEGvwNnS5FnoTR4QDj89DnacuRL0SYuALZoQ+G8jSWmdrrV3A68DiAO2+C7wFnA1h/0Q/4/F58Pg83U65OCwOQBYXCdEZwQT0YcCpFo/zG59rppQaBtwCLKcdSqklSqlMpVRmcXFxZ/sq+gGnp3uFuZo4IhoDusx0ESJowUxbDDT/7PzE5v8B/6m19rY3XU1r/RzwHEBGRoYkRwegpkqLocihg4zQOyXzxY7bZNwX/n6IXhNMQM8Hhrd4nAacPq9NBvB6YzBPBK5TSnm01itD0kvRb3S3dG6TGEsMIAFdiM4IJqDvAMYrpUYDBcDtwJ0tG2itRzd9rJR6CXhPgvng1FRpUVIuQvS8DgO61tqjlFqKf/aKEXhBa31QKfVg4/F28+ZicOnubkVNmgK6LP8XInhBLf3XWq8B1pz3XMBArrW+t/vdEv1VqEboVqMVi8EiI3QhOkFquYiQar4paujeCF0pJQW6+pjXtue1e/zOOSN6qCeiLbL0X4RUqEboICV0hegsCegipLq7n2hLMZYYSbkI0QmSchEhVeuuRaEwGbr3o7Xi2Apq3bVUNFSEqGdCDHwyQhch5fQ4sRgt3a6HDv69RZtG/EKIjklAFyHldDtDkj8HsFvsOD1OfNoXkvMJMdBJQBchVeuuDUn+HMButuPTPpnp0oc4Gzx4fVK1o6+SHLoIqVpPbbdL5zaJMkcBUFZfRqw1NiTnFF1T7/ayeu9pPssuxWxUDI2xsmBiMpNSYnq7a6IFCegipEKacjHbASitL2UMY0JyTtGBAAW+cmqMfGubg+NVJq5KLKfOMY6jRTW8uj2Pey4ZxbjkqF7oqAhEUi4ipEKdcgEorSsNyflE57l98N3tMRTXG/jp+Dy+NbKI69NTeehLY0mKjuCVz3LJL3f2djdFIwnoIqRq3bVhGaGL3vHnozb2l5v59cxqLoz5InBHWozce8ko7BFGXt2eh9srN677AgnoIqScbmfIRug2kw2FkhF6LzlcYeSPh+zckFbPdWkNrY7HRJr58sw0KuvcbDsh36O+QAK6CKlQjtCVUtjNdsrqy0JyPtE5P98TTYxF84sZ1W22GZsUxcQh0Ww6epayWlcP9k4EIgFdhIzb58blc4UsoIM/7SIpl57x2vY8tp8sY/vJMl7cV8fnJRZuTC7m+OlStp9s+4/qtVOH4vL4eGrD8R7srQhEZrmIkAnVbkUt2c12yupkhB4SPi8cWg0FO6EyH5ylEBEFVgekTCe6ZgJoDUrxTmECDpOHKxM7Lr0wJMZKxqg4XvkslyXzx5AaG9kDn4wIRAK6CJlQlc5tSUboIaB9kLsNsjf6g7jBDI5hYEuA6jNQWwK7X+FGwBmRxGeO69lXNYk7h53FYghuEdHlE5LZmVvO3z7N5ceLJoX38xFtkoAuQiaUpXObRFuiOVJ2BJ/2YVCSIew0reHA25C7BeJGwY1/hInXgcF4bpvyk3y+4W3Sjz/DFWdf4mXLboxxVwO2oC4TZ7dwzQVD+cfneXzvynHYLBJaekNQvyFKqWuVUkeVUllKqR8HOL5YKbVPKbVHKZWplLos9F0VfV3T9nOhDOixEbG4fW6KncUhO+egkrXeH8zHLIBLfwCTbzw3mAMoBfFjyBrxNTYM/y5PuO/kYsMhLsp7EYs7+LIL/3bZaCrr3Ly9qyDEn4QIVocBXSllBJ4BFgFTgDuUUlPOa7YBuFBrPR34N+Avoe6o6PtCWQu9SdOS/4IaCRKdlp8JR9fAsAx/IA/Ch6UJ/MV7PZlp38DsqWHKyReJaAjuHkbGyDimDXPw4taT+KTeS68IZoQ+G8jSWmdrrV3A68Dilg201jVa66bvoB2Q7+YgFI6borEREtC7xOuBI+9B7Ei48A4IIl3l9Wk2lsQyw1GL0ZHG4VF3Y/C5mJj3D4ze1vPQz6eU4puXjeZEcS2bs0pC8VmITgomoA8DTrV4nN/43DmUUrcopY4A7+MfpYtBJiwjdAnoXZP/OdRXwMRFrVMsbTh8pooKj79eC4AzMoXjw7+G1VXGmIJV/lx7B66blkK83cLrn7e//6gIj2ACeqCdClp9Z7XW72itJwE3A78MeCKlljTm2DOLiyUnOtCE46aoyWAiOTJZAnpn+LyQ9SHEjoDEiUG/7POcMhLMbmY4vthUpNo+krwhVxNffYSU0m0dnsNiMnDrzGGsP1RESU3Ho3oRWsEE9HxgeIvHacDpthprrT8BxiqlEgMce05rnaG1zkhKSup0Z0Xf5vQ0TlsM4QgdIDUqVQJ6Z5zeCXVlMH6h/4ZnEPJKnWSdrWFBYgWG815SmDCH0pgpDC/6CFtdYYfnum3WcDw+zVs787vSe9ENwQT0HcB4pdRopZQFuB1Y3bKBUmqcatxzTCk1E7AAMnl4kHG6nZiUCaMK7l/8YA2LHkZBtQT0oGjtH53HpELyBUG/7O3d+ShgQWKATbmV4mTq9bhNNkaffhfl87R7rnHJ0WSMjOOfO06hg0jTiNDpcLKo1tqjlFoKrAWMwAta64NKqQcbjy8HbgXuVkq5gTrgNi3fyUGn1l1LpDkyJPuJtpQWlcYHJz+gwdsQ8tH/gFOZDzVnIf32oEfnWmve2V3A6EQ7iZbAwdprjCR36CLG57/JxNxXOTL6nmAUQbUAACAASURBVFZtXtv+Rd58ZIKdzNxyfr3mCKMT/VUz75wzogufkOiMoOaha63XaK0naK3Haq2faHxueWMwR2v9/7TWF2itp2utL9Zabwlnp0XfVOuubS55G0pjY8fi0z5yKnNCfu4Bp3Cff0bL0KlBv2RXXjm5pU5mjIhrt11ZzGTKoyeQfuxp7M720ynThjmIMBnIzJGyDT1Jlt6JkHF6nNhNoQ/o42LHAZBVkRXycw84hXshfixYgt9F6O1dBVjNBqamdrCdnFLkpFyHVorpR/+v3aYWk4ELh8dy4HQldS5v0H0R3SMBXYRMjauGqE4EkmCNihmFSZkkoHekutCfbkm5MOiXNHi8vLfvDAunDCXC3PG9D5c5hiOj72Fk4VoSKva123bWyHjcXs3e/I4LfInQkIILImRq3bVEW6JDfl6z0czImJES0DtS2Bhgh05ru815e4ZuLIigss7Bl6MPEZnX8QwWgMOj72Vc3htMP/K/bJjzYpu5+tRYKykOK5k5ZcwdkxDUuUX3yAhdhEy1uzosOXSAcXHjyCqXgN6uwn3+AlxWR9AveSc3gsQIL5clB785hcdk58C4hxhSvpPU4k/abKeUYtaoeE5X1lNQURf0+UXXyQhdhEytKzwj9BXHVlDvqaegpoA6Tx2RJqm33Up5jn+Gy+Sbgn5JpUuxsTCCu8bUYerE0G5s3go0UGeJZ9aBX3JgbNE5o/QTI77a/PGFabGs2X+GHXJztEfICF2ETI27Jmwj9GRbMhpNdmV2WM7f7x1b53/fXrrlPP8qiMDlUyweUd/py2ll5HTSPOwNRThq2v7PKdJiZNowB3tPVVDvlpuj4SYBXYSE1+fF6XESZQ79TVGAJJt/ZbGkXdqQsxki48Ae/ArslXlWRkV5uDCu/YVCbSmNmUqDKYbUkq3ttpsxIo4Gj48PDxd16ToieBLQRUg01UIP1wg93hqPxWDhRMWJsJy/X/P5IGcLJIwL+iWFdQY+KzazeHhDsOuPWtEGI4UJc4lx5hHVzrz0MUl2HJFmqZPeAySgi5CodfkDejimLQIYlIHRjtEcr5CNiFs5e8hfuyVhfNAvWZ0XgUZxcxfSLedcOm4mHqOVlHZG6QalmD48lo+PFVNcLQW7wkkCugiJGncNQNhSLuCv4ri/eD8rjq0I2zX6pZzGhdmdGKGvPGXlwjg3o6O7l9f2GS0Uxs8ivvoo1oa2yzdNHx6L16dZvbfNun4iBCSgi5BoKp0bzoCeZEui0lVJg0dGeefI2ezfyMIWH1Tz41VGDlWYu3QzNJCzcRloFEnlu9psMyTGSnqag7d3SQXGcJKALkKi2lUNgN0Snhw6QKLVX5G5tF4KeTZryp+Pmhf0S1bmWTGguWF4aP4wus3RlEdPJKlib7uVGG+ZMYyDp6s4XlQdkuuK1iSgi5DoiRF6fKR/BFpWL3OamxUd8O9MNDq4gK41rMqzcukQF8lWX8i6cTZ+Jmavk7jqo222uX5aCkrBu/vOhOy64lwS0EVIfJz/MQCbTm0K2zXirf6AXlonI/RmOZv970dd1mHT7SfL+NuBOvKdRqZFlrL9ZNk5b91RaR9Lg9lBcvnONtskx1iZMzqe9/adljrpYSIBXYREQ+MmwhGm8NUrNxlMxEbESsqlpZwt/uX+jrSgmm8ti8GsfMyOrQltP5TibNxMHLU5RNfmttnshvRUsotrOXxG0i7hIAFdhES9x3+DzWII3X6igcRb4ymrk5QL4M+f5H0GIy8NqrlHw6fl0WTE1hBpDF26pUlx7HQ0ijH5b7fZZtHUoRgNivf2yWyXcJBaLiIkXF4XEcaIkO9WdL6EyAT2Fe9Dax32a/V5Jcf988+Hzwmq+b4qO9UeE5fFV4WlO25zNBVRYxl1+gP2Tvi+f6ONFpp2NBqdaOf1HacYFnvu7layo1H3yQhdhERPbQ+XYE2gwdsgaReAU5/534+YG1TzLaUxRBm9TI8JcbqlhVLHNOz1Z0gq39Nmm/RhDspqXVKBMQyCCuhKqWuVUkeVUllKqR8HOH6XUmpf49s2pVTwFfbFgNBTAT3R5p+6eLxcVoySt91fvyWIFaK1HkVmZTRz46o6VVmxs8qjJ+IxWBl5Zk2bbaakxmBQcOh0eP5TGMw6/NYqpYzAM8AiYApwh1JqynnNTgJf0lqnA78Engt1R0XfVu+t75GAPtQ2FIA3jr0hK0ZPfeZPtxg6jtDrCiw0+AxhS7c08Rkt5A9ZwIgza1E+d8A2NouJkQl2jhTKjdFQC+Zv9WwgS2udrbV2Aa8Di1s20Fpv01qXNz78DAjulrsYMOo99VhN1rBfx2a2EW2Jpqh2kFfuqy2B0qyg8+cr86wkWtxMjAp/miM35Tqs7gpSSj5ts83kodEUVtVTVhv8xhqiY8EE9GHAqRaP8xufa8s3gQ8CHVBKLVFKZSqlMouLi4PvpejzeiqgAwyxDaHIOcgD+qnt/vdB5M9L6hVbzlq4NL4KQw/cRz6TdCkN5ph20y6TUvwbUh8plLRLKAUT0AP9CARcFaCUWoA/oP9noONa6+e01hla64ykpODrNou+r85TR6SxZ3YSGmofSkldCZ52lpkPeHmfgcEMqTM6bPpevhWvVlwWX9kDHQOfwUze0IWkFX2E0eMM2CYxKoKkqAiOyHz0kAomoOcDw1s8TgNaTSJVSqUDfwEWa61lCsIg4tM+GrwNPTpC92kfJXUlPXK9PunUdn8wN3f8R3RVnpVJDjcjInsuvZGbch1mbx1pZz9us83klGiyS2pkJ6MQCmYe+g5gvFJqNFAA3A7c2bKBUmoE8DbwDa31sZD3UvRpte5aNLrHAnpiZGORrsFaAsBdD6d3w5wHznk60PL9wgYzu8uSuXPY2Z7qHQBn4y/CGZHMyDNryE1dFLDN5JQYPjlewrGiatLTYnu0fwNVhyN0rbUHWAqsBQ4Db2itDyqlHlRKPdjY7DEgAVimlNqjlMoMW49Fn1Pl8udBeyqgN9d0Gaxz0c/sAa8LhnecP99a5s9VXxrm2S2tKAO5qYtILd6CxVURsMnweBs2i1Fmu4RQUDNStdZrtNYTtNZjtdZPND63XGu9vPHj+7XWcVrr6Y1vGeHstOhbqhr8waKncuhmoxmHxTF4R+h5jQuKOpjhorV/MdHkKCeJlp6/35CTch0G7WF44fqAxw1KMWloNEcKq/D6pFhXKMhKUdFtTbXQe2qEDv4SAIM2oJ/aDvFjIar9iQUnnRGcbojosZuh5yuPmUylfRSj2pvtMjSGereP3NLaHuzZwCUBXXRbT6dcwF8CoLS+dPCVYdXaH9CDmK64pcyBUWnmxvVSSkMpclOuI7lsJ7a6woBNxg+JwmhQknYJEQnootuaAnqkqWdSLuDf7GJQ1nQpzQJnaYfpFp+GbeXRzIipIcoU+sqKwcpNvQ6FZsSZfwU8HmEyMjbJzuEzVYPvj3MYSEAX3daUQ7cae3aEDpBb1Xbt7QEpL7iCXAeqbZS7zVyW0LsLd6rtIyl1TO0w7VJa6+JEsaRdukvK54puq3JVoVBYjOGthd5SnDUOgNM1p7loyEU9dt1elfki7P0HmG3+jS1yt7XZdEtZDJEGLxc5wldZsS1j886tsVMTmcrIwnVccHwZ9RH+vP+JEV9tPj45JYbVe0/z4eEixiWHbwvDwUBG6KLbqlxVWE3WHq1P7ohwAP6APqiUnYS40a1qjbfk8ik+L49mdlw1FkPvpzFKYy5AAwmVBwIed0SaSXVYWX9okJdzCAEJ6KLbqlxVPZo/B/92dHaznTO1g2jDYVcN1J6F+NHtNttVGUWdzxj2yorBcpujqbKPJrHygP+mbgCTUmLYlVdOaU1DD/duYJGALrqtylXVo/nzJo4IBwU1BT1+3V5TluN/H9d+QN9SFkOsycPU6MB1VHpDqWMqVlc59rrA/1FNSYlBa9hwpGdXtA40EtBFt1U3VPfolMUmsRGxg2uEXpYNygixw9tsUuMxsLvSziU9VFkxWGUxk/EpI4mV+wMeT3FYJe0SAhLQRbeV1ZdhM9t6/LqOCAena07j0703La9HlR6HuFHQzs3n7eXReHT4N7LoLK/RSnn0RBIq96MCVMlUSnHVlCFsPl4sxbq6QQK66LbyhnLsJnuPXzc2Iha3zz04Vow6y6AyHxLb325uS5mDlIgGxtjqe6hjwTsbNxOzt474qsMBj189ZQj1bh9bjg/iKprdJAFddIvL66LWXdtrI3SA07WDYKZL7lZAQ+KENpuUuEwcqrFxWXwVPTjhKGhV9tHUm+NILt8Z8Pic0QlER5gk7dINEtBFt5TV+0u29kZAb1pclFWe1ePX7nEnP/GnWmJHtNmkqbJiX0u3NFOKs3EziXHmEVOT3eqwxWTgSxOT2HCkSIp1dZEEdNEt5fX+rWRtpp4P6PHWeOIi4th9dnePX7vHZX8M8WPA0PZawK1lMYyz1zHUGnhz5r6gOG46PmVg3Kk3Ax6/5oKhlNS4+DxAbXfRMQnoolvKGxoDei+M0JVSzEieMfADenUhlBxtN91yrNJIbp21747OG3lMdsqjJzG6YDVGb+sNq6+aPAS7xciqPYNoOmoISUAX3dI0Qrebe/6mKMCM5BnkVecN7O3oTn7if5/Q9g3RlXlWDGguievbAR2gKH4WEe5Kxua/0+pYpMXINVOH8v7+MzLbpQskoItu6c2UC8CMIf5NktfmrO2V6/eIkx+DNRYcwwIe9mlYdcpKekwtDnPfD4LVthGcjZvB5OwXMfhap4dumTGM6noPG2WRUacFFdCVUtcqpY4qpbKUUj8OcHySUupTpVSDUupHoe+m6KvK6sswKEOPL/1vMi1xGnNS5vC/mf/L0bKjvdKHsNLanz8fdVmb9Vt2lpopcPadpf4dUopDY+7HXl/IyNPvtzp8ydhEkqIjeGe3pF06q8OArpQyAs8Ai4ApwB1KqSnnNSsDvgf8IeQ9FH1aeUM5sRGxPVqYqyWDMvD7+b9HKcXKrJW90oewKjoAladg/NVtNlmZF4HVqMmI7fnKil11Omke5dETmZL9V5Q+978Ko0Gx+MJUNh49S4XT1Us97J+CGaHPBrK01tlaaxfwOrC4ZQOt9Vmt9Q6g795eF2FRXl9OXERcr/YhzhpHxtAMthRs6dV+hMXRDwAFExYFPOzywfv5Vq5ObSDS2I9WzCrFwbH346jNCbjn6M0zhuH2at7aJaP0zggmoA8DTrV4nN/4XKcppZYopTKVUpnFxcVdOYXoY8rry5trk/emecPmkVOVw3P7nuvtroTWkfchLQOihwQ8/HGhhQqXgZuH972VoR05NfRqKqLGceGxpzB4zx2JTx3mYPboeJ7/JJsGT9+/L9BXBBPQA/0v3aVZ/1rr57TWGVrrjKSk9je4Ff1DWX0Z8db43u4Gl6ZeCsCJihO93JMQqiyAM3tg4nVtNnkr10pChI/5Q/tfakIrI7smPUK08xQTcl9rdXzpgnEUVtXz1k4ZpQcrmICeD7Qs75YGDIK11qIjWmuKnEUMsQcePfakkTEjsZvt5Nfk93ZXQudo47Ztk64PeLi8QbHhdAQ3j6jH3E/nqxUmXUJB0jymnvgz1Jz7X/u88YlcmOZg+ccn8Hj7UTqpFwXzY7ADGK+UGq2UsgC3A6vD2y3RH1S5qqjz1DHE1vsBXSlFalTqwNrB6OgaiB/b5oKi1aesuLXi1pH9L93S0u5JP8LkrYONT5zzvFKK7ywYR16Zk9V7B9D3NYw6DOhaaw+wFFgLHAbe0FofVEo9qJR6EEApNVQplQ/8O/BfSql8pVRMODsuel9hbSEAJytP9nJP/FLtqZTUlVDj6j+zPdpUXwknN8Ok62ir0tZbuVYmO9xMiW1djrY/qYoaw7GRd8DOl77YBLvRVZOHMHVYDE+8f5iiqv79h6snBPWPmtZ6jdZ6gtZ6rNb6icbnlmutlzd+XKi1TtNax2itYxs/7ieTYkVXFTn9VfFiIvrG3+7UqFQADpUe6uWehMDRD8Dnhkk3BDx8rNLIvnJzvx+dN9k3/rv+jTtWLQX3F5+TwaD4v9um43R5+cHre6RoVwfarvQjRAeaRugxlr4R0IdF+SdfvXrkVXKrcwH46oSvtveSvmv3K/6t5obPCXh4RU4kRqVZPGJgBHSPycZH43/GFTse4OA/fsreiT845/h104by1q4C7n85k6unBE7x3Tmn7UqUg4UEdNFlRc4iFIpoS3RvdwXwFwhLjUplX/E+Lk29tNcWO3Vb2UnI2QxX/FfAdEudB97IsXLtsAaSrP1zxDo2b0XA58/GTmdK9gvkD7mS0thpzc/PHBHHyZJaNh49S4PHy6KpKRj70h57fUQ/vTcu+oLC2kKiLFEY2liS3hsyhmRQUldCXnVeb3el6/a8Bii48M6Ah1efslLpNnD32NbVCvu7vKELcZljuGTPf2Byf3EvRCnFLTPSuGRsAttOlPK3T3OoqpN1jOfrO7+Jot8pchb1mXRLkwsSLsBqtLIuZx0ub/+bm43P6w/o464MWIxLa3j5RCSTHB5mJw68gOY1WslKuwV73WlmHTp31ovRoLghPZVbpg/jZEktT354jK1ZJZJXb0ECuuiyotreD+grjq1ofgMwG83cPP5mCmsLWZ/bekl5n5e9CaryYcbXAx7eWWrmUIWZu8c6++Q2c6FQYxvBgXEPMvr0e4wqeLfV8Vmj4/n+leMZEW/j/f1nWLYpi7wyZy/0tO+RgC66xO11k1+d3ydWiZ5vQtwEZg6ZyZ6ze5q3yOs3dr4IkXFtrg59KSuSaLOPmwfIzdC2HBy3hKK4i5h18FdE1bZOnyVERXDvJaO4c/YIahs8LP/4BD9fdWDQ11CXgC66JLcqF4/2kGTrmyUcZg+djVd7efNY4K3O+pzMF2Hjb+Dwe5A2y592yXzxnLfjVUbez4/gztF12Ab4dAatjHx64W/xGUxcuvc/AtZNV0oxdZiDh6+awMVjE3j501xuWbaNE8UDYB1CF0lAF12SVenfmDnZltzLPQksyZbEqJhRvHP8HbTuJznW4+v9G0GP/lLAw08etGMzaR6YODjSC87IoWyf+t8kVB4k/dif2mwXYTZyY3oqL9ybQWFlHTf+aQtv7hxAJSA6YYD/nRfhcqLiBAZlIDEysbe70qb0pHRWn1jNvpJ9XJh0YW93p301Z+H0Lhi7ACytt/M7WGFiTYGVW1NKOH66tBc62LNaTmssiruIKSdfxOSppTxmUvPzJ0acu8bgiklD+OD78/n+67v50Yq9bMsq4Zc3T8UeMXjCnIzQRZdklWcxPHo4pnZ2oe9tk+InYTFYWJW1itcOv8Yd793B1W9e3bxtXp+StR4MJhizIODhJw/asRu9XJ/cz+4JhEDu0GuoiUxlbME7RNYXtdt2qMPKa9+ayw+uGs/KPQXc8KctHCio7KGe9j7VW/+OZmRk6MzMzF65dkAvXgf3rfHnMRf8JHCb84+1ePzk+mM8fHXbu7K3qY3rNZ2vrfN++tcfcfE3g98g6sn1x3jY9Fbbn1sQFr65EICSuhLcAXKa/c3+e/YDcPFrFwNQ465pdXzay9POaduWhW8u5OZxN/Pt6d9udWzay9Paf33hfnzL5/FqTBTfmP9LOPoBT3q+wsOVvwVgw6gf8s1tsSxxbOfumN38n+crPFT1R9JUMbVeI5kRc5hXv4k6FYnd6MXirqLcEIdbK5J1GWdVPB6tGKrKqLUNx1NXjUXXUaHtOHCigSpsKCCRSm4cnkyRyYgP+HqFm4fKKzmkRzJF5VKFjRRVxlTX33jR9AQZ6ihniSdPJzFF5RKBm1IcJFDJUTWGfWoil/u2sdI3n2e8X+afll8yylbPnIon+ND8Axb7/pd7WckEex3HaiPJSVzA9Ir13BS5lyr7KBrKCoiIH8bZuIuYmv08PmXi17b/xGmwM7b8E3aMehDw13x57pMTjEmK4qrJ/pWkJ0tqeWPrIWqIZGSCjbU/mI/Z6B/DPrn+GMA5v1sBf9dC8TseYkqpnVrrjEDHZITeJHer//3Hv227zfnHWjz+44bjXbtuG9drOl9b57341POduswfNxxv/3MLwpnaM5ypPTMggnlLNe6aVsG8s87UnuHZvc92/oVeD6xaSrlBsTy2cQro8bX88bAdyk5QXlrEj3dFM0nl8sP6Z0gr/oQ3zyQy1nuCCE8V8bqchfX/IpJ64nU5EZ4qlIJ4Xc4QylAKhlDGMFWKEU2MM494XU4U9aSpUqJVHTGqjjRVyjBVSoTycMZswqcUKMUrcRZiVB1zDUea2xnR1PmMzDUcwaQ0qaq0+XiE8pDaeJ50jvF1/S5pqpSlxneo8xlJ5xgxzjzqfEaGqVJK3GaWGt9hYf2/WGp8hzfPJPJ1/S4xzjzSij9hrPcEacWf4DZHc3z417B4qvly+fP864yNh3iTj46c5aPGzaRzSp3NHwOMTrSzyfw9Jg+NJru4lpue3sruPP9/Z3/ccLzV71bA37VQ/I73IAnoQrShR2bIfPYMnNnDE4nxVBmNrQ7/3H0P5Q0G/se8nAjVv6sqdleNLY3jw7/CBSqXv1qC++80TtVw55yRAJTWNHDLsm1859Vd4exmr+q7CdDekPniue9byrivZ/siet1/f/rf4b1ASRZs/DVMuoH19XtbHf675ypW+y7lhxfUcMGJ3PD2pZ+oiJ7Iv7sf4o/mZwBwUEMlUUG9dsMPv8Tzn2Tz/OYvyj3vzitnxoje30IxVGSELgatU9Wn2j0+LXFau8e7paYYXvsqmCPhuj8ELML1mOderjDs4qFBMk0xWO/6LuHf3Q8BsMryKONUcFMUo61m/n3hRD7+j8ubn7tl2Ta+8uw2/nWgMBxd7XES0L0eOLPP//HhxmXGO1+Cva/BgbcheyMUHfTv7ygGlA25G9o9vmj0ouaPQzp5oKHGH8yrzsCdb0BMSvOhFWX7eNt7GQBzDYdZZv4jJvktbWWlz/81sqt6VloeY9LJlzETXEoqOdra/PFjN0yhsKqeB1/ZCcDv/nWE7H68MGlwplw8DZD1IRx4C46thaYdbrI3+t9XnQavCzx1/rYAOxpvQv7lakgY698aDFqkZ7q3wOa17V8sb/b4/PsnPr76IACPrNjL/AlJJNgtJEVHkBZnI7JbVxMA6/PWc+/Ue9s8bjV98Yu/6dQmFowIPKWwU6qL4M37/IOI21+D4bM5WOL/Pmut+MfhsexyXwXA8+b/waoG1g3oULux4Vf82vxXrjjyB9ZahvKM52aMnrF4TbZWbVv+jjWxmo08MH8sh89U8drneTy76QTLNp1gZLyN6SNi+ZmO5cMAr+urBk9A97r9hY8OvAVH3oeGKoiMh6m3wqh58Pb9cN3/wPsPw4KffvE6V41/0UdFHhxa6R+t53/+xfHdr0DCOIarOf5SeF2omFThdHH4TBU5pbXklNRyusJfp+OlbTkArNiZz4rzVr4N4WlG/vlTRsbbGJVoZ0S8jVEJdkYk2HBEmjvdh8FoX/E+MguDmzr71O6n+NLwL3WvVPCJj+DtJf4R+pefg4nXUuWqYulH30X7zKA8HDZuZqlxN097v0yUGtj1WkKhkAT+zf0fvDingrTPn+B/LMtxf/R3Tg29kqKExs1BOvjvymjwlxAA+M9Fk9iTV8HO3HJW7TnNKpYxbGMWk1KiG0+l+3Sd/aACulLqWuCPgBH4i9b6t+cdV43HrwOcwL1a696/lVxfCTlb4Ni//OmUunKIcMDkG2Hql/1LrI2Nwe/t+wMHY0sUxEdB/Bh/QF/4S6gpQpecwH3gHQxnj2IqyGRzxOtU/ua3nLVNoMw+jhpbGu7IRHwRDowGxTVTknEfeh+nG87WaYqdmtwqH7nu2yh94mdE4GaCcnNxpJH4ZDMnS2qZMzqOz0+WMW98Ilr7cHl8mKtyqfUY8FWfpbhoGNX5Rup9iuPAcUChsRh8WI0+IgwaZTBhMJn5siGOrd4pRL32GLEX3UJy6mgio2OD/lI63Z3P42ptQHui/W/aCBhQyg2GBpTR6X9Tvbcsf0T0CB5Y/0BQbbMqsng/+31uHHtj0OcvrC3k41ObmNzQgO/vt2I48SEkTYJ73sWTMJG9uWX8fNt/UdJQgjP3O5gcu4iI38b4+lIo+XLzebafLCPwvkWhl2fqn2M8W10hV7t+x2x1hGeGrGZE4TrGFPj3sv/aullMtIxg5DYrLnM0blMUdxiHU68tzNr/Nj6DCZ8yMs8wnMuz3+NyDToVityRFJ3K4h19G3sPFxJBJDN+uZ6LRsRx0ag4MkbGk57mwGpuPTupt3T43VNKGYFngKuBfGCHUmq11rrlxo2LgPGNb3OAZxvfh4fW4KkHdx24nf73dRVQfRoq86HoEBTth8IDoL3+oDxxkX80PvYKMEW0OJXG69N4tBmPW1GrY6mqMlLlUlS5DZS7DJytN1BUZ+Cs63uc3RRPUX0SRXXpNPi+DA2acaqAuYbDzPEeZmJ9NjPLt2FW51V92w5mwNH4Nh64BPxPtuQGKhufz4crzEBOgK+BCfDt8P+Jbevnydf45oE7LI3PHTsEx/4IQA2RlBsTqLEk47INgegUIhzJWB3JGKOSUFEJ1EeY2Ft9lBeyXgcN2mNF60i0NqM9drQ3qsX7aHyeGLQ7Bu2JQXs72snIizLVoozVKFM1BpP/vTLVNL5vfM7oBLygfP43fCEpHfuH+b/nz/ufY0PuhwA0nbL51D4fRq3RwJTEqfzy019gM1i4NPUSIgwW6jx1nKrJJ78mH4vPR6TW7D2yEqrP8l7+JlZU7ccLEBHB1+sOsWjs18iJ/iaHV1Wyt2AV7uiPiEjcTCo3kZe0FqP9OEkqmt8m+DDVH8Ttaf3jEQ4+oMBkYlWUnRcdrcshvxYdxUKnk1ivr4//S6/4XE8me5gCrYlsOEv6iT9T6piGp7SGaGceZnc1Bnz8pukL2+If379bgBaTiSYDmOC2ho+hMfvWQCTFFgUUggAADG9JREFUubGcyY6mWMfyBg5c1kQM0UOJjBuKI3EY9rgh2O1RREfZiYmKIspux2w2YzIojAYV1hF+MN+f2UCW1jobQCn1OrAYaBnQFwN/0/47R58ppWKVUila6zMh7/HBd2DFve23sSXC0Klw2Q/8S6mHzz4niAP877qjLNt0Ak9zcfyXYRXAMljX+pRRJh/JegTJBpgR72ZIpJfk7HdIvuhG4i12vr75aqwXLyHTq/G6G4isL8biKiPCXYnLB2nxdiIqs7GaFElWGBplYKhNYdryO7jiMXblV+NTJrJHfAUN/PzdQ/z3TRfw2OpD/OKmC9AoQDHm1FuAYvbhJ/h8ys8an2/S4mOlQPsw+NwYfW4e3p/G6+ZfUnnBN6iJTMVVXgBVZzA5i4hqOEuS83OSSiowKy/v2W38d2I89YYv0gsj3W7+UlLGnPoGfFrR9FXTqMY3mvuiFWhz4xu6Re9080eqxbMKwAt4FOf+qAd6Led9xh23MbT1X8DTF/N/gY/45SyhqVpISV4B30wZwg8++VHgtgYDLuDr2x/1X19rrqt2///2zjRIquoMw8+LwyIgMQZNRHBAAyKJ0ZJFUopEXFAqxhiSUrDcUmppSYym1GgZLLe4EDUViiSWGElw1yzuS0RFUIMKhmGRRYiUQSnXKA6yDfPlxzkNPT23p7tnerp72u+p6pq+Z7tvn/n69L3n3vNe9v20L8922YNFvd9mceM8+GwedN6JTgO20RUYWzuOKaOv5cCZwWtmVM1AlmyaR32/uxhq/cJv9Rczqantu/0z9WQyI+ib9j9o2veptHQs4a8lDCzH1G/gnz2besnc0Hs3biDYJPdobOT5dzrADQISG7uFFaNr+ozjpHWDeeCA5WBGzbaNnF9XSzdtYeqQlXRq3IqskStX1HLN4B3z5Z2sgf3X3MUr37mezg0beKHuLS4d1Zu+9e/z9fXvs/nTddR8sZxuW9fDJ4TX6mQ5jSYaEQ2IUVunMX70wVwydnBy4bZ87FxX7yX9GDjWzM6K26cCh5jZpLQyjwM3mtlLcfs54JdmNj+jrXOAc+LmfsCKYn2QNtAb+KjcIlrA9bWeStYGrq+tfFn11ZpZom91PkfoSecHmb8C+ZTBzG4Hbs9jnyVD0vxsvgiVgOtrPZWsDVxfW3F9zcnnkv1aoF/adl/gvVaUcRzHcdqRfAb014GBkgZI6gKcDDyaUeZR4DQFRgKftcv8ueM4jpOVnFMuZtYgaRLwDOF+ijvNbKmkc2P+bcCThFsWVxFuW+xIxicVNQWUgOtrPZWsDVxfW3F9GZTND91xHMcpLu4S4TiOUyX4gO44jlMlVO2ALulnklZIWippSlr65ZJWxbyxMa27pCckLY/lEx/tI6m/pI2SFsbXbaXQF9OHSloc86Yqy3KzbPUL1HaVpHfTPue4mN5F0oyoo07S92L6LmllF0r6SFKzNTvF6r9C9cW82bFPUnUS3dTK1H8ljb9W9l8lxF9nSX+JOpZJujymlyz+CtUW80oWe5hZ1b2AI4BZQNe4vUf8OwSoA7oCAwjrunYCugNHxDJdgLnAcQnt9geWlFpfzHsN+C7hnv+nsujLWr9AfVcBFyeknw/MSGkGFgCdEsotAA5vx/4rWB8wGxiWo92y9F8Z4q81/VcJ8TcRuD++704wxehfyvhrjbZSxl61HqGfR1i5uhnAzFIPGjyB0Ombzextwl05I8zsCzN7IZbdArxBuJe+IvRJ2hPoZWb/svDfnwn8MKHdxPpF1D0EeC5N86dAk4UTkgYSBoO5RdxvvuTUl4Oy9F8Z4q8gfRUUfwb0kFQD7AxsAdanFyhj/OXUloOi9F21DuiDgFGSXpX0oqThMX0vIP0xNWtj2nYk7QocTwzsBAZI+ndsd1SJ9O1FExuh5rpz1G8NkyQtknSnpNQzuuqAEyTVSBoADKXpgjKACcAD8YufRDH6r7X6ZsRT3slZpgzK3n8lir9C9VVK/P0V2ACsA94BbjazTzLqlSL+WqOtJLFX2eZpLSBpFvCNhKwrCJ/rq8BIYDjwoKR9yGFREH9d7wOmWjQjy2AdsLeZfSxpKPCwpG+ZWbNf4iLry8taoYByufT9Ebg21r0WuAX4KXAnwYRuPsGX7hVo9piYk4FTk/ZJ8fqvNfpOMbN3Je0C/C1qnJm524T9laz/Shh/heqrlPgbQbBx60P4/syVNCujr9ocf+2graix1xIddkA3s6Oy5Uk6D/h7/JV+TVIjwSgnl0XB7cBbZpZowhenSFLTJAskrSYcbTd7SkKR9a2l6Sl4NmuFvC0YWtKXoXU68His0wBclJb3CsGGPbV9IFBjZguy7LMo/dcafWb2bvz7uaR7CV/AzC9VWfuPEsVfK/T9jwqIP8I89dNmthX4QNLLhCm1lBNsUeKv2NqKHXstUa1TLg8DYwAkDSJcaPqIYFFwsqSu8ZRyIOFiD5KuI1iVX5itUUm7K/jDE4+oBxKDqT31WbBR+FzSyHi6dhrR7DeDrJ+vEBTmTFOcCCyJ6d0l9YjvjwYarKkv/gTCEWa2dovSf4Xqi1MIvWN6Z+D7qToZlK3/Shl/heqrlPgjTGWMUaAH4Qx3eVrZdo+/QrWVOvbadLW8Ul+EAfLu2HFvAGPS8q4gXEFeQbxST/g1NGAZsDC+zop5PwCuie/HA0sJc41vAMeXQl9MHxbLrwamsWOV73Z9LdUvUN9dwGJgUQy0PWN6/9juMsJdOrUZ9f4DDM5Ia4/+K0gf0INw58OiuP/fsePuobL3Xxnir+D/b4XEX0/godgHbwKXlDr+CtVW6tjzpf+O4zhVQrVOuTiO43zp8AHdcRynSvAB3XEcp0rwAd1xHKdK8AHdcRwHkPQTBXO0RklZLSMkHatgoLVK0mVp6QdJmqewInS+pBEx/WuSXpBUL2lanlok6deSViqYfV2QTz0f0J0vPZLWpO4VbqGMJD0vqZeCa9+SjPyx2uGmV68d7nozJR0g6c/t+iGcYrAE+BEwJ1uBeB/774HjCN43EyQNidlTgKvN7CDgyrgNsAmYDFxcgJYzCAuNBpvZ/sD9+VTqsCtFHacYpBaa5ME4oM7M1kvaLTPTzJ4hPKYRSbMJjnzbVyBK6itpbzN7pwiynXbAzJYBKNkZOMUIYJVFuwFJ9xOMtd4krCXoFct9hbjS08w2AC9J+mZmY5KOAa4muCyuBs40s3qCgd9EM2uMbXyQWTcJP0J3OiSSLk2dhkr6raTn4/sjJd0d309Q8KdeIummtLr1kq6R9CrBEjaVvrOkpyWdnbDLU0hYHSlpHwWzp+EJddJ5jOAz4nRsWjLRuhD4jaT/AjcDl9MC8azwV8BRZnYwwYLgFzF7X+CkOHXzlIKLZE58QHc6KnOAlFveMKBnXFp9GMEYqQ9wE8Fi4SBguKSU5WsPgi/2IWb2UkzrSRh07zWz6Qn7O5Sw4m87kvYjmC2daWav59A7P02vUyYkzYo/8JmvE/JtIiEttTrzPOAiM+tH8MT5U462RhKmbV6WtBA4HaiNeV2BTWY2DJhOME7LiU+5OB2VBcBQBQe7zYSl3MMIg+YFBBfL2Wb2IYCke4DDCT462wgDcTqPAFPM7J4s+9vNzD5P29491hlvZkvz0PsBwYnPKSOWp/FWC7RkonU68PP4/iHgjhxtCXjWzCZk2U8qRv8BzMhHnB+hOx0SC652a4AzCTavcwlPgtqX4EXS0kToJjPblpH2MnCcsk+gNkhK/758Rjj1PjRPyd2AjXmWdSqX14GBkgZI6kKYRns05r0HjI7vx9DUSTOJecChqbn1aI42KOZtN/CLba7MR5wP6E5HZg7hzoE5hAH9XGChBYOiV4HRknrHC58TgBdbaOtK4GPgD1nyVwD7pG1vITy15zRJE/PQOohklz2nQpB0oqS1hOsqT0hKXeTuI+lJ2G4xPIlwAXwZ8GDaGdrZwC2S6oDrgXPS2l4D3AqcIWmtpCHx7PEM4D5JiwgD/OBY5UZgvKTFwA3AWXl9Bjfncjoqko4EngZ2NbMNklYCt5nZrTF/IuHClIAnzezSmF5vZj3T2llDmK75mDBX+WGqbFqZycA6M7tDUn/gcTP7tsIThp4FrjOzR2LZ2TS/y2Ua8IyZPVb8nnCcgA/ojpMHCj7YM83s6FbU7Uo4OzgsHuE5TrvgUy6OkwcWHvIwXVKvnIWbszdwmQ/mTnvjR+iO4zhVgh+hO47jVAk+oDuO41QJPqA7juNUCT6gO47jVAk+oDuO41QJ/wdwITHKT+8xnQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sns.distplot(forwards, rug=True, label = 'forward')\n",
"sns.distplot(backwards, rug=True, label='backward')\n",
"sns.distplot(free_energies, rug=True, label='free_energies')\n",
"plt.xlabel(f\"work (kT)\")\n",
"plt.legend()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"comment in passing: shouldnt the distribution of free energies be around the left tail for the forward work distribution?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"alternatively, we can use the following estimator (will call Eq 8.):\n",
"$$\n",
"\\Delta f_{a,b} = -\\log {\\frac{2}{N}} - \\log(\\sum_{n=1}^N \\frac{1}{e^{w_{a,b}} + e^{-w_{b,c}}})\n",
"$$"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [],
"source": [
"def crooks_symm_free_energy(input_works): \n",
" \"\"\"\n",
" symmetric protocol free energy that gavin got from plugging in symmetric protocols into bidirectional estimator\n",
" \n",
" arguments\n",
" input_works : np.array(N, 2)\n",
" input_works[:,0] is work accumulated from start to midpoint\n",
" input_works[:,1] is work accumulated from midpoint to end\n",
" \n",
" returns\n",
" free_energy : float\n",
" reduced free energy\n",
" \"\"\"\n",
" N = input_works.shape[0]\n",
" w_abs, w_bcs = input_works[:,0], input_works[:,1]\n",
" w_ab_max, w_bc_max = np.max(w_abs), np.max(w_bcs)\n",
" \n",
" denominators = np.exp(w_abs - w_ab_max) + np.exp(-w_bcs - w_ab_max)\n",
" \n",
" return -np.log(2./N) - np.log(np.sum(1./denominators)) + w_ab_max"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 10000/10000 [00:05<00:00, 1698.63it/s]\n"
]
}
],
"source": [
"import tqdm\n",
"N_bootstraps=10000\n",
"new_free_energies = []\n",
"num_base_samples = len(lig0_olds)\n",
"for i in tqdm.trange(N_bootstraps):\n",
" subsample_indices = np.random.choice(range(num_base_samples), num_base_samples)\n",
" new_free_energies.append(free_energy(lig0_olds[subsample_indices]))"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f9467a97908>"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAEGCAYAAAB1iW6ZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOy9d3yUVdr//z7TMpn0BAKhJiidQBK6GFBXKbrqNlCxoauo/PDxWZ91sazlsXx3v67ftbKyugK7K6sIrlhRV0WpYhKpUkILIRAgddJmMu38/phkTJlJ7jskAZLzfr14kZn73Pd9kkw+c811rvO5hJQShUKhUJz/GM72BBQKhULRPihBVygUii6CEnSFQqHoIihBVygUii6CEnSFQqHoIpjO1o179Oghk5OTz9btFQqF4rwkJyenWErZM9ixsyboycnJZGdnn63bKxQKxXmJEOJoqGMq5aJQKBRdBCXoCoVC0UXQJOhCiJlCiP1CiINCiAeDHI8RQnwohNghhPhBCHFb+09VoVAoFC3Rag5dCGEEFgNXAAVAlhDiAynlngbD/j9gj5TyaiFET2C/EGKFlNLVIbNWKDTgdrspKCjA6XSe7akoFLqxWq3069cPs9ms+Rwti6ITgINSysMAQoi3gWuBhoIugSghhAAigVLAo3kWCkUHUFBQQFRUFMnJyfhfmgrF+YGUkpKSEgoKCkhJSdF8npaUS1/gWIPHBXXPNeQVYDhwAtgF3Cel9DW9kBBivhAiWwiRXVRUpHmSCkVbcDqdJCQkKDFXnHcIIUhISND96VKLoAf7a2hq0TgD2A70AdKAV4QQ0c1OkvI1KeU4KeW4nj2DllEqFO2KEnPF+UpbXrtaBL0A6N/gcT/8kXhDbgP+Lf0cBI4Aw3TPRqFQKBRtRksOPQsYLIRIAY4D1wNzm4zJB34CbBBC9AKGAofbc6IKxZnyr6357Xq9uRMHtDrmpZde4tVXXyUjI4MVK1a06/31snz5crKzs3nllVc65Ppff/01zz33HB999FGHXF/ROq0KupTSI4RYCHwGGIGlUsofhBB31x1fAjwFLBdC7MKfolkkpSzuwHkrzlNW5a4KfD17yOyzOJPO4S9/+Qtr167VvLDl8Xgwmc58A7eUEiklBkPnbDXxeFQNxLmApt+2lPITKeUQKeUFUspn6p5bUifmSClPSCmnSylTpZSjpJRvduSkFecvDreDlftWUuosPdtT6XDuvvtuDh8+zDXXXMPzzz9PaWkpP/vZzxg9ejSTJk1i586dADzxxBPMnz+f6dOnc8stt3DllVcGjqWnp/Pkk08C8Oijj/K3v/2NqqoqfvKTn5CRkUFqairvv/8+AHl5eQwfPpwFCxaQkZHBsWPHWLZsGUOGDGHatGls2rQp6DxTU1MpLy9HSklCQgL/+Mc/ALj55pv54osvcDqd3HbbbaSmppKens66desAf8Q/e/Zsrr76aqZPn97omllZWaSnp3P48GG++eYb0tLSSEtLIz09ncrKyvb/YSuAs+jlouiebC/azv6y/fSO6H22p9LhLFmyhE8//ZR169bRo0cP7r33XtLT01mzZg1fffUVt9xyC9u3bwcgJyeHjRs3Eh4ezh//+Ec2bNhAcnIyJpMpIMQbN27kpptuwmq18t577xEdHU1xcTGTJk3immuuAWD//v0sW7aMv/zlLxQWFvL444+Tk5NDTEwMl156Kenp6c3mOWXKFDZt2sTAgQMZNGgQGzZs4JZbbuHbb7/l1VdfZfHixQDs2rWLffv2MX36dHJzcwHYsmULO3fuJD4+nq+//hqAzZs3c++99/L+++8zYMAA7rvvPhYvXsyUKVOoqqrCarV29I++26K2/is6DSkl205vAyCvIu/sTuYssHHjRm6++WYALrvsMkpKSrDb7QBcc801hIeHA5CZmcn69evZuHEjV111FVVVVdTU1JCXl8fQoUORUvLwww8zevRoLr/8co4fP86pU6cAGDhwIJMmTQJg69atXHLJJfTs2ROLxcJ1110XdF7191u/fj333HMPu3bt4vjx48THxxMZGdlo3sOGDWPgwIEBQb/iiiuIj48PXGvv3r3Mnz+fDz/8kAED/GsMU6ZM4f777+ell16ivLy8XVJKiuAoQVd0GvtK91HsKCbGEkNBZQEOj+NsT6lTCdaQvb40LSIiIvDc+PHjyc7OZsOGDUydOpX09HRef/11xo4dC8CKFSsoKioiJyeH7du306tXr0C9csPrNLx+S0ydOpUNGzawYcOGwBvA6tWryczMDDnvepreLykpCavVyrZt2wLPPfjgg/ztb3/D4XAwadIk9u3b1+qcFG1DCbqi0zhYfhCASX0m4ZVetp3a1soZXYupU6cGKl2+/vpr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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"sns.distplot(forwards, rug=True, label = 'forward works')\n",
"sns.distplot(backwards, rug=True, label='(-) backward works')\n",
"sns.distplot(free_energies, rug=True, label='eq 21 (above) free_energies')\n",
"sns.distplot(new_free_energies, rug=True, label='eq_8_free_energies')\n",
"plt.xlabel(f\"work (kT)\")\n",
"plt.legend()"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.6.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment