diff --git a/alex/Scenarios.png b/alex/Scenarios.png new file mode 100644 index 0000000..b38ca2a Binary files /dev/null and b/alex/Scenarios.png differ diff --git a/alex/alex-baybe-inhibitor.ipynb b/alex/alex-baybe-inhibitor.ipynb new file mode 100644 index 0000000..41ab0ed --- /dev/null +++ b/alex/alex-baybe-inhibitor.ipynb @@ -0,0 +1,3831 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Imports" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Time_h pH Inhib_Concentrat_M Salt_Concentrat_M \\\n", + "count 515.000000 515.000000 515.000000 515.000000 \n", + "mean 157.151456 6.613592 0.006934 0.113476 \n", + "std 212.312862 2.270734 0.012923 0.159137 \n", + "min 0.500000 0.000000 0.000010 0.000000 \n", + "25% 24.000000 4.400000 0.001000 0.050000 \n", + "50% 24.000000 7.000000 0.001000 0.100000 \n", + "75% 240.000000 7.000000 0.003000 0.100000 \n", + "max 672.000000 10.000000 0.100000 0.600000 \n", + "\n", + " Efficiency \n", + "count 515.000000 \n", + "mean 18.439395 \n", + "std 313.671188 \n", + "min -4834.000000 \n", + "25% 25.625000 \n", + "50% 50.000000 \n", + "75% 85.475000 \n", + "max 100.000000 \n" + ] + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "\n", + "df_AA2024 = pd.read_excel('/data/averaged_filtered_AA2024.xlsx')\n", + "print(df_AA2024.describe())" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " SMILES Time_h pH Inhib_Concentrat_M \\\n", + "0 C(=O)(C(=O)[O-])[O-] 24.0 4.0 0.0010 \n", + "1 C(=O)(C(=O)[O-])[O-] 24.0 7.0 0.0005 \n", + "2 C(=O)(C(=O)[O-])[O-] 24.0 10.0 0.0010 \n", + "3 C(C(=O)[O-])C(CC(=O)[O-])(C(=O)[O-])O 24.0 4.0 0.0010 \n", + "4 C(C(=O)[O-])C(CC(=O)[O-])(C(=O)[O-])O 24.0 7.0 0.0005 \n", + "\n", + " Salt_Concentrat_M Efficiency \n", + "0 0.10 20.00 \n", + "1 0.05 12.35 \n", + "2 0.10 20.00 \n", + "3 0.10 30.00 \n", + "4 0.05 -23.95 \n" + ] + } + ], + "source": [ + "print(df_AA2024.head())" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Time_h pH Inhib_Concentrat_M Salt_Concentrat_M \\\n", + "count 333.000000 333.000000 3.330000e+02 333.000000 \n", + "mean 79.969970 0.440733 1.510580e-01 0.051051 \n", + "std 143.826377 1.913196 5.784776e-01 0.301263 \n", + "min 0.000000 -0.600000 1.000000e-07 0.000000 \n", + "25% 2.000000 -0.136721 2.000000e-04 0.000000 \n", + "50% 5.500000 0.000000 1.800000e-03 0.000000 \n", + "75% 96.000000 1.000000 4.279601e-03 0.000000 \n", + "max 720.000000 13.000000 3.280000e+00 2.000000 \n", + "\n", + " Efficiency \n", + "count 333.000000 \n", + "mean 60.781498 \n", + "std 22.139768 \n", + "min -49.170000 \n", + "25% 47.066667 \n", + "50% 66.000000 \n", + "75% 77.220000 \n", + "max 96.200000 \n" + ] + } + ], + "source": [ + "df_AA1000 = pd.read_excel('/workspaces/project-project-surface-science-syndicate/data/averaged_filtered_AA1000.xlsx')\n", + "print(df_AA1000.describe())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Construct dataframe to work with" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "df = df_AA2024\n", + "df_transfer = df_AA1000" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "df_combined = pd.concat([df, df_transfer], axis=0)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Time_hpHInhib_Concentrat_MSalt_Concentrat_MEfficiency
count848.000000848.0000008.480000e+02848.000000848.000000
mean126.8431604.1895806.352976e-020.08896235.066659
std192.0556763.6961833.690920e-010.227758245.617010
min0.000000-0.6000001.000000e-070.000000-4834.000000
25%6.0000000.0000005.000000e-040.00000035.000000
50%24.0000004.0000001.000000e-030.01000060.000000
75%144.0000007.0000004.200000e-030.10000080.507500
max720.00000013.0000003.280000e+002.000000100.000000
\n", + "
" + ], + "text/plain": [ + " Time_h pH Inhib_Concentrat_M Salt_Concentrat_M \\\n", + "count 848.000000 848.000000 8.480000e+02 848.000000 \n", + "mean 126.843160 4.189580 6.352976e-02 0.088962 \n", + "std 192.055676 3.696183 3.690920e-01 0.227758 \n", + "min 0.000000 -0.600000 1.000000e-07 0.000000 \n", + "25% 6.000000 0.000000 5.000000e-04 0.000000 \n", + "50% 24.000000 4.000000 1.000000e-03 0.010000 \n", + "75% 144.000000 7.000000 4.200000e-03 0.100000 \n", + "max 720.000000 13.000000 3.280000e+00 2.000000 \n", + "\n", + " Efficiency \n", + "count 848.000000 \n", + "mean 35.066659 \n", + "std 245.617010 \n", + "min -4834.000000 \n", + "25% 35.000000 \n", + "50% 60.000000 \n", + "75% 80.507500 \n", + "max 100.000000 " + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_combined.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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7ZJLLrGLL77YmjVrZi6Xy26++Wbbtm2brV+/3iTZW2+9ZYMHD7bu3bs75SYkJFjXrl3t3HPPtfr161faVrfbbZGRkRYZGens+65du1pMTIxNnz7dMjMznW2SZMnJyfbwww9bUVGRDRw40DweT9B0l8tlTZo0sXvuuccKCwutadOm1qFDB+e5GjBggHXu3NkSEhKc9QX29cMPP2wDBgyw8847L6jMsLAwi46ODtq/VQ2BcsoP8fHxJsmaN28edGwdaEhOTq70nB7K0LRp00r7prohPDzcPB7PYa/raA7lj4tjNdTEfoiIiKjyeGAIHlwu1zF/fsuv+2BfIwwMR2M4lPeawGeqy+WyFi1a1Hrdj+ehNj/LIiIizO/3H/T8NfH+53K5zOv1mtfrrbI8j8djXq/3gGVERkYeUT06dOhgqamplp2dbTfffLP98MMPJsliY2MrzRseHm633367DRs2LKi9GGije71eCwsLs8svv9w6d+5skszn81lCQoJ5vV5zu93WrFkzu+222+zTTz81SXbppZfasGHD7NJLL7WwsDB78803TZK1bt3aIiIinDIrHh+Bz4KzzjrLNm/ebAMGDLDRo0ebJEtMTDSPx2NhYWHWrl07++abbyw/P99GjRrljI+KirLY2Fin7X/WWWfZO++8Y126dLH69etby5YtLSMjw8LCwszj8Vjv3r3t7LPPtnbt2llCQoJTh/r161ujRo2c9uq7775r3bt3d46ntm3b2uTJk53znccff9yio6PtiiuusPr165vP57OGDRva4MGD7aOPPrIHHnjAJNk333wTdC41dOhQk2R33HGHSbKZM2fa5s2b7a233jJp36nd9u3b7a677rIWLVqY3++31NRUO/PMM+3NN9+0a665xho3bmzh4eGWlJRk5513nv30009B5wPTpk2zW2+91dq2bWvr16+3mJgYW7VqVdA5W25ursXGxtr69eutoKDAJk+ebCeddJLFxMRYVFSUJScnW506dZzt6t69u5100kkWHh5ukqxdu3aWm5tb6VxwwIABNmbMmErjL7zwQnvooYeqXf+1117rbFdCQoLVq1fP4uPjzefzWbNmzezuu++2FStWONtVnYrnRfurV2Zmpo0ZM8bWr19vZWVlzvi9e/fa+PHjrXXr1ub3+y0+Pt7OPvts+/zzz6tdb/ll169ff8B6Vtz+gB49epgk+9e//hU0/4QJEywzM/OA66/Oli1b7OuvvzZJtnDhQmf8okWLLDEx0Xbs2HHYZZuZPf/889axY0eLiIiw6Oho6969u7377ruV5uvYsaO9+OKLlca3b9/e/vnPfzqP77vvPsvOzrb169dbYWFh0LxffPGF9e3b1+Lj453z5XHjxtnevXsPWM/q9kNV9ZJkubm5lp+fHzR+165ddu+991qzZs3M5/NZnTp1bODAgbZkyZIDrr+oqMjWr19vgwYNsvPPP7/a+fa3/d99950NHDjQUlJSzO/3W9OmTW3YsGG2dOnSA67/SO3Zs8fatm1baf8d7HZV5ZADrZUrV1q9evUsKyvL3njjDVu6dKktWbLExo0bZy1atDCzfS+YsWPH2tixY006+EArUHbTpk0tMTHRmjZtahMmTLDbb7/dwsPDLSIiwhISEiw6OtpefPFFi4iIsJycHPv666/t9NNPt5iYGOeDbtCgQTZy5Ehr3LixnXPOOeb3++3LL7+02NhYmzhxokmyOXPmmJnZXXfdZWFhYda5c2cLCwuza665xiZMmGB9+vSxG264wTIyMszr9ZrH47F7773XzjzzTBs+fLhFREQ4DY02bdqYx+OxRo0aWZMmTWzYsGEWHh7uhEsPPvig9enTxx588EFr0KCBRUZGWt26dS0+Pt4yMjIsLi7OkpOTLSkpyQYMGGCS7KGHHrIWLVrY22+/bT6fz/kAcLlcdtZZZ1nbtm0tPj7e6tata5IsKSnJ+XCPjY21+Ph4u+uuu8ztdlu9evXM5/NVCr+io6OdMFKSjR8/3jwej0VFRVl4eLjzAe33+83v95vb7Q4Kzco3vKKjoy08PNwyMjLswgsvrHSiGXgcHR0dtJzP5wv6G6hf+YbZO++8Y2Zm77zzTpUNyPLrqq4xeKgNu4phRm2dtDMwMDAwMDAcuyHwRVb54VBDtsP5QiTQVinfnpP2tZuqCpUq1i8Qrkiy7Oxsk6pvuwS+dK5Y50GDBllSUpJdccUVleqRlZVldevWDQrXoqKibOrUqU4dPB6PZWRk2KBBg6xJkyYmyfx+v7Vp08YiIyMtOzvbCZKmTZtm6enp1r59e6esefPm2VNPPWWSrE+fPibJxowZY3/+85+Dtsfv91taWppJspYtW1rdunUtPDzcmjVrZlOnTnX2/5///GdbvXq1paWlWePGjS05Odnat29vDRo0sDp16lirVq3M4/FYWlqahYeHOyGcx+Ox7Oxsq1+/vvXs2dPmzp1rixYtMq/Xa6effrrzJWKHDh2sUaNG1qJFCzv11FNNkj355JM2ceJEc7vdNnr0aHvooYcsJibGHnvsMfP7/Xbrrbeamdm9995r0r4vgd977z1bvny5LVy40O6//37r3r27TZgwwSRVCpKGDh1q4eHhzjEROCkMBFoXX3yxJScnW4MGDez555+3H3/80ZYuXWpXXHGFhYeH24QJE2zu3Lm2cuVKW7BggfXr18/S09Odk3lpX5Bz3333Wdu2bZ1zmNzcXOvRo4dTj9zcXIuLi3MeT58+3f7v//7P3nzzTYuOjrYGDRpYWFiYvf/++3bHHXeYy+Wy9PR0y83NNUn24IMPBu2PgPfee8/q1q1rJSUlzrjVq1eby+WykSNHVrv+Z555xubOnWv//ve/LTw83NLS0iw1NdVWrFhhr732mqWnp1vXrl3tz3/+836DooDAfthfvTIzM23ChAlBy5WVldnAgQMtPj7epk6dar/++qstWrTIrrnmGvN4PEFl7k9g/1en4vYH9OjRw8LDw61JkyZWXFzsjD9QoHXffffZ0KFD91unlStXBh1zZmZXX321XXfddftd7kBuvfVW8/v99re//c1++eUXy8vLc85hn3zyyaB5n3rqKevYsWPQuM8++8zi4uJs9+7dQdtT1f7797//bR6Px6655hpbuHChrVy50qZOnWoJCQk2cODAoGCyOlXth6rqVfEYMtsX6HTt2tUaNGhgr776qq1atcq++uoru+CCC5z3wIMxdOjQAwZaVW3/u+++az6fz/r162cff/yx/frrrzZ//ny79dZbnYtmDkePHj2qDKgr+uMf/2h9+/attP8CDrRdVTnkQKtv375Wv35927lzZ6VpFYOr2bNnm3TwgVag7N69ewet45FHHjG3223fffedDRs2zAYOHGjDhw+3gQMHWnFxsT344IPmdrudK4G++OILp8zi4mLbuXOnbdy40f7xj39YcnKy9enTx3w+n5mZffXVVybJRo4caZLs8ccfr7RNQ4cOtTPOOMP5kJD2XT3TqFEjk2TnnnuuJSUl2QUXXBC0H9LT061hw4bmdrstIyPDnnrqKcvOzrZ69eqZ2+22M844o9L27tixwwmXtm7daosXL3a+OapXr54lJydbo0aNrHHjxibJ/vjHPwY1Nm644QZbunSpzZ4920aOHGmdO3e2mJgY5xuauLg4i4uLs8zMTOvUqZNddtllThgpyUlMc3JyrGHDhnb//ffb6aef7jQe/H6/vfDCC0GNCo/HYykpKdaoUSOLjo62s88+2zp16lSpETVixAiLiYmxl156yaKiokyS1a9f3+Li4szlcpnP5zOv12vNmjULajy63W4z25fclv/WNDU11blKLrCu8o2sQDkH04gr31AN1C0uLq7aUKtVq1ZB2xeY72hf0VNV3RkYGBgYGBhCYzjcL8fKt38qlhF4XP6K+AkTJliHDh2qLCsqKsr69OlTKSSLiIhwrkbPyMgI+qLR7XZbamqqtWnTplIdXnzxRZNkPXv2tOHDh5sk50vmQPsyLi7OOnbsaKWlpc4Xy3fddZctWrTIKSchIcHM9p2ol2+X/fDDD07Yl5OT42znJ5984szz0ksvmbTvyrGmTZsGbet5551n9evXt0cffdTZ5kWLFjmBXc+ePe3ee++1jh07mtfrtalTp1r//v3N4/FY3bp17eabb3bOC8444wznVwAtWrSwoUOHWosWLaxt27Z23333WXJysvMl+KhRo5ztCQQPgW2fN2+e1a9f38LCwqy0tLTKc6pAoPXll1/aH/7wB4uLi7OEhARLT0+3nj17OoFhxUCrRYsW5vV6be3atUFl5ubm2qmnnuoEMnv27LFbb73V+UVBmzZtnHO38oFWdna2PfXUUwcMtMz2hTnZ2dnWoUMHKy0ttYSEBHv00UfN6/XaqFGjbOvWrc46fvjhB+dXMLGxsXbeeefZypUrnfZ+4Jc/ZmZ/+9vfrE6dOnbfffcdcP1ZWVnWsWNHW7hwoUmy5cuXm9m+K4lcLpedeeaZhxVoVVWvqgKtV155xSTZ9OnTK5XZv39/q1OnTpXn0RUdSaB15ZVXWp06dWzSpEnO+KMRaO3du9fi4uLsvffe2+9y+zNv3jyTZBMnTqw0bdSoUeb1em3NmjXOuNWrVwc9r2bm5AIVt6fi/tu5c6fVqVPH+vfvX2ld06dPN0n2yiuvHLDOVQVaVdWr4jFkZvbXv/7VXC6XLVq0KGh8aWmpdezY0bKysg4qVDucQKuwsDAos6iofGbzww8/2Nlnn21RUVGWkpJil112mW3atKna9R1MoPX+++9by5Yt7ccff6y0/wIOJ9A6pHto/f7775oxY4aGDx+uqKioStMP5feh2dnZio6ODho++OADbdy4UR999JGioqKcdbz00kvq1auX2rVrp6+//lodO3bUZ599po4dO8rr9er1119Xjx49tHr1ajVt2lRdu3Z11uP1ehUVFaXk5GR988036tChgxYsWKCGDRs6ZUdHR2v16tWSpLvvvjuoTg0aNNBLL72kuXPnyuPx6M0335Tf79fy5cvVunVrSVK3bt20efNm3XHHHUH7we12a8OGDTrjjDO0Zs0aNWnSRD/++KM2b96s5ORkzZkzR1deeaU+/vhjZ59GR0crLCxM0r77CbVv316FhYXavXu31q1bp82bN2vdunX69ddf5XK59MknnzjzR0dH64knnlDz5s11+umna/z48crJyVFmZqZ27typmJgYRUdH68Ybb9Rvv/2mBQsW6J///KduvfVWLV26VJK0ePFiSfvu5bRq1SotXLhQn376qZKSkuT3+9WmTRtdd911zvZJ0t69e7V161atXLlSRUVFOu+88/Tdd9/JzCRJYWFhcrvdzr2wLrnkEiUkJEjadw+J7du3KycnR40bN1ZSUpL27NmjzMxM5/l3uVyKjo5WZGSkioqKnOc2Pz9fw4cPlyRnXXv37nWmX3LJJWrevHmlY++hhx5y/o+JiZEk5zfPERERzu/jo6KiFBkZWeXx+/PPPzvrdLvdzu+1D+beZi6X64DzVCdw3wAAABB6Am2HQ1W+/VOxjMDjDRs2OOPGjRunhQsXVllWYWGhPvzwQxUUFASN3717t5YtWyYz05o1a1RcXOxMc7vd2rp1q77//nu53e6gOlx++eWSpM8//1x///vfJe1rr5SWlurMM8+UJG3fvl1xcXGKjY3V6NGjJUkPP/xw0D2Ctm7dqujoaF1//fUqKytz2pnTp0932nc33nij02afPXu2JCkyMlJff/21UlNT1alTJy1fvty5F+bYsWMVHR2t/Px8uVwup12Xnp6uwsJCJScnKz09XS6XSyNHjlRJSYmmT5+uW2+9VXv37g3a75LUrl07zZo1S5LUtGnTSvs2OTlZJSUl2rt3r2677bZK06+77jpFR0dr4sSJWrt2rXw+n7Od5ZU/p7r88ssVExOjzz77TF988YU8Ho++/vprjRw5UtK+9nB5K1eu1EknnaR69epVKjcsLEwej0eSdNNNN+nzzz/X6aefrvT0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UZWysjKVlJSorKysUlAXKOfnn3/W999/HzTt/PPPd/7PycmRmem6667Txo0btX37drlcLj3//POSpNdeey3oJ4eBcps2beq0jQLtul27djlXYf3nP/9R8+bN9fvvvzshXuDKqwceeEAzZ85Uamqq+vfv77T3PvvsM4WHhysuLk69e/fWkCFDdO+990qS2rdvr4iICEn7fkFwySWXaMaMGVq8eLFuvvlmxcXFqbS0VOvWrau0n0pKSlRcXKzi4mKtW7dOY8aMCbqSqbi4OOgKsLCwsKCrVqq6yqR169aVfjly5plnOu3wzp07q2vXrs55g9frVcuWLbVgwQLnVxjffPONxowZo44dO2rRokV65JFH5Ha79cUXX+j777+X3+/XQw895Fw5Ju27LUdgH7/99ttBywdO9Pfs2RN0zjRs2DBJ0tVXX60bbrhBbdu21erVq7V9+/ZK+ysnJ0dff/21/H6/LrvsMi1atEjLli3TJZdcot9//11t2rRxtjknJ0fNmjXT9ddf74x74IEHKrXLA7+aiIyM1BtvvKGff/5Zb731ljP9p59+ci6aCGxLYCh/XlOd33//3flVUHWaN28etB/LC4wP3BLl2Wefddb//vvvH3D9h+qyyy5TZmZm0O1WAipu//XXX6/zzjvvkPZJUlKSdu3aVen941B+chg4F6/qPWjdunUqKCiodAuZis9D+VxgfwLl7O/5CcxTcV8czJVFNX18lP9F27PPPnvA9R9IoNwDZTk7d+5Uv379Kl1V98svv6h79+6SFPRaDOyfilfmBd7PPvnkE82bN09+v18ej8cJwTt27KihQ4ce8XYdUqCVmJioPn36aNKkSVX+HjfwTc3BqPiTw0WLFum0005TYmKiunXrpoKCAmcdl1xyiWbOnKmFCxeqdevWysvLU7t27ZSXl6eSkhINHDhQc+fOVWZmppYvX64vv/zSWU9JSYkKCwu1adMmZWdnKy8vTw0bNnQuU77kkku0c+dOZ4ffcsstQXX69NNP1a9fP+Xk5Gjbtm1q0qSJ82H51VdfSZK++OILJSUl6dFHHw3aD2VlZUpLS9P69esVGxurAQMGyOVyKTk5WZs2bVKPHj2Um5urXr16Ofu0/Dc+999/v1wulxo1aqTBgwcrNTVV9evX16JFizRq1ChJwZeX79y5U5MnT5aZqW7dusrMzNQpp5yi33//XXFxcZL2fduSmJioFi1aVPuTw/Hjx+uzzz4L+i174BuavLw89e/fX+Hh4frss8/k8/nk9Xqd8Ck9PV35+fnOTzql/95jKiUlRT6fT3feeacaNGggad/P+iIjI7Vs2TL99a9/1Z49e+R2u7V3715169ZN0r4P+8WLFzu/gQ948MEHncusL774Yklyrkzbu3ev2rVr5zzPgeejQYMGQYFb4BgLfAtpZs43JcXFxZW+3azqvhWBRk918+xPTf3M4Fg72G+dAQD4X3QobeIj+ZKoVatWzs/wyrc/CgsL1bZt2yoDrbi4OKe9VF75n4S53e6gNkrdunU1atQohYeHy+1266yzznKmBdbRsWNHPfPMM872hIWF6YcffpAkJSQkaNeuXVq4cKFz76c+ffpoypQpTjmBNm4gqAhsT79+/Zzg4plnnnGuYAp8+bp792717t1bK1as0NatW+V2u50rtdq0aaMzzzxT4eHhiomJcb589Hq9io6O1vbt27V37141atRI7777riIjI3X22WfrqaeeksfjUWRkpOLj49WxY0c1bdpUGzZscH5yuXHjxkr7cOPGjfJ6vfJ4PBo3bpxSUlKUmprqXMk0ZcoUFRYW6o9//KPq1aun4uJiNW7cWE2bNlXTpk2dfVf++Fm1apVSUlKceWJjYxUdHe18WT1q1CjNnj1bq1atkrTv55bLli1TbGyszjzzTJ155plq3bq10w5v2LCh+vbtq7KyMhUXF6tJkybOc1T+aiu3262YmBjFxsaqsLBQKSkpzi9FAvdnqviTw++//15NmzZVs2bNlJaWprKyMtWvX19er1fjxo0L2q4VK1bovffe0+7du3XDDTc42xcXF6clS5aoc+fOzriuXbtq165dSkxMdMYFruQrLycnx/kVSWlpqczMabMuXrxYM2fOdO6BHNiWwFDxS+yqLFmyRO3atdvvPIMHD9Yvv/yid999t9K0cePGqU6dOs7rp379+s76K/56qSa43W6NHTtWTz/9tHN8BFTc/sTERMXExBzSPgkEiBUvZjiUnxwOHjxYO3fu1DPPPFOp/Mcee0xer1cDBgxwxgWu4iv/PARygQPp3bu3EhMTNW7cuErTpk+frl9++cU5p6y4Lyqe71VUVb2qMnjwYM2cObPSfbLKyso0YcIEZWVlOffXyszMdNZfv379A27fgfTu3Tsos6go8Pps3769fvzxRzVs2DBoHzRt2tT5sqb8azGwf8q/T5V/P5s4caIWL15cKbx99dVX9Ze//OWIt+uQezlcsWKFpaWlWVZWlr3xxhu2bNkyy8vLsyeeeMJatmxpZmbr16+3hQsXOt34fvrpp7Zw4ULbsmXLQZXdtGlTi4+Pt6ZNm9rjjz9uf/rTn8zv91tkZKTFxMRYq1at7N5777VGjRpZ+/bt7auvvrLTTjvN6VHF7XbboEGD7Pbbb7emTZvaeeedZ36/31577TXzeDx2yy23mCT7/fffzczsjjvusLCwMDv55JMtLCzMrrvuOps4caL17dvXbrzxRsvMzLTWrVtbcnKyvf3225acnBzUc0xYWJi1bNnSJFm9evWsadOmdu2111p4eLilp6dbgwYNrH///nbLLbdYVFSUhYWFWUREhKWlpVlcXJwlJSWZ2+22lJQUS0pKskGDBpkkGzt2rEVFRVlcXJzl5OTYySef7PRmsWfPHuvSpUtQr37dunUzt9ttderUsRtvvNGys7Pt9ttvN2lfb4Iul8vq1q1rV111lTVv3tw6dOhgl1xyiS1cuNDpYULa1131lClT7IwzzrBhw4Y5y4aHh1vdunWdbpKTkpIsMjLSwsLCzOVymcvlsu7du9s555xjnTt3dnqkCQy33367hYeHm9vtrrKXn0BPOIEhOjra+X/Tpk1Ol82B9UVFRdlDDz3k9J4TmBYop3z31VX1SFhxSElJCXrctm3bSj0AHajb7PJDVd1+H8xwOD0gBbbpULsVZ2BgYGBgYNg3HG4PhMdiqK7tEuiJsGLdU1JSgtpRFYeIiIhK484//3yT9vVe3bVr10rTA70LhoWFBdWnfNujRYsWlpOTY9nZ2da+fXunvHPOOcciIiKsdevW5vF4LCwszB544AGnnRwo9/fff7fc3FxzuVzWsWNHk2QPPvig0xt5YDt9Pp/VrVvXJFlWVpbTq3jjxo2tfv36Tn1uuukme/XVVy0yMtIyMjIsOTnZcnJyLD093ZKSkqxFixbm8XgsLS3NIiIizOv1Wr9+/czj8Vh2dralpqZa165d7dtvv7XVq1dbWlqa5eTkmNvtNrfbbR07drRGjRpZy5Yt7bTTTjNJNnDgQGvWrJm53W6766677OGHH7aYmBgbN26c+f1+u/XWW83M7J577jFJ1rVrV/u///s/mzx5smVmZtpDDz1k3bt3d3o5bNSokZ1++uk2ZcoUa9SokfXo0cMaNWpkX375pUn7egobMmSIhYeHmyQbPHiw1alTxxo0aGAvvPCC/fjjj7Zs2TK78sorzefz2T333GPffvutXXDBBZaWlmYdO3a0+Ph4++CDD+zhhx82KbiXw/79+9utt95ql156qcXHxzvnbRV72bvzzjtt7ty59tZbb1lUVJTzPLzwwgt2++23m8vlsvT0dKe39Dp16pjL5bKLLrrIfv31V5s9e7aNGDHCvvzyS3O5XLZq1Sqn7OnTp1t4eLjdc889Va5/xYoV9vDDD9u3335rb775pvn9fktLS7PY2FhbsGCBvfbaa5aenm5du3a1u++++7B6OVy5cmWlelXVy2FZWZldeOGFlpCQYM8++6ytXLnSFi9ebNdee615PJ5Kvd5Vp2IvdU8++aT17Nmzyu0vr0ePHkE9c5qZnXbaaRYeHl7jvRyambVv396efPLJ/S53IDfffLP5/X577LHHbPny5fbTTz/Z3XffbW63u1Lvh7Nnz7bo6GgrLCx0xk2cONE6dOhQaXuqep5ff/11CwsLs2uuucYWL15sK1eutGeffdYSEhJs4MCBB9XDYFX7oap6VTyGzMx2795tnTt3tvT0dHvttdds9erV9vXXX9sFF1xgUVFRNm/evAOu36xyb4B33nmnDRky5IDb//bbbzvvcx9//LGtXLnSvvnmG7v99tvtoosuMjOztWvXWnJysg0cONC+/vprW758uc2YMcOuuOIK27t3b5X1OZheDgOq2n/VbdfBOORAy8xs3bp1Nnz4cMvMzDSfz2f169e38847z2bPnm1m+3ZgVR+eB7ORgbLr169vbrfbCajq1KljrVq1cj5MY2NjzeVy2dixY62kpMT27NljY8eOdbobLt84SUhIsD/96U9WUlJiJ598so0bN85cLpfdf//9znpfffVV6969uxO4uN1u8/l8lp2dbTk5OXbOOefYHXfcYYMHD7Y77rjDzj33XCdMSk5ODlpnoN5hYWHWtm1bCw8Pt9dff93q16/vBEzdunWzO++80xo3blxp2cD/ffv2tZdeeslSU1PN5XJZ+/btzeVy2f/93//ZE088YS1atLA77rijygZZoA5xcXEWHx9vTZo0sRYtWlhUVFSVz00gfAqsKyEhwWns1KlTx9xut/n9fktMTKyykRUbGxsUrnXt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/SkqKrIHH3zQZsyYYRdddJGzT6OiopxvNb///vugZXJzc23o0KF27bXX2h133GHXXHNN0PRAWBcWFmaXXXZZ0D6cOHGi/fLLL9asWbOg43X27NmWkpLinMB89NFH9vrrr9v8+fODyi4sLDSfz2fXXXedc4w9//zzzs9JR44caZs2bbJHHnnE2f/169c3s32NzMDJQvfu3c3tdpvH47FWrVo5Vy2GhYXZxIkT7aGHHrJRo0aZJLvqqqucMHratGlBDfEBAwZYRESEud1ui4qKMjOzU0891WJjYytdabhw4UJ78803LSwszP70pz9ZZGSkpaSk2J133unMUzHcDPzUODEx0Xbs2GFbt251fpIQmKd58+Z2//33OydBbrfbkpKSbPz48XbWWWfZpk2bzO12W0JCQtCJUlVDo0aNzO/3B13p6Pf7nZ/p7m8IHC8dOnQIutKw4jp9Pp8TfB/JCWFgaNWqld12220WGRnphOAej6fSCaDX6zWv12tt27atVEbDhg0rjcvOzramTZvaAw88YK1bt3Z+Ih34mUhgvi5duljPnj2rvZK1/OByuWzcuHHV7r+a+vmvx+OxnJycGgmh/X6/derUyc4555yg5zIlJcX5SXj55zYzM9OaNGliJ510UpU/d4qJibHzzjvPuXI6UN927dqZz+ezk046qdp9dyj1/sMf/mDJycnOc5+ZmVltQOLxeOziiy+2O++8s8qft7dq1cp69+7tTAscZwdTj+zs7CN+DgJXWefm5tpDDz1kV155ZdBPqKpaJvBF1cGWH9imoUOHWu/evZ339a1bt1qnTp2q3d4DPS9paWn2hz/8wXkezj777APWJ3C1S8V1BOpX8WdtMTExdumll1b787rAUK9evYPe5zfffLONGjXK2b+PPPKI3XjjjU7AU/FYKn9MhIWFWaNGjaot2+PxmMfjsZKSEqftVt3QqlUrp11hZpaenl7l/grsX7fbbaeccoozPrDvyp9ITp061f72t78571nln1ufz2ejRo2q9v0sLi7OsrKynNf94sWLrVevXk5IVvEKj0A7tGL78+yzz3b25aOPPhr0WT979mznCotAezLwuR74lr/88gsXLrS//e1vzjETqFv59nBubq7Tlgm05/x+vzVr1szMgtuTgTLq16/vXDkUFRVl99xzj9NeC4QR5esVaM+53W6rX7++eb1ei4qKsuHDh9vHH3/sXNHUu3fvoOMn8MuMigLtyPLt36ioKPP7/dUGEllZWc77fvntL29/7dnDUbFdHficNav6fKCq7TqQ8sdcVYHWgc4HHnroISsoKDis9a9evdqioqKCtqsq5fdD+fZ5VfUqf1xt27btgHU4GAdbz8PZ/0ei4mu1vPKv9aPpm2++sVdeeaXKaRXfo+677z6nTT9p0qQaq0NV+6G6epV/D6opn376qfMedKBA62hs/9FysNtVFZfZIfaTiaNu9+7dWrt2rSQpOjo66AbrR8PGjRtVUFAgad9NP7/55hvt2LFD/fr1O+SyVq1apXfffVcjRoxwxu3YsUP5+fnauXOniouLlZiYqPj4eCUlJR1WfefMmaMdO3aoc+fOKigo0JYtWxQREaHIyEjVrVvXuVnd448/rgEDBlS6mfzevXudGyP6/f5K0ysK1F+SPv30U2VnZ6tz5877nS+wfePGjdNll12mvXv3avfu3U79o6KilJycrOnTp+umm25S/fr1q+wRae/evXrkkUf0xz/+8aBuVlmV5cuX6z//+Y/mzJmj+++/v9L0bdu2afLkyfL5fBoyZIjTM1Bg2ddee01Lly7VlClTqrwh4s8//6yXX35Zl19+uXO8rl69WiUlJfrqq68UHR0d1MtRec8++6zy8vKcnnkkaejQoWrcuLHat2/vHIPLly+XtO8Gs40aNdLatWud/fn++++rZcuWaty4saKjo+Xz+bRx40b9/e9/16hRo9SgQQPdfvvt+uabb3T11VcrJiZGderUUUFBgX799VenC/KrrrrK6S01sJ7JkydrxYoVuvLKK7VkyRJ9+OGH6t27twYMGCCfz6ebbrpJ7du3V0pKil599VW98MILmj17tv7xj38oOTlZLpdLbrdbixcv1l133aW6detqzpw56ty5s0466SStXbtWq1ev1rPPPqsmTZqoa9euOu2007Rq1Sp99dVX+uSTT9SwYUOVlpbq4osv1u+//67HH3/cuYHizp07NWvWLP3www9KT0/XueeeqxtvvFH169dXkyZNtGvXLg0aNEhz585VeHi4WrZsqYKCAjVs2FDvvPOOdu7cqcLCQtWvX1/du3eXx+NRYWGhGjVqpLi4OPn9fs2YMUObNm3SwoULdeqpp6qsrExr165VcXGx4uLidOqpp6q0tFRffvml6tWrpw0bNqhv376aOXOmVq9erU2bNjk9S0VHR+u2227Tpk2bVFpaqrS0NA0ZMkQLFizQGWecoSuuuEJFRUVau3at9u7dq61btyo5OVl+v18vv/yycwPKhg0bavLkyWrcuLHy8vK0ZMkSnXzyyerYsaPatGmjsLAwvfPOOxo/fryuvPJKLV26VA899JBatGihjRs3atWqVXrjjTd055136oknnlCfPn10991369FHH1WnTp305ptvqri4WLNnz9bKlSsVFham7du3a+3atWrcuLGzjzt37qyLLrpIiYmJmjNnjnbv3q2ePXvqjDPOkNfr1S+//KKVK1dq06ZNuvzyy/X777/rvffek8/nU3h4uOrVq6elS5fq5JNPVmlpqbZv365+/frJzLRp0yb9+9//VkxMjO6//37t2bNH06ZN08KFCxUWFqaEhAR169ZNe/fu1auvvqq6detq0KBBevTRR5Wenq5ly5bJ5/MpKytLfr9fvXv31g8//KAbb7xRpaWlmjRpknJycpxjrGXLltq9e7dyc3OVmpqqvXv3atKkSdq9e7feeustLVmyRJ988on69eunXbt2yev16uGHH1ZCQoKkfe9rP/74o4YNG6YffvhBK1asUNu2bfXyyy/L5/Np6tSpys3N1caNG/X2229r3rx5uuCCC9SvXz8VFBRo586deuqpp9SrVy+1adNGP//8s7799lvt3r1b119/verVq+e8N/n9fr3wwgt64YUXdP7552vZsmXauHGjWrRooU2bNum9997Txo0bNX78eF100UW6+eabFRsbq8aNG+uOO+5QZGSkpk6dqiFDhqiwsFC5ubmaPXu2brrpJq1Zs0affvqpzjzzTHXu3FkbNmzQqFGjlJqaqgULFujjjz/W7Nmz1bJlS23btk0tW7bU559/rr1792rx4sVKSUlRfHy80tLS5PV6tXLlSmVmZsrlcqlly5Zau3atsrKynK6/N27cqJ9++kl79+5VTEyMCgsLtXv3bqd3oPnz5+vqq69WRESEPv30U3300Udavny5kpOT1bNnT23ZskXt2rVTUlKStmzZoqZNm6q0tFR169ZVfHy8XnjhBV122WXOvgu0L5577jm1b99e//nPf7R3717Vq1dPLVq0UGxsrLZv3665c+fKzBQZGam5c+eqS5cuOuWUUzRv3jyn16vo6Gh9/vnnWr58uTZv3qz09HSlpaUpIyNDcXFx8vl8KigoUG5uruLj43X66adr7969io2NVXJysuLj47Vr1y4988wz2rRpk3777TfdfPPNOvnkk7Vu3Trl5+frm2++0XfffadOnTopKSnJeR9p0KCBduzYoe3bt2v9+vUKDw/XlClT1KFDB0VEROj777/X2WefrVNOOUX16tWT2+12On9JTk6Wz+fT2rVr9dVXX2n16tVOe6Ju3bpOL9LFxcWqW7euvF6vli1bpmnTpunMM89U3bp1FRsbq7KyMi1ZskQNGzbUhRdeqL179+q2225Tt27dlJaWJp/Pp8LCQr300ku6+uqrlZ6eHtTeWLx4sfLz8/XTTz/J5/MpPj5e7du3V1pamgoKCpSSkiK/36/ly5drw4YNKikpUXp6ujIyMuTz+ZxyAm2PDRs2yOfzBQ3x8fHatm2b1q5dq7KyMsXExDg3TU9KSlJ8fLzT+U3jxo1VWFhYqR1zIOU/jyvW7WBUtXxgm/bs2ePcCLyq9vCB2nPl2w5ut9vZ1sB+kfYdD4GOkwLKt+d2797ttH0yMjJUWlrqtNHDw8O1du1abdu2Tb///ruys7OVkJBQqR5VtQ8rtmsqWr16tbNcenq6YmNjD3n7D1XgfGDv3r0qLi5WZGTkfsutarsOJNA+lPYdc0fSOdKhrv9g91fF86L99Vhak9tzqPU8nP1/JI70tX6s/f7770Hv+xVf54frUPbDgV7nh+Ngc4Kjtf1Hy5HkHwRaAAAAAAAACClHHiMDAAAAAAAAxxCBFgAAAAAAAEIKgRYAAAAAAABCCoEWAAAAAAAAQgqBFgAAAAAAAEIKgRYAAAAAAABCCoEWAAC1ZNOmTbrhhhuUkZEhv9+vtLQ09enTR1988YUkqWHDhnK5XHrllVcqLZudnS2Xy6Xnn3/eGdewYUM9/vjj1T4ub9WqVXK5XFUO8+fPlySVlpbqr3/9q1q2bKmIiAglJiaqc+fOevbZZ2tsHwAAAACHw1PbFQAA4H/VgAEDVFxcrBdeeEGNGzdWfn6+Zs2apS1btjjzpKenKzc3V4MHD3bGzZ8/Xxs2bFBUVNQR12HmzJnKzs4OGlenTh1J0gMPPKBnnnlGTz31lDp27KiCggJ9++232rp16xGvFwAAADgSBFoAANSCbdu26bPPPtOcOXPUo0cPSVJmZqZOPvnkoPkuvfRSTZgwQb/99pvS09MlSdOmTdOll16qF1988YjrUadOHaWlpVU5bfr06brxxhv1hz/8wRnXtm3bI14nAAAAcKT4ySEAALUgOjpa0dHRevvtt1VUVFTtfKmpqerTp49eeOEFSdKuXbv06quv6qqrrjrqdUxLS9Mnn3yiTZs2HfV1AQAAAIeCQAsAgFrg8Xj0/PPP64UXXlB8fLy6deumu+66S99//32lea+66io9//zzMjO98cYbatKkiXJycmqkHl27dnXCtcAQMH78eG3atElpaWlq06aNrr/+en3wwQc1sl4AAADgSBBoAQBQSwYMGKB169Zp+vTpOvvsszVnzhy1b98+6EbvkvT//t//086dO/Xpp59q2rRpNXp11quvvqpFixYFDQFZWVlasmSJ5s+fr6uuukobN25Uv379NGzYsBpbPwAAAHA4CLQAAKhF4eHhOuuss3TPPffoyy+/1BVXXKH77rsvaB6Px6MhQ4bovvvu01dffaVLL720xtafnp6upk2bBg3lud1uderUSbfccov+/e9/6/nnn9dzzz2nlStX1lgdAAAAgENFoAUAwHEkKytLhYWFlcZfddVVmjt3rs4//3wlJCTUQs32ycrKkqQq6wgAAAAcK/RyCABALdiyZYv+8Ic/6KqrrlKbNm0UExOjb7/9Vo8++qjOP//8SvO3atVKmzdvVmRk5CGtZ+3atUE/I5T29aZYvh4bNmwImh4fH6/w8HANHDhQ3bp1U9euXZWWlqaVK1dq9OjRat68uVq2bHlI9QAAAABqEoEWAAC1IDo6Wp07d9aECRO0YsUKlZSUKD09Xddcc43uuuuuKpepU6fOIa/nscce02OPPRY07h//+IdOPfVUSVKvXr0qLfOvf/1LgwcPVp8+ffSvf/1LY8eO1fbt25WWlqaePXvq/vvvl8dDEwIAAAC1x2VmVtuVAAAAAAAAAA4W99ACAAAAAABASCHQAgAAAAAAQEgh0AIAAAAAAEBIIdACAAAAAABASCHQAgAAAAAAQEgh0AIAAAAAAEBIIdACAAAAAABASCHQAgAAAAAAQEgh0AIAAAAAAEBIIdACAAAAAABASCHQAgAAAAAAQEj5/2z63vjGvKGaAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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rG9L8zF16tTg1FNPDbZs2RJZPv7440h7W5qLbdu2Bd27dw+uueaaYOnSpcFf//rXYP78+cH69esjfdrKZ2h1dXXUe2LBggUBECxatCgIguZ9XxiKjoCzzz47KCwsjLyur68PsrOzg+Li4hhWdWR9MRQ1NDQEmZmZwa9//evIupqamiApKSn4/e9/HwRBELz77rsBELz55puRPi+++GIQCoWCjz76qNlqPxKqq6sDIFi8eHEQBJ+NPSEhIXjqqacifdauXRsAQVlZWRAEn4XMuLi4oLKyMtJn+vTpQXJyclBXV9e8A2hixx57bPDf//3fbXYetm/fHpx00knBggULgn/6p3+KhKK2Nh9Tp04NTj/99IO2tbW5mDRpUnDeeecdsr0tf4beeOONwQknnBA0NDQ0+/vC02dNbM+ePZSXl1NQUBBZFxcXR0FBAWVlZTGsrHlt2LCBysrKqHlISUkhLy8vMg9lZWWkpqYycODASJ+CggLi4uJYunRps9fclGprawFIS0sDoLy8nL1790bNR69evcjNzY2aj759+0Y9dHTYsGGEw2HWrFnTjNU3nfr6embPns3OnTvJz89vs/NQWFjIiBEjosYNbfN98f7775Odnc3xxx/P6NGjqaj47BvU29pcPPfccwwcOJDvf//7pKen079/f377299G2tvqZ+iePXv43e9+xw9/+ENCoVCzvy8MRU1s69at1NfXH/A07YyMDCorK2NUVfPbP9Yvm4fKykrS09Oj2uPj40lLS2vVc9XQ0MCECRM499xzOe2004DPxpqYmHjAd+x9cT4ONl/721qTVatW0alTJ5KSkrjhhht45pln6NOnT5ubB4DZs2fz1ltvUVxcfEBbW5uPvLw8Zs6cybx585g+fTobNmzgm9/8Jtu3b29zc/HXv/6V6dOnc9JJJzF//nzGjRvHj3/8Yx5//HGg7X6Gzpkzh5qaGq655hqg+f+NHDVPtJZaisLCQlavXs1rr70W61Ji5pRTTmHFihXU1tbyP//zP4wZM4bFixfHuqxmt2nTJm688UYWLFhA+/btY11OzA0fPjzyc79+/cjLy6N79+788Y9/pEOHDjGsrPk1NDQwcOBA7rzzTgD69+/P6tWrefjhhxkzZkyMq4udRx99lOHDhzfZt94fLo8UNbGuXbvSrl27A66Mr6qqIjMzM0ZVNb/9Y/2yecjM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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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XnvNc7u9vd1yOp3Wr3/9a8+6pqYmKzIy0nrhhRf8Pg9ndvzgxIkTqqqqUm5urmddSEiIcnNzVVFRYeNkZmtubpYkJSQk2DyJmQoKCjR+/Hiv/67hO2+++aaGDRum73//+0pMTNSQIUP0hz/8we6xjHP99derrKxMn376qSTpb3/7mzZv3qyxY8faPJnZ9u3bJ5fL5fXvR1xcnLKysgLye9GIT1AONo2NjWprazvjE5yTkpK0e/dum6YyW3t7u2bPnq2RI0fq2muvtXsc47z44ov66KOPtH37drtHMdbf//53rVixQkVFRbr//vu1fft23X333YqIiNCUKVPsHs8Y9913n9xutzIyMhQaGqq2tjY98sgjys/Pt3s0o7lcLkk66+/F09v8idiBEQoKClRTU6PNmzfbPYpx9u/fr1mzZmn9+vWKioqyexxjtbe3a9iwYXr00UclSUOGDFFNTY1WrlxJ7PjQyy+/rOeff16lpaXq37+/qqurNXv2bKWkpPA8G4yXsfyge/fuCg0NVX19vdf6+vp6OZ1Om6YyV2FhodauXav33ntPV199td3jGKeqqkoNDQ36xje+obCwMIWFham8vFxPPPGEwsLC1NbWZveIRkhOTla/fv281mVmZqqurs6micx0zz336L777tPkyZM1YMAA3X777ZozZ46Ki4vtHs1op3/32fV7kdjxg4iICA0dOlRlZWWede3t7SorK1N2draNk5nFsiwVFhbqtdde08aNG5Wenm73SEYaNWqUPv74Y1VXV3uWYcOGKT8/X9XV1QoNDbV7RCOMHDnyjI9O+PTTT9WjRw+bJjLTV199pZAQ7199oaGham9vt2miy0N6erqcTqfX70W3263KysqA/F7kZSw/KSoq0pQpUzRs2DCNGDFCy5Yt09GjR3XnnXfaPZoxCgoKVFpaqjfeeEMxMTGe133j4uIUHR1t83TmiImJOeM6qK5du6pbt25cH+VDc+bM0fXXX69HH31UP/jBD7Rt2zatWrVKq1atsns0o0yYMEGPPPKI0tLS1L9/f/31r3/V0qVLddddd9k9WqfX0tKivXv3em7v27dP1dXVSkhIUFpammbPnq2HH35Yffr0UXp6uubPn6+UlBRNnDjR/8P5/f1el7Hly5dbaWlpVkREhDVixAhr69atdo9kFElnXVavXm33aMbjref+8dZbb1nXXnutFRkZaWVkZFirVq2yeyTjuN1ua9asWVZaWpoVFRVl9erVy/rlL39ptba22j1ap/fee++d9d/kKVOmWJb1r7efz58/30pKSrIiIyOtUaNGWbW1tQGZzWFZfGwkAAAwF9fsAAAAoxE7AADAaMQOAAAwGrEDAACMRuwAAACjETsAAMBoxA4AADAasQMAAIxG7AAAAKMROwCMlpOTo9mzZ5+xfs2aNYqPjw/4PAACj9gBAABG41vPAXRqOTk5nm9f/9Of/qTw8HDNmDFDixcvlsPhsHk6AMGAMzsAOr1nn31WYWFh2rZtm373u99p6dKl+uMf/2j3WACCBN96DqBTy8nJUUNDg3bu3Ok5k3PffffpzTff1CeffKKcnBxt2bJFERERXj936tQpRUVFqampyYapAQQSZ3YAdHrXXXed10tW2dnZ2rNnj9ra2iRJ+fn5qq6u9loWL15s17gAAoxrdgAYLy4uTl//+te91iUmJto0DYBA48wOgE6vsrLS6/bWrVvVp08fhYaG2jQRgGBC7ADo9Orq6lRUVKTa2lq98MILWr58uWbNmmX3WACCBC9jAej07rjjDh07dkwjRoxQaGioZs2apenTp9s9FoAgwbuxAHRqOTk5Gjx4sJYtW2b3KACCFC9jAQAAoxE7AADAaLyMBQAAjMaZHQAAYDRiBwAAGI3YAQAARiN2AACA0YgdAABgNGIHAAAYjdgBAABGI3YAAIDR/g99zKYyGxs+RQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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y8u1c+dO7dy5U9LPNz7v3LlTx44dU3l5uaZNm6YtW7bou+++U1ZWloYNG6YbbrhBaWlpkqSOHTtq8ODBGj9+vLZt26bPP/9cGRkZuvfee3knFgAAkFTLl7HOnDmjv/3tb1q7dq26du2q4OBgt/ZXXnmlWuN88cUXuvXWW137F15aGjNmjN58803t2rVLb7/9tkpKSpSYmKhBgwbphRdecPusncWLFysjI0MDBw5UQECARo4cqddff7020wIAABaqVdjZtWuXunfvLknavXu3W1tNblYeMGCAjDGXbF+9evUVx4iOjuYDBAEAwCXVKuysX7/e03UAAAB4Ra3u2QEAAKgvanVl59Zbb73sy1Xr1q2rdUEAAACeVKuwc+F+nQsqKyu1c+dO7d69+6IvCAUAAPClWoWdV199tcrjs2fPVnl5+VUVBAAA4EkevWfngQce8Nj3YgEAAHiCR8NOdna2wsLCPDkkAADAVanVy1gjRoxw2zfGqKCgQF988YWeeeYZjxQGAADgCbUKO5GRkW77AQEBat++vZ5//nkNGjTII4UBAAB4Qq3CzsKFCz1dBwAAgFfUKuxckJOTo3379kmSOnfurN/85jceKQoAAMBTahV2iouLde+992rDhg2KioqSJJWUlOjWW2/Vu+++qyZNmniyRgAAgFqr1buxJk6cqFOnTmnPnj06efKkTp48qd27d6usrEyTJk3ydI0AAAC1VqsrO6tWrdLatWvVsWNH17FOnTopMzOTG5QBAIBfqdWVHafTqeDg4IuOBwcHy+l0XnVRAAAAnlKrsHPbbbfpD3/4g/Lz813H8vLyNGXKFA0cONBjxQEAAFytWoWd//mf/1FZWZlatmypNm3aqE2bNmrVqpXKyso0f/58T9cIAABQa7W6ZycpKUlffvml1q5dq/3790uSOnbsqNTUVI8WBwAAcLVqdGVn3bp16tSpk8rKyuRwOPQf//EfmjhxoiZOnKhevXqpc+fO+uyzz7xVKwAAQI3VKOzMmzdP48ePV0RExEVtkZGRevTRR/XKK694rDgAAICrVaOw89VXX2nw4MGXbB80aJBycnKuuigAAABPqVHYKSoqqvIt5xcEBQXphx9+uOqiAAAAPKVGYadp06bavXv3Jdt37dqlhISEqy4KAADAU2oUdm6//XY988wzOnPmzEVtP/30k2bNmqXf/e53HisO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VFFR4dovLS2VJJWVlXm0tlOnTulUca7OnPq3AspLFeA8p/IT+QoIbSjn2TMKcAS6/gww53Xw4EGdOnVKhYWFOlWcK0k6eDBCp06dumjswsJCnav46f/6HKyyT21Ude7q1ONPLtRbeeZHnSk7oYMHIyTJr+dQVc2/rrE6fXytus/duvq38NbPCYAr++XP36lTpzz+O1b6/7+3jTGX72jquby8PCPJbN682e34tGnTTO/evat8zKxZs4wkNjY2NjY2Ngu23Nzcy2aFen9lJyYmRoGBgSoqKnI7XlRUpPj4+CofM2PGDE2dOtW173Q6dfLkSV1//fVyOBweq62srExJSUnKzc1VRESEx8aFO9a57rDWdYN1rhusc93w5jobY3Tq1CklJiZetl+9DzshISHq0aOHsrKyNHz4cEk/h5esrCxlZGRU+ZjQ0FCFhoa6HYuKivJajREREfwg1QHWue6w1nWDda4brHPd8NY6R0ZGXrFPvQ87kjR16lSNGTNGPXv2VO/evTVv3jydPn1aDz30kK9LAwAAPmZF2Lnnnnv0ww8/6Nlnn1VhYaG6d++uVatWXXTTMgAAuPZYEXYkKSMj45IvW/lKaGioZs2addFLZvAs1rnusNZ1g3WuG6xz3fCHdXYYc6X3awEAANRfVnyCMgAAwKUQdgAAgNUIOwAAwGqEnRrKzMxUy5YtFRYWpuTkZG3btu2y/ZcuXaoOHTooLCxMXbp00SeffOLWbozRs88+q4SEBDVo0ECpqak6ePCgN6dQL3hynSsrKzV9+nR16dJFDRs2VGJioh588EHl5+d7exp+z9PP51967LHH5HA4NG/ePA9XXf94Y5337dunO++8U5GRkWrYsKF69eqlY8eOeWsK9YKn17m8vFwZGRlq1qyZGjRo4PqiadRsrffs2aORI0eqZcuWl/0/oab/fjXike9suEa8++67JiQkxLz11ltmz549Zvz48SYqKsoUFRVV2f/zzz83gYGBZu7cuWbv3r1m5syZJjg42Hz99deuPi+++KKJjIw0y5YtM1999ZW58847TatWrcxPP/1UV9PyO55e55KSEpOammree+89s3//fpOdnW169+5tevToUZfT8jveeD5f8MEHH5hu3bqZxMRE8+qrr3p5Jv7NG+t86NAhEx0dbaZNm2a+/PJLc+jQIbN8+fJLjnkt8MY6jx8/3rRp08asX7/eHDlyxPz1r381gYGBZvny5XU1Lb9U07Xetm2befLJJ80777xj4uPjq/w/oaZj1hRhpwZ69+5t0tPTXfvnz583iYmJZs6cOVX2v/vuu83QoUPdjiUnJ5tHH33UGGOM0+k08fHx5qWXXnK1l5SUmNDQUPPOO+94YQb1g6fXuSrbtm0zkszRo0c9U3Q95K11/v77703Tpk3N7t27TYsWLa75sOONdb7nnnvMAw884J2C6ylvrHPnzp3N888/79bnpptuMn/84x89WHn9U9O1/qVL/Z9wNWNWBy9jVdPZs2eVk5Oj1NRU17GAgAClpqYqOzu7ysdkZ2e79ZektLQ0V/8jR46osLDQrU9kZKSSk5MvOabtvLHOVSktLZXD4fDq14T4M2+ts9Pp1OjRozVt2jR17tzZO8XXI95YZ6fTqY8//ljt2rVTWlqaYmNjlZycrGXLlnltHv7OW8/nvn37asWKFcrLy5MxRuvXr9c333yjQYMGeWci9UBt1toXY/4aYaeajh8/rvPnz1/0qcxxcXEqLCys8jGFhYWX7X/hz5qMaTtvrPOvnTlzRtOnT9d99913zX4fjrfW+c9//rOCgoI0adIkzxddD3ljnYuLi1VeXq4XX3xRgwcP1qeffqq77rpLI0aM0MaNG70zET/nrefz/Pnz1alTJzVr1kwhISEaPHiwMjMzdcstt3h+EvVEbdbaF2P+mjWfoAxUR2Vlpe6++24ZY/Tmm2/6uhyr5OTk6LXXXtOXX34ph8Ph63Ks5XQ6JUnDhg3TlClTJEndu3fX5s2btWDBAvXv39+X5Vll/vz52rJli1asWKEWLVpo06ZNSk9PV2Ji4kVXheDfuLJTTTExMQoMDFRRUZHb8aKiIsXHx1f5mPj4+Mv2v/BnTca0nTfW+YILQefo0aNas2bNNXtVR/LOOn/22WcqLi5W8+bNFRQUpKCgIB09elRPPPGEWrZs6ZV5+DtvrHNMTIyCgoLUqVMntz4dO3a8Zt+N5Y11/umnn/T000/rlVde0R133KGuXbsqIyND99xzj15++WXvTKQeqM1a+2LMXyPsVFNISIh69OihrKws1zGn06msrCylpKRU+ZiUlBS3/pK0Zs0aV/9WrVopPj7erU9ZWZm2bt16yTFt5411lv5/0Dl48KDWrl2r66+/3jsTqCe8sc6jR4/Wrl27tHPnTteWmJioadOmafXq1d6bjB/zxjqHhISoV69eOnDggFufb775Ri1atPDwDOoHb6xzZWWlKisrFRDg/msyMDDQdXXtWlSbtfbFmBfxyG3O14h3333XhIaGmkWLFpm9e/eaCRMmmKioKFNYWGiMMWb06NHmv/7rv1z9P//8cxMUFGRefvlls2/fPjNr1qwq33oeFRVlli9fbnbt2mWGDRvGW889vM5nz541d955p2nWrJnZuXOnKSgocG0VFRU+maM/8Mbz+dd4N5Z31vmDDz4wwcHB5m9/+5s5ePCgmT9/vgkMDDSfffZZnc/PX3hjnfv37286d+5s1q9fb7799luzcOFCExYWZt544406n58/qelaV1RUmB07dpgdO3aYhIQE8+STT5odO3aYgwcPVnvMq0XYqaH58+eb5s2bm5CQENO7d2+zZcsWV1v//v3NmDFj3Pq///77pl27diYkJMR07tzZfPzxx27tTqfTPPPMMyYuLs6EhoaagQMHmgMHDtTFVPyaJ9f5yJEjRlKV2/r16+toRv7J08/nXyPs/Mwb6/z3v//d3HDDDSYsLMx069bNLFu2zNvT8HueXueCggIzduxYk5iYaMLCwkz79u3NX/7yF+N0OutiOn6tJmt9qf+D+/fvX+0xrxbfeg4AAKzGPTsAAMBqhB0AAGA1wg4AALAaYQcAAFiNsAMAAKxG2AEAAFYj7AAAAKsRdgAAgNUIOwDkcDi0bNmyS7Zv2LBBDodDJSUlkqRFixYpKiqqTmoDgKtF2AEsNHbsWA0fPtxj4/Xt21cFBQWKjIz02Jhnz57V3Llz1a1bN4WHhysmJkb9+vXTwoULVVlZ6bHz1AVPr/eAAQM0efLkavf/7rvv5HA4FBgYqLy8PLe2goICBQUFyeFw6LvvvvNYjUB9QtgBcEUhISGKj4+Xw+HwyHhnz55VWlqaXnzxRU2YMEGbN2/Wtm3blJ6ervnz52vPnj0eOY+/8XaIa9q0qf7xj3+4HXv77bfVtGlTr54X8HeEHcByAwYM0KRJk/TUU08pOjpa8fHxmj179kX9jh8/rrvuukvh4eFq27atVqxY4Wr79ctYFyxbtkxt27ZVWFiY0tLSlJubW62a5s2bp02bNikrK0vp6enq3r27Wrdurfvvv19bt25V27ZtJUkVFRWaNGmSYmNjFRYWpptvvlnbt2+/qK6srCz17NlT4eHh6tu3rw4cOOB2vo8++ki9evVSWFiYYmJidNddd7naKioq9OSTT6pp06Zq2LChkpOTtWHDBlf7hZfsVq9erY4dO6pRo0YaPHiwCgoKJEmzZ8/W22+/reXLl8vhcMjhcGjDhg2uqy3vvfee+vfvr7CwMC1evFgnTpzQfffdp6ZNmyo8PFxdunTRO++84zrf2LFjtXHjRr322muu8ap7RWbMmDFauHCh27GFCxdqzJgx1Xo8YC2PfaUoAL8xZswYM2zYMGPMz99AHBERYWbPnm2++eYb8/bbbxuHw2E+/fRTV39JplmzZmbJkiXm4MGDZtKkSaZRo0bmxIkTxhhj1q9fbySZf//738YYYxYuXGiCg4NNz549zebNm80XX3xhevfubfr27Vut+rp27WoGDRp0xX6TJk0yiYmJ5pNPPjF79uwxY8aMMdddd91FdSUnJ5sNGzaYPXv2mN/+9rdudaxcudIEBgaaZ5991uzdu9fs3LnT/OlPf3K1P/LII6Zv375m06ZN5tChQ+all14yoaGh5ptvvnGba2pqqtm+fbvJyckxHTt2NPfff78xxphTp06Zu+++2wwePNgUFBSYgoICU1FR4fqm55YtW5r//d//Nd9++63Jz88333//vXnppZfMjh07zOHDh83rr79uAgMDzdatW40xxpSUlJiUlBQzfvx413jnzp277DpdONe2bdtMTEyM+eyzz4wxxnz22WemSZMmZtu2bUaSOXLkSLX+fQDbEHYAC/067Nx8881u7b169TLTp0937UsyM2fOdO2Xl5cbSeaf//ynMabqsCPJbNmyxfWYffv2GUmuX9qX06BBAzNp0qTL9ikvLzfBwcFm8eLFrmNnz541iYmJZu7cuW51rV271tXn448/NpLMTz/9ZIwxJiUlxYwaNarKcxw9etQEBgaavLw8t+MDBw40M2bMcJvroUOHXO2ZmZkmLi7Otf/L9b7gQgCZN2/eZedpjDFDhw41TzzxhGu/f//+5g9/+MMVH/frc+3YscNMnjzZPPTQQ8YYYx566CEzZcoUs2PHDsIOrmm8jAVcA7p27eq2n5CQoOLi4kv2adiwoSIiIi7q80tBQUHq1auXa79Dhw6KiorSvn37rliPMeaKfQ4fPqzKykr169fPdSw4OFi9e/e+6By/rD0hIUGSXLXv3LlTAwcOrPIcX3/9tc6fP6927dqpUaNGrm3jxo06fPiwq194eLjatGnjdo7Lrc0v9ezZ023//PnzeuGFF9SlSxdFR0erUaNGWr16tY4dO1at8a5k3LhxWrp0qQoLC7V06VKNGzfOI+MC9VmQrwsA4H3BwcFu+w6HQ06ns8Z9PKVdu3bav3+/x8b7Ze0XbqK+UHuDBg0u+bjy8nIFBgYqJydHgYGBbm2NGjWqcvwL56hOYJN+Do6/9NJLL+m1117TvHnz1KVLFzVs2FCTJ0/W2bNnqzXelXTp0kUdOnTQfffdp44dO+rGG2/Uzp07PTI2UF9xZQdArZw7d05ffPGFa//AgQMqKSlRx44dr/jY+++/X2vXrtWOHTsuaqusrNTp06fVpk0bhYSE6PPPP3dr2759uzp16lTtOrt27aqsrKwq237zm9/o/PnzKi4u1g033OC2xcfHV/scISEhOn/+fLX6fv755xo2bJgeeOABdevWTa1bt9Y333xT6/GqMm7cOG3YsIGrOsD/IewAqJXg4GBNnDhRW7duVU5OjsaOHas+ffqod+/eV3zs5MmT1a9fPw0cOFCZmZn66quv9O233+r9999Xnz59dPDgQTVs2FCPP/64pk2bplWrVmnv3r0aP368fvzxRz388MPVrnPWrFl65513NGvWLO3bt09ff/21/vznP0v6+QrTqFGj9OCDD+qDDz7QkSNHtG3bNs2ZM0cff/xxtc/RsmVL7dq1SwcOHNDx48cv+xbztm3bas2aNdq8ebP27dunRx99VEVFRReNt3XrVn333Xc6fvx4ja+wjR8/Xj/88IMeeeSRGj0OsBVhB0CthIeHa/r06br//vvVr18/NWrUSO+99161HhsaGqo1a9boqaee0l//+lf16dNHvXr10uuvv65JkybpxhtvlCS9+OKLGjlypEaPHq2bbrpJhw4d0urVq3XddddVu84BAwZo6dKlWrFihbp3767bbrtN27Ztc7UvXLhQDz74oJ544gm1b99ew4cP1/bt29W8efNqn2P8+PFq3769evbsqSZNmrhdjfq1mTNn6qabblJaWpoGDBig+Pj4iz6Q8Mknn1RgYKA6deqkJk2a1Ph+nqCgIMXExCgoiDsVAElymOq+8AwAAFAPcWUHAABYjbADwOM6d+7s9lbuX26LFy/2dXn1zmOPPXbJ9Xzsscd8XR7g93gZC4DHHT169JI36cbFxalx48Z1XFH9VlxcrLKysirbIiIiFBsbW8cVAfULYQcAAFiNl7EAAIDVCDsAAMBqhB0AAGA1wg4AALAaYQcAAFiNsAMAAKxG2AEAAFYj7AAAAKv9P+bDKgz8xq1kAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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Pt8XGBio0NDQWhsAALDTNRU75eXlOnz4sGJiYtSvXz/5+/srOzvbuT8/P19Hjx5VQkKCB6cEAADexKs/xnryySd13333qX379iosLFR6erp8fX310EMPKSwsTJMmTdL06dMVERGh0NBQTZs2TQkJCXwTCwAAOHl17Bw/flwPPfSQTp8+rdatW2vIkCH69NNP1bp1a0nS888/Lx8fH6WkpKiiokJJSUn63e9+5+GpAQCAN/Hq2FmzZk29+4OCgpSRkaGMjIxmmggAAFxrrqlrdgAAABqL2AEAAFYjdgAAgNW8+podAADg3bp076miwsJ6j4mJjVX+vj3NNNHliB0AAOCyosJCjVr8fr3HbJgxupmmqRsfYwEAAKsROwAAwGrEDgAAsBqxAwAArEbsAAAAqxE7AADAasQOAACwGrEDAACsRuwAAACrETsAAMBqxA4AALAasQMAAKxG7AAAAKsROwAAwGrEDgAAsBqxAwAArEbsAAAAqxE7AADAasQOAACwGrEDAACsRuwAAACrETsAAMBqxA4AALAasQMAAKxG7AAAAKsROwAAwGrEDgAAsBqxAwAArEbsAAAAqxE7AADAasQOAACwGrEDAACsRuwAAACrETsAAMBqxA4AALAasQMAAKxG7AAAAKsROwAAwGrEDgAAsBqxAwAArEbsAAAAqxE7AADAasQOAACwGrEDAACsRuwAAACrETsAAMBqxA4AALAasQMAAKxG7AAAAKsROwAAwGrEDgAAsBqxAwAArEbsAAAAqxE7AADAasQOAACwGrEDAACsRuwAAACrETsAAMBqxA4AALCan6cHAADAG3Xp3lNFhYX1HhMTG6v8fXuaaSK4itgBAKAORYWFGrX4/XqP2TBjdDNNg6vBx1gAAMBq1sRORkaGOnTooKCgIMXHx+vzzz/39EgAAMALWBE7f/rTnzR9+nSlp6fryy+/VO/evZWUlKSTJ096ejQAAOBhVsTOc889p8mTJ+uRRx5R9+7dtWzZMt14441avny5p0cDAAAeds3HTmVlpXJzc5WYmOi8z8fHR4mJicrJyfHgZAAAwBtc89/G+uabb1RdXa2oqKha90dFRenAgQN1PqaiokIVFRXO26WlpZKksrIyt89njFHVd+d/8JimeO36Xo+ZAKB+/LvUMJ5cp0vPaYyp/0BzjTtx4oSRZLZv317r/qeeesoMHDiwzsekp6cbSWxsbGxsbGwWbMeOHau3Fa75MzutWrWSr6+vSkpKat1fUlKi6OjoOh8za9YsTZ8+3Xm7pqZGZ86c0U033SSHw+G22crKyhQXF6djx44pNDTUbc9rI9aqcVivhmOtGo61ajjWquGacq2MMTp37pxiY2PrPe6aj52AgAD169dP2dnZGjt2rKR/xEt2drbS0tLqfExgYKACAwNr3RceHt5kM4aGhvIfQwOxVo3DejUca9VwrFXDsVYN11RrFRYW9oPHXPOxI0nTp0/XhAkT1L9/fw0cOFAvvPCCzp8/r0ceecTTowEAAA+zInYefPBBnTp1SnPnzlVxcbH69OmjrKysyy5aBgAA1x8rYkeS0tLSrvixlacEBgYqPT39so/McDnWqnFYr4ZjrRqOtWo41qrhvGGtHMb80Pe1AAAArl3X/A8VBAAAqA+xAwAArEbsAAAAqxE7VykjI0MdOnRQUFCQ4uPj9fnnn9d7/Nq1a9W1a1cFBQXptttu04YNG5ppUs9rzFrt3btXKSkp6tChgxwOh1544YXmG9QLNGatXn31Vd1xxx1q2bKlWrZsqcTExB/8e2ibxqzX22+/rf79+ys8PFwtWrRQnz599Mc//rEZp/Wsxv6bdcmaNWvkcDicP8/setCYtcrMzJTD4ai1BQUFNeO0ntXYv1dnz55VamqqYmJiFBgYqM6dOzft/w/d80sbrk9r1qwxAQEBZvny5Wbv3r1m8uTJJjw83JSUlNR5/LZt24yvr69ZvHix2bdvn5k9e7bx9/c3X331VTNP3vwau1aff/65efLJJ80bb7xhoqOjzfPPP9+8A3tQY9fqxz/+scnIyDA7d+40+/fvNxMnTjRhYWHm+PHjzTy5ZzR2vT744APz9ttvm3379plDhw6ZF154wfj6+pqsrKxmnrz5NXatLikoKDBt2rQxd9xxhxkzZkzzDOthjV2rFStWmNDQUFNUVOTciouLm3lqz2jsWlVUVJj+/fubUaNGmU8++cQUFBSYrVu3mry8vCabkdi5CgMHDjSpqanO29XV1SY2NtYsXLiwzuP/7d/+zYwePbrWffHx8eaxxx5r0jm9QWPX6vvat29/XcXO1ayVMcZcvHjRhISEmJUrVzbViF7latfLGGP69u1rZs+e3RTjeRVX1urixYtm8ODB5ve//72ZMGHCdRM7jV2rFStWmLCwsGaazrs0dq1eeukl06lTJ1NZWdlcIxo+xnJRZWWlcnNzlZiY6LzPx8dHiYmJysnJqfMxOTk5tY6XpKSkpCsebwtX1up65Y61+vvf/66qqipFREQ01Zhe42rXyxij7Oxs5efn684772zKUT3O1bWaP3++IiMjNWnSpOYY0yu4ulbl5eVq37694uLiNGbMGO3du7c5xvUoV9bq3XffVUJCglJTUxUVFaWePXvq17/+taqrq5tsTmLHRd98842qq6sv+ynNUVFRKi4urvMxxcXFjTreFq6s1fXKHWs1c+ZMxcbGXhbWNnJ1vUpLSxUcHKyAgACNHj1aS5cu1d13393U43qUK2v1ySef6LXXXtOrr77aHCN6DVfWqkuXLlq+fLneeecdvf7666qpqdHgwYN1/Pjx5hjZY1xZq7/97W968803VV1drQ0bNmjOnDl69tlntWDBgiab05qfoAxAWrRokdasWaOtW7deVxdHNlZISIjy8vJUXl6u7OxsTZ8+XZ06ddKwYcM8PZrXOHfunB5++GG9+uqratWqlafH8XoJCQlKSEhw3h48eLC6deuml19+Wc8884wHJ/M+NTU1ioyM1CuvvCJfX1/169dPJ06c0H//938rPT29SV6T2HFRq1at5Ovrq5KSklr3l5SUKDo6us7HREdHN+p4W7iyVterq1mrJUuWaNGiRdq8ebN69erVlGN6DVfXy8fHR7fccoskqU+fPtq/f78WLlxodew0dq0OHz6sI0eO6L777nPeV1NTI0ny8/NTfn6+br755qYd2kPc8W+Wv7+/+vbtq0OHDjXFiF7DlbWKiYmRv7+/fH19nfd169ZNxcXFqqysVEBAgNvn5GMsFwUEBKhfv37Kzs523ldTU6Ps7Oxadf99CQkJtY6XpE2bNl3xeFu4slbXK1fXavHixXrmmWeUlZWl/v37N8eoXsFdf7dqampUUVHRFCN6jcauVdeuXfXVV18pLy/Pud1///0aPny48vLyFBcX15zjNyt3/L2qrq7WV199pZiYmKYa0yu4sla33367Dh065IxnSfr6668VExPTJKEjia+eX401a9aYwMBAk5mZafbt22emTJliwsPDnV83fPjhh83Pf/5z5/Hbtm0zfn5+ZsmSJWb//v0mPT39uvrqeWPWqqKiwuzcudPs3LnTxMTEmCeffNLs3LnTHDx40FNvodk0dq0WLVpkAgICzJtvvlnra6/nzp3z1FtoVo1dr1//+tfmf//3f83hw4fNvn37zJIlS4yfn5959dVXPfUWmk1j1+qfXU/fxmrsWs2bN89s3LjRHD582OTm5ppx48aZoKAgs3fvXk+9hWbT2LU6evSoCQkJMWlpaSY/P9+sX7/eREZGmgULFjTZjMTOVVq6dKlp166dCQgIMAMHDjSffvqpc9/QoUPNhAkTah3/5z//2XTu3NkEBASYHj16mPfff7+ZJ/acxqxVQUGBkXTZNnTo0OYf3AMas1bt27evc63S09Obf3APacx6/fKXvzS33HKLCQoKMi1btjQJCQlmzZo1HpjaMxr7b9b3XU+xY0zj1urxxx93HhsVFWVGjRplvvzySw9M7RmN/Xu1fft2Ex8fbwIDA02nTp3Mr371K3Px4sUmm4/feg4AAKzGNTsAAMBqxA4AALAasQMAAKxG7AAAAKsROwAAwGrEDgAAsBqxAwAArEbsAAAAqxE7ABokMzNT4eHhnh4DABqN2AGuE6dOndLUqVPVrl07BQYGKjo6WklJSdq2bZtLz/f000+rT58+jX7czp079a//+q+KiopSUFCQbr31Vk2ePFlff/21S3N4ypEjR+RwOJSXl+eW59u6dascDofOnj3b4MdMnDhRDodDP/3pTy/bl5qaKofDoYkTJ7plPuBaRuwA14mUlBTt3LlTK1eu1Ndff613331Xw4YN0+nTp5tthvXr12vQoEGqqKjQqlWrtH//fr3++usKCwvTnDlzmm2O5lRZWdmkzx8XF6c1a9bou+++c9534cIFrV69Wu3atWvS1wauGU32W7cAeI1vv/3WSDJbt2694jHPPvus6dmzp7nxxhtN27ZtzdSpU2v95vQVK1aYsLAw55/1T794dMWKFfXOcP78edOqVSszduzYK854ydatW82AAQNMQECAiY6ONjNnzjRVVVXO/UOHDjXTpk0zTz31lGnZsqWJioq67Beffvvtt2bKlCkmMjLSBAYGmh49epj33nvPuf/jjz82Q4YMMUFBQaZt27Zm2rRppry83Lm/ffv25le/+pV55JFHTHBwsImLizMvv/yyc/8/v/9Lv6T20i/LXLBggYmJiTEdOnQwxhjzhz/8wfTr188EBwebqKgo89BDD5mSkhJjTN2/+La+X8h5yaXX6tmzp3n99ded969atcr06tXLjBkzpkHPA9iOMzvAdSA4OFjBwcFat26dKioq6jzGx8dHL774ovbu3auVK1dqy5YtmjFjRp3HPvjgg/qv//ov9ejRQ0VFRSoqKtKDDz5Y7wwbN27UN998c8XnvHQ90IkTJzRq1CgNGDBAu3bt0ksvvaTXXntNCxYsqHX8ypUr1aJFC3322WdavHix5s+fr02bNkmSampqNHLkSG3btk2vv/669u3bp0WLFsnX11eSdPjwYSUnJyslJUW7d+/Wn/70J33yySdKS0ur9RrPPvus+vfvr507d+pnP/uZpk6dqvz8fEnS559/LknavHmzioqK9Pbbbzsfl52drfz8fG3atEnr16+XJFVVVemZZ57Rrl27tG7dOh05csT5EVNcXJzeeustSVJ+fr6Kior0P//zP/Wu5/c9+uijWrFihfP28uXL9cgjjzT48YD1PF1bAJrHm2++aVq2bGmCgoLM4MGDzaxZs8yuXbuuePzatWvNTTfd5Lz9/TM7xhiTnp5uevfu3eDX/81vfmMkmTNnztR73C9+8QvTpUsXU1NT47wvIyPDBAcHm+rqamPMP87sDBkypNbjBgwYYGbOnGmMMWbjxo3Gx8fH5Ofn1/kakyZNMlOmTKl138cff2x8fHzMd999Z4z5x5mdn/zkJ879NTU1JjIy0rz00kvGmP9/Nmbnzp21nmfChAkmKirKVFRU1Ps+d+zYYSQ5z5598MEHRlKtM1w/5NKZnZMnT5rAwEBz5MgRc+TIERMUFGROnTrFmR3g/3BmB7hOpKSkqLCwUO+++66Sk5O1detW/ehHP1JmZqakf5yhGDFihNq0aaOQkBA9/PDDOn36tP7+97+75fWNMQ06bv/+/UpISJDD4XDed/vtt6u8vFzHjx933terV69aj4uJidHJkyclSXl5eWrbtq06d+5c52vs2rVLmZmZzjNewcHBSkpKUk1NjQoKCup8DYfDoejoaOdr1Oe2225TQEBArftyc3N13333qV27dgoJCdHQoUMlSUePHv3B5/shrVu31ujRo5WZmakVK1Zo9OjRatWq1VU/L2ALYge4jgQFBenuu+/WnDlztH37dk2cOFHp6ek6cuSI7r33XvXq1UtvvfWWcnNzlZGRIcl9F9heCo8DBw645fn8/f1r3XY4HKqpqZEk3XDDDfU+try8XI899pjy8vKc265du3Tw4EHdfPPNDXqN+rRo0aLW7fPnzyspKUmhoaFatWqVduzYob/85S+S3Le+jz76qDIzM7Vy5Uo9+uijbnlOwBbEDnAd6969u86fP6/c3FzV1NTo2Wef1aBBg9S5c2cVFhbW+9iAgABVV1c3+LXuuecetWrVSosXL65z/6WvXHfr1k05OTm1zgRt27ZNISEhatu2bYNeq1evXjp+/PgVv87+ox/9SPv27dMtt9xy2fbPZ2Su5NJxDVmDAwcO6PTp01q0aJHuuOMOde3a9bIzRI15vrokJyersrJSVVVVSkpKcuk5AFsRO8B14PTp07rrrrv0+uuva/fu3SooKNDatWu1ePFijRkzRrfccouqqqq0dOlS/e1vf9Mf//hHLVu2rN7n7NChgwoKCpSXl6dvvvnmihc+X9KiRQv9/ve/1/vvv6/7779fmzdv1pEjR/TFF19oxowZzp8V87Of/UzHjh3TtGnTdODAAb3zzjtKT0/X9OnT5ePTsH+yhg4dqjvvvFMpKSnatGmTCgoK9Ne//lVZWVmSpJkzZ2r79u1KS0tTXl6eDh48qHfeeeeyC5TrExkZqRtuuEFZWVkqKSlRaWnpFY9t166dAgICnOv77rvv6plnnql1TPv27eVwOLR+/XqdOnVK5eXlDZ5Fknx9fbV//37t27fPeSE2gH8gdoDrQHBwsOLj4/X888/rzjvvVM+ePTVnzhxNnjxZv/3tb9W7d28999xz+s1vfqOePXtq1apVWrhwYb3PmZKSouTkZA0fPlytW7fWG2+88YNzjBkzRtu3b5e/v79+/OMfq2vXrnrooYdUWlrq/LZVmzZttGHDBn3++efq3bu3fvrTn2rSpEmaPXt2o97zW2+9pQEDBuihhx5S9+7dNWPGDOdZk169eunDDz/U119/rTvuuEN9+/bV3LlzFRsb2+Dn9/Pz04svvqiXX35ZsbGxGjNmzBWPbd26tTIzM7V27Vp1795dixYt0pIlS2od06ZNG82bN08///nPFRUV1ajwuiQ0NFShoaGNfhxgO4dp6FWDAAAA1yDO7AAAAKsROwDcYtWqVbW+yv39rUePHp4e75pz9OjRK65ncHCwW76yDlwv+BgLgFucO3dOJSUlde7z9/dX+/btm3mia9vFixd15MiRK+7v0KGD/Pz8mm8g4BpG7AAAAKvxMRYAALAasQMAAKxG7AAAAKsROwAAwGrEDgAAsBqxAwAArEbsAAAAqxE7AADAav8P+V6ffwkdGTAAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAGwCAYAAABPSaTdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/H5lhTAAAACXBIWXMAAA9hAAAPYQGoP6dpAAArtUlEQVR4nO3de3hU1b3G8Xdym4RAJgQkk9AgEVEQUVAkDXpakNSAN3ikWihFUAxaAYtY0VQB4aggVaCECGprKBXk1FMLVmm8BNRTDYiBiFzEG0gAE7TJZAyVEJJ1/rBMHRMQkklmsvh+nmc/Za+1Zs9vL+nwPnuvPeMwxhgBAABYKizYBQAAADQnwg4AALAaYQcAAFiNsAMAAKxG2AEAAFYj7AAAAKsRdgAAgNUigl1AKKirq9OBAwfUrl07ORyOYJcDAABOgjFGX331lZKTkxUWdvzrN4QdSQcOHFBKSkqwywAAAI1QUlKiH/zgB8ftJ+xIateunaRvJisuLi7I1QAAgJPh9XqVkpLi+3f8eAg7ku/WVVxcHGEHAIBW5vuWoLBAGQAAWI2wAwAArEbYAQAAViPsAAAAqxF2AACA1Qg7AADAaoQdAABgNcIOAACwGmEHAABYjbADAACsRtgBAABWI+wAAACrEXYAAIDVCDsAAMBqhB0AANAsjDGqqKiQMSaodRB2AABAs/B4PBr52Bp5PJ6g1kHYAQAAzSYypm2wSyDsAAAAuxF2AACA1Qg7AADAaoQdAABgNcIOAACwGmEHAABYjbADAACsRtgBAABWI+wAAACrEXYAAIDVCDsAAMBqhB0AAGA1wg4AALAaYQcAAFiNsAMAAKxG2AEAAFYj7AAAAKsRdgAAgNUIOwAAwGqEHQAAYDXCDgAAsBphBwAAWI2wAwAArEbYAQAAViPsAAAAqxF2AACA1YIadt58801dc801Sk5OlsPh0OrVq319NTU1uueee9S7d2/FxsYqOTlZN954ow4cOOB3jPLyco0ePVpxcXGKj4/X+PHjVVVV1cJnAgAAQlVQw86hQ4d04YUXKjc3t17fv/71L23evFnTp0/X5s2b9fzzz2vXrl269tpr/caNHj1a27dv16uvvqoXX3xRb775piZMmNBSpwAAAEJcRDDffOjQoRo6dGiDfS6XS6+++qpf2+LFi9W/f3/t3btXXbp00c6dO5Wfn69NmzapX79+kqScnBxdeeWVevTRR5WcnNzs5wAAAEJbq1qzU1lZKYfDofj4eElSYWGh4uPjfUFHkjIyMhQWFqaNGzce9zjV1dXyer1+GwAAsFOrCTuHDx/WPffco1GjRikuLk6SVFpaqk6dOvmNi4iIUEJCgkpLS497rDlz5sjlcvm2lJSUZq0dAAAET6sIOzU1NbrhhhtkjNGSJUuafLzs7GxVVlb6tpKSkgBUCQAAQlFQ1+ycjGNB57PPPtO6det8V3Ukye126+DBg37jjx49qvLycrnd7uMe0+l0yul0NlvNAAAgdIT0lZ1jQeejjz7Sa6+9pg4dOvj1p6eny+PxqKioyNe2bt061dXVKS0traXLBQAAISioV3aqqqr08ccf+/Z3796t4uJiJSQkKCkpST/96U+1efNmvfjii6qtrfWtw0lISFBUVJR69uypIUOGKCsrS0uXLlVNTY0mTZqkkSNH8iQWAACQFOSw8+6772rQoEG+/alTp0qSxo4dqwceeEAvvPCCJKlPnz5+r1u/fr0GDhwoSVqxYoUmTZqkwYMHKywsTCNGjNCiRYtapH4AABD6ghp2Bg4cKGPMcftP1HdMQkKCVq5cGciyAACARUJ6zQ4AAEBTEXYAAIDVCDsAAMBqhB0AAGA1wg4AALAaYQcAAFiNsAMAAKxG2AEAAFYj7AAAAKsRdgAAgNUIOwAAwGqEHQAAYDXCDgAAsBphBwAAWI2wAwAArEbYAQAAViPsAAAAqxF2AACA1Qg7AADAaoQdAABgNcIOAACwGmEHAABYjbADAACsRtgBAABWI+wAAACrEXYAAIDVCDsAAMBqhB0AAGA1wg4AALAaYQcAAFiNsAMAAKxG2AEAAFYj7AAAAKsRdgAAgNUIOwAAwGqEHQAAYDXCDgAAsBphBwAAWI2wAwAArEbYAQAAViPsAAAAqxF2AACA1YIadt58801dc801Sk5OlsPh0OrVq/36jTGaMWOGkpKSFBMTo4yMDH300Ud+Y8rLyzV69GjFxcUpPj5e48ePV1VVVQueBQAACGVBDTuHDh3ShRdeqNzc3Ab7582bp0WLFmnp0qXauHGjYmNjlZmZqcOHD/vGjB49Wtu3b9err76qF198UW+++aYmTJjQUqcAAABCXEQw33zo0KEaOnRog33GGC1cuFD333+/hg0bJklavny5EhMTtXr1ao0cOVI7d+5Ufn6+Nm3apH79+kmScnJydOWVV+rRRx9VcnJyi50LAAAITSG7Zmf37t0qLS1VRkaGr83lciktLU2FhYWSpMLCQsXHx/uCjiRlZGQoLCxMGzduPO6xq6ur5fV6/TYAAGCnkA07paWlkqTExES/9sTERF9faWmpOnXq5NcfERGhhIQE35iGzJkzRy6Xy7elpKQEuHoAABAqQjbsNKfs7GxVVlb6tpKSkmCXBAAAmknIhh232y1JKisr82svKyvz9bndbh08eNCv/+jRoyovL/eNaYjT6VRcXJzfBgAA7BSyYSc1NVVut1sFBQW+Nq/Xq40bNyo9PV2SlJ6eLo/Ho6KiIt+YdevWqa6uTmlpaS1eMwAACD1BfRqrqqpKH3/8sW9/9+7dKi4uVkJCgrp06aIpU6bowQcfVPfu3ZWamqrp06crOTlZw4cPlyT17NlTQ4YMUVZWlpYuXaqamhpNmjRJI0eO5EksAAAgKchh591339WgQYN8+1OnTpUkjR07VsuWLdO0adN06NAhTZgwQR6PR5dddpny8/MVHR3te82KFSs0adIkDR48WGFhYRoxYoQWLVrU4ucCAABCk8MYY4JdRLB5vV65XC5VVlayfgcAgACpqKjQmMcL9KfbB6t9+/YBP/7J/vsdsmt2AAAAAoGwAwAArEbYAQAAViPsAAAAqxF2AACA1Qg7AADAaoQdAABgNcIOAACwGmEHAABYjbADAACsRtgBAABWI+wAAACrEXYAAIDVCDsAAMBqhB0AAGA1wg4AALAaYQcAAFiNsAMAAKxG2AEAAFYj7AAAAKsRdgAAgNUIOwAAwGqEHQAAYDXCDgAAsBphBwAAWI2wAwAArEbYAQAAViPsAAAAqxF2AACA1SKCXQAAAGjdjDHyeDySpPj4eDkcjuAW9B1c2QEAAE3i8Xg0Zsk6jVmyzhd6QglXdgAAQJNFxbQNdgnHxZUdAABgNcIOAACwGmEHAABYjbADAACsRtgBAABWI+wAAACrEXYAAIDVCDsAAMBqhB0AAGA1wg4AALAaYQcAAFgtpMNObW2tpk+frtTUVMXExKhbt2767//+bxljfGOMMZoxY4aSkpIUExOjjIwMffTRR0GsGgAAhJKQDjuPPPKIlixZosWLF2vnzp165JFHNG/ePOXk5PjGzJs3T4sWLdLSpUu1ceNGxcbGKjMzU4cPHw5i5QAAIFSE9K+ev/322xo2bJiuuuoqSVLXrl317LPP6p133pH0zVWdhQsX6v7779ewYcMkScuXL1diYqJWr16tkSNHNnjc6upqVVdX+/a9Xm8znwkAAAiWkL6yM2DAABUUFOjDDz+UJL333nv6xz/+oaFDh0qSdu/erdLSUmVkZPhe43K5lJaWpsLCwuMed86cOXK5XL4tJSWleU8EAAAETUhf2bn33nvl9XrVo0cPhYeHq7a2Vg899JBGjx4tSSotLZUkJSYm+r0uMTHR19eQ7OxsTZ061bfv9XoJPAAAWCqkw86f//xnrVixQitXrlSvXr1UXFysKVOmKDk5WWPHjm30cZ1Op5xOZwArBQAAoSqkw87dd9+te++917f2pnfv3vrss880Z84cjR07Vm63W5JUVlampKQk3+vKysrUp0+fYJQMAABCTEiv2fnXv/6lsDD/EsPDw1VXVydJSk1NldvtVkFBga/f6/Vq48aNSk9Pb9FaAQBAaArpKzvXXHONHnroIXXp0kW9evXSli1bNH/+fN18882SJIfDoSlTpujBBx9U9+7dlZqaqunTpys5OVnDhw8PbvEAACAkhHTYycnJ0fTp03X77bfr4MGDSk5O1q233qoZM2b4xkybNk2HDh3ShAkT5PF4dNlllyk/P1/R0dFBrBwAAISKkA477dq108KFC7Vw4cLjjnE4HJo9e7Zmz57dcoUBAIBWI6TX7AAAADQVYQcAAFiNsAMAAKzWqLBz1lln6Z///Ge9do/Ho7POOqvJRQEAAARKo8LOnj17VFtbW6+9urpa+/fvb3JRAAAAgXJKT2O98MILvj+//PLLcrlcvv3a2loVFBSoa9euASsOAACgqU4p7Bz7oj6Hw1Hvt6kiIyPVtWtXPfbYYwErDgAAoKlOKex8+2caNm3apI4dOzZLUQAAAIHSqC8V3L17d6DrAAAAaBaN/gblgoICFRQU6ODBg74rPsc8/fTTTS4MAAAgEBoVdmbNmqXZs2erX79+SkpKksPhCHRdAAAAAdGosLN06VItW7ZMY8aMCXQ9AAAAAdWo79k5cuSIBgwYEOhaAAAAAq5RYeeWW27RypUrA10LAABAwDXqNtbhw4f15JNP6rXXXtMFF1ygyMhIv/758+cHpDgAAICmalTY2bp1q/r06SNJ2rZtm18fi5UBAEAoaVTYWb9+faDrAAAAaBaNWrMDAADQWjTqys6gQYNOeLtq3bp1jS4IAAAgkBoVdo6t1zmmpqZGxcXF2rZtW70fCAUAAAimRoWdBQsWNNj+wAMPqKqqqkkFAQAABFJA1+z84he/4HexAABASAlo2CksLFR0dHQgDwkAANAkjbqNdd111/ntG2P0+eef691339X06dMDUhgAAEAgNCrsuFwuv/2wsDCde+65mj17tq644oqAFAYAABAIjQo7eXl5ga4DAACgWTQq7BxTVFSknTt3SpJ69eqlvn37BqQoAACAQGlU2Dl48KBGjhyp119/XfHx8ZIkj8ejQYMGadWqVTrjjDMCWSMAAECjNepprMmTJ+urr77S9u3bVV5ervLycm3btk1er1d33HFHoGsEAABotEZd2cnPz9drr72mnj17+trOO+885ebmskAZAACElEZd2amrq1NkZGS99sjISNXV1TW5KAAAgEBpVNi5/PLL9atf/UoHDhzwte3fv1933nmnBg8eHLDiAAAAmqpRYWfx4sXyer3q2rWrunXrpm7duik1NVVer1c5OTmBrhEAAKDRGrVmJyUlRZs3b9Zrr72mDz74QJLUs2dPZWRkBLQ4AACApjqlKzvr1q3TeeedJ6/XK4fDoZ/85CeaPHmyJk+erEsuuUS9evXS//3f/zVXrQAAAKfslMLOwoULlZWVpbi4uHp9LpdLt956q+bPnx+w4gAAAJrqlMLOe++9pyFDhhy3/4orrlBRUVGTiwIAAAiUUwo7ZWVlDT5yfkxERIS++OKLJhcFAAAQKKcUdjp37qxt27Ydt3/r1q1KSkpqclEAAACBckph58orr9T06dN1+PDhen1ff/21Zs6cqauvvjpgxQEAADTVKT16fv/99+v555/XOeeco0mTJuncc8+VJH3wwQfKzc1VbW2t7rvvvmYpFAAAoDFOKewkJibq7bff1i9/+UtlZ2fLGCNJcjgcyszMVG5urhITE5ulUAAAgMY45W9QPvPMM7V27Vp9+eWX2rhxozZs2KAvv/xSa9euVWpqasAL3L9/v37xi1+oQ4cOiomJUe/evfXuu+/6+o0xmjFjhpKSkhQTE6OMjAx99NFHAa8DAAC0To36uQhJat++vS655BL1799f7du3D2RNPhUVFbr00ksVGRmpv//979qxY4cee+wxv/ebN2+eFi1apKVLl2rjxo2KjY1VZmZm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i2D37t2rq666Sm3atFGnTp1099136+jRo35jXn/9dV100UVyOp06++yztWzZsnrHyc3NVdeuXRUdHa20tDS98847zXBGrVurmqOm/zpV63TmmWea2bNnm88//9y3VVVV+forKytNYmKiGT16tNm2bZt59tlnTUxMjHniiSd8Y9566y0THh5u5s2bZ3bs2GHuv/9+ExkZad5//33fmLlz5xqXy2VWr15t3nvvPXPttdea1NRU8/XXX7fo+YaKO+64wwwdOtRIMlu2bPG1M9+BM3/+fFNYWGj27Nlj3nrrLZOenm7S09N9/cx1YPz9738348aNMy+//LL55JNPzJo1a0ynTp3MXXfd5RvDXAfWjBkzzPz5883UqVONy+Wq13/06FFz/vnnm4yMDLNlyxazdu1a07FjR5Odne0b8+mnn5o2bdqYqVOnmh07dpicnBwTHh5u8vPzfWNWrVploqKizNNPP222b99usrKyTHx8vCkrK2uJ02wVWtscndZhZ8GCBcftf/zxx0379u1NdXW1r+2ee+4x5557rm//hhtuMFdddZXf69LS0sytt95qjDGmrq7OuN1u89vf/tbX7/F4jNPpNM8++2yAzqT1WLt2renRo4fZvn17vbDDfDefNWvWGIfDYY4cOWKMYa6b07x580xqaqpvn7luHnl5eQ2GnbVr15qwsDBTWlrqa1uyZImJi4vz/TeYNm2a6dWrl9/rfvazn5nMzEzffv/+/c3EiRN9+7W1tSY5OdnMmTMnwGfSerW2OTptb2NJ0ty5c9WhQwf17dtXv/3tb/0udRYWFupHP/qRoqKifG2ZmZnatWuXKioqfGMyMjL8jpmZmanCwkJJ0u7du1VaWuo3xuVyKS0tzTfmdFFWVqasrCz96U9/Ups2ber1M9/No7y8XCtWrNCAAQMUGRkpibluTpWVlUpISPDtM9ctq7CwUL179/b7QtnMzEx5vV5t377dN+ZE833kyBEVFRX5jQkLC1NGRgbz/W+tcY5O27Bzxx13aNWqVVq/fr1uvfVWPfzww5o2bZqvv7S0tN43MB/bLy0tPeGYb/d/+3UNjTkdGGM0btw43XbbberXr1+DY5jvwLrnnnsUGxurDh06aO/evVqzZo2vj7luHh9//LFycnJ06623+tqY65bVlPn2er36+uuv9eWXX6q2tpb5PoHWOEdWhZ177723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xp7wysupaujW1vFUVVVJkp566imlpaX59YWHh/vtR0ZG+v58LKQcuzX2fe/Zt29fXXjhhVq+fLmuuOIKbd++XS+99NJJ1wmg+bBAGUCrc8EFF6i4uFjl5eXfOzYxMVHJycn69NNPdfbZZ/ttqampp/Se3/c4+y233KJly5YpLy9PGRkZSklJOenjA2g+hB0Aza66ulqlpaV+25dfftno440aNUput1vDhw/XW2+9pU8//VR/+ctf6j09dcysWbM0Z84cLVq0SB9++KHef/995eXlaf78+Sf9ntnZ2dq0aZNuv/12bd26VR988IGWLFnidx4///nPtW/fPj311FO6+eabG31+AAKLsAOg2eXn5yspKclvu+yyyxp9vKioKL3yyivq1KmTrrzySvXu3Vtz586td1vqmFtuuUW///3vlZeXp969e+vHP/6xli1bdkpXds455xy98soreu+999S/f3+lp6drzZo1ioj4z2oAl8ulESNGqG3btho+fHijzw9AYDmMMSbYRQCALQYPHqxevXpp0aJFwS4FwL8RdgAgACoqKvT666/rpz/9qXbs2KFzzz032CUB+DeexgKAAOjbt68qKir0yCOPEHSAEMOVHQAAYDUWKAMAAKsRdgAAgNUIOwAAwGqEHQAAYDXCDgAAsBphBwAAWI2wAwAArEbYAQAAVvt/cExfeEA/TfQAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from matplotlib import pyplot as plt\n", + "import seaborn as sns\n", + "\n", + "for i, column in enumerate(df.columns, 1):\n", + " sns.histplot(df[column])\n", + " plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Set targets/objectives = efficiency for now" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/home/vscode/.local/lib/python3.10/site-packages/baybe/telemetry.py:222: UserWarning: WARNING: BayBE Telemetry endpoint https://public.telemetry.baybe.p.uptimize.merckgroup.com:4317 cannot be reached. Disabling telemetry. The exception encountered was: ConnectionError, HTTPConnectionPool(host='verkehrsnachrichten.merck.de', port=80): Max retries exceeded with url: / (Caused by NameResolutionError(\": Failed to resolve 'verkehrsnachrichten.merck.de' ([Errno -2] Name or service not known)\"))\n", + " warnings.warn(\n", + "/home/vscode/.local/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", + " from .autonotebook import tqdm as notebook_tqdm\n" + ] + } + ], + "source": [ + "from baybe.targets import NumericalTarget\n", + "from baybe.objective import Objective\n", + "\n", + "target = NumericalTarget(\n", + " name=\"Efficiency\",\n", + " mode=\"MAX\",\n", + ")\n", + "objective = Objective(mode=\"SINGLE\", targets=[target])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Search Space" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "from baybe.parameters import NumericalContinuousParameter, CategoricalParameter, NumericalDiscreteParameter\n", + "from baybe.searchspace import SearchSpace\n", + "\n", + "basic_parameters=[\n", + "NumericalDiscreteParameter(\n", + " name=\"Time_h\",\n", + " values=df_combined[\"Time_h\"].unique(),\n", + " tolerance=5/60,\n", + "),\n", + "NumericalDiscreteParameter(\n", + " name=\"pH\",\n", + " values=df_combined[\"pH\"].unique(),\n", + " ), \n", + "NumericalDiscreteParameter(\n", + " name=\"Inhib_Concentrat_M\",\n", + " values=df_combined[\"Inhib_Concentrat_M\"].unique(),\n", + " ),\n", + "NumericalDiscreteParameter(\n", + " name=\"Salt_Concentrat_M\",\n", + " values=df_combined[\"Salt_Concentrat_M\"].unique(),\n", + " ),\n", + "]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "**Substance parameter**\n", + "\n", + "Instead of values, this parameter accepts data in form of a dictionary. The items correspond to pairs of labels and SMILES. SMILES are string-based representations of molecular structures. Based on these, BayBE can assign each label a set of molecular descriptors as encoding." + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "{'C(=O)(C(=O)[O-])[O-]': 'C(=O)(C(=O)[O-])[O-]', 'C(C(=O)[O-])C(CC(=O)[O-])(C(=O)[O-])O': 'C(C(=O)[O-])C(CC(=O)[O-])(C(=O)[O-])O', 'C(C(C(C(C(C(=O)[O-])O)O)O)O)O.C(C(C(C(C(C(=O)[O-])O)O)O)O)O.[Fe+2]': 'C(C(C(C(C(C(=O)[O-])O)O)O)O)O.C(C(C(C(C(C(=O)[O-])O)O)O)O)O.[Fe+2]', 'C(C(C(C(C(C(=O)[O-])O)O)O)O)O.C(C(C(C(C(C(=O)[O-])O)O)O)O)O.[Zn+2]': 'C(C(C(C(C(C(=O)[O-])O)O)O)O)O.C(C(C(C(C(C(=O)[O-])O)O)O)O)O.[Zn+2]', 'C1=CC(=C(C=C1O)O)C=NNC(=S)N': 'C1=CC(=C(C=C1O)O)C=NNC(=S)N', 'C1=CC(=C(C=C1SSC2=CC(=C(C=C2)[N+](=O)[O-])C(=O)O)C(=O)O)[N+](=O)[O-]': 'C1=CC(=C(C=C1SSC2=CC(=C(C=C2)[N+](=O)[O-])C(=O)O)C(=O)O)[N+](=O)[O-]', 'C1=CC(=CC(=C1)S)C(=O)O': 'C1=CC(=CC(=C1)S)C(=O)O', 'C1=CC2=NNN=C2C=C1Cl': 'C1=CC2=NNN=C2C=C1Cl', 'C1=CC=C(C(=C1)C=NNC(=S)N)O': 'C1=CC=C(C(=C1)C=NNC(=S)N)O', 'C1COCCN1CCCS(=O)(=O)O': 'C1COCCN1CCCS(=O)(=O)O', 'C1N2CN3CN1CN(C2)C3': 'C1N2CN3CN1CN(C2)C3', 'C=CC(=O)OCCOC(=O)OCCSc1ncccn1': 'C=CC(=O)OCCOC(=O)OCCSc1ncccn1', 'CC(=O)O': 'CC(=O)O', 'CC(=O)SSC(=O)C': 'CC(=O)SSC(=O)C', 'CC1(C(N2C(S1)C(C2=O)NC(=O)C(C3=CC=C(C=C3)O)N)C(=O)O)C': 'CC1(C(N2C(S1)C(C2=O)NC(=O)C(C3=CC=C(C=C3)O)N)C(=O)O)C', 'CCCCCCCC/C=C\\\\CCCCCCCC(=O)O': 'CCCCCCCC/C=C\\\\CCCCCCCC(=O)O', 'CCCCCCCCCCCCCCCCCC(=O)O': 'CCCCCCCCCCCCCCCCCC(=O)O', 'CCCCCCCCCCCCCCN(CC(=O)O[Na])CC(=O)O[Na]': 'CCCCCCCCCCCCCCN(CC(=O)O[Na])CC(=O)O[Na]', 'CCCCCCCCCCCCN(CC(=O)O[Na])CC(=O)O[Na]': 'CCCCCCCCCCCCN(CC(=O)O[Na])CC(=O)O[Na]', 'CCCCCCCCCCCCOS(=O)(=O)O': 'CCCCCCCCCCCCOS(=O)(=O)O', 'CCCCCCCCCCCCc1ccccc1S([O])([O])O': 'CCCCCCCCCCCCc1ccccc1S([O])([O])O', 'CCCCCCCCN(CC(=O)O[Na])CC(=O)O[Na]': 'CCCCCCCCN(CC(=O)O[Na])CC(=O)O[Na]', 'CCCCN(CCCC)C1=NC(=NC(=N1)NC(CCSC)C(=O)O)NC(CCSC)C(=O)O': 'CCCCN(CCCC)C1=NC(=NC(=N1)NC(CCSC)C(=O)O)NC(CCSC)C(=O)O', 'CCCCOP(=O)(OCCCC)O': 'CCCCOP(=O)(OCCCC)O', 'CCN(C(=S)S)CC': 'CCN(C(=S)S)CC', 'CCOc1ccc2c(c1)nc([nH]2)S': 'CCOc1ccc2c(c1)nc([nH]2)S', 'CCSc1nnc(s1)N': 'CCSc1nnc(s1)N', 'CN1C=NC2=C1C(=O)N(C(=O)N2C)C': 'CN1C=NC2=C1C(=O)N(C(=O)N2C)C', 'CNCC(C1=CC(=CC=C1)O)O': 'CNCC(C1=CC(=CC=C1)O)O', 'COC(=O)CCCC1=CNC2=CC=CC=C21': 'COC(=O)CCCC1=CNC2=CC=CC=C21', 'COC(=O)n1nnc2ccccc12': 'COC(=O)n1nnc2ccccc12', 'COCCOC(=O)OCSc1nc2c(s1)cccc2': 'COCCOC(=O)OCSc1nc2c(s1)cccc2', 'COc1ccc2c(c1)[nH]c(=S)[nH]2': 'COc1ccc2c(c1)[nH]c(=S)[nH]2', 'COc1cccc(c1)c1n[nH]c(=S)[nH]1': 'COc1cccc(c1)c1n[nH]c(=S)[nH]1', 'CS[C]1N[N]C(=N1)N': 'CS[C]1N[N]C(=N1)N', 'CSc1[nH]c2c(n1)cc(c(c2)C)C': 'CSc1[nH]c2c(n1)cc(c(c2)C)C', 'CSc1nnc(s1)N': 'CSc1nnc(s1)N', 'Cc1cc(C)nc(n1)S': 'Cc1cc(C)nc(n1)S', 'Cc1ccc(c(c1)n1nc2c(n1)cccc2)O': 'Cc1ccc(c(c1)n1nc2c(n1)cccc2)O', 'Cc1ccc2c(c1)nc([nH]2)S': 'Cc1ccc2c(c1)nc([nH]2)S', 'Cc1n[nH]c(=S)s1': 'Cc1n[nH]c(=S)s1', 'Cc1nsc(c1)N': 'Cc1nsc(c1)N', 'ClC([C]1N[N]C=N1)(Cl)Cl': 'ClC([C]1N[N]C=N1)(Cl)Cl', 'Clc1cc2[nH]c(=S)[nH]c2cc1Cl': 'Clc1cc2[nH]c(=S)[nH]c2cc1Cl', 'Clc1ccc(cc1)CC[C@](C(C)(C)C)(Cn1cncn1)O': 'Clc1ccc(cc1)CC[C@](C(C)(C)C)(Cn1cncn1)O', 'Clc1ccc(cc1Cl)c1n[nH]c(=S)[nH]1': 'Clc1ccc(cc1Cl)c1n[nH]c(=S)[nH]1', 'Clc1ccc2c(c1)[nH]c(n2)S': 'Clc1ccc2c(c1)[nH]c(n2)S', 'Clc1cccc(c1)c1n[nH]c(=S)[nH]1': 'Clc1cccc(c1)c1n[nH]c(=S)[nH]1', 'Cn1cnnc1S': 'Cn1cnnc1S', 'Cn1nnnc1S': 'Cn1nnnc1S', 'N.N.[N+](=O)(O)[O-].[N+](=O)(O)[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].O.O.O.O.[Ce+3]': 'N.N.[N+](=O)(O)[O-].[N+](=O)(O)[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].O.O.O.O.[Ce+3]', 'NC(=S)NN=CC1=C(C(=C(C=C1)O)O)O': 'NC(=S)NN=CC1=C(C(=C(C=C1)O)O)O', 'NCC(=O)O': 'NCC(=O)O', 'NO': 'NO', 'Nc1cc(N)nc(n1)S': 'Nc1cc(N)nc(n1)S', 'Nc1cc(S)nc(n1)N': 'Nc1cc(S)nc(n1)N', 'Nc1ccc2c(c1)sc(=S)[nH]2': 'Nc1ccc2c(c1)sc(=S)[nH]2', 'Nc1ccnc(n1)S': 'Nc1ccnc(n1)S', 'Nc1n[nH]c(=S)s1': 'Nc1n[nH]c(=S)s1', 'Nc1n[nH]c(n1)S': 'Nc1n[nH]c(n1)S', 'Nc1n[nH]cn1': 'Nc1n[nH]cn1', 'Nc1nc([nH]n1)C(=O)O': 'Nc1nc([nH]n1)C(=O)O', 'Nc1ncncc1N': 'Nc1ncncc1N', 'Nn1c(NN)nnc1S': 'Nn1c(NN)nnc1S', 'Nn1c(S)nnc1c1ccccc1': 'Nn1c(S)nnc1c1ccccc1', 'Nn1cnnc1': 'Nn1cnnc1', 'O/N=C(/C(=N/O)/C)\\\\C': 'O/N=C(/C(=N/O)/C)\\\\C', 'O/N=C(\\\\C(=N/O)\\\\c1ccco1)/c1ccco1': 'O/N=C(\\\\C(=N/O)\\\\c1ccco1)/c1ccco1', 'O=C([O-])C(O)C(O)C(O)C(O)CO.[Na+]': 'O=C([O-])C(O)C(O)C(O)C(O)CO.[Na+]', 'OC(=O)/C=C/c1ccccc1': 'OC(=O)/C=C/c1ccccc1', 'OC(=O)CCCCC(=O)O': 'OC(=O)CCCCC(=O)O', 'OC(=O)CCCCCCCCCCCCCCC(=O)O': 'OC(=O)CCCCCCCCCCCCCCC(=O)O', 'OC(=O)CCS': 'OC(=O)CCS', 'OC(=O)CN(CC(=O)O)CCN(CC(=O)O)CC(=O)O': 'OC(=O)CN(CC(=O)O)CCN(CC(=O)O)CC(=O)O', 'OC(=O)CS': 'OC(=O)CS', 'OC(=O)Cn1nnnc1S': 'OC(=O)Cn1nnnc1S', 'OC(=O)c1ccc(=S)[nH]c1': 'OC(=O)c1ccc(=S)[nH]c1', 'OC(=O)c1ccc(cc1)N': 'OC(=O)c1ccc(cc1)N', 'OC(=O)c1ccc(cc1)S': 'OC(=O)c1ccc(cc1)S', 'OC(=O)c1ccc(cc1)c1ccccc1': 'OC(=O)c1ccc(cc1)c1ccccc1', 'OC(=O)c1ccccc1': 'OC(=O)c1ccccc1', 'OC(=O)c1ccccc1O': 'OC(=O)c1ccccc1O', 'OC(=O)c1ccccc1S': 'OC(=O)c1ccccc1S', 'OC(=O)c1ccccn1': 'OC(=O)c1ccccn1', 'OC(=O)c1cccnc1': 'OC(=O)c1cccnc1', 'OC(=O)c1cccnc1S': 'OC(=O)c1cccnc1S', 'OC(=O)c1ccncc1': 'OC(=O)c1ccncc1', 'OC(=O)c1n[nH]c(n1)N': 'OC(=O)c1n[nH]c(n1)N', 'OCC(CO)O': 'OCC(CO)O', 'OC[C@H]([C@H]([C@@H]([C@@H](CO)O)O)O)O': 'OC[C@H]([C@H]([C@@H]([C@@H](CO)O)O)O)O', 'OC[C@H]([C@H]([C@@H]([C@H](C(=O)O)O)O)O)O': 'OC[C@H]([C@H]([C@@H]([C@H](C(=O)O)O)O)O)O', 'OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O': 'OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O', 'O[C@H]1C(=O)OCC1(C)C': 'O[C@H]1C(=O)OCC1(C)C', 'Oc1ccc(cc1)C(=O)O': 'Oc1ccc(cc1)C(=O)O', 'Oc1ccc(cc1)S([O])([O])O': 'Oc1ccc(cc1)S([O])([O])O', 'Oc1cccc2c1nccc2': 'Oc1cccc2c1nccc2', 'Oc1ccccc1c1nnc([nH]1)S': 'Oc1ccccc1c1nnc([nH]1)S', 'On1nnc2c1cccc2': 'On1nnc2c1cccc2', 'S=c1[nH]c2c([nH]1)c(=O)n(cn2)C': 'S=c1[nH]c2c([nH]1)c(=O)n(cn2)C', 'S=c1[nH]c2c([nH]1)cncn2': 'S=c1[nH]c2c([nH]1)cncn2', 'S=c1[nH]c2c([nH]1)nccn2': 'S=c1[nH]c2c([nH]1)nccn2', 'S=c1[nH]nc([nH]1)c1cccnc1': 'S=c1[nH]nc([nH]1)c1cccnc1', 'S=c1[nH]nc([nH]1)c1ccco1': 'S=c1[nH]nc([nH]1)c1ccco1', 'S=c1[nH]nc([nH]1)c1ccncc1': 'S=c1[nH]nc([nH]1)c1ccncc1', 'S=c1sc2c([nH]1)cccc2': 'S=c1sc2c([nH]1)cccc2', 'SC#N': 'SC#N', 'S[C]1NC2=C[CH]C=NC2=N1': 'S[C]1NC2=C[CH]C=NC2=N1', 'Sc1n[nH]cn1': 'Sc1n[nH]cn1', 'Sc1nc(N)c(c(n1)S)N': 'Sc1nc(N)c(c(n1)S)N', 'Sc1nc(N)c2c(n1)[nH]nc2': 'Sc1nc(N)c2c(n1)[nH]nc2', 'Sc1nc2c([nH]1)cccc2': 'Sc1nc2c([nH]1)cccc2', 'Sc1ncc[nH]1': 'Sc1ncc[nH]1', 'Sc1ncccn1': 'Sc1ncccn1', 'Sc1nnc(s1)S': 'Sc1nnc(s1)S', '[Cl-].[Cl-].[Cl-].[Ce+3]': '[Cl-].[Cl-].[Cl-].[Ce+3]', '[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[Ce+3]': '[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[Ce+3]', '[NH4+].[NH4+].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[Ce+4]': '[NH4+].[NH4+].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[Ce+4]', '[O-]S(=O)(=O)[O-].[O-]S(=O)(=O)[O-].[O-]S(=O)(=O)[O-].[Ce+3].[Ce+3]': '[O-]S(=O)(=O)[O-].[O-]S(=O)(=O)[O-].[O-]S(=O)(=O)[O-].[Ce+3].[Ce+3]', '[O-]S(=O)[O-].[Na+].[Na+]': '[O-]S(=O)[O-].[Na+].[Na+]', 'c1cc(ccc1c2[nH]c(nn2)S)[N+](=O)[O-]': 'c1cc(ccc1c2[nH]c(nn2)S)[N+](=O)[O-]', 'c1ccc(nc1)c1ccccn1': 'c1ccc(nc1)c1ccccn1', 'c1ccc2c(c1)[nH]nn2': 'c1ccc2c(c1)[nH]nn2', 'c1ncn[nH]1': 'c1ncn[nH]1', 'C(C(CO)([N+](=O)[O-])Br)O': 'C(C(CO)([N+](=O)[O-])Br)O', 'C(CC=O)CC=O': 'C(CC=O)CC=O', 'C1=CC(=C(C=C1F)F)C(CN2C=NC=N2)(CN3C=NC=N3)O': 'C1=CC(=C(C=C1F)F)C(CN2C=NC=N2)(CN3C=NC=N3)O', 'C1=CC(=CN=C1)C=NNC(=S)N': 'C1=CC(=CN=C1)C=NNC(=S)N', 'C1=CC(=NC(=C1)N)N': 'C1=CC(=NC(=C1)N)N', 'C1=CC=C(C=C1)C(C2=CC=CC=C2)(C3=CC=CC=C3Cl)N4C=CN=C4': 'C1=CC=C(C=C1)C(C2=CC=CC=C2)(C3=CC=CC=C3Cl)N4C=CN=C4', 'C1=CC=NC(=C1)C=NNC(=S)N': 'C1=CC=NC(=C1)C=NNC(=S)N', 'C1=CN=C(C=N1)C(=O)N': 'C1=CN=C(C=N1)C(=O)N', 'C1=CN=C(N=C1)N': 'C1=CN=C(N=C1)N', 'C1=CN=CC=C1C=NNC(=S)N': 'C1=CN=CC=C1C=NNC(=S)N', 'C1CCC(=NO)CC1': 'C1CCC(=NO)CC1', 'C=CC1=C(N2C(C(C2=O)NC(=O)C(=NOCC(=O)O)C3=CSC(=N3)N)SC1)C(=O)O': 'C=CC1=C(N2C(C(C2=O)NC(=O)C(=NOCC(=O)O)C3=CSC(=N3)N)SC1)C(=O)O', 'CC(=NO)C': 'CC(=NO)C', 'CC(C)(C)NCC(COC1=CC=CC2=C1CC(C(C2)O)O)O': 'CC(C)(C)NCC(COC1=CC=CC2=C1CC(C(C2)O)O)O', 'CC(C)(C)NCC(COC1=NSN=C1N2CCOCC2)O': 'CC(C)(C)NCC(COC1=NSN=C1N2CCOCC2)O', 'CC(C)NCC(COC1=CC=C(C=C1)CC(=O)N)O': 'CC(C)NCC(COC1=CC=C(C=C1)CC(=O)N)O', 'CC(C)NCC(COC1=CC=CC2=CC=CC=C21)O': 'CC(C)NCC(COC1=CC=CC2=CC=CC=C21)O', 'CC(OC(=O)C)OC(=O)C1=C(CSC2N1C(=O)C2NC(=O)C(=NOC)C3=CC=CO3)COC(=O)N': 'CC(OC(=O)C)OC(=O)C1=C(CSC2N1C(=O)C2NC(=O)C(=NOC)C3=CC=CO3)COC(=O)N', 'CC1=CC=C(C=C1)[N]2N=NC=C2O': 'CC1=CC=C(C=C1)[N]2N=NC=C2O', 'CC1=CN=C(C=N1)C(=O)N': 'CC1=CN=C(C=N1)C(=O)N', 'CC1=NC(=CC=C1)C': 'CC1=NC(=CC=C1)C', 'CCC(=NO)C': 'CCC(=NO)C', 'CCOC(=O)C1=C(C)N=C(S)NC1C2=CC=C(C=C2)Cl': 'CCOC(=O)C1=C(C)N=C(S)NC1C2=CC=C(C=C2)Cl', 'CN(C)CC1CCCCC1(C2=CC(=CC=C2)OC)O': 'CN(C)CC1CCCCC1(C2=CC(=CC=C2)OC)O', 'COC(=O)C1=CC=C(C=C1)[N]2N=NC=C2O': 'COC(=O)C1=CC=C(C=C1)[N]2N=NC=C2O', 'COC1=NC=C(N=C1)C(=O)N': 'COC1=NC=C(N=C1)C(=O)N', 'NC(N)=S': 'NC(N)=S', 'NC1=CCNC(=S)N1': 'NC1=CCNC(=S)N1', 'OC1=C(C=CC=C1)C=NC2=CC=C(C=C2)N=NC3=C(C=CC=C3)N=CC4=C(C=CC=C4)O': 'OC1=C(C=CC=C1)C=NC2=CC=C(C=C2)N=NC3=C(C=CC=C3)N=CC4=C(C=CC=C4)O', 'OC1=CN=N[N]1C2=CC=C(C=C2)Cl': 'OC1=CN=N[N]1C2=CC=C(C=C2)Cl'}\n" + ] + } + ], + "source": [ + "#Create a dictionary of unique SMILES representations found in the dataframe\n", + "\n", + "unique_SMILES = df_combined[\"SMILES\"].unique()\n", + "\n", + "dic_SMILES = dict(zip(unique_SMILES, unique_SMILES))\n", + "\n", + "print(dic_SMILES)" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "from baybe.parameters import SubstanceParameter\n", + "\n", + "mordred_parameters = basic_parameters + [\n", + " SubstanceParameter(\n", + " name=\"SMILES\",\n", + " data=dic_SMILES,\n", + " encoding=\"MORDRED\",\n", + " )\n", + "]\n", + "\n", + "rdkit_parameters = basic_parameters + [\n", + " SubstanceParameter(\n", + " name=\"SMILES\",\n", + " data=dic_SMILES,\n", + " encoding=\"RDKIT\",\n", + " )\n", + "]\n", + "\n", + "morganfp_parameters = basic_parameters + [\n", + " SubstanceParameter(\n", + " name=\"SMILES\",\n", + " data=dic_SMILES,\n", + " encoding=\"MORGAN_FP\",\n", + " )\n", + "]\n", + "\n", + "ohe_parameters = basic_parameters + [\n", + " CategoricalParameter(\n", + " name=\"SMILES\",\n", + " values=unique_SMILES,\n", + " encoding=\"OHE\",\n", + " )\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [], + "source": [ + "searchspace_mordred = SearchSpace.from_dataframe(df.drop(\"Efficiency\", axis = 1), mordred_parameters)\n", + "searchspace_rdkit = SearchSpace.from_dataframe(df.drop(\"Efficiency\", axis = 1), rdkit_parameters)\n", + "searchspace_morganfp = SearchSpace.from_dataframe(df.drop(\"Efficiency\", axis = 1), morganfp_parameters)\n", + "searchspace_ohe = SearchSpace.from_dataframe(df.drop(\"Efficiency\", axis = 1), ohe_parameters)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Recommenders" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The **SequentialGreedyRecommender** is a powerful recommender that leverages BoTorch optimization functions to perform sequential Greedy optimization. It can be applied for discrete, continuous and hybrid sarch spaces. It is an implementation of the BoTorch optimization functions for discrete, continuous and mixed spaces. **It is important to note that this recommender performs a brute-force search when applied in hybrid search spaces, as it optimizes the continuous part of the space while exhaustively searching choices in the discrete subspace.** You can customize this behavior to only sample a certain percentage of the discrete subspace via the sample_percentage attribute and to choose different sampling strategies via the hybrid_sampler attribute. \n", + "\n", + "e.g.\n", + "strategy = TwoPhaseStrategy(recommender=SequentialGreedyRecommender(hybrid_sampler=\"Farthest\", sampling_percentage=0.3))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For implementing fully customized surrogate models e.g. from sklearn or PyTorch, see:\n", + "https://emdgroup.github.io/baybe/examples/Custom_Surrogates/Custom_Surrogates.html\n" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "from baybe.recommenders import (\n", + " SequentialGreedyRecommender,\n", + " FPSRecommender,\n", + " TwoPhaseMetaRecommender,\n", + ")\n", + "\n", + "recommender = TwoPhaseMetaRecommender(\n", + " initial_recommender=FPSRecommender(), # farthest point sampling\n", + " recommender=SequentialGreedyRecommender(), # Bayesian model-based optimization\n", + ")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Campaign Strategy" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [], + "source": [ + "from baybe.strategies import TwoPhaseStrategy\n", + "from baybe import Campaign\n", + "\n", + "campaign_rdkit = Campaign(searchspace_rdkit, objective)\n", + "campaign_mordred = Campaign(searchspace_mordred, objective)\n", + "campaign_morganfp = Campaign(searchspace_morganfp, objective)\n", + "campaign_ohe = Campaign(searchspace_ohe, objective)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Start simulation" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "scenarios = {\n", + " \"OHE\" : campaign_ohe,\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 0%| | 0/10 [00:00" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sns.lineplot(\n", + " data=results,\n", + " x=\"Num_Experiments\",\n", + " y=\"Efficiency_CumBest\",\n", + " hue=\"Scenario\",\n", + " marker=\"x\",\n", + ")\n", + "\n", + "plt.xlim(0, N_DOE_ITERATIONS)\n", + "plt.ylim(0, 100)\n", + "\n", + "plt.savefig(\"Scenarios\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Evalute best results" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Index(['Scenario', 'Random_Seed', 'Iteration', 'Num_Experiments',\n", + " 'Efficiency_Measurements', 'Efficiency_IterBest', 'Efficiency_CumBest'],\n", + " dtype='object')\n" + ] + } + ], + "source": [ + "print(results.columns)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Use transfer learning on other metals" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Define the training function (i.e. the previously investigated larger data set) and the yet to be optimized data sets." + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "from baybe.parameters import TaskParameter\n", + "\n", + "taskparam = TaskParameter(\n", + " name=\"Al_alloys\",\n", + " values=[\"AA1000\", \"AA2024\"],\n", + " active_values=[\"AA2024\"],\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [], + "source": [ + "unique_SMILES_transfer = df_transfer[\"SMILES\"].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 59, + "metadata": {}, + "outputs": [], + "source": [ + "from baybe.parameters import NumericalContinuousParameter, CategoricalParameter, NumericalDiscreteParameter\n", + "from baybe.searchspace import SearchSpace\n", + "\n", + "transfer_parameters=[\n", + "NumericalDiscreteParameter(\n", + " name=\"Time_h\",\n", + " values=df_combined[\"Time_h\"].unique(),\n", + " tolerance=5/60,\n", + "),\n", + "NumericalDiscreteParameter(\n", + " name=\"pH\",\n", + " values=df_combined[\"pH\"].unique(),\n", + " ), \n", + "NumericalDiscreteParameter(\n", + " name=\"Inhib_Concentrat_M\",\n", + " values=df_combined[\"Inhib_Concentrat_M\"].unique(),\n", + " ),\n", + "NumericalDiscreteParameter(\n", + " name=\"Salt_Concentrat_M\",\n", + " values=df_combined[\"Salt_Concentrat_M\"].unique(),\n", + " ),\n", + "CategoricalParameter(\n", + " name=\"SMILES\",\n", + " values=unique_SMILES,\n", + " encoding=\"OHE\",\n", + " )\n", + "]" + ] + }, + { + "cell_type": "code", + "execution_count": 60, + "metadata": {}, + "outputs": [], + "source": [ + "searchspace_transfer = SearchSpace.from_dataframe(df_transfer.drop(\"Efficiency\", axis = 1), transfer_parameters)\n", + "\n", + "campaign_transfer = Campaign(searchspace_transfer, objective)" + ] + }, + { + "cell_type": "code", + "execution_count": 61, + "metadata": {}, + "outputs": [], + "source": [ + "df_features = df.drop(\"Efficiency\", axis = 1)" + ] + }, + { + "cell_type": "code", + "execution_count": 62, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 0%| | 0/1 [00:00\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Time_hpHInhib_Concentrat_MSalt_Concentrat_MEfficiency
count258.000000258.000000258.000000258.000000258.000000
mean161.0910856.5798450.0081030.12740338.761628
std214.5363172.2416080.0143350.177444158.903313
min0.5000000.0000000.0000100.000000-1760.000000
25%24.0000005.4000000.0010000.05000030.000000
50%24.0000007.0000000.0010000.10000057.500000
75%240.0000007.0000000.0100000.10000087.825000
max672.00000010.0000000.1000000.600000100.000000
\n", + "" + ], + "text/plain": [ + " Time_h pH Inhib_Concentrat_M Salt_Concentrat_M \\\n", + "count 258.000000 258.000000 258.000000 258.000000 \n", + "mean 161.091085 6.579845 0.008103 0.127403 \n", + "std 214.536317 2.241608 0.014335 0.177444 \n", + "min 0.500000 0.000000 0.000010 0.000000 \n", + "25% 24.000000 5.400000 0.001000 0.050000 \n", + "50% 24.000000 7.000000 0.001000 0.100000 \n", + "75% 240.000000 7.000000 0.010000 0.100000 \n", + "max 672.000000 10.000000 0.100000 0.600000 \n", + "\n", + " Efficiency \n", + "count 258.000000 \n", + "mean 38.761628 \n", + "std 158.903313 \n", + "min -1760.000000 \n", + "25% 30.000000 \n", + "50% 57.500000 \n", + "75% 87.825000 \n", + "max 100.000000 " + ] + }, + "execution_count": 66, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "fraction_df.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "ename": "ValueError", + "evalue": "No objects to concatenate", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[65], line 7\u001b[0m\n\u001b[1;32m 4\u001b[0m df[\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mFraction\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;241m=\u001b[39m fractions[i]\n\u001b[1;32m 6\u001b[0m \u001b[38;5;66;03m# Concatenate the dataframes into a single dataframe\u001b[39;00m\n\u001b[0;32m----> 7\u001b[0m concatenated_df \u001b[38;5;241m=\u001b[39m \u001b[43mpd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mconcat\u001b[49m\u001b[43m(\u001b[49m\u001b[43mresults_transfer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mignore_index\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43;01mTrue\u001b[39;49;00m\u001b[43m)\u001b[49m\n\u001b[1;32m 9\u001b[0m \u001b[38;5;66;03m# Print the concatenated dataframe\u001b[39;00m\n\u001b[1;32m 10\u001b[0m \u001b[38;5;28mprint\u001b[39m(concatenated_df)\n", + "File \u001b[0;32m~/.local/lib/python3.10/site-packages/pandas/core/reshape/concat.py:382\u001b[0m, in \u001b[0;36mconcat\u001b[0;34m(objs, axis, join, ignore_index, keys, levels, names, verify_integrity, sort, copy)\u001b[0m\n\u001b[1;32m 379\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m copy \u001b[38;5;129;01mand\u001b[39;00m using_copy_on_write():\n\u001b[1;32m 380\u001b[0m copy \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mFalse\u001b[39;00m\n\u001b[0;32m--> 382\u001b[0m op \u001b[38;5;241m=\u001b[39m \u001b[43m_Concatenator\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 383\u001b[0m \u001b[43m \u001b[49m\u001b[43mobjs\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 384\u001b[0m \u001b[43m \u001b[49m\u001b[43maxis\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43maxis\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 385\u001b[0m \u001b[43m \u001b[49m\u001b[43mignore_index\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mignore_index\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 386\u001b[0m \u001b[43m \u001b[49m\u001b[43mjoin\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mjoin\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 387\u001b[0m \u001b[43m \u001b[49m\u001b[43mkeys\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mkeys\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 388\u001b[0m \u001b[43m \u001b[49m\u001b[43mlevels\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mlevels\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 389\u001b[0m \u001b[43m \u001b[49m\u001b[43mnames\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mnames\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 390\u001b[0m \u001b[43m \u001b[49m\u001b[43mverify_integrity\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mverify_integrity\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 391\u001b[0m \u001b[43m \u001b[49m\u001b[43mcopy\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mcopy\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 392\u001b[0m \u001b[43m \u001b[49m\u001b[43msort\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msort\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 393\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 395\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m op\u001b[38;5;241m.\u001b[39mget_result()\n", + "File \u001b[0;32m~/.local/lib/python3.10/site-packages/pandas/core/reshape/concat.py:445\u001b[0m, in \u001b[0;36m_Concatenator.__init__\u001b[0;34m(self, objs, axis, join, keys, levels, names, ignore_index, verify_integrity, copy, sort)\u001b[0m\n\u001b[1;32m 442\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mverify_integrity \u001b[38;5;241m=\u001b[39m verify_integrity\n\u001b[1;32m 443\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mcopy \u001b[38;5;241m=\u001b[39m copy\n\u001b[0;32m--> 445\u001b[0m objs, keys \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_clean_keys_and_objs\u001b[49m\u001b[43m(\u001b[49m\u001b[43mobjs\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkeys\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 447\u001b[0m \u001b[38;5;66;03m# figure out what our result ndim is going to be\u001b[39;00m\n\u001b[1;32m 448\u001b[0m ndims \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_get_ndims(objs)\n", + "File \u001b[0;32m~/.local/lib/python3.10/site-packages/pandas/core/reshape/concat.py:507\u001b[0m, in \u001b[0;36m_Concatenator._clean_keys_and_objs\u001b[0;34m(self, objs, keys)\u001b[0m\n\u001b[1;32m 504\u001b[0m objs_list \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(objs)\n\u001b[1;32m 506\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mlen\u001b[39m(objs_list) \u001b[38;5;241m==\u001b[39m \u001b[38;5;241m0\u001b[39m:\n\u001b[0;32m--> 507\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mNo objects to concatenate\u001b[39m\u001b[38;5;124m\"\u001b[39m)\n\u001b[1;32m 509\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m keys \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[1;32m 510\u001b[0m objs_list \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mlist\u001b[39m(com\u001b[38;5;241m.\u001b[39mnot_none(\u001b[38;5;241m*\u001b[39mobjs_list))\n", + "\u001b[0;31mValueError\u001b[0m: No objects to concatenate" + ] + } + ], + "source": [ + "# Add an additional column to each dataframe\n", + "fractions = (0.01, 0.2)\n", + "for i, df in enumerate(results_transfer):\n", + " df['Fraction'] = fractions[i]\n", + "\n", + "# Concatenate the dataframes into a single dataframe\n", + "concatenated_df = pd.concat(results_transfer, ignore_index=True)\n", + "\n", + "# Print the concatenated dataframe\n", + "print(concatenated_df)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Random_SeedIterationNum_ExperimentsEfficiency_IterBestEfficiency_CumBest
count50.050.0000050.0000050.00000050.000000
mean1337.024.5000025.5000068.42471886.399133
std0.014.5773814.5773823.77539911.036087
min1337.00.000001.000004.39000057.000000
25%1337.012.2500013.2500050.80600078.380000
50%1337.024.5000025.5000079.91000090.000000
75%1337.036.7500037.7500087.32821493.590000
max1337.049.0000050.0000096.20000096.200000
\n", + "
" + ], + "text/plain": [ + " Random_Seed Iteration Num_Experiments Efficiency_IterBest \\\n", + "count 50.0 50.00000 50.00000 50.000000 \n", + "mean 1337.0 24.50000 25.50000 68.424718 \n", + "std 0.0 14.57738 14.57738 23.775399 \n", + "min 1337.0 0.00000 1.00000 4.390000 \n", + "25% 1337.0 12.25000 13.25000 50.806000 \n", + "50% 1337.0 24.50000 25.50000 79.910000 \n", + "75% 1337.0 36.75000 37.75000 87.328214 \n", + "max 1337.0 49.00000 50.00000 96.200000 \n", + "\n", + " Efficiency_CumBest \n", + "count 50.000000 \n", + "mean 86.399133 \n", + "std 11.036087 \n", + "min 57.000000 \n", + "25% 78.380000 \n", + "50% 90.000000 \n", + "75% 93.590000 \n", + "max 96.200000 " + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results = " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = sns.lineplot(\n", + " data=result_fraction,\n", + " marker=\"o\",\n", + " markersize=10,\n", + " x=\"Num_Experiments\",\n", + " y=\"Efficiency_CumBest\",\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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HGYy/awtW7bgvvvug0ajQc+ePfHbb7/hwIED6NGjB7y9vREXF4c///zT4ud/+OGH6NChA9RqNdq3b4/333/ffM503a+//hr9+vWDp6cnunbtir179wIAdu3ahfHjx0On05l7rt566y0AwPvvv4/IyEio1WoEBgbiscces+reEzV0DDNEDYhcLseiRYuwcuVK/P777zZf58cff8SlS5fw888/45133sHcuXPx0EMPwd/fH2lpaZg4cSJeeOGFev2MylasWIHCwkLMmDEDAPDmm28iPz8f7733nkW7119/Ha+99hoOHz6MmJgYDB06FFeuXAEA5Ofno3///ujWrRsOHjyIHTt2IDc3F0888YTFNdavXw+lUok9e/ZgzZo1NdY0d+5czJo1C7/++isUCgVGjx6N6dOn491338V///tfnDlzBnPmzDG337BhA+bMmYOFCxfi1KlTWLRoEWbPno3169dbXPfNN9/EtGnTcOTIEbRt2xajRo1CRUUF7r33XixfvhxardbcczVt2jQcPHgQkyZNwvz583H69Gns2LEDffr0qdf9JmpwnLY/NxE51NixY8Vhw4aJoiiK99xzjxgfHy+Koihu3bpVNP2nPnfuXLFr164W37ds2TIxLCzM4jphYWGiwWAwH2vXrp143333mb+uqKgQvby8xE2bNtWpNgCiWq0Wvby8LD7nz583t/nll19EDw8Pcfbs2aJCoRD/+9//ms9lZWWJAMTFixebj5WXl4t33HGHuGTJElEURXHBggXiwIEDLX7uxYsXRQDi6dOnRVEUxb59+4rdunWrtr6tW7da/KwPP/zQfH7Tpk0iADElJcV8LDExUWzXrp3564iICHHjxo0W112wYIEYExNT43VPnDghAhBPnToliqIoJiUlib6+vhbX+Oqrr0StVivq9foqdRPRdQrJUhQROcySJUvQv39/TJs2zabv79SpE2Symx23gYGB6Ny5s/lruVyOpk2b4vLly3W+5rJlyxAbG2txLCQkxPznmJgYTJs2DQsWLMAbb7yB3r17V7lGTEyM+c8KhQI9evTAqVOnAABHjx7FTz/9BG9v7yrfl5mZibZt2wIAunfvXqd6u3TpYv5zYGAgACAqKsrimOn3LywsRGZmJp599lk8//zz5jYVFRXw9fWt8brBwcEAgMuXL6N9+/bV1vHAAw8gLCwMrVu3xuDBgzF48GA88sgj8PT0rNPvQdQYMMwQNUB9+vTBoEGDMHPmTIwbN858XCaTQRRFi7bl5eVVvt/Dw8Pia0EQqj1mNBrrXFNQUBDatGlT43mj0Yg9e/ZALpfjzJkzdb6uSUFBAYYOHYolS5ZUOWcKDQDg5eVVp+tV/n1Nb4Pdesz0+xcUFAAAPvjgA0RHR1tcRy6X3/a6td1HHx8f/Prrr9i1axe+//57zJkzB2+99RYOHDjAN5+IbuCcGaIGavHixfj222/NE0wBICAgADk5ORaB5siRIxJUV9Xf//53/O9//0Nqaip27NhR7QTjffv2mf9cUVGBQ4cOoUOHDgCAu+66CydOnECrVq3Qpk0bi09dA4ytAgMDERISgrNnz1b52eHh4XW+jlKphMFgqHJcoVAgNjYWS5cuRXp6Os6dO4cff/zRnr8CkVtjzwxRAxUVFYUxY8ZgxYoV5mP3338//vzzTyxduhSPPfYYduzYge3bt0Or1Tq8nvz8fOTk5Fgc8/HxgZeXFw4fPow5c+bgyy+/RK9evfDOO+/g1VdfRd++fdG6dWtz+1WrViEyMhIdOnTAsmXLkJeXh/j4eABAQkICPvjgA4waNQrTp09HkyZNcObMGWzevBkffvhhlR4Se5s3bx4mTZoEX19fDB48GKWlpTh48CDy8vIwderUOl2jVatWKCgoQEpKCrp27QpPT0/8+OOPOHv2LPr06QN/f3/85z//gdFoRLt27Rz6+xC5E/bMEDVg8+fPtxjC6NChA95//32sWrUKXbt2xf79+22eV2Ot8ePHIzg42OKzcuVKlJSU4KmnnsK4ceMwdOhQAMCECRPQr18/PP300xY9FYsXL8bixYvRtWtX7N69G9988w2aNWsG4Pr8mz179sBgMGDgwIGIiorC5MmT4efnZzH/x1Gee+45fPjhh0hKSkJUVBT69u2LdevWWdUzc++992LixIl48sknERAQgKVLl8LPzw9ff/01+vfvjw4dOmDNmjXYtGkTOnXq5MDfhsi9COKtA+hERC7m3LlzCA8Px+HDh6usk0NExJ4ZIiIicmsMM0RUL4sWLYK3t3e1H1fY74iIGj4OMxFRvVy9ehVXr16t9pxGo0GLFi2cXBERNTYMM0REROTWOMxEREREbo1hhoiIiNwawwwRERG5NYYZIiIicmsMM0REROTWGGaIiIjIrTHMEBERkVtjmCEiIiK39v9zIb8V8A0DiwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ax = sns.lineplot(\n", + " data=result_transfer_learning,\n", + " marker=\"o\",\n", + " markersize=10,\n", + " x=\"Num_Experiments\",\n", + " y=\"Efficiency_CumBest\",\n", + ")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "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.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/can_baybe-inhibitor.ipynb b/can_baybe-inhibitor.ipynb new file mode 100644 index 0000000..4e98bce --- /dev/null +++ b/can_baybe-inhibitor.ipynb @@ -0,0 +1,1146 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Introduction" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "This project will focus on exploring the capabilities of Bayesian optimization, specifically employing BayBE, in the discovery of novel corrosion inhibitors for materials design. Initially, we will work with a randomly chosen subset from a comprehensive database of electrochemical responses of small organic molecules. Our goal is to assess how Bayesian optimization can speed up the screening process across the design space to identify promising compounds. We will compare different strategies for incorporating alloy information, while optimizing the experimental parameters with respect to the inhibitive performance of the screened compounds." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Initizalization" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Loading libraries and data files:" + ] + }, + { + "cell_type": "code", + "execution_count": 164, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
SMILESTime_hpHInhib_Concentrat_MSalt_Concentrat_MEfficiency
0C(=O)(C(=O)[O-])[O-]24.04.01.000000e-030.1015.00
1C(=O)(C(=O)[O-])[O-]24.07.05.000000e-040.0512.35
2C(=O)(C(=O)[O-])[O-]24.010.01.000000e-030.1030.00
3C(C(=O)[O-])C(CC(=O)[O-])(C(=O)[O-])O0.02.05.000000e-072.0053.85
4C(C(=O)[O-])C(CC(=O)[O-])(C(=O)[O-])O0.02.01.000000e-062.0058.55
.....................
986c1ccc2c(c1)[nH]nn224.07.05.000000e-040.0597.95
987c1ccc2c(c1)[nH]nn224.010.01.000000e-030.1060.00
988c1ccc2c(c1)[nH]nn2672.07.01.000000e-030.1095.00
989c1ncn[nH]124.04.01.000000e-030.1035.00
990c1ncn[nH]124.010.01.000000e-030.1050.00
\n", + "

991 rows × 6 columns

\n", + "
" + ], + "text/plain": [ + " SMILES Time_h pH Inhib_Concentrat_M \\\n", + "0 C(=O)(C(=O)[O-])[O-] 24.0 4.0 1.000000e-03 \n", + "1 C(=O)(C(=O)[O-])[O-] 24.0 7.0 5.000000e-04 \n", + "2 C(=O)(C(=O)[O-])[O-] 24.0 10.0 1.000000e-03 \n", + "3 C(C(=O)[O-])C(CC(=O)[O-])(C(=O)[O-])O 0.0 2.0 5.000000e-07 \n", + "4 C(C(=O)[O-])C(CC(=O)[O-])(C(=O)[O-])O 0.0 2.0 1.000000e-06 \n", + ".. ... ... ... ... \n", + "986 c1ccc2c(c1)[nH]nn2 24.0 7.0 5.000000e-04 \n", + "987 c1ccc2c(c1)[nH]nn2 24.0 10.0 1.000000e-03 \n", + "988 c1ccc2c(c1)[nH]nn2 672.0 7.0 1.000000e-03 \n", + "989 c1ncn[nH]1 24.0 4.0 1.000000e-03 \n", + "990 c1ncn[nH]1 24.0 10.0 1.000000e-03 \n", + "\n", + " Salt_Concentrat_M Efficiency \n", + "0 0.10 15.00 \n", + "1 0.05 12.35 \n", + "2 0.10 30.00 \n", + "3 2.00 53.85 \n", + "4 2.00 58.55 \n", + ".. ... ... \n", + "986 0.05 97.95 \n", + "987 0.10 60.00 \n", + "988 0.10 95.00 \n", + "989 0.10 35.00 \n", + "990 0.10 50.00 \n", + "\n", + "[991 rows x 6 columns]" + ] + }, + "execution_count": 164, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns\n", + "import os\n", + "\n", + "from baybe import Campaign\n", + "from baybe.objective import Objective\n", + "from baybe.parameters import NumericalDiscreteParameter, SubstanceParameter, CategoricalParameter\n", + "from baybe.recommenders import RandomRecommender, TwoPhaseMetaRecommender\n", + "from baybe.searchspace import SearchSpace\n", + "from baybe.simulation import simulate_scenarios\n", + "from baybe.targets import NumericalTarget\n", + "\n", + "df_AA2024 = pd.read_excel('data/averaged_filtered_AA2024.xlsx')\n", + "df_AA5000 = pd.read_excel('data/averaged_filtered_AA5000.xlsx')\n", + "df_AA6000 = pd.read_excel('data/averaged_filtered_AA6000.xlsx')\n", + "df_AA7075 = pd.read_excel('data/averaged_filtered_AA7075.xlsx')\n", + "df_AA1000 = pd.read_excel('data/averaged_filtered_AA1000.xlsx')\n", + "df_Al = pd.read_excel('data/averaged_filtered_Al.xlsx')\n", + "\n", + "# change this for campaigns on different datasets\n", + "df_active = df_Al\n", + "\n", + "\n", + "if df_active is df_AA2024:\n", + " exp_dataset_name = 'AA2024'\n", + "elif df_active is df_AA7075:\n", + " exp_dataset_name = 'AA7075'\n", + "elif df_active is df_AA5000:\n", + " exp_dataset_name = 'AA5000'\n", + "elif df_active is df_AA6000:\n", + " exp_dataset_name = 'AA6000'\n", + "elif df_active is df_AA1000:\n", + " exp_dataset_name = 'AA1000'\n", + "elif df_active is df_Al:\n", + " exp_dataset_name = 'Al'\n", + "\n", + "df_active" + ] + }, + { + "cell_type": "code", + "execution_count": 165, + "metadata": {}, + "outputs": [], + "source": [ + "lookup = df_active" + ] + }, + { + "cell_type": "code", + "execution_count": 166, + "metadata": {}, + "outputs": [], + "source": [ + "# chemical space dictionary\n", + "unique_SMILES = df_active.SMILES.unique()\n", + "\n", + "def list_to_dict(input_list):\n", + " return {item: item for item in input_list}\n", + "\n", + "smiles_dict =list_to_dict(unique_SMILES)" + ] + }, + { + "cell_type": "code", + "execution_count": 167, + "metadata": {}, + "outputs": [], + "source": [ + "# parameters\n", + "\n", + "basic_parameters=[\n", + "NumericalDiscreteParameter(\n", + " name=\"Time_h\",\n", + " values=df_active[\"Time_h\"].unique(),\n", + " # tolerance = 0.004, assume certain experimental noise for each parameter measurement?\n", + "),\n", + "NumericalDiscreteParameter(\n", + " name=\"pH\",\n", + " values=df_active[\"pH\"].unique(),\n", + " ), \n", + "NumericalDiscreteParameter(\n", + " name=\"Inhib_Concentrat_M\",\n", + " values=df_active[\"Inhib_Concentrat_M\"].unique(),\n", + " ),\n", + "NumericalDiscreteParameter(\n", + " name=\"Salt_Concentrat_M\",\n", + " values=df_active[\"Salt_Concentrat_M\"].unique(),\n", + " ),\n", + "]\n", + "\n", + "# mordred\n", + "parameters_mordred = basic_parameters + [\n", + " SubstanceParameter(\n", + " name=\"SMILES\",\n", + " data=smiles_dict,\n", + " encoding=\"MORDRED\", # optional\n", + " decorrelate=0.7, # optional\n", + " ) \n", + " ]\n", + "\n", + "# morgan fingerprints\n", + "parameters_morgan_fp = basic_parameters + [\n", + " SubstanceParameter(\n", + " name=\"SMILES\",\n", + " data=smiles_dict,\n", + " encoding=\"MORGAN_FP\", # optional\n", + " decorrelate=0.7, # optional\n", + " ) \n", + " ]\n", + "\n", + "# rdkit\n", + "parameters_rdkit = basic_parameters + [\n", + " SubstanceParameter(\n", + " name=\"SMILES\",\n", + " data=smiles_dict,\n", + " encoding=\"RDKIT\", # optional\n", + " decorrelate=0.7, # optional\n", + " ) \n", + " ]\n", + "\n", + "# one-hot encoding\n", + "parameters_ohe = basic_parameters + [\n", + " CategoricalParameter(\n", + " name=\"SMILES\",\n", + " values=unique_SMILES,\n", + " encoding=\"OHE\",\n", + " )\n", + " ]" + ] + }, + { + "cell_type": "code", + "execution_count": 168, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "________________________________________________________________________________\n", + "[Memory] Calling baybe.utils.chemistry._smiles_to_mordred_features...\n", + "_smiles_to_mordred_features('C1=CC(=C(C=C1C2=C(C(=O)C3=C(C=C(C=C3O2)O)O)O)O)O')\n", + "_______________________________________smiles_to_mordred_features - 0.3s, 0.0min\n", + "________________________________________________________________________________\n", + "[Memory] Calling baybe.utils.chemistry._smiles_to_mordred_features...\n", + "_smiles_to_mordred_features('C1=CC=C(C=C1)C(=O)SC(=N)N')\n", + "_______________________________________smiles_to_mordred_features - 0.1s, 0.0min\n", + "________________________________________________________________________________\n", + "[Memory] Calling baybe.utils.chemistry._smiles_to_mordred_features...\n", + "_smiles_to_mordred_features('C1=CC=C(C=C1)C(=O)SC(=N)NC2=CC=C(C=C2)C')\n", + "_______________________________________smiles_to_mordred_features - 0.1s, 0.0min\n", + "________________________________________________________________________________\n", + "[Memory] Calling baybe.utils.chemistry._smiles_to_mordred_features...\n", + "_smiles_to_mordred_features('C1=CC=C(C=C1)C(=O)SC(=N)NC2=CC=C(C=C2)OC')\n", + "_______________________________________smiles_to_mordred_features - 0.1s, 0.0min\n", + "________________________________________________________________________________\n", + "[Memory] Calling baybe.utils.chemistry._smiles_to_mordred_features...\n", + "_smiles_to_mordred_features('N=C(NC1=CC=C(C=C1)Br)SC(O)C2=CC=CC=C2')\n", + "_______________________________________smiles_to_mordred_features - 0.1s, 0.0min\n", + "________________________________________________________________________________\n", + "[Memory] Calling baybe.utils.chemistry._smiles_to_mordred_features...\n", + "_smiles_to_mordred_features('N=C(NC1=CC=C(C=C1)Cl)SC(O)C2=CC=CC=C2')\n", + "_______________________________________smiles_to_mordred_features - 0.1s, 0.0min\n" + ] + } + ], + "source": [ + "df_no_target = lookup.drop('Efficiency', axis=1)\n", + "\n", + "# searchspace = SearchSpace.from_dataframe(df = df_no_target, parameters=parameters)\n", + "# print('Print test 1')\n", + "# objective = Objective(\n", + "# mode=\"SINGLE\", targets=[NumericalTarget(name=\"Efficiency\", mode=\"MAX\")]\n", + "# )\n", + "\n", + "\n", + "searchspace_mordred = SearchSpace.from_dataframe(df = df_no_target, parameters=parameters_mordred)\n", + "\n", + "searchspace_morgan = SearchSpace.from_dataframe(df = df_no_target, parameters=parameters_morgan_fp)\n", + "\n", + "searchspace_rdkit = SearchSpace.from_dataframe(df = df_no_target, parameters=parameters_rdkit)\n", + "\n", + "searchspace_ohe = SearchSpace.from_dataframe(df = df_no_target, parameters=parameters_rdkit)\n", + "\n", + "\n", + "objective = Objective(\n", + " mode=\"SINGLE\", targets=[NumericalTarget(name=\"Efficiency\", mode=\"MAX\")]\n", + ")\n" + ] + }, + { + "cell_type": "code", + "execution_count": 169, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "SearchSpace(discrete=SubspaceDiscrete(parameters=[NumericalDiscreteParameter(name='Time_h', encoding=None, _values=[0.0, 0.25, 0.33, 0.5, 0.58, 0.67, 0.75, 1.0, 1.5, 1.67, 2.0, 2.5, 3.0, 3.5, 4.0, 4.5, 5.0, 5.5, 6.0, 8.0, 10.0, 24.0, 48.0, 72.0, 96.0, 120.0, 144.0, 168.0, 192.0, 240.0, 288.0, 336.0, 360.0, 384.0, 432.0, 480.0, 528.0, 576.0, 600.0, 624.0, 672.0, 720.0], tolerance=0.0), NumericalDiscreteParameter(name='pH', encoding=None, _values=[-0.6, -0.4771212547196624, -0.3979400086720376, -0.3010299956639812, -0.3, -0.1760912590556812, -0.1367205671564068, 0.0, 0.3, 0.45, 0.7, 1.0, 1.7, 2.0, 3.3, 4.0, 4.4, 4.6, 5.4, 5.5, 5.6, 7.0, 7.6, 10.0, 11.0, 13.0, 13.7, 14.30102999566398], tolerance=0.0), NumericalDiscreteParameter(name='Inhib_Concentrat_M', encoding=None, _values=[1e-07, 5e-07, 1e-06, 2e-06, 4e-06, 5e-06, 6e-06, 8e-06, 8.271845945141117e-06, 1e-05, 1.2e-05, 1.5e-05, 1.654369189028223e-05, 2e-05, 2.481553783542335e-05, 3e-05, 3.308738378056447e-05, 4e-05, 4.135922972570559e-05, 5e-05, 6e-05, 7e-05, 8e-05, 8.271845945141118e-05, 0.0001, 0.00015, 0.0001958863858961802, 0.0002, 0.00021, 0.0003, 0.0003566333808844508, 0.0003917727717923605, 0.0004, 0.00042, 0.0005, 0.0005876591576885406, 0.0006, 0.0007, 0.0007132667617689017, 0.0007835455435847209, 0.0008, 0.00084, 0.0009, 0.0009794319294809011, 0.001, 0.0011, 0.0012, 0.0013, 0.0014, 0.0015, 0.0016, 0.001783166904422254, 0.0018, 0.0019, 0.002, 0.002139800285306705, 0.0024, 0.0025, 0.0026, 0.003, 0.0032, 0.003566333808844508, 0.0039, 0.004, 0.0042, 0.00427960057061341, 0.0045, 0.005, 0.0053, 0.005706134094151214, 0.0065, 0.007, 0.0075, 0.0085, 0.009, 0.01, 0.011, 0.015, 0.02, 0.021, 0.022, 0.025, 0.031, 0.033, 0.04, 0.042, 0.044, 0.05, 0.06, 0.08, 0.1, 0.66, 1.32, 1.97, 2.63, 3.28], tolerance=0.0), NumericalDiscreteParameter(name='Salt_Concentrat_M', encoding=None, _values=[0.0, 0.01, 0.05, 0.1, 0.5, 0.6, 1.0, 2.0], tolerance=0.0), SubstanceParameter(name='SMILES', data={'C(=O)(C(=O)[O-])[O-]': 'C(=O)(C(=O)[O-])[O-]', 'C(C(=O)[O-])C(CC(=O)[O-])(C(=O)[O-])O': 'C(C(=O)[O-])C(CC(=O)[O-])(C(=O)[O-])O', 'C(C(C(C(C(C(=O)[O-])O)O)O)O)O.C(C(C(C(C(C(=O)[O-])O)O)O)O)O.[Fe+2]': 'C(C(C(C(C(C(=O)[O-])O)O)O)O)O.C(C(C(C(C(C(=O)[O-])O)O)O)O)O.[Fe+2]', 'C(C(C(C(C(C(=O)[O-])O)O)O)O)O.C(C(C(C(C(C(=O)[O-])O)O)O)O)O.[Zn+2]': 'C(C(C(C(C(C(=O)[O-])O)O)O)O)O.C(C(C(C(C(C(=O)[O-])O)O)O)O)O.[Zn+2]', 'C(C(CO)([N+](=O)[O-])Br)O': 'C(C(CO)([N+](=O)[O-])Br)O', 'C(CC=O)CC=O': 'C(CC=O)CC=O', 'C1=CC(=C(C(=C1)C=NC2=CC=C(C=C2)N=CC3=CC=CC(=C3O)OC)O)OC': 'C1=CC(=C(C(=C1)C=NC2=CC=C(C=C2)N=CC3=CC=CC(=C3O)OC)O)OC', 'C1=CC(=C(C=C1C2=C(C(=O)C3=C(C=C(C=C3O2)O)O)O)O)O': 'C1=CC(=C(C=C1C2=C(C(=O)C3=C(C=C(C=C3O2)O)O)O)O)O', 'C1=CC(=C(C=C1Cl)Cl)COC(CN2C=CN=C2)C3=C(C=C(C=C3)Cl)Cl.[N+](=O)(O)[O-]': 'C1=CC(=C(C=C1Cl)Cl)COC(CN2C=CN=C2)C3=C(C=C(C=C3)Cl)Cl.[N+](=O)(O)[O-]', 'C1=CC(=C(C=C1F)F)C(CN2C=NC=N2)(CN3C=NC=N3)O': 'C1=CC(=C(C=C1F)F)C(CN2C=NC=N2)(CN3C=NC=N3)O', 'C1=CC(=C(C=C1O)O)C=NNC(=S)N': 'C1=CC(=C(C=C1O)O)C=NNC(=S)N', 'C1=CC(=C(C=C1SSC2=CC(=C(C=C2)[N+](=O)[O-])C(=O)O)C(=O)O)[N+](=O)[O-]': 'C1=CC(=C(C=C1SSC2=CC(=C(C=C2)[N+](=O)[O-])C(=O)O)C(=O)O)[N+](=O)[O-]', 'C1=CC(=CC(=C1)O)O': 'C1=CC(=CC(=C1)O)O', 'C1=CC(=CC(=C1)S)C(=O)O': 'C1=CC(=CC(=C1)S)C(=O)O', 'C1=CC(=CC=C1O)O': 'C1=CC(=CC=C1O)O', 'C1=CC(=CN=C1)C(=O)NN': 'C1=CC(=CN=C1)C(=O)NN', 'C1=CC(=CN=C1)C=NNC(=S)N': 'C1=CC(=CN=C1)C=NNC(=S)N', 'C1=CC(=NC(=C1)N)N': 'C1=CC(=NC(=C1)N)N', 'C1=CC2=NNN=C2C=C1Cl': 'C1=CC2=NNN=C2C=C1Cl', 'C1=CC=C(C(=C1)C=NC2=CC=C(C=C2)N=CC3=CC=CC=C3O)O': 'C1=CC=C(C(=C1)C=NC2=CC=C(C=C2)N=CC3=CC=CC=C3O)O', 'C1=CC=C(C(=C1)C=NNC(=S)N)O': 'C1=CC=C(C(=C1)C=NNC(=S)N)O', 'C1=CC=C(C(=C1)O)O': 'C1=CC=C(C(=C1)O)O', 'C1=CC=C(C=C1)C(=O)SC(=N)N': 'C1=CC=C(C=C1)C(=O)SC(=N)N', 'C1=CC=C(C=C1)C(=O)SC(=N)NC2=CC=C(C=C2)C': 'C1=CC=C(C=C1)C(=O)SC(=N)NC2=CC=C(C=C2)C', 'C1=CC=C(C=C1)C(=O)SC(=N)NC2=CC=C(C=C2)OC': 'C1=CC=C(C=C1)C(=O)SC(=N)NC2=CC=C(C=C2)OC', 'C1=CC=C(C=C1)C(C2=CC=CC=C2)(C3=CC=CC=C3Cl)N4C=CN=C4': 'C1=CC=C(C=C1)C(C2=CC=CC=C2)(C3=CC=CC=C3Cl)N4C=CN=C4', 'C1=CC=NC(=C1)C=NNC(=S)N': 'C1=CC=NC(=C1)C=NNC(=S)N', 'C1=CN=C(C=N1)C(=O)N': 'C1=CN=C(C=N1)C(=O)N', 'C1=CN=C(N=C1)N': 'C1=CN=C(N=C1)N', 'C1=CN=CC=C1C=NNC(=S)N': 'C1=CN=CC=C1C=NNC(=S)N', 'C1CCC(=NO)CC1': 'C1CCC(=NO)CC1', 'C1COCCN1CCCS(=O)(=O)O': 'C1COCCN1CCCS(=O)(=O)O', 'C1N2CN3CN1CN(C2)C3': 'C1N2CN3CN1CN(C2)C3', 'C=CC(=O)OCCOC(=O)OCCSc1ncccn1': 'C=CC(=O)OCCOC(=O)OCCSc1ncccn1', 'C=CC1=C(N2C(C(C2=O)NC(=O)C(=NOCC(=O)O)C3=CSC(=N3)N)SC1)C(=O)O': 'C=CC1=C(N2C(C(C2=O)NC(=O)C(=NOCC(=O)O)C3=CSC(=N3)N)SC1)C(=O)O', 'C=CCN(CC=C)C1=NC(=NC(=N1)S)S[Na]': 'C=CCN(CC=C)C1=NC(=NC(=N1)S)S[Na]', 'CC(=NO)C': 'CC(=NO)C', 'CC(=O)O': 'CC(=O)O', 'CC(=O)SSC(=O)C': 'CC(=O)SSC(=O)C', 'CC(C)(C)NCC(COC1=CC=CC2=C1CC(C(C2)O)O)O': 'CC(C)(C)NCC(COC1=CC=CC2=C1CC(C(C2)O)O)O', 'CC(C)(C)NCC(COC1=NSN=C1N2CCOCC2)O': 'CC(C)(C)NCC(COC1=NSN=C1N2CCOCC2)O', 'CC(C)NCC(COC1=CC=C(C=C1)CC(=O)N)O': 'CC(C)NCC(COC1=CC=C(C=C1)CC(=O)N)O', 'CC(C)NCC(COC1=CC=CC2=CC=CC=C21)O': 'CC(C)NCC(COC1=CC=CC2=CC=CC=C21)O', 'CC(OC(=O)C)OC(=O)C1=C(CSC2N1C(=O)C2NC(=O)C(=NOC)C3=CC=CO3)COC(=O)N': 'CC(OC(=O)C)OC(=O)C1=C(CSC2N1C(=O)C2NC(=O)C(=NOC)C3=CC=CO3)COC(=O)N', 'CC1(C(N2C(S1)C(C2=O)NC(=O)C(C3=CC=C(C=C3)O)N)C(=O)O)C': 'CC1(C(N2C(S1)C(C2=O)NC(=O)C(C3=CC=C(C=C3)O)N)C(=O)O)C', 'CC1=C(SC=[N+]1CC2=CN=C(N=C2N)C)CCO': 'CC1=C(SC=[N+]1CC2=CN=C(N=C2N)C)CCO', 'CC1=CC=C(C=C1)[N]2N=NC=C2O': 'CC1=CC=C(C=C1)[N]2N=NC=C2O', 'CC1=CN=C(C=N1)C(=O)N': 'CC1=CN=C(C=N1)C(=O)N', 'CC1=NC(=CC=C1)C': 'CC1=NC(=CC=C1)C', 'CCC(=NO)C': 'CCC(=NO)C', 'CCCCCCCC/C=C\\\\CCCCCCCC(=O)O': 'CCCCCCCC/C=C\\\\CCCCCCCC(=O)O', 'CCCCCCCCCCCCCCCCCC(=O)O': 'CCCCCCCCCCCCCCCCCC(=O)O', 'CCCCCCCCCCCCCCN(CC(=O)O[Na])CC(=O)O[Na]': 'CCCCCCCCCCCCCCN(CC(=O)O[Na])CC(=O)O[Na]', 'CCCCCCCCCCCCN(CC(=O)O[Na])CC(=O)O[Na]': 'CCCCCCCCCCCCN(CC(=O)O[Na])CC(=O)O[Na]', 'CCCCCCCCCCCCOS(=O)(=O)O': 'CCCCCCCCCCCCOS(=O)(=O)O', 'CCCCCCCCCCCCc1ccccc1S([O])([O])O': 'CCCCCCCCCCCCc1ccccc1S([O])([O])O', 'CCCCCCCCN(CC(=O)O[Na])CC(=O)O[Na]': 'CCCCCCCCN(CC(=O)O[Na])CC(=O)O[Na]', 'CCCCN(CCCC)C1=NC(=NC(=N1)NC(CCSC)C(=O)O)NC(CCSC)C(=O)O': 'CCCCN(CCCC)C1=NC(=NC(=N1)NC(CCSC)C(=O)O)NC(CCSC)C(=O)O', 'CCCCN(CCCC)C1=NC(=NC(=N1)S)S[Na]': 'CCCCN(CCCC)C1=NC(=NC(=N1)S)S[Na]', 'CCCCOP(=O)(OCCCC)O': 'CCCCOP(=O)(OCCCC)O', 'CCN(C(=S)S)CC': 'CCN(C(=S)S)CC', 'CCOC(=O)C1=C(C)N=C(S)NC1C2=CC=C(C=C2)Cl': 'CCOC(=O)C1=C(C)N=C(S)NC1C2=CC=C(C=C2)Cl', 'CCOc1ccc2c(c1)nc([nH]2)S': 'CCOc1ccc2c(c1)nc([nH]2)S', 'CCSc1nnc(s1)N': 'CCSc1nnc(s1)N', 'CN(C)CC1CCCCC1(C2=CC(=CC=C2)OC)O': 'CN(C)CC1CCCCC1(C2=CC(=CC=C2)OC)O', 'CN1C=NC2=C1C(=O)N(C(=O)N2C)C': 'CN1C=NC2=C1C(=O)N(C(=O)N2C)C', 'CNCC(C1=CC(=CC=C1)O)O': 'CNCC(C1=CC(=CC=C1)O)O', 'COC(=O)C1=CC=C(C=C1)[N]2N=NC=C2O': 'COC(=O)C1=CC=C(C=C1)[N]2N=NC=C2O', 'COC(=O)CCCC1=CNC2=CC=CC=C21': 'COC(=O)CCCC1=CNC2=CC=CC=C21', 'COC(=O)n1nnc2ccccc12': 'COC(=O)n1nnc2ccccc12', 'COC1=C(C=CC(=C1)C2=CC(=C(C=C2)N=NC3=C(C4=C(C=C(C=C4C=C3S(=O)(=O)[O-])S(=O)(=O)[O-])N)O)OC)N=NC5=C(C6=C(C=C(C=C6C=C5S(=O)(=O)[O-])S(=O)(=O)[O-])N)O.[Na+].[Na+].[Na+].[Na+]': 'COC1=C(C=CC(=C1)C2=CC(=C(C=C2)N=NC3=C(C4=C(C=C(C=C4C=C3S(=O)(=O)[O-])S(=O)(=O)[O-])N)O)OC)N=NC5=C(C6=C(C=C(C=C6C=C5S(=O)(=O)[O-])S(=O)(=O)[O-])N)O.[Na+].[Na+].[Na+].[Na+]', 'COC1=NC=C(N=C1)C(=O)N': 'COC1=NC=C(N=C1)C(=O)N', 'COCCOC(=O)OCSc1nc2c(s1)cccc2': 'COCCOC(=O)OCSc1nc2c(s1)cccc2', 'COc1ccc2c(c1)[nH]c(=S)[nH]2': 'COc1ccc2c(c1)[nH]c(=S)[nH]2', 'COc1cccc(c1)c1n[nH]c(=S)[nH]1': 'COc1cccc(c1)c1n[nH]c(=S)[nH]1', 'CS[C]1N[N]C(=N1)N': 'CS[C]1N[N]C(=N1)N', 'CSc1[nH]c2c(n1)cc(c(c2)C)C': 'CSc1[nH]c2c(n1)cc(c(c2)C)C', 'CSc1nnc(s1)N': 'CSc1nnc(s1)N', 'Cc1cc(C)nc(n1)S': 'Cc1cc(C)nc(n1)S', 'Cc1ccc(c(c1)n1nc2c(n1)cccc2)O': 'Cc1ccc(c(c1)n1nc2c(n1)cccc2)O', 'Cc1ccc2c(c1)nc([nH]2)S': 'Cc1ccc2c(c1)nc([nH]2)S', 'Cc1n[nH]c(=S)s1': 'Cc1n[nH]c(=S)s1', 'Cc1nsc(c1)N': 'Cc1nsc(c1)N', 'ClC([C]1N[N]C=N1)(Cl)Cl': 'ClC([C]1N[N]C=N1)(Cl)Cl', 'Clc1cc2[nH]c(=S)[nH]c2cc1Cl': 'Clc1cc2[nH]c(=S)[nH]c2cc1Cl', 'Clc1ccc(cc1)CC[C@](C(C)(C)C)(Cn1cncn1)O': 'Clc1ccc(cc1)CC[C@](C(C)(C)C)(Cn1cncn1)O', 'Clc1ccc(cc1Cl)c1n[nH]c(=S)[nH]1': 'Clc1ccc(cc1Cl)c1n[nH]c(=S)[nH]1', 'Clc1ccc2c(c1)[nH]c(n2)S': 'Clc1ccc2c(c1)[nH]c(n2)S', 'Clc1cccc(c1)c1n[nH]c(=S)[nH]1': 'Clc1cccc(c1)c1n[nH]c(=S)[nH]1', 'Cn1cnnc1S': 'Cn1cnnc1S', 'Cn1nnnc1S': 'Cn1nnnc1S', 'N.N.[N+](=O)(O)[O-].[N+](=O)(O)[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].O.O.O.O.[Ce+3]': 'N.N.[N+](=O)(O)[O-].[N+](=O)(O)[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].O.O.O.O.[Ce+3]', 'N=C(NC1=CC=C(C=C1)Br)SC(O)C2=CC=CC=C2': 'N=C(NC1=CC=C(C=C1)Br)SC(O)C2=CC=CC=C2', 'N=C(NC1=CC=C(C=C1)Cl)SC(O)C2=CC=CC=C2': 'N=C(NC1=CC=C(C=C1)Cl)SC(O)C2=CC=CC=C2', 'NC(=S)NN=CC1=C(C(=C(C=C1)O)O)O': 'NC(=S)NN=CC1=C(C(=C(C=C1)O)O)O', 'NC(CO)C(=O)O': 'NC(CO)C(=O)O', 'NC(N)=S': 'NC(N)=S', 'NC1=CCNC(=S)N1': 'NC1=CCNC(=S)N1', 'NCC(=O)O': 'NCC(=O)O', 'NO': 'NO', 'Nc1cc(N)nc(n1)S': 'Nc1cc(N)nc(n1)S', 'Nc1cc(S)nc(n1)N': 'Nc1cc(S)nc(n1)N', 'Nc1ccc2c(c1)sc(=S)[nH]2': 'Nc1ccc2c(c1)sc(=S)[nH]2', 'Nc1ccnc(n1)S': 'Nc1ccnc(n1)S', 'Nc1n[nH]c(=S)s1': 'Nc1n[nH]c(=S)s1', 'Nc1n[nH]c(n1)S': 'Nc1n[nH]c(n1)S', 'Nc1n[nH]cn1': 'Nc1n[nH]cn1', 'Nc1nc([nH]n1)C(=O)O': 'Nc1nc([nH]n1)C(=O)O', 'Nc1ncncc1N': 'Nc1ncncc1N', 'Nn1c(NN)nnc1S': 'Nn1c(NN)nnc1S', 'Nn1c(S)nnc1c1ccccc1': 'Nn1c(S)nnc1c1ccccc1', 'Nn1cnnc1': 'Nn1cnnc1', 'O/N=C(/C(=N/O)/C)\\\\C': 'O/N=C(/C(=N/O)/C)\\\\C', 'O/N=C(\\\\C(=N/O)\\\\c1ccco1)/c1ccco1': 'O/N=C(\\\\C(=N/O)\\\\c1ccco1)/c1ccco1', 'O=C(O)/C=C\\\\C(=O)O': 'O=C(O)/C=C\\\\C(=O)O', 'O=C(O)C(O)C(O)C(=O)O': 'O=C(O)C(O)C(O)C(=O)O', 'O=C(O)CC(CC(=O)O)C(=O)O': 'O=C(O)CC(CC(=O)O)C(=O)O', 'O=C(O)CC(O)C(=O)O': 'O=C(O)CC(O)C(=O)O', 'O=C(O)CCC(=O)O': 'O=C(O)CCC(=O)O', 'O=C([O-])C(O)C(O)C(O)C(O)CO.[Na+]': 'O=C([O-])C(O)C(O)C(O)C(O)CO.[Na+]', 'OC(=O)/C=C/c1ccccc1': 'OC(=O)/C=C/c1ccccc1', 'OC(=O)C(CC(=O)O)(CC(=O)O)O': 'OC(=O)C(CC(=O)O)(CC(=O)O)O', 'OC(=O)CCCCC(=O)O': 'OC(=O)CCCCC(=O)O', 'OC(=O)CCCCCCCCCCCCCCC(=O)O': 'OC(=O)CCCCCCCCCCCCCCC(=O)O', 'OC(=O)CCS': 'OC(=O)CCS', 'OC(=O)CN(CC(=O)O)CCN(CC(=O)O)CC(=O)O': 'OC(=O)CN(CC(=O)O)CCN(CC(=O)O)CC(=O)O', 'OC(=O)CS': 'OC(=O)CS', 'OC(=O)Cn1nnnc1S': 'OC(=O)Cn1nnnc1S', 'OC(=O)c1ccc(=S)[nH]c1': 'OC(=O)c1ccc(=S)[nH]c1', 'OC(=O)c1ccc(cc1)N': 'OC(=O)c1ccc(cc1)N', 'OC(=O)c1ccc(cc1)S': 'OC(=O)c1ccc(cc1)S', 'OC(=O)c1ccc(cc1)c1ccccc1': 'OC(=O)c1ccc(cc1)c1ccccc1', 'OC(=O)c1ccccc1': 'OC(=O)c1ccccc1', 'OC(=O)c1ccccc1O': 'OC(=O)c1ccccc1O', 'OC(=O)c1ccccc1S': 'OC(=O)c1ccccc1S', 'OC(=O)c1ccccn1': 'OC(=O)c1ccccn1', 'OC(=O)c1cccnc1': 'OC(=O)c1cccnc1', 'OC(=O)c1cccnc1S': 'OC(=O)c1cccnc1S', 'OC(=O)c1ccncc1': 'OC(=O)c1ccncc1', 'OC(=O)c1n[nH]c(n1)N': 'OC(=O)c1n[nH]c(n1)N', 'OC1=C(C=CC=C1)C=NC2=CC=C(C=C2)N=NC3=C(C=CC=C3)N=CC4=C(C=CC=C4)O': 'OC1=C(C=CC=C1)C=NC2=CC=C(C=C2)N=NC3=C(C=CC=C3)N=CC4=C(C=CC=C4)O', 'OC1=CN=N[N]1C2=CC=C(C=C2)Cl': 'OC1=CN=N[N]1C2=CC=C(C=C2)Cl', 'OCC(CO)O': 'OCC(CO)O', 'OC[C@H]([C@H]([C@@H]([C@@H](CO)O)O)O)O': 'OC[C@H]([C@H]([C@@H]([C@@H](CO)O)O)O)O', 'OC[C@H]([C@H]([C@@H]([C@H](C(=O)O)O)O)O)O': 'OC[C@H]([C@H]([C@@H]([C@H](C(=O)O)O)O)O)O', 'OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O': 'OC[C@H]1OC(O)[C@H](O)[C@@H](O)[C@@H]1O', 'O[C@H]1C(=O)OCC1(C)C': 'O[C@H]1C(=O)OCC1(C)C', 'Oc1ccc(cc1)C(=O)O': 'Oc1ccc(cc1)C(=O)O', 'Oc1ccc(cc1)S([O])([O])O': 'Oc1ccc(cc1)S([O])([O])O', 'Oc1cccc2c1nccc2': 'Oc1cccc2c1nccc2', 'Oc1ccccc1c1nnc([nH]1)S': 'Oc1ccccc1c1nnc([nH]1)S', 'On1nnc2c1cccc2': 'On1nnc2c1cccc2', 'S=c1[nH]c2c([nH]1)c(=O)n(cn2)C': 'S=c1[nH]c2c([nH]1)c(=O)n(cn2)C', 'S=c1[nH]c2c([nH]1)cncn2': 'S=c1[nH]c2c([nH]1)cncn2', 'S=c1[nH]c2c([nH]1)nccn2': 'S=c1[nH]c2c([nH]1)nccn2', 'S=c1[nH]nc([nH]1)c1cccnc1': 'S=c1[nH]nc([nH]1)c1cccnc1', 'S=c1[nH]nc([nH]1)c1ccco1': 'S=c1[nH]nc([nH]1)c1ccco1', 'S=c1[nH]nc([nH]1)c1ccncc1': 'S=c1[nH]nc([nH]1)c1ccncc1', 'S=c1sc2c([nH]1)cccc2': 'S=c1sc2c([nH]1)cccc2', 'SC#N': 'SC#N', 'S[C]1NC2=C[CH]C=NC2=N1': 'S[C]1NC2=C[CH]C=NC2=N1', 'Sc1n[nH]cn1': 'Sc1n[nH]cn1', 'Sc1nc(N)c(c(n1)S)N': 'Sc1nc(N)c(c(n1)S)N', 'Sc1nc(N)c2c(n1)[nH]nc2': 'Sc1nc(N)c2c(n1)[nH]nc2', 'Sc1nc2c([nH]1)cccc2': 'Sc1nc2c([nH]1)cccc2', 'Sc1ncc[nH]1': 'Sc1ncc[nH]1', 'Sc1ncccn1': 'Sc1ncccn1', 'Sc1nnc(s1)S': 'Sc1nnc(s1)S', '[Cl-].[Cl-].[Cl-].[Ce+3]': '[Cl-].[Cl-].[Cl-].[Ce+3]', '[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[Ce+3]': '[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[Ce+3]', '[NH4+].[NH4+].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[Ce+4]': '[NH4+].[NH4+].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[N+](=O)([O-])[O-].[Ce+4]', '[O-]S(=O)(=O)[O-].[O-]S(=O)(=O)[O-].[O-]S(=O)(=O)[O-].[Ce+3].[Ce+3]': '[O-]S(=O)(=O)[O-].[O-]S(=O)(=O)[O-].[O-]S(=O)(=O)[O-].[Ce+3].[Ce+3]', '[O-]S(=O)[O-].[Na+].[Na+]': '[O-]S(=O)[O-].[Na+].[Na+]', 'c1cc(ccc1c2[nH]c(nn2)S)[N+](=O)[O-]': 'c1cc(ccc1c2[nH]c(nn2)S)[N+](=O)[O-]', 'c1ccc(nc1)c1ccccn1': 'c1ccc(nc1)c1ccccn1', 'c1ccc2c(c1)[nH]nn2': 'c1ccc2c(c1)[nH]nn2', 'c1ncn[nH]1': 'c1ncn[nH]1'}, decorrelate=0.7, encoding=)], exp_rep= Time_h pH Inhib_Concentrat_M Salt_Concentrat_M \\\n", + "0 24.0 4.0 1.000000e-03 0.10 \n", + "1 24.0 7.0 5.000000e-04 0.05 \n", + "2 24.0 10.0 1.000000e-03 0.10 \n", + "3 0.0 2.0 5.000000e-07 2.00 \n", + "4 0.0 2.0 1.000000e-06 2.00 \n", + ".. ... ... ... ... \n", + "986 24.0 7.0 5.000000e-04 0.05 \n", + "987 24.0 10.0 1.000000e-03 0.10 \n", + "988 672.0 7.0 1.000000e-03 0.10 \n", + "989 24.0 4.0 1.000000e-03 0.10 \n", + "990 24.0 10.0 1.000000e-03 0.10 \n", + "\n", + " SMILES \n", + "0 C(=O)(C(=O)[O-])[O-] \n", + "1 C(=O)(C(=O)[O-])[O-] \n", + "2 C(=O)(C(=O)[O-])[O-] \n", + "3 C(C(=O)[O-])C(CC(=O)[O-])(C(=O)[O-])O \n", + "4 C(C(=O)[O-])C(CC(=O)[O-])(C(=O)[O-])O \n", + ".. ... \n", + "986 c1ccc2c(c1)[nH]nn2 \n", + "987 c1ccc2c(c1)[nH]nn2 \n", + "988 c1ccc2c(c1)[nH]nn2 \n", + "989 c1ncn[nH]1 \n", + "990 c1ncn[nH]1 \n", + "\n", + "[991 rows x 5 columns], metadata= was_recommended was_measured dont_recommend\n", + "0 False False False\n", + "1 False False False\n", + "2 False False False\n", + "3 False False False\n", + "4 False False False\n", + ".. ... ... ...\n", + "986 False False False\n", + "987 False False False\n", + "988 False False False\n", + "989 False False False\n", + "990 False False False\n", + "\n", + "[991 rows x 3 columns], empty_encoding=False, constraints=[], comp_rep= Time_h pH Inhib_Concentrat_M Salt_Concentrat_M \\\n", + "0 24.0 4.0 1.000000e-03 0.10 \n", + "1 24.0 7.0 5.000000e-04 0.05 \n", + "2 24.0 10.0 1.000000e-03 0.10 \n", + "3 0.0 2.0 5.000000e-07 2.00 \n", + "4 0.0 2.0 1.000000e-06 2.00 \n", + ".. ... ... ... ... \n", + "986 24.0 7.0 5.000000e-04 0.05 \n", + "987 24.0 10.0 1.000000e-03 0.10 \n", + "988 672.0 7.0 1.000000e-03 0.10 \n", + "989 24.0 4.0 1.000000e-03 0.10 \n", + "990 24.0 10.0 1.000000e-03 0.10 \n", + "\n", + " SMILES_RDKIT_MaxAbsEStateIndex SMILES_RDKIT_MinAbsEStateIndex \\\n", + "0 8.925926 2.185185 \n", + "1 8.925926 2.185185 \n", + "2 8.925926 2.185185 \n", + "3 10.148889 1.357824 \n", + "4 10.148889 1.357824 \n", + ".. ... ... \n", + "986 3.813148 0.914352 \n", + "987 3.813148 0.914352 \n", + "988 3.813148 0.914352 \n", + "989 3.555556 1.444444 \n", + "990 3.555556 1.444444 \n", + "\n", + " SMILES_RDKIT_MinEStateIndex SMILES_RDKIT_qed SMILES_RDKIT_SPS \\\n", + "0 -2.185185 0.287408 7.333333 \n", + "1 -2.185185 0.287408 7.333333 \n", + "2 -2.185185 0.287408 7.333333 \n", + "3 -2.974537 0.454904 10.846154 \n", + "4 -2.974537 0.454904 10.846154 \n", + ".. ... ... ... \n", + "986 0.914352 0.560736 10.222222 \n", + "987 0.914352 0.560736 10.222222 \n", + "988 0.914352 0.560736 10.222222 \n", + "989 1.444444 0.458207 8.000000 \n", + "990 1.444444 0.458207 8.000000 \n", + "\n", + " SMILES_RDKIT_MolWt ... SMILES_RDKIT_fr_nitro_arom_nonortho \\\n", + "0 88.018 ... 0 \n", + "1 88.018 ... 0 \n", + "2 88.018 ... 0 \n", + "3 189.099 ... 0 \n", + "4 189.099 ... 0 \n", + ".. ... ... ... \n", + "986 119.127 ... 0 \n", + "987 119.127 ... 0 \n", + "988 119.127 ... 0 \n", + "989 69.067 ... 0 \n", + "990 69.067 ... 0 \n", + "\n", + " SMILES_RDKIT_fr_oxime SMILES_RDKIT_fr_para_hydroxylation \\\n", + "0 0 0 \n", + "1 0 0 \n", + "2 0 0 \n", + "3 0 0 \n", + "4 0 0 \n", + ".. ... ... \n", + "986 0 1 \n", + "987 0 1 \n", + "988 0 1 \n", + "989 0 0 \n", + "990 0 0 \n", + "\n", + " SMILES_RDKIT_fr_phos_acid SMILES_RDKIT_fr_priamide \\\n", + "0 0 0 \n", + "1 0 0 \n", + "2 0 0 \n", + "3 0 0 \n", + "4 0 0 \n", + ".. ... ... \n", + "986 0 0 \n", + "987 0 0 \n", + "988 0 0 \n", + "989 0 0 \n", + "990 0 0 \n", + "\n", + " SMILES_RDKIT_fr_pyridine SMILES_RDKIT_fr_quatN SMILES_RDKIT_fr_sulfide \\\n", + "0 0 0 0 \n", + "1 0 0 0 \n", + "2 0 0 0 \n", + "3 0 0 0 \n", + "4 0 0 0 \n", + ".. ... ... ... \n", + "986 0 0 0 \n", + "987 0 0 0 \n", + "988 0 0 0 \n", + "989 0 0 0 \n", + "990 0 0 0 \n", + "\n", + " SMILES_RDKIT_fr_tetrazole SMILES_RDKIT_fr_thiazole \n", + "0 0 0 \n", + "1 0 0 \n", + "2 0 0 \n", + "3 0 0 \n", + "4 0 0 \n", + ".. ... ... \n", + "986 0 0 \n", + "987 0 0 \n", + "988 0 0 \n", + "989 0 0 \n", + "990 0 0 \n", + "\n", + "[991 rows x 99 columns]), continuous=SubspaceContinuous(parameters=[], constraints_lin_eq=[], constraints_lin_ineq=[]))" + ] + }, + "execution_count": 169, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "searchspace_rdkit" + ] + }, + { + "cell_type": "code", + "execution_count": 170, + "metadata": {}, + "outputs": [], + "source": [ + "campaign_mordred = Campaign(searchspace=searchspace_mordred, objective=objective)\n", + "campaign_morgan = Campaign(searchspace=searchspace_morgan, objective=objective)\n", + "campaign_rdkit = Campaign(searchspace=searchspace_rdkit, objective=objective)\n", + "campaign_ohe = Campaign(searchspace=searchspace_ohe, objective=objective)\n", + "\n", + "campaign_rand_mordred = Campaign(\n", + " searchspace=searchspace_mordred,\n", + " recommender=TwoPhaseMetaRecommender(recommender=RandomRecommender()),\n", + " objective=objective,\n", + ")\n", + "campaign_rand_morgan = Campaign(\n", + " searchspace=searchspace_morgan,\n", + " recommender=TwoPhaseMetaRecommender(recommender=RandomRecommender()),\n", + " objective=objective,\n", + ")\n", + "campaign_rand_rdkit = Campaign(\n", + " searchspace=searchspace_rdkit,\n", + " recommender=TwoPhaseMetaRecommender(recommender=RandomRecommender()),\n", + " objective=objective,\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 171, + "metadata": {}, + "outputs": [], + "source": [ + "scenarios = {\"Mordred\": campaign_mordred, #\"Random\": campaign_rand_mordred,\n", + " \"Morgan\": campaign_morgan, #\"Morgan Random\": campaign_rand_morgan,\n", + " \"RDKIT\": campaign_rdkit,\n", + " \"OHE\": campaign_ohe, \n", + " \"Random\": campaign_rand_rdkit\n", + " }" + ] + }, + { + "cell_type": "code", + "execution_count": 172, + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + " 0%| | 0/50 [00:00" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "max_yield = lookup[\"Efficiency\"].max()\n", + "# plot_results = results[results['Scenario'].isin(['Mordred', 'Morgan', 'RDKIT'])]\n", + "\n", + "# until 10\n", + "limit = 10\n", + "sns.lineplot(\n", + " data=results, x=\"Num_Experiments\", y=\"Efficiency_CumBest\", hue=\"Scenario\", marker=\"x\"\n", + ")\n", + "plt.plot([0.5, limit+0.5], [max_yield, max_yield], \"--r\", alpha=0.4)\n", + "plt.legend(loc=\"lower right\")\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.xlim(0, limit+1)\n", + "plt.savefig(f\"./img/{exp_dataset_name}_simulation_{N_MC_ITERATIONS}MC_{N_DOE_ITERATIONS}exp_{BATCH_SIZE}batch_first10.png\")" + ] + }, + { + "cell_type": "code", + "execution_count": 175, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# until 25\n", + "limit = 25\n", + "\n", + "sns.lineplot(\n", + " data=results, x=\"Num_Experiments\", y=\"Efficiency_CumBest\", hue=\"Scenario\", marker=\"x\"\n", + ")\n", + "plt.plot([0.5, N_DOE_ITERATIONS+0.5], [max_yield, max_yield], \"--r\", alpha=0.4)\n", + "plt.legend(loc=\"lower right\")\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.xlim(0, limit+1)\n", + "plt.savefig(f\"./img/{exp_dataset_name}_simulation_{N_MC_ITERATIONS}MC_{N_DOE_ITERATIONS}exp_{BATCH_SIZE}batch_first25.png\")" + ] + }, + { + "cell_type": "code", + "execution_count": 176, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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07RpU+X1ev37WrVqpXr06OH/7PF4VFRUlFq0aFGFYgOUw+FQUVFRAduBAwf853z55ZfKarWqxx9/XBmGoT7//HP/sezsbAWo6dOn+/e53W7VuHFj9cwzzyillHrqqafUtddeG3DfQ4cOKUDt3btXKaVUr169VIcOHU4b37JlywLu9eqrr/qPL1q0SAFq1apV/n3Tpk1TrVq18n9u3ry5WrhwYUC5Tz31lMrIyDhjubt27VKA2rNnj1JKqXnz5qnY2NiAMt555x0VExOjCgoKysUthFDKqLEsSwhRo5555hl69+7NQw89FNL1l156Kbr+S+VwYmIil112mf+zxWKhfv365ObmVrjMGTNmkJmZGbAvJSXF/3dGRgYPPfQQTz31FA8//DBXXnlluTIyMjL8fxuGQefOndmzZw8A27Zt49NPPyU6Orrcdfv37+eSSy4BoFOnThWKt127dv6/ExMTAWjbtm3AvrLvX1RUxP79+xk2bBj/93//5z/H4/EQGxt7xnKTk5MByM3NJT09/bRxXHPNNTRt2pSLL76Y6667juuuu46bb76ZyMjICn0PIeo6SXaEuED17NmTrKwsJk6cyODBg/37dV1HKRVwrtvtLne91WoN+Kxp2mn3maZZ4ZiSkpJo0aLFGY+bpsnatWuxWCzs27evwuWWKSwspH///jzzzDPljpUlFQBRUVEVKu/U71s2mu3X+8q+f2FhIQCvvPIK3bp1CyjHYrGcs9yzPcd69eqxZcsWVq9ezUcffcSkSZN44okn2Lhxo4zcEgLpsyPEBW369Om8//77/g6wAA0bNiQnJycg4fn6669rILry/vznP/Pf//6XNWvWsGLFitN2gF6/fr3/b4/Hw+bNm2ndujUAHTt2ZNeuXTRr1owWLVoEbBVNcEKVmJhISkoK3333Xbl7p6WlVbgcm82G1+stt98wDDIzM3n22WfZvn0733//PZ988klVfgUhai2p2RHiAta2bVsGDhzICy+84N931VVX8eOPP/Lss89y6623smLFCpYvX05MTEy1x5OXl0dOTk7Avnr16hEVFcXWrVuZNGkSb7/9Nt27d+e5557jgQceoFevXlx88cX+82fNmkXLli1p3bo1M2bM4Pjx4wwdOhSAkSNH8sorr3D77bczYcIEEhIS2LdvH4sXL+bVV18tV8NS1Z588klGjx5NbGws1113HS6Xi02bNnH8+HHGjRtXoTKaNWtGYWEhq1aton379kRGRvLJJ5/w3Xff0bNnT+Lj4/nPf/6DaZq0atWqWr+PELWF1OwIcYGbMmVKQBNJ69atmT17NrNmzaJ9+/Z89dVXIffrCdaQIUNITk4O2F588UWcTid33nkngwcPpn///gAMHz6cq6++mrvuuiugpmP69OlMnz6d9u3b88UXX/Dee+/RoEEDwNf/Z+3atXi9Xq699lratm3LmDFjiIuLC+h/VF3uueceXn31VebNm0fbtm3p1asX8+fPD6pm54orrmDEiBH8/ve/p2HDhjz77LPExcWxdOlSevfuTevWrXnppZdYtGgRl156aTV+GyFqD039unFeCCFqoe+//560tDS2bt1abp4gIcSFTWp2hBBCCFGnSbIjhKh2U6dOJTo6+rRbOKw3JYSo26QZSwhR7Y4dO8axY8dOeywiIoKLLrroPEckhLiQSLIjhBBCiDpNmrGEEEIIUadJsiOEEEKIOk2SHSGEEELUaZLsCCGEEKJOk2RHCCGEEHWaJDtCCCGEqNMk2RFCCCFEnSbJjhBCCCHqtP8PwSq+/mMXYlQAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# all experiments\n", + "sns.lineplot(\n", + " data=results, x=\"Num_Experiments\", y=\"Efficiency_CumBest\", hue=\"Scenario\", marker=\"x\"\n", + ")\n", + "plt.plot([0.5, N_DOE_ITERATIONS+0.5], [max_yield, max_yield], \"--r\", alpha=0.4)\n", + "plt.legend(loc=\"lower right\")\n", + "import matplotlib.pyplot as plt\n", + "\n", + "plt.xlim(0, N_DOE_ITERATIONS+1)\n", + "plt.savefig(f\"./img/{exp_dataset_name}_simulation_{N_MC_ITERATIONS}MC_{N_DOE_ITERATIONS}exp_{BATCH_SIZE}batch.png\")" + ] + }, + { + "cell_type": "code", + "execution_count": 177, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
ScenarioRandom_SeedIterationNum_ExperimentsEfficiency_MeasurementsEfficiency_IterBestEfficiency_CumBest
0Mordred133701[91.5]91.50000091.500000
1Mordred133712[66.66499999999999]66.66500091.500000
2Mordred133723[65.0]65.00000091.500000
3Mordred133734[96.43666666666667]96.43666796.436667
4Mordred133745[98.13333333333333]98.13333398.133333
........................
2495Random13464546[10.0]10.00000099.900000
2496Random13464647[65.0]65.00000099.900000
2497Random13464748[53.85]53.85000099.900000
2498Random13464849[64.0]64.00000099.900000
2499Random13464950[72.378]72.37800099.900000
\n", + "

2500 rows × 7 columns

\n", + "
" + ], + "text/plain": [ + " Scenario Random_Seed Iteration Num_Experiments \\\n", + "0 Mordred 1337 0 1 \n", + "1 Mordred 1337 1 2 \n", + "2 Mordred 1337 2 3 \n", + "3 Mordred 1337 3 4 \n", + "4 Mordred 1337 4 5 \n", + "... ... ... ... ... \n", + "2495 Random 1346 45 46 \n", + "2496 Random 1346 46 47 \n", + "2497 Random 1346 47 48 \n", + "2498 Random 1346 48 49 \n", + "2499 Random 1346 49 50 \n", + "\n", + " Efficiency_Measurements Efficiency_IterBest Efficiency_CumBest \n", + "0 [91.5] 91.500000 91.500000 \n", + "1 [66.66499999999999] 66.665000 91.500000 \n", + "2 [65.0] 65.000000 91.500000 \n", + "3 [96.43666666666667] 96.436667 96.436667 \n", + "4 [98.13333333333333] 98.133333 98.133333 \n", + "... ... ... ... \n", + "2495 [10.0] 10.000000 99.900000 \n", + "2496 [65.0] 65.000000 99.900000 \n", + "2497 [53.85] 53.850000 99.900000 \n", + "2498 [64.0] 64.000000 99.900000 \n", + "2499 [72.378] 72.378000 99.900000 \n", + "\n", + "[2500 rows x 7 columns]" + ] + }, + "execution_count": 177, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "results" + ] + }, + { + "cell_type": "code", + "execution_count": 178, + "metadata": {}, + "outputs": [], + "source": [ + "results.to_excel(f\"./results/{exp_dataset_name}_simulation_{N_MC_ITERATIONS}MC_{N_DOE_ITERATIONS}exp_{BATCH_SIZE}batch.xlsx\")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Transfer Learning" + ] + }, + { + "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.10.12" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/data/averaged_filtered_AA1000.xlsx b/data/averaged_filtered_AA1000.xlsx new file mode 100644 index 0000000..089f2d5 Binary files /dev/null and b/data/averaged_filtered_AA1000.xlsx differ diff --git a/data/averaged_filtered_AA2024.xlsx b/data/averaged_filtered_AA2024.xlsx new file mode 100644 index 0000000..6c9b7f0 Binary files /dev/null and b/data/averaged_filtered_AA2024.xlsx differ diff --git a/data/averaged_filtered_AA5000.xlsx b/data/averaged_filtered_AA5000.xlsx new file mode 100644 index 0000000..bf57530 Binary files /dev/null and b/data/averaged_filtered_AA5000.xlsx differ diff --git a/data/averaged_filtered_AA6000.xlsx b/data/averaged_filtered_AA6000.xlsx new file mode 100644 index 0000000..710375a Binary files /dev/null and b/data/averaged_filtered_AA6000.xlsx differ diff --git a/data/averaged_filtered_AA7075.xlsx b/data/averaged_filtered_AA7075.xlsx new file mode 100644 index 0000000..cc107e0 Binary files /dev/null and b/data/averaged_filtered_AA7075.xlsx differ diff --git a/data/averaged_filtered_Al.xlsx b/data/averaged_filtered_Al.xlsx new file mode 100644 index 0000000..a5269d6 Binary files /dev/null and b/data/averaged_filtered_Al.xlsx differ diff --git a/data/filtered_AA1000.xlsx b/data/filtered_AA1000.xlsx deleted file mode 100644 index 9b24f5e..0000000 Binary files a/data/filtered_AA1000.xlsx and /dev/null differ diff --git a/data/filtered_AA2024.xlsx b/data/filtered_AA2024.xlsx deleted file mode 100644 index 876ffa5..0000000 Binary files a/data/filtered_AA2024.xlsx and /dev/null differ diff --git a/data/filtered_Al.xlsx b/data/filtered_Al.xlsx deleted file mode 100644 index d9be577..0000000 Binary files a/data/filtered_Al.xlsx and /dev/null differ diff --git a/results/AA1000_simulation_10MC_50exp_1batch.xlsx b/results/AA1000_simulation_10MC_50exp_1batch.xlsx new file mode 100644 index 0000000..24e781a Binary files /dev/null and b/results/AA1000_simulation_10MC_50exp_1batch.xlsx differ diff --git a/results/AA2024_simulation_10MC_50exp_1batch.xlsx b/results/AA2024_simulation_10MC_50exp_1batch.xlsx new file mode 100644 index 0000000..954135f Binary files /dev/null and b/results/AA2024_simulation_10MC_50exp_1batch.xlsx differ diff --git a/results/AA5000_simulation_10MC_50exp_1batch.xlsx b/results/AA5000_simulation_10MC_50exp_1batch.xlsx new file mode 100644 index 0000000..18c0664 Binary files /dev/null and b/results/AA5000_simulation_10MC_50exp_1batch.xlsx differ diff --git a/results/AA6000_simulation_10MC_50exp_1batch.xlsx b/results/AA6000_simulation_10MC_50exp_1batch.xlsx new file mode 100644 index 0000000..e6a5f71 Binary files /dev/null and b/results/AA6000_simulation_10MC_50exp_1batch.xlsx differ diff --git a/results/AA7075_simulation_10MC_50exp_1batch.xlsx b/results/AA7075_simulation_10MC_50exp_1batch.xlsx new file mode 100644 index 0000000..afafa8c Binary files /dev/null and b/results/AA7075_simulation_10MC_50exp_1batch.xlsx differ diff --git a/results/Al_simulation_10MC_50exp_1batch.xlsx b/results/Al_simulation_10MC_50exp_1batch.xlsx new file mode 100644 index 0000000..973abef Binary files /dev/null and b/results/Al_simulation_10MC_50exp_1batch.xlsx differ