diff --git a/networks/toys/objective/toy_paper_target.txt b/networks/toys/objective/toy_paper_target.txt
new file mode 100644
index 0000000..e2ca9af
--- /dev/null
+++ b/networks/toys/objective/toy_paper_target.txt
@@ -0,0 +1 @@
+R_BIOMASS
\ No newline at end of file
diff --git a/networks/toys/sbml/toy_paper_normalised.sbml b/networks/toys/sbml/toy_paper_normalised.sbml
new file mode 100644
index 0000000..1facf65
--- /dev/null
+++ b/networks/toys/sbml/toy_paper_normalised.sbml
@@ -0,0 +1,154 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/networks/toys/targets/toy_paper_targets.txt b/networks/toys/targets/toy_paper_targets.txt
new file mode 100644
index 0000000..2db6d25
--- /dev/null
+++ b/networks/toys/targets/toy_paper_targets.txt
@@ -0,0 +1 @@
+M_F_c
\ No newline at end of file
diff --git a/notebook/analyses/01_compare_s2lp_netseed.ipynb b/notebook/analyses/01_compare_s2lp_netseed.ipynb
index 9c6eb8c..6da20d0 100644
--- a/notebook/analyses/01_compare_s2lp_netseed.ipynb
+++ b/notebook/analyses/01_compare_s2lp_netseed.ipynb
@@ -170,7 +170,6 @@
"outputs": [],
"source": [
"s2lp_results_reas_dir = os.path.join(analyse_dir, \"results\", \"s2lp_reasoning\")\n",
- "s2lp_results_hyb_cobra_dir = os.path.join(analyse_dir, \"results\", \"s2lp_hyb_cobra\")\n",
"netseed_results_dir = os.path.join(analyse_dir, \"results\", \"netseed_formated_results\")\n",
"s2lp_scope_dir = os.path.join(analyse_dir, \"results\", \"scopes_s2lp\")\n",
"netseed_scope_dir = os.path.join(analyse_dir, \"results\", \"scopes_netseed\")\n",
@@ -298,12 +297,11 @@
},
{
"cell_type": "code",
- "execution_count": 33,
+ "execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
- "def plot_compare(s2lp:pd.DataFrame, netseed:pd.DataFrame, col, labels,\n",
- " is_precursor:bool=False, y_label:str=\"\"):\n",
+ "def plot_compare(s2lp:pd.DataFrame, netseed:pd.DataFrame, col, labels, y_label:str=\"\"):\n",
" np.set_printoptions(precision=3)\n",
" plt.style.use(\"seaborn-v0_8-colorblind\")\n",
"\n",
@@ -374,11 +372,11 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
- "def create_one_plot(s2lp, netseed, labels):\n",
+ "def create_one_plot(s2lp, netseed, labels, s2lp_scope, netseed_scope):\n",
" plt.style.use(\"seaborn-v0_8-colorblind\")\n",
"\n",
" _, s2lp_true_count = get_all_same_validation_fba(s2lp, \"True_flux\")\n",
@@ -390,12 +388,24 @@
" netseed_missing_networks = 107 - (netseed_true_count + netseed_false_count)\n",
"\n",
"\n",
- " s2lp_tab=pd.DataFrame([[s2lp_true_count, s2lp_false_count, s2lp_missing_networks]], \n",
- " columns=[\"all_true\",\"all_false\",\"missing\"])\n",
+ " #Get Biomass into scope info\n",
+ " s2lp_scope_mean_by_species = s2lp_scope.groupby(['species'])['percentage_similar_biomass'].mean()\n",
+ " netseed_scope_mean_by_species = netseed_scope.groupby(['species'])['percentage_similar_biomass'].mean()\n",
+ "\n",
+ " s2lp_true_scope_count = s2lp_scope_mean_by_species.value_counts()[100]\n",
+ " s2lp_true_no_scope_count = s2lp_true_count - s2lp_true_scope_count\n",
+ "\n",
+ " netseed_true_scope_count = netseed_scope_mean_by_species.value_counts()[100]\n",
+ " netseed_true_no_scope_count = netseed_true_count - netseed_true_scope_count\n",
+ "\n",
+ "\n",
+ " # create seaprate value plot\n",
+ " s2lp_tab=pd.DataFrame([[s2lp_true_scope_count, s2lp_true_no_scope_count, s2lp_false_count, s2lp_missing_networks]], \n",
+ " columns=[\"all_true_scope\",\"all_true_no_scope\",\"all_false\",\"missing\"])\n",
" s2lp_tab=s2lp_tab.assign(Tool=labels[0])\n",
"\n",
- " netseed_tab=pd.DataFrame([[netseed_true_count, netseed_false_count, netseed_missing_networks]],\n",
- " columns=[\"all_true\",\"all_false\",\"missing\"])\n",
+ " netseed_tab=pd.DataFrame([[netseed_true_scope_count, netseed_true_no_scope_count, netseed_false_count, netseed_missing_networks]],\n",
+ " columns=[\"all_true_scope\",\"all_true_no_scope\",\"all_false\",\"missing\"])\n",
" netseed_tab=netseed_tab.assign(Tool=labels[1])\n",
"\n",
" concat_table = pd.concat([netseed_tab,s2lp_tab])\n",
@@ -406,10 +416,12 @@
" fig, ax = plt.subplots()\n",
" fig.tight_layout()\n",
" groups = concat_table['Tool']\n",
- " ax.bar(groups, concat_table[\"all_true\"], color='#1e73be',label='flux', width=0.2)\n",
- " ax.bar(groups, concat_table[\"all_false\"], bottom = concat_table[\"all_true\"], \n",
+ " ax.bar(groups, concat_table[\"all_true_scope\"], color='#1e73be',label='flux & scope', width=0.2)\n",
+ " ax.bar(groups, concat_table[\"all_true_no_scope\"], bottom = concat_table[\"all_true_scope\"], \n",
+ " color='#945cb4', label='flux', width=0.2)\n",
+ " ax.bar(groups, concat_table[\"all_false\"], bottom = concat_table[\"all_true_scope\"]+concat_table[\"all_true_no_scope\"], \n",
" color='#ef3340', label='no flux', width=0.2)\n",
- " ax.bar(groups, concat_table[\"missing\"], bottom = concat_table[\"all_true\"]+concat_table[\"all_false\"], \n",
+ " ax.bar(groups, concat_table[\"missing\"], bottom = concat_table[\"all_true_scope\"]+concat_table[\"all_true_no_scope\"]+concat_table[\"all_false\"], \n",
" color='black', label='no solution', width=0.2)\n",
" \n",
" plt.ylabel('Number of GSMNs', fontsize=25)\n",
@@ -419,6 +431,9 @@
" #sns.despine(bottom=True)\n",
" plt.tick_params(bottom=False, left=True)\n",
" plt.legend(frameon=True, loc='center right', borderaxespad=-10)\n",
+ "\n",
+ " #pict_dir=\"/home/cghassem/Projets/seed-2-lp/picture/\"\n",
+ " #plt.savefig(pict_dir+'netseed_flux.pdf', bbox_inches='tight')\n",
" return "
]
},
@@ -467,6 +482,21 @@
" print(tool, f\"Number of networks with solutions satisfying FBA = {nb}\")"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 79,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_fba_scope_ok_nb(table_scope, tool, table_flux):\n",
+ " table_no_flux = table_flux[table_flux['False_flux']!=0]\n",
+ " for species in table_no_flux[\"species\"]:\n",
+ " table_scope=table_scope[table_scope[\"species\"]!=species]\n",
+ " s2lp_scope_mean_by_species = table_scope.groupby(['species'])['percentage_similar_biomass'].mean()\n",
+ " nb = s2lp_scope_mean_by_species.value_counts()[100]\n",
+ " print(tool, f\"Number of networks with solutions satisfying FBA and all biomass reactants reachable = {nb}\")"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
@@ -483,7 +513,7 @@
"name": "stderr",
"output_type": "stream",
"text": [
- "/tmp/ipykernel_9270/396657918.py:24: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ "/tmp/ipykernel_7003/396657918.py:24: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
" flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n"
]
}
@@ -503,14 +533,14 @@
},
{
"cell_type": "code",
- "execution_count": 17,
+ "execution_count": 19,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
- "/tmp/ipykernel_9270/3453808174.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ "/tmp/ipykernel_7003/3453808174.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
" scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n"
]
}
@@ -521,14 +551,14 @@
},
{
"cell_type": "code",
- "execution_count": 18,
+ "execution_count": 20,
"metadata": {},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
- "/tmp/ipykernel_9270/3453808174.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ "/tmp/ipykernel_7003/3453808174.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
" scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n"
]
}
@@ -539,7 +569,7 @@
},
{
"cell_type": "code",
- "execution_count": 19,
+ "execution_count": 21,
"metadata": {},
"outputs": [],
"source": [
@@ -549,7 +579,7 @@
},
{
"cell_type": "code",
- "execution_count": 20,
+ "execution_count": 22,
"metadata": {},
"outputs": [],
"source": [
@@ -558,7 +588,7 @@
},
{
"cell_type": "code",
- "execution_count": 21,
+ "execution_count": 23,
"metadata": {},
"outputs": [],
"source": [
@@ -567,7 +597,7 @@
},
{
"cell_type": "code",
- "execution_count": 22,
+ "execution_count": 24,
"metadata": {},
"outputs": [],
"source": [
@@ -654,6 +684,23 @@
"get_fba_ok_nb(s2lp_flux, \"Seed2LP\")"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 81,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Seed2LP Number of networks with solutions satisfying FBA and all biomass reactants reachable = 104\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_fba_scope_ok_nb(scope_s2lp, \"Seed2LP\",s2lp_flux)"
+ ]
+ },
{
"cell_type": "code",
"execution_count": 26,
@@ -671,6 +718,23 @@
"get_fba_ok_nb(netseed_flux, \"NetSeed\")"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 82,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "NetSeed Number of networks with solutions satisfying FBA and all biomass reactants reachable = 1\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_fba_scope_ok_nb(scope_netseed, \"NetSeed\",netseed_flux)"
+ ]
+ },
{
"cell_type": "markdown",
"metadata": {},
@@ -678,9 +742,16 @@
"### Plot number of fluxes validating (all solutions validates) or not (none of solution validates) FBA"
]
},
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Flux & scope means solution insurinf FBA constraints and having target metabolites from reactant of objective reaction into scope"
+ ]
+ },
{
"cell_type": "code",
- "execution_count": 38,
+ "execution_count": 50,
"metadata": {},
"outputs": [
{
@@ -694,7 +765,7 @@
},
{
"data": {
- "image/png": "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MHr0aAwZMgQGBgaaPCwREREREVGpppHgJooijh07hnXr1iE4OFgpsJmYmGDEiBEYPnw4TExMNHE4IiIiIiKiMkXt4HbmzBmsXbsWfn5+Su8bGhpiyJAhGDVqFMqVK6fuYYiIiIiIiMqsAge3y5cvY82aNXj69Kn0niiK0NfXx8CBAzF27FhYW1trpEgiIiIiIqKyLN/B7datW1i1ahUePnwovSeKInR1deHi4oLx48ejYsWKGi2SiIiIiIioLFM5uD148ACrVq3C7du3Afy3cLZMJkOvXr0wadIkVK1atXCqJCIiIiIiKsNUDm6DBg2CIAhSYBMEAd27d8fkyZNhb29faAUSERERERGVdfm+VTJjtsiqVatCEASsWbNGY8UIgoBVq1ZpbDwiIiIiIqLSoMCTk7x+/RqvX7/WWCGZlxAgIiIiIiKi/+QruGXcJklERERERERFR+Xg5uLiUph1EBERERERUQ5UDm5LliwpzDqIiIiIiIgoB7LiLoCIiIiIiIhyx+BGRERERESk5RjciIiIiIiItByDGxERERERkZZjcCMiIiIiItJyKs8qOXny5MKsAwAgCAJWrVpV6MchIiIiIiIqSVQObmfPnoUgCIVWiCiKhTo+ERERERFRSaVycMsgimJh1EFEREREREQ5yHdwEwQBlStXRosWLQqjHiIiIiIiIvpAvoMbAAQHB0MURfTp0wfOzs6oVq2apusiIiIiIiKi/6fyrJKurq4oV64cRFGEKIp48+YNNmzYgM8++wyDBg3Cvn37EBsbW5i1EhERERERlUkqB7e5c+fi2rVrWLduHbp16wYdHR0pxD18+BA//fQT2rVrh0mTJuHixYuQy+WFWTcREREREVGZka9bJfX09NCtWzd069YNUVFR8PDwwNGjR+Hj4wMASElJwd9//42///4blpaW6N27N7744gvUq1evUIovSkFBQTh48CBu374NPz8/xMXFQV9fH1ZWVqhTpw66d+8OJycn6Onp5TnW+/fvsW/fPly6dAnBwcFISkqCjY0Nmjdvjn79+vH5QSIiIiIiUiKIGpgm8uXLlzhy5Ag8PDzw9u3b/wb//+n9HRwc4OzsjM8//xy2trbqHq7IbdmyBStWrEBKSkqu/apXr441a9bA0dExxz7nz5/HrFmzEB0dnWOfgQMH4scff4SOjk6Ba85MLlcgIiJeI2Nl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OgJIv+J29+7dHPtdunTpv8FlMjRt2jTPsd+/fy+185r4hIiIiIiIqKxRObg1b95caq9atQoKhSJLn5CQEJw/fx6CIEAQBDRp0gSmpqZ5ju3t7S21q1WrpmpJREREREREZYLKwe2LL76Arm76XCaenp4YP368tEQAkD4hyejRo5GSkiLdJuns7KzS2Hfu3AGQvuZbzZo1VS2JiIiIiIioTFB5VkkbGxsMGzYMmzZtgiAIuHz5Mi5fvgxLS0skJiYiKSkJoihKs0lWqlRJpeDm7e2NgIAACIIABwcHla7QERERERERlSUqX3EDgMmTJ6Nly5bSFTVRFBEREYHExEQptImiCB0dHSxdulS6QpebAwcOSO02bdrks3wiIiIiIqLSL1/BTV9fHxs3bsSQIUMgk2XdVRRFVKxYEe7u7kqLauckJCQER44ckV5369YtP+UQERERERGVCSrfKpnBwMAAc+bMwejRo3H58mUEBAQgPj4eFhYWaNiwITp06AB9fX2VxgoODsbIkSMBADo6OkoToBAREREREVG6fAe3DBUqVMDAgQPVOnjz5s0Z1oiIiIiIiPKQr1sliYiIiIiIqOgxuBEREREREWk5BjciIiIiIiItV+Bn3PLi6+uL6OholfoaGxujXr16hVUKERERERFRiZbv4LZhwwa8ffsWAFC7dm0MGjQo237Lli3D9evXVRpTJpPh0KFDqF27dn7LISIiIiIiKvXyFdy8vLywatUqCIIAQ0NDDB06NNf+GQt150Uul2Px4sXYvn17fsohIiIiIiIqE/L1jNuff/4ptcePHw97e/s89xEEQaWx7969i8ePH+enHCIiIiIiojJB5Stu0dHR+OeffyAIAsqVKwdXV1eVD3LhwoUct508eRIrVqwAABw5coTPuhERERGVUKIoIjU1FQqForhLIdJqOjo60NPTy9c+Kge3ixcvIi0tDYIgYODAgTAyMlL5IJUrV85x24gRI7BlyxZERkbiwoULmDNnjsrjEhEREVHxS0lJwfv37xEfH4+0NHlxl0NUIhgaGsLGpjzMzc1V6q9ycHvw4IHU7tSpU37rypGenh66dOmCQ4cO4e3btwgLC0P58uU1Nj4RERERFZ6EhAS8fh0IUQSMjU2hr28AmYwrThHlRi5PQ3x8HIKCglClShWVwpvKwe3p06cA0qfub9SoUcGrzEa9evVw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wMLCAvr6+oiPj0dQUBC8vb3x6NEjAOlX4p49e4YhQ4bg0KFDMDMz00RJREREREREpYbawe3Vq1dYtmyZFNisra0xffp09O7dO9fbH4OCgrBy5UqcPHkSgiAgMDAQS5culQIgERERERERpVP7WvmePXukmRDt7Oxw6NAhODs75/nMWpUqVbB8+XJMmzYNoihCFEUcO3YMUVFR6pZERERERERUqqgd3K5duya1Fy1ahAoVKuRr/9GjR6NVq1YAALlcjhs3bqhbEhERERERUamidnB78+YNBEHARx99hBYtWhRoDGdnZ6n99u1bdUsiIiIiIiIqVdQObhnrsFWpUqXAY2Tet6wsC0BERERERKQqtYNbxYoVIYoi4uIKPtVvbGys1P7oo4/ULYmIiIiIiKhUUTu4dezYEUD64tvh4eEFGiPjuTZ9fX3peTciIiIiIiJKp3ZwGzBgAAwNDSGXy7F06dJ87//8+XMcOHAAgiDg888/h7m5ubolERERERERlSpqBzc7OzvMnz8foijCw8MDM2fOVPm2yZs3b2L48OFITk6Gg4MDZs+erW45REREREREpY5GZgL54osvUK5cOcycORNHjx7F5cuX0adPH7Rv3x41a9aEpaUl9PT0EB8fj6CgIDx69AinTp3C7du3AQBOTk5YsGABjIyMNFEOERERERFRqaJScKtTp47KA4qiiMjISGzfvh3bt2/Ps68gCDh9+jROnz4NQRDw5MkTlY9FRERERERUFqgU3DICliiKufYTBAGCICjtl1O/zP+bW18iIiIiIqKyTuVbJVUJVqqGL4Y0IiIiIiIi1akU3C5cuFDYdRAREREREVEOVApulStXLuw6iIiIiIiIKAdqLwdAREREREREhYvBjYiIiIiISMsxuBEREREREWk5BjciIiIiIiItp/JyAKq6c+cOPD098fLlS8TGxiIxMVHl6f8FQcC2bds0XRIREREREVGJprHgdurUKfz2228ICQkp0P4Zi3wTERERERGRMo0Et1WrVuHPP/8EwMW1iYiIiIiINE3t4Hbjxg1s2LDhvwF1ddGqVSs0atQI5cuXh5GRkbqHICIiIiIiKtPUDm47d+4EkP58mqOjI9asWYNq1aqpXRgRERERERGlUzu4PXr0CAAgk8mwbt062NnZqV0UERERERER/Uft5QCioqIgCAJq1arF0EZERERE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VasWJk+eXJTlEBERERERlQhFEtxiY2Px119/YceOHUhMTFS6LfLjjz/GpEmT4OTkVBSlEBERERERlTiFGtwSExOxbds2bN68GbGxsUqBrVKlShg/fjxcXFwgk3E5OSIiIiIiopwUSnBLSUnB7t274e7ujsjISKXAZmNjg7Fjx2LAgAHQ09MrjMMTERERERGVKhoNbnK5HAcOHMAff/yB9+/fQxRFafIRCwsLjB49GkOGDIGBgYEmD0tERERERFSqaSS4iaKIY8eOYd26dQgODlYKbCYmJhgxYgSGDx8OExMTTRyOiIiIiIioTFE7uJ05cwZr166Fn5+f0vuGhoYYMmQIRo0ahXLlyql7GCIiIiIiojKrwMHt8uXLWLNmDZ4+fSq9J4oi9PX1MXDgQIwdOxbW1tYaKZKIiIiIiKgsy3dwu3XrFlatWoWHDx9K74miCF1dXbi4uGD8+PGoWLGiRosk7SarXq24Syhx+DMjIiIiovxQObg9ePAAq1atwu3btwH8t3C2TCZDr169MGnSJFStWrVwqiStJcrlMFk4u7jLKJFEuby4SyAiIiKiEkLl4DZo0CAIgiAFNkEQ0L17d0yePBn29vaFViBpN0FHB7+e8kNgZGJxl1Ki2Fka4X9ONYq7DCIiIiIqIfJ9q2TGbJFVq1aFIAhYs2aNxooRBAGrVq3S2HhUNC4/C4dPcFxxl1Gi1K9syuBGRERERCor8OQkr1+/xuvXrzVWSOYlBIiIiIiIiOg/+QpuGbdJEhERERERUdFRObi5uLgUZh1ERERERESUA5WD25IlSwqzDiIiIiIiIsqBrLgLICIiIiIiotwxuBEREREREWk5BjciIiIiIiItx+BGRERERESk5RjciIiIiIiItByDGxERERERkZZjcCMiIiIiItJyDG5ERERERERajsGNiIiIiIhIyzG4ERERERERaTkGNyIiIiIiIi3H4EZERERERKTlGNyIiIiIiIi0HIMbERERERGRlmNwIyIiIiIi0nIMbkRERERERFqOwY2IiIiIiEjLMbgRERERERFpOQY3IiIiIiIiLcfgRkREREREpOUY3IiIiIiIiLQcgxsREREREZGW0y3uAsqqCxcu4NixY/Dx8UFoaChMTU1RrVo1dOvWDYMGDYKpqWlxl0hERERERFqCwa2IxcfHY/r06bh48aLS+xEREYiIiICXlxd27tyJVatWoXHjxsVTJBERERERaRUGtyIkl8sxefJkXLt2DQBQvnx59O/fHw4ODoiOjoaHhwc8PT0REhKCMWPGYM+ePbC3ty/mqomIiIiIqLgxuBWhAwcOSKHNwcEB27ZtQ/ny5aXtrq6u+OWXX7B582ZER0dj3rx52LVrV3GVS0REREREWoKTkxQRuVyOdevWSa+XLVumFNoyTJ8+HXXq1AEA3Lt3D//880+R1UhERERERNqJwa2I3L17F6GhoQCAli1bol69etn209HRwdChQ6XXJ0+eLJL6iIiIiIhIezG4FZGrV69K7Q4dOuTaN/P2zPsREREREVHZxOBWRHx9faV2gwYNcu1rY2ODjz76CAAQFhaGiIiIQq2NiIiIiIi0G4NbEfH395faVapUybN/5j5+fn6FUhMREREREZUMnFWyiMTGxkptS0vLPPtbWFhku292unbtmuO2U6dOQV9fH1ZWJnkXmU+CkP6/20Y1QppCofHxSzNdWfp3JuXKGUEUi7kYIqJCwM+IginszweZTND8oERUJBjcikhCQoLUNjAwyLN/5j7x8fEFPm5qaioMDAygo1N4v6jLm+kX2tilnUzGi95EVLrxM6Jg+PlARB9icCsFLly4UNwlEBERERFRIeLXOUXE2NhYaicnJ+fZP3MfExPN3+ZIREREREQlB4NbETEzM5PakZGRefaPiorKdl8iIiIiIip7GNyKSPXq1aV2UFBQnv0z96lRo0ah1ERERERERCUDg1sRcXR0lNre3t659g0LC0NISAgAwNraGlZWVoVaGxERERERaTcGtyLSvn17qX316tVc+165ckVqd+zYsdBqIiIiIiKikoHBrYi0bNkSNjY2AIA7d+7g8ePH2faTy+XYsWOH9NrJyalI6iMiIiIiIu3F4FZEdHR08N1330mvZ8yYgfDw8Cz9fvvtNzx9+hQA0LRpU6UrdUREREREVDYJoiiKxV1EWZGWloYxY8bg+vXrAAAbGxv0798fDg4OiIqKwsmTJ3H//n0AgLm5OXbv3o2aNWsWZ8lERERERKQFGNyKWFxcHKZPn45Lly7l2KdixYpYuXIlmjZtWoSVERERERGRtmJwKybnz5/HsWPH4O3tjfDwcJiYmKBq1aro3r07Bg0axLXbiIiIiIhIwuBGRERERESk5Tg5CRERERERkZZjcCMqJbp06YJa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",
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA24AAAHiCAYAAACQvJ/tAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACRwUlEQVR4nOzdd1gUV9sG8Ht26b0IYi/Yew9q7CURSzDGEtFoYgnGmugbsSYSW0zsGlvsYu9i7xpjBxUrKh1BUXqH3fn+4GMC0hZ26ffvunK9sztnzjyDr6z3zplzBFEURRAREREREVGxJSvqAoiIiIiIiChnDG5ERERERETFHIMbERERERFRMcfgRkREREREVMwxuBERERERERVzDG5ERERERETFHIMbERERERFRMcfgRkREREREVMxpFXUBVPBEUYRSWTDrrMtkAgRBKJC+S7uC/HMhIioO+BmRP/zcJqKsMLiVAUqliLCwWI33q6Ulg7m5IeLXbobyTbDG+y/NZBUrQH/8KERFxSElRVnU5RARaVzaZ4SjoyOePXtW1OWUGPXr14erq2uBfT5YWBhCLmdwIyqJGNxIbSn/3obixcuiLqNEkdetDYwfVdRlEBEVuGfPnsHDw6OoyyAiKvH4jBsREREREVExx+BGRERERERUzDG4ERERERERFXMMbkRERERERMUcJychIiKiAlO/fv2iLqFE4c+LiLLD4EZEREQaJ5PJoFAo4OrqWtSllDgKhQIymQwAl4shov8wuBEREZHGyeUC5HI51/rMo7R1PrnWGhF9jMGNiIiICowyOARKX/+iLqPkEBjYiChrDG5ERESkcQqFCFGhgOH8WUVdSokjKhRQKMSiLoOIihkGNyIiItI4pVIJQS7HklOvERieUNTllBiVzfXws70tlEo+30ZEGTG4ERERUYG5+iIMj4NiirqMEqNRJSP8bG9b1GUQUTHEddyIiIiIiIiKuVJ5x02hUOD169d4/Pgxnjx5gsePH+P58+dISEgdqtG/f38sXrw4T336+flh7969uH79OoKDg6FUKmFtbY127dph0KBBeVp3JSkpCQcPHsSZM2fg7e2NiIgIWFhYoF69eujduzf69u37/9MAExERERERldLgNmXKFJw7d05j/e3btw8LFy6Ugl8aX19f+Pr6Yt++ffjhhx8wYcKEXPt6/fo1Jk2ahFevXmV4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3L17F7dv38bo0aMBAKIoYvPmzeqWQ0REREREVOqoHdz8/PwAAJUqVcp2kpEzZ85I2z/++KO0zpmOjg6mTZuGZs2aAQB8fHzg7e2tbklERERERESlitrB7f379xAEAVZWVlnu//DhA7y8vACkDhHs27dvpjZ9+vSRtp89e6ZuSURERERERKWK2sEtISEBALJcdBoA7t27ByB1KGWrVq2gp6eXqU36KfRDQ0PVLYmIiIiIiKhUUTu46ejoAECGKf7Tu3v3rrSdNkTyY7q6utJ22rNwRERERERElErt4GZpaQlRFOHj45Pl/vSzTmYX3KKjo6XtrO7IERERERERlWVqB7f69esDAKKionDt2rUM+9zd3aXJSwwMDNC4ceMs+wgMDJS2y5Urp25JREREREREpYrawa179+7S9pw5c3D79m0kJSXB09MTM2bMAJD6fFv37t0hl8uz7OPx48fSdrVq1dQtiYiIiIiIqFRRewHuXr164a+//oK/vz/evXuHkSNHZmojk8nw3XffZXm8QqHAlStXAADa2tqoV6+euiURERERERGVKhqZnGTlypUwMTGBKIqZ/gOAyZMno27dulkef+3aNYSHh0MQBDRt2lSa7ISIiIiIiIhSqR3cAKBevXpwc3ODo6MjqlSpAm1tbRgZGeGTTz7B2rVrMXbs2GyP/fvvvwEAoiiiS5cumiiHiIiIiIioVFF7qGQaKysrzJkzJ8/HLVmyRNrmxCRERERERESZaSy45VelSpWKugQiIiIiIqJiTSNDJYmIiIiIiKjgMLgREREREREVcwxuRERERERExZzKz7iln0SkIP3888+Fch4iIiIiIqKSQuXgtmXLFgiCUJC1AGBwIyIiIiIi+lieZ5VMW1S7IBRGMCQiIiIiIippVA5urVu31vjJ37x5g6CgIAiCUKCBkIiIiIiIqCRTObjt3LlTYyd9+/Yt1q5dCw8PD95lIyIiIiIiykWhLsAdFhaGDRs2YO/evUhKSgLw39DLunXrYvLkyYVZDhERERERUYlQKMEtOjoaf//9N3bu3In4+PgMwyKrV6+OSZMmwd7evjBKISIiIiIiKnEKNLjFx8dj+/bt2LJlC6KjozMEtooVK2L8+PHo378/ZDIuJ0dERERERJSdAgluSUlJ2L17NzZu3Ijw8PAMgc3KygpOTk4YNGgQtLW1C+L0RERERERE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R3x8PBYvXozExES4ubnBzc0tQxu5XA4nJyc4OTkVUZVEREREGSmVIlJSUuDqmvkf4MVdSkoKlMriMUOgvX0f1KpVG7t27YCHxz14eb2AgYEhPvnEDgMGDELHjp3z1N/cub/h1q1/4en5EO/fhyIgIACGhgZo1qw5evbshX79HKCllfGf+598YoedO/di585tuH37Fl69egldXV00b94CvXv3g719H8hkqg/KMzY2xsaNW7Fx41/4998b8PPzhbV1eTg6foNRo8Zi167t2R47b94CrFu3Brdv34SXlxcUihSVz6vp6ygJBFGDc116eXlh0aJFuHXrVqZ9Wc00Y2pqim+//RajRo3K9H+qkmL16tVYsyb1duyECRMwceLEXI/x9fXF3r17cf36dQQHB0MURVhbW8POzg6DBw9GgwYNNFqjQqFEWJjmp3TV0pLB3NwQ0Y5joXjxUuP9l2byurVh7LoR4eGxXGCViEqltM+I3svv4nFQTFGXU2I0qmSEkz+2LrDPBwsLQ8jlGf8xm5CQgNevvVGunA10dHSzPVYQBMhk+Z9QoqgolWKxnNqdCACSkhLx/n0IbG1rQk9PL8e2GktLO3fuxO+//w6FQpHtX4707wuCgIiICKxYsQKnTp3Cpk2bYG1tralyCs3EiRNVCmvpVa9eHc7OznB2di6gqoiIiIg0SxRFKBQMQERFRSPBzdXVFQsWLADw39SepqamaNeuHWrVqgUzMzPo6OggNjYWgYGB8PT0xKNHqTPPiKKIFy9eYNiwYTh06BCMjY01URIREREREVGpoXZw8/Pzw5IlS6TAZmlpiWnTpqFPnz45Dn8MDAzE8uXLcfLkSQiCgICAACxevFgKgERERERERJRK7Sf29uzZI82EWKVKFRw6dAgODpkfhPxY5cqVsXTpUkydOhWimDr2+NixY4iIiFC3JCIiIiIiolJF7eB2/fp1aXvBggUoX758no4fM2YMPvnkEwCAQqHAv//+q25JREREREREpYrawe3NmzcQBAEVKlRA69at89WHg4ODtB0SEqJuSURERERERKWK2sEtbR22ypUr57uP9MeW1GUBiIiIiIiICorawc3GxgaiKCImJv9rtERHR0vbFSpUULckIiIiIiKiUkXt4NapUycAqYtvf/jwIV99pD3XpqOjIz3vRkRERERERKnUDm6DBg2Cnp4eFAoF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APT19fM1aycREREREZUuRR7cTp8+jcOHD0uvGzduXITVZM3FxSVTaMvrEMZevXpJ29u2bcu23f79+6XlA7p27Qp9fc7IRURERERU1qk9q+SbN2/y1D4lJQWRkZF48eIFzpw5gxs3bkAURQiCgAYNGqBevXrqlqRRv/32G3bv3g3gv9CW/pk1VY0aNQp79+5FbGwsXF1d0bZt20wLZz98+BArV64EAGhpaWH8+PHqXwAREREREZV4age3rl27qjV9vyiKAFKnzP/tt9/ULUejli9fjl27dgEABEHAN998A29vb3h7e+d4XIMGDaShkWksLS0xZ84cODs7Q6lUYsKECbC3t0f79u0hk8ng7u6Oo0ePSssFTJw4Eba2tgVzYUREREREVKJobB23tACWH7Vq1cKiRYvQoEEDTZWjEe7u7tK2KIpYunSpSsctWrQIX375Zab3+/fvj/j4eCxevBiJiYlwc3ODm5tbhjZyuRxOTk5wcnJSr3giIiIiIio1NBLc8hLatLS0YGhoiIoVK6J+/fro0aMHOnbsCLlcrolSir2hQ4eiXbt22Lt3L65fv47g4GCIoghra2vY2dlh8ODBxS7AEhERERFR0VI7uD1//lwTdRRLO3fuLJB+q1evDmdnZzg7OxdI/0REREREVLoU+aySRERERERElDMGNyIiIiIiomKOwY2IiIiIiKiYY3AjIiIiIiIq5hjciIiIiIiIijmVZ5VcsmRJQdYh+fnnnwvlPERERERERCWFysFty5YtEAShIGsBwOBGRERERET0sTyv45aXxbbzqjCCIRERERERUUmjcnBr3bq1xk/+5s0bBAUFQRCEAg2EREREREREJZnKwW3nzp0aO+nbt2+xdu1aeHh48C4bERERERFRLvI8VFIdYWFh2LBhA/bu3YukpCQA/w29rFu3LiZPnlyY5RAREREREZUIhRLcoqOj8ffff2Pnzp2Ij4/PMCyyevXqmDRpEuzt7QujFCIiIiIiohKnQINbfHw8tm/fji1btiA6OjpDYKtYsSLGjx+P/v37QybjcnJERERERETZKZDglpSUhN27d2Pjxo0IDw/PENisrKzg5OSEQYMGQVtbuyBOT0REREREVKpoNLgpFAocOHAA69atw7t37yCKojT5iJmZGcaMGYNhw4ZBV1dXk6clIiIiIiIq1TQS3ERRxLFjx7BmzRoE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",
"text/plain": [
""
]
@@ -704,7 +775,7 @@
}
],
"source": [
- "create_one_plot(s2lp_flux, netseed_flux, [\"Seed2LP\", \"NetSeed\"])"
+ "create_one_plot(s2lp_flux, netseed_flux, [\"Seed2LP\", \"NetSeed\"],scope_s2lp, scope_netseed)"
]
},
{
@@ -838,7 +909,7 @@
],
"metadata": {
"kernelspec": {
- "display_name": "s2lp",
+ "display_name": "test",
"language": "python",
"name": "python3"
},
diff --git a/notebook/analyses/06_supp_iCN718.ipynb b/notebook/analyses/06_supp_iCN718.ipynb
index 83005a7..0ef2d4f 100644
--- a/notebook/analyses/06_supp_iCN718.ipynb
+++ b/notebook/analyses/06_supp_iCN718.ipynb
@@ -4,7 +4,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "# Get iCN718 datas and compare\n",
+ "# Get iCN718 supplementary datas and compare\n",
"This notebook presents iCN718 data in Reasoning / Filter / Guess & Check / Guess & Check Diversity.\n",
"\n",
"\n",
diff --git a/notebook/analyses/07_supp_cobra.ipynb b/notebook/analyses/07_supp_cobra.ipynb
new file mode 100644
index 0000000..5d6baa2
--- /dev/null
+++ b/notebook/analyses/07_supp_cobra.ipynb
@@ -0,0 +1,1583 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Get Cobra results\n",
+ "This notebook presents cobrapy seed searching from media by minimizing component.\n",
+ "\n",
+ "> Corresponding function into cobrapy:\n",
+ ">\n",
+ ">```\n",
+ "> cobra.medium.minimal_medium(model, max_growth, minimize_components=nb_solutions)\n",
+ ">```\n",
+ "\n",
+ "\n",
+ "To run correctly this notebook and have the same results as the paper, you must first download the raw results: [https://doi.org/10.57745/OS1JND](https://doi.org/10.57745/OS1JND)\n",
+ "\n",
+ "This notebook is written with the hierarchy of downloaded files, if you want to try it with the test form the run notebooks, it is needed to first restructure your data to match the hierarchy of downloaded files.\n",
+ "\n",
+ "We suppose here that the downloaded files are in a directory named \"analyses\", this directory path can be changed to your directory path where the data are saved."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Requirements\n",
+ "Module *pandas*, *numpy*, *seaborn* and *scipy* are needed"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!pip install pandas"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!pip install numpy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!pip install seaborn"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!pip install scipy"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Variable to change (if wanted)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "analyse_dir = \"../../analyses\"\n",
+ "data_dir = f\"{analyse_dir}/data\"\n",
+ "\n",
+ "# Directories to create for R analyses and plots\n",
+ "timer_tables_dir = f\"{analyse_dir}/results/timer_cobra_s2lp/tables\"\n",
+ "timers_plot_dir = f\"{analyse_dir}/results/timer_cobra_s2lp/plots\"\n",
+ "gcd1_timer_tables=f\"{analyse_dir}/results/timer_one_sol/tables/Target.tsv\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Initialisation and functions"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import os\n",
+ "import pandas as pd\n",
+ "import seaborn as sns\n",
+ "import math\n",
+ "import matplotlib.pyplot as plt\n",
+ "from scipy.stats import kruskal\n",
+ "import numpy as np"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%load_ext rpy2.ipython"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "result_dir = os.path.join(analyse_dir, \"results\")\n",
+ "\n",
+ "s2lp_results_gcd_ten_sol = os.path.join(result_dir, \"s2lp_gcd_10_solutions\")\n",
+ "s2lp_scope_dir = os.path.join(result_dir, \"scopes_s2lp_gcd_10_solutions\")\n",
+ "s2lp_supp_data = os.path.join(result_dir, \"supp_data\", \"s2lp_gcd_10_solutions_supp_data.tsv\")\n",
+ "\n",
+ "cobra_1_dir = os.path.join(result_dir, \"cobra_1\")\n",
+ "cobra_1_supp_data_file=os.path.join(cobra_1_dir, \"cobra_supp_data.tsv\")\n",
+ "\n",
+ "\n",
+ "cobra_10_dir = os.path.join(result_dir, \"cobra_10\")\n",
+ "cobra_10_results_dir = os.path.join(cobra_10_dir, \"seeds_results\")\n",
+ "cobra_10_scope_dir = os.path.join(cobra_10_dir, \"scopes\")\n",
+ "cobra_10_supp_data_file=os.path.join(cobra_10_dir, \"cobra_supp_data.tsv\")\n",
+ "\n",
+ "sbml_dir = f'{data_dir}/bigg/sbml'"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "if not os.path.isdir(timer_tables_dir):\n",
+ " os.makedirs(timer_tables_dir)\n",
+ "\n",
+ "if not os.path.isdir(timers_plot_dir):\n",
+ " os.makedirs(timers_plot_dir)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## TIMERS"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_cumul(file,step):\n",
+ " timer = pd.read_csv(file, sep='\\t', lineterminator='\\n')\n",
+ " timer=timer.drop([\"Unnamed: 0\"], axis=1)\n",
+ " timer['steps_time'] = timer.apply(lambda row: int(math.ceil(row.time / step)) * step, axis=1)\n",
+ " df_count = timer.groupby('steps_time').count()\n",
+ " df_count[\"sum\"]=0\n",
+ " sum=0\n",
+ " for id, row in df_count.iterrows():\n",
+ " sum += row[\"time\"]\n",
+ " df_count.loc[[id],[\"sum\"]] = sum\n",
+ "\n",
+ " return df_count"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_cobra_timer(file, column_name):\n",
+ " timer = pd.read_csv(file, sep='\\t', lineterminator='\\n')\n",
+ " timer=timer.drop([\"Unnamed: 0\"], axis=1)\n",
+ " timer=timer.drop([\"size\"], axis=1)\n",
+ " timer=timer.rename(columns={\"time\": column_name})\n",
+ " return timer"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_separate_data(table):\n",
+ " table[\"solver_type\"] = table[\"solver_type\"].str.replace('REASONING GUESS-CHECK-DIVERSITY', 'REASONING GUESS-CHECK DIVERSITY')\n",
+ " table[\"solver_type\"] = table[\"solver_type\"].str.replace('REASONING GUESS-CHECK', 'REASONING GUESS-CHECK')\n",
+ " table[\"solver_type\"] = table[\"solver_type\"].str.replace('REASONING FILTER', 'REASONING FILTER')\n",
+ " \n",
+ " # CLASSIC\n",
+ " table_reasoning = table[table[\"solver_type\"]==\"REASONING\"]\n",
+ " \n",
+ " # FILTER\n",
+ " table_filter = table[table[\"solver_type\"]==\"REASONING FILTER\"]\n",
+ "\n",
+ " # GUESS_CHECK\n",
+ " table_gc = table[table[\"solver_type\"]==\"REASONING GUESS-CHECK\"]\n",
+ "\n",
+ " # GUESS_CHECK_DIV\n",
+ " table_gcd = table[table[\"solver_type\"]==\"REASONING GUESS-CHECK DIVERSITY\"]\n",
+ "\n",
+ " return table_reasoning, table_filter, table_gc, table_gcd"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_timers(file_path, mode):\n",
+ " table_all = pd.read_csv(file_path, sep='\\t', lineterminator='\\n')\n",
+ " table_all=table_all.fillna(-50)\n",
+ " table_all.loc[table_all[\"minimize\"] == \"unsat\", \"minimize\"] = -100\n",
+ " table_all.loc[table_all[\"minimize_opti\"] == \"unsat\", \"minimize_opti\"] = -100\n",
+ " table_all.loc[table_all[\"submin\"] == \"unsat\", \"submin\"] = -100\n",
+ " table_all.loc[table_all[\"minimize\"] == \"Time out\", \"minimize\"] = -200\n",
+ " table_all.loc[table_all[\"minimize\"] == \"time out\", \"minimize\"] = -200\n",
+ " table_all.loc[table_all[\"minimize_opti\"] == \"Time out\", \"minimize_opti\"] = -200\n",
+ " table_all.loc[table_all[\"minimize_opti\"] == \"time out\", \"minimize_opti\"] = -200\n",
+ " table_all.loc[table_all[\"submin\"] == \"Time out\", \"submin\"] = -200\n",
+ " table_all.loc[table_all[\"submin\"] == \"time out\", \"submin\"] = -200\n",
+ " table_all['minimize'] = table_all['minimize'].astype('float')\n",
+ " table_all['minimize_opti'] = table_all['minimize_opti'].astype('float')\n",
+ " table_all['submin'] = table_all['submin'].astype('float')\n",
+ "\n",
+ " timers_all= table_all.loc[table_all[\"type_data\"] == \"Solving (sec)\"]\n",
+ " # No accumulation mode\n",
+ " timers_all = timers_all[timers_all['accumulation']==False]\n",
+ "\n",
+ " if mode == \"full\":\n",
+ " return timers_all[timers_all[\"search_mode\"]==\"Full network\"]\n",
+ " elif mode == \"target\":\n",
+ " return timers_all[timers_all[\"search_mode\"]==\"Target\"]\n",
+ " else:\n",
+ " return timers_all"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def convert_timers_table(table:pd.DataFrame, optim, list_all_species, dict_species):\n",
+ " column_conversion = {\"REASONING\":\"Reasoning\",\n",
+ " \"REASONING FILTER\":\"Filter\",\n",
+ " \"REASONING GUESS-CHECK\":'Guess-Check',\n",
+ " \"REASONING GUESS-CHECK-DIVERSITY\":'Guess-Check-div'}\n",
+ "\n",
+ " \n",
+ " set_complete = set(list_all_species)\n",
+ " set_gcd = set(dict_species[\"gcd\"])\n",
+ " \n",
+ " diff_gcd = set_complete.difference(set_gcd) \n",
+ " new_table=pd.DataFrame(columns=['network', 'Reasoning','Filter',\n",
+ " 'Guess-Check', 'Guess-Check-div'])\n",
+ " new_table = new_table.set_index('network')\n",
+ "\n",
+ " for row in table.iterrows():\n",
+ " network = row[0]\n",
+ " if not new_table.empty:\n",
+ " if network in new_table.index:\n",
+ " new_table.loc[network, column_conversion[row[1]['mode']]]=row[1][optim]\n",
+ " else:\n",
+ " new_table = add_row(new_table, row, optim, column_conversion)\n",
+ " else:\n",
+ " new_table = add_row(new_table, row, optim, column_conversion)\n",
+ "\n",
+ " for net in diff_gcd:\n",
+ " new_table.loc[net, [\"Guess-Check-div\"]]=-1000\n",
+ " return new_table.reset_index()\n",
+ "\n",
+ "\n",
+ "def add_row(new_table,row, optim, column_conversion):\n",
+ " network = row[1]['network']\n",
+ " current = pd.DataFrame(data=[[network, row[1][optim]]], columns=['network', column_conversion[row[1]['mode']]])\n",
+ " current = current.set_index('network')\n",
+ " new_table = new_table.combine_first(current)\n",
+ " return new_table"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def create_table_plot(table,column_name):\n",
+ " new_table = table.groupby(['species'])[column_name].agg('count').reset_index()\n",
+ " new_table=new_table.rename(columns={column_name: \"Total_flux\"})\n",
+ " new_true = table[table[column_name]==True].groupby(['species'])[column_name].agg('count').reset_index()\n",
+ " new_true=new_true.rename(columns={column_name: \"True_flux\"})\n",
+ " new_false = table[table[column_name]==False].groupby(['species'])[column_name].agg('count').reset_index()\n",
+ " new_false=new_false.rename(columns={column_name: \"False_flux\"})\n",
+ " new_table=pd.merge(new_table,new_true, how='left', on=['species'])\n",
+ " new_table=pd.merge(new_table,new_false, how='left', on=['species'])\n",
+ " new_table=new_table.fillna(0)\n",
+ " new_table=new_table.fillna(0)\n",
+ " new_table['True_flux']=new_table['True_flux'].astype(int)\n",
+ " new_table['False_flux']=new_table['False_flux'].astype(int)\n",
+ " return new_table"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_list_species(table):\n",
+ " labels = table['species'].tolist()\n",
+ " set_labels = set(labels)\n",
+ " return set_labels"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_all_species():\n",
+ " species_files = os.listdir(sbml_dir)\n",
+ " species = [sub.replace('.xml', '') for sub in species_files]\n",
+ " return species"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Fluxes"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_fluxes(directory:str, mode:str, optim:str=None):\n",
+ " flux_all=pd.DataFrame(columns=['species', 'biomass_reaction', 'solver_type', 'search_mode',\n",
+ " 'search_type', 'accumulation', 'model', 'size', 'lp_flux', 'cobra_flux_init',\n",
+ " 'cobra_flux_no_import', 'cobra_flux_seeds', 'cobra_flux_demands',\n",
+ " 'has_flux', 'has_flux_seeds', 'has_flux_demands', 'timer'])\n",
+ " flux_all['accumulation'] = flux_all['accumulation'].astype('bool')\n",
+ " flux_all['has_flux'] = flux_all['has_flux'].astype('bool')\n",
+ " flux_all['has_flux_seeds'] = flux_all['has_flux_seeds'].astype('bool')\n",
+ " flux_all['has_flux_demands'] = flux_all['has_flux_demands'].astype('bool')\n",
+ "\n",
+ " for dirpath, _, filenames in os.walk(directory):\n",
+ " for filename in [f for f in filenames if (f.endswith(\"_fluxes.tsv\") or f.endswith(\"_fluxes_from_result.tsv\"))]:\n",
+ " # By default in this notebook we want the no accumulation mode for seed2lp results\n",
+ " # and only GuessCheck diversity\n",
+ " if \"_no_accu_\" in filename \\\n",
+ " and ((mode == \"full\" and \"_fn_\" in filename) \\\n",
+ " or (mode == \"target\" and \"_tgt_\" in filename)) \\\n",
+ " and \"_gcd_\" in filename:\n",
+ " file_path=os.path.join(dirpath, filename)\n",
+ " current_df = pd.read_csv(file_path, sep='\\t', lineterminator='\\n')\n",
+ " current_df['accumulation'] = current_df['accumulation'].astype('bool')\n",
+ " current_df['has_flux'] = current_df['has_flux'].astype('bool')\n",
+ " current_df['has_flux_seeds'] = current_df['has_flux_seeds'].astype('bool')\n",
+ " current_df['has_flux_demands'] = current_df['has_flux_demands'].astype('bool')\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ " \n",
+ " if optim==\"submin\":\n",
+ " return flux_all[flux_all[\"search_mode\"]==\"Subset Minimal\"]\n",
+ " elif optim==\"min\":\n",
+ " return flux_all[flux_all[\"search_mode\"]==\"Minimize\"]\n",
+ " else:\n",
+ " return flux_all"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_all_same_validation_fba(table,type):\n",
+ " count=0\n",
+ " total=0\n",
+ " for _,line in table.iterrows():\n",
+ " if line[type] == line[\"Total_flux\"]:\n",
+ " count += 1\n",
+ " total += 1\n",
+ " else:\n",
+ " total += 1\n",
+ " \n",
+ " return total, count"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def create_one_plot(s2lp, labels, s2lp_scope, cobra_scope):\n",
+ " plt.style.use(\"seaborn-v0_8-colorblind\")\n",
+ " \n",
+ " _, s2lp_true_count = get_all_same_validation_fba(s2lp, \"True_flux\")\n",
+ " _, s2lp_false_count = get_all_same_validation_fba(s2lp,\"False_flux\")\n",
+ " s2lp_missing_networks = 107 - (s2lp_true_count + s2lp_false_count)\n",
+ "\n",
+ " # cobra is designed to find solution with flux \n",
+ " cobra_true_count = len(cobra_scope.groupby(['species']))\n",
+ " cobra_false_count = 0\n",
+ " cobra_missing_networks = 107 - (cobra_true_count + cobra_false_count)\n",
+ "\n",
+ "\n",
+ " #Get Biomass into scope info\n",
+ " s2lp_scope_mean_by_species = s2lp_scope.groupby(['species'])['percentage_similar_biomass'].mean()\n",
+ " cobra_scope_mean_by_species = cobra_scope.groupby(['species'])['percentage_similar_biomass'].mean()\n",
+ "\n",
+ " s2lp_true_scope_count = s2lp_scope_mean_by_species.value_counts()[100]\n",
+ " s2lp_true_no_scope_count = s2lp_true_count - s2lp_true_scope_count\n",
+ "\n",
+ " try:\n",
+ " cobra_true_scope_count = cobra_scope_mean_by_species.value_counts()[100]\n",
+ " except:\n",
+ " cobra_true_scope_count = 0\n",
+ " cobra_true_no_scope_count = cobra_true_count - cobra_true_scope_count\n",
+ "\n",
+ "\n",
+ " # create seaprate value plot\n",
+ " s2lp_tab=pd.DataFrame([[s2lp_true_scope_count, s2lp_true_no_scope_count, s2lp_false_count, s2lp_missing_networks]], \n",
+ " columns=[\"all_true_scope\",\"all_true_no_scope\",\"all_false\",\"missing\"])\n",
+ " s2lp_tab=s2lp_tab.assign(Tool=labels[0])\n",
+ "\n",
+ " cobra_tab=pd.DataFrame([[cobra_true_scope_count, cobra_true_no_scope_count, cobra_false_count, cobra_missing_networks]],\n",
+ " columns=[\"all_true_scope\",\"all_true_no_scope\",\"all_false\",\"missing\"])\n",
+ " cobra_tab=cobra_tab.assign(Tool=labels[1])\n",
+ " concat_table = pd.concat([cobra_tab,s2lp_tab])\n",
+ "\n",
+ "\n",
+ " plt.figure(figsize=(1,3))\n",
+ " sns.set_theme(font_scale = 1.5)\n",
+ " fig, ax = plt.subplots()\n",
+ " fig.tight_layout()\n",
+ " groups = concat_table['Tool']\n",
+ " ax.bar(groups, concat_table[\"all_true_scope\"], color='#1e73be',label='flux & scope', width=0.2)\n",
+ " ax.bar(groups, concat_table[\"all_true_no_scope\"], bottom = concat_table[\"all_true_scope\"], \n",
+ " color='#945cb4', label='flux', width=0.2)\n",
+ " ax.bar(groups, concat_table[\"all_false\"], bottom = concat_table[\"all_true_scope\"]+concat_table[\"all_true_no_scope\"], \n",
+ " color='#ef3340', label='no flux', width=0.2)\n",
+ " ax.bar(groups, concat_table[\"missing\"], bottom = concat_table[\"all_true_scope\"]+concat_table[\"all_true_no_scope\"]+concat_table[\"all_false\"], \n",
+ " color='black', label='no solution', width=0.2)\n",
+ " \n",
+ " plt.ylabel('Number of GSMNs', fontsize=25)\n",
+ " plt.xlabel('Tools', fontsize=25)\n",
+ " plt.xticks(size=22)\n",
+ " plt.yticks(size=22)\n",
+ " #sns.despine(bottom=True)\n",
+ " plt.tick_params(bottom=False, left=True)\n",
+ " plt.legend(frameon=True, loc='center right', borderaxespad=-10)\n",
+ "\n",
+ " pict_dir=\"/home/cghassem/Projets/seed-2-lp/picture/\"\n",
+ " plt.savefig(pict_dir+'cobra_flux.pdf', bbox_inches='tight')\n",
+ " return "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## SCOPES"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_scopes(directory:str, mode:str, optim:str=None):\n",
+ " scope_all=pd.DataFrame(columns=['species','run','mode','optim', 'accu','model',\n",
+ " 'is_equal_union_species', 'missing', 'percentage_missing',\n",
+ " 'is_biomass_included', 'missing_biomass', 'percentage_missing_biomass',\n",
+ " 'is_exchange_included', 'missing_exchange', 'percentage_missing_exchange',\n",
+ " 'is_seed_included_to_exchange', 'missing_seed_into_exchange', 'percentage_missing_seed_into_exchange',\n",
+ " 'is_exchange_included_to_seed', 'missing_exchange_into_seed', 'percentage_missing_exchange_into_seeds'])\n",
+ " if mode == \"netseed\":\n",
+ " prefix=\"netseed\"\n",
+ " else:\n",
+ " prefix=\"scope\"\n",
+ " for species in os.listdir(directory):\n",
+ " if mode == \"cobrapy\":\n",
+ " file_path = os.path.join(directory, species, \"scope\", \"cobrapy\", \"cobrapy\", \"other\", \"no_accu\", f\"{species}_cobrapy_compare.tsv\")\n",
+ " else:\n",
+ " file_path = os.path.join(directory, species, f\"{species}_{prefix}_compare.tsv\")\n",
+ " if os.path.exists(file_path):\n",
+ " current_df = pd.read_csv(file_path, sep='\\t', lineterminator='\\n')\n",
+ " current_df['is_equal_union_species'] = current_df['is_equal_union_species'].map({True: 'True', False: 'False'})\n",
+ " current_df['is_biomass_included'] = current_df['is_biomass_included'].map({True: 'True', False: 'False'})\n",
+ " current_df['is_exchange_included'] = current_df['is_exchange_included'].map({True: 'True', False: 'False'})\n",
+ " current_df['is_seed_included_to_exchange'] = current_df['is_seed_included_to_exchange'].map({True: 'True', False: 'False'})\n",
+ " current_df['is_exchange_included_to_seed'] = current_df['is_exchange_included_to_seed'].map({True: 'True', False: 'False'})\n",
+ " current_df[\"percentage_similar\"]=100-current_df[\"percentage_missing\"]\n",
+ " current_df[\"percentage_similar_biomass\"]=100-current_df[\"percentage_missing_biomass\"]\n",
+ " current_df[\"percentage_similar_exchange\"]=100-current_df[\"percentage_missing_exchange\"]\n",
+ " current_df[\"percentage_similar_seed_into_exchange\"]=100-current_df[\"percentage_missing_seed_into_exchange\"]\n",
+ " current_df[\"percentage_similar_exchange_into_seeds\"]=100-current_df[\"percentage_missing_exchange_into_seeds\"]\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n",
+ " # in this notebook we use only Guess-Check-Diversity and only the non accumulation mode for Seed2LP\n",
+ " if mode == \"full\":\n",
+ " scope_all = scope_all[scope_all[\"mode\"]==\"reasoning_guess_check_diversity\"]\n",
+ " scope_all = scope_all[scope_all[\"accu\"]==False]\n",
+ " scope = scope_all[scope_all[\"run\"]==\"full\"]\n",
+ " elif mode == \"target\":\n",
+ " scope_all = scope_all[scope_all[\"mode\"]==\"reasoning_guess_check_diversity\"]\n",
+ " scope_all = scope_all[scope_all[\"accu\"]==False]\n",
+ " scope = scope_all[scope_all[\"run\"]==\"target\"]\n",
+ " else:\n",
+ " scope = scope_all\n",
+ "\n",
+ " if optim==\"submin\":\n",
+ " return scope[scope[\"optim\"]==\"subset_minimal\"]\n",
+ " elif optim==\"min\":\n",
+ " return scope[scope[\"optim\"]==\"minimize\"]\n",
+ " else:\n",
+ " return scope"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def sub_cobra_within_45m(cobra_timer, scope_cobra, data_size_cobra):\n",
+ " data_size_cobra = data_size_cobra.dropna()\n",
+ " for _, val in cobra_timer.iterrows():\n",
+ " if val[\"cobra_10\"] > 2700:\n",
+ " scope_cobra=scope_cobra[scope_cobra[\"species\"]!=val[\"network\"]]\n",
+ " data_size_cobra=data_size_cobra[data_size_cobra[\"species\"]!=val[\"network\"]]\n",
+ "\n",
+ " return scope_cobra,data_size_cobra"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def plot_compare(df1:pd.DataFrame, df2:pd.DataFrame, col, labels, y_label:str=\"\"):\n",
+ " np.set_printoptions(precision=3)\n",
+ " plt.style.use(\"seaborn-v0_8-colorblind\")\n",
+ "\n",
+ "\n",
+ " nan_spec=df1[df1[col].isnull()][\"species\"]\n",
+ " for nspe in nan_spec:\n",
+ " df1=df1.drop(df1.loc[df1['species']==nspe].index)\n",
+ "\n",
+ " nan_spec=df2[df2[col].isnull()][\"species\"]\n",
+ " for nspe in nan_spec:\n",
+ " df2=df2.drop(df2.loc[df2['species']==nspe].index)\n",
+ "\n",
+ " del_spec=set(df2['species']) - set(df1['species'])\n",
+ " for sp in del_spec:\n",
+ " df2=df2.drop(df2.loc[df2['species']==sp].index)\n",
+ "\n",
+ " n = len(df1['species'].unique())\n",
+ " \n",
+ " df1=df1.assign(Tool=labels[0])\n",
+ " df2=df2.assign(Tool=labels[1])\n",
+ " \n",
+ " concat_table = pd.concat([df1, df2])\n",
+ "\n",
+ " scope_tab = concat_table.groupby(['species','Tool'])[col].mean()\n",
+ " scope_df=pd.DataFrame(scope_tab)\n",
+ " scope_df=scope_df.reset_index()\n",
+ " plt.figure(figsize=(3,4))\n",
+ " sns.set_theme(font_scale = 1.5)\n",
+ "\n",
+ "\n",
+ " df1_means= scope_df[scope_df['Tool']==labels[0]]\n",
+ " df2_means= scope_df[scope_df['Tool']==labels[1]]\n",
+ " df1_gen_mean=df1_means[col].mean()\n",
+ " df2_gen_means=df2_means[col].mean()\n",
+ " print(labels[0], \" global mean: \",df1_gen_mean, \"\\t \", labels[1], \"global mean: \", df2_gen_means)\n",
+ "\n",
+ "\n",
+ " # KRUSKAL WALLIS TESTS\n",
+ " # Get the p-value from Kruskall Wallis test\n",
+ " if df1_gen_mean != df2_gen_means:\n",
+ " kstat, p_value = kruskal(scope_df[scope_df[\"Tool\"]==labels[1]][col], scope_df[scope_df[\"Tool\"]==labels[0]][col])\n",
+ " else:\n",
+ " kstat, p_value = None, None\n",
+ "\n",
+ " sns.boxplot(data=scope_df, x=\"Tool\", y=col, hue=\"Tool\", fill=False, linewidth=1.5)\n",
+ " plt.xlabel('')\n",
+ " plt.ylabel(y_label)\n",
+ " plt.title(f\"kstat = {kstat}, p-value = {p_value}, n={n}\")\n",
+ " sns.despine(bottom=True)\n",
+ "\n",
+ " pict_dir=\"/home/cghassem/Projets/seed-2-lp/picture/\"\n",
+ " match col:\n",
+ " case \"percentage_similar_exchange_into_seeds\":\n",
+ " supp=\"exchange\"\n",
+ " case \"percent\":\n",
+ " supp=\"size\"\n",
+ " case \"percentage_similar_biomass\":\n",
+ " supp=\"biomass\"\n",
+ " case \"percentage_similar\":\n",
+ " supp=\"full\"\n",
+ "\n",
+ " plt.savefig(pict_dir+f'cobra_{supp}.pdf', bbox_inches='tight')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_sizes(flux_df:pd.DataFrame, nb_total_meta:pd.DataFrame):\n",
+ " list_mean_size = flux_df.groupby(['species'])['size'].mean()\n",
+ " mean_size_df = pd.DataFrame(list_mean_size)\n",
+ " data_size_df = pd.concat([nb_total_meta, mean_size_df], axis=1)\n",
+ " data_size_df[\"percent\"]=data_size_df[\"size\"] / data_size_df[\"number_metabolites\"] *100\n",
+ " data_size = pd.DataFrame(data_size_df[\"percent\"])\n",
+ " data_size=data_size.reset_index()\n",
+ " data_size=data_size.rename(columns={\"index\": \"species\"})\n",
+ " return data_size"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_sizes_cobra(supp_data_file, nb_total_meta:pd.DataFrame):\n",
+ " table_all = pd.read_csv(supp_data_file, sep='\\t', lineterminator='\\n')\n",
+ " # get value within 45 min\n",
+ " table_all=table_all[table_all['time']<2700]\n",
+ " table_all=table_all.set_index('network')\n",
+ " data_size_df = pd.concat([nb_total_meta, table_all[\"size\"]], axis=1)\n",
+ " data_size_df[\"percent\"]=data_size_df[\"size\"] / data_size_df[\"number_metabolites\"] *100\n",
+ " data_size = pd.DataFrame(data_size_df[\"percent\"])\n",
+ " data_size=data_size.reset_index()\n",
+ " data_size=data_size.rename(columns={\"network\": \"species\"})\n",
+ " return data_size"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_total_nb_meta(supp_data_file):\n",
+ " table_all = pd.read_csv(supp_data_file, sep='\\t', lineterminator='\\n')\n",
+ " union_all = table_all.loc[table_all[\"type_data\"] == \"Union\"]\n",
+ " num_metabolite = union_all.groupby(['network'])['number_metabolites'].first()\n",
+ " return pd.DataFrame(num_metabolite)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_mean_std_deviation(table, tool):\n",
+ " mean = table[\"Total_flux\"].mean()\n",
+ " std = table[\"Total_flux\"].std()\n",
+ " print(tool, f\"mean = {mean}\", f\"standard deviation = {std}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_fba_ok_nb(table, tool):\n",
+ " if tool == \"Seed2LP\":\n",
+ " try:\n",
+ " nb = len(table) - table['True_flux'].value_counts()[0]\n",
+ " except:\n",
+ " nb = len(table) \n",
+ " else:\n",
+ " nb = len(table.species.unique())\n",
+ " print(tool, f\"Number of networks with solutions satisfying FBA = {nb}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_fba_scope_ok_nb(table_scope, tool, has_table_flux=False, table_flux=None):\n",
+ " if has_table_flux:\n",
+ " table_no_flux = table_flux[table_flux['False_flux']!=0]\n",
+ " for species in table_no_flux[\"species\"]:\n",
+ " table_scope=table_scope[table_scope[\"species\"]!=species]\n",
+ " scope_mean_by_species = table_scope.groupby(['species'])['percentage_similar_biomass'].mean()\n",
+ " try :\n",
+ " nb = scope_mean_by_species.value_counts()[100]\n",
+ " except :\n",
+ " nb = 0\n",
+ " print(tool, f\"Number of networks with solutions satisfying FBA and all biomass reactants reachable = {nb}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_nb_networks_less_10_sol(scope_cobra_10, tool):\n",
+ " num_sol_by_species = scope_cobra_10.species.value_counts()\n",
+ " nb_less_10=0\n",
+ " for _, nb in num_sol_by_species.items():\n",
+ " if nb != 10 :\n",
+ " nb_less_10 +=1\n",
+ " print(tool, f\"has {nb_less_10} networks having less than 10 solutions\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_fba_ok_solutions(scope_table, tool):\n",
+ " try:\n",
+ " nb=scope_table['percentage_similar_biomass'].value_counts()[100]\n",
+ " reach=round(scope_table['percentage_similar_biomass'].min(),2)\n",
+ " type = \"minimum\"\n",
+ " except:\n",
+ " nb=0\n",
+ " reach=round(scope_table['percentage_similar_biomass'].max(),2)\n",
+ " type = \"maximum\"\n",
+ "\n",
+ " print(f\"{tool}: {nb} solutions satisfying all biomass reactants reachable\")\n",
+ " print(f\"{reach}% is the {type} biomass reacntants reachable\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Get data"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## TIMERS"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "nb_total_meta_df = get_total_nb_meta(s2lp_supp_data)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "cobra_1_timer=get_cobra_timer(cobra_1_supp_data_file, 'cobra_1')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'RECON1'}"
+ ]
+ },
+ "execution_count": 29,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "set(list(nb_total_meta_df.index)) - set(cobra_1_timer[\"network\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "cobra_10_timer=get_cobra_timer(cobra_10_supp_data_file, 'cobra_10')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "{'RECON1', 'Recon3D'}"
+ ]
+ },
+ "execution_count": 31,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "set(list(nb_total_meta_df.index)) - set(cobra_10_timer[\"network\"])"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n"
+ ]
+ }
+ ],
+ "source": [
+ "flux_T = get_fluxes(s2lp_results_gcd_ten_sol, \"target\")\n",
+ "T_reasoning, T_filter, T_gc, T_gcd = get_separate_data(flux_T)\n",
+ "T_gcd_tab=create_table_plot(T_gcd,'has_flux')\n",
+ "dict_species_T = {\"gcd\":get_list_species(T_gcd_tab)}\n",
+ "timers_T=get_timers(s2lp_supp_data, \"target\")\n",
+ "list_all_species = get_all_species()\n",
+ "timers_T_final = convert_timers_table(timers_T, \"submin\", list_all_species, dict_species_T)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "cobra_1_timer.to_csv(f\"{timer_tables_dir}/cobra_1.tsv\", sep='\\t')\n",
+ "cobra_10_timer.to_csv(f\"{timer_tables_dir}/cobra_10.tsv\", sep='\\t')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 34,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "data_size_cobra = get_sizes_cobra(cobra_10_supp_data_file, nb_total_meta_df)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## SCOPES"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/tmp/ipykernel_227820/1999148358.py:29: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n"
+ ]
+ }
+ ],
+ "source": [
+ "scope_cobra_10 = get_scopes(cobra_10_scope_dir, \"cobrapy\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "sub_scope_cobra_10, sub_data_size_cobra = sub_cobra_within_45m(cobra_10_timer,scope_cobra_10, data_size_cobra)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 37,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/tmp/ipykernel_227820/1999148358.py:29: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1999148358.py:29: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1999148358.py:29: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1999148358.py:29: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1999148358.py:29: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1999148358.py:29: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1999148358.py:29: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1999148358.py:29: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1999148358.py:29: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1999148358.py:29: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n"
+ ]
+ }
+ ],
+ "source": [
+ "scope_s2lp = get_scopes(s2lp_scope_dir, \"target\", \"submin\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Fluxes"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 39,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n"
+ ]
+ }
+ ],
+ "source": [
+ "flux_s2lp_TGT_submin = get_fluxes(s2lp_results_gcd_ten_sol, \"target\", \"submin\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 40,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ "/tmp/ipykernel_227820/1264284479.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n"
+ ]
+ }
+ ],
+ "source": [
+ "flux_cobra = get_fluxes(s2lp_results_gcd_ten_sol, \"target\", \"submin\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 41,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "s2lp_flux=create_table_plot(flux_s2lp_TGT_submin,'has_flux')\n",
+ "# Cobra is design to have flux for each solutions, no need to get it back"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 42,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "data_size_s2lp = get_sizes(flux_s2lp_TGT_submin, nb_total_meta_df)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Cobrapy gives minimal solution, either it finds 1 or 10 solutions, by species the size is the same"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# PLOT"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "This part uses R to get the data tables from `timer_tables_dir` variable and write it in `timers_plot_dir` directory (set at the begining of the notebook in paragraphe [Variable to change](#variable-to-change-if-wanted) ) "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 43,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.\n",
+ "`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.\n",
+ "`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.\n",
+ "`stat_bin()` using `bins = 30`. Pick better value with `binwidth`.\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "data.table 1.16.0 using 4 threads (see ?getDTthreads). Latest news: r-datatable.com\n",
+ "\n",
+ "Attachement du package : ‘data.table’\n",
+ "\n",
+ "Les objets suivants sont masqués depuis ‘package:reshape2’:\n",
+ "\n",
+ " dcast, melt\n",
+ "\n",
+ "RStudio Community is a great place to get help:\n",
+ "https://community.rstudio.com/c/tidyverse\n",
+ "De plus : Messages d'avis :\n",
+ "1: Dans (function (package, help, pos = 2, lib.loc = NULL, character.only = FALSE, :\n",
+ " les bibliothèques ‘/usr/local/lib/R/site-library’, ‘/usr/lib/R/site-library’ ne contiennent aucun package\n",
+ "2: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.\n",
+ "ℹ Please use `after_stat(count)` instead.\n",
+ "This warning is displayed once every 8 hours.\n",
+ "Call `lifecycle::last_lifecycle_warnings()` to see where this warning was\n",
+ "generated. \n",
+ "3: Removed 5 rows containing non-finite outside the scale range (`stat_bin()`). \n",
+ "4: Removed 8 rows containing non-finite outside the scale range (`stat_bin()`). \n",
+ "5: Removed 21 rows containing non-finite outside the scale range (`stat_bin()`). \n",
+ "6: Removed 9 rows containing non-finite outside the scale range (`stat_bin()`). \n"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "%%R -i timer_tables_dir -i timers_plot_dir -i gcd1_timer_tables\n",
+ "library(reshape2)\n",
+ "library(data.table)\n",
+ "library(ggplot2)\n",
+ "\n",
+ "\n",
+ "# create output directory if it does not exist\n",
+ "if (!dir.exists(timers_plot_dir)) {\n",
+ " dir.create(timers_plot_dir)\n",
+ "}\n",
+ "\n",
+ "readfile <- function(filepath){\n",
+ " # read the data\n",
+ " data <- read.table(filepath, header = TRUE, sep = \"\\t\") # , row.names = 1\n",
+ " # get the name of the file, no extension\n",
+ " file_id <- sub(pattern = \"(.*)\\\\..*$\", replacement = \"\\\\1\", basename(filepath))\n",
+ "\n",
+ " if (file_id == \"gcd_10_tgt\" || file_id == \"Target\"){\n",
+ " data <- data[,c(\"network\", \"Guess.Check.div\")]\n",
+ " colnames(data) <- c(\"Network\", \"Time\")\n",
+ " # replace -200 with 2700\n",
+ " data[data$Time == -200,] <- 2700\n",
+ " # replace -100 with NA\n",
+ " data[data$Time == -1000,] <- NA\n",
+ " data$Group <-\"Seed2LP Guess&Check Diversity\"\n",
+ " return(data)\n",
+ " }\n",
+ " else{\n",
+ " colnames(data) <- c(\"num\", \"Network\", \"Time\")\n",
+ " # replace -200 with 2700\n",
+ " data[data$Time == -200,] <- 2700\n",
+ " # drop cobra inferences that lasted more than 45 min because such a time limit was set-up for seed2lp\n",
+ " data[data$Time > 2700,] <- NA\n",
+ " # drop a column\n",
+ " data <- data[,c(\"Network\", \"Time\")]\n",
+ " # add group\n",
+ " data$Group <- \"Cobrapy\"\n",
+ " return(data)\n",
+ " }\n",
+ "}\n",
+ "\n",
+ "\n",
+ "cobra1 <- readfile(paste(timer_tables_dir, \"/cobra_1.tsv\", sep = \"\"))\n",
+ "gcd_1 <- readfile(gcd1_timer_tables)\n",
+ "cobra10 <- readfile(paste(timer_tables_dir, \"/cobra_10.tsv\", sep = \"\"))\n",
+ "gcd_10 <- readfile(paste(timer_tables_dir, \"/gcd_10_tgt.tsv\", sep = \"\"))\n",
+ "\n",
+ "all_1 <- rbind(cobra1, gcd_1)\n",
+ "all_10 <- rbind(cobra10, gcd_10)\n",
+ "\n",
+ "\n",
+ "# plot the data\n",
+ "p1 = ggplot(all_1, aes(x = Time, color = Group)) +\n",
+ " stat_bin(data = subset(all_1, Group == \"Cobrapy\"), aes(y = cumsum(..count..)), geom = \"step\") +\n",
+ " stat_bin(data = subset(all_1, Group == \"Seed2LP Guess&Check Diversity\"), aes(y = cumsum(..count..)), geom = \"step\") +\n",
+ " # style the plot\n",
+ " theme_bw() +\n",
+ " labs(title = \"Cobrapy vs Seed2LP (1 solution)\", x = \"Time\", y = \"Cumulative count of GSMNs with solutions\", colour = \"Solving mode\") +\n",
+ " # increase font size\n",
+ " theme(text = element_text(size = 15))\n",
+ "\n",
+ "# save the plot\n",
+ "ggsave(paste0(timers_plot_dir, \"/\", \"cobra_gcd_1\", \".pdf\"), plot = p1, width = 10, height = 7)\n",
+ "\n",
+ "# plot the data\n",
+ "p2 = ggplot(all_10, aes(x = Time, color = Group)) +\n",
+ " stat_bin(data = subset(all_10, Group == \"Cobrapy\"), aes(y = cumsum(..count..)), geom = \"step\") +\n",
+ " stat_bin(data = subset(all_10, Group == \"Seed2LP Guess&Check Diversity\"), aes(y = cumsum(..count..)), geom = \"step\") +\n",
+ " # style the plot\n",
+ " theme_bw() +\n",
+ " labs(title = \"Cobrapy vs Seed2LP (10 solutions)\", x = \"Time\", y = \"Cumulative count of GSMNs with solutions\", colour = \"Solving mode\") +\n",
+ " # increase font size\n",
+ " theme(text = element_text(size = 15))\n",
+ "\n",
+ "# save the plot\n",
+ "ggsave(paste0(timers_plot_dir, \"/\", \"cobra_gcd_10\", \".pdf\"), plot = p2, width = 10, height = 7)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Fluxes"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Mean and standard deviation"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 44,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Seed2LP mean = 9.887755102040817 standard deviation = 0.8358297693455402\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_mean_std_deviation(s2lp_flux, \"Seed2LP\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Number of networks satisfying FBA constraints"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Seed2LP Number of networks with solutions satisfying FBA = 98\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_fba_ok_nb(s2lp_flux, \"Seed2LP\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 46,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Seed2LP Number of networks with solutions satisfying FBA and all biomass reactants reachable = 98\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_fba_scope_ok_nb(scope_s2lp, \"Seed2LP\", True, s2lp_flux)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 77,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Seed2LP: 969 solutions satisfying all biomass reactants reachable\n",
+ "100.0% is the minimum biomass reacntants reachable\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_fba_ok_solutions(scope_s2lp, \"Seed2LP\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "COBRApy Number of networks with solutions satisfying FBA = 84\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_fba_ok_nb(sub_scope_cobra_10, \"COBRApy\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "COBRApy Number of networks with solutions satisfying FBA and all biomass reactants reachable = 0\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_fba_scope_ok_nb(sub_scope_cobra_10, \"COBRApy\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 76,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "COBRApy: 0 solutions satisfying all biomass reactants reachable\n",
+ "51.22% is the maximum biomass reacntants reachable\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_fba_ok_solutions(sub_scope_cobra_10, \"COBRApy\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "COBRApy has 66 networks having less than 10 solutions\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_nb_networks_less_10_sol(sub_scope_cobra_10, \"COBRApy\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Seed2LP has 3 networks having less than 10 solutions\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_nb_networks_less_10_sol(scope_s2lp, \"Seed2LP\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Plot number of fluxes validating (all solutions validates) or not (none of solution validates) FBA"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Flux & scope means solution insurinf FBA constraints and having target metabolites from reactant of objective reaction into scope"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 89,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA24AAAHiCAYAAACQvJ/tAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACVLklEQVR4nOzdd1QU198G8GeW3osg2BVLYldUFLGLUYm9YC+JsSWW2GKsMaixJWJsMRqNDQv2RmLUELuogBUVC6CAhSLi0tnd9w9e5geywMIusODzOceT2Z07d76DkeVh7twrKBQKBYiIiIiIiEhrSUq6ACIiIiIiIsobgxsREREREZGWY3AjIiIiIiLScgxuREREREREWo7BjYiIiIiISMsxuBEREREREWk5BjciIiIiIiItx+BGRERERESk5XRLugAqegqFAnL5x7nOukQifLTXTkREuftYPx8kEgGCIJR0GURUCAxuHwG5XIHY2ISSLqPY6epKYGVlgvj4RKSny0u6HCIi0hIf8+eDtbUJdHQY3IhKIw6VJCIiIiIi0nIMbkRERERERFqOwY2IiIiIiEjLMbgRERERERFpOQY3IiIiIiIiLcfgRkREREREpOUY3IiIiIiIiLQcgxsREREREZGWY3AjIiIiIiLScgxuREREREREWo7BjYiIiIiISMsxuBEREREREWk5BjciIiIiIiItx+BGRERERESk5RjciIiIiIiItByDGxERERERkZbTLekCqPSTSARIJEJJl5GDjo4k23+1jVyugFyuKOkyiIiKDD8fCo+fEUT0IQY3UotEIsDCwhC6utr7v5K5uVFJl6BUeno63r1L5gczEZVJ/HxQDz8jiOhD2vvdlEoFiUSArq4uhg0bhgcPHpR0OaVG3bp14eXlBYlE4IcyEZVJ/HwoPH5GEJEyDG6kEQ8ePEBgYGBJl0FERFqGnw9ERJqhvYO7iYiIiIiICACDGxERERERkdZjcCMiIiIiItJyDG5ERERERERajsGNiIiIiIhIyzG4ERERERERaTkGNyIiIiIiIi3H4EZERERERKTlGNyIiIiIiIi0HIMbERERERGRltMt6QKKgkwmw9OnT3Hv3j3cv38f9+7dw8OHD5GcnAwA6Nu3L5YvX16gPt+8eYN9+/bB19cXERERSElJgY2NDZo3b47+/fvDycmpQP2dPXsWx48fx927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IiIiIiqzNBbcEhISsH37dmzfvh1SqTRbYKtSpQq++eYb9O7dmzNIEhERERERFZDawS0lJQW7d+/GH3/8gbi4uGyBzd7eHhMnTkT//v2hq1ts86AQERERERGVKYVOU+np6di/fz82bdqE6OjobIHNxsYGY8eOxZAhQ6Cvr6+RQomIiIiIiD5WBQ5ucrkcR44cwYYNG/Dy5UtxLTYAsLCwwJgxYzBixAgYGRlpvFgiIiIiIqKPUYGC26lTp7B27Vo8f/482x02Y2NjjBo1Cl9++SVMTU01XiQREREREdHHTOXg1qtXLzx+/DhbYDM0NMTw4cPx1VdfwdLSsijqIyIiIiIi+uipHNyCg4PFIZGCIKBatWr46quvYGtri9u3b2usoPbt22usLyIiIiIiorKgwM+4CYIAhUKBsLAwLFiwQKPFCIKAoKAgjfZJRERERERU2kkKc1DWtdiyDp1Uh0Kh0FhfREREREREZUmB7rjlFqwYuIiIiIiIiIqOysHt4cOHRVkHERERERER5aJQQyWJiIiIiIio+DC4ERERERERaTkGNyIiIiIiIi3H4EZERERERKTlGNyIiIiIiIi0nMqzSt64caMo6xC1aNGiWM5DRERERERUWqgc3EaMGJFt4e2iIAgCgoKCivQcREREREREpU2BFuAGci62rakwx0W8iYiIiIiIlCtwcBMEIVvIYuAiIiIiIiIqWgUObgBQuXJl9OrVC71790aFChU0XRMRERERERFloXJwMzIyQlJSEgAgIiICv/32GzZt2gQnJyf06dMHn332GYyNjYusUCIiIiIioo+VyssBXLlyBcuXL0fr1q3F4ZJyuRx+fn6YM2cOXFxcMGvWLFy+fJnDJ4mIiIiIiDSoQHfc+vTpgz59+uD169c4duwYTpw4gcePHwMAkpKScPLkSZw8eRK2trbiUMratWsXWfFEREREREQfg0ItwG1nZ4dx48bhxIkTOHToEIYPHw5ra2soFAooFApERUVh69at6NWrF/r164cdO3YgNjZW07UTERERERF9FAoV3LKqX78+5s+fj4sXL+K3335D165doaenJ4a4Bw8eYPny5WjXrh3Gjx8PHx8fpKamaqJ2IiIiIiKij0KhZpVURkdHBx07dkTHjh3x/v17nDp1CseOHUNgYCAAID09HRcuXMCFCxdgamqK7t27w8PDQ1OnJyIi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KV68eIGQkBAxvKSnp+P3339HYmIi5s6dq4lyNKZdu3YQBAEKhQKPHj1CWloa9PT0cm1///59cTvrnTJTU1M4Ojri5s2bSEhIgL+/P5ycnJT2IZfLcenSpWw1EBERERHRx00jwe27775DbGysGHK6d++OUaNGoUmTJkrbv3//HidPnsRvv/2GN2/eQKFQYNeuXXBxcUH79u01UZJG2Nvbo0WLFrh+/TqkUilOnTqFPn36KG374MED3Lp1C0DGhCKOjo7Z9ru5ueHmzYypXrdt25ZrcDt79qw4VLJJkyYqLdhNRERERERlm9pDJc+ePYs7d+5AEATo6+vj119/haenZ66hDcgYRjhkyBD89ddfcHZ2BpAxbtrT01PdcjRu+vTp4vayZcvw8OHDHG2io6Mxa9Ys8fWIESOyTdcKAAMGDEDFihUBAL6+vvDy8srRT2hoKDw8PMTXU6dOVbt+IiIiIiIq/dS+43b69Glxe/r06ejatavKx5qYmGDdunXo1asXIiMj8ejRIzx//hxVq1ZVtyyNadq0KcaOHYstW7YgLi4OAwcORN++feHo6AhdXV08ePAABw8eFGeCrF+/Pr7++usc/RgYGGDp0qUYN24c0tLS4OHhgYsXL6JTp04wMjJCUFAQDhw4ID4n5+7ujtatWxfnpRIRERERkZZSO7jdvn0bQMZzXEOGDCnw8aamphg8eDBWr14NALh165ZWBTcAmDlzJnR0dLBlyxakpqZi//792L9/f452bdq0werVq2FgYKC0n9atW8PT0xNz585FfHw8fH194evrm6Odu7s7Fi1apOnLICIiIiKiUkrt4BYdHQ1BEFCzZk3o6+sXqo/69euL2zExMeqWVCSmTZuG7t274+DBg7h8+TJev36N9PR0lCtXDk2bNkXv3r1Vej6vS5cuaNy4Mfbu3QtfX19EREQgJSUFtra2aNasGQYMGJDr829ERERERPRxUju4ZS5omDndfWFkPVaTCyRq2qeffor58+er3U/58uUxdepUPsNGREREREQqUXtyknLlykGhUODp06f5rk+Wm0ePHonb1tbW6pZERERERERUpqgd3OrVqwcAiI+Px/Hjxwt8fOYzY5myDpskIiIiIiIiDQS3zp07A8gY4rh06VL4+/urfKxMJsPcuXMREhICQRBQtWpV1K5dW92SiIiIiIiIyhS1g1uPHj3g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4OHhAYVCodbC2oIgaKIcIiIiIiKiMkXt4Hbv3j0sXrwYcrlcfK9GjRpo1KgRbGxsYGRkpO4piIiIiIiIPmpqB7c///wTMpkMgiDAzs4OK1eu5ILdREREREREGqR2cLt586a4/dtvv6Fu3brqdklERERERERZqL0cQExMDARBQK1atRjaiIiIiIiIioDawc3ExAQAUK5cObWLISIiIiIiopzUDm6ffPIJFAoFoqKiNFEPERERERERfUDt4Pb5558DAJ49e4YXL16oXRARERERERFlp3Zw69evH2rXrg0A8PDwyLYsABEREREREalP7eCmp6eHDRs2oHz58rh06RImTpyI169fa6I2IiIiIiIiggaWAwCAqlWr4tChQ5g/fz7+++8/uLq6wsXFBU2aNEG5cuWgp6encl99+vTRRElERERERERlhkaCGwAYGBigfv36uHz5MtLS0nD+/HmcP3++QH0IgsDgRkRERERE9AGNBLfg4GB8+eWXiImJAZARwABAoVBoonsiIiIiIqKPmtrB7c2bNxg5ciTi4uLE9wRBgL29PWxsbGBoaKjuKYiIiIiIiD5qage3LVu2IC4uDoIgQFdXFxMmTIC7uztsbW01UR8REREREdFHT+3glvU5thUrVsDNzU3dLomIiIiIiCgLtZcDePnypTg0kqGNiIiIiIhI89QObqampgAylgQgIiIiIiIizVM7uFWsWBEKhQIJCQmaqIeIiIiIiIg+oHZw69KlCwDg0aNHkEqlahdERERERERE2akd3Nzd3WFlZYX09HRs2LBBEzURERERERFRFmoHN2tra6xevRr6+vrYvn07fv/9d03URURERERERP9P7eUAIiMjUa1aNfzyyy+YN28e1qxZg5MnT6Jfv35o3LgxypUrBz09PZX7q1ixorolERERERERlSlqB7dOnTpBEATxtUKhwOPHj7Fy5coC9yUIAoKCgtQtiYiIiIiIqExRO7hlUigUEAQhW4jLfD8/giCo1I6IiIiIiOhjpJHglhm6Chu+GNqIiIiIiIhyp3Zwe/jwoSbqICIiIiIiolyoPaskERERERERFS0GNyIiIiIiIi3H4EZERERERKTlNDarZFkllUpx+fJl+Pn5ISgoCKGhoXj//j0MDAxQvnx5NGrUCD169EDbtm1zzKiZmzdv3mDfvn3w9fVFREQEUlJSYGNjg+bN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iIhIJWovB0BERERERERFS+U7buvXry/KOkSTJk0qlvMQERERERGVFgUKboIgFGUtABjciIiIiIiIPlTgZ9wKs9i2qoojGBIREREREZU2Kge3Ro0aaTxYRUVFITIyEoIgFGkgJCIiIiIiKs1UDm7e3t4aO2lMTAw2bdqE/fv38y4bERERERFRPop1OYD4+Hj88ccf2LVrF5KTk8X3FQoFHBwcMHny5OIsh4iIiIiIqFQoluCWkJCA7du3Y/v27ZBKpdmGRVauXBmTJk1Cr169IJFwdQIiIiIiIqIPFWlwS0lJwe7du/HHH38gLi4uW2Czs7PDxIkTMWDAAOjqch1wIiIiIiKi3BRJYkpPT8f+/fuxadMmREdHZwts5cqVw9ixYzF06FDo6+sXxemJiIiIiIjKFI0GN7lcjiNHjmDDhg14+fIlFAqFOPmIhYUFvvzyS4wcORJGRkaaPC0REREREVGZprHgdurUKaxduxbPnz/P9r6xsTFGjhyJMWPGwNTUVFOnIyIiIiIi+mioHdzOnj2LtWvX4vHjx+J7CoUChoaGGDp0KMaOHQsrKyt1T0NERERERPTRKnRwu3TpEn799Vfcu3dPfE+hUEBPTw/u7u6YMGECbG1tNVIkERERERHRx6zAwe3mzZtYs2YN/P39AUCceERHRwd9+vTBN998g4oVK2q2SiIiIiIioo+YysHt7t27WLNmDa5cuQLgf4FNIpGge/fumDJlCqpVq1Y0VRIREREREX3EVA5uAwcOhCAIYmATBAGurq6YOnUqatWqVWQFEhERERERfewKPFQyc3r/qlWrQiKRYN26dRorRhAErFmzRmP9ERERERERlQWFnpzk+fPnOab+V0fWNd+IiIiIiIjofwoU3DKHSRIREREREVHxUTm49e3btyjrICIiIiIiolyoHNyWLVtWlHUQERERERFRLiQlXQARERERERHljcGNiIiIiIhIyzG4ERERERERaTkGNyIiIiIiIi3H4EZERERERKTlGNyIiIiIiIi0HIMbERERERGRlmNwIyIiIiIi0nIMbkRERERERFqOwY2IiIiIiEjLMbgRERERERFpOQY3IiIiIiIiLcfgRkREREREpOUY3IiIiIiIiLQcgxsREREREZGWY3AjIiIiIiLScgxuREREREREWo7BjYiIiIiISMsxuBEREREREWk5BjciIiIi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wgTo6+vjxo0bOHToEG7fvi2u8/X1VXtb11kPHz7Ezp07ER0djcmTJ8PZ2Rm2trYwMzODRCJBeXk5/vjjDxw9elSULRg2bBg+/vjjLt+TiIiot2PiRkSkAyQSCfbs2YOQkBDk5OQAAPLz89UOC2lp3bp1WLBgQbtxV65cidraWsTHxwMAysvLER0d3eZ4Ly8vREREdOEJNDU2NiIrK6vDQ0cGDx6MmJgYtbIIREREpI5LJYmIdISxsTESEhKwadMmjVpnqpydnZGUlIRly5ZpFTcsLAwKhQIODg5tjhkxYgQiIyMRHR2tVoS7K4KDg+Hr69thOQEjIyMEBAQgNTW13bkRERERIFF2Zhc5ERH9TyiVSvz1118oKirC48ePYWhoCAsLC8jlcrzzzjtdjltSUoLc3FxUVVWhqakJ5ubmGD9+POzt7btx9v+vuLgYt27dwv3791FbW4t+/frB1NQUY8aMgaOjI6RS6Vu5LxERUW/DxI2IiIiIiEjHcakkERERERGRjmPiRkREREREpOOYuBEREREREek4Jm5EREREREQ6jokbERERERGRjmPiRkREREREpOOYuBEREREREek4Jm5EREREREQ6jokbERERERGRjmPiRkREREREpOOYuBEREREREek4Jm5EREREREQ6jokbERERERGRjmPiRkREREREpOP+D7yQRGEtIvevAAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "create_one_plot(s2lp_flux, [\"Seed2LP\", \"COBRApy\"], scope_s2lp, sub_scope_cobra_10)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Scopes"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Up to 10 set of seeds"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 141,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "COBRApy global mean: 33.69615534728883 \t Seed2LP global mean: 37.91048266268193\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot_compare(sub_scope_cobra_10, scope_s2lp, 'percentage_similar_exchange_into_seeds', [\"COBRApy\",\"Seed2LP\"],\n",
+ " y_label=\"%\\ of all exchanged metabolites\\npresent in the seed set\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 156,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "COBRApy global mean: 0.9238699547221468 \t Seed2LP global mean: 1.7882121790652552\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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r2Pnzp2oXbu2FKBp07fv8ePH+O677wAATZo00VijpfqNBQcH4/jx4+jatSuOHz+OwMBABAUFYdmyZShTpgxev36Nzz//PNu1BSj8+dnX1xc3b97EO++8g549e+b7/akU9tpd0PNzUXnz5o10LilINwwgf8c+J2fPnpUCvLxqpzw9PbFp0yZpfAilUil9VkqlEsnJyYiJidG4bWHu27I25d+4cSMSExMxZ84cXLlyBZcvX8b58+elvognTpzIcY7agh77M2fO4OXLl3Bxccm1Gb3qoVFuXS6KSnG5fpqbm+f4kFvV+lLTnKeqKYwK+srpfrkwv/eMjAyp3/qsWbN021VR25GMVKMszZ49W/zwww9FDw8PsWvXrnmOoPrtt9+KHh4eYsOGDcWFCxeKly5d0jhqWFbajFyblpYmbtmyRRw+fLjYpk0baXTMt1+HDh0qcB7FjWpkQQ8PD3HOnDka08yfP19Kc/v2bbV1gYGBoqenp9i2bVsxISFBbV3W0ciK4nNRKBTi559/Lo0g9/jxY7X1f/zxh5R/bqO8bt++XUr38uXLfOcfExMjjWDaoUMHUalUZkszbNgw0cPDQ/zrr7+yrcvP6Li5CQoKEuvUqSN6eHiI06ZN03r7I0eOSO/7t99+y/d2Bw8eFL28vEQPDw/x66+/zjHdqVOnRE9PT9HDw0P08fERL1++LKampopxcXHirl27xKZNm6p9/86cOaO2fXJysjh58mRp+7Nnz4oxMTFidHS0ePbsWWn03RYtWoh37txR23b//v1qv9nr169nK19SUpLYtm1b0cPDQ/zggw+yrX/69KnYq1cvabS3W7duiYmJiWJERIS4e/duafTEPn36iImJifn+/EQxc2Tdpk2bih4eHuKgQYO02lYU8z72Xbt2ld77iBEjNO7D19dXSnPs2DGty5Ab1ain7du3zzXdwIED8/we5WTGjBmih4eHOGTIkGzrxowZI3p4eIhffPGFxm0Leq4XxZxHNM062nNuctq+RYsWooeHh9ikSROxdevWOb5UI85+9913eXxChvfrr79K7/fLL78UHzx4IKanp4sRERHikiVLRE9PT7VzQFpaWr73nfX8Xq9ePfH58+fZ0kRGRore3t6ih4eH+Pnnn+drv69evRK7dOkienh4iG3bthVfvHihMd3w4cOl/Hv27JltNE5RFMWjR49KaXx9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T5GQkABra2vUqFEDTZo0QefOndUeZOtbcbh+FhfF5feuidY1oUREVHxduXIFgwcPhp2dHQICArTuk5OfJ7lERESlTWGvn6Qd/VaPERFRkbp48SKAzD53vIASERHlD6+f+sUglIioFLl06RKcnJzyPU8XERER8fqpbzrtE0pERIbFJrRERETa4/VTv1gTSkRERERERHrDgYmIiIiIiIhIb1gTSkRERERERHrDIJSIiIiIiIj0hgMTERHpkUKhRExMkqGLQUQauLraGboIRERGgTWhREREREREpDcMQomIiIiIiEhvGIQSERERERGR3jAIJSIiIiIiIr1hEEpERERERER6wyCUiIiIiIiI9IZBKBEREREREekNg1AiIiIiIiLSG1NDF4CIiIiKJ1GphCLyLsTkeAjWDjAp7wlBxufXRERUOAxCiYiIKBv54ytIu7gNYkKUtEywc4FFywEwq9bUgCUjIqKSThBFUTR0IYiIjIVCoURMTJKhi0GUK/njK0g9thImlb1h0agXZE7uUMY8R9r1A1A8vQHLLuNLZSDq6mpn6CIQERkFtqkhIiIiiahUIu3iNphU9oZVt0kwKVcTgpklTMrVzPy/sjfSLm6HqFQauqhERFRCMQglIiIiiSLyLsSEKFg06gVBUL9NEAQZLBr1gpjwGorIuwYqIRERlXQMQomIiEgiJscDAGRO7hrXyxzd1NIRERFpi0EoERERSQRrBwCAMua5xvXK2HC1dERERNpiEEpEREQSk/KeEOxckHb9AERRvd+nKCqRdv0ABDtXmJT3NFAJiYiopGMQSkRERBJBJoNFywFQPL2BlCPLoHj5AGJ6ChQvH2T+//QGLFr253yhRERUYJyihYhKldevX+P8+fO4desWgoODcefOHaSmpqJu3brYvXt3rtvK5XL4+flh//79ePr0KczNzeHl5YUhQ4aga9euOikfp2ihkkLzPKGusGjZv1ROzwJwihYiIn0xNXQBiIh06eDBg1i4cKHW26WlpWH48OG4evUqTExMULNmTaSkpODSpUu4dOkSRo0aha+++qoISkxUPJlVawrTKo0zR8tNjodg7ZDZVJc1oEREVEgMQomoVLG1tUXr1q1Rr1491KtXD0+ePMGSJUvy3G7RokW4evUq3N3dsXbtWlSvXh0AcPz4cXzxxRdYu3YtGjdujI4dOxb1WyAqNgSZDKYVaxu6GEREVMrwcSYRlSofffQRfH198eWXX6Jbt25wdXXNc5uoqChs27YNAPDDDz9IASgAdOrUCSNHjgQArFixomgKTURERGREGIQSkdE7ceIE5HI5qlSpgpYtW2ZbP2DAAABASEgInj59qu/iEREREZUqDEKJyOgFBQUBAJo0aaJxfbly5eDu7q6WloiIiIgKhn1CicjoPXnyBABQpUqVHNNUrlwZz58/x+PHjwudn6kpn/8RERGR8WIQSkRGLz4+HgDg4OCQYxrVujdv3hQqL5lMgKOjTaH2QURERFSSMQglIqOXlpYGADAzM8sxjbm5OQAgNTW1UHkplSLevEku1D6IqGjwARERkX4wCCUio2dhYQEAkMvlOaZJT08HAFhaWhY6v4wMZaH3QURERFRSsWMSERk9e3t7AP9rlquJap0qLREREREVDINQIjJ6VatWBQCEhYXlmEY1NYsqLREREREVDINQIjJ6DRs2BABcu3ZN4/qXL1/i+fPnammJiIiIqGAYhBKR0evUqRPMzMzw5MkTXLx4Mdv6bdu2AQDq1KmT6zQuRERERJQ3BqFEZPRcXFzQv39/AMCsWbPw6NEjad2JEyewbt06AMD48eMNUj4iIiKi0kQQRVE0dCGIiHTlxYsX6N27t/R/eno6kpOTYWpqCltbW2n5yJEjMWrUKOn/1NRUDBs2DNevX4eJiQlq1aqF5ORkqS/oZ599hunTpxe6fAqFEjExSYXeDxHpnqurnaGLQERkFDhFCxGVKgqFAnFxcdmWZ2RkqC1/e75PS0tLbNiwAX5+fti/fz+ePHkCMzMzNG/eHEOGDEG3bt2KuORERERExoE1oUREesSaUKLiizWhRET6wT6hREREREREpDcMQomIiIiIiEhvGIQSERERERGR3jAIJSIiIiIiIr1hEEpERERERER6wyCUiIiIiIiI9IZBKBEREREREekNg1AiIiIiIiLSGwahREREREREpDemhi4AEZVuKSkpuHLlCgIDA3H9+nW8evUKsbGxSEtLQ5kyZeDk5ITq1aujefPmaNasGapXr27oIhMRERFRERJEURQNXQgiKn1CQkKwfft2HDhwACkpKQCA3E43giAAAGrXro0BAwagV69esLa21ktZ9UmhUCImJsnQxSAiDVxd7QxdBCIio8AglIh06s6dO/j5559x6dIlKei0sLBA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8+blPFIRERGRm5vB4bi4oL6ISOU0b948pkyZgsPhICAggFq1anHkyBGsVitBQUEsWrSI2rVrX9M9bDY7aWmqECtSEfn5VSvvIYiIVAoKQkVECtmxYwdz5sxh3759ZGdn06BBA3r06MHIkSPx8bn27RsUhIpUXApCRUTKhoJQEZEypCBUpOJSECoiUja0JlRERERERETKjIJQERERERERKTMKQkVERERERKTMaE2oiIiIiIiIlBllQkVERERERKTMKAgVERERERGRMqMgVERERERERMqMglAREREREREpMwpCRUREREREpMwoCBUREREREZEyoyBUREREREREyoyCUBERERERESkzCkJFRERERESkzCgIFRERERERkTKjIFRERERERETKjIJQERERERERKTMKQkVERERERKTMKAgVERGRKxYeHk5wcDAWi6W8hyIiIjcpz/IegIiIuDt8+DBffvklcXFxnDx5kszMTHx9fWnSpAl33303ffr0oWnTpsX23b17NytWrGD37t2kpKTgcDjw8/Pjrrvuom/fvtx1110l3nfIkCHExcUVOW42m/Hz86Ndu3YMHTqU1q1bF9s/ODi4yDGTyUTt2rUJCQnhscceIzw8/LLP73A4iIiIwGKxYDKZ2LJlC7Vr175sv5tBSkoK0dHRbNmyhYSEBKxWKzVr1qROnTqEhITQvn17unbtio+PT3kPtdSOHz/OunXr2LVrF7/88gtnz57Fy8uLoKAgunXrxuDBg0t8rvDwcJKSkvj73/9OZGTkZe9lsVh48MEHixz38vKiXr16hIWFMWTIEEJCQq75uURE5PozOBwOR3kPQkREIC8vj8mTJ/PFF19gt9sxGo0EBgZSvXp1MjIyOHHiBDabDaPRyMiRI3n++eddfS9cuMBrr73GqlWrAPD29qZRo0YYDAYSExPJzs4GoGfPnkyePJkqVaoUub8zCA0ICCAgIMB1/Ny5c1gsFqxWK0ajkXfeeYe+ffsW6e8MQu+44w58fX0ByMzMJDExkQsXLgDwpz/9iYkTJ17yc9i5cydPPPGE6/2rr77q9v5mtWfPHkaPHk1GRgYGgwF/f3/8/PzIyckhISGBvLw8ABYuXHjJHwvKmzNg3LBhA7fddhsANpuNli1butr4+fnh7+9Pamoqp06dAiAwMJB58+bRsGHDEq95NUFoSEgIZrMZgLS0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TEzkzTffdFsvGhMTw7Jly/D0LH4lz/z585k+fTqenp5Mnz6dBx54oJSfkoiIVBYGx+V+mhURkTKRl5fHu+++y5IlS7Db7RiNRgIDA13bo1gsFvLz8/Hw8GD06NGMGzfO1TcnJ4dXXnmF1atXAwVr+wIDAzEYDCQkJLgKzvTo0YMpU6a4prYWNmTIEOLi4ggICHDb1iInJweLxeIqeBMWFsasWbOKZFKd6zTnz5/vVpiosEOHDvHoo4/icDiIjo5mx44dfPzxxwQGBrJu3brLfkbjxo0jNjaW7t2789FHHwEFe2nOnDmTnj17cuLECfbt20ezZs0wm80cPnyY/Px8/Pz8WLhwYYnVeQH+/Oc/s23bNgCeffZZxo4de9nxXKl///vfTJ482fU+ICCAunXrkpOTw8mTJ13fT4sWLfj888/dCgNt376d5557joyMDDw9PQkKCsLb25v09HROnDiBzWbD39/fbfsZKCgINWbMGE6dOoXRaKRx48bUqFGD8+fPk5iYSF5eHlCwzrZwYLl+/XrGjx9Pfn4+vr6+BAUF8fvvv3P69GmGDh3Khg0bSEpKcisIdPr0aR544AEcDgc1atQosbouFFRfvjjLHB4eTlJSEt7e3pdcZzxixAieeuopLBYLDz74IKDCRCIiNyMVJhIRqSBMJhN/+9vfGDx4MMuWLWPXrl0kJydjsVjw8fEhJCSEDh060KdPH5o0aeLWt2rVqnzwwQcMHjyYFStWsHv3bhISEoCCyrDdu3cnMjKyxExgYcnJySQnJ7vee3p6Ur16de69914eeughIiMjS50FdWrevDldunRh06ZNzJw501UR+OK9QUvSp08fYmNj2bhxI+fOnXNbs2k2m5k/fz6ffPIJq1evJjExkVq1atGlSxfGjRtHvXr1Lnntvn37sm3bNoxGo2t67vUyaNAgWrRowfbt29mzZw/JyckcPnwYu91O7dq1ufvuu+nWrRu9e/cukmm87777WL16NQsWLGDLli0kJCSQl5dHvXr1CAsL4/777yciIqLIPVu2bMmqVatYvHgxGzZs4OjRo1gsFurWrcudd95Jhw4diIiIKHK/iIgIFi9ezMyZM/nxxx85cuQITZs2ZezYsfTr148NGzYUuVdeXp5runF6evolq/nee++9JZ7Lzs6+5HZDhTOzIiJy81ImVEREbmrOTGifPn2YMmXKVV8nOjqaSZMm0alTJz7//PPrOEIREREpTGtCRUREgGXLlgE3bm9QERERKaAgVEREKr2VK1dy6NAhAgICip3aKiIiIteP1oSKiEillJKSwgsvvEBGRgaHDh0C4Pnnn8dkMpXzyERERG5tCkJFRKRSys3NJS4uDk9PT5o0acKTTz55xQWSRERE5OqpMJGIiIiIiIiUGa0JFRERERERkTKjIFRERERERETKjIJQERERERERKTMKQkVERERERKTMKAgVERERERGRMqMgVERERERERMqMglAREREREREpMwpCRUREREREpMz8P4jFCRUgvyX3AAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot_compare(sub_data_size_cobra, data_size_s2lp, 'percent', [\"COBRApy\", \"Seed2LP\"], \n",
+ " y_label=\"Size of seed set\\n(%\\ of GSMN size)\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 143,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "COBRApy global mean: 16.130116827792556 \t Seed2LP global mean: 100.0\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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UCiK9GyloUpISAAAjR7g3NTrEhMTpWXx8fHS//ML0nPuMyEhQecg1NiYF8SvG1FUIX77xPJuxmurykd7GYgSEVUgDEKJDNS4cePg5eWFU6dO4cKFC1AqlVAqlahVqxa6d++uUfb69esAAHd393JoqX5kZGQAAExMTPIto37eM2eW25xDmvPbNudzorpmyJXJBNjZWeq0DzI8oqhCfHk34jVmZ2fJIJSIqAJhEEpkoDw9PbFq1SqsWLECKSnZ807Wq1cPGzZsgLGx5k/75MmTAIB27drpu5l6o85oqx5aq4064MyZzClngKlUKqX9aNsu97YloVKJSEw00GGTpJMqH+2FKrGMhuOqVIDCQOeflVtCJivD4bg2DoiPTytSWd4gIiLSDwahRAZs6NChGDBgAEJDQ2FjY4PatWvnuZhTKBQYOXIk3n33XXTr1q2cWlr2bGxsAPxvWK426nXqsoDmUNv4+Hg4Ozvnu13u8iWVmanSeR9koCwdymS3AgDAcIfbi2W47+xcYvzNERFVJAxCiQycmZkZPD09810vl8sxZMgQ/TWonNStWxd+fn548uRJvmXUU7PUrVtXWubi4gITExMolUqEh4drDULV28nlctSoUaN0G05ERET0muEDEkQGavHixVi9enWRy3/99ddYsmRJGbaofDVv3hwA4Ofnp3V9VFQUIiMjNcoCgLGxMZo0aQIA8PHx0bqtennTpk1hZGRUSi0mIiIiej0xCCUyUCdOnMCZM2eKXP7cuXM4ceJEGbaofPXq1QsmJiYICwvDzZs386w/fPgwgOzkTLmncenXrx+A7Pc09zOlCoUCx48fBwD079+/LJpORERE9FphEEpEpSIhIQHJycnlVr+joyNGjhwJAFi6dCkePXokrfP29sauXbsAADNmzMiz7ciRI+Hk5IQnT57g888/lzLtZmRk4PPPP0d4eDiqVq2Kd955Rw+vhIiIiKhyE0RRLMt8AERURtzc3ODo6Ihr164VqXyLFi0AAP7+/sWuKyoqCjdu3IC9vT26du2qse7+/ftYuHAhgoODpXpWrlyJN954o9j1qD1//lzjOVaFQoHU1FQYGxvDyspKWj558mRMmTJF+js9PR3jx4+Hv78/jIyM0LBhQ6SmpkrPdE6cOBELFy7UWqevry8mT56M1NRU2NraombNmoiMjERCQgIsLCywZ88ejWG8JZWVpUJsrIFmMSWq5JycrMu7CURErwX2hBJVcklJSfjhhx+QlpaGWrVqlWgfx44dw+LFi3H79m2N5enp6Zg6dSqCg4MhiiJEUYSfnx8mTJigU69oVlYW4uPjpX+pqdlTmmRmZmoszz1np5mZGfbv34/58+ejfv36CAsLQ1xcHNq2bYvNmzfnG4ACQKtWrXDq1CkMHToUpqamCA0NhampKYYNG4bTp0+XSgBKREREROwJJTIYW7duxbfffiv9LYoiBEEo1j5mzpypdThqYcaOHQsfHx8cO3YM7u7u0vJDhw7hyy+/RJUqVTBv3jyYmZlh/fr1iIqKwpw5czBt2rRi11XZsSeUqOJiTygRkX6wJ5TIgKh7G9UBaM6/C/pnbGyM4cOHY+rUqSWq9+nTpwCAevXqaSz//fffIQgC5s6di3feeQeDBw/G8uXLIYoivL29dX69RERERFT5cJ5QIgMxdOhQtG3bFkB2MDpu3DjY2tpiy5Yt+W4jk8lgZWWFunXrwszMrMR1x8XFwcrKSmMfKpUK/v7+EARByi4LAJ06dYJMJsPjx49LXB8RERERVV4MQokMhIuLC1xcXKS/a9SoAQcHBykwLUtZWVlQqVQay0JDQ5GWlgZXV1fY2tpKy2UyGWxsbMo1Uy4RERERVVwMQokMlD6Huzo5OeHZs2eIiIiQkhtdvXoVwP+y7uaUmpqKKlWq6K19RERERGQ4+EwoERVKnRn222+/hUqlQmxsLA4dOgRBENClSxeNshEREVAoFHByciqHlhIRERFRRceeUKJKICoqCqGhoUhISEBmZmaBZXPOv1lU48aNg5eXF06dOoULFy5AqVRCqVSiVq1a6N69u0bZ69evA4BGFl0iIiIiIjUGoUQG7N69e1ixYgV8fHyKVF4QhBIFoZ6enli1ahVWrFiBlJTs6UXq1auHDRs2wNhY8zBy8uRJAEC7du2KXQ8RERERVX6cJ5TIQD169AjvvvsuUlJSIIoiTExMYG9vDyMjowK30+VZ0vT0dISGhsLGxga1a9eGTKY5ol+hUMDLywuiKKJXr16wsbEpcV2VFecJJaq4OE8oEZF+MAglMlBz586Fl5cXqlatii+//BJdu3YtNACl8scglKjiYhBKRKQfHI5LZKBu3boFQRDw3//+Fx06dCjv5hARERERFQmz4xIZqKSkJMjlcj57SUREREQGhT2hRAbKyckJsbGxeZ7L1FXjxo1LZT+CICAoKKhU9kVERERElQd7QokMVI8ePZCenl7qgZ4oiqX2j4iIiIgoNyYmIjJQMTExGDx4MOrVq4cffvgBcrm8VPZ7+/ZtrcsjIyOxZs0apKamol+/fmjfvj2qVasGIHue0ps3b+L8+fOwsLDAokWL4OLigrZt25ZKmyoTJiYiqriYmIiISD8YhBIZqGfPnuH+/fv4z3/+A0dHR0ycOBGenp6wtLQscLsaNWoUu66YmBgMGTIExsbG+P7779GwYUOt5R48eICpU6ciKysLJ06cgL29fbHrquwYhBJVXAxCiYj0g0EokYEqybObJX1Oc8WKFThw4AB27tyJzp07F1j22rVrmDx5MsaOHYulS5cWu67KjkEoUcXFIJSISD/4TCiRgSrJM5oqlapEdV2+fBmmpqaFBqAA0LlzZ5iZmeGPP/4oUV1EREREVLkxOy6Rgbp06ZLe6nr58iVMTEyKXN7IyAivXr0qwxYRERERkaFiEEpkoFxcXPRWl42NDWJiYnD37l00adKkwLJ3795FSkoKHB0d9dQ6IiIiIjIkHI5LRIVq164dRFHEsmXLEBcXl2+5+Ph4LFu2DIIgoF27dnpsIREREREZCiYmIqJCPXr0CEOGDIFSqUSVKlXw/vvvo127dnB2doYgCHjx4gVu3bqFw4cPIzY2Fqampjh+/Djq169f3k2vcJiYiKjiYmIiIiL9YBBKVAkoFAqEhITgxYsXSE1NLbDskCFDSlTHlStXMHfuXCQnJ0MQBK1lRFGEpaUlNmzYgG7dupWonsqOQShRxcUglIhIPxiEEhkwhUKBjRs34siRI0hLSyu0fEmnaFGLiorC9u3bcfbsWSQkJGiss7W1xYABAzBt2jRUr169xHVUdgxCiSouBqFERPrBIJTIQGVmZmLChAnw8fGBKIpwcHBATEwMZDIZqlatiri4OGRkZAAALCwsUKVKFQCAt7d3qdQfERGB2NhYAIC9vT1q1apVKvut7BiEElVcDEKJiPSD2XGJDNQvv/yCO3fuwNnZGdu2bYOHhwfc3Nxgb2+Py5cvQ6VSwcfHBxs3bkRQUBDmzJmDt956q9Tqr1WrFgNPIiIiIio2ZsclMlBnzpyBIAj45JNP4OHhkWe9TCZD27Zt8dNPP6FVq1ZYsmQJAgMDy6GlRERERET/wyCUyECFhoYCAPr166exXKVSafxtZGSERYsWITMzEz/88INOdb548QKrV6/GoEGD0KJFC7i7u2usT0hIwI4dO/Ddd9/laQcREREREcDhuEQGKyUlBVZWVjA3N5eWyeVyrdlxXV1dYWlpCR8fnxLXd/36dcyePRvJyclQP0qeO0uura0tLl26hLt376JZs2Zo3759iesjIiIiosqJPaFEBsrBwSFPRlxbW1tkZGQgJiZGY7koilAqlVIioeJ6/vw5Pv74YyQlJaFHjx7YvHkzbG1ttZYdPnw4RFHExYsXS1QXEREREVVuDEKJDFS1atWQlZWFV69eSctcXV0BAFevXtUoe+vWLSgUClhblyzz4549e5CcnIwBAwZg27Zt6Nu3L0xMTLSW7dy5MwDAz8+vRHURERERUeXGIJTIQLVp0waAZrDXu3dviKKI//73vzh79izCwsJw7tw5LFq0CIIglHh47LVr1yAIAmbPnl1o2Zo1a0IulyMyMrJEdRERERFR5cYglMhA9ezZE6Io4tdff5WWjRgxAg0bNkRcXBzmzp2LAQMG4JNPPsGLFy9gbm6OGTNmlKiuZ8+ewczMDHXr1i1SeQsLC63PphIRERERMQglMlAtWrTApUuXsGzZMmmZiYkJ9u3bh0GDBkEul0sJhFq1aoUff/wR9evXL1FdgiAUOdutUqlEcnIyLC0tS1QXEREREVVuzI5LZKAEQYCLi0ue5fb29li/fj0yMzMRGxsLKysrWFhY6FRX9erV8fjxYzx//hzVq1cvsOytW7eQmZmJ2rVr61QnEREREVVO7AklqqSMjY1RtWpVnQNQAOjQoQMA4PDhwwWWS09Px/r16yEIArp06aJzvURERERU+TAIJTJQH3zwAT7++OMil587dy7GjRtXorrGjx8PIyMj/PDDDzhx4oTWMn5+fhg9ejSCg4NhZmaGUaNGlaguIiIiIqrcBFH90BgRGRQ3Nzc4Ojri2rVrRSrfs2dPPH/+HMHBwSWq7+jRo/jss88gCAIcHByQkJCAzMxMdOnSBaGhoYiKioIoihAEAWvXrsWbb75Zonoqu6wsFWJjU8q7GUSkhZNTyaaxIiKi4uEzoUSvCXWAWFLvvvsu7O3t8dVXX+Hly5fS8itXrkj/d3Jywueff47evXvr1FYiIiIiqrwYhBK9BrKyshATEwNzc3Od9tO7d29069YNV65cga+vL16+fAmVSgVHR0e0bNkSPXv2hFwuL6VWl1x8fDz27NmDy5cvIzw8HEqlEnZ2dmjevDlGjx6d73ypSqUS+/btw+nTpxEeHg65XA43NzeMGTMGffv21fOrICIiIqqcGIQSGYjk5GQkJiZqLFOpVHj+/DnyG1UviiKSkpJw7NgxKBQKNGrUSOd2mJiYoFevXujVq5fO+yoLYWFhGDt2LF6+fAmZTAYXFxdYW1sjPDwcFy5cwIULFzB79mxMnz5dY7uMjAxMmDABvr6+MDIyQoMGDZCWloZbt27h1q1bmDJlCubPn19Or4qIiIio8mAQSmQg9u7di2+//VZjWVxcHHr27Fmk7QVBwNtvv10WTatQPv/8c7x8+RJ169bF1q1b0bBhQwCAQqHA9u3bsW3bNmzevBk9e/aEm5ubtN3atWvh6+uLmjVrYufOnahXrx4A4NKlS5gzZw527twp9fYSERERUckxOy6RARFFUfonCILG3wX9q1q1Kj7++GOMGTNG5zbExsbi7Nmz2L17N7Zu3VoKr6r0JCcn49atWwCA//znP1IACgByuRyzZ89G48aNIYqixrOs0dHR0vQzK1eulAJQAOjVqxcmT54MABXu9RIREREZIvaEEhmIcePGYejQoQCyg9HevXvD3t4eP//8c77byGQyWFlZwdpa94yPmZmZWLduHQ4ePAilUiktnzlzpvT/hIQE9OnTB2lpabh06RKqVq2qc73FoVAopKHJtWrV0lqmVq1aCA4O1ngN3t7eUCqVqFOnjtbnRd977z1s27YNgYGBCA8PR+3atcvmBRARERG9BhiEEhkIa2trjWCyTZs2sLOzg4uLi17qnz17Nry9vQEADRo0wOPHj5GVlaVRxtbWFm+++SYOHjyIS5cu4f3339dL29Ts7e1RvXp1PH/+HH5+fnB1ddVYn5GRgbt37wIAmjVrJi0PCAgAALRq1Urrfp2dnVGzZk1ERkYiICCAQSgRERGRDjgcl8hA/fjjj9i8ebNe6vLy8sKlS5fg4OCAY8eO4ddff0WVKlW0lu3fvz8A4PLly3ppW24LFiyQ5io9evQoXr16hbS0NNy9exczZ87Es2fP0K9fP3Tu3FnaJiwsDABQp06dfPerDjwfP35cpu0nIiIiquzYE0pkwJKTkyEIAiwtLQssl5KSAlEUYWVlVaJ6jh07BkEQsGDBAri7uxdY1tPTE4IgIDQ0tER16WrQoEGwtLTE1q1bsWzZMo11dnZ2+Oyzz/L00CYkJADI7snNj3pd7gzFJWFszPt/RERE9PpiEEpkoNRTjQwcOBDr168vsOyCBQvwxx9/YOvWrSWaWiUoKAgA0K9fv0LLmpmZwdraGrGxscWup7SEh4cjISEBgiCgevXqsLGxQXh4OOLi4nDkyBG4u7ujRYsWUvmMjAwA2dPP5Ec9/2l6erpObZPJBNjZFXzTgIiIiKgyYxBKZKDOnTsHABgxYkShZd999114e3vj7NmzJQpCk5KSYG1tDTMzsyKVV6lUxa6jtHz55Zc4ePAg3NzccOrUKWluVKVSiT179mD9+vUYN24cDh06BA8PDwCAqampVCY/CoUCAIr8HuRHpRKRmJiq0z6IqGzwBhERkX4wCCUyUOreSXUgVZCWLVtqbFNctra2iI2NRUZGhhSw5efFixdITk5GjRo1SlSXLkJCQnDo0CEYGxtjy5YtGgmETExMMHXqVDx69AgnTpzAN998g507dwIAbGxsAPxvWK426nXqsrrIzCy/IJ2IiIiovPHBJCIDFRUVBUtLyyIFRTY2NrC0tERUVFSJ6nJzcwMA3L59u9Cy6vk2PT09S1SXLnx9fSGKIurUqZNvBtuuXbsCAP755x9pWd26dQEAT548yXff4eHhGmWJiIiIqGQYhBIZKEEQkJmZWeTyWVlZJR4mO2jQIIiiiE2bNiEtLS3fcl5eXti1axcEQcDbb79dorp0kZKSAiD7vSmMengtADRv3hwA4Ofnp7VsVFQUIiMjNcoSERERUckwCCUyUNWrV0dGRgbu3btXaNmQkBCkp6ejatWqJapryJAh8PT0RGBgIEaOHIlDhw5Jz0/++++/+OWXXzBx4kTMmzcPmZmZaN++PXr06FGiunTxxhtvAMieciUiIkJrmatXr2qUBYBevXrBxMQEYWFhuHnzZp5t1L277u7uBU7jQkRERESFYxBKZKDatm0LURSxZcuWQstu2bIFgiCgXbt2JapLJpNh+/bt8PDwQGhoKL766itpqpJ3330Xy5Ytw40bNyCKIpo1a4aNGzeWqB5dde7cGY6OjsjMzMTHH3+M+/fvS+uUSiV27dqF48ePA8gOrNUcHR0xcuRIAMDSpUvx6NEjaZ23tzd27doFAJgxY4YeXgURERFR5SaIoiiWdyOIqPgePnyIwYMHQxRFDBo0CIsWLYKjo6NGmejoaKxevRpnzpyBkZERTp06hQYNGpS4TqVSiaNHj+Lnn39GaGioxvDeBg0a4N1338V7770nTWdSHm7cuIHp06cjNTUVgiCgRo0a0hQt6uG6ffv2xTfffAMjIyNpu/T0dIwfPx7+/v4wMjJCw4YNkZqaKj0LOnHiRCxcuFDn9mVlqRAbm6Lzfoio9Dk5WZd3E4iIXgsMQokM2Pfff48NGzZAEAQYGxvDw8MDLi4uAICnT5/i7t27yMrKgiiKmDt3LqZOnVpqdaekpCA6OhpZWVlwdHQslayxpeXp06fYt28frl+/jsjISCiVStja2sLd3R1Dhw7FoEGDtG6nUCiwb98+nD59GuHh4TAxMUHjxo0xZsyYIs2RWhQMQokqLgahRET6wSCUyMAdPHgQ69evz5OUR/3TtrKywoIFC6ThplS+GIQSVVwMQomI9INBKFElkJiYiPPnz8PPzw/R0dEAACcnJ7Ro0QIDBgyAlZVVmbchISEBRkZGeqnLkDEIJaq4GIQSEekHg1AiKlRUVBRu3LgBe3t7aZ5Ntfv372PhwoUIDg4GALRo0QIrV67UyD5L/8MglKjiYhBKRKQfzI5LRIU6duwYFi9ejNu3b2ssT09Px9SpUxEcHAxRFCGKIvz8/DBhwgQkJyeXU2uJiIiIqCJjEEpEhbpx4wYAYODAgRrLT5w4gefPn8PW1hbLly/H2rVrUa1aNURFReHAgQPl0VQiIiIiquCMy7sBRKQ7Pz8/+Pr6IioqCqmpqchvlL0gCFi1alWx9//06VMAQL169TSW//777xAEAXPnzsU777wDAKhSpQqmTJkCb29vTJs2rdh1EREREVHlxiCUyICFhYVh3rx5CAoK0lguiqKUJTf3spIEoXFxcbCysoKZmZm0TKVSwd/fH4IgaExf0qlTJ8hkMjx+/LjY9RARERFR5ccglMhAxcXFYdy4cYiKioKjoyPatGmDs2fPwszMDH379kV0dDT+/vtvpKSkwM7ODt27dy9xXVlZWVCpVBrLQkNDkZaWBldXV9ja2krLZTIZbGxs+EwoEREREWnFIJTIQO3btw9RUVFo1qwZ9u7dC3Nzc5w9exZWVlb4+uuvAQCpqan49ttvsXv3bpiamuKLL74oUV1OTk549uwZIiIiUKtWLQDA1atXAWRnw80tNTUVVapUKVFdRERERFS5MTERkYH6888/IQgCPvnkE5ibm2stY2FhgQULFuCDDz7AkSNHcPbs2RLV1bx5cwDAt99+C5VKhdjYWBw6dAiCIKBLly4aZSMiIqBQKODk5FSiuoiIiIiocmMQSmSgwsPDIQgCWrdurbFcqVTmKTt16lQAwNGjR0tU17hx4wAAp06dQuvWrdGtWzc8e/YMNWvWzDPM9/r16wAAd3f3EtVFRERERJUbg1AiA5WZmQlra2sYG/9vVL25uTlSUlLylHV0dIS1tTXu3btXoro8PT2xatUqWFhYIDU1FUqlEvXq1cOWLVs06geAkydPAgDatWtXorqIiIiIqHLjM6FEBqpq1ap4+vQpMjMzpUDQwcEBT58+1Xh2E8juHU1OToaRkVGJ6xs6dCgGDBiA0NBQ2NjYoHbt2pDJNO9jKRQKjBw5Eu+++65OiZCIiIiIqPJiTyiRgapZsyZEUcTz58+lZU2bNgWQPWw2pxMnTkClUsHZ2VmnOs3MzODp6Ym6devmCUABQC6XY8iQIRg6dChsbGx0qouIiIiIKif2hBIZqE6dOuHmzZu4evUqRo0aBQB4++23cfbsWezYsQMxMTFo3LgxQkJCcPToUQiCgN69e5dzq4mIiIjodSeIoiiWdyOIqPgeP36MSZMmoUWLFli/fr20fN68eThz5gwEQZCWiaKI+vXr4/Dhw7C2ti6P5tL/y8pSITY273O7RFT+nJx4fCQi0gcGoUSVjCiK+Pnnn+Hl5YXnz5/D2toaXbp0wcSJExmAVgAMQokqLgahRET6wSCUiEiPGIQSVVwMQomI9IOJiYiIiIiIiEhvmJiIqJKIjY3F06dPkZ6ejjZt2pR3c4iIiIiItGIQSmTgLl26hK1btyIkJAQAIAgCgoKCpPUJCQmYO3cuAGDLli2wsLAol3YSEREREQEcjktk0L7//nvMnDkTwcHBEEVR+peTra0tzM3Ncf36dfz555/l1FIiIiIiomwMQokM1N9//42NGzfCyMgIixcvxs2bN+Ho6Ki17FtvvQVRFOHt7a3nVhIRERERaeJwXCIDtX//fgDAtGnTMG7cuALLqp8R/ffff0ul7vT0dCQmJiIzM7PAcjVq1CiV+oiIiIio8mAQSmSgfH19AQCjR48utKydnR0sLCwQFRVV4vpSUlKwa9cueHl5ITw8vNDyuZ9NJSIiIiICGIQSGayYmBhYWlrC3t6+SOVNTEyQklKy+SljYmIwevRoPHnyJM8zp/nhFMREREREpA2DUCIDZW5ujtTUVKhUKshkBT/enZycjMTExCIHrLlt3LgRYWFhMDc3x4QJE9C5c2c4OjrCyMioRPsjIiIiotcXg1AiA1W3bl38+++/uHfvHho3blxg2fPnz0MURbi5uZWorsuXL0MQBKxevRr9+/cv0T6IiIiIiABmxyUyWD169IAoivj+++8LLPfkyROsX78egiCgV69eJaorKSkJJiYm6NOnT4m2JyIiIiJSYxBKZKDGjh0LBwcHnDt3DosXL8bDhw811kdERGDHjh0YMWIEYmNj4eLighEjRpSormrVqsHIyIjDb4mIiIhIZ4LI7CFEBuvvv//G5MmTkZycrLHczMwM6enpALITBFWpUgV79+4t8XDctWvX4ocffsCRI0fg6empc7tfZ1lZKsTGlixBFBGVLScn6/JuAhHRa4E9oUQGrFmzZjh58iT69OkDQRAgiiJEUURaWpqUnbZ37974+eefSxyAAsDkyZNRo0YNfPHFF0hMTCyt5hMRERHRa4g9oUSVREJCAgICAvDy5UtkZWXB0dERLVu2LHFG3NwiIiIwb948PHv2DO+99x6aNGkCS0vLArdp06ZNqdRdmbAnlKjiYk8oEZF+MAglMlBbt24FAAwfPhzVq1cv8/qePXuGtWvX4uzZsxAEodDygiAgKCiozNtlaBiEElVcDEKJiPSDQSiRgWrcuDGMjIzg7+8PExOTMq0rMjISo0aNwqtXr1CcQ0ZISEgZtsowMQglqrgYhBIR6QfnCSUyUHZ2dsjKyirzABQANm/ejJcvX8LOzg7z589H586d4ejoyGy5RERERFRsTExEZKDc3NyQlJSEuLi4Mq/rxo0bEAQBGzZswPDhw+Hs7MwAlIiIiIhKhEEokYEaOXIkVCoV9uzZU+Z1JSUlwczMDO3bty/zuoiIiIiocmMQSmSg+vXrhwkTJmDnzp34+uuvERsbW2Z11ahRA6IoFikhERERERFRQZiYiMhAffDBBwCAu3fvIi0tDTKZDLVr14aDgwNkMu33lwRBwL59+4pd15YtW7Bt2zb88MMP6NChg07t1qc///wTP//8MwICAhAfHw8bGxvUrl0b7dq1w6xZs2BsrPlYvFKpxL59+3D69GmEh4dDLpfDzc0NY8aMQd++fUulTUxMRFRxMTEREZF+MAglMlBubm7F3kYQBAQHBxd7u/T0dLz77rtITU3Fnj17UKtWrWLvQ58yMzOxePFinD59GgBQrVo1ODk5IT4+Hi9evIBSqYSfn5/GPKcZGRmYMGECfH19YWRkhAYNGiAtLQ3h4eEAgClTpmD+/Pk6t41BKFHFxSCUiEg/mB2XyEDNnDlTb3WdO3cOI0aMwNatW/HWW2+hb9++8PT01AjitBkyZIh+GpjLF198gdOnT8PNzQ3Lly+Hp6entC4tLQ3Xr1+HXC7X2Gbt2rXw9fVFzZo1sXPnTtSrVw8AcOnSJcyZMwc7d+5Ey5Yt0bNnT72+FiIiIqLKhj2hRFQoNzc36XnQoj4bKggCgoKCyrppedy8eRPjxo1D1apV8euvv6JKlSqFbhMdHY3u3btLw3FzJ2DatGkTtm3bBg8PDxw/flyn9rEnlKjiYk8oEZF+sCeUiApVo0aN8m5Cke3duxcAMGnSpCIFoADg7e0NpVKJOnXqaM0A/N5772Hbtm0IDAxEeHg4ateuXYotJiIiInq9MAglokJ5e3uXdxOKJCMjA9euXQMA9OrVC//88w+OHz+OJ0+ewNTUFE2aNMGIESNQrVo1je0CAgIAAK1atdK6X2dnZ9SsWRORkZEICAhgEEpERESkAwahRFRphISEQKlUwsLCAufPn8f69euhUqmk9X/88Qd27tyJNWvWYMCAAdLysLAwAECdOnXy3Xft2rURGRmJx48fl1n7iYiIiF4HDEKJqNJ49eoVAEChUGDt2rVo1aoVli5dioYNG+LZs2fYuHEjzp07hwULFuCNN96QMgwnJCQAAGxtbfPdt3pdYmKizu00NuYUzURERPT6YhBKRMV2//593L17FzExMRAEAfb29mjatCkaNGhQru1KSclO+JOZmQk7Ozt8//33sLKyAgDUrVsXGzduxJMnTxAcHIzt27dj06ZNALKH8QKAiYlJvvtWZ9NNT0/XqY0ymQA7u4KzChMRERFVZgxCiajIrl69irVr1+L+/fta17u6umLBggXo3LmznluWzdTUVPr/yJEjpQBUTSaTYfz48Vi4cCGuXbsGlUoFmUwmbadUKvPdt0KhAACYmZnp1EaVSkRiYqpO+yCissEbRERE+sEglIiK5KeffsLKlSsBZE/TYmRkBDs7OwBAfHw8MjMzce/ePUyZMgWffvopRo8erfc25hxOq57nMzf18uTkZMTHx8Pe3h42NjYA/jcsVxv1OnVZXWRmqgovRERERFRJ8cEkIipUSEgIVq1aBVEU4enpie+//x7+/v64du0arl27Bj8/P3z//fdo3rw5RFHEqlWrEBISovd25gw8c/aK5pRzuTppUd26dQEAT548yXff4eHhGmWJiIiIqGQYhBJRofbs2QOVSoUePXrg4MGD6Nq1q/SMJJD9vGTXrl1x4MAB9OjRA1lZWdi3b5/e2+ns7AwXFxcA/wsac4uIiACQ3Wb1PKLNmzcHAPj5+WndJioqCpGRkRpliYiIiKhkGIQSUaHu3LkDQRCwdOlSGBkZ5VvOyMgIS5YsAQDcunVLX83ToJ565eTJkxrTs6j98ssvAIC2bdvC2Dj7iYRevXrBxMQEYWFhuHnzZp5tDh8+DABwd3cvcBoXIiIiIiocg1AiA5WYmIg7d+4gKCgoz7qXL1/i448/RqtWrdC2bVssWLAAMTExJa4rOjoa1tbWqFmzZqFla9WqBRsbG0RHR5e4Pl1MmjQJ1tbWePjwIVatWiUlFBJFEfv27cMff/wBQRAwdepUaRtHR0eMHDkSALB06VI8evRIWuft7Y1du3YBAGbMmKHHV0JERERUOQmiKIrl3QgiKr4ffvgBa9euxahRo7Bs2TJpeWZmJoYOHYoHDx5A/fMWBAENGjTAsWPHNIbRFlXbtm2RlpYGf39/qfcwP5mZmWjRogXMzc1x+/btYtdVGq5fv46PPvoI6enpsLW1RZ06dfD8+XO8evUKgiBgwYIFmDRpksY26enpGD9+PPz9/WFkZISGDRsiNTVVGtY7ceJELFy4UOe2ZWWpEBubovN+iKj0OTlZl3cTiIheC+wJJTJQf/31FwBg0KBBGsu9vLxw//59mJqa4sMPP8ScOXNgZWWFBw8e4OjRoyWqq169esjMzMT58+cLLXvu3Dkolcp8s9PqQ8eOHXHq1CkMGzYM5ubmCA4ORmZmJnr27In9+/fnCUCB7KlX9u/fj/nz56N+/foICwtDXFwc2rZti82bN5dKAEpEREREnKKFyGCpM7m6urpqLD979iwEQcCsWbOkYKt27dqYO3cuzp8/jzFjxhS7rv79+yMgIABffvkl7Ozs0LFjR63lrl+/ji+//BKCIEjPZpaXunXrYvXq1cXaRi6XY8qUKZgyZUoZtYqIiIiIOByXyEC1atUKAODr66uxvE2bNkhOTsaff/6JqlWrAgAUCgWaNWsGW1tbrYl3CqNQKDB8+HDcv38fgiCgefPm6NixI5ydnSEIAp4/f44bN24gICAAoiiiYcOGJR76W9lxOC5RxcXhuERE+sGeUCIDlZGRARMTE41ljx49QlJSEurWrSsFoEB2D5+NjQ2Sk5NLVJdcLseuXbswa9Ys/PPPP/D390dAQIBGGfX9rGbNmmHz5s0MQImIiIhIKwahRAbKwcEBL1++xKtXr+Dk5AQAuHHjBgCgRYsWecpnZGTA2rrkd/mdnZ1x+PBhnDt3DmfPnsXdu3eljLsODg5o0qQJBg4ciH79+kEm4+PmRERERKQdg1AiA9W0aVNcunQJe/bswX/+8x+kpaXh8OHDEAQBHTp00CgbFRWF9PR01K5dW6c6ZTIZBg4ciIEDB+q0HyIiIiJ6fbG7gshAjRw5EqIoYs+ePRgwYAD69euH+/fvw97eHn379tUoq34ONHcSo6Jyc3ODu7u7lAyJiIiIiKikGIQSGaguXbpg5syZEAQBjx8/xsuXL2FnZ4d169bBzMxMo+xvv/0GAGjXrl2J6jIzM4OFhQXq1Kmjc7uJiIiI6PXG4bhEBmzmzJkYNmwY/v77b9jY2MDT0zPPc58KhQLNmzdHs2bN0L179xLV4+zsjKioqFJoMRERERG97jhFCxEVavXq1di/fz/27duHtm3blndzDBqnaCGquDhFCxGRfjAIJaJCxcbGYvDgwbC1tcXevXs1pn+h4mEQSlRxMQglItIPBqFEBkqhUCA6OhomJibSFC1qKSkp2Lp1K/766y8YGRmhW7du+PDDD/M8K1pUd+7cQVhYGFavXg0jIyO8/fbbaNmyJezt7WFkZJTvdm3atClRfZVZZQ9CVSoRoRHxiE/JQBVLU7jWqgKZTCjvZhEVCYNQIiL9YBBKZKAOHDiAFStWYMiQIVi9erXGujFjxsDX1xfqn7cgCGjdujX2798PQSh+QODm5lbs7QRBQFBQULHrquwqcxDqe+8ljng/QHRCurTM0dYMI3s2QKtG7D2nio9BKBGRfjA7LpGBunbtGgBg8ODBGssvXboEHx8fCIKAwYMH45133oGxsTF8fHxw6tSpEtcnimKx/qlUKp1eHxkW33svse3EXdR0ssLSsa2wbW5XLB3bCjWdrLDtxF343ntZ3k0kIiKiCoLZcYkM1KNHjwAAHh4eGst/++03CIKAKVOm4JNPPgEAuLu748svv8Svv/6KIUOGFLuukJAQndtLlZdKJeKI9wM0a+CImcObQvb/veb1XWwxc3hTbD32L454P0CLhk4cmktERETsCSUyVLGxsTAzM4Otra3G8lu3bgEARowYIS17++23AQD37t0rdL8hISF4+PBhKbaUKrvQiHhEJ6RjUIc6UgCqJhMEDOxQB9EJ6QiNiC+fBhIREVGFwiCUyEClpaVBJtP8CUdGRiI2NhbVq1dHrVq1pOUWFhawsbFBfHx8ofsdMmQIxo8fr7Fs8eLFeZ47JVKLT8kAALg4WWpd7+JoqVGOiIiIXm8MQokMlK2tLVJTU5GYmCgtu3nzJgCgRYsWecpnZmbC0lJ7kJBb7nxlJ06cwJkzZ3RoLVVmVSxNAQBPX2lPuPQ0OkWjHBEREb3eGIQSGSh3d3cAwC+//AIAUKlU+OWXXyAIAtq1a6dRNjY2FqmpqXB0dCx0v6ampkhJqZzZW6lsuNaqAkdbM5y58QSqXDcwVKIIrxtP4GhrBtdaVcqngURERFShMAglMlBDhw6FKIpYv349Jk+ejBEjRiAgIAAWFhbo37+/RlkfHx8AQP369Qvdr4uLC9LT03Hu3LkyaTdVPjKZgJE9G+DvB9HYeuxfPHiagLSMTDx4moCtx/7F3w+iMbJnAyYlIiIiIgCcJ5TIoC1ZsgTHjx+X/jY1NcXKlSvx5ptvapSbM2cOzp8/j08//RSjR48ucJ/ffPMNduzYAUEQUKVKFVhYWODp06cwMjJCtWrVitw2QRBw8eLF4r2g1wDnCSWquDhPKBGRfjAIJTJwvr6+8Pf3h42NDTp06KCRkAgAFAoFli9fjszMTEyfPj3P+tzS09MxZ84cXL58Wad2CYKA4OBgnfZRGVXmIBTInq4lNCIe8SkZqGJpCtdaVdgDSgaDQSgRkX4wCCUirR49eoTQ0FCkpaVh8eLFsLa2xpIlS4q1j6FDh5ZR6wxXZQ9CiQwZg1AiIv1gEEpEhXJzc4OjoyOuXbtW3k0xeAxCiSouBqFERPphXN4NIKKKb+bMmbCwsCjvZhARERFRJcCeUCIDp1AocP78efj6+uLFixdIS0vLM8+nmiAI2Ldvn55bSDmxJ5So4mJPKBGRfrAnlMiA+fn54ZNPPsHLly8hiiIEITsBjDoIVf+tXpbzbyIiIiKi8sAglMhAPX/+HNOmTUNSUhIaNWqELl26YNeuXbCwsMC4ceMQHR2NmzdvIiIiAnZ2dnjvvfdgZGRU3s0mIiIiotccg1AiA7Vnzx4kJSWha9eu+O677yAIghSEzp49Wyp38OBBrFy5EiEhIdi+fXs5tpiIiIiICJCVdwOIqGT++usvCIKAWbNmFTjMdtSoUZg1axYuX76Mo0eP6rGFRERERER5MQglMlDPnj2DTCaDh4eHxnKlUpmn7OjRoyEIAo4fP66v5hERERERacUglMiAWVpaQib738/Y3NwcKSkpebLjWltbw9raGo8fP9Z3E4mIiIiINDAIJTJQVatWRVJSEhQKhbSsWrVqyMrKwsOHDzXKpqWlITExEWlpafpuJhERERGRBgahRAaqbt26AIDIyEhpWbNmzQAAhw8f1ii7Z88eiKIIFxcXvbWPiIiIiEgbZsclMlBdu3bFn3/+iT/++AP16tUDAIwYMQInT57EgQMH8OTJE7i7uyMkJARXrlyBIAgYNGiQzvXGxsbi1q1bePbsGdLS0jBz5kyd90lERERErw9BzP3wGBEZhOfPn+M///kPGjVqhE8//VRavnbtWuzevRsAIAiC9HxomzZtsHv3bsjl8hLVl5mZiXXr1uHgwYMayY+Cg4Ol/yckJKBPnz5IS0vDpUuXULVq1RLVVZllZakQG5tS3s0gIi2cnKzLuwlERK8FBqFEldD169dx5swZvHjxAlZWVujSpQuGDBkCY+OSD36YMWMGvL29AQANGjTA48ePkZWVpRGEAsBXX32FgwcP4vPPP8f777+v0+uojBiEElVcDEKJiPSDw3GJKqGOHTuiY8eOpbY/Ly8vXLp0CY6Ojvj+++/h7u6Ozp07IyYmJk/Z/v374+DBg7h8+TKDUCIiIiLKg4mJiKhQx44dgyAIWLBgAdzd3Qss6+npCUEQEBoaqqfWEREREZEhYRBKRIUKCgoCAPTr16/QsmZmZrC2tkZsbGxZN4uIiIiIDBCH4xIZuOTkZPzxxx+4d+8eEhMTNZIG5SYIAlatWlXsOpKSkmBtbQ0zM7MilVepVMWuo6z8+eefmDp1KgDAxcVFeq41N6VSiX379uH06dMIDw+HXC6Hm5sbxowZg759++qzyURERESVGoNQIgN25MgR/Pe//0VaWpq0TFuuMXWW3JIGoba2toiNjUVGRgZMTU0LLPvixQskJyejRo0axa6ntCUnJ+Pzzz8vtFxGRgYmTJgAX19fGBkZoUGDBkhLS8OtW7dw69YtTJkyBfPnz9dDi4mIiIgqPwahRAbKy8tLCrDMzc3RokULODg46JQBNz9ubm64fv06bt++jS5duhRY9vDhwwCynw0tb+vWrcPz58/Ru3dvXLx4Md9ya9euha+vL2rWrImdO3dK865eunQJc+bMwc6dO9GyZUv07NlTX00nIiIiqrQYhBIZqB9++AEA0LVrV2zYsAFWVlZlVtegQYPw119/YdOmTWjdujXMzc21lvPy8sKuXbsgCALefvvtMmtPUfj4+ODw4cPo06cPevbsmW8QGh0dLQXOK1eulAJQAOjVqxcmT56Mbdu2YevWrQxCiYiIiEoBExMRGagHDx5Iw2vLMgAFgCFDhsDT0xOBgYEYOXIkDh06JD17+u+//+KXX37BxIkTMW/ePGRmZqJ9+/bo0aNHmbapIBkZGfj0009hYWGBZcuWFVjW29sbSqUSderUQfv27fOsf++99wAAgYGBCA8PL5P2EhEREb1O2BNKZKDMzc0hl8vh6OhY5nXJZDJs374d06ZNw927d/HVV19J6959913p/6IoolmzZti4cWOZt6kg3377LR4/foxly5bB2dm5wLIBAQEAgFatWmld7+zsjJo1ayIyMhIBAQGoXbt2aTeXiIiI6LXCnlAiA+Xm5oaUlBQkJyfrpT4HBwccOnQIy5YtQ6NGjaRkR+p/9evXx5IlS/Djjz+iSpUqemmTNsHBwdi9ezc8PT0xatSoQsuHhYUBAOrUqZNvGXXg+fjx41JpIxEREdHrjD2hRAZq3LhxuHHjBg4ePChNQVLWTExMMHr0aIwePRopKSmIjo5GVlYWHB0dYWNjo5c2FCQrKwtLly4FACxfvhwyWeH32RISEgBkZwDOj3pdYmJiKbQSMDbm/T8iIiJ6fTEIJTJQ3bt3x/Tp07Fp0yYAwAcffFDkeTxLg6WlJSwtLfVWX1Hs3r0bgYGBmDx5Mtzc3Iq0TUZGBoDsADs/crkcAJCenq5zG2UyAXZ2Fet9IyIiItInBqFEBuzjjz+GhYUF1q1bh23btqF+/foFBoaCIGDfvn16bKH+hIWFYevWrahZsyZmzpxZ5O3U856qEy1po1AoAKBUgnyVSkRiYqrO+yGi0scbRERE+sEglMiAbdy4UZoSJT09HYGBgQWWFwRBTy3Tv88//xwZGRn44osv8p1CRhv1MGL1sFxt1OtKa8hxZqaqVPZDREREZIgYhBIZqF9++QXfffcdAKBmzZro0KEDHBwcYGys28+6cePGpdE8CIKAoKCgUtlXUQQGBkIQBCxatCjPOvUw2ufPn6NTp04AgC1btqBly5aoW7cu/Pz88OTJk3z3rZ6apW7duqXfcCIiIqLXDINQIgN14MABCIKAIUOGYOXKlUVKwlMUoiiWyn7KgyiKiI6Ozne9SqWS1quH3zZv3hzHjx+Hn5+f1m2ioqIQGRkplSUiIiIi3TAIJTJQ6qlFFi9eXGoBKADs37+/1PalTz4+PvmuO378OBYvXgwXFxd4e3trrOvVqxeWL1+OsLAw3Lx5E+3bt9dYf/jwYQCAu7t7gdO4EBEREVHRMAglMlDm5uYwMTEp9alR2rZtW6r7q+gcHR0xcuRI/PTTT1i6dCl27tyJevXqAQC8vb2xa9cuAMCMGTPKs5lERERElQaDUCID5enpiStXriAuLg52dnbl3RyDtmDBAgQGBsLf3x9vvvkmGjZsiNTUVOlZ0IkTJ6J3797l3EoiIiKiyoEzphMZqMmTJwMAduzYUc4tMXxmZmbYv38/5s+fj/r16yMsLAxxcXFo27YtNm/ejIULF5Z3E4mIiIgqDUE05CwkRK+5n3/+GcuXL8eQIUMwZcoU1KpVq0zrE0URFy5cwJkzZ3D37l3ExsYCAOzt7dGkSRMMGjQIffr0KdVnVCubrCwVYmNTyrsZRKSFk5N1eTeBiOi1wCCUyED16tULABAbGytNQWJrawtLy/wnWxcEARcvXixRfc+ePcOcOXPw77//AsibRVc9B6mHhwc2bdoEFxeXEtVT2TEIJaq4GIQSEekHg1AiA+Xm5lbsbQRBQHBwcLG3S0pKwttvv43nz59DFEW0aNEC7du3h7OzM4DsaUxu3bolTXPi4uKCkydPwtqaF3S5MQglqrgYhBIR6QcTExEZqNWrV+utru3bt+PZs2ewtbXFN998gw4dOmgtd/PmTcyePRvPnj3Djh07sGDBAr21kYiIiIgMA3tCiahQffv2RUREBDZu3Ij+/fsXWPbcuXOYM2cOatWqhd9//11PLTQc7AklqrjYE0pEpB/MHkJEhXrx4gVMTEzQt2/fQsv26dMHcrkcUVFRemgZERERERkaDsclokLZ2NggIyOjSFlvjYyMYGpqClNTUz20jIiIiIgMDYNQIgMniiJ+//13/Pbbb9K0KYIgwM7ODk2bNsXgwYPRq1cvKXttSbRs2RK///47Hj9+jDfeeKPAso8fP0ZSUhI6duxY4vqIiIiIqPLiM6FEBiw6Ohoff/wx/P39AeQ/bUrLli3xzTffwMnJqUT1/Pvvvxg1ahRatWqF77//HnK5XGs5hUKBqVOnwsfHB0eOHIGHh0eJ6qvM+EwoUcXFZ0KJiPSDQSiRgVIoFHjnnXcQGhoKURTh6emJjh07olq1agCyn+O8ceMG/v77bwiCgEaNGuHo0aP5BpCFuXTpEhYtWgRHR0dMnjwZ7dq1yzNFyw8//IBXr15hzZo16NmzZ6m91sqksgehyckKrDnkh4QUBWwt5Vj0fktYWZXsO0ekbwxCiYj0g0EokYHat28fVq9eDSsrK6xduxY9evTQWu7PP//EvHnzkJKSgsWLF+ODDz4ocL+NGzculfYJgoCgoKBS2VdlUpmD0DmbryIxVZlnuY2FCb75uEs5tIioeBiEEhHpB7PjEhmos2fPQhAEfPbZZ/kGoADQrVs3fPbZZxBFEV5eXoXuVxTFUvtHr4+cAWi96taYN7IZ6lXPvqBPTFVizuar5dk8IiIiqkCYmIjIQD169AjGxsYYOHBgoWUHDhyIpUuX4tGjR4WW3b9/f2k0j14jyckKKQDdPLczrP5/yLfHGw5IVijw8YZrSExVIjlZwaG5RERExCCUyFClp6fD3NwcxsaF/4yNjY1hbm6O9PT0Qsu2bdu2NJpHr5E1h/wAZPeAWuV65thKLscb1azx+EUS1hzyw4op7cujiURERFSBcDgukYFydHREUlISnj17VmjZyMhIJCYmwtHRUQ8to9dNQooCADC0az2t69/u8oZGOSIiInq9MQglMlCtW7eGKIpYvXp1gc9fiqKINWvWQBAEtGnTRo8tpNeFrWV27+eJK9qHe5+6+lijHBEREb3emB2XyEAFBwdj2LBhALID0unTp6N169YwMTEBACiVSty5cwfbt2/HnTt3IJPJcOzYsVLJfhsdHY2oqCikpaUVGAAz6M2rMmbHTU5W4OOt1wBoPhMKQHomFAA2z+zMZ0KpQmN2XCIi/WAQSmTA9u7dK/VyAoCRkRHs7OwgCAJiY2ORlZUlBYmLFi3C+PHjdarvp59+wo8//ojw8PBCy3KKFu0qYxAKaGbHfaOaNd7u8gZOXX2Mxy+SAHCaFjIMDEKJiPSDQSiRgfvjjz+wbt06PHz4UOv6Bg0aYP78+ejevbtO9XzyySc4d+5csaZeCQkJ0anOyqiyBqEA5wklw8cglIhIPxiEElUS9+7dw927dxETEwMAcHBwQJMmTdCoUSOd933mzBnMmzcP1tbWWLlyJbp27YrmzZvD0dERV65cwatXr3D9+nXs2LEDiYmJ2LhxI9q3ZxZUbSpzEApkD81dc8gPCSkK2FrKsej9lhyCSwaDQSgRkX4wCCWiQk2aNAnXr1/H0qVLMWbMGACAm5sbHB0dce3aNalcSkoKxo4di7CwMJw4cQJ16tQpryZXWJU9CCUyZAxCiYj0g9lxiahQwcHBAIC33npLY3nue1iWlpZYtmwZUlNTsXPnTr21j4iIiIgMB4NQIipUYmIiLCwsYGNjIy0zNjZGampqnrItWrSAubk5rl+/rs8mEhEREZGBMC7vBhBR4T744AMAgIuLC1avXq2xrDgEQcC+ffuKvV2VKlWQlJSksczGxgZxcXFITEzUCE7VoqOji10PEREREVV+DEKJDMDt27cBAPXq1cuzrDjUU7kUl7OzM2JiYhAbGwt7e3sAQP369eHj44Nbt26hT58+UtnAwECkpaXB1ta2RHURERERUeXGIJTIAMycORMAYGdnl2eZPrRo0QJBQUEIDAxEly7ZU21069YNd+7cwX//+184OzujcePGCAkJwZIlSyAIAlq0aKG39hERERGR4WB2XCIq1PXr1zFx4kQMHjwYa9euBZCdCXfgwIGIiorS6GEVRRHGxsY4cOAAmjVrVl5NrrCYHZeo4mJ2XCIi/WAQSkSFyszMhJ+fH8zMzODp6SktDwsLw6JFixAQECAtq1GjBj777DN0795d/w01AAxCiSouBqFERPrBIJSIdPbixQs8f/4c1tbWaNCgQXk3p0JjEEpUcTEIJSLSDwahRJXAq1evcOHCBdy9excxMTEAAAcHBzRp0gR9+vRB1apVy7mFpMYglKjiYhBKRKQfDEKJDJhSqcSGDRvw448/IisrC0D2M5nA/zLhGhkZYcyYMZg7dy7kcnm5tZWyMQglqrgYhBIR6QeDUCIDpVKpMG3aNFy7dg2iKMLMzAweHh5wdnYGAERFRSEwMBDp6ekQBAEdO3bErl27SjxNS04ZGRlISEhAZmZmgeVq1Kihc12VDYNQooqLQSgRkX5wihYiA3Xo0CFcvXoVgiDgo48+wqRJk2BlZaVRJiUlBT/88AO2b9+O69ev4+DBgxg9enSJ6ktLS8OuXbvw22+/ITw8vNDygiAgKCioRHURERERUeXFIJTIQB07dgyCIGD27Nn48MMPtZaxtLTErFmzYGJigm+++QbHjh0rURCamJiI0aNH48GDByjq4AkOsiAiIiIibRiEEhmox48fQyaTYezYsYWWHTt2LLZs2YLHjx+XqK5t27bh/v37MDY2xtixY9GrVy9UrVoVRkZGJdofEREREb2+GIQSGSi5XA65XA5LS8tCy1paWuYZqlscFy9ehCAIWLJkCUaNGlXi/RARERERycq7AURUMg0bNkRSUhLi4uIKLRsXF4ekpCS4urqWqK6oqCjIZDIMHz68RNvT60OlEhHyJA43g14g5EkcVCoOyyYiIiJN7AklMlCjRo2Cj48Ptm3bhqVLlxZYdtu2bVCpVCXuxbS1tYVCoYCpqWmJtqfXg++9lzji/QDRCenSMkdbM4zs2QCtGnGuWiIiIsrGIJTIQA0cOBBBQUHYvXs3kpOTMX36dNSqVUujTEREBLZt24aTJ09iypQpGDBgQInqatWqFS5cuICoqChpChiinHzvvcS2E3fhWd8B/dvWhomJDEqlCv8+isG2E3cxfWgTBqJEREQEgPOEEhmEDz74IN91wcHBSE5OBgBUr14dVatWhSAIiIqKwvPnzwEA1tbWcHNzgyAI2LdvX7Hrv3v3Lt577z0MGzYMX331VclehB6Iogh/f394e3vD19cXjx49QnJyMqytreHu7o4hQ4Zg8ODB+c6VqlQqsW/fPpw+fRrh4eGQy+Vwc3PDmDFj0Ldv31JpY2WcJ1SlErHouxuwMjdBUqoCMYkZ0joHG1NYW8iRnKbEmmkdIJPpPk8tUVnhPKFERPrBIJTIALi5uZXKfgRBQHBwcIm2/e2337BkyRK8+eab+Oijj/L0ulYEN27cwPjx46W/a9WqBRsbGzx9+hTx8fEAgO7du2PLli2Qy+Ua22ZkZGDChAnw9fWFkZERGjRogLS0NGlO1ClTpmD+/Pk6t7EyBqEhT+Lw9SF/AEDzBo4Y1KEOXJws8fRVCs7ceIKAB9EAgP+83wJudezKs6lEBWIQSkSkHxyOS2QAZs6cqbe6evXqle86IyMjnDhxAidOnICtrW2BmXkFQcDFixfLoon5EkURNWvWxLhx4zBo0CA4ODhI606ePIlly5bh8uXL2Lx5c56Acu3atfD19UXNmjWxc+dO1KtXDwBw6dIlzJkzBzt37kTLli3Rs2dPvb4mQxCXlN3z2bSeA2YObwrZ//c013exxczhTbHp57/x76NYqRwRERG93tgTSkQaKkKva0klJyfD1NQUJiYmWtfv2LEDGzduRJUqVXDjxg3IZNkJwqOjo9G9e3dpOG779u01ttu0aRO2bdsGDw8PHD9+XKc2Vsae0Au3w3HY+wHG92+Ers1d8qy/HPAU+8/dw3s9G6Bv29rl0EKiomFPKBGRfrAnlIg0rF69urybUGKFzYXatWtXbNy4EfHx8YiNjYWjoyMAwNvbG0qlEnXq1MkTgALAe++9h23btiEwMBDh4eGoXdvwAylRFKFQqkplX2am2aeSOyGv0Kaxs9QTCgAqUYRvyEupXIYiS+f65CayfJ/rJSIiooqPQSgRaRg6dGh5N6HMZGT8bziomZmZ9P+AgAAA2VmAtXF2dkbNmjURGRmJgIAAgw9CRVHE6p/88OBpQqnuNzAsFjM2Xsl3/d6zIdh7NkTnehrUtMXi0S0ZiBIRERkoWXk3gIhIX86cOQMge8hxzl7TsLAwAECdOnXy3VYdeD5+/LjsGqhPjN+IiIionLAnlIheC4GBgTh8+DAAYOrUqRrrEhKyewRtbW3z3V69LjExUee2GBuX//2/ZeNal9pwXADwC32FHSfvwv0NOwQ+jgMAvNO9Pu6Fx+HfR7H4cEgTtHR1KpW6OByXiIjIsDEIJaJCBQQE4Msvv0Tz5s3x+eefF1h26dKlCAoKwldffYWmTZvqqYUFi46OxsyZM6FUKtGnTx8MGjRIY716mG5+CY0ASFO6pKen69QWmUyAnV3+WYUN1UBnG1SxNceu03elZT9ffghnewssGtcGHT1rlGPriIiIqCJhEEpEhfrtt98QEhKCyZMnF1q2efPmOHbsGH777bcKEYQmJSVhypQpePbsGTw8PLBmzZo8ZUxNTQEASqUy3/0oFAoAms+SloRKJSIxMVWnfVRUjWvZYsWkdpi27jIAYP57zdGkngNkMgFxcZUrIzBVTpXxBhERUUXEIJSICnX79m0AQJs2bQot261bNwDArVu3yrRNRZGSkoLJkycjKCgIDRs2xO7du7Vm0LWxsQHwv2G52qjXqcvqIjOz9IbBVjQq1f9m/apfwxYqlaixjIiIiKj8H0wiogovKioKcrkcVatWLbRs1apVIZfLERUVpYeW5S8tLQ3Tpk1DQEAA6tatiz179sDOzk5r2bp16wIAnjx5ku/+wsPDNcoSERERUcmwJ5TIAMycORO2trZYuXKltOzZs2cwMjKCs7Nzmdefnp5e4POSucnlcqSklN/wy4yMDEyfPh137tyBi4sL9u3bByen/JPiNG/eHMePH4efn5/W9VFRUYiMjJTK6oMoikhKzX94cEWVofzfPKCJqQqYKo3KsTXFZ21hwqRHREREZYxBKJEBuHjxIhwdHTWW9ezZE05OTrh69WqZ1+/g4IDnz58jKiqq0KA3KioKycnJegmOtVEqlZg1axauX7+OatWqYd++fahWrVqB2/Tq1QvLly9HWFgYbt68ifbt22usV2fVdXd3L3Aal9JSVvN46tvCHTfKuwnFxjlIiYiIyh6H4xIZAJlMBpUq73OEoqifZ+2aNWsGADh48GChZQ8cOKCxjT5lZWVh/vz5+PPPP+Hk5IR9+/ahVq1ahW7n6OiIkSNHAsjO7vvo0SNpnbe3N3bt2gUAmDFjRtk0PBeFUmXwAaihehCZUKpT1xAREVFe7AklMgC2traIj49HUlISrK2t9V7/iBEjcPbsWezatQs1atSQArbcDh8+jF27dkEQBAwfPlzPrQTOnj2Lc+fOAcgeErx48eJ8yy5btgzu7u7S3wsWLEBgYCD8/f3x5ptvomHDhkhNTZWeBZ04cSJ69+5dti9Ai/9+2AGmJoY1pNUQZSizDLLnloiIyBAxCCUyAE2bNsXVq1fx4YcfYuDAgbC0zJ5GICMjAydPnizWvoYMGVLs+jt16oR+/frh/Pnz+OKLL/DTTz+hZ8+eqFGjBgRBwNOnT+Ht7Y0HDx5AFEX07dtXypKrT+ppVADg6dOnePr0ab5lk5KSNP42MzPD/v37sW/fPpw+fRphYWEwMTFB27ZtMWbMGPTr16/M2l0QGws5TOUMQstahiKr8EJERERUKgRRX+P5iKjEfHx8MH78eGRmZkrPqomiWOzn1gRBQFBQUInakJ6ejkWLFkk9jbnrVh9KBg0ahJUrV+o8n2ZllZWlQmxswUmbMhRZ+GjDnwCA7XO7MQjVA77nBABOTvofaUJE9DpiTyiRAWjdujV++ukn7N+/H6GhoUhLS8PTp08hk8n0lgDIzMwM33zzDW7cuIFjx47B398f0dHREAQBjo6OaNGiBUaMGIF27drppT2vi5zZZqns8H0mIiLSH/aEEhkoNzc3ODo64tq1a+XdFCqGovSEpisyMX3DFT21iHJjT+jriz2hRET6wey4REQVjJyJiMpNg5q2kJvw1EhERFSW2BNKRKRHRekJBQCVKEKhzIIAw5qvMkOZhTlbsnvnv5nV2eAy+8pNZJwj9DXGnlAiIv3gM6FEVCwKhQIhISF48eIFUlNTCyxbkky8lE0mCDCTG/Yh2tTEiMNaiYiIKA/DvsIhIoiiiN9//x2//fYb7t69i9jYWAiCADs7OzRt2hSDBw9Gr169dO7dUSgU2LhxI44cOYK0tLRCywuCwCCUiIiIiPJgEEpkwKKjo/Hxxx/D398fwP+mSQGAtLQ0PH/+HBcuXEDLli3xzTffwMnJqUT1ZGZmYtKkSfDx8YEoinBwcEBMTAxkMhmqVq2KuLg4ZGRkAAAsLCxQpUoVnV8bEREREVVODEKJDJRCocCkSZMQGhoKURTh6emJjh07olq1agCAFy9e4MaNG/j777/h5+eHKVOm4OjRo5DL5cWu65dffsGdO3fg7OyMbdu2wcPDA25ubrC3t8fly5ehUqng4+ODjRs3IigoCHPmzMFbb71V2i+ZiIiIiCoBBqFEBurQoUO4d+8erKyssHbtWvTo0SNPmTlz5uDPP//EvHnzcO/ePRw+fBgffPBBses6c+YMBEHAJ598Ag8PjzzrZTIZ2rZti59++glTpkzBkiVLUL9+fa1liYiIiOj1xjz0RAbq7NmzEAQBn332mdYAVK1bt2747LPPIIoivLy8SlRXaGgoAKBfv34ay1UqlcbfRkZGWLRoETIzM/HDDz+UqC7SD1EUkaHIKv1/yiypjgxlGexfkQUmdSciIjJs7AklMlCPHj2CsbExBg4cWGjZgQMHYunSpXj06FGJ6kpJSYGVlRXMzc2lZXK5XGt2XFdXV1haWsLHx6dEdVHZE0URq3/yw4OnCWVaj3qqltLWoKYtFo9uyalUiIiIDBR7QokMVHp6OszNzWFsXPi9JGNjY5ibmyM9Pb1EdTk4OOTJiGtra4uMjAzExMRoLBdFEUqlErGxsSWqi/SE8RsRERGVE/aEEhkoR0dHPH/+HM+ePUONGjUKLBsZGYnExMRCy+WnWrVqePnyJV69eiVl2HV1dUV0dDSuXr2qMRXLrVu3oFAoYG9vX6K6qOwJgoDFo1tCoVQVXriYVCoRD54mICFFAVtLORq42EImK92IV24iYy8oERGRAWMQSmSgWrdujdOnT2P16tXYvHlzvhfloihizZo1EAQBbdq0KVFdbdq0wT///AM/Pz/pudDevXvjr7/+wn//+1+YmpqicePGCAkJkepq3759iV8blT1BEGAqNyrVffree4kj3g8QnfC/HndHWzOM7NkArRpVLdW6iIiIyHAJIjM8EBmk4OBgDBs2DEB2QDp9+nS0bt0aJiYmAAClUok7d+5g+/btuHPnDmQyGY4dO4bGjRsXuy4/Pz+MGjUKvXv3xv+1d+dhVZd5H8ff5wBHBRRckNBEUEezyAUzl1yB1NxKLHJ5NNtcJkdzaZ5qUictJ6fUSnLMx9RRRNPUxjKXxIXc08pdcwVBXBAFWWQ75/mDOSePgIALi35e1+U18Pvd9+/+/o52XfM9931/79DQUNvzg4ODOX78uF0CbLFYcHZ2ZtmyZdStW/cuvOn9JTvbTEJCSkmHcdftPXaRmSsP0rheNbq1qk1NDxdiL6WwekcU+07E8+defkpEpdTz8KhY0iGIiDwQlISKlGHz58+3zTxCTnXaypUrYzAYSEhIIDv7j0qib7/9NoMGDbqtcSwWC+fOncPR0RFPT0/b9YSEBD788EM2bNhAeno6BoMBf39/3n33XR3Pko/7MQk1my28/eUOHvZwZXjvxzHe8KWE2WIhdPkBYi4l89GQVnd9aa7I3aQkVESkeCgJFSnjNm3axCeffMLJkyfzvF+vXj3Gjh1Lhw4d7lkMWVlZJCQk4OrqirOz8z0b535wPyahR6Ou8M/Fv/K3Ac2oW9Mt1/0TsYlMXriXv/ZtyiO1K5dAhCKFoyRURKR4aE+oSBnXsWNHOnbsyLFjxzh48KCtWm3VqlXx8/OjQYMG9zwGR0dHqlfXUssH1dWUdABqerhgNlv4/exVrqak4+5Sjvq13KlZzcWunYiIiDzYlISK3CcaNGhQLAmnyM3cXcoBELE3hi2/nctVmKhdkxp27UREROTBpiRURArt/PnzzJs3j61bt3Lu3DnS09M5fPiw7X5iYiKLFy/GYDDw+uuvYzTqKOIHQf1a7lR0dmL5llM0rleVIT0fsxUm+n7HGVZsOUVFZyfq13Iv6VBFRESkFFASKiKFsn37dkaOHElycrKt2NHNx8K4ubkRERHBwYMHady4sY5peRBZwAJY/vu//LfqgMoRiYiIiJWmKUSkQHFxcYwYMYJr167RsWNHPv/8c9zcchegAejduzcWi4UNGzYUc5RSUn4/e5VrqZn0bl+H2PgUJi/cyxvTI5m8cC+x8Sn0bleHpNRMfj97taRDFRERkVJAM6EiUqB58+aRnJzMM888w/Tp0wGYOHFinm3btGkD5JwtKg8Ga8GhwGYP07m5Nxt/ieHi1TSqu1cgwP9hMrPNLI88pcJEIiIiAigJFZFC2Lp1KwaDgZEjRxbY9uGHH8ZkMhETE1MMkUlpcKvCRBv2xtC+sQoTiYiIyB+UhIpIgc6dO0f58uXx8fEpVHtnZ2eSk5PvbVBSatxYmMjJwX73Z2JyOssjT1FJhYlERETkv5SEikiBDAYDZrO5UG0zMzNJTk7GxcXlHkclpUlmVs6/jwrlHOnXrg6N61Vl34nLrIw8RWZqpu2+iIiIiJJQkQdUWloaFSpUKFRbLy8vTp8+TVxcHF5eXrdsu2vXLrKysvD29r4bYUoZcDT6CtczsvGq6kxGlpl/rz1mu1fNrTxeVZyIS0jlaPQVHvWpUoKRioiISGmg6rgiDwiLxcLevXuZMmUKnTt35quvvip031atWgGwZMmSW7a7fv06U6dOxWAw0LZt2zuKV8qOo1FXAHjykeo5Z7PcwGKx0Lxhdbt2IiIi8mDTTKjIfSw9PZ2tW7cSERHB5s2buXLliu2MT0fHwv/nP2jQIL7++mvmzp2Lj48PvXr1ytXml19+4cMPP+TIkSNUqFCBfv363bX3kFLuv9tA/7PtDCZH++82r6VmsmrbGbt2IiIi8mAzWCw3fW0tImVaQkICmzdvJiIigu3bt3P9+nVb4lm3bl0CAwMJCgqiUaNGRXru0qVLGT9+PAaDgapVq5KYmEhWVhZt27bl999/58KFC1gsFgwGAx9//DHdu3e/F69X5mVnm0lISCnpMO6qgycvM23ZPgAa1alCj6d8qenhQuylFL7bdpr9pxIAGP1CY/zqVi3JUEVuycOjYkmHICLyQNBMqMh9IDo6moiICDZs2MBvv/2G2WzGYrFgNBrx9/cnMDCQwMBAateufdtjhISEUKVKFSZOnMjFixdt1yMjI20/e3h4MGHCBIKCgu7ofaRsMdwww2kBdh0+T0aWGZOjEUs+7UREROTBpSRUpIzav38/ERERREREcPLkSSBn/1358uVp3bo1gYGBdOzYkSpV7l4hmKCgINq3b09kZCR79+7l4sWLmM1mqlWrhr+/PwEBAZhMprs2npQNx85etf184FQCB27R7rE6mgkVERF50CkJFSkjMjMz2bFjBxEREWzcuJH4+HggJ/GsXLkyHTp0IDAwkDZt2lC+fPm7OvbPP/8MQIMGDahUqZJtZlUEKPxeT82EioiICEpCRcqMli1bkpqaatvfWbt2bQICAggMDMTf3x+j8d4Vux4wYABGo5EdO3bcszGk7KpXw+2uthMREZH7m5JQkTIiJSWFRo0a2WYh69WrV2xjV6xYEaPRiJubkgjJLSY+2fazg4OBzs1r0baRFz/tj2Pdz2fJzrbY2jWqV62kwhQREZFSQkmoSBkRGRlJ9erVS2Rsb29vjh07RkZGhvZ8Si7Hzyb+8YvFwg87o/lhZzQAN57YcvxsIrQs5uBERESk1Ll36/dE5K4qbAJqsVg4ePAga9asYe3atRw8eJA7PYmpW7duZGVl8cMPP9zRc+T+dDX5OgDuriayzfb3sszg5mKyayciIiIPNs2EitxHNm/ezMSJE4mLi7O77uXlxXvvvUdAQMBtPXfgwIGsX7+eSZMmUblyZdq3b383wpX7hHvFckRdSOFqckae9xNTMmztRERERAyWO50iEZFSYdu2bQwePJjs7GwaNmxI7dq1uX79OocPH+bixYs4ODgwe/ZsnnrqqSI/OzQ0lPT0dBYtWkRaWhr16tXD39+fqlWr3rIg0vDhw+/klUrEzp07mTdvHvv27SM1NZUaNWrQpUsXBg8ejLOz8x0/PzvbTEJCyl2ItPT4YfsZvok8Zfu95WOedG5ei3U/n2XnoQu268+3q0PX1j4lEKFI4Xh4VCzpEEREHghKQkXuE3369OHYsWPMnDmTVq1a2a5nZWUxbdo05s6dS9OmTVm8eHGRn/3II49gMBjslvUaDAWft3HkyJEij1WSFi5cyIcffojFYuGhhx6iSpUqnDhxgoyMDOrWrUt4eDju7u53NMb9mISu3n6a5ZGnC2zXu50v3Vr7FkNEIrdHSaiISPHQclyRMuLgwYP4+fnle//o0aMEBgbaJaAAjo6OjBo1irCwsNtOCps3b35b/cqSgwcPMnnyZAAmTpxISEgIBoOBCxcuMGzYMA4dOsS4ceOYMWNGCUda+uw7edn2s8EAN361eePv+05eVhIqIiIiSkJFyoqQkBAGDBjAyJEj81wWajKZSEpKyrNvamoqWVlZuLq63tbYCxcuvK1+ZcnMmTMxm80899xzvPjii7brnp6eTJs2jWeeeYb169dz9OhRHnnkkRKMtPSqX8vNvlIugAXqP1yJ32Py/rcpIiIiDx5VxxUpI5o1a8a///1vunfvzsaNG3Pdb9myJVu3bmXmzJmkpPyx3PP06dOMGjUKi8VCixYtijPkMiMlJYWffvoJyEn2b+bj40PLljlni6xdu7ZYYysLmvwp5+zPEzGJ3Ly/wwKciE2yayciIiIPNiWhImWEdb9iamoqb7zxBiNGjODixYu2+2PHjsXNzY0ZM2bQvHlz2rRpwxNPPEHXrl3Zvn07lSpVYvTo0SX4BqXXkSNHbGegNmrUKM82zZo1A2Dfvn3FGVqZ0OkJbwDM/81A/Xwr807/pvj5Vra7bm0nIiIiDzYloSJlSO/evfnhhx/o3r0769evp2vXroSHhwPg7e3NihUr6Nq1K+XLlyc+Pp7k5GQqVKhA165d+eabb/D11X68vJw+nVNUp0aNGjg5OeXZxtvb266t/MFstp//PHj6Cv9Y9CsHT1+5ZTsRERF5MGlPqEgZU6VKFT7++GN69erFhAkTmDRpEqtWrWLixInUr1+fqVOnYrFYuHz5sq39rY5REUhMzNnH6Obmlm8b6z1r2zvh6Hh//X0sWn8MgDpelTgdl2S3JNcA+HpV5FTcNZZtPsFLXRuWSIwiIiJSeigJFSmjWrduzerVqwkNDWXu3LkEBwfz6quv8sYbb2AymahWTfvvCis9PR0g31lQyCn8dGPb22U0Gqhc2eWOnlHaXE7OAODtQc2p6u7Mmm2nibucgldVF555ypeLCSkMm7KRy8kZ9927i4iISNEpCRUpw0wmE6NHj6Z79+6MHz+eL7/8kjVr1vD3v/+d1q1bl3R4ZUa5cuUAyMzMzLdNRkaGXdvbZTZbSEpKvaNnlDZVXXMS9FWbTxISWI92jR6y3Uu5lsb3kSdt7a5cub/OSJX7i74kEREpHkpCRe4D9evXZ8mSJYSHhzN9+nReffVVevTowdtvv02VKlVKOrxSrzBLbQuzZLewsrLMd/yM0uSFDvWI+CWWtbuj6N6mNiYHB9u9jOxs1u2OtrW7395dREREiu7+2pgkcp9LTk4mNDSUvn370rlzZ/r27UtoaCjXrl0DoF+/fqxZs4ZOnTqxatUqnnnmGVasWFHCUZd+Pj4+AJw7dy7f2dDo6Gi7tvIHk8mBJvWqkpVtYfi0SJZtOkHc5RSWbTrB8GmRZGVbaFKvKiaTQ8EPExERkfuewWKxqFyhSBmQkJBA3759iY6O5sb/bA0GA97e3oSHh1O1alXb9c2bNzNx4kTi4uJo3rw5EydOVAKVj5SUFFq0aEFmZibh4eG241hu9PLLL7N9+3aGDRvGm2++edtjZWebSUi4P5ekfv7NPn47cTnX9Sb1qjLi+cYlEJFI0Xh4VCzpEEREHgiaCRUpI6ZPn05UVBT16tVj5syZrF69mpkzZ1KvXj2io6P59NNP7dp36NCB1atX89JLL7F371569uzJF198UTLBl3IuLi60adMGgKVLl+a6f+bMGXbu3AlAly5dijW2smTE842ZNbo9HZvW4FGfynRsWoNZo9srARURERE7mgkVKSPatGnD5cuX2bBhAzVr1rRdj42NJTAwkGrVqrF169Y8+x4+fJhx48Zx+PBhjhw5Ulwhlyn79+8nJCQEgPfff5+QkBAMBgMXL15k6NChHDp0iKCgoDtO5O/nmVCRsk4zoSIixUNJqEgZ8fjjj+Pk5MQvv/yS656/vz+ZmZkcOHAg3/5ms5mFCxfy0ksv3cswy7T58+fz0UcfYbFY8PLyonLlypw4cYKMjAx8fX0JDw+/40JPSkJFSi8loSIixUPLcUXKCC8vL9LS0nIloXv37iU1NRUvL69b9jcajUpACzBo0CDmzZtHu3btSEtL48SJE9SoUYOhQ4eyfPlyVRoWERERuQt0RItIGdGzZ09CQ0MZMmQIL774IrVq1SI6OpqlS5diMBjo2bNnSYd4X2jVqhWtWrUq6TBERERE7ltajitSRmRlZfHmm2+yYcMGDAYDgK1KbseOHZkxYwaOjvpeqbTTclyR0kvLcUVEioeSUJEyZufOnWzfvp0rV67g7u5O69atNXNXhigJFSm9lISKiBQPJaEiIsVISahI6aUkVESkeKgwkYiIiIiIiBQbzYSKiIiIiIhIsdFMqIiIiIiIiBQbJaEiIiIiIiJSbJSEioiIiIiISLFREioiIiIiIiLFRkmoiIiIiIiIFBsloSIiIiIiIlJslISKiIiIiIhIsVESKiIiIiIiIsVGSaiIiIiIiIgUGyWhIiIiIiIiUmyUhIqIiIiIiEixURIqIiIiIiIixUZJqIiIiIiIiBQbJaEiIiJSaAEBATRo0ICYmJiSDkVERMoox5IOQERE7B0/fpxvvvmG3bt3c+7cOZKTk3F1dcXHx4cnn3ySXr16UadOnTz77tmzhxUrVrBnzx4uXbqExWLBw8ODJ554gt69e/PEE0/kO+6AAQPYvXt3rusmkwkPDw/8/f0ZOHAgjRo1yrN/gwYNcl1zcnKiSpUq+Pn58fzzzxMQEFDg+1ssFoKCgoiJicHJyYnIyEiqVKlSYL+y4NKlS4SFhREZGUlUVBQZGRm4u7tTtWpV/Pz8aN68OU8//TQuLi4lHWqRnTlzhh9//JFdu3Zx7Ngxrly5Qrly5fD19aVTp070798/3/cKCAggNjaWf/zjHwQHBxc4VkxMDIGBgbmulytXjurVq9OsWTMGDBiAn5/fHb+XiIjcfQaLxWIp6SBERAQyMzOZPHkyS5YswWw2YzQa8fb2plKlSiQlJXH27Fmys7MxGo0MHjyYUaNG2fpev36dv/3tb3z//fcAODs7U6tWLQwGA9HR0aSmpgLQrVs3Jk+eTPny5XONb01Cvby88PLysl2/evUqMTExZGRkYDQa+eCDD+jdu3eu/tYktH79+ri6ugKQnJxMdHQ0169fB+B//ud/GDdu3C0/h507d/LSSy/Zfn/33Xftfi+r9u7dy9ChQ0lKSsJgMODp6YmHhwdpaWlERUWRmZkJwKJFi275ZUFJsyaMERERPPzwwwBkZ2fz6KOP2tp4eHjg6elJfHw858+fB8Db25v58+dTs2bNfJ95O0mon58fJpMJgISEBGJiYsjKysLBwYH333+fF1544Y7fWURE7i7NhIqIlAJms5nhw4ezefNmKlSowLBhw3jxxRdxd3e3tbl69Spr165l1qxZ/PLLL7br2dnZDB48mF27duHq6spbb71Fr169KFeuHADp6en85z//YcqUKaxevZr4+HjmzZuHg4NDnrH07t2bv/zlL3bXrly5woQJE1i3bh2TJk0iMDDQLrYbvffee7Ro0cL2e0pKCh999BFLly4lLCyMoKAgWrVqle9nsXLlSgBb8r1y5coyn4SmpKQwcuRIkpKSeOqppxg3bhy+vr62+xkZGezcuZOVK1fi5ORUgpHeHovFgqurK3369CE4OJi6deva7v3222+MGTOG6OhoRo0axdKlS+/q2J999pktGQaIi4vjr3/9K7t372bixIm0adPG7ksVEREpedoTKiJSCsyZM4fNmzdjMpmYN28eQ4YMyZXkubu706dPH1avXk2nTp1s12fNmsWuXbswmUzMnTuXPn362BJQyFmiGBISwty5czGZTOzatYsvv/yySPFVrlyZyZMnYzQaSUtLs0uCC+Li4sL48eNtM2Br167Nt21KSgrr168H4P3338fBwYEjR45w9OjRIsVb2mzZsoVLly7h7OxMaGioXQIKOUue27Vrx/Tp02ncuHEJRXn7HBwciIiI4K233rJLQAGaNGnCxx9/DMC+ffs4cuTIPY3Fy8uLTz75BCcnJzIyMli3bt09HU9ERIpOSaiISAlLSUlhzpw5AAwdOpSmTZvesr2LiwsDBgwAcpa7zps3D4DXX3/9lglM48aNee211wCYN28eKSkpRYrT1dWVSpUqAdiWjhaWk5MTDRs2BCA2NjbfdmvXriU1NZWaNWvyzDPP2GZMrbOjeZkxYwYNGjTg7bff5vr163z66ad06tSJxx9/nLZt2zJ+/HguXbpk1ychIQE/Pz8aNmzIuXPn8n32ggULaNCgAQMHDizK6+Zy9uxZAHx9fXF2di5y/3PnzvHBBx/QuXNnGjdujL+/Py+88AKLFi0iKysr335Xrlxh+vTp9OjRg6ZNm9KkSROeffZZvvzyS9LS0vLtd+DAAYYOHUrz5s1p2rQpwcHBLF++PN/2BoMh35lxAH9/fypWrAjA6dOnC37hO+Tp6WlL9M+cOXPPxxMRkaJREioiUsIiIyNJTEzEwcGBvn37FrnvtWvXcHBwoF+/fgW279evH0ajkaSkJLZs2VKksc6ePcvVq1cB8i2MdCvWfaG3SsKsyWbPnj0xGAw8++yzAHz33Xe3TLYgJzF+6aWX+Ne//oXRaKRu3bokJCTw9ddfExwcbEsEAapUqUJQUBBms5kVK1bk+0zrveeff75wL5kP6x7ZqKgo22dYWFu2bKFbt24sXLiQ8+fP4+3tjbu7OwcOHGDixIkMGTKEjIyMXP0OHDhAt27dmDVrFqdPn8bT0xNPT09+//13pk2bRr9+/UhMTMzVb+PGjfTt25dNmzaRnZ1NnTp1uHTpEu+++y6TJ0++rffPzs62/f3ltR/5XjCbzUBOgiwiIqWLklARkRK2d+9eAOrVq1fkKrDWZbF169alWrVqBbb38PCwLZcs7JLaq1evsm3bNt544w0Ann76af70pz8VKc6EhAT2798PYJsRvdnZs2fZs2cPkJOEWsdycXHh8uXLBSbN69atIzY2lmXLlrF27Vq+/fZbNmzYwGOPPcbFixd566237NqHhIQAOYlmXjX6Dh06xJEjR6hUqZLd8ufb0aZNGxwcHEhOTmbQoEF8//33JCQkFNjv1KlTjBw5kuvXrzNmzBh+/vlnvvvuOzZu3MjKlSvx8fFh69atfPHFF3b9EhISGDZsGJcvX2bQoEHs3LmTtWvXsm7dOtavX0+TJk04fPgwkyZNsusXHx/P//7v/5KZmUnv3r3Ztm0by5cvJzIyksmTJxMWFsaFCxeK/P4RERGkpaXh6OhIkyZNity/qC5cuEBUVBQAtWvXvufjiYhI0SgJFREpYdb/U1+rVq0i942LiwNyKo8WlrVtfslEaGgoDRo0sP1p0aIFr7zyCnFxcYwZM4Zp06YVeqzk5GR2797NkCFDSEpKolq1arz44ot5tl25ciUWi4VGjRrZZlorVKhgSwBvtSQXcmZC33vvPbsjZLy8vJg6dSpGo5Fff/2Vn3/+2XavVatW1KpVi9jYWHbu3Jnredblp927d7/j2bvatWszduxYDAYDR44cYcyYMbRq1YqAgABGjBhBeHh4nknpjBkzSEtLY8iQIQwePNhWBRZykvlp06ZhMBgICwsjPT3ddm/u3LlcunSJHj168M4779hmYiHn39lnn32Gs7Mzq1evtlWvBViyZAlJSUnUqlWLSZMmUaFCBSBnNrF379688MILBc5I3yw5OZkpU6YAOUWv7vVxO3FxcYwdO5bMzExMJhOdO3e+p+OJiEjRKQkVESlhycnJwK2XqebHuq+zKH2tba3j3szLywt/f3/bn4YNG9oq1S5btowdO3bc8vkDBw60JbDW8xr3799Pq1atWLBgQZ5JiMVi4T//+Q+AbQmulfX3zZs3c+XKlXzHrV69ep4zlr6+vrRt2xbIWb5sZU2sAL755hu7PhkZGbbjbu50Ka7VK6+8Qnh4OE8//bStcFRsbCzr1q3j/fffJyAggNmzZ9vFsHHjRgD69OmT5zMfe+wxatSoQXJyMocOHbJdtxbjya/fQw89hJ+fH2az2S4xt34+/fr1y7N6clH3xmZnZzN69GhiYmKoWbNmrtnou2HkyJH07duXvn370qVLF4KCgti9ezcODg6MHz9elXFFREohHdEiIlLCrLNU1rM8i8LFxaXIfa1tb5wdu1FeR7SYzWZWrVrF3/72N/785z8zZ86cfI9ZsZ4TarFYuHz5MtHR0RgMBmrWrJnv0shdu3YRExODk5MTXbt2tbvXokULvLy8iIuL4/vvv7cVZbpZnTp1MBrz/m61bt26bNmyJVdRnODgYGbMmMGPP/5IUlKSrfDS+vXrSUxM5JFHHuGxxx7L85m3w5rYZ2RkcOjQIQ4fPsz27dv56aefSEtLY+rUqQAMHjyYqKgorl+/jtFotDsT9mbWPabWGc3U1FSio6MB+Oc//5nvUTzWgj03zoSeOnUKIFeFWysfHx8cHR0LNRtqsVgYN24cW7Zswc3NjVmzZtmKE91NBw8etP1sMpl46KGHaNasGQMHDsTPz++ujyciIndOSaiISAnz9PQEICYmpsh9H3roIQBb0lEY1rbWcQvDaDTy3HPPceTIEebPn8/UqVNzzR5a3XxO6OHDhxk+fDjffPMNJpOJCRMm5OpjXWrbpk2bXDOlRqORHj16MHv2bFauXJlvElq1atV847ful725IrCnpyft27dn48aNfPfdd/Tv3x/4Yynu3ZoFvZnJZKJp06Y0bdqU/v37ExMTw9ChQzl+/DizZs1i0KBBJCUlATlfABRm/6618NO1a9ds1/bt21fofvDHFxT5fZYODg64u7sTHx9f4HM/+OADli9fjouLC3PmzKF+/foF9rkdERERdueEiohI6ackVESkhDVr1oyFCxdy/PhxEhISirRnrlmzZoSFhXHy5Eni4+MLLE4UHx9vm+3y9/cvcqz+/v7Mnz+fQ4cOkZGRYbdHMT+PPvoon332GSEhIYSHh9OzZ0+7Y2huPBt006ZNNGjQIN9nHTp0iGPHjuXZ5vLly/n2syZN1pnjG4WEhLBx40aWL19O//79bXtETSYTPXr0KPD97oaHH36YsWPHMmTIEFJSUjhx4oQtVmdnZ3799ddCP+vGpdk7duwo0r8nZ2dnrl27lu9nmZ2dXajqvlOmTCEsLIwKFSowe/Zsu326IiIi2hMqIlLC2rVrh5ubG9nZ2SxevLjIfV1dXcnOziY8PLzA9osWLSI7O5uKFSvSrl27IsdqPfbCbDbbZuoK4/HHH7dVvP3kk0/s7lnPBnVycrIdI5LXH2uRnG+//TbPMU6fPm2L72YnT54EsJ0deaN27drh6enJoUOHOHr0KCtWrMBsNvP000/f8uzLu+3GwlSZmZnUrl0bJycnUlNT7Y6XKUjFihVtM+S///57kWKwFoSyfl43O3PmTIFLcadPn87cuXMpV64c//rXv3jiiSeKFIOIiNz/lISKiJQwFxcXXnvtNQBmzZpV4KxXSkoKYWFhQM6+zkGDBgHwf//3f7dcfrlv3z7mzJkDwKBBg/LdE3or1uNkXF1dqVy5cpH6Dh06FKPRyJ49e+yq0VqX4vbq1YvIyMh8/1iL2qxatSrPROjChQts2LAh1/WoqCh++uknAFuBohs5ODgQHBwM5BQossZzN5fiJiQk5HkMzI2sf+9Go5FatWpRoUIFOnToAMD8+fOLNF6XLl1uq5/181m8eHGeCf3ChQtv2X/WrFnMmjULJycnZsyYke++YRERebApCRURKQVee+01OnToQEZGBi+//DKzZ8/Otezx2rVrLFu2jB49etiqnwIMGzaM5s2bk5GRwSuvvMKSJUvsjutIT09n6dKlvPLKK2RkZNC8eXOGDh1apPjMZjMrVqywzdQ+++yz+Ra8yY+vr6/tuAzruZY3ng363HPP3bJ/t27dMJlMxMfH25LKGzk5OTFp0iS7QjXnz59nzJgxmM1mmjZtypNPPpnns59//nmMRiOLFy8mNjaWmjVr3tUEatWqVfTs2ZPw8PBc+ykzMzP59ttvbceYBAQE2JbQvvnmmzg7OxMWFsaUKVNITEy065uWlsaPP/7IO++8Y3f99ddfx8PDg02bNvHXv/4113E8GRkZbN26lZEjR5KdnW273qdPHypWrEh0dDQTJkyw2y+6cuVKli1bhqNj3jt5FixYwPTp03F0dGT69Om0b9++iJ+SiIg8KAyWgr6aFRGRYpGZmcmHH37I119/jdlsxmg04u3tbTseJSYmhqysLBwcHBg6dCgjRoyw9U1LS+Odd95hzZo1QM7ePm9vbwwGA1FRUbaCM126dOGjjz6yLW290YABA9i9ezdeXl52x1qkpaURExNjK3jTrFkzZs+enWsm1bpPc8GCBXaFiW509OhRnnvuOSwWC2FhYezYsYMvvvgCb29vfvzxxwI/oxEjRrBu3To6d+7M559/DuScpRkaGkq3bt04e/Ys+/fvp27duphMJo4fP05WVhYeHh4sWrQo3+q8AK+++ipbt24F4C9/+QvDhw8vMJ7C+ve//83kyZNtv3t5eVGtWjXS0tI4d+6c7e+nYcOGfPXVV3aFgbZt28abb75JUlISjo6O+Pr64uzsTGJiImfPniU7OxtPT0+742cgpyDUsGHDOH/+PEajkdq1a+Pm5sa1a9eIjo4mMzMTyNlne2NiuWHDBkaOHElWVhaurq74+vpy8eJFLly4wMCBA4mIiCA2NtauINCFCxdo3749FosFNze3fKvrQk715ZtnmQMCAoiNjcXZ2fmW+4xfe+01Xn/9dWJiYggMDARUmEhEpCxSYSIRkVLCycmJv//97/Tv359ly5axa9cu4uLiiImJwcXFBT8/P1q2bEmvXr3w8fGx61uhQgU+/fRT+vfvz4oVK9izZw9RUVFATmXYzp07ExwcnO9M4I3i4uKIi4uz/e7o6EilSpVo3bo1Xbt2JTg4uMizoFaPPPIIHTp0YNOmTYSGhtoqAt98Nmh+evXqxbp169i4cSNXr16127NpMplYsGABM2fOZM2aNURHR1O5cmU6dOjAiBEjqF69+i2f3bt3b7Zu3YrRaLQtz71b+vXrR8OGDdm2bRt79+4lLi6O48ePYzabqVKlCk8++SSdOnXi2WefzTXT+NRTT7FmzRoWLlxIZGQkUVFRZGZmUr16dZo1a0bbtm0JCgrKNeajjz7K999/z+LFi4mIiODUqVPExMRQrVo1Hn/8cVq2bElQUFCu8YKCgli8eDGhoaH88ssvnDhxgjp16jB8+HBCQkKIiIjINVZmZqZtuXFiYuItq/m2bt0633upqam3PG7oxplZEREpuzQTKiIiZZp1JrRXr1589NFHt/2csLAwJk2aRJs2bfjqq6/uYoQiIiJyI+0JFRERAZYtWwbcu7NBRUREJIeSUBEReeB9++23HD16FC8vrzyXtoqIiMjdoz2hIiLyQLp06RKjR48mKSmJo0ePAjBq1CicnJxKODIREZH7m5JQERF5IKWnp7N7924cHR3x8fHh5ZdfLnSBJBEREbl9KkwkIiIiIiIixUZ7QkVERERERKTYKAkVERERERGRYqMkVERERERERIqNklAREREREREpNkpCRUREREREpNgoCRUREREREZFioyRUREREREREio2SUBERERERESk2/w+DWd2zj3y0lAAAAABJRU5ErkJggg==",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot_compare(sub_scope_cobra_10, scope_s2lp, 'percentage_similar_biomass', [\"COBRApy\",\"Seed2LP\"], \n",
+ " y_label=\"%\\ of biomass reactants\\nreachable from seeds\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 144,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "COBRApy global mean: 6.025116230670794 \t Seed2LP global mean: 65.22627846271938\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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bSIkJMRWkfnms2Hz0qdPH9atW8fGjRu5du1atj2rjo6OLFiwgJkzZ7JmzRoiIiKoXr06Xbp0YcyYMdSsWTPfe/ft25dt27ZhNBpty4tLyqBBg2jatCnbt29n3759xMTEcOrUKcxmM+7u7rRr145u3brx1FNP5ZjpfOihh1izZg0LFy5k69athIeHk56eTs2aNWndujUPP/wwgYGBOcZs1qwZv/zyC4sXLyYsLIwzZ84QGRmJh4cH999/P+3btycwMDDHeIGBgSxevJiQkBD279/P6dOnuffeexk9ejT9+/cnLCwsx1jp6em25dLx8fH5VlPu2LFjnu8lJyfne1zUjTPDIiJy99JMrIiI3NWsM7F9+vTh448/LvZ9QkNDmTJlCp06deLbb78twQhFRESkKLQnVkREpBCWL18O3L6zYUVERKRwlMSKiIgU4Mcff+T48eN4e3vnujRXRERE7hztiRUREcnF5cuXGT9+PAkJCRw/fhyAcePG4eDgUMqRiYiIVGxKYkVERHKRlpbG7t27sbe3p0GDBrzwwguFLjAlIiIit48KO4mIiIiIiEi5oT2xIiIiIiIiUm4oiRUREREREZFyQ0msiIiIiIiIlBtKYkVERERERKTcUBIrIiIiIiIi5YaSWBERERERESk3lMSKiIiIiIhIuaEkVkRERERERMqN/weh4tGZqdZIOwAAAABJRU5ErkJggg==",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot_compare( sub_scope_cobra_10, scope_s2lp, 'percentage_similar', [\"COBRApy\",\"Seed2LP\"], \n",
+ " y_label=\"%\\ of GSMN metabolites\\nreachable from seeds\")"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "s2lp",
+ "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.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/notebook/analyses/08_supp_phylomint.ipynb b/notebook/analyses/08_supp_phylomint.ipynb
new file mode 100644
index 0000000..628812c
--- /dev/null
+++ b/notebook/analyses/08_supp_phylomint.ipynb
@@ -0,0 +1,1075 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Get PhyloMInt results\n",
+ "This notebook presents PhyloMInt seed searching.\n",
+ "\n",
+ "To run correctly this notebook and have the same results as the paper, you must first download the raw results: [https://doi.org/10.57745/OS1JND](https://doi.org/10.57745/OS1JND)\n",
+ "\n",
+ "This notebook is written with the hierarchy of downloaded files, if you want to try it with the test form the run notebooks, it is needed to first restructure your data to match the hierarchy of downloaded files.\n",
+ "\n",
+ "We suppose here that the downloaded files are in a directory named \"analyses\", this directory path can be changed to your directory path where the data are saved."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Requirements\n",
+ "Module *pandas*, *numpy*, *seaborn* and *scipy* are needed"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!pip install pandas"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!pip install numpy"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!pip install seaborn"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!pip install scipy"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Variable to change (if wanted)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "analyse_dir = \"../../analyses\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Initialisation and functions"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import os\n",
+ "import pandas as pd\n",
+ "import seaborn as sns\n",
+ "import matplotlib.pyplot as plt\n",
+ "from scipy.stats import kruskal\n",
+ "import numpy as np\n",
+ "from json import load"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "phylomint_dir = os.path.join(analyse_dir, \"results\", \"phylomint\")\n",
+ "phylomint_scope_dir = os.path.join(phylomint_dir, \"scopes\")\n",
+ "phylomint_fluxes_dir=os.path.join(phylomint_dir,\"fluxes\")\n",
+ "\n",
+ "phylomint_duplicate_rev_dir = os.path.join(analyse_dir, \"results\", \"phylomint_duplicate_rev\", \"seeds_results\")\n",
+ "netseed_results_dir = os.path.join(analyse_dir, \"results\", \"netseed\")\n",
+ "\n",
+ "s2lp_results_reas_dir = os.path.join(analyse_dir, \"results\", \"s2lp_reasoning\")\n",
+ "s2lp_scope_dir = os.path.join(analyse_dir, \"results\", \"scopes_s2lp\")\n",
+ "s2lp_supp_data = os.path.join(analyse_dir, \"results\", \"supp_data\", \"seed2lp_supp_data.tsv\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## For NetSeed and PhyloMInt comparison\n",
+ "Phylomint results with reversible reaction duplicated"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 5,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def load_json(file): \n",
+ " file = open(file)\n",
+ " result = load(file)\n",
+ " file.close()\n",
+ " return result"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_seeds_netseed(netseed_dir):\n",
+ " netseed_all = pd.DataFrame(columns=['species','seeds'])\n",
+ " for species in os.listdir(netseed_dir):\n",
+ " result_path = os.path.join(netseed_dir, species,\"netseed\",\"results.json\")\n",
+ " data = load_json(result_path)\n",
+ " solutions = data[\"netseed\"][\"solutions\"][\"union\"]\n",
+ " current_df = pd.DataFrame([[species, solutions]], columns=['species','seeds'])\n",
+ " netseed_all=pd.concat([netseed_all, current_df], ignore_index=True)\n",
+ " netseed_all=netseed_all.set_index(\"species\")\n",
+ " return netseed_all\n",
+ "\n",
+ "def get_seeds_pylomint(phylomint_dir):\n",
+ " phylomint_all = pd.DataFrame(columns=['species','seeds'])\n",
+ " for file in os.listdir(phylomint_dir):\n",
+ " species = f'{os.path.splitext(os.path.basename(file))[0]}'\n",
+ " species = species.replace('_duplicate_results', '')\n",
+ " result_path = os.path.join(phylomint_dir, file)\n",
+ " data = load_json(result_path)\n",
+ " solutions = data[\"RESULTS\"][\"Phylomint\"][\"MINIMIZE ENUMERATION\"][\"solutions\"][\"model_1\"][3]\n",
+ " current_df = pd.DataFrame([[species, solutions]], columns=['species','seeds'])\n",
+ " phylomint_all=pd.concat([phylomint_all, current_df], ignore_index=True)\n",
+ " phylomint_all=phylomint_all.set_index(\"species\")\n",
+ " return phylomint_all"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def compare_seeds(netseed_all:pd.DataFrame, phylomint_all:pd.DataFrame):\n",
+ " dict_compare=dict()\n",
+ " for species, seeds in netseed_all.iterrows():\n",
+ " netseed_set = set(list(seeds)[0])\n",
+ " phylomint_set = set(list(phylomint_all.loc[species])[0])\n",
+ " dict_compare[species] = netseed_set==phylomint_set\n",
+ "\n",
+ " return dict_compare"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## For PhyloMint and Seed2LP comparison\n",
+ "Phylomint results from original seed search"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_scopes(directory:str):\n",
+ " scope_all=pd.DataFrame(columns=['species','model',\n",
+ " 'is_biomass_included', 'missing_biomass', 'percentage_missing_biomass'])\n",
+ " for species in os.listdir(directory):\n",
+ " file_path = os.path.join(directory, species, \"scope\", \"phylomint\", \"phylomint\", \"minimize\", \"accu\", f\"{species}_compare.tsv\")\n",
+ " current_df = pd.read_csv(file_path, sep='\\t', lineterminator='\\n')\n",
+ " current_df['is_biomass_included'] = current_df['is_biomass_included'].map({True: 'True', False: 'False'})\n",
+ " current_df[\"percentage_similar_biomass\"]=100-current_df[\"percentage_missing_biomass\"]\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n",
+ "\n",
+ " return scope_all\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 9,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_scopes(directory:str, mode:str, optim:str=None):\n",
+ " scope_all=pd.DataFrame(columns=['species','run','mode','optim', 'accu','model',\n",
+ " 'is_equal_union_species', 'missing', 'percentage_missing',\n",
+ " 'is_biomass_included', 'missing_biomass', 'percentage_missing_biomass',\n",
+ " 'is_exchange_included', 'missing_exchange', 'percentage_missing_exchange',\n",
+ " 'is_seed_included_to_exchange', 'missing_seed_into_exchange', 'percentage_missing_seed_into_exchange',\n",
+ " 'is_exchange_included_to_seed', 'missing_exchange_into_seed', 'percentage_missing_exchange_into_seeds'])\n",
+ " if mode == \"phylomint\":\n",
+ " prefix=\"phylomint\"\n",
+ " else:\n",
+ " prefix=\"scope\"\n",
+ " for species in os.listdir(directory):\n",
+ " if mode == \"phylomint\":\n",
+ " file_path = os.path.join(directory, species, \"scope\", \"phylomint\", \"phylomint\", \"minimize\", \"accu\", f\"{species}_{prefix}_compare.tsv\")\n",
+ " else:\n",
+ " file_path = os.path.join(directory, species, f\"{species}_{prefix}_compare.tsv\")\n",
+ " current_df = pd.read_csv(file_path, sep='\\t', lineterminator='\\n')\n",
+ " current_df['is_equal_union_species'] = current_df['is_equal_union_species'].map({True: 'True', False: 'False'})\n",
+ " current_df['is_biomass_included'] = current_df['is_biomass_included'].map({True: 'True', False: 'False'})\n",
+ " current_df['is_exchange_included'] = current_df['is_exchange_included'].map({True: 'True', False: 'False'})\n",
+ " current_df['is_seed_included_to_exchange'] = current_df['is_seed_included_to_exchange'].map({True: 'True', False: 'False'})\n",
+ " current_df['is_exchange_included_to_seed'] = current_df['is_exchange_included_to_seed'].map({True: 'True', False: 'False'})\n",
+ " current_df[\"percentage_similar\"]=100-current_df[\"percentage_missing\"]\n",
+ " current_df[\"percentage_similar_biomass\"]=100-current_df[\"percentage_missing_biomass\"]\n",
+ " current_df[\"percentage_similar_exchange\"]=100-current_df[\"percentage_missing_exchange\"]\n",
+ " current_df[\"percentage_similar_seed_into_exchange\"]=100-current_df[\"percentage_missing_seed_into_exchange\"]\n",
+ " current_df[\"percentage_similar_exchange_into_seeds\"]=100-current_df[\"percentage_missing_exchange_into_seeds\"]\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n",
+ " # in this notebook we use only reasoning and only the non accumulation mode for Seed2LP\n",
+ " if mode == \"full\":\n",
+ " scope_all = scope_all[scope_all[\"mode\"]==\"reasoning\"]\n",
+ " scope_all = scope_all[scope_all[\"accu\"]==False]\n",
+ " scope = scope_all[scope_all[\"run\"]==\"full\"]\n",
+ " elif mode == \"target\":\n",
+ " scope_all = scope_all[scope_all[\"mode\"]==\"reasoning\"]\n",
+ " scope_all = scope_all[scope_all[\"accu\"]==False]\n",
+ " scope = scope_all[scope_all[\"run\"]==\"target\"]\n",
+ " else:\n",
+ " scope = scope_all\n",
+ "\n",
+ " if optim==\"submin\":\n",
+ " return scope[scope[\"optim\"]==\"subset_minimal\"]\n",
+ " elif optim==\"min\":\n",
+ " return scope[scope[\"optim\"]==\"minimize\"]\n",
+ " else:\n",
+ " return scope"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 10,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_fluxes(directory:str, mode:str, optim:str=None):\n",
+ " flux_all=pd.DataFrame(columns=['species', 'biomass_reaction', 'solver_type', 'search_mode',\n",
+ " 'search_type', 'accumulation', 'model', 'size', 'lp_flux', 'cobra_flux_init',\n",
+ " 'cobra_flux_no_import', 'cobra_flux_seeds', 'cobra_flux_demands',\n",
+ " 'has_flux', 'has_flux_seeds', 'has_flux_demands', 'timer'])\n",
+ " flux_all['accumulation'] = flux_all['accumulation'].astype('bool')\n",
+ " flux_all['has_flux'] = flux_all['has_flux'].astype('bool')\n",
+ " flux_all['has_flux_seeds'] = flux_all['has_flux_seeds'].astype('bool')\n",
+ " flux_all['has_flux_demands'] = flux_all['has_flux_demands'].astype('bool')\n",
+ "\n",
+ " for dirpath, _, filenames in os.walk(directory):\n",
+ " for filename in [f for f in filenames if (f.endswith(\"_fluxes.tsv\") or f.endswith(\"_fluxes_from_result.tsv\"))]:\n",
+ " # By default in this notebook we want the no accumulation mode for seed2lp results\n",
+ " if \"_no_accu_\" in filename \\\n",
+ " and ((mode == \"full\" and \"_fn_\" in filename) \\\n",
+ " or (mode == \"target\" and \"_tgt_\" in filename))\\\n",
+ " or mode == \"phylomint\":\n",
+ " file_path=os.path.join(dirpath, filename)\n",
+ " current_df = pd.read_csv(file_path, sep='\\t', lineterminator='\\n')\n",
+ " current_df['accumulation'] = current_df['accumulation'].astype('bool')\n",
+ " current_df['has_flux'] = current_df['has_flux'].astype('bool')\n",
+ " current_df['has_flux_seeds'] = current_df['has_flux_seeds'].astype('bool')\n",
+ " current_df['has_flux_demands'] = current_df['has_flux_demands'].astype('bool')\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n",
+ " if optim==\"submin\":\n",
+ " return flux_all[flux_all[\"search_mode\"]==\"Subset Minimal\"]\n",
+ " elif optim==\"min\":\n",
+ " return flux_all[flux_all[\"search_mode\"]==\"Minimize\"]\n",
+ " else:\n",
+ " return flux_all"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 11,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_sizes(flux_df:pd.DataFrame, nb_total_meta:pd.DataFrame):\n",
+ " list_mean_size = flux_df.groupby(['species'])['size'].mean()\n",
+ " mean_size_df = pd.DataFrame(list_mean_size)\n",
+ " data_size_df = pd.concat([nb_total_meta, mean_size_df], axis=1)\n",
+ " data_size_df[\"percent\"]=data_size_df[\"size\"] / data_size_df[\"number_metabolites\"] *100\n",
+ " data_size = pd.DataFrame(data_size_df[\"percent\"])\n",
+ " data_size=data_size.reset_index()\n",
+ " data_size=data_size.rename(columns={\"index\": \"species\"})\n",
+ " return data_size"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def plot_compare(df1:pd.DataFrame, df2:pd.DataFrame, col, labels, y_label:str=\"\"):\n",
+ " np.set_printoptions(precision=3)\n",
+ " plt.style.use(\"seaborn-v0_8-colorblind\")\n",
+ "\n",
+ "\n",
+ " nan_spec=df1[df1[col].isnull()][\"species\"]\n",
+ " for nspe in nan_spec:\n",
+ " df1=df1.drop(df1.loc[df1['species']==nspe].index)\n",
+ "\n",
+ " nan_spec=df2[df2[col].isnull()][\"species\"]\n",
+ " for nspe in nan_spec:\n",
+ " df2=df2.drop(df2.loc[df2['species']==nspe].index)\n",
+ "\n",
+ " del_spec=set(df2['species']) - set(df1['species'])\n",
+ " for sp in del_spec:\n",
+ " df2=df2.drop(df2.loc[df2['species']==sp].index)\n",
+ "\n",
+ " n = len(df1['species'].unique())\n",
+ " \n",
+ " df1=df1.assign(Tool=labels[0])\n",
+ " df2=df2.assign(Tool=labels[1])\n",
+ " \n",
+ " concat_table = pd.concat([df1, df2])\n",
+ "\n",
+ " scope_tab = concat_table.groupby(['species','Tool'])[col].mean()\n",
+ " scope_df=pd.DataFrame(scope_tab)\n",
+ " scope_df=scope_df.reset_index()\n",
+ " plt.figure(figsize=(3,4))\n",
+ " sns.set_theme(font_scale = 1.5)\n",
+ "\n",
+ "\n",
+ " df1_means= scope_df[scope_df['Tool']==labels[0]]\n",
+ " df2_means= scope_df[scope_df['Tool']==labels[1]]\n",
+ " df1_gen_mean=df1_means[col].mean()\n",
+ " df2_means=df2_means[col].mean()\n",
+ " print(labels[0], \" global mean: \",df1_gen_mean, \"\\t \", labels[1], \"global mean: \", df2_means)\n",
+ "\n",
+ "\n",
+ " # KRUSKAL WALLIS TESTS\n",
+ " # Get the p-value from Kruskall Wallis test\n",
+ " kstat, p_value = kruskal(scope_df[scope_df[\"Tool\"]==labels[1]][col], scope_df[scope_df[\"Tool\"]==labels[0]][col])\n",
+ "\n",
+ " sns.boxplot(data=scope_df, x=\"Tool\", y=col, hue=\"Tool\", fill=False, linewidth=1.5)\n",
+ " plt.xlabel('')\n",
+ " plt.ylabel(y_label)\n",
+ " plt.title(f\"kstat = {kstat}, p-value = {p_value}, n={n}\")\n",
+ " sns.despine(bottom=True)\n",
+ "\n",
+ "\n",
+ " \n",
+ " pict_dir=\"/home/cghassem/Projets/seed-2-lp/picture/\"\n",
+ " match col:\n",
+ " case \"percentage_similar_exchange_into_seeds\":\n",
+ " supp=\"exchange\"\n",
+ " case \"percent\":\n",
+ " supp=\"size\"\n",
+ " case \"percentage_similar_biomass\":\n",
+ " supp=\"biomass\"\n",
+ " case \"percentage_similar\":\n",
+ " supp=\"full\"\n",
+ " plt.savefig(pict_dir+f'phylomint_{supp}.pdf', bbox_inches='tight')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 13,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def create_table_plot(table,column_name):\n",
+ " new_table = table.groupby(['species'])[column_name].agg('count').reset_index()\n",
+ " new_table=new_table.rename(columns={column_name: \"Total_flux\"})\n",
+ " new_true = table[table[column_name]==True].groupby(['species'])[column_name].agg('count').reset_index()\n",
+ " new_true=new_true.rename(columns={column_name: \"True_flux\"})\n",
+ " new_false = table[table[column_name]==False].groupby(['species'])[column_name].agg('count').reset_index()\n",
+ " new_false=new_false.rename(columns={column_name: \"False_flux\"})\n",
+ " new_table=pd.merge(new_table,new_true, how='left', on=['species'])\n",
+ " new_table=pd.merge(new_table,new_false, how='left', on=['species'])\n",
+ " new_table=new_table.fillna(0)\n",
+ " new_table=new_table.fillna(0)\n",
+ " new_table['True_flux']=new_table['True_flux'].astype(int)\n",
+ " new_table['False_flux']=new_table['False_flux'].astype(int)\n",
+ " return new_table"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 14,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_all_same_validation_fba(table,type):\n",
+ " count=0\n",
+ " total=0\n",
+ " for _,line in table.iterrows():\n",
+ " if line[type] == line[\"Total_flux\"]:\n",
+ " count += 1\n",
+ " total += 1\n",
+ " else:\n",
+ " total += 1\n",
+ " \n",
+ " return total, count"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 15,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def create_one_plot(s2lp, phylomint, labels, s2lp_scope, phylomint_scope):\n",
+ " plt.style.use(\"seaborn-v0_8-colorblind\")\n",
+ "\n",
+ " _, s2lp_true_count = get_all_same_validation_fba(s2lp, \"True_flux\")\n",
+ " _, s2lp_false_count = get_all_same_validation_fba(s2lp,\"False_flux\")\n",
+ " s2lp_missing_networks = 107 - (s2lp_true_count + s2lp_false_count)\n",
+ "\n",
+ " phylomint_true_count = phylomint.has_flux.sum()\n",
+ " phylomint_false_count = (~phylomint.has_flux).sum()\n",
+ " phylomint_missing_networks = 107 - (phylomint_true_count + phylomint_false_count)\n",
+ "\n",
+ "\n",
+ " #Get Biomass into scope info\n",
+ " s2lp_scope_mean_by_species = s2lp_scope.groupby(['species'])['percentage_similar_biomass'].mean()\n",
+ " phylomint_scope_mean_by_species = phylomint_scope.groupby(['species'])['percentage_similar_biomass'].mean()\n",
+ "\n",
+ " s2lp_true_scope_count = s2lp_scope_mean_by_species.value_counts()[100]\n",
+ " s2lp_true_no_scope_count = s2lp_true_count - s2lp_true_scope_count\n",
+ "\n",
+ " phylomint_true_scope_count = phylomint_scope_mean_by_species.value_counts()[100]\n",
+ " phylomint_true_no_scope_count = phylomint_true_count - phylomint_true_scope_count\n",
+ "\n",
+ "\n",
+ " # create seaprate value plot\n",
+ " s2lp_tab=pd.DataFrame([[s2lp_true_scope_count, s2lp_true_no_scope_count, s2lp_false_count, s2lp_missing_networks]], \n",
+ " columns=[\"all_true_scope\",\"all_true_no_scope\",\"all_false\",\"missing\"])\n",
+ " s2lp_tab=s2lp_tab.assign(Tool=labels[0])\n",
+ "\n",
+ " phylomint_tab=pd.DataFrame([[phylomint_true_scope_count, phylomint_true_no_scope_count, phylomint_false_count, phylomint_missing_networks]],\n",
+ " columns=[\"all_true_scope\",\"all_true_no_scope\",\"all_false\",\"missing\"])\n",
+ " phylomint_tab=phylomint_tab.assign(Tool=labels[1])\n",
+ " concat_table = pd.concat([phylomint_tab,s2lp_tab])\n",
+ "\n",
+ "\n",
+ " plt.figure(figsize=(1,3))\n",
+ " sns.set_theme(font_scale = 1.5)\n",
+ " fig, ax = plt.subplots()\n",
+ " fig.tight_layout()\n",
+ " groups = concat_table['Tool']\n",
+ " ax.bar(groups, concat_table[\"all_true_scope\"], color='#1e73be',label='flux & scope', width=0.2)\n",
+ " ax.bar(groups, concat_table[\"all_true_no_scope\"], bottom = concat_table[\"all_true_scope\"], \n",
+ " color='#945cb4', label='flux', width=0.2)\n",
+ " ax.bar(groups, concat_table[\"all_false\"], bottom = concat_table[\"all_true_scope\"]+concat_table[\"all_true_no_scope\"], \n",
+ " color='#ef3340', label='no flux', width=0.2)\n",
+ " ax.bar(groups, concat_table[\"missing\"], bottom = concat_table[\"all_true_scope\"]+concat_table[\"all_true_no_scope\"]+concat_table[\"all_false\"], \n",
+ " color='black', label='no solution', width=0.2)\n",
+ " \n",
+ " plt.ylabel('Number of GSMNs', fontsize=25)\n",
+ " plt.xlabel('Tools', fontsize=25)\n",
+ " plt.xticks(size=22)\n",
+ " plt.yticks(size=22)\n",
+ " #sns.despine(bottom=True)\n",
+ " plt.tick_params(bottom=False, left=True)\n",
+ " plt.legend(frameon=True, loc='center right', borderaxespad=-10)\n",
+ "\n",
+ " pict_dir=\"/home/cghassem/Projets/seed-2-lp/picture/\"\n",
+ " plt.savefig(pict_dir+'phylomint_flux.pdf', bbox_inches='tight')\n",
+ " return "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 16,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_result_compare(dictionnary):\n",
+ " nb_true = sum(dictionnary.values())\n",
+ " print(f\"There is {nb_true}/107 networks with identical set of seeds between NetSeed and PhyloMInt with only reversible reaction duplicated\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 17,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_total_nb_meta(supp_data_file):\n",
+ " table_all = pd.read_csv(supp_data_file, sep='\\t', lineterminator='\\n')\n",
+ " union_all = table_all.loc[table_all[\"type_data\"] == \"Union\"]\n",
+ " num_metabolite = union_all.groupby(['network'])['number_metabolites'].first()\n",
+ " return pd.DataFrame(num_metabolite)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_mean_std_deviation(table, tool):\n",
+ " mean = table[\"Total_flux\"].mean()\n",
+ " std = table[\"Total_flux\"].std()\n",
+ " print(tool, f\"mean = {mean}\", f\"standard deviation = {std}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 19,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_fba_ok_nb(table, tool):\n",
+ " nb = len(table) - table['True_flux'].value_counts()[0]\n",
+ " print(tool, f\"Number of networks with solutions satisfying FBA = {nb}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 20,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_fba_scope_ok_nb(table_scope, tool, table_flux):\n",
+ " table_no_flux = table_flux[table_flux['False_flux']!=0]\n",
+ " for species in table_no_flux[\"species\"]:\n",
+ " table_scope=table_scope[table_scope[\"species\"]!=species]\n",
+ " s2lp_scope_mean_by_species = table_scope.groupby(['species'])['percentage_similar_biomass'].mean()\n",
+ " nb = s2lp_scope_mean_by_species.value_counts()[100]\n",
+ " print(tool, f\"Number of networks with solutions satisfying FBA and all biomass reactants reachable = {nb}\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Get data"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## For NetSeed and PhyloMInt comparison\n",
+ "Phylomint results with reversible reaction duplicated"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 21,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "netseed_all = get_seeds_netseed(netseed_results_dir)\n",
+ "phylomint_rev_all = get_seeds_pylomint(phylomint_duplicate_rev_dir)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "compare_netseed_phylomint_duplicate_rev = compare_seeds(netseed_all,phylomint_rev_all)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## For PhyloMint and Seed2LP comparison\n",
+ "Phylomint results from original seed search"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 45,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/tmp/ipykernel_190957/2488246982.py:28: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n"
+ ]
+ }
+ ],
+ "source": [
+ "scope_phylomint = get_scopes(phylomint_scope_dir,\"phylomint\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 46,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "phylomint_fluxes = get_fluxes(phylomint_fluxes_dir,\"phylomint\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/tmp/ipykernel_190957/1290156936.py:24: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " flux_all=pd.concat([flux_all if not flux_all.empty else None, current_df], ignore_index=True)\n"
+ ]
+ }
+ ],
+ "source": [
+ "flux_s2lp_FN_submin = get_fluxes(s2lp_results_reas_dir, \"full\", \"submin\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 47,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stderr",
+ "output_type": "stream",
+ "text": [
+ "/tmp/ipykernel_190957/2488246982.py:28: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " scope_all=pd.concat([scope_all, current_df], ignore_index=True)\n"
+ ]
+ }
+ ],
+ "source": [
+ "scope_s2lp = get_scopes(s2lp_scope_dir, \"full\", \"submin\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# Get the number of all metabolites per network\n",
+ "nb_total_meta_df = get_total_nb_meta(s2lp_supp_data)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "data_size_s2lp = get_sizes(flux_s2lp_FN_submin, nb_total_meta_df)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 48,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "data_size_phylomint = get_sizes(phylomint_fluxes, nb_total_meta_df)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 49,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "s2lp_flux=create_table_plot(flux_s2lp_FN_submin,'has_flux')\n",
+ "phylomint_flux=create_table_plot(phylomint_fluxes,'has_flux')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# PLOT"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## For NetSeed and PhyloMInt comparison\n",
+ "Phylomint results with reversible reaction duplicated"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "There is 106/107 networks with identical set of seeds between NetSeed and PhyloMInt with only reversible reaction duplicated\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_result_compare(compare_netseed_phylomint_duplicate_rev)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Size of NetSeed set for iCHOV1: 341\n",
+ "Size of PhyloMInt set for iCHOV1: 334\n",
+ "Supplement metabolites into NetSeed set:\n",
+ "{'M_CE5753_c', 'M_CE5755_c', 'M_CE5776_c', 'M_CE5752_c', 'M_CE5775_c', 'M_CE5754_c', 'M_CE5747_c'}\n"
+ ]
+ }
+ ],
+ "source": [
+ "nb_ichov1_netseed = len(netseed_all.loc[\"iCHOv1\"].seeds)\n",
+ "nb_ichov1_phylomint = len(phylomint_rev_all.loc[\"iCHOv1\"].seeds)\n",
+ "set_diff = set(netseed_all.loc[\"iCHOv1\"].seeds) - set(phylomint_rev_all.loc[\"iCHOv1\"].seeds)\n",
+ "print(\"Size of NetSeed set for iCHOV1:\", nb_ichov1_netseed)\n",
+ "print(\"Size of PhyloMInt set for iCHOV1:\", nb_ichov1_phylomint)\n",
+ "print(\"Supplement metabolites into NetSeed set:\")\n",
+ "print(set_diff)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## For PhyloMint and Seed2LP comparison\n",
+ "Phylomint results from original seed search"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Fluxes"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Mean and standard deviation"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 33,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Seed2LP mean = 888.6095238095238 standard deviation = 281.6013444856348\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_mean_std_deviation(s2lp_flux, \"Seed2LP\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 50,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Phylomint mean = 1.0 standard deviation = 0.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_mean_std_deviation(phylomint_flux, \"Phylomint\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Number of networks satisfying FBA constraints"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 35,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Seed2LP Number of networks with solutions satisfying FBA = 104\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_fba_ok_nb(s2lp_flux, \"Seed2LP\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 36,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Seed2LP Number of networks with solutions satisfying FBA and all biomass reactants reachable = 104\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_fba_scope_ok_nb(scope_s2lp, \"Seed2LP\",s2lp_flux)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 51,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Phylomint Number of networks with solutions satisfying FBA = 88\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_fba_ok_nb(phylomint_flux, \"Phylomint\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 52,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Phylomint Number of networks with solutions satisfying FBA and all biomass reactants reachable = 6\n"
+ ]
+ }
+ ],
+ "source": [
+ "get_fba_scope_ok_nb(scope_phylomint, \"Phylomint\", phylomint_flux)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Plot number of fluxes validating (all solutions validates) or not (none of solution validates) FBA"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Flux & scope means solution insurinf FBA constraints and having target metabolites from reactant of objective reaction into scope"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 53,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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RdOSiIiIiIiIKhSNg9vz588hCAJq1Kihcr9cLseFCxfE1xMnTlTa7+rqigEDBgAAMjIycOfOHU1LIiIiIiIiqlA0Dm65d8hsbGxU7r937x6kUikEQUDVqlVRr169fG28vLzE7dDQUE1LIiIiIiIiqlA0Dm5yuVzpv2+6ceOGuF3QrJEODg7idu6aaERERERERJRD4+BmaWkJAIiJiVG5/9KlS+J23jtreWVnZ2taBhERERERUYWlcXCrUaMGFAoFwsPDERcXp7QvOTkZFy9eFF+3bNlSZR/x8fHiNtcvIyIiIiIiUqZxcGvWrBkAQKFQYMWKFUr71q5di4yMDAiCgDp16qBy5coq+3jw4IG4rY113IiIiIiIiCoSjRfgHjhwIDZt2gSFQgE/Pz88efIEnp6eePDgAc6dOye2GzJkSIF9XL16Vdx+5513NC2JiIiIiIioQtE4uNWqVQsffvghNmzYAEEQcO3aNaVFuQGgdu3a8PHxUXn8ixcvcOPGDQiCAGdnZzg7O2taEhERERERUYWi8VBJAPj666/xySefwMDAAAqFQulPw4YNsW7dOhgZGak8dseOHVAoFACAtm3baqMcIiIiIiKiCkXjO265pk6dilGjRuHChQt4+fIljI2N0bBhwwJnksyVlpaG/v37AwAGDRqkrXKIiIiIiIgqDK0FNwBwdHRE3759i3XM7NmztVkCERERERFRhaOVoZJERERERESkOwxuREREREREeo7BjYiIiIiISM+p/YxbdHS0LusQcQFuIiIiIiIiZWoHN29vbwiCoMtaIAgCgoODdXoOIiIiIiKi8qbYs0rmrrlGREREREREpaNYz7jpIrQJgqDzO3lERERERETlmdp33Pz9/bV64uDgYKxcuRLh4eEMbkRERERERIVQO7i5u7tr5YRPnjzBb7/9hhMnTkChUEAQBPFOXvv27bVyDiIiIiIiooqk2M+4ldSzZ8+wcuVKHD16FHK5XGnYZYsWLfDll1/C09OztMohIiIiIiIqN3Qe3F6+fInVq1dj3759kMlkSoHNw8MDU6ZMQevWrXVdBhERERERUbmls+AWHx+PtWvXYvfu3cjMzFQKbPXq1cMXX3yBTp066er0REREREREFYbWg1tSUhL+/PNPbN26Fenp6UqBrVatWpg8eTK6d++u7dMSERERERFVWFoLbikpKdi0aRM2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m4iIiIiIKjbOB1uIXr16idv79u3Dnj17VLaLjY3Fl19+iezsbABAhw4d8i0HMGjQIPGuZUBAALZv356vn7CwMPj6+oqvp0yZovE1EBERERFR+VfiZ9zeBu+99x66deuGY8eOQaFQYM6cOTh06BA6d+6MypUrIyMjA3fv3sXBgweRlJQEALCxscG3336bry8TExMsWrQIEyZMQFZWFnx9fXHu3Dl4e3vDzMwMwcHB2LNnD5KTkwEAPj4+aNOmTaleLxERERER6ScGtyL8/PPPsLKywt69ewEAV65cwZUrV1S2rVmzJn799dcCn4Vr06YNli1bhlmzZiEpKQkBAQFKM1fm8vHxwfz587V1CUREREREVM4xuBXB2NgYixYtwsiRI7Fv3z5cv34dkZGRkEqlMDIygr29PRo0aIDOnTujZ8+eMDY2LrS/rl27okmTJti5cycCAgIQFRWFjIwMODk5oVmzZhg0aFCBz78REREREdHbqVSCW3R0NP7++29cu3YNr169gqGhIZycnNCyZUv06dMHlStXLo0yNFKvXj3Mnj1bK31VqlQJU6ZM4TNsRERERESklmIFtytXriAhIQFAztpktWrVKvKYdevWYeXKleLEHQqFAoIgICQkBBcuXMCaNWswffp0vVp4m4iIiIiISJ+oHdyys7MxceJEcWHpHTt2FHnMqlWrsHr1anGxbkEQIAiCGN4AIC0tDQsXLoRMJsPo0aNLcg1EREREREQVmtrLAdy4cQMpKSlQKBSoX78+mjZtWmj7e/fuYfXq1QAghjRBEFC7dm14eHjAzs5ODHAKhQI///wzwsPDNbgUIiIiIiKiiqlYwQ3ICV89e/Yssv2KFSvEO20A0KJFC5w4cQKHDx/Grl27cOHCBfz0008wNTWFIAjIysrChg0bSnAJREREREREFZvawS04OFjc7tSpU6FtY2JicP78efFumqurK9auXSsuQA3kBMDevXtj6dKlUCgUUCgUOHbsGORyeQkug4iIiIiIqOJSO7jlDmO0srKCu7t7oW3PnTsHmUwmDoX89NNPYW5urrJt165d0bhxYwBAUlISHj9+rG5JREREREREbwW1g9vz588hCAKqVatWZNugoCBx28DAAD169Ci0fZcuXcTtR48eqVsSERERERHRW0HtWSVzZ5O0trYusu2tW7cA5AyHbNiwISwsLAptX6dO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REREREREVAC1gluLFi10XQcREREREREVQOPlAIiIiIiIiEi3GNyIiIiIiIj0HIMbERERERGRnmNwIyIiIiIi0nNqLwegrmfPnuHGjRt4+vQpkpKSkJ6ervbU/4IgiAt3ExERERERUQ6tBbcbN27gp59+wo0bNzTqh8GNiIiIiIhImVaC265du+Dr6wuFQqHRwtqCIGijHCIiIiIiogpF4+B29+5dLFiwAHK5XHzPzc0NjRs3hqOjI8zMzDQ9BRERERER0VtN4+D2119/QSaTQRAEVK5cGUuXLuWC3URERERERFqkcXALCgoSt3///XfUq1dP0y6JiIiIiIgoD42XA4iLi4MgCKhduzZDGxERERERkQ5oHNwsLCwAAA4ODhoXQ0RERERERPlpHNzeeecdKBQKvHr1Shv1EBERERER0Rs0Dm4ffPABAODp06d49uyZxgURERERERGRMo2D24ABA1CnTh0AgK+vr9KyAERERERERKQ5jYObkZERVq9ejUqVKuH8+fOYOHEiXr58qY3aiIiIiIiICFpYDgAAqlevjr///htz5szB6dOn0aVLF7Rt2xYeHh5wcHCAkZGR2n3169dPGyURERERERFVGFoJbgBgYmKCBg0a4MKFC8jKysKZM2dw5syZYvUhCAKDGxERERER0Ru0EtxCQkLw0UcfIS4uDkBOAAMAhUKhje6JiIiIiIjeahoHt5iYGIwePRoJCQnie4IgwNnZGY6OjjA1NdX0FERERERERG81jYPb+vXrkZCQAEEQYGhoiE8//RQ+Pj5wcnLSRn1ERERERERvPY2DW97n2JYsWYKePXtq2iURERERERHlofFyAM+fPxeHRjK0ERERERERaZ/Gwc3S0hJAzpIAREREREREpH0aBzcXFxcoFAqkpKRoox4iIiIiIiJ6g8bBrWvXrgCAhw8fQiqValwQERERERERKdM4uPn4+MDOzg7Z2dlYvXq1NmoiIiIiIiKiPDQObvb29vj1119hbGyMTZs24Y8//tBGXURERERERPT/NF4OIDo6GjVq1MAvv/yC2bNnY/ny5Thy5AgGDBiAJk2awMHBAUZGRmr35+LiomlJREREREREFYrGwc3b2xuCIIivFQoFHj16hKVLlxa7L0EQEBwcrGlJREREREREFYrGwS2XQqGAIAhKIS73/aIIgqBWOyIiIiIioreRVoJb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QYMGoUWLFmVdJhERERER6RGNg9vJkyeL1d7IyAgWFhawsLDQ9NQ6t3XrVp30W6lSJUyZMoXPsBERERERkVo0Dm6urq7aqIOIiIiIiIgKUObLARAREREREVHhGNyIiIiIiIj0HIMbERERERGRnmNwIyIiIiIi0nNqT06yatUqXdYhmjRpUqmch4iIiIiIqLwoVnATBEGXtQBgcCMiIiIiInpTsZcDKMli2+oqjWBIRERERERU3qgd3Bo3bqz1YPXq1StER0dDEASdBkIiIiIiIqLyTO3g5ufnp7WTxsXFYe3atdi9ezfvshERERERERWh2EMlNZGUlIQ///wTW7duRXp6uvi+QqGAu7s7Jk+eXJrlEBERERERlQulEtxSUlKwadMmbNq0CVKpVGlYZNWqVTFp0iT06dMHEglXJyAiIiIiInqTToNbRkYGtm3bhj///BMJCQlKga1y5cqYOHEiBg0aBEPDUr3xR0REREREVK7oJDFlZ2dj9+7dWLt2LWJjY5UCm4ODA8aPH4/hw4fD2NhYF6cnIiIiIiKqULQa3ORyOfbv34/Vq1fj+fPnUCgU4uQjNjY2+OijjzB69GiYmZlp87REREREREQVmtaC29GjR7FixQpEREQovW9ubo7Ro0dj3LhxsLS01NbpiIiIiIiI3hoaB7cTJ05gxYoVePTokfieQqGAqakphg8fjvHjx8POzk7T0xAREREREb21Shzczp8/j99++w13794V31MoFDAyMoKPjw8+/fRTODk5aaVIIiIiIiKit1mxg1tQUBCWL1+Oa9euAYA48YiBgQH69euHzz//HC4uLtqtkoiIiIiI6C2mdnC7c+cOli9fjosXLwL4L7BJJBL06NEDX3zxBWrUqKGbKomIiIiIiN5iage3wYMHQxAEMbAJgoAuXbpgypQpqF27ts4KJCIiIiIietsVe6hk7vT+1atXh0QiwcqVK7VWjCAIWL58udb6IyIiIiIiqghKPDlJREREvqn/NZF3zTciIiIiIiL6T7GCW+4wSSIiIiIiIio9age3/v3767IOIiIiIiIiKoDawe3HH3/UZR1ERERERERUAElZF0BERERERESFY3AjIiIiIiLScwxuREREREREeq7EywEQ5WXvalnWJZQr/HoRERERUXEwuJHG5HIFuk5sWtZllDtyOZfXICIiIiL1MLiRxiQSAT/5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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "create_one_plot(s2lp_flux, phylomint_fluxes, [\"Seed2LP\", \"Phylomint\"], scope_s2lp, scope_phylomint)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Scopes"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 55,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Seed2LP global mean: 89.35444227204987 \t PhyloMInt global mean: 85.60819403314743\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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2BB1gv2xSTw2sj3dWje0d5kiV6SQKSJSORQyRaqhffv28emnnxITE0NWVhYJCQnl2l02MjKykiqUsqipIRMuBs3PImNJSs22XfPxcmNMUKACpjgMhUwRkcqhkCniANq0aYOPjw8//PCDvUuRq1CTQyZcXDp76e6yWiIrjkQhU0SkcmjjHxERKZeSdpcVERER0UymiEglqekzmSKOTjOZIiKVw2LvAkRERERERKTm0HJZEQdimiabNm1i3bp1HDx4kOTkZAzDoF69enTo0IGhQ4cSHBx81TvRioiIiIhUFC2XFXEQSUlJTJkyhb179wL/O6eyUGGw7Nq1K3//+9/x9fWt8hqlKC2XFanetFxWRKRyKGSKOIDc3FxGjRpFTEwMpmnSsWNHevfuTePGjQE4ffo0UVFR7N+/H8MwaN26NZ9//jkuLi52rvz6ppApUr0pZIqIVA4tlxVxAMuXLyc6Opo6derw1ltvcfvttxfr88QTT7B161amTZtGdHQ0K1asYPz48XaoVkRERESuZ9r4R8QBfP311xiGwYsvvlhiwCzUr18/XnzxRUzTZMOGDVVYoYiIiIjIRVouK+IAbrnlFrKysti7dy/OzpdfgJCfn0+XLl2oXbs2O3furKIKRUREREQu0kymiAPIzs6mdu3aVwyYAM7OztSuXZvs7OwqqExEREREpCiFTBEH4OPjQ1paGomJiVfsGx8fz4ULF/Dx8amCykREREREilLIFHEA3bt3xzRNXn/99WJHl/yeaZq88cYbGIZBjx49qrBCEREREZGLFDJFHMADDzyAYRhs3ryZ8ePHExUVRV5enq09Ly+P7du3M378eDZv3oxhGEycONF+BYuIiIjIdUsb/4g4iMWLF9tmKQGcnJyoV68ehmGQnJxMQUGBbZZz+vTpCpkiIiIiYhcKmSIO5LvvvmPOnDn88ssvJbYHBgby9NNP079//6otTERERETkvxQyRRxQdHQ0Bw8e5Ny5cwA0aNCA9u3b07p1aztXJiIiIiLXO4VMERERERERqTDa+EdEREREREQqjEKmiIiIiIiIVBiFTBEREREREakwCpkiIiIiIiJSYRQyRUREREREpMIoZIqIVFPx8fG0bt26So+mCQoKonXr1sTHx1fZmFK96b8JERG5Ws72LkBE5Hoxbtw4du7cWeSak5MTXl5etG7dmiFDhnDXXXdhsdScz//mz59PWFgYAK6urvz44494enqW2v+ee+5hz549ANxyyy0sWbKkSHvh9zA0NJTJkydXSI07duxg586dtG3blgEDBlTIMwudPXuWpUuXsm3bNk6cOEFubi7e3t62s2179OjBwIED8fDwqNBxq8Lx48fZtGkTO3bsIDo6mvPnz+Pq6krz5s0ZNGgQ9913X6lfV1BQEAkJCbz++uvcddddVxwrPj6e4ODgYtddXV1p2LAh3bp1Y9y4cbRv3/6avy4REbl2Cpki14GsrCxq165t7zLkv5o0aUKTJk0AyMnJ4cSJE0RFRREVFcXXX3/NP/7xD1xcXOxcZcXLycnh66+/ZvTo0SW2x8XF2QJmVdq5cydhYWGMHDmyQkPm7t27+fOf/8yFCxcwDINGjRrh6+tLVlYWv/zyCz///DNffPEF/v7+dO/evcLGrQoFBQXccccdtl/7+vrSunVrkpKSOHDgAAcOHGDlypUsXrwYPz+/Ch27ffv2tp+P5ORk4uPjWbNmDV999RWzZs1i1KhRFTqeiIhcPYVMkRrINE327NnD5s2biYyMZOjQoYSGhtq7LPmvkJCQIrNw+fn5/POf/2Tu3Ln88MMPfPLJJzz88MN2rLDitWjRgl9//ZXw8PBSQ2Z4eHiRvo4sIyODqVOncuHCBfr06cPMmTNp3ry5rT03N5effvqJ8PBwatWqZcdKy8c0TerUqcPYsWO56667aNmypa1t3759TJs2jbi4OJ588kk+//zzCh37nXfewd/f3/brU6dO8Ze//IWdO3fyyiuv0LdvX9uHOCIiYh81Z02WyHUuJyeHiIgIZsyYQZ8+fbj//vv5+OOPOXHiBM7O+jypOnN2dmbSpEn0798fgHXr1tm3oEpw0003cfPNN7Nnzx7i4uKKtZumydq1a6lVqxZ/+tOf7FBhxdq6dStnz57F3d2dsLCwIgETwMXFhT/84Q/MmzePTp062anK8nNyciIiIoJnnnmmSMAE6Ny5M2+99RYA+/fv58iRI5VaS5MmTZgzZw61atUiNzeXb775plLHExGRK9PfPEUcWHJyMlu2bCEiIoLt27eTnZ2NaZoAtGzZkuDgYAYMGEDHjh3tXKmUxa233sqWLVs4fvx4ie1RUVG8//77HDhwgPz8fFq3bs2kSZMICgoq0i80NJRNmzYxdepUHnvssRKfdf78eW677Tby8/PZvHlzkZmh0litVtauXcuqVauIjo4mOzubhg0b0rdvXx555JErLoscPnw4hw4dYs2aNUyZMqVI286dO0lISGDgwIF4e3tfsZZL/f6dvejo6DJ/r36/qVJ4eLhtNhXAz8+PyMjIq64F4OTJkwA0b94cd3f3q74/MTGRjz76iO+//57Tp0/j5OREy5YtGTFiBGPGjCn1g6Pz58+zePFiIiMjiY+PxzRNmjVrxuDBgxk/fnypy+YPHDjAggUL2L17N/n5+TRv3pz77ruPkJCQEvsbhnHZ36euXbvi6elJWloax44do23btlf9PbgajRo1onnz5sTExJT68yMiIlVHIVPEwcTFxREREcHmzZvZt28fVqsV0zSxWCx07dqV4OBggoODadasmb1LlatktVqBi3+Bv9TKlSt58cUX8fLyomnTppw8eZJ9+/bx2GOPMW/ePP74xz/a+o4aNYpNmzaxevVqHn300RKft3btWvLy8ujdu3eZAmZeXh5TpkyxhS5/f38CAgL45ZdfWLFiBV999RWLFi3illtuKfUZQ4cO5a233mLNmjVMnjy5SF1r1qwBYMSIEZw+ffqK9VzO1XyvunbtyqlTpzh16hQNGjQo8nPj6+tb7hrq1KkDwIkTJ0hJSbmq4Lx161aeeOIJMjMzcXNzo2nTpmRkZHDgwAH+85//EBkZWeJ7uwcOHGDSpEmcO3eOWrVq4e/vj2maxMTE8PPPP7Nx40YWL16Ml5dXkfsiIyOZMmUKeXl5eHh40KJFC3777TdmzJhBdHR0ub7+goIC8vPzAXBzcyvXM67W5X5+RESkailkijiA//znP0RERBAREcEvv/wCXFxe6ObmRu/evQkODub222+nfv36dq5UrkXhzrMlfUDw6quvMnPmTMaOHYvFYqGgoIDXXnuNpUuX8re//Y077rjDtivtbbfdxg033MDJkyfZsWMHPXv2LPa81atXA3D33XeXqbaFCxcSGRmJp6cn7777Lr179wYgPT2dGTNm8M033zB16lTWr19f6n+H9evX57bbbiMyMpJdu3bRo0cP4OLGVBs3bqRevXr069ePzz77rEw1leZqvlfLly+37YD7hz/8gTfeeOOaxi7Ut29fnJycSE9PZ+LEiTz00EP07t37ij+jv/76K1OnTiUnJ4dp06YxceJEW5g8cuQITzzxBD/88AMLFizgySef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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot_compare(scope_s2lp, scope_phylomint, 'percentage_similar_exchange_into_seeds', [\"Seed2LP\",\"PhyloMInt\"],\n",
+ " y_label=\"%\\ of all exchanged metabolites\\npresent in the seed set\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 56,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Seed2LP global mean: 28.184406328240268 \t PhyloMInt global mean: 20.711243782478686\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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sbB582YcHBwYPny4DSqsOjt37uTChQu4uLgQFhZWJAADODo6cscdd7BgwQI6d+5soyqvn52dHRERETz77LNFAjBAly5d+M9//gPADz/8wIkTJ25oLc2aNeONN97AwcGBnJwcvvrqqxvan4iI3HwKwSIitdjtt98OFDxvWZLdu3fz0EMP0aNHD7p06cL48eOJjIwsdl5oaCj+/v4sWrSo1L4uXbpEQEAAt912W7kXPTKbzYSHh/PAAw/Qs2dPOnbsSHBwMC+//DIJCQnXvH7kyJEAbNq0qVjbvn37SEhIYODAgXh4eJSrnj+6ehGx8r5X/v7+1meWw8PDrffw9/cnKCiownUAnD17FoBWrVrh4uJS4et/++035s6dy9ChQ+ncuTPdunXj3nvv5aOPPiIvL6/U6y5dusSCBQu4++676dq1K126dGHkyJEsWbKEzMzMUq+Ljo5m+vTp9OzZk65duzJmzBg2bNhQ6vkGg6HM71G3bt2sz33/+uuv137BleTl5WX9oKG0nx0REam5FIJFRGoxs9kMFISMq61fv56HH36YEydO0KJFCxwcHDhy5AiPP/44X375ZZFzC5+L3LhxIxaLpcS+Nm/eTG5uLoGBgUWml5YmNzeXGTNm8Pzzz7N//34aNGhAmzZtSE5OZu3atdx9993FFv262t13342DgwObNm0qVldhMB41atQ1a7mWirxX3bp1s06fbdy4Md26dbP+ut6Fltzc3ACIi4sjNTW1Qtfu3LmT4cOH8+GHH5KYmEiLFi3w8PAgOjqaV155hWnTppGTk1PsuujoaIYPH87ixYv59ddf8fLywsvLi5iYGObPn899991HWlpasesiIyOZOHEiO3bsID8/n9atW3PhwgX++te/8tprr13X68/Pz7eG9Xr16l3XPSqqrJ8dERGp2RSCRURqscIQ6evrW6xt7ty5vPTSS3z//fds3LiRPXv28MADD2CxWPj3v/9tDQEA/fv355ZbbuHs2bPs3bu3xL42btwIwNixY8tV26JFi4iMjKR+/fq8//77REREsHHjRnbt2sXQoUOtz8GmpKSUeo9GjRrRv39/EhISOHDggPV4ZmYm27Zto2HDhgwYMKBc9ZSlIu/VmjVrCAkJAeCOO+5gzZo11l8LFy68rv779euHnZ0dV65cYcqUKWzZsqXM96XQL7/8wsyZM8nKyuLpp59m//79fP7550RGRhIeHk7Lli357rvveOedd4pcl5KSwmOPPcbFixeZMmUKe/bsYdu2bXz11Vds376dLl26cPz4cV599dUi1yUnJzN79mxyc3MJCQlh165dbNiwgaioKF577TVWr15NUlJShV9/REQEmZmZ2Nvb06VLlwpfX1FJSUnExcUBJf/siIhIzaYQLCJSC+Xl5bFkyRJ27twJwIgRI4qdM2rUKO677z7r9kl2dnY899xzNGrUiN9++42YmBjruUaj0RrsSprWGh0dzcmTJ3F3d+fOO++8Zn3p6emsWrUKgGeffZY+ffpY29zc3HjjjTfw8vIiJSWFtWvXlnmvwpHewkWwAL766isyMjIYMWJElSwUVZH36kbw9fXlmWeewWAwcOLECZ5++mkCAwMJCgriiSee4OOPPy4xFL/99ttkZmYybdo0Hn300SIrhLdr14758+djMBhYvXo12dnZ1rYVK1Zw4cIF7r77bl544QXrSDSAj48Pb731Fi4uLnzxxRckJiZa29auXcvly5fx8fHh1VdfxdnZGSgYTQ0JCeHee+8tc/p1Sa5cucK8efOAggXgGjVqVKHrK+rcuXM888wz5Obm4ujoWGTVahERqR0UgkVEaoENGzYwceJEJk6cyJgxY7j99tuZP38+UDCK+OCDDxa7ZsKECcWOOTk50b59e4Bii02FhIRgNBrZvn07v//+e5G2Tz/9FIB77rmnXFsxHTx4kPT0dBo0aMDo0aOLtTs6OnL//fcDEBUVVea9Bg0ahIeHB9u2bSMrKwuo2qnQUPH36kZ4+OGH+fjjj7nzzjtxcnICICEhga+++oo5c+YQFBTE0qVLrefn5ORYn1kuqX6ADh06cMstt3DlyhV+/PFH6/HCxaBKu65p06YEBARgNpvZv3+/9Xjh9+q+++7Dzs6u2HWTJ0+uyEsmPz+fp556ivj4eJo3b86zzz5boevLY+bMmdafnbvuuovBgwezb98+7Ozs+Pvf/66VoUVEaiFtkSQiUgucO3eOc+fOAQWjlPXr16d3796MGDHCGl6vVto0z8aNGwOQkZFR5HizZs3o168fUVFRbNmyhYkTJwIFe/Vu3boVwDpafC2Fixv5+vqWGprbtm0LcM2tjRwdHRk2bBgff/wxX3/9NT169GDv3r20adPmup/BvVpF36sbpfDZ4pycHH788UeOHz/O999/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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot_compare(data_size_s2lp, data_size_phylomint, 'percent', [\"Seed2LP\",\"PhyloMInt\"], \n",
+ " y_label=\"Size of seed set\\n(%\\ of GSMN size)\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 57,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Seed2LP global mean: 100.0 \t PhyloMInt global mean: 81.84356555897303\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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xGYoBIuIiIiIiIjNUAgWERERERERm6EQLCIiIiIiIjZDIVhERERERERshkKwiIiIiIiI2AyFYBEREREREbEZCsEiIiIiIiJiMxSCRURsSHx8PL6+vvj6+t6yPv39/fH19SU+Pv6W9Sk1l/59EBGR6mZf3QWIiEj5PfLII+zdu7fQNTs7O1xcXPD19WXUqFGMHz8eo7HufOe5aNEigoODAahXrx4//PADDRs2LLH9pEmTOHDgAAB33HEHK1euLHS/4Gc4c+ZM/vznP1dKjXv27GHv3r107tyZIUOGVMo7AS5evMiqVavYuXMnsbGx5OTk4OrqStOmTenWrRt9+/Zl6NChODs7V1qft8rp06f55ptv2LNnDydOnODy5cvUq1ePtm3bMmzYMB566KESP5e/vz8JCQm8+eabjB8//qZ9xcfHExAQUOR6vXr1aNasGX369OGRRx6hW7duFf5cIiJS8ygEi4jUAS1atKBFixYAZGdnExsbS0REBBEREWzdupX3338fk8lUzVVWvuzsbLZu3cqECROKvR8XF2cNwLfS3r17CQ4OZty4cZUWgiMjI5k+fTqpqakYDAY8PDxwd3cnMzOTX375hePHj/PFF1/QqlUrbr/99krp81bJz89n+PDh1l+7u7vj6+tLUlISR44c4ciRI3z++ecsX74cT0/PSu27W7du1j8bycnJxMfHs2HDBv73v//x6quv8sADD1RqfyIiUv0UgkVE6oDAwMBCo5h5eXn897//ZeHChezatYsVK1YwderUaqyw8rVr145Tp04RGhpaYggODQ0t1La2Sk9PZ9asWaSmpnLXXXcxd+5c2rZta72fk5PDjz/+SGhoKA4ODtVYaflYLBYaNGjAgw8+yPjx42nfvr313qFDh3j22WeJi4vjmWee4bPPPqvUvt955x1atWpl/fW5c+d44YUX2Lt3L/PmzWPAgAHWL5hERKRuqDvz40RExMre3p5p06YxaNAgADZt2lS9BVWBDh060LVrVw4cOEBcXFyR+xaLhS+//BIHBwdGjhxZDRVWnh07dnDx4kWcnJwIDg4uFIABTCYTd999N0FBQfTo0aOaqiw/Ozs7wsLCeP755wsFYICePXuyYMECAA4fPsyxY8eqtJYWLVrw9ttv4+DgQE5ODl999VWV9iciIreeQrCISB125513AtfWWxYnIiKCP/3pT9x+++307NmTiRMnEh4eXqTdzJkz8fX1JSQkpMS+Ll++TLdu3ejUqVOpNz0ym82Ehoby8MMP07dvX7p3705AQACvvPIKCQkJN33+vvvuA2DDhg1F7u3du5eEhAQGDRqEq6trqeq53u83ESvtz8rX19e6Zjk0NNT6Dl9fX/z9/ctcB8CZM2cAaNu2LU5OTmV+/uzZs/zzn/9k+PDh9OjRg969e/PAAw/wySefkJeXV+Jzly9fJigoiNGjR9OrVy969uzJfffdxwcffEBmZmaJzx05coTp06fTt29fevXqxfjx41m3bl2J7Q0Gww1/j3r37m1d9/3rr7/e/ANXkIeHh/WLhpL+7IiISO2lECwiUoeZzWbgWsj4vc8//5zHHnuMY8eO0bp1axwcHDh06BAzZsxg69athdoWrItcv349Foul2L6+/PJLcnNz8fPzKzS9tCS5ubk8/fTTzJkzh3379tGoUSM6dOhAUlISa9euZfTo0UU2/fq90aNH4+DgwIYNG4rUVRCMx44de9NabqYsP6vevXtbp882bdqU3r17W/9X3o2WGjRoAEBsbCxXrlwp07M7duxg5MiRrFy5kvPnz9O6dWtcXV05cuQI8+bNY9q0aeTk5BR57siRI4wcOZLFixfz66+/4uHhgYeHBydPnmThwoVMnjyZlJSUIs+Fh4czadIkvv32W/Lz82nXrh0XL17kpZde4o033ijX58/Pz7eGdUdHx3K9o6xu9GdHRERqN4VgEZE6rCBEent7F7n3z3/+k7lz57J7927Wr1/Pjz/+yMMPP4zFYuFf//qXNQQADBw4kJYtW3LmzBn27NlTbF/r168H4P777y9VbSEhIYSHh9OwYUOWLVtGWFgY69ev54cffmD48OHWdbDJycklvqNJkyYMHDiQhIQE9u/fb72emZnJtm3baNy4Mffcc0+p6rmRsvys1qxZQ2BgIAB33303a9assf7v3XffLVf/AwYMwM7OjrS0NKZMmcKmTZtu+HMpcOrUKWbNmkVWVhbPPvss+/bt43//+x/h4eGEhobSpk0bdu3axXvvvVfoueTkZJ566ikuXbrElClT+PHHH9m2bRtfffUVX3/9NT179iQ6OprXXnut0HNJSUn87W9/Izc3l8DAQH744QfWrVvHzp07eeONN1i1ahWJiYll/vxhYWFkZmZib29Pz549y/x8WSUmJhIb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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot_compare(scope_s2lp, scope_phylomint, 'percentage_similar_biomass', [\"Seed2LP\",\"PhyloMInt\"], \n",
+ " y_label=\"%\\ of biomass reactants\\nreachable from seeds\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 58,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Seed2LP global mean: 100.0 \t PhyloMInt global mean: 85.66711668229544\n"
+ ]
+ },
+ {
+ "data": {
+ "image/png": "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KQA5OTnExsYSGRlJZGQk69ev58MPP8RkMtVwlVUvJyeH9evXM27cuFLb4+LirAH4etq9ezehoaGMHj26ykLwvn37ePTRR7l48SIGgwFvb2+8vLzIysri+PHjHD16lJUrV+Lj40OvXr2qZMzrpaCggKFDh1q/9vLywt/fn+TkZA4cOMCBAwdYsWIFixYtolmzZlU6dqdOnay/GykpKcTHx7NmzRq++eYbXnnlFe66664qHU9ERGqeQrCISB0wduzYYncx8/Pz+fTTT5k7dy7bt2/n888/Z/LkyTVYYdVr1aoVJ06cIDw8vMwQHB4eXqxvbZWRkcG0adO4ePEi/fr1Y+bMmbRs2dLanpuby08//UR4eDgODg41WGnlWCwWXFxcGD9+PGPGjKF169bWtv379/P0008TFxfHU089xfLly6t07HfffRcfHx/r14mJiTz33HPs3r2bkJAQ+vfvb/2ASURE6oa683yciIhY2dvbM2XKFAYOHAjA2rVra7agatC2bVs6duxIVFQUcXFxJdotFgtff/01Dg4ODB8+vAYqrDo//PAD586dw8nJidDQ0GIBGMBkMvGXv/yFefPm0bVr1xqqsvLs7OyIiIjg2WefLRaAAbp168bbb78NwC+//MKRI0eqtZamTZvyzjvv4ODgQG5uLhs3bqzW8URE5PpTCBYRqcNuvfVWoHC+ZWkiIyP5n//5H3r16kW3bt24++672bJlS4l+U6dOxd/fn/nz55c5VmpqKp06daJ9+/blXvTIbDYTHh7OvffeS+/evencuTNBQUHMnj2bhISEq55/++23A7BmzZoSbbt37yYhIYGBAwfi7u5ernr+7PJFxMr7Xvn7+1vnLIeHh1uv4e/vT2BgYIXrADh16hQALVu2xMnJqcLnnz59mldffZWhQ4fStWtXevTowV133cWXX35Jfn5+meelpqYyb948Ro4cSffu3enWrRu33347H330EVlZWWWed+DAAR599FF69+5N9+7dGTNmDKtWrSqzv8FguOL3qEePHtZ537///vvVX/A18vb2tn7QUNbvjoiI1F4KwSIidZjZbAYKQ8blVqxYwYMPPsiRI0fw9fXFwcGB/fv38/jjj7N+/fpifYvmRa5evRqLxVLqWF9//TV5eXkEBAQUe7y0LHl5eTzxxBPMmDGDPXv20KBBA9q2bUtycjJhYWGMHDmy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79/PgQMHKCgooFmzZpW63sSJE+nQoQM7duxg3759JCYm8ttvv2E2m2nUqBG33HILQ4YM4fbbby9xp7Vfv36sX7+exYsXs23bNmJjY8nLy6Nx48b07NmTAQMGEBwcXGLMm2++mbVr17Js2TIiIiI4ceIE8fHxeHp60rlzZ/r06UNwcHCJ8YKDg1m2bBmhoaFERUVx7NgxWrVqxdSpUxk3bhwRERElxsrLy7M+7p2WlnbF1az79u1bZltmZuYV77xX1ePpIiJSuxksV5tkJCIicpkLFy7Qv39/CgoK2Lp1q3UhJREREZEbneYEi4hIha1Zs4a8vDwGDBigACwiIiK1ikKwiIhUSHJyMp988glAja/CLCIiIlJRmhMsIiLl8tprr3HgwAFiYmLIyMigb9++5d6+SERERORGoTvBIiJSLkePHuXnn3/GZDIxevRo5s6dW9MliYiIiFSYFsYSERERERERm6E7wSIiIiIiImIzFIJFRERERETEZigEi4iIiIiIiM1QCBYRERERERGboRAsIiIiIiIiNkMhWERERERERGyGQrCIiIiIiIjYDIVgERERERERsRn/Dyyk4rtz9NmvAAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "plot_compare(scope_s2lp, scope_phylomint, 'percentage_similar', [\"Seed2LP\",\"PhyloMInt\"], \n",
+ " y_label=\"%\\ of GSMN metabolites\\nreachable from seeds\")"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "s2lp",
+ "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.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/notebook/run/09_run_scopes.ipynb b/notebook/run/09_run_scopes.ipynb
index d5931e7..13d6128 100644
--- a/notebook/run/09_run_scopes.ipynb
+++ b/notebook/run/09_run_scopes.ipynb
@@ -174,7 +174,7 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": null,
"metadata": {},
"outputs": [],
"source": [
@@ -191,9 +191,9 @@
" scope_path = path.join(f\"{scope_dir}_{suffix_dir}\",species)\n",
" if (mode==\"Target\" and \"_tgt_\" in filename_solution) \\\n",
" or mode == None:\n",
- " _file_solution_path=path.join(solution_path,filename_solution)\n",
+ " file_solution_path=path.join(solution_path,filename_solution)\n",
"\n",
- " command = f\"scope {sbml_path} {_file_solution_path} {scope_path}\"\n",
+ " command = f\"scope {sbml_path} {file_solution_path} {scope_path}\"\n",
" !seed2lp {command}"
]
},
@@ -58298,16 +58298,11 @@
" - a diretory \"no_accu\" or \"accu\" and in each:\n",
" -1 json file per solutions containing the list of metaoblite in the scope, the size of the scope and the size of all used metabolites in source file (metabolite linked to any reaction are not counted) "
]
- },
- {
- "cell_type": "markdown",
- "metadata": {},
- "source": []
}
],
"metadata": {
"kernelspec": {
- "display_name": "s2lp",
+ "display_name": "test",
"language": "python",
"name": "python3"
},
diff --git a/notebook/run/11_run_cobra.ipynb b/notebook/run/11_run_cobra.ipynb
new file mode 100644
index 0000000..392fd3a
--- /dev/null
+++ b/notebook/run/11_run_cobra.ipynb
@@ -0,0 +1,1675 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# COBRApy: Run"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "This notebook explains how to run both Seed2LP (Target mode, Gues-Check_Diversity, for 10 solutions limited to 45min) and COBRApy, and must be run **AFTER** retrieving BiGG SBML file (see notebook [01_get_sbml_BiGG.ipynb](./01_get_sbml_BiGG.ipynb)) ant getting objective and targets (see notebook [02_get_objectives.ipynb](./02_get_objectives.ipynb) for both). It compute the run for 1 solution and up to 10 solutions for COBRApy, 10 solutions for Seed2LP. It also compute scopes for 10 solutions for both toos and retrieve also computational time for to get 1 solutions and up to ten solutions.\n",
+ "\n",
+ "> Note:\n",
+ ">\n",
+ "> The COBRApy and Seed2LP (seed searching, scopes, supplementary timer data) result files are available: [https://doi.org/10.57745/OS1JND](https://doi.org/10.57745/OS1JND)\n",
+ ">\n",
+ "> After downloadind and unzipping the package, go to \n",
+ "> - COBRApy Seed results + supp timer data to get 1 solution: analyses/results/cobra_1\n",
+ "> - COBRApy Seed results + scopes + supp timer data to get 10 solutions: analyses/results/cobra_10\n",
+ "> - Seed2LP Seed results to get 10 solutions: analyses/results/s2lp_gcd_10_solutions\n",
+ "> - Seed2LP Scopes for 10 solutions: analyses/results/scopes_s2lp_gcd_10_solutions\n",
+ "> - Seed2LP supp timers data for 10 solutions: analyses/results/supp_data/s2lp_gcd_10_solutions_supp_data.tsv"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## **WARNING**\n",
+ "This notebook will run COBRApy for e_coli_core from BiGG for 1 and for 10 seed sets. No time limit is set for COBRApy seed search. After getting solutions, it will run scopes inferred by seed and get computational time. Regarding Seed2LP, the time limit is set to 10 min, and it is run for only *Hybrid-GCDiv*, without accumulation, using subset minimal otptimization.\n",
+ "\n",
+ "In the paper, no time limit is to get COBRApy data, but all networks exceeding 45 min are ignored to compare to Seed2LP 45 min limit. It was run for all 107 networks. Pratical reasons explain this choice: benchmarks were run on a computing cluster, launching tasks in parallel on different nodes.\n",
+ "\n",
+ "To avoid a long time running within the notebook, the notebook will copy e_coli_core in a sbml directory on a path that you can change."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Requirements\n",
+ "Module *Seed2LP* and *COBRApy* needed\n",
+ "\n",
+ "> Advice:\n",
+ "> \n",
+ "> Use a conda env called s2lp with python 3.10 for plafrim cluster scripts\n",
+ "\n",
+ "> Note:\n",
+ "> \n",
+ "> COBRApy is automatically installed with Seed2LP"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!pip install seed2lp"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## **Slurm-based cluster**: Reproducing paper data\n",
+ "Slurm-based scripts for cluster are available for all networks:\n",
+ "- Launch if needed \n",
+ " - [01_job_retrieve_bigg_sbml.sh](../../scripts/plafrim_cluster/01_job_retrieve_bigg_sbml.sh): `sbatch 01_job_retrieve_bigg_sbml.sh`\n",
+ " - [02_job_get_objective.sh](../../scripts/plafrim_cluster/02_job_get_objective.sh): `sbatch 02_job_get_objective.sh`\n",
+ " - or copy your local files into you cluster\n",
+ "- Change **_source_** variable by the path of your conda environement with seed2lp installed in files: \n",
+ " - [11_0_0_execute_workflow_search.sh](../../scripts/plafrim_cluster/11_0_0_execute_workflow_search.sh)\n",
+ " - [11_0_0_job_run_s2lp.sh](../../scripts/plafrim_cluster/11_0_0_job_run_s2lp.sh)\n",
+ " - [11_0_1_job_run_scope_s2lp.sh](../../scripts/plafrim_cluster/11_0_1_job_run_scope_s2lp.sh) \n",
+ " - [11_0_2_job_run_scope_analyse_s2lp.sh](../../scripts/plafrim_cluster/11_0_2_job_run_scope_analyse_s2lp.sh) \n",
+ " - [11_0_3_job_run_scope_analyse_concat.sh](../../scripts/plafrim_cluster/11_0_3_job_run_scope_analyse_concat.sh) \n",
+ " - [11_0_4_job_get_supp_data.sh](../../scripts/plafrim_cluster/11_0_4_job_get_supp_data.sh) \n",
+ " - [11_1_job_cobra_seedsearch_1.sh](../../scripts/plafrim_cluster/11_1_job_cobra_seedsearch_1.sh) \n",
+ " - [11_1_job_cobra_seedsearch_10.sh](../../scripts/plafrim_cluster/11_1_job_cobra_seedsearch_10.sh) \n",
+ " - [11_2_job_cobra_scope.sh](../../scripts/plafrim_cluster/11_2_job_cobra_scope.sh) \n",
+ " - [11_3_job_cobra_scope_analyse.sh](../../scripts/plafrim_cluster/11_3_job_cobra_scope_analyse.sh) \n",
+ " - [11_4_job_cobra_supp_data.sh](../../scripts/plafrim_cluster/11_4_job_cobra_supp_data.sh) \n",
+ "- launch:\n",
+ " - [11_0_0_execute_workflow_search.sh](../../scripts/plafrim_cluster/11_0_0_execute_workflow_search.sh)\n",
+ " - [11_0_0_job_run_s2lp.sh](../../scripts/plafrim_cluster/11_0_0_job_run_s2lp.sh)\n",
+ " - [11_0_1_job_run_scope_s2lp.sh](../../scripts/plafrim_cluster/11_0_1_job_run_scope_s2lp.sh) \n",
+ " - [11_0_2_job_run_scope_analyse_s2lp.sh](../../scripts/plafrim_cluster/11_0_2_job_run_scope_analyse_s2lp.sh) \n",
+ " - [11_0_3_job_run_scope_analyse_concat.sh](../../scripts/plafrim_cluster/11_0_3_job_run_scope_analyse_concat.sh) \n",
+ " - [11_0_4_job_get_supp_data.sh](../../scripts/plafrim_cluster/11_0_4_job_get_supp_data.sh) \n",
+ " - [11_1_job_cobra_seedsearch_1.sh](../../scripts/plafrim_cluster/11_1_job_cobra_seedsearch_1.sh) \n",
+ " - [11_1_job_cobra_seedsearch_10.sh](../../scripts/plafrim_cluster/11_1_job_cobra_seedsearch_10.sh) \n",
+ " - [11_2_job_cobra_scope.sh](../../scripts/plafrim_cluster/11_2_job_cobra_scope.sh) \n",
+ " - [11_3_job_cobra_scope_analyse.sh](../../scripts/plafrim_cluster/11_3_job_cobra_scope_analyse.sh) \n",
+ " - [11_4_job_cobra_supp_data.sh](../../scripts/plafrim_cluster/11_4_job_cobra_supp_data.sh) "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## **LAUNCH**"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Variable to change (if wanted)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "analyse_dir = \"../../analyses\"\n",
+ "data_dir = f\"{analyse_dir}/data/\"\n",
+ "result_dir=f\"{analyse_dir}/results\"\n",
+ "temp_dir = \"../../tmp/\"\n",
+ "\n",
+ "\n",
+ "time_limit = 10 # time limit for Seed2LP\n",
+ "number_solution = 10 # number solutions for Seed2LP"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Execute"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 3,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from os import path, makedirs, listdir\n",
+ "from shutil import copyfile"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 22,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "sbml_dir = f\"{data_dir}/bigg/sbml\"\n",
+ "#e_coli_dir = f\"{data_dir}/bigg/sbml_e_coli_core\"\n",
+ "e_coli_dir = f\"{result_dir}/sbml/sbml_e_coli_core\"\n",
+ "s2LP_result_dir = f\"{result_dir}/s2lp_gcd_10_solutions\"\n",
+ "s2LP_scope_dir = f\"{result_dir}/scopes_s2lp_gcd_10_solutions\"\n",
+ "supp_data_dir = f\"{result_dir}/supp_data\"\n",
+ "cobra_1_result_dir = f\"{result_dir}/cobra_1\"\n",
+ "cobra_1_solution_dir=f\"{cobra_1_result_dir}/seeds_results\"\n",
+ "cobra_1_scope_dir=f\"{cobra_1_result_dir}/scopes\"\n",
+ "cobra_10_result_dir = f\"{result_dir}/cobra_10\"\n",
+ "cobra_10_solution_dir=f\"{cobra_10_result_dir}/seeds_results\"\n",
+ "cobra_10_scope_dir=f\"{cobra_10_result_dir}/scopes\"\n",
+ "objective_dir = f\"{data_dir}/objective\"\n",
+ "target_dir = f\"{data_dir}/target\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "if not path.isdir(e_coli_dir):\n",
+ " makedirs(e_coli_dir)\n",
+ " copyfile(path.join(sbml_dir, \"e_coli_core.xml\"), path.join(e_coli_dir, \"e_coli_core.xml\"))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### **Seed Search**\n",
+ "#### **Seed2LP**"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "This function will execute seed2lp for e_coli_core:\n",
+ "- Target\n",
+ "- subset minimal\n",
+ "- *Hybrid-GCDiv*\n",
+ "- no accumulation\n",
+ "- maximisation (of flux in Objective reaction)\n",
+ "- Limitations: 10 solutions and 10 min\n",
+ "\n",
+ "Also, it will check the flux for each solution and write it into files."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Function"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 84,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def run_s2lp(in_dir:str):\n",
+ " for filename in listdir(in_dir):\n",
+ " species = f'{path.splitext(path.basename(filename))[0]}'\n",
+ " sbml_path = path.join(in_dir,filename)\n",
+ " objective_path = path.join(objective_dir,f\"{species}_target.txt\")\n",
+ " result_path = path.join(s2LP_result_dir,species)\n",
+ "\n",
+ " run={\"target\":f\"-tf {objective_path} -m subsetmin -so guess_check_div\"}\n",
+ "\n",
+ " for key,value in run.items():\n",
+ " command = f\"{key} {sbml_path} {result_path} --temp {temp_dir} -tl {time_limit} -nbs {number_solution} -cf -max {value}\"\n",
+ " !seed2lp {command}"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Run"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "The execution might take more than 30min due to finding minimal solutions and due to *Hybrid-lpx* mode (requires lot of time to calculate fluxes)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 85,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[0;96m\u001b[1m \n",
+ " _ ___ _ \n",
+ " ___ ___ ___ __| | |_ \\ | | _ __ \n",
+ " / __| / _ \\ / _ \\ / _` | ) | | || '_ \\ \n",
+ " \\__ \\| __/| __/| (_| | / /_ | || |_) |\n",
+ " |___/ \\___| \\___| \\__,_| |____| |_|| .__/ \n",
+ " |_| \n",
+ " \u001b[0m\n",
+ "Network name: e_coli_core\n",
+ "\n",
+ "Finding objective ...\n",
+ "\n",
+ "____________________________________________\n",
+ "\n",
+ " TARGETS \n",
+ " FOR TARGET MODE AND FBA \n",
+ "____________________________________________\n",
+ "\n",
+ "Targets set:\n",
+ " Reactant of objective reaction\n",
+ " from target file\n",
+ "\n",
+ "\n",
+ "____________________________________________\n",
+ "\n",
+ " OBJECTVE \n",
+ " FOR HYBRID \n",
+ "____________________________________________\n",
+ "\n",
+ "Objective set:\n",
+ " Objective reaction from target file\n",
+ "\n",
+ "\n",
+ "Objective : R_BIOMASS_Ecoli_core_w_GAM\n",
+ "\n",
+ "\n",
+ "\n",
+ "____________________________________________\n",
+ "\n",
+ " NETWORK \n",
+ "____________________________________________\n",
+ "\n",
+ "Import reaction: Removed\n",
+ "Targets can be seeds: No\n",
+ "Accumulation: Forbidden\n",
+ "\n",
+ "\n",
+ "\u001b[0;93mWARNING : - R_FORt: Reactants and products switched.\n",
+ " Boundaries was: [-1000.0 ; 0.0]\n",
+ "\u001b[0m\n",
+ "\u001b[0;96m\n",
+ "############################################\n",
+ "############################################\n",
+ " \u001b[1mREASONING\u001b[0;96m\n",
+ "############################################\n",
+ "############################################\n",
+ "\u001b[0m\n",
+ "Mode : TARGET\n",
+ "Option: TARGETS ARE FORBIDDEN SEEDS\n",
+ "ACCUMULATION: Forbidden\n",
+ "Time limit: 10.0 minutes\n",
+ "Solution number limit: 10\n",
+ "\u001b[0;94m\n",
+ "____________________________________________\u001b[0m\n",
+ "\u001b[0;94m____________________________________________\n",
+ "\u001b[0m\n",
+ " Sub Mode: \u001b[1mSUBSET MINIMAL\u001b[0m \n",
+ "\u001b[0;94m____________________________________________\u001b[0m\n",
+ "\u001b[0;94m____________________________________________\n",
+ "\u001b[0m\n",
+ "\n",
+ "····· \u001b[1mGuess-Check with diversity mode\u001b[0m ······\n",
+ "\n",
+ "~~~~~~~~~~~~~~~~ \u001b[1mEnumeration\u001b[0m ~~~~~~~~~~~~~~~\n",
+ "SOLVING...\n",
+ "\n",
+ "\u001b[0;96mAnswer: 1\u001b[0m (8 seeds)\n",
+ "M_adp_c, M_gln__L_e, M_h_c, M_mal__L_e, M_nadh_c, M_nadp_c, M_pi_c, M_succoa_c\n",
+ "\n",
+ "\u001b[0;96mAnswer: 2\u001b[0m (8 seeds)\n",
+ "M_adp_c, M_coa_c, M_gln__L_e, M_h_c, M_mal__L_e, M_nadh_c, M_nadp_c, M_pi_c\n",
+ "\n",
+ "\u001b[0;96mAnswer: 3\u001b[0m (8 seeds)\n",
+ "M_adp_c, M_glu__L_e, M_h_c, M_mal__L_e, M_nadh_c, M_nadp_c, M_pi_c, M_succoa_c\n",
+ "\n",
+ "\u001b[0;96mAnswer: 4\u001b[0m (8 seeds)\n",
+ "M_adp_c, M_coa_c, M_glu__L_e, M_h_c, M_mal__L_e, M_nadh_c, M_nadp_c, M_pi_c\n",
+ "\n",
+ "\u001b[0;96mAnswer: 5\u001b[0m (8 seeds)\n",
+ "M_adp_c, M_coa_c, M_h_c, M_mal__L_e, M_nadh_c, M_nadp_c, M_nh4_e, M_pi_c\n",
+ "\n",
+ "\u001b[0;96mAnswer: 6\u001b[0m (8 seeds)\n",
+ "M_adp_c, M_h_c, M_mal__L_e, M_nadh_c, M_nadp_c, M_nh4_e, M_pi_c, M_succoa_c\n",
+ "\n",
+ "\u001b[0;96mAnswer: 7\u001b[0m (8 seeds)\n",
+ "M_actp_c, M_adp_c, M_coa_c, M_h_c, M_mal__L_e, M_nadh_c, M_nadp_c, M_nh4_e\n",
+ "\n",
+ "\u001b[0;96mAnswer: 8\u001b[0m (8 seeds)\n",
+ "M_ac_e, M_adp_c, M_coa_c, M_gln__L_e, M_h_c, M_nadh_c, M_nadp_c, M_pi_c\n",
+ "\n",
+ "\u001b[0;96mAnswer: 9\u001b[0m (7 seeds)\n",
+ "M_actp_c, M_adp_c, M_coa_c, M_gln__L_e, M_h2o_e, M_nadh_c, M_nadp_c\n",
+ "\n",
+ "\u001b[0;96mAnswer: 10\u001b[0m (9 seeds)\n",
+ "M_ac_e, M_adp_c, M_coa_c, M_glx_c, M_h_c, M_nadh_c, M_nadp_c, M_nh4_e, M_pi_c\n",
+ "\n",
+ "Rejected solution during process: 461 \n",
+ "\n",
+ "\n",
+ "TIME DATA EXTRACTION : 0.07s\n",
+ "TIME TOTAL SEED SEARCH: 59.431s\n",
+ "TIME TOTAL : 59.501s\n",
+ "\n",
+ "\n",
+ "\u001b[0;96m\n",
+ "############################################\n",
+ "############################################\n",
+ " \u001b[1mCHECK FLUX\u001b[0;96m\n",
+ "############################################\n",
+ "############################################\n",
+ "\u001b[0m\n",
+ "---------------- FLUX INIT -----------------\n",
+ "\n",
+ "{'BIOMASS_Ecoli_core_w_GAM': 0.8739215069684295}\n",
+ "\n",
+ "\n",
+ "--------------- MEDIUM INIT ----------------\n",
+ "\n",
+ "EX_co2_e -1000.0 1000.0\n",
+ "EX_glc__D_e -10.0 1000.0\n",
+ "EX_h_e -1000.0 1000.0\n",
+ "EX_h2o_e -1000.0 1000.0\n",
+ "EX_nh4_e -1000.0 1000.0\n",
+ "EX_o2_e -1000.0 1000.0\n",
+ "EX_pi_e -1000.0 1000.0\n",
+ "\n",
+ "\n",
+ "---------- STOP IMPORT FLUX -------------\n",
+ "\n",
+ "{'BIOMASS_Ecoli_core_w_GAM': 0.0}\n",
+ "\n",
+ "\n",
+ "\u001b[0;94m\n",
+ "____________________________________________\n",
+ "____________________________________________\n",
+ "\u001b[0m\n",
+ " RESULTS \n",
+ "\u001b[0;94m____________________________________________\n",
+ "____________________________________________\n",
+ "\u001b[0m\n",
+ " \u001b[1m \"Cobra (seeds)\" \u001b[0m indicates the maximum flux \n",
+ "obtained in FBA from the seeds after shutting \n",
+ "off all other exchange reactions. If the maximum \n",
+ "flux is null, a test is performed opening demand \n",
+ "reactions for the objective reaction's products, \n",
+ "in order to test the effect of their accumulation \n",
+ "(\u001b[1m\"cobra (demands)\"\u001b[0m ). If this test is not performed, \n",
+ "\"NA\" value is indicated.\n",
+ "\u001b[0;93m\n",
+ "____________________________________________\n",
+ "____________________________________________\n",
+ "\u001b[0m\n",
+ " Subset Minimal \n",
+ "\u001b[0;93m--------------------------------------------\u001b[0m\n",
+ " REASONING GUESS-CHECK DIVERSITY \n",
+ "\u001b[0;93m . . . . . . . . . . \u001b[0m\n",
+ "name | cobra (seeds) | cobra (demands)\n",
+ "-----|---------------|-----------------\n",
+ "model_1 | \u001b[0;96m7.6132093089297905\u001b[0m | \u001b[0mNA\u001b[0m\n",
+ "model_2 | \u001b[0;96m7.61320930892982\u001b[0m | \u001b[0mNA\u001b[0m\n",
+ "model_3 | \u001b[0;96m7.718756894709091\u001b[0m | \u001b[0mNA\u001b[0m\n",
+ "model_4 | \u001b[0;96m7.718756894709114\u001b[0m | \u001b[0mNA\u001b[0m\n",
+ "model_5 | \u001b[0;96m7.59197315149503\u001b[0m | \u001b[0mNA\u001b[0m\n",
+ "model_6 | \u001b[0;96m7.591973151495022\u001b[0m | \u001b[0mNA\u001b[0m\n",
+ "model_7 | \u001b[0;96m9.933902131755083\u001b[0m | \u001b[0mNA\u001b[0m\n",
+ "model_8 | \u001b[0;96m1.4751626112228235\u001b[0m | \u001b[0mNA\u001b[0m\n",
+ "model_9 | \u001b[0;96m9.866945125890755\u001b[0m | \u001b[0mNA\u001b[0m\n",
+ "model_10 | \u001b[0;96m2.639708376739409\u001b[0m | \u001b[0mNA\u001b[0m\n",
+ "\u001b[0;93m\n",
+ "____________________________________________\n",
+ "\u001b[0m\n"
+ ]
+ }
+ ],
+ "source": [
+ "# \"e_coli_dir\" can be changed by \"sbml_dir\" for all files run\n",
+ "# But not recommanded within notebook\n",
+ "\n",
+ "run_s2lp(e_coli_dir)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### **COBRApy**"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "This function will execute COBRApy for e_coli_core:\n",
+ "- Limitations: 1 solution and 10 solutions"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "if not path.isdir(cobra_1_result_dir):\n",
+ " makedirs(cobra_1_result_dir)\n",
+ "\n",
+ "if not path.isdir(cobra_10_result_dir):\n",
+ " makedirs(cobra_10_result_dir)\n",
+ "\n",
+ "sbml_file=path.join(e_coli_dir,\"e_coli_core.xml\")\n",
+ "objective_file=path.join(objective_dir,\"e_coli_core_target.txt\")\n",
+ "target_file=path.join(target_dir,\"e_coli_core_targets.txt\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "file = \"../../scripts/11_1_cobra_seedsearch.py\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!python {file} {sbml_file} {target_file} {objective_file} {cobra_1_result_dir} {1}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!python {file} {sbml_file} {target_file} {objective_file} {cobra_10_result_dir} {10}"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### **Scopes**"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "This notebook compute scope for e_coli_core:\n",
+ "- Seed2LP results files (up to 10 solutions), Full Network mode, submin, no accumulation, *Reasoning*\n",
+ "- COBRApy results files (1 solution)\n",
+ "- COBRApy results files (up to 10 solution)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Function"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def run_scope(solution_dir:str, scope_dir:str, tool:str=None):\n",
+ " for filename in listdir(e_coli_dir):\n",
+ " species = f'{path.splitext(path.basename(filename))[0]}'\n",
+ " sbml_path = path.join(e_coli_dir,filename)\n",
+ "\n",
+ " dir = list(map(lambda x: x.split('.')[0], listdir(solution_dir)))\n",
+ " if species in dir and tool==\"Seed2LP\":\n",
+ " solution_path=path.join(solution_dir, species)\n",
+ " else:\n",
+ " solution_path=solution_dir\n",
+ " for filename_solution in listdir(solution_path):\n",
+ " if species in filename_solution and \"results.json\" in filename_solution:\n",
+ " scope_path = path.join(f\"{scope_dir}\",species)\n",
+ " file_solution_path=path.join(solution_path,filename_solution)\n",
+ "\n",
+ " command = f\"scope {sbml_path} {file_solution_path} {scope_path}\"\n",
+ " !seed2lp {command}"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Run"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### **Seed2LP**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 105,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[0;96m\u001b[1m \n",
+ " _ ___ _ \n",
+ " ___ ___ ___ __| | |_ \\ | | _ __ \n",
+ " / __| / _ \\ / _ \\ / _` | ) | | || '_ \\ \n",
+ " \\__ \\| __/| __/| (_| | / /_ | || |_) |\n",
+ " |___/ \\___| \\___| \\__,_| |____| |_|| .__/ \n",
+ " |_| \n",
+ " \u001b[0m\n",
+ "Network name: e_coli_core\n",
+ "\n",
+ "Finding objective ...\n",
+ "Objective found for e_coli_core: \u001b[1mR_BIOMASS_Ecoli_core_w_GAM\u001b[0m\n",
+ "____________________________________________\n",
+ "\n",
+ "TARGET\n",
+ "REASONING GUESS-CHECK DIVERSITY\n",
+ "Subset Minimal\n",
+ "model_1\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 68\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n",
+ "TARGET\n",
+ "REASONING GUESS-CHECK DIVERSITY\n",
+ "Subset Minimal\n",
+ "model_2\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 68\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n",
+ "TARGET\n",
+ "REASONING GUESS-CHECK DIVERSITY\n",
+ "Subset Minimal\n",
+ "model_3\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 67\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n",
+ "TARGET\n",
+ "REASONING GUESS-CHECK DIVERSITY\n",
+ "Subset Minimal\n",
+ "model_4\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 67\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n",
+ "TARGET\n",
+ "REASONING GUESS-CHECK DIVERSITY\n",
+ "Subset Minimal\n",
+ "model_5\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 67\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n",
+ "TARGET\n",
+ "REASONING GUESS-CHECK DIVERSITY\n",
+ "Subset Minimal\n",
+ "model_6\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 67\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n",
+ "TARGET\n",
+ "REASONING GUESS-CHECK DIVERSITY\n",
+ "Subset Minimal\n",
+ "model_7\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 67\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n",
+ "TARGET\n",
+ "REASONING GUESS-CHECK DIVERSITY\n",
+ "Subset Minimal\n",
+ "model_8\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 67\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n",
+ "TARGET\n",
+ "REASONING GUESS-CHECK DIVERSITY\n",
+ "Subset Minimal\n",
+ "model_9\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 67\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n",
+ "TARGET\n",
+ "REASONING GUESS-CHECK DIVERSITY\n",
+ "Subset Minimal\n",
+ "model_10\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 66\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "run_scope(s2LP_result_dir, s2LP_scope_dir,\"Seed2LP\")"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### **COBRApy**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 107,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[0;96m\u001b[1m \n",
+ " _ ___ _ \n",
+ " ___ ___ ___ __| | |_ \\ | | _ __ \n",
+ " / __| / _ \\ / _ \\ / _` | ) | | || '_ \\ \n",
+ " \\__ \\| __/| __/| (_| | / /_ | || |_) |\n",
+ " |___/ \\___| \\___| \\__,_| |____| |_|| .__/ \n",
+ " |_| \n",
+ " \u001b[0m\n",
+ "Network name: e_coli_core\n",
+ "\n",
+ "Finding objective ...\n",
+ "Objective found for e_coli_core: \u001b[1mR_BIOMASS_Ecoli_core_w_GAM\u001b[0m\n",
+ "____________________________________________\n",
+ "\n",
+ "COBRAPY\n",
+ "Cobrapy\n",
+ "Other\n",
+ "model_1\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 13\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n",
+ "COBRAPY\n",
+ "Cobrapy\n",
+ "Other\n",
+ "model_2\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 13\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n",
+ "COBRAPY\n",
+ "Cobrapy\n",
+ "Other\n",
+ "model_3\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 13\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n",
+ "COBRAPY\n",
+ "Cobrapy\n",
+ "Other\n",
+ "model_4\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 13\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n",
+ "COBRAPY\n",
+ "Cobrapy\n",
+ "Other\n",
+ "model_5\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 13\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n",
+ "COBRAPY\n",
+ "Cobrapy\n",
+ "Other\n",
+ "model_6\n",
+ "Accumulation: False\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 13\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "run_scope(cobra_10_solution_dir, cobra_10_scope_dir)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### **Scope Analyses**"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Function"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 113,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def run_scope_analyses(sbml_dir:str, scope_dir:str, obj_dir:str,\n",
+ " lev1:list, lev2:list, lev3:list, lev4:list,\n",
+ " is_cobrapy:bool=False):\n",
+ " file = \"../../scripts/10_1_scope_analyse.py\"\n",
+ " for filename in listdir(sbml_dir):\n",
+ " species = f'{path.splitext(path.basename(filename))[0]}'\n",
+ " sbml_path = path.join(sbml_dir, filename)\n",
+ " objective_path = path.join(obj_dir,f\"{species}_target.txt\")\n",
+ " dir = list(map(lambda x: x.split('.')[0], listdir(scope_dir)))\n",
+ " if species in dir:\n",
+ " path_seed=path.join(scope_dir, species, 'sbml')\n",
+ " path_scope=path.join(scope_dir, species, 'scope')\n",
+ " for l1 in lev1:\n",
+ " for l2 in lev2:\n",
+ " for l3 in lev3:\n",
+ " for l4 in lev4:\n",
+ " modes_info = path.join(l1, l2, l3, l4)\n",
+ " full_path_seed = path.join(path_seed, modes_info)\n",
+ " full_path_scope = path.join(path_scope, modes_info)\n",
+ " if is_cobrapy:\n",
+ " modes_info = \"cobrapy\"\n",
+ " if path.isdir(full_path_scope):\n",
+ " command=f\"{species} {sbml_path} {full_path_scope} {full_path_seed} {objective_path} {modes_info}\"\n",
+ " !python {file} {command}"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Run"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### **Seed2LP**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 109,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "list_dir_lev1=[\"target\"]\n",
+ "list_dir_lev2=[\"reasoning_guess_check_diversity\"]\n",
+ "list_dir_lev3=[\"subset_minimal\"]\n",
+ "list_dir_lev4=[\"no_accu\"]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 111,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[0;96m\u001b[1m \n",
+ " _ ___ _ \n",
+ " ___ ___ ___ __| | |_ \\ | | _ __ \n",
+ " / __| / _ \\ / _ \\ / _` | ) | | || '_ \\ \n",
+ " \\__ \\| __/| __/| (_| | / /_ | || |_) |\n",
+ " |___/ \\___| \\___| \\__,_| |____| |_|| .__/ \n",
+ " |_| \n",
+ " \u001b[0m\n"
+ ]
+ }
+ ],
+ "source": [
+ "run_scope_analyses(e_coli_dir, s2LP_scope_dir, objective_dir, list_dir_lev1, list_dir_lev2, list_dir_lev3, list_dir_lev4)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### **COBRApy**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 112,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "list_dir_lev1=[\"cobrapy\"]\n",
+ "list_dir_lev2=[\"cobrapy\"]\n",
+ "list_dir_lev3=[\"other\"]\n",
+ "list_dir_lev4=[\"no_accu\"]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 62,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[0;96m\u001b[1m \n",
+ " _ ___ _ \n",
+ " ___ ___ ___ __| | |_ \\ | | _ __ \n",
+ " / __| / _ \\ / _ \\ / _` | ) | | || '_ \\ \n",
+ " \\__ \\| __/| __/| (_| | / /_ | || |_) |\n",
+ " |___/ \\___| \\___| \\__,_| |____| |_|| .__/ \n",
+ " |_| \n",
+ " \u001b[0m\n"
+ ]
+ }
+ ],
+ "source": [
+ "run_scope_analyses(e_coli_dir, cobra_10_scope_dir, objective_dir, list_dir_lev1, list_dir_lev2, list_dir_lev3, list_dir_lev4)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Get supplementary data for analysis"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Run"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### **Seed2LP**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 18,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[0;96m\u001b[1m \n",
+ " _ ___ _ \n",
+ " ___ ___ ___ __| | |_ \\ | | _ __ \n",
+ " / __| / _ \\ / _ \\ / _` | ) | | || '_ \\ \n",
+ " \\__ \\| __/| __/| (_| | / /_ | || |_) |\n",
+ " |___/ \\___| \\___| \\__,_| |____| |_|| .__/ \n",
+ " |_| \n",
+ " \u001b[0m\n",
+ "/home/cghassem/Projets/seed-2-lp/notebook/run/../../scripts/10_4_get_supp_data.py:152: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " results=pd.concat([results, current_df], ignore_index=True)\n"
+ ]
+ }
+ ],
+ "source": [
+ "file = \"../../scripts/10_4_get_supp_data.py\"\n",
+ "s2lp_command = f\"{file} {s2LP_result_dir} {sbml_dir} {supp_data_dir} 's2lp_gcd_10_solutions'\"\n",
+ "!python {s2lp_command}"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### **COBRApy**"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "/home/cghassem/Projets/seed-2-lp/notebook/run/../../scripts/11_4_get_cobra_supp_data.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " results=pd.concat([results, current_df], ignore_index=True)\n"
+ ]
+ }
+ ],
+ "source": [
+ "file = \"../../scripts/11_4_get_cobra_supp_data.py\"\n",
+ "cobra_command = f\"{file} {cobra_1_solution_dir} {cobra_1_result_dir}\"\n",
+ "!python {cobra_command}"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "/home/cghassem/Projets/seed-2-lp/notebook/run/../../scripts/11_4_get_cobra_supp_data.py:25: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.\n",
+ " results=pd.concat([results, current_df], ignore_index=True)\n"
+ ]
+ }
+ ],
+ "source": [
+ "file = \"../../scripts/11_4_get_cobra_supp_data.py\"\n",
+ "cobra_command = f\"{file} {cobra_10_result_dir} {cobra_10_result_dir}\"\n",
+ "!python {cobra_command}"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "s2lp",
+ "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.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/notebook/run/12_run_phylomint.ipynb b/notebook/run/12_run_phylomint.ipynb
new file mode 100644
index 0000000..4ee1f73
--- /dev/null
+++ b/notebook/run/12_run_phylomint.ipynb
@@ -0,0 +1,509 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# PhyloMInt: Run"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "This notebook explains how to run PhyloMint, and must be run **AFTER** retrieving BiGG SBML file (see notebook [01_get_sbml_BiGG.ipynb](./01_get_sbml_BiGG.ipynb)), getting objective and targets (see notebook [02_get_objectives.ipynb](./02_get_objectives.ipynb) for both). It compute the run for to get the union of seeds inferred by PhyloMInt (no individual set of seeds given).\n",
+ "\n",
+ "> Note:\n",
+ ">\n",
+ "> The PhyloMInt (seed searching, scopes, supplementary data) result files are available: [https://doi.org/10.57745/OS1JND](https://doi.org/10.57745/OS1JND)\n",
+ ">\n",
+ "> After downloadind and unzipping the package, go to \n",
+ "> - PhyloMInt Seed results + scopes + fluxes + supp timer data to get 10 solutions: analyses/results/PhyloMInt"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## **WARNING**\n",
+ "This notebook will run PhyloMInt for e_coli_core from BiGG. No time limit is set for PhyloMInt seed search. After getting solutions, it will run scopes inferred by seed and get computational time. \n",
+ "\n",
+ "In the paper, no time limit is set to get PhyloMInt data. It was run for all 107 networks. \n",
+ "\n",
+ "To avoid a long time running within the notebook, the notebook will copy e_coli_core in a sbml directory on a path that you can change."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Requirements\n",
+ "Module *networkx*\n",
+ "\n",
+ "> Advice:\n",
+ "> \n",
+ "> Use a conda env called s2lp with python 3.10 for plafrim cluster scripts"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!pip install networkx"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## **Slurm-based cluster**: Reproducing paper data\n",
+ "Slurm-based scripts for cluster are available for all networks:\n",
+ "- Launch if needed \n",
+ " - [01_job_retrieve_bigg_sbml.sh](../../scripts/plafrim_cluster/01_job_retrieve_bigg_sbml.sh): `sbatch 01_job_retrieve_bigg_sbml.sh`\n",
+ " - [02_job_get_objective.sh](../../scripts/plafrim_cluster/02_job_get_objective.sh): `sbatch 02_job_get_objective.sh`\n",
+ " - or copy your local files into you cluster\n",
+ "- Change **_source_** variable by the path of your conda environement with seed2lp installed in files: \n",
+ " - [12_1_job_phylomint_seadsearch.sh](../../scripts/plafrim_cluster/12_1_job_phylomint_seadsearch.sh)\n",
+ " - [12_2_job_phylomint_scope_flux.sh](../../scripts/plafrim_cluster/12_2_job_phylomint_scope_flux.sh)\n",
+ " - [12_3_job_phylomint_scope_analyse.sh](../../scripts/plafrim_cluster/12_3_job_phylomint_scope_analyse.sh) \n",
+ "- launch:\n",
+ " - [12_1_job_phylomint_seadsearch.sh](../../scripts/plafrim_cluster/12_1_job_phylomint_seadsearch.sh)\n",
+ " - [12_2_job_phylomint_scope_flux.sh](../../scripts/plafrim_cluster/12_2_job_phylomint_scope_flux.sh)\n",
+ " - [12_3_job_phylomint_scope_analyse.sh](../../scripts/plafrim_cluster/12_3_job_phylomint_scope_analyse.sh)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## **LAUNCH**"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Variable to change (if wanted)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 1,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "analyse_dir = \"../../analyses\"\n",
+ "data_dir = f\"{analyse_dir}/data/\"\n",
+ "#result_dir=f\"{analyse_dir}/results\"\n",
+ "result_dir=f\"../../results\"\n",
+ "temp_dir = \"../../tmp/\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### Execute"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 2,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from os import path, makedirs, listdir\n",
+ "from shutil import copyfile"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "sbml_dir = f\"{data_dir}/bigg/sbml\"\n",
+ "#e_coli_dir = f\"{data_dir}/bigg/sbml_e_coli_core\"\n",
+ "e_coli_dir = f\"{result_dir}/sbml/sbml_e_coli_core\"\n",
+ "phylomint_result_dir = f\"{result_dir}/phylomint\"\n",
+ "phylomint_solution_dir=f\"{phylomint_result_dir}/seeds_results\"\n",
+ "phylomint_flux_dir=f\"{phylomint_result_dir}/fluxes\"\n",
+ "phylomint_scope_dir=f\"{phylomint_result_dir}/scopes\"\n",
+ "objective_dir = f\"{data_dir}/objective\"\n",
+ "target_dir = f\"{data_dir}/target\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "if not path.isdir(e_coli_dir):\n",
+ " makedirs(e_coli_dir)\n",
+ " copyfile(path.join(sbml_dir, \"e_coli_core.xml\"), path.join(e_coli_dir, \"e_coli_core.xml\"))"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Function"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "This function will execute the original seed search source code extracted from PhyloMInt and the corrected code including reversible reaction into the graph for e_coli_core"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 4,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "if not path.isdir(phylomint_result_dir):\n",
+ " makedirs(phylomint_result_dir)\n",
+ "\n",
+ "sbml_file=path.join(e_coli_dir,\"e_coli_core.xml\")\n",
+ "objective_file=path.join(objective_dir,\"e_coli_core_target.txt\")\n",
+ "target_file=path.join(target_dir,\"e_coli_core_targets.txt\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "file = \"../../scripts/12_1_phylomint_seedsearch.py\""
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 12,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "!python {file} {sbml_file} {objective_file} {phylomint_result_dir}"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### **Scopes and fluxes**"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "This notebook compute scope for e_coli_core:\n",
+ "- PhyloMInt results files "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Function"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def run_scope_flux(solution_dir:str, flux_dir:str, scope_dir:str):\n",
+ " for filename in listdir(e_coli_dir):\n",
+ " species = f'{path.splitext(path.basename(filename))[0]}'\n",
+ " sbml_path = path.join(e_coli_dir,filename)\n",
+ "\n",
+ " solution_path=solution_dir\n",
+ " for filename_solution in listdir(solution_path):\n",
+ " if species in filename_solution and \"results.json\" in filename_solution:\n",
+ " flux_path = path.join(f\"{flux_dir}\",species)\n",
+ " scope_path = path.join(f\"{scope_dir}\",species)\n",
+ " file_solution_path=path.join(solution_path,filename_solution)\n",
+ "\n",
+ " command_flux = f\"flux {sbml_path} {file_solution_path} {flux_path}\"\n",
+ " command_scope = f\"scope {sbml_path} {file_solution_path} {scope_path}\"\n",
+ " !seed2lp {command_flux}\n",
+ " !seed2lp {command_scope}"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Run"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[0;96m\u001b[1m \n",
+ " _ ___ _ \n",
+ " ___ ___ ___ __| | |_ \\ | | _ __ \n",
+ " / __| / _ \\ / _ \\ / _` | ) | | || '_ \\ \n",
+ " \\__ \\| __/| __/| (_| | / /_ | || |_) |\n",
+ " |___/ \\___| \\___| \\__,_| |____| |_|| .__/ \n",
+ " |_| \n",
+ " \u001b[0m\n",
+ "Network name: e_coli_core\n",
+ "\n",
+ "Finding objective ...\n",
+ "____________________________________________\n",
+ "\n",
+ "\u001b[0;96m\n",
+ "############################################\n",
+ "############################################\n",
+ " \u001b[1mCHECK FLUX\u001b[0;96m\n",
+ "############################################\n",
+ "############################################\n",
+ "\u001b[0m\n",
+ "---------------- FLUX INIT -----------------\n",
+ "\n",
+ "{'BIOMASS_Ecoli_core_w_GAM': 0.8739215069684295}\n",
+ "\n",
+ "\n",
+ "--------------- MEDIUM INIT ----------------\n",
+ "\n",
+ "EX_co2_e -1000.0 1000.0\n",
+ "EX_glc__D_e -10.0 1000.0\n",
+ "EX_h_e -1000.0 1000.0\n",
+ "EX_h2o_e -1000.0 1000.0\n",
+ "EX_nh4_e -1000.0 1000.0\n",
+ "EX_o2_e -1000.0 1000.0\n",
+ "EX_pi_e -1000.0 1000.0\n",
+ "\n",
+ "\n",
+ "---------- STOP IMPORT FLUX -------------\n",
+ "\n",
+ "{'BIOMASS_Ecoli_core_w_GAM': 0.0}\n",
+ "\n",
+ "\n",
+ "\u001b[0;94m\n",
+ "____________________________________________\n",
+ "____________________________________________\n",
+ "\u001b[0m\n",
+ " RESULTS \n",
+ "\u001b[0;94m____________________________________________\n",
+ "____________________________________________\n",
+ "\u001b[0m\n",
+ " \u001b[1m \"Cobra (seeds)\" \u001b[0m indicates the maximum flux \n",
+ "obtained in FBA from the seeds after shutting \n",
+ "off all other exchange reactions. If the maximum \n",
+ "flux is null, a test is performed opening demand \n",
+ "reactions for the objective reaction's products, \n",
+ "in order to test the effect of their accumulation \n",
+ "(\u001b[1m\"cobra (demands)\"\u001b[0m ). If this test is not performed, \n",
+ "\"NA\" value is indicated.\n",
+ "\u001b[0;93m\n",
+ "____________________________________________\n",
+ "____________________________________________\n",
+ "\u001b[0m\n",
+ " Minimize \n",
+ "\u001b[0;93m--------------------------------------------\u001b[0m\n",
+ " Phylomint \n",
+ "\u001b[0;93m . . . . . . . . . . \u001b[0m\n",
+ "name | cobra (seeds) | cobra (demands)\n",
+ "-----|---------------|-----------------\n",
+ "model_1 | \u001b[0;96m56.43229894170623\u001b[0m | \u001b[0mNA\u001b[0m\n",
+ "\u001b[0;93m\n",
+ "____________________________________________\n",
+ "\u001b[0m\n",
+ "\u001b[0;96m\u001b[1m \n",
+ " _ ___ _ \n",
+ " ___ ___ ___ __| | |_ \\ | | _ __ \n",
+ " / __| / _ \\ / _ \\ / _` | ) | | || '_ \\ \n",
+ " \\__ \\| __/| __/| (_| | / /_ | || |_) |\n",
+ " |___/ \\___| \\___| \\__,_| |____| |_|| .__/ \n",
+ " |_| \n",
+ " \u001b[0m\n",
+ "Network name: e_coli_core\n",
+ "\n",
+ "Finding objective ...\n",
+ "Objective found for e_coli_core: \u001b[1mR_BIOMASS_Ecoli_core_w_GAM\u001b[0m\n",
+ "____________________________________________\n",
+ "\n",
+ "PHYLOMINT\n",
+ "Phylomint\n",
+ "Minimize\n",
+ "model_1\n",
+ "Accumulation: True\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_ac_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_acald_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_akg_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_co2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_etoh_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_for_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fru_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_fum_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glc__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_gln__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_glu__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_h2o_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_lac__D_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_mal__L_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_nh4_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_o2_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pi_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_pyr_e listOfProducts=None\u001b[0m\n",
+ "\u001b[0;93mWARNING : \n",
+ " Warning: R_EX_succ_e listOfProducts=None\u001b[0m\n",
+ "size of scope 49\n",
+ "size of all metabolites 72 \n",
+ "\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "run_scope_flux(phylomint_solution_dir, phylomint_flux_dir, phylomint_scope_dir)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "### **Scope Analyses**"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Function"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def run_scope_analyses(sbml_dir:str, scope_dir:str, obj_dir:str,\n",
+ " lev1:list, lev2:list, lev3:list, lev4:list,\n",
+ " is_cobrapy:bool=False):\n",
+ " file = \"../../scripts/10_1_scope_analyse.py\"\n",
+ " for filename in listdir(sbml_dir):\n",
+ " species = f'{path.splitext(path.basename(filename))[0]}'\n",
+ " sbml_path = path.join(sbml_dir, filename)\n",
+ " objective_path = path.join(obj_dir,f\"{species}_target.txt\")\n",
+ " dir = list(map(lambda x: x.split('.')[0], listdir(scope_dir)))\n",
+ " if species in dir:\n",
+ " path_seed=path.join(scope_dir, species, 'sbml')\n",
+ " path_scope=path.join(scope_dir, species, 'scope')\n",
+ " for l1 in lev1:\n",
+ " for l2 in lev2:\n",
+ " for l3 in lev3:\n",
+ " for l4 in lev4:\n",
+ " modes_info = path.join(l1, l2, l3, l4)\n",
+ " full_path_seed = path.join(path_seed, modes_info)\n",
+ " full_path_scope = path.join(path_scope, modes_info)\n",
+ " if is_cobrapy:\n",
+ " modes_info = \"cobrapy\"\n",
+ " if path.isdir(full_path_scope):\n",
+ " command=f\"{species} {sbml_path} {full_path_scope} {full_path_seed} {objective_path} {modes_info}\"\n",
+ " !python {file} {command}"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### Run"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "list_dir_lev1=[\"phylomint\"]\n",
+ "list_dir_lev2=[\"phylomint\"]\n",
+ "list_dir_lev3=[\"minimize\"]\n",
+ "list_dir_lev4=[\"accu\"]"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "\u001b[0;96m\u001b[1m \n",
+ " _ ___ _ \n",
+ " ___ ___ ___ __| | |_ \\ | | _ __ \n",
+ " / __| / _ \\ / _ \\ / _` | ) | | || '_ \\ \n",
+ " \\__ \\| __/| __/| (_| | / /_ | || |_) |\n",
+ " |___/ \\___| \\___| \\__,_| |____| |_|| .__/ \n",
+ " |_| \n",
+ " \u001b[0m\n"
+ ]
+ }
+ ],
+ "source": [
+ "run_scope_analyses(e_coli_dir, phylomint_scope_dir, objective_dir, list_dir_lev1, list_dir_lev2, list_dir_lev3, list_dir_lev4)"
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "s2lp",
+ "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.11.9"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 2
+}
diff --git a/scripts/10_1_scope_analyse.py b/scripts/10_1_scope_analyse.py
index c89da58..e1622f0 100644
--- a/scripts/10_1_scope_analyse.py
+++ b/scripts/10_1_scope_analyse.py
@@ -37,6 +37,14 @@ def trim(meta):
run = mode = "netseed"
optim = "submin"
accu = True
+ elif modes_info == "cobrapy":
+ run = mode = "cobrapy"
+ optim = "minimize"
+ accu = True
+ elif modes_info == "phylomint":
+ run = mode = "phylomint"
+ optim = "submin"
+ accu = True
else:
#'run','mode','optim', accu
modes_split = modes_info.split("/")
@@ -55,7 +63,7 @@ def trim(meta):
net = tree.getroot()
model = sbml.get_model(net)
- species_set = sbml.get_used_metabolites(sbml_file, False)
+ species_set = sbml.get_used_metabolites(sbml_file)
with open(objective_file) as fd:
objective = fd.readline()
@@ -126,6 +134,7 @@ def trim(meta):
'model':'str',
'is_equal_union_species':'bool',
'missing':'str',
+ 'percentage_missing':'float',
'is_biomass_included':'bool',
'missing_biomass':'str',
'percentage_missing_biomass':'float',
@@ -149,13 +158,14 @@ def trim(meta):
# Loop into all solutions of a specie
for filename in os.listdir(species_scope_dir):
+ if "_compare.tsv" in filename:
+ continue
scope_file = os.path.join(species_scope_dir, filename)
model_name=os.path.splitext(filename)[0]
# Get Scope
f = open(scope_file)
scope = json.load(f)
-
scope_set = set(scope['scope'])
# Get Seeds
diff --git a/scripts/10_3_iCN718_metabolite_analyses.py b/scripts/10_3_iCN718_metabolite_analyses.py
index 15376b3..bc2cc66 100644
--- a/scripts/10_3_iCN718_metabolite_analyses.py
+++ b/scripts/10_3_iCN718_metabolite_analyses.py
@@ -16,7 +16,7 @@
sbml_file_path = argv[2]
out_dir = argv[3]
- species_set = sbml.get_used_metabolites(sbml_file_path, False)
+ species_set = sbml.get_used_metabolites(sbml_file_path)
df_count = pd.DataFrame(0,columns=["nb_reasoning", "nb_filter", "nb_gc", "nb_gcd"], index = list(species_set))
diff --git a/scripts/11_1_cobra_seedsearch.py b/scripts/11_1_cobra_seedsearch.py
new file mode 100644
index 0000000..68f9f5c
--- /dev/null
+++ b/scripts/11_1_cobra_seedsearch.py
@@ -0,0 +1,157 @@
+from sys import argv
+from os import path,makedirs
+import cobra
+import pandas
+import json
+from time import time
+
+def seed_searching(sbml_file, target_file, objective_file, nb_solutions, output_dir):
+ max_growth = 0.1
+
+ species = f'{path.splitext(path.basename(sbml_file))[0]}'
+
+ o_file = open(objective_file, "r")
+ objective = o_file.read()
+
+
+ results=dict()
+ solutions=dict()
+ options=dict()
+ net=dict()
+ enumeration=dict()
+ tool_enum=dict()
+ tool_result=dict()
+
+ options['REACTION'] = "All metabolite as exchange reaction"
+ #Netseed or Precursor doesn't take into account the accumulation, by default its allowed
+ options['ACCUMULATION'] = "NA"
+ options['FLUX'] = "has flux (= 0,1)"
+ results["OPTIONS"] = options
+
+ net["NAME"] = species
+ net["SEARCH_MODE"] = "Cobrapy"
+ net["OBJECTIVE"] = [objective]
+ net["SOLVE"] = "Cobrapy"
+ results["NETWORK"] = net
+
+
+ model=cobra.io.read_sbml_model(sbml_file)
+ model.objective = objective.replace("R_","")
+
+
+ # Get forbidden metabolites as seed from targets
+ t_file = open(target_file, "r")
+ data = t_file.read()
+ targets_list = data.split("\n")
+
+ for meta in model.metabolites:
+ if meta.compartment != "e":
+ meta_name = str(meta).rsplit("_",1)[0]
+ #simulate target are forbiden seeds
+ if f"M_{str(meta)}" in targets_list:
+ continue
+ #simulate that all metabolite can be a seed
+ meta_name_ex=f"{meta_name}_e"
+ metabolite_exchange = cobra.Metabolite(id=meta_name_ex,name=meta_name_ex, compartment="e")
+ model.add_metabolites([metabolite_exchange])
+ reaction_name=f"EX_{meta_name_ex}"
+
+ try:
+ # create the exchange reaction
+ model.add_boundary(metabolite=metabolite_exchange,
+ type='exchange',
+ ub=float(1000),
+ lb=float(-1000))
+
+ # add transport reaction for newly created exchange reaction
+ id_transport_reaction = f"TR_{meta_name_ex}"
+ reaction = cobra.Reaction(id_transport_reaction)
+ reaction.lower_bound = -1000.
+ reaction.upper_bound = 1000.
+ reactant = metabolite_exchange
+ procuct = meta
+ reaction.add_metabolites({
+ reactant: -1.0,
+ procuct: 1.0
+ })
+ model.add_reactions([reaction])
+ except:
+ # The reaction already exist
+ # transport reaction not needed to be added
+ reaction = model.reactions.get_by_id(reaction_name)
+ if reaction.lower_bound > 0:
+ reaction.lower_bound = float(-1000)
+ reaction.upper_bound = float(1000)
+ else:
+ reaction.upper_bound = float(1000)
+ reaction.lower_bound = float(-1000)
+
+
+ # Find solutions by minimising the components
+ # will give up to "nb_solutions" model into a dataframe
+ time_search = time()
+ min_components = cobra.medium.minimal_medium(model, max_growth, minimize_components=nb_solutions)
+ time_search = time() - time_search
+ time_search=round(time_search, 3)
+ # When return a serie, there is only one solution
+ if type(min_components) == pandas.core.series.Series:
+ seeds = list()
+ for indx, _ in min_components.items():
+ seeds.append(indx.replace("EX_", "M_", 1) )
+ sol=[
+ "size",
+ len(seeds),
+ "Set of seeds",
+ seeds
+ ]
+ solutions["model_1"]=sol
+ else :
+ min_components = min_components.T
+ min_components.columns = [c.replace("EX_", "M_", 1) for c in list(min_components.columns)]
+ min_components = min_components.replace(0, None)
+
+ #create the solutions in a seed2lp format
+ solutions_df = min_components.notna().dot(min_components.columns+',').str.rstrip(',')
+ for index,solu in solutions_df.items():
+ seeds = solu.split(',')
+ sol=[
+ "size",
+ len(seeds),
+ "Set of seeds",
+ seeds
+ ]
+ solutions[f"model_{index+1}"]=sol
+
+
+ enumeration['solutions']=solutions
+ enumeration['time']=time_search
+ tool_enum['ENUMERATION']=enumeration
+
+ tool_result["Cobrapy"]=tool_enum
+ results['RESULTS']=tool_result
+
+ #save results
+ result_dir = path.join(output_dir,"seeds_results")
+ if not path.isdir(result_dir):
+ makedirs(result_dir)
+
+ result_path = path.join(result_dir,f"{species}_results.json")
+ with open(result_path, 'w') as f:
+ json.dump(results, f, indent="\t")
+
+
+
+
+
+
+if __name__ == '__main__':
+ # User data
+ sbml_file = argv[1]
+ target_file = argv[2]
+ objective_file = argv[3]
+ output_dir=argv[4]
+ nb_solutions=argv[5]
+
+ seed_searching(sbml_file, target_file, objective_file, int(nb_solutions), output_dir)
+
+ # check if targets are in scope, get time
\ No newline at end of file
diff --git a/scripts/11_4_get_cobra_supp_data.py b/scripts/11_4_get_cobra_supp_data.py
new file mode 100644
index 0000000..abf5bb7
--- /dev/null
+++ b/scripts/11_4_get_cobra_supp_data.py
@@ -0,0 +1,45 @@
+import sys
+import json
+import pathlib
+import pandas as pd
+
+
+
+def get_datas(directory, results):
+ for filepath in directory.rglob('*_results.json'):
+ # Opening JSON file
+ result = open(filepath)
+ # returns JSON object as
+ # a dictionary
+ data = json.load(result)
+ organism = data['NETWORK']["NAME"]
+ size = data['RESULTS']["Cobrapy"]['ENUMERATION']['solutions']['model_1'][1]
+ time = data['RESULTS']["Cobrapy"]['ENUMERATION']['time']
+
+
+ list_data = [[organism, time, size]]
+
+ current_df = pd.DataFrame(list_data,
+ columns=['network', 'time', 'size'])
+
+ results=pd.concat([results, current_df], ignore_index=True)
+ result.close()
+ return results
+
+
+
+if __name__ == '__main__':
+ solutions_dir_path = sys.argv[1]
+ result_dir_path = sys.argv[2]
+
+ results = pd.DataFrame(columns=['network', 'time'])
+
+
+ results_dir = pathlib.Path(solutions_dir_path)
+
+ results = get_datas(results_dir, results)
+
+ results.to_csv(f'{result_dir_path}/cobra_supp_data.tsv', index=True, sep ='\t')
+
+
+
\ No newline at end of file
diff --git a/scripts/12_1_phylomint_seedsearch.py b/scripts/12_1_phylomint_seedsearch.py
new file mode 100644
index 0000000..5df3baa
--- /dev/null
+++ b/scripts/12_1_phylomint_seedsearch.py
@@ -0,0 +1,211 @@
+#!/usr/bin/env python3
+from libsbml import readSBML
+import networkx as nx
+from sys import argv
+from os import path, makedirs
+import json
+from time import time
+
+###################################################
+#################### PHYLOMINT ####################
+###################################################
+# This part of code is an extract of phylomint
+# except for duplicate boole option and the duplication
+# of reversible reactions
+def buildDG(sbml, duplicate:bool=False, only_rev:bool=False):
+ '''
+ Usage: reads SBML file, parses reaction and product list
+ Returns: networkx directed graph
+ '''
+
+ # initate empty directed graph
+ DG = nx.DiGraph()
+
+ document = readSBML(sbml)
+ model = document.getModel()
+
+ # get reactions
+ rxn = (model.getListOfReactions())
+
+ # get reaction and product and construct directed graph
+ for r in rxn:
+ react = [i.getSpecies() for i in r.getListOfReactants()]
+ prod = [j.getSpecies() for j in r.getListOfProducts()]
+ for rt in react:
+ for p in prod:
+ DG.add_edge(rt,p)
+
+
+ ###################################################
+ ################### ADDED CODE ####################
+ ###################################################
+ # Add a reverse reaction into graph (NOT from initial code)
+ # because we used the normalized sbml, we can refer to reversible
+ if duplicate or (only_rev and r.reversible):
+ react = [i.getSpecies() for i in r.getListOfProducts()]
+ prod = [j.getSpecies() for j in r.getListOfReactants()]
+ for rt in react:
+ for p in prod:
+ DG.add_edge(rt,p)
+ ###################################################
+
+ return DG
+
+def getSeedSet(DG, maxComponentSize = 5):
+ '''
+ Usage: takes input networkX directed graph
+ Returns: SeedSet dictionary{seedset:confidence score}
+ Implementation follows literature description,
+ Improves upon NetCooperate module implementation which erroneously discards certian cases of SCCs (where a smaller potential SCC lies within a larger SCC)
+ '''
+
+ # get SCC
+ SCC = nx.strongly_connected_components(DG)
+
+ SeedSetConfidence = dict()
+
+ for cc in SCC:
+ # convert set to list
+ cc_temp = list(cc)
+
+ # filter out CC larger than threshold
+ if len(cc_temp) > maxComponentSize:
+ continue
+
+ # check single element SCC
+ elif len(cc_temp) == 1:
+ if DG.in_degree(cc_temp[0]) == 0:
+ SeedSetConfidence[cc_temp[0]] = 1.0
+
+ # check 2 to max threshold SCC
+ else:
+ #check if no out nodes
+ for node in cc_temp:
+ # check every edge of SCC
+ for edge in DG.in_edges(node):
+ # if SCC is not self contained, then it is not considered seed set
+ if edge[0] not in cc_temp:
+ cc_temp = []
+ for node in cc_temp:
+ SeedSetConfidence[node] = 1/len(cc_temp)
+
+ SeedSet = SeedSetConfidence.keys()
+
+ nonSeedSet = list(set(DG.nodes()) - set(SeedSet))
+
+ return(SeedSetConfidence, SeedSet, nonSeedSet)
+
+###################################################
+###################################################
+
+
+
+def write_into_json_file(seeds, objective,time_search,duplicate:bool=False,only_rev:bool=False):
+ results=dict()
+ solutions=dict()
+ options=dict()
+ net=dict()
+ enumeration=dict()
+ tool_enum=dict()
+ tool_result=dict()
+ sol=dict()
+
+
+ options['REACTION'] = "Remove Import Reaction"
+ #Netseed or Precursor doesn't take into account the accumulation, by default its allowed
+ options['ACCUMULATION'] = "Allowed"
+ options['FLUX'] = "NA"
+ results["OPTIONS"] = options
+
+ net["NAME"] = species
+ net["SEARCH_MODE"] = "Phylomint"
+ net["OBJECTIVE"] = [objective]
+ net["SOLVE"] = "Phylomint"
+ results["NETWORK"] = net
+ sol=[
+ "size",
+ len(seeds),
+ "Set of seeds",
+ seeds
+ ]
+ solutions[f"model_1"]=sol
+
+
+ enumeration['solutions']=solutions
+ enumeration['time']=time_search
+ tool_enum['MINIMIZE ENUMERATION']=enumeration
+
+ tool_result["Phylomint"]=tool_enum
+ results['RESULTS']=tool_result
+
+
+ supp=""
+ if duplicate:
+ supp="_duplicate"
+ if only_rev:
+ supp="_duplicate_rev"
+ #save results
+ result_dir = path.join(f"{output_dir}{supp}","seeds_results")
+ if not path.isdir(result_dir):
+ makedirs(result_dir)
+
+ result_path = path.join(f"{result_dir}",f"{species}{supp}_results.json")
+ with open(result_path, 'w') as f:
+ json.dump(results, f, indent="\t")
+
+
+
+def export_dg(DG, species, output_dir, duplicate:bool=False,only_rev:bool=False):
+ pos = nx.nx_agraph.graphviz_layout(DG)
+ nx.draw(DG, pos=pos)
+ file_name = species
+ if duplicate:
+ file_name += "_duplicate"
+ if only_rev:
+ file_name += "_duplicate_rev"
+ file_name += ".dot"
+ nx.drawing.nx_pydot.write_dot(DG, path.join(output_dir,file_name))
+
+
+
+if __name__ == '__main__':
+ sbml_file = argv[1]
+ objective_file = argv[2]
+ output_dir = argv[3]
+
+ species = f'{path.splitext(path.basename(sbml_file))[0]}'
+
+ ########### PHYLOMINT ###########
+ DG=buildDG(sbml_file)
+ #DG_duplicate=buildDG(sbml_file, True, False)
+ DG_duplicate_rev=buildDG(sbml_file, False, True)
+
+ # export DG en .dot et pareil pour netseed et voir difference
+ #export_dg(DG, species, output_dir)
+ #export_dg(DG_duplicate, species, output_dir, True)
+
+ # Calculate the seed sets
+ # maxComponentSize : Maximum number of nodes in a strongly connected component (SCC) to consider in SeedSet. (default = 5)
+ time_search = time()
+ _, SeedSet, _ = getSeedSet(DG, maxComponentSize=5)
+ time_search = time() - time_search
+ time_search=round(time_search, 3)
+
+ #time_search_duplicate = time()
+ #_, SeedSet_duplicate, _ = getSeedSet(DG_duplicate, maxComponentSize=5)
+ #time_search_duplicate = time() - time_search_duplicate
+ #time_search_duplicate=round(time_search_duplicate, 3)
+
+ time_search_duplicate_rev = time()
+ _, SeedSet_duplicate_rev, _ = getSeedSet(DG_duplicate_rev, maxComponentSize=5)
+ time_search_duplicate_rev = time() - time_search_duplicate_rev
+ time_search_duplicate_rev=round(time_search_duplicate_rev, 3)
+ #################################
+
+
+ o_file = open(objective_file, "r")
+ objective = o_file.read()
+ write_into_json_file(list(SeedSet), objective, time_search)
+ #write_into_json_file(list(SeedSet_duplicate), objective, time_search_duplicate, True, False)
+ write_into_json_file(list(SeedSet_duplicate_rev), objective, time_search_duplicate_rev, False, True)
+
diff --git a/scripts/slurm_cluster/01_job_retrieve_bigg_sbml.sh b/scripts/slurm_cluster/01_job_retrieve_bigg_sbml.sh
index 26be632..98c1a45 100755
--- a/scripts/slurm_cluster/01_job_retrieve_bigg_sbml.sh
+++ b/scripts/slurm_cluster/01_job_retrieve_bigg_sbml.sh
@@ -12,7 +12,7 @@
source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-RESULT_DIR="../../data/"
+RESULT_DIR="../../analyses/data/"
# Cluster
python ../01_retrieve_bigg_sbml.py $RESULT_DIR
diff --git a/scripts/slurm_cluster/02_01_job_get_objective.sh b/scripts/slurm_cluster/02_01_job_get_objective.sh
index 0edd7a6..a98cd4a 100755
--- a/scripts/slurm_cluster/02_01_job_get_objective.sh
+++ b/scripts/slurm_cluster/02_01_job_get_objective.sh
@@ -12,7 +12,7 @@
source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
SBML_DIR="${DATA_DIR}/bigg/sbml"
OBJECTIVE_DIR="${DATA_DIR}/objective"
diff --git a/scripts/slurm_cluster/02_02_job_get_targets.sh b/scripts/slurm_cluster/02_02_job_get_targets.sh
index 43e9e1e..5f3cc4f 100755
--- a/scripts/slurm_cluster/02_02_job_get_targets.sh
+++ b/scripts/slurm_cluster/02_02_job_get_targets.sh
@@ -13,10 +13,10 @@
source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
SBML_DIR="${DATA_DIR}/bigg/sbml"
OBJECTIVE_DIR="${DATA_DIR}/objective"
TARGET_DIR="${DATA_DIR}/target"
# Cluster
-sbattch ../02_02_get_targets.sh -s $SBML_DIR -o $OBJECTIVE_DIR -t $TARGET_DIR
+sbatch ./02_02_get_targets.sh -s $SBML_DIR -o $OBJECTIVE_DIR -t $TARGET_DIR
\ No newline at end of file
diff --git a/scripts/slurm_cluster/03_01_execute_workflow_search.sh b/scripts/slurm_cluster/03_01_execute_workflow_search.sh
index 7a24865..2d1ae9d 100755
--- a/scripts/slurm_cluster/03_01_execute_workflow_search.sh
+++ b/scripts/slurm_cluster/03_01_execute_workflow_search.sh
@@ -13,7 +13,7 @@ source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
# Cluster
-FILE="03_01_job_run_s2lp"
+FILE="03_01_job_run_s2lp.sh"
###### EXECUTE FULL NETWORK #######
### ALL ###
# Accumulation Forbidden
diff --git a/scripts/slurm_cluster/03_01_job_run_s2lp.sh b/scripts/slurm_cluster/03_01_job_run_s2lp.sh
index db47fcc..48c5f4f 100755
--- a/scripts/slurm_cluster/03_01_job_run_s2lp.sh
+++ b/scripts/slurm_cluster/03_01_job_run_s2lp.sh
@@ -17,13 +17,13 @@ source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
-S2LP_RESULT_DIR="../../results/s2lp"
+DATA_DIR="../../analyses/data"
+S2LP_RESULT_DIR="../../analyses/results/s2lp"
SBML_DIR="${DATA_DIR}/bigg/sbml"
OBJECTIVE_DIR="${DATA_DIR}/objective"
TEMP_DIR="../../tmp/"
-while getopts c:m:a:s: flag
+while getopts c:m:n:a:s:: flag
do
case "${flag}" in
c) COMMAND=${OPTARG};;
@@ -32,6 +32,13 @@ do
MAXIMIZATION=${OPTARG}
fi
;;
+ n)
+ if [[ ! -z ${OPTARG} ]]; then
+ NUMBER_SOLUTION=${OPTARG}
+ else
+ NUMBER_SOLUTION=1000
+ fi
+ ;;
a)
if [[ ! -z ${OPTARG} ]]; then
ACCUMULATION=${OPTARG}
@@ -49,6 +56,9 @@ OPTION=""
if [[ ! -z ${MAXIMIZATION} ]]; then
OPTION="-m m"
fi
+if [[ ! -z ${NUMBER_SOLUTION} ]]; then
+ OPTION="${OPTION} -n $NUMBER_SOLUTION"
+fi
if [[ ! -z ${ACCUMULATION} ]]; then
OPTION="${OPTION} -a a"
fi
diff --git a/scripts/slurm_cluster/03_02_job_run_s2lp_exclusive.sh b/scripts/slurm_cluster/03_02_job_run_s2lp_exclusive.sh
index f44a26d..cfa3899 100755
--- a/scripts/slurm_cluster/03_02_job_run_s2lp_exclusive.sh
+++ b/scripts/slurm_cluster/03_02_job_run_s2lp_exclusive.sh
@@ -18,8 +18,8 @@ source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
-S2LP_RESULT_DIR="../../results/s2lp"
+DATA_DIR="../../analyses/data"
+S2LP_RESULT_DIR="../../analyses/results/s2lp"
SBML_DIR="${DATA_DIR}/bigg/sbml"
OBJECTIVE_DIR="${DATA_DIR}/objective"
TEMP_DIR="../../tmp/"
diff --git a/scripts/slurm_cluster/03_run_s2lp.sh b/scripts/slurm_cluster/03_run_s2lp.sh
index bb2fc2f..36a59df 100755
--- a/scripts/slurm_cluster/03_run_s2lp.sh
+++ b/scripts/slurm_cluster/03_run_s2lp.sh
@@ -1,7 +1,7 @@
#!/bin/bash
# Get arguments
-while getopts i:r:c:t:o:m:a:s: flag
+while getopts i:r:c:t:o:m:n:a:s:z: flag
do
case "${flag}" in
i) IN_DIRECTORY=${OPTARG};;
@@ -35,6 +35,11 @@ do
SOLVE=${OPTARG}
fi
;;
+ z)
+ if [[ ! -z ${OPTARG} ]]; then
+ OPTIMISATION=${OPTARG}
+ fi
+ ;;
*) echo "Invalid OPTION" && exit 1;;
esac
done
@@ -79,6 +84,10 @@ if [[ ! -z ${SOLVE} ]]; then
OPTION="${OPTION} -so ${SOLVE}"
fi
+if [[ ! -z ${OPTIMISATION} ]]; then
+ OPTION="${OPTION} -m ${OPTIMISATION}"
+fi
+
seed2lp $COMMAND "$IN_DIRECTORY/$CURRENT_FILE" \
"$FULL_PATH" \
--temp $TEMP \
diff --git a/scripts/slurm_cluster/04_job_run_sbml_normalisation.sh b/scripts/slurm_cluster/04_job_run_sbml_normalisation.sh
index 948555d..beb4542 100755
--- a/scripts/slurm_cluster/04_job_run_sbml_normalisation.sh
+++ b/scripts/slurm_cluster/04_job_run_sbml_normalisation.sh
@@ -14,7 +14,7 @@
source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
SBML_DIR="${DATA_DIR}/bigg/sbml"
NORM_SBML_DIR="${DATA_DIR}/sbml_corrected"
diff --git a/scripts/slurm_cluster/05_1_job_run_n2pcomp_netseed.sh b/scripts/slurm_cluster/05_1_job_run_n2pcomp_netseed.sh
index f3bd42a..b270b47 100755
--- a/scripts/slurm_cluster/05_1_job_run_n2pcomp_netseed.sh
+++ b/scripts/slurm_cluster/05_1_job_run_n2pcomp_netseed.sh
@@ -16,10 +16,10 @@
source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
NORM_SBML_DIR="${DATA_DIR}/sbml_corrected"
N2PCOMP_DIR="../../N2PComp"
-NETSEED_RESULT_DIR="../../results/netseed"
+NETSEED_RESULT_DIR="../../analyses/results/netseed"
TOOL="NETSEED"
./05_1_run_n2pcom.sh -i $NORM_SBML_DIR -n $N2PCOMP_DIR -r $NETSEED_RESULT_DIR -t $TOOL
diff --git a/scripts/slurm_cluster/05_2_job_format_netseed_results.sh b/scripts/slurm_cluster/05_2_job_format_netseed_results.sh
index be51a74..5e93dcc 100755
--- a/scripts/slurm_cluster/05_2_job_format_netseed_results.sh
+++ b/scripts/slurm_cluster/05_2_job_format_netseed_results.sh
@@ -14,12 +14,12 @@
source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
OBJECTIVE_DIR="${DATA_DIR}/objective"
SBML_DIR="${DATA_DIR}/bigg/sbml"
-RESULT_DIR="../../results"
+RESULT_DIR="../../analyses/results"
NETSEED_RESULT_DIR="${RESULT_DIR}/netseed"
NETSEED_FORM_RESULT_DIR="${RESULT_DIR}/netseed_formated_results"
TOOL="NETSEED"
-./05_2_results.sh -i $NETSEED_RESULT_DIR -r $NETSEED_FORM_RESULT_DIR -o $OBJECTIVE_DIR -s $SBML_DIR $TOOL
+./05_2_format_results.sh -i $NETSEED_RESULT_DIR -r $NETSEED_FORM_RESULT_DIR -o $OBJECTIVE_DIR -s $SBML_DIR $TOOL
diff --git a/scripts/slurm_cluster/06_1_job_run_n2pcomp_precursor.sh b/scripts/slurm_cluster/06_1_job_run_n2pcomp_precursor.sh
index 248fbe0..70055b2 100755
--- a/scripts/slurm_cluster/06_1_job_run_n2pcomp_precursor.sh
+++ b/scripts/slurm_cluster/06_1_job_run_n2pcomp_precursor.sh
@@ -16,10 +16,10 @@
source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
NORM_SBML_DIR="${DATA_DIR}/sbml_corrected"
N2PCOMP_DIR="../../N2PComp"
-PRECURSOR_RESULT_DIR="../../results/precursor"
+PRECURSOR_RESULT_DIR="../../analyses/results/precursor"
TOOL="PRECURSOR"
./05_1_run_n2pcom.sh -d $DATA_DIR -i $NORM_SBML_DIR -n $N2PCOMP_DIR -r $PRECURSOR_RESULT_DIR -t $TOOL
diff --git a/scripts/slurm_cluster/06_2_job_format_precursor_results.sh b/scripts/slurm_cluster/06_2_job_format_precursor_results.sh
index a960284..a609824 100755
--- a/scripts/slurm_cluster/06_2_job_format_precursor_results.sh
+++ b/scripts/slurm_cluster/06_2_job_format_precursor_results.sh
@@ -14,10 +14,10 @@
source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
OBJECTIVE_DIR="${DATA_DIR}/objective"
SBML_DIR="${DATA_DIR}/bigg/sbml"
-RESULT_DIR="../../results"
+RESULT_DIR="../../analyses/results"
NETSEED_RESULT_DIR="${RESULT_DIR}/precursor"
NETSEED_FORM_RESULT_DIR="${RESULT_DIR}/precursor_formated_results"
TOOL="PRECURSOR"
diff --git a/scripts/slurm_cluster/07_job_run_s2lp_iCN718.sh b/scripts/slurm_cluster/07_job_run_s2lp_iCN718.sh
index 2bc3d8a..5aa8caa 100755
--- a/scripts/slurm_cluster/07_job_run_s2lp_iCN718.sh
+++ b/scripts/slurm_cluster/07_job_run_s2lp_iCN718.sh
@@ -15,8 +15,8 @@ source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
########## SERVER ##########
-DATA_DIR="../../data"
-RESULT_DIR="../../results/iCN718_2000"
+DATA_DIR="../../analyses/data"
+RESULT_DIR="../../analyses/results/iCN718_2000"
SBML_DIR="${DATA_DIR}/bigg/sbml"
OBJECTIVE_DIR="${DATA_DIR}/objective"
TEMP_DIR="../../tmp/"
diff --git a/scripts/slurm_cluster/08_job_run_s2lp_one_solution.sh b/scripts/slurm_cluster/08_job_run_s2lp_one_solution.sh
index a0ee4a5..1b38100 100755
--- a/scripts/slurm_cluster/08_job_run_s2lp_one_solution.sh
+++ b/scripts/slurm_cluster/08_job_run_s2lp_one_solution.sh
@@ -17,8 +17,8 @@ source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
-S2LP_RESULT_DIR="../../results/one_solution"
+DATA_DIR="../../analyses/data"
+S2LP_RESULT_DIR="../../analyses/results/one_solution"
SBML_DIR="${DATA_DIR}/bigg/sbml"
OBJECTIVE_DIR="${DATA_DIR}/objective"
TEMP_DIR="../../tmp/"
diff --git a/scripts/slurm_cluster/09_job_run_scope_iCN718.sh b/scripts/slurm_cluster/09_job_run_scope_iCN718.sh
index 8f3eddf..b3de183 100755
--- a/scripts/slurm_cluster/09_job_run_scope_iCN718.sh
+++ b/scripts/slurm_cluster/09_job_run_scope_iCN718.sh
@@ -14,9 +14,9 @@ source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
NORM_SBML_DIR="${DATA_DIR}/sbml_corrected"
-RESULT_DIR="../../results"
+RESULT_DIR="../../analyses/results"
SOLUTION_DIR="$RESULT_DIR/iCN718"
SCOPE_DIR="$RESULT_DIR/scopes_iCN718"
$SPECIES="iCN718"
diff --git a/scripts/slurm_cluster/09_job_run_scope_netseed.sh b/scripts/slurm_cluster/09_job_run_scope_netseed.sh
index 8a1f478..06f601f 100755
--- a/scripts/slurm_cluster/09_job_run_scope_netseed.sh
+++ b/scripts/slurm_cluster/09_job_run_scope_netseed.sh
@@ -14,9 +14,9 @@ source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
NORM_SBML_DIR="${DATA_DIR}/sbml_corrected"
-RESULT_DIR="../../results"
+RESULT_DIR="../../analyses/results"
SOLUTION_DIR="$RESULT_DIR/netseed_formated_results"
SCOPE_DIR="$RESULT_DIR/scopes_netseed"
diff --git a/scripts/slurm_cluster/09_job_run_scope_s2lp.sh b/scripts/slurm_cluster/09_job_run_scope_s2lp.sh
index 984c8b1..12fed5d 100755
--- a/scripts/slurm_cluster/09_job_run_scope_s2lp.sh
+++ b/scripts/slurm_cluster/09_job_run_scope_s2lp.sh
@@ -14,9 +14,9 @@ source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
NORM_SBML_DIR="${DATA_DIR}/sbml_corrected"
-RESULT_DIR="../../results"
+RESULT_DIR="../../analyses/results"
SOLUTION_DIR="$RESULT_DIR/s2lp"
SCOPE_DIR="$RESULT_DIR/scopes_s2lp"
diff --git a/scripts/slurm_cluster/10_1_job_run_scope_analyse_iCN718.sh b/scripts/slurm_cluster/10_1_job_run_scope_analyse_iCN718.sh
index 292ec38..78a1827 100755
--- a/scripts/slurm_cluster/10_1_job_run_scope_analyse_iCN718.sh
+++ b/scripts/slurm_cluster/10_1_job_run_scope_analyse_iCN718.sh
@@ -13,10 +13,10 @@
source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
OBJECTIVE_DIR="${DATA_DIR}/objective"
SBML_DIR="${DATA_DIR}/bigg/sbml"
-RESULT_DIR="../../results"
+RESULT_DIR="../../analyses/results"
SCOPE_DIR="$RESULT_DIR/scopes_iCN718"
$SPECIES="iCN718"
@@ -26,7 +26,7 @@ LIST_DIR_LEV2=("reasoning" "reasoning_filter" "reasoning_guess_check" "reasoning
LIST_DIR_LEV3=("subset_minimal")
LIST_DIR_LEV4=("no_accu")
-./10_01_run_scope_analyse.sh -r $SCOPE_DIR -s $SBML_DIR -o $OBJECTIVE_DIR \
+./10_1_run_scope_analyse.sh -r $SCOPE_DIR -s $SBML_DIR -o $OBJECTIVE_DIR \
-a $LIST_DIR_LEV1 -b $LIST_DIR_LEV2 -c $LIST_DIR_LEV3 -d $LIST_DIR_LEV4 \
-n $SPECIES
diff --git a/scripts/slurm_cluster/10_1_job_run_scope_analyse_netseed.sh b/scripts/slurm_cluster/10_1_job_run_scope_analyse_netseed.sh
index c613682..66f7969 100755
--- a/scripts/slurm_cluster/10_1_job_run_scope_analyse_netseed.sh
+++ b/scripts/slurm_cluster/10_1_job_run_scope_analyse_netseed.sh
@@ -14,10 +14,10 @@
source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
OBJECTIVE_DIR="${DATA_DIR}/objective"
SBML_DIR="${DATA_DIR}/bigg/sbml"
-RESULT_DIR="../../results"
+RESULT_DIR="../../analyses/results"
SCOPE_DIR="$RESULT_DIR/scopes_netseed"
@@ -26,5 +26,5 @@ LIST_DIR_LEV2=("netseed")
LIST_DIR_LEV3=("other")
LIST_DIR_LEV4=("accu")
-./10_01_run_scope_analyse.sh -r $SCOPE_DIR -s $SBML_DIR -o $OBJECTIVE_DIR \
+./10_1_run_scope_analyse.sh -r $SCOPE_DIR -s $SBML_DIR -o $OBJECTIVE_DIR \
-a $LIST_DIR_LEV1 -b $LIST_DIR_LEV2 -c $LIST_DIR_LEV3 -d $LIST_DIR_LEV4
\ No newline at end of file
diff --git a/scripts/slurm_cluster/10_1_job_run_scope_analyse_s2lp.sh b/scripts/slurm_cluster/10_1_job_run_scope_analyse_s2lp.sh
index 6277d43..a9ca08f 100755
--- a/scripts/slurm_cluster/10_1_job_run_scope_analyse_s2lp.sh
+++ b/scripts/slurm_cluster/10_1_job_run_scope_analyse_s2lp.sh
@@ -8,16 +8,16 @@
#SBATCH --mail-user=chabname.ghassemi-nedjad@inria.fr #Receive email on this adress when the job is begin,over,or fail
#SBATCH --mail-type=END,FAIL #Define what we want to receive by email about the job statut
#SBATCH --exclude=arm01
-#SBATCH --array=1-107%55 #108 networks
+#SBATCH --array=1-107%55 #107 networks
source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
OBJECTIVE_DIR="${DATA_DIR}/objective"
SBML_DIR="${DATA_DIR}/bigg/sbml"
-RESULT_DIR="../../results"
+RESULT_DIR="../../analyses/results"
SCOPE_DIR="$RESULT_DIR/scopes_s2lp"
@@ -26,5 +26,5 @@ LIST_DIR_LEV2=("reasoning" "reasoning_filter" "reasoning_guess_check" "reasoning
LIST_DIR_LEV3=("minimize" "subset_minimal")
LIST_DIR_LEV4=("accu" "no_accu")
-./10_01_run_scope_analyse.sh -r $SCOPE_DIR -s $SBML_DIR -o $OBJECTIVE_DIR \
+./10_1_run_scope_analyse.sh -r $SCOPE_DIR -s $SBML_DIR -o $OBJECTIVE_DIR \
-a $LIST_DIR_LEV1 -b $LIST_DIR_LEV2 -c $LIST_DIR_LEV3 -d $LIST_DIR_LEV4
\ No newline at end of file
diff --git a/scripts/slurm_cluster/10_2_job_run_scope_analyse_concat.sh b/scripts/slurm_cluster/10_2_job_run_scope_analyse_concat.sh
index 66acdb8..020b8cd 100755
--- a/scripts/slurm_cluster/10_2_job_run_scope_analyse_concat.sh
+++ b/scripts/slurm_cluster/10_2_job_run_scope_analyse_concat.sh
@@ -15,7 +15,7 @@ source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate seed2lp
-RESULT_DIR="../../results"
+RESULT_DIR="../../analyses/results"
S2LP_SCOPE_DIR="$RESULT_DIR/scopes_s2lp"
NETSEED_SCOPE_DIR="$RESULT_DIR/scopes_netseed"
ICN718_SCOPE_DIR="$RESULT_DIR/scopes_iCN718"
diff --git a/scripts/slurm_cluster/10_3_job_iCN718_metabolite_analysis.sh b/scripts/slurm_cluster/10_3_job_iCN718_metabolite_analysis.sh
index 4c89ab3..3e2614b 100755
--- a/scripts/slurm_cluster/10_3_job_iCN718_metabolite_analysis.sh
+++ b/scripts/slurm_cluster/10_3_job_iCN718_metabolite_analysis.sh
@@ -12,11 +12,11 @@
source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
SBML_DIR="${DATA_DIR}/bigg/sbml"
SPECIES="iCN718"
SBML_FILE="${SBML_DIR}/${SPECIES}.xml"
-RESULT_DIR="../../results"
+RESULT_DIR="../../analyses/results"
SPECIES_RESULT_DIR="$RESULT_DIR/${SPECIES}/${SPECIES}"
OUT_DIR="${RESULT_DIR}/metabolites_${SPECIES}"
diff --git a/scripts/slurm_cluster/10_4_job_get_supp_data.sh b/scripts/slurm_cluster/10_4_job_get_supp_data.sh
index 19eff1e..47d9267 100755
--- a/scripts/slurm_cluster/10_4_job_get_supp_data.sh
+++ b/scripts/slurm_cluster/10_4_job_get_supp_data.sh
@@ -15,9 +15,9 @@
source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
NORM_SBML_DIR="${DATA_DIR}/sbml_corrected"
-RESULT_DIR="../../results"
+RESULT_DIR="../../analyses/results"
S2LP_RESULT_DIR="${RESULT_DIR}/s2lp"
iCN718_RESULT_DIR="${RESULT_DIR}/iCN718"
ONESOL_RESULT_DIR="${RESULT_DIR}/one_solution"
diff --git a/scripts/slurm_cluster/10_5_job_get_iCN718_exchange.sh b/scripts/slurm_cluster/10_5_job_get_iCN718_exchange.sh
index cd00f2b..400ed8e 100755
--- a/scripts/slurm_cluster/10_5_job_get_iCN718_exchange.sh
+++ b/scripts/slurm_cluster/10_5_job_get_iCN718_exchange.sh
@@ -15,11 +15,11 @@
source /home/cghassem/miniconda3/etc/profile.d/conda.sh
conda activate s2lp
-DATA_DIR="../../data"
+DATA_DIR="../../analyses/data"
SBML_DIR="${DATA_DIR}/bigg/sbml"
SPECIES="iCN718"
SBML_FILE="${SBML_DIR}/${SPECIES}.xml"
-RESULT_DIR="../../results"
+RESULT_DIR="../../analyses/results"
OUT_DIR="${RESULT_DIR}/metabolites_${SPECIES}"
# SERVER
diff --git a/scripts/slurm_cluster/11_0_0_execute_workflow_search.sh b/scripts/slurm_cluster/11_0_0_execute_workflow_search.sh
new file mode 100755
index 0000000..1869ed1
--- /dev/null
+++ b/scripts/slurm_cluster/11_0_0_execute_workflow_search.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+#SBATCH --job-name=job_s2lp # Job name
+#SBATCH --output=../output/workflow/s2lp-%A_%a.out
+#SBATCH -e ../error/workflow/s2lp-%A_%a.err
+#SBATCH --mem-per-cpu=10gb
+#SBATCH --ntasks-per-node=1 #Number of tasks per node
+#SBATCH --time=72:00:00 # Time limit hrs:min:sec
+#SBATCH --mail-user=chabname.ghassemi-nedjad@inria.fr #Receive email on this adress when the job is begin,over,or fail
+#SBATCH --mail-type=END,FAIL #Define what we want to receive by email about the job statut
+#SBATCH --exclude=arm01
+
+source /home/cghassem/miniconda3/etc/profile.d/conda.sh
+conda activate s2lp
+
+# Cluster
+FILE="11_0_0_job_run_s2lp.sh"
+
+########## EXECUTE TARGET ##########
+
+### SPECIFIC ###
+sbatch $FILE -c target -m m -s guess_check_div -n 10
+###################################
diff --git a/scripts/slurm_cluster/11_0_0_job_run_s2lp.sh b/scripts/slurm_cluster/11_0_0_job_run_s2lp.sh
new file mode 100755
index 0000000..91d356d
--- /dev/null
+++ b/scripts/slurm_cluster/11_0_0_job_run_s2lp.sh
@@ -0,0 +1,66 @@
+#!/bin/bash
+#SBATCH --job-name=job_s2lp # Job name
+#SBATCH --output=../output/s2lp/s2lp-%A_%a.out
+#SBATCH -e ../error/s2lp/s2lp-%A_%a.err
+#SBATCH --cpus-per-task=1 #Request that ncpus be allocated per process.
+
+#SBATCH -C zonda
+#SBATCH --ntasks-per-node=1 #Number of tasks per node
+#SBATCH --time=72:00:00 # Time limit hrs:min:sec
+#SBATCH --mail-user=chabname.ghassemi-nedjad@inria.fr #Receive email on this adress when the job is begin,over,or fail
+#SBATCH --mail-type=END,FAIL #Define what we want to receive by email about the job statut
+#SBATCH --exclude=arm01
+#SBATCH --array=1-107%50 #108 networks
+
+
+source /home/cghassem/miniconda3/etc/profile.d/conda.sh
+conda activate s2lp
+
+
+DATA_DIR="../../analyses/data"
+S2LP_RESULT_DIR="../../analyses/results/s2lp_gcd_10_solutions"
+SBML_DIR="${DATA_DIR}/bigg/sbml"
+OBJECTIVE_DIR="${DATA_DIR}/objective"
+TEMP_DIR="../../tmp/"
+
+while getopts c:m:n:s:: flag
+do
+ case "${flag}" in
+ c) COMMAND=${OPTARG};;
+ m)
+ if [[ ! -z ${OPTARG} ]]; then
+ MAXIMIZATION=${OPTARG}
+ fi
+ ;;
+ n)
+ if [[ ! -z ${OPTARG} ]]; then
+ NUMBER_SOLUTION=${OPTARG}
+ else
+ NUMBER_SOLUTION=1000
+ fi
+ ;;
+ s)
+ if [[ ! -z ${OPTARG} ]]; then
+ SOLVE=${OPTARG}
+ fi
+ ;;
+ esac
+done
+
+OPTION=""
+if [[ ! -z ${MAXIMIZATION} ]]; then
+ OPTION="-m m"
+fi
+if [[ ! -z ${NUMBER_SOLUTION} ]]; then
+ OPTION="${OPTION} -n $NUMBER_SOLUTION"
+fi
+
+if [[ ! -z ${SOLVE} ]]; then
+ OPTION="${OPTION} -s ${SOLVE}"
+fi
+
+OPTION="${OPTION} -z subsetmin"
+########### ALL SBML source in RESULTS dir ###########
+
+./03_run_s2lp.sh -i $SBML_DIR -r $S2LP_RESULT_DIR \
+ -c $COMMAND -t $TEMP_DIR -o $OBJECTIVE_DIR $OPTION
\ No newline at end of file
diff --git a/scripts/slurm_cluster/11_0_1_job_run_scope_s2lp.sh b/scripts/slurm_cluster/11_0_1_job_run_scope_s2lp.sh
new file mode 100755
index 0000000..614de3f
--- /dev/null
+++ b/scripts/slurm_cluster/11_0_1_job_run_scope_s2lp.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+#SBATCH --job-name=job_scope_s2lp # Job name
+#SBATCH --output=../output/scope_s2lp/scope_s2lp-%A_%a.out
+#SBATCH -e ../error/scope_s2lp/scope_s2lp-%A_%a.err
+#SBATCH --cpus-per-task=1 #Request that ncpus be allocated per process.
+#SBATCH --ntasks-per-node=1 #Number of tasks per node
+#SBATCH --time=24:00:00 # Time limit hrs:min:sec
+#SBATCH --mail-user=chabname.ghassemi-nedjad@inria.fr #Receive email on this adress when the job is begin,over,or fail
+#SBATCH --mail-type=END,FAIL #Define what we want to receive by email about the job statut
+#SBATCH --exclude=arm01
+#SBATCH --array=1-107%25 #107 networks
+
+source /home/cghassem/miniconda3/etc/profile.d/conda.sh
+conda activate s2lp
+
+
+DATA_DIR="../../analyses/data"
+NORM_SBML_DIR="${DATA_DIR}/sbml_corrected"
+RESULT_DIR="../../analyses/results"
+SOLUTION_DIR="$RESULT_DIR/s2lp_gcd_10_solutions"
+SCOPE_DIR="$RESULT_DIR/scopes_s2lp_gcd_10_solutions"
+
+
+
+./09_run_scope.sh -i $SOLUTION_DIR -s $SCOPE_DIR -n $NORM_SBML_DIR
\ No newline at end of file
diff --git a/scripts/slurm_cluster/11_0_2_job_run_scope_analyse_s2lp.sh b/scripts/slurm_cluster/11_0_2_job_run_scope_analyse_s2lp.sh
new file mode 100755
index 0000000..3910882
--- /dev/null
+++ b/scripts/slurm_cluster/11_0_2_job_run_scope_analyse_s2lp.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+#SBATCH --job-name=job_scope_s2lp # Job name
+#SBATCH --output=../output/scope_s2lp/scope_s2lp-%A_%a.out
+#SBATCH -e ../error/scope_s2lp/scope_s2lp-%A_%a.err
+#SBATCH --cpus-per-task=1 #Request that ncpus be allocated per process.
+#SBATCH --ntasks-per-node=1 #Number of tasks per node
+#SBATCH --time=24:00:00 # Time limit hrs:min:sec
+#SBATCH --mail-user=chabname.ghassemi-nedjad@inria.fr #Receive email on this adress when the job is begin,over,or fail
+#SBATCH --mail-type=END,FAIL #Define what we want to receive by email about the job statut
+#SBATCH --exclude=arm01
+#SBATCH --array=1-107%55 #107 networks
+
+
+source /home/cghassem/miniconda3/etc/profile.d/conda.sh
+conda activate s2lp
+
+DATA_DIR="../../analyses/data"
+OBJECTIVE_DIR="${DATA_DIR}/objective"
+SBML_DIR="${DATA_DIR}/bigg/sbml"
+RESULT_DIR="../../analyses/results"
+SCOPE_DIR="$RESULT_DIR/scopes_s2lp_gcd_10_solutions"
+
+
+LIST_DIR_LEV1=("target")
+LIST_DIR_LEV2=("reasoning_guess_check_diversity")
+LIST_DIR_LEV3=("subset_minimal")
+LIST_DIR_LEV4=("no_accu")
+
+./10_1_run_scope_analyse.sh -r $SCOPE_DIR -s $SBML_DIR -o $OBJECTIVE_DIR \
+ -a $LIST_DIR_LEV1 -b $LIST_DIR_LEV2 -c $LIST_DIR_LEV3 -d $LIST_DIR_LEV4
\ No newline at end of file
diff --git a/scripts/slurm_cluster/11_0_3_job_run_scope_analyse_concat.sh b/scripts/slurm_cluster/11_0_3_job_run_scope_analyse_concat.sh
new file mode 100755
index 0000000..47dd9c8
--- /dev/null
+++ b/scripts/slurm_cluster/11_0_3_job_run_scope_analyse_concat.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+#SBATCH --job-name=job_scope_s2lp # Job name
+#SBATCH --output=../output/scope_s2lp/scope_s2lp-%A_%a.out
+#SBATCH -e ../error/scope_s2lp/scope_s2lp-%A_%a.err
+#SBATCH --cpus-per-task=1 #Request that ncpus be allocated per process.
+#SBATCH --ntasks-per-node=1 #Number of tasks per node
+#SBATCH --time=24:00:00 # Time limit hrs:min:sec
+#SBATCH --mail-user=chabname.ghassemi-nedjad@inria.fr #Receive email on this adress when the job is begin,over,or fail
+#SBATCH --mail-type=END,FAIL #Define what we want to receive by email about the job statut
+#SBATCH --exclude=arm01
+
+
+
+source /home/cghassem/miniconda3/etc/profile.d/conda.sh
+conda activate seed2lp
+
+
+RESULT_DIR="../../analyses/results"
+SCOPE_DIR="$RESULT_DIR/scopes_s2lp_gcd_10_solutions"
+
+./10_2_run_scope_analyse_concat.sh -r $SCOPE_DIR
diff --git a/scripts/slurm_cluster/11_0_4_job_get_supp_data.sh b/scripts/slurm_cluster/11_0_4_job_get_supp_data.sh
new file mode 100755
index 0000000..3fca730
--- /dev/null
+++ b/scripts/slurm_cluster/11_0_4_job_get_supp_data.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+#SBATCH --job-name=job_timers # Job name
+#SBATCH --output=../output/timers/timers-%A_%a.out
+#SBATCH -e ../error/timers/timers-%A_%a.err
+#SBATCH #SBATCH --nodes=1 #Number of nodes
+#SBATCH --cpus-per-task=1 #Request that ncpus be allocated per process.
+#SBATCH --mem-per-cpu=10gb
+#SBATCH --ntasks-per-node=1 #Number of tasks per node
+#SBATCH --time=10:00:00 # Time limit hrs:min:sec
+#SBATCH --mail-user=chabname.ghassemi-nedjad@inria.fr #Receive email on this adress when the job is begin,over,or fail
+#SBATCH --mail-type=END,FAIL #Define what we want to receive by email about the job statut
+#SBATCH --exclude=arm01
+
+
+source /home/cghassem/miniconda3/etc/profile.d/conda.sh
+conda activate s2lp
+
+DATA_DIR="../../analyses/data"
+NORM_SBML_DIR="${DATA_DIR}/sbml_corrected"
+RESULT_DIR="../../analyses/results"
+TENSOL_RESULT_DIR="${RESULT_DIR}/s2lp_gcd_10_solutions"
+OUT_DIR="${RESULT_DIR}/supp_data"
+FILE="../10_4_get_supp_data.py"
+
+
+# SERVER
+python $FILE $TENSOL_RESULT_DIR $NORM_SBML_DIR $OUT_DIR "s2lp_gcd_10_solutions"
diff --git a/scripts/slurm_cluster/11_1_job_cobra_seedsearch_1.sh b/scripts/slurm_cluster/11_1_job_cobra_seedsearch_1.sh
new file mode 100755
index 0000000..5c2f9e6
--- /dev/null
+++ b/scripts/slurm_cluster/11_1_job_cobra_seedsearch_1.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+#SBATCH --job-name=job_cobra # Job name
+#SBATCH --output=../output/cobra/cobra-%A_%a.out
+#SBATCH -e ../error/cobra/cobra-%A_%a.err
+#SBATCH --cpus-per-task=1 #Request that ncpus be allocated per process.
+#SBATCH --ntasks-per-node=1 #Number of tasks per node
+#SBATCH --time=72:00:00 # Time limit hrs:min:sec
+#SBATCH --mail-user=chabname.ghassemi-nedjad@inria.fr #Receive email on this adress when the job is begin,over,or fail
+#SBATCH --mail-type=END,FAIL #Define what we want to receive by email about the job statut
+#SBATCH --exclude=arm01
+
+
+source /home/cghassem/miniconda3/etc/profile.d/conda.sh
+conda activate s2lp
+
+DATA_DIR="../../analyses/data"
+OBJECTIVE_DIR="${DATA_DIR}/objective"
+TARGET_DIR="${DATA_DIR}/target"
+SBML_DIR="${DATA_DIR}/bigg/sbml"
+
+######################################
+############ ONE SOLUTION ############
+######################################
+NB_SOLUTION=1
+NUM="_$NB_SOLUTION"
+RESULT_DIR="../../analyses/results/cobra$NUM"
+
+./11_1_run_cobra_seedsearch.sh -s $SBML_DIR -o $OBJECTIVE_DIR -t $TARGET_DIR -r $RESULT_DIR -n $NB_SOLUTION
+######################################
diff --git a/scripts/slurm_cluster/11_1_job_cobra_seedsearch_10.sh b/scripts/slurm_cluster/11_1_job_cobra_seedsearch_10.sh
new file mode 100644
index 0000000..8d97271
--- /dev/null
+++ b/scripts/slurm_cluster/11_1_job_cobra_seedsearch_10.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+#SBATCH --job-name=job_cobra # Job name
+#SBATCH --output=../output/cobra/cobra-%A_%a.out
+#SBATCH -e ../error/cobra/cobra-%A_%a.err
+#SBATCH --cpus-per-task=1 #Request that ncpus be allocated per process.
+#SBATCH --ntasks-per-node=1 #Number of tasks per node
+#SBATCH --time=72:00:00 # Time limit hrs:min:sec
+#SBATCH --mail-user=chabname.ghassemi-nedjad@inria.fr #Receive email on this adress when the job is begin,over,or fail
+#SBATCH --mail-type=END,FAIL #Define what we want to receive by email about the job statut
+#SBATCH --exclude=arm01
+
+
+source /home/cghassem/miniconda3/etc/profile.d/conda.sh
+conda activate s2lp
+
+DATA_DIR="../../analyses/data"
+OBJECTIVE_DIR="${DATA_DIR}/objective"
+TARGET_DIR="${DATA_DIR}/target"
+SBML_DIR="${DATA_DIR}/bigg/sbml"
+
+
+######################################
+########### TEN SOLUTIONS ############
+######################################
+NB_SOLUTION=10
+NUM="_$NB_SOLUTION"
+RESULT_DIR="../../analyses/results/cobra$NUM"
+
+./11_1_run_cobra_seedsearch.sh -s $SBML_DIR -o $OBJECTIVE_DIR -t $TARGET_DIR -r $RESULT_DIR -n $NB_SOLUTION
+######################################
\ No newline at end of file
diff --git a/scripts/slurm_cluster/11_1_run_cobra_seedsearch.sh b/scripts/slurm_cluster/11_1_run_cobra_seedsearch.sh
new file mode 100755
index 0000000..0d44265
--- /dev/null
+++ b/scripts/slurm_cluster/11_1_run_cobra_seedsearch.sh
@@ -0,0 +1,25 @@
+#!/bin/bash
+
+# Get arguments
+while getopts s:o:t:r:n: flag
+do
+ case "${flag}" in
+ s) SBML_DIR=${OPTARG};;
+ o) OBJECTIVE_DIR=${OPTARG};;
+ t) TARGET_DIR=${OPTARG};;
+ r) RESULT_DIR=${OPTARG};;
+ n) NB_SOLUTION=${OPTARG};;
+ *) echo "Invalid OPTION" && exit 1;;
+ esac
+done
+
+
+for file in $(find "$SBML_DIR"/ -maxdepth 1 -mindepth 1 -type f -print);
+do
+ CURRENT_SPECIES=$(basename $file | sed 's/\.[^.]*$//')
+ echo $CURRENT_SPECIES
+ PATH_TARGET=$TARGET_DIR/${CURRENT_SPECIES}_targets.txt
+ PATH_OBJECTIVE=$OBJECTIVE_DIR/${CURRENT_SPECIES}_target.txt
+
+ python ../11_1_cobra_seedsearch.py $file $PATH_TARGET $PATH_OBJECTIVE $RESULT_DIR $NB_SOLUTION
+done
\ No newline at end of file
diff --git a/scripts/slurm_cluster/11_2_job_cobra_scope.sh b/scripts/slurm_cluster/11_2_job_cobra_scope.sh
new file mode 100755
index 0000000..d67cc54
--- /dev/null
+++ b/scripts/slurm_cluster/11_2_job_cobra_scope.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+#SBATCH --job-name=job_scope_cobra # Job name
+#SBATCH --output=../output/scope_cobra/scope_cobra-%A_%a.out
+#SBATCH -e ../error/scope_cobra/scope_cobra-%A_%a.err
+#SBATCH --cpus-per-task=1 #Request that ncpus be allocated per process.
+#SBATCH --ntasks-per-node=1 #Number of tasks per node
+#SBATCH --time=24:00:00 # Time limit hrs:min:sec
+#SBATCH --mail-user=chabname.ghassemi-nedjad@inria.fr #Receive email on this adress when the job is begin,over,or fail
+#SBATCH --mail-type=END,FAIL #Define what we want to receive by email about the job statut
+#SBATCH --exclude=arm01
+#SBATCH --array=1-107%55 #107 networks
+
+source /home/cghassem/miniconda3/etc/profile.d/conda.sh
+conda activate s2lp
+
+
+DATA_DIR="../../analyses/data"
+NORM_SBML_DIR="${DATA_DIR}/sbml_corrected"
+
+
+######################################
+########### TEN SOLUTIONS ############
+######################################
+NUM="_10"
+RESULT_DIR="../../analyses/results/cobra$NUM"
+SOLUTION_DIR="$RESULT_DIR/seeds_results"
+SCOPE_DIR="$RESULT_DIR/scopes"
+
+
+./11_2_run_scope.sh -i $SOLUTION_DIR -s $SCOPE_DIR -n $NORM_SBML_DIR
+######################################
\ No newline at end of file
diff --git a/scripts/slurm_cluster/11_2_run_scope.sh b/scripts/slurm_cluster/11_2_run_scope.sh
new file mode 100755
index 0000000..1523cc2
--- /dev/null
+++ b/scripts/slurm_cluster/11_2_run_scope.sh
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+# Get arguments
+while getopts i:s:n:b: flag
+do
+ case "${flag}" in
+ i) SOLUTION_DIR=${OPTARG};;
+ s) SCOPE_DIR=${OPTARG};;
+ n) NORM_SBML_DIR=${OPTARG};;
+ b)
+ if [[ ! -z ${OPTARG} ]]; then
+ SPECIES=${OPTARG}
+ fi
+ ;;
+ *) echo "Invalid OPTION" && exit 1;;
+ esac
+done
+
+# SERVER
+
+#SLURM_ARRAY_TASK_ID=1
+if [[ ! -z ${SPECIES} ]]; then
+ CURRENT_SPECIES=$SPECIES
+ CURRENT_SBML_FILE="$NORM_SBML_DIR/${SPECIES}.xml"
+else
+ CURRENT_SBML_FILE=$(ls "$NORM_SBML_DIR" | head -n "$SLURM_ARRAY_TASK_ID" | tail -n 1)
+ CURRENT_SPECIES=$(basename "$CURRENT_SBML_FILE" | sed 's/\.[^.]*$//')
+fi
+
+
+
+FULL_PATH=$SCOPE_DIR/$CURRENT_SPECIES
+if [[ ! -d "$FULL_PATH" ]]
+then
+ mkdir -p "$FULL_PATH"
+fi
+
+
+seed2lp scope "$NORM_SBML_DIR/$CURRENT_SBML_FILE" ${SOLUTION_DIR}/${CURRENT_SPECIES}_results.json $FULL_PATH
\ No newline at end of file
diff --git a/scripts/slurm_cluster/11_3_job_cobra_scope_analyse.sh b/scripts/slurm_cluster/11_3_job_cobra_scope_analyse.sh
new file mode 100755
index 0000000..93f99a6
--- /dev/null
+++ b/scripts/slurm_cluster/11_3_job_cobra_scope_analyse.sh
@@ -0,0 +1,30 @@
+#!/bin/bash
+#SBATCH --job-name=job_scope_cobra # Job name
+#SBATCH --output=../output/scope_cobra/scope_cobra-%A_%a.out
+#SBATCH -e ../error/scope_cobra/scope_cobra-%A_%a.err
+#SBATCH --cpus-per-task=1 #Request that ncpus be allocated per process.
+#SBATCH --ntasks-per-node=1 #Number of tasks per node
+#SBATCH --time=24:00:00 # Time limit hrs:min:sec
+#SBATCH --mail-user=chabname.ghassemi-nedjad@inria.fr #Receive email on this adress when the job is begin,over,or fail
+#SBATCH --mail-type=END,FAIL #Define what we want to receive by email about the job statut
+#SBATCH --exclude=arm01
+#SBATCH --array=1-107%55 #108 networks
+
+
+source /home/cghassem/miniconda3/etc/profile.d/conda.sh
+conda activate s2lp
+
+DATA_DIR="../../analyses/data"
+OBJECTIVE_DIR="${DATA_DIR}/objective"
+SBML_DIR="${DATA_DIR}/bigg/sbml"
+
+
+######################################
+########### TEN SOLUTIONS ############
+######################################
+NUM="_10"
+RESULT_DIR="../../analyses/results/cobra$NUM"
+SCOPE_DIR="$RESULT_DIR/scopes"
+
+./11_3_run_cobra_scope_analyse.sh -r $SCOPE_DIR -s $SBML_DIR -o $OBJECTIVE_DIR
+######################################
\ No newline at end of file
diff --git a/scripts/slurm_cluster/11_3_run_cobra_scope_analyse.sh b/scripts/slurm_cluster/11_3_run_cobra_scope_analyse.sh
new file mode 100755
index 0000000..dc87a46
--- /dev/null
+++ b/scripts/slurm_cluster/11_3_run_cobra_scope_analyse.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# Get arguments
+while getopts r:s:o: flag
+do
+ case "${flag}" in
+ r) SCOPE_DIR=${OPTARG};;
+ s) SBML_DIR=${OPTARG};;
+ o) OBJECTIVE_DIR=${OPTARG};;
+ *) echo "Invalid OPTION" && exit 1;;
+ esac
+done
+
+
+#SLURM_ARRAY_TASK_ID=1
+CURRENT_FILE=$(ls "$SBML_DIR" | head -n "$SLURM_ARRAY_TASK_ID" | tail -n 1)
+CURRENT_SPECIES=$(basename "$CURRENT_FILE" | sed 's/\.[^.]*$//')
+
+
+FULL_PATH_SCOPE=$SCOPE_DIR/$CURRENT_SPECIES/scope
+FULL_PATH_SEEDS=$SCOPE_DIR/$CURRENT_SPECIES/sbml
+
+
+modes_info=cobrapy/cobrapy/other/no_accu
+CURRENT_PATH_SEED=$FULL_PATH_SEEDS/$modes_info/
+CURRENT_PATH_SCOPE=$FULL_PATH_SCOPE/$modes_info/
+python ../10_1_scope_analyse.py ${CURRENT_SPECIES} "${SBML_DIR}/${CURRENT_FILE}" ${CURRENT_PATH_SCOPE} ${CURRENT_PATH_SEED} "${OBJECTIVE_DIR}/${CURRENT_SPECIES}_target.txt" cobrapy
diff --git a/scripts/slurm_cluster/11_4_job_cobra_supp_data.sh b/scripts/slurm_cluster/11_4_job_cobra_supp_data.sh
new file mode 100755
index 0000000..1f72373
--- /dev/null
+++ b/scripts/slurm_cluster/11_4_job_cobra_supp_data.sh
@@ -0,0 +1,41 @@
+#!/bin/bash
+#SBATCH --job-name=job_cobra_supp # Job name
+#SBATCH --output=../output/cobra_supp/cobra_supp-%A_%a.out
+#SBATCH -e ../error/cobra_supp/cobra_supp-%A_%a.err
+#SBATCH --cpus-per-task=1 #Request that ncpus be allocated per process.
+#SBATCH --ntasks-per-node=1 #Number of tasks per node
+#SBATCH --time=24:00:00 # Time limit hrs:min:sec
+#SBATCH --mail-user=chabname.ghassemi-nedjad@inria.fr #Receive email on this adress when the job is begin,over,or fail
+#SBATCH --mail-type=END,FAIL #Define what we want to receive by email about the job statut
+#SBATCH --exclude=arm01
+
+
+source /home/cghassem/miniconda3/etc/profile.d/conda.sh
+conda activate s2lp
+
+DATA_DIR="../../analyses/data"
+OBJECTIVE_DIR="${DATA_DIR}/objective"
+SBML_DIR="${DATA_DIR}/sbml_corrected"
+
+######################################
+############ ONE SOLUTION ############
+######################################
+NUM="_1"
+RESULT_DIR="../../analyses/results/cobra$NUM"
+SOLUTION_DIR="$RESULT_DIR/seeds_results"
+
+python ../11_4_get_cobra_supp_data.py $SOLUTION_DIR $RESULT_DIR
+######################################
+
+
+
+
+######################################
+########### TEN SOLUTIONS ############
+######################################
+NUM="_10"
+RESULT_DIR="../../analyses/results/cobra$NUM"
+SOLUTION_DIR="$RESULT_DIR/seeds_results"
+
+python ../11_4_get_cobra_supp_data.py $SOLUTION_DIR $RESULT_DIR
+######################################
\ No newline at end of file
diff --git a/scripts/slurm_cluster/12_1_job_phylomint_seadsearch.sh b/scripts/slurm_cluster/12_1_job_phylomint_seadsearch.sh
new file mode 100755
index 0000000..0c7c097
--- /dev/null
+++ b/scripts/slurm_cluster/12_1_job_phylomint_seadsearch.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+#SBATCH --job-name=job_phylomint # Job name
+#SBATCH --output=../output/phylomint/phylomint-%A_%a.out
+#SBATCH -e ../error/phylomint/phylomint-%A_%a.err
+#SBATCH --cpus-per-task=1 #Request that ncpus be allocated per process.
+#SBATCH --ntasks-per-node=1 #Number of tasks per node
+#SBATCH --time=72:00:00 # Time limit hrs:min:sec
+#SBATCH --mail-user=chabname.ghassemi-nedjad@inria.fr #Receive email on this adress when the job is begin,over,or fail
+#SBATCH --mail-type=END,FAIL #Define what we want to receive by email about the job statut
+#SBATCH --exclude=arm01
+#SBATCH --array=1-107%55 #107 networks
+
+source /home/cghassem/miniconda3/etc/profile.d/conda.sh
+conda activate s2lp
+
+DATA_DIR="../../analyses/data"
+OBJECTIVE_DIR="${DATA_DIR}/objective"
+SBML_DIR="${DATA_DIR}/sbml_corrected"
+RESULT_DIR="../../analyses/results/phylomint"
+
+
+./12_1_run_phylomint_seadsearch.sh -s $SBML_DIR -o $OBJECTIVE_DIR -r $RESULT_DIR
\ No newline at end of file
diff --git a/scripts/slurm_cluster/12_1_run_phylomint_seadsearch.sh b/scripts/slurm_cluster/12_1_run_phylomint_seadsearch.sh
new file mode 100755
index 0000000..733e5a4
--- /dev/null
+++ b/scripts/slurm_cluster/12_1_run_phylomint_seadsearch.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+# Get arguments
+while getopts s:o:r: flag
+do
+ case "${flag}" in
+ s) SBML_DIR=${OPTARG};;
+ o) OBJECTIVE_DIR=${OPTARG};;
+ r) RESULT_DIR=${OPTARG};;
+ *) echo "Invalid OPTION" && exit 1;;
+ esac
+done
+
+
+#SLURM_ARRAY_TASK_ID=1
+CURRENT_SBML_FILE=$(ls "$SBML_DIR" | head -n "$SLURM_ARRAY_TASK_ID" | tail -n 1)
+CURRENT_SPECIES=$(basename "$CURRENT_SBML_FILE" | sed 's/\.[^.]*$//')
+SBML_FILE=$SBML_DIR/$CURRENT_SBML_FILE
+PATH_OBJECTIVE=$OBJECTIVE_DIR/${CURRENT_SPECIES}_target.txt
+
+python ../12_1_phylomint_seedsearch.py $SBML_FILE $PATH_OBJECTIVE $RESULT_DIR
\ No newline at end of file
diff --git a/scripts/slurm_cluster/12_2_job_phylomint_scope_flux.sh b/scripts/slurm_cluster/12_2_job_phylomint_scope_flux.sh
new file mode 100755
index 0000000..f386ceb
--- /dev/null
+++ b/scripts/slurm_cluster/12_2_job_phylomint_scope_flux.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+#SBATCH --job-name=job_scope_phylomint # Job name
+#SBATCH --output=../output/scope_phylomint/scope_phylomint-%A_%a.out
+#SBATCH -e ../error/scope_phylomint/scope_phylomint-%A_%a.err
+#SBATCH --cpus-per-task=1 #Request that ncpus be allocated per process.
+#SBATCH --ntasks-per-node=1 #Number of tasks per node
+#SBATCH --time=72:00:00 # Time limit hrs:min:sec
+#SBATCH --mail-user=chabname.ghassemi-nedjad@inria.fr #Receive email on this adress when the job is begin,over,or fail
+#SBATCH --mail-type=END,FAIL #Define what we want to receive by email about the job statut
+#SBATCH --exclude=arm01
+#SBATCH --array=1-107%55 #107 networks
+
+source /home/cghassem/miniconda3/etc/profile.d/conda.sh
+conda activate s2lp
+
+DATA_DIR="../../analyses/data"
+NORM_SBML_DIR="${DATA_DIR}/sbml_corrected"
+SBML_DIR="${DATA_DIR}/bigg/sbml"
+RESULT_DIR="../../analyses/results/phylomint"
+SCOPE_DIR="$RESULT_DIR/scopes"
+FLUX_DIR="$RESULT_DIR/fluxes"
+SOLUTION_DIR="$RESULT_DIR/seeds_results"
+
+./12_2_run_scope_flux.sh -i $SOLUTION_DIR -s $SCOPE_DIR -f $FLUX_DIR -n $NORM_SBML_DIR -b $SBML_DIR
\ No newline at end of file
diff --git a/scripts/slurm_cluster/12_2_run_scope_flux.sh b/scripts/slurm_cluster/12_2_run_scope_flux.sh
new file mode 100755
index 0000000..abcc672
--- /dev/null
+++ b/scripts/slurm_cluster/12_2_run_scope_flux.sh
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+# Get arguments
+while getopts i:s:f:n:b:p: flag
+do
+ case "${flag}" in
+ i) SOLUTION_DIR=${OPTARG};;
+ s) SCOPE_DIR=${OPTARG};;
+ f) FLUX_DIR=${OPTARG};;
+ n) NORM_SBML_DIR=${OPTARG};;
+ b) SBML_DIR=${OPTARG};;
+ p)
+ if [[ ! -z ${OPTARG} ]]; then
+ SPECIES=${OPTARG}
+ fi
+ ;;
+ *) echo "Invalid OPTION" && exit 1;;
+ esac
+done
+
+# SERVER
+
+#SLURM_ARRAY_TASK_ID=1
+if [[ ! -z ${SPECIES} ]]; then
+ CURRENT_SPECIES=$SPECIES
+ CURRENT_SBML_FILE="$NORM_SBML_DIR/${SPECIES}.xml"
+else
+ CURRENT_SBML_FILE=$(ls "$NORM_SBML_DIR" | head -n "$SLURM_ARRAY_TASK_ID" | tail -n 1)
+ CURRENT_SPECIES=$(basename "$CURRENT_SBML_FILE" | sed 's/\.[^.]*$//')
+fi
+
+
+
+FULL_PATH=$SCOPE_DIR/$CURRENT_SPECIES
+if [[ ! -d "$FULL_PATH" ]]
+then
+ mkdir -p "$FULL_PATH"
+fi
+
+
+seed2lp flux "$NORM_SBML_DIR/$CURRENT_SBML_FILE" ${SOLUTION_DIR}/${CURRENT_SPECIES}_results.json $FLUX_DIR
+seed2lp scope "$NORM_SBML_DIR/$CURRENT_SBML_FILE" ${SOLUTION_DIR}/${CURRENT_SPECIES}_results.json $FULL_PATH
+
+
diff --git a/scripts/slurm_cluster/12_3_job_phylomint_scope_analyse.sh b/scripts/slurm_cluster/12_3_job_phylomint_scope_analyse.sh
new file mode 100755
index 0000000..134604e
--- /dev/null
+++ b/scripts/slurm_cluster/12_3_job_phylomint_scope_analyse.sh
@@ -0,0 +1,23 @@
+#!/bin/bash
+#SBATCH --job-name=job_scope_phylomint # Job name
+#SBATCH --output=../output/scope_phylomint/scope_phylomint-%A_%a.out
+#SBATCH -e ../error/scope_phylomint/scope_phylomint-%A_%a.err
+#SBATCH --cpus-per-task=1 #Request that ncpus be allocated per process.
+#SBATCH --ntasks-per-node=1 #Number of tasks per node
+#SBATCH --time=24:00:00 # Time limit hrs:min:sec
+#SBATCH --mail-user=chabname.ghassemi-nedjad@inria.fr #Receive email on this adress when the job is begin,over,or fail
+#SBATCH --mail-type=END,FAIL #Define what we want to receive by email about the job statut
+#SBATCH --exclude=arm01
+#SBATCH --array=1-107%55 #108 networks
+
+
+source /home/cghassem/miniconda3/etc/profile.d/conda.sh
+conda activate s2lp
+
+DATA_DIR="../../analyses/data"
+OBJECTIVE_DIR="${DATA_DIR}/objective"
+SBML_DIR="${DATA_DIR}/bigg/sbml"
+RESULT_DIR="../../analyses/results/phylomint"
+SCOPE_DIR="$RESULT_DIR/scopes"
+
+./12_3_run_pylomint_scope_analyse.sh -r $SCOPE_DIR -s $SBML_DIR -o $OBJECTIVE_DIR
\ No newline at end of file
diff --git a/scripts/slurm_cluster/12_3_run_pylomint_scope_analyse.sh b/scripts/slurm_cluster/12_3_run_pylomint_scope_analyse.sh
new file mode 100755
index 0000000..b4cb71b
--- /dev/null
+++ b/scripts/slurm_cluster/12_3_run_pylomint_scope_analyse.sh
@@ -0,0 +1,27 @@
+#!/bin/bash
+
+# Get arguments
+while getopts r:s:o: flag
+do
+ case "${flag}" in
+ r) SCOPE_DIR=${OPTARG};;
+ s) SBML_DIR=${OPTARG};;
+ o) OBJECTIVE_DIR=${OPTARG};;
+ *) echo "Invalid OPTION" && exit 1;;
+ esac
+done
+
+
+#SLURM_ARRAY_TASK_ID=1
+CURRENT_FILE=$(ls "$SBML_DIR" | head -n "$SLURM_ARRAY_TASK_ID" | tail -n 1)
+CURRENT_SPECIES=$(basename "$CURRENT_FILE" | sed 's/\.[^.]*$//')
+
+
+FULL_PATH_SCOPE=$SCOPE_DIR/$CURRENT_SPECIES/scope
+FULL_PATH_SEEDS=$SCOPE_DIR/$CURRENT_SPECIES/sbml
+
+
+modes_info=phylomint/phylomint/minimize/accu
+CURRENT_PATH_SEED=$FULL_PATH_SEEDS/$modes_info/
+CURRENT_PATH_SCOPE=$FULL_PATH_SCOPE/$modes_info/
+python ../10_1_scope_analyse.py ${CURRENT_SPECIES} "${SBML_DIR}/${CURRENT_FILE}" ${CURRENT_PATH_SCOPE} ${CURRENT_PATH_SEED} "${OBJECTIVE_DIR}/${CURRENT_SPECIES}_target.txt" phylomint