{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Computational strain design: Growth-coupled production (GCP)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A main principle for the design of bioproduction hosts is the coupling of product synthesis to microbial growth, such that the product of interest becomes a byproduct of growth. Different notions of growth-coupling principle prevail in literature. With gradually increasing coupling strength, we can distinguish four different classes:\n",
"- potentially growth-coupled production (pGCP):\n",
" product synthesis is possible at maximum growth\n",
" *(e.g., minimum demand in OptKnock computations)*\n",
"- weakly growth-coupled production (wGCP):\n",
" product synthesis is enforced at maximum growth\n",
" *(e.g., demanded by RobustKnock or OptCouple)*\n",
"- directionally growth-coupled production (dGCP):\n",
" product synthesis is enforced at all growth rates greater than zero\n",
" *(e.g., often demanded by MCS, often generated by OptCouple)*\n",
"- substrate-uptake-coupled production (SUCP):\n",
" product is synthesized whenever substrate is taken up, i.e., a minimum product yield is guaranteed\n",
" *(e.g., often demanded by MCS)*\n",
"\n",
"Before moving on the computation of strain designs, we will provide strain design examples for the different coupling types and show their main property. To keep it as simple as possible, we will use ethanol as the desired product, use the small \"textbook model\" e_coli_core, and introduce only reaction knockouts (and no knock-ins)."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Set parameter Username\n",
"Academic license - for non-commercial use only - expires 2023-07-20\n"
]
}
],
"source": [
"import cobra\n",
"import straindesign as sd\n",
"model = cobra.io.load_model('e_coli_core')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## pGCP: potentially growth-coupled production\n",
"\n",
"When we knock out the reactions **PPS**, **THD2**, **TKT2** and **MDH** in e_coli_core, we obtain a potentially coupled strain design. Below, we plot the flux space of the wild type model (blue/background) on the dimensions of growth rate and the ethanol yield and compare it to the pGCP strain design (orange/foreground). In the wild type model, growth and ethanol production compete, whereas, in the strain designed for pGCP, product synthesis is also possible (yet *not required*) at growth-maximal flux states."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"# Wild-type plot\n",
"datapoints, triang, plot1 = sd.plot_flux_space(model,\n",
" ('BIOMASS_Ecoli_core_w_GAM','EX_etoh_e'),\n",
" show=False);\n",
"# pGCP design plot\n",
"constraints = ['PPS=0', 'THD2=0', 'TKT2=0', 'MDH=0']\n",
"_, _, plot2 = sd.plot_flux_space(model,\n",
" ('BIOMASS_Ecoli_core_w_GAM','EX_etoh_e'),\n",
" constraints=constraints,\n",
" show=False);\n",
"# adjust axes limits and show plot\n",
"plot2.axes.set_xlim(0, 1.05*max([a[0] for a in datapoints]))\n",
"plot2.axes.set_ylim(0, 1.05*max([a[1] for a in datapoints]))\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## wGCP: weakly growth-coupled production\n",
"\n",
"A weakly growth-coupled production strain design can be generated by knocking out the reactions **ACALDt**, **PTAr**, **PPS**, **PYRt2** and **MDH** in e_coli_core. Below, we plot the flux space of the wild type model (blue/background) on the dimensions of growth rate and the ethanol yield and compare it to the wGCP strain design (orange/foreground). In the wild type model, growth and ethanol production compete, whereas, in the strain designed for wGCP, growth-maximal flux states can only be reached by simultanously producing ethanol."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"# Wild-type plot\n",
"datapoints, triang, plot1 = sd.plot_flux_space(model,\n",
" ('BIOMASS_Ecoli_core_w_GAM','EX_etoh_e'),\n",
" show=False);\n",
"# pGCP design plot\n",
"constraints = ['ACALDt=0', 'PTAr=0', 'PPS=0', 'PYRt2=0', 'MDH=0']\n",
"_, _, plot2 = sd.plot_flux_space(model,\n",
" ('BIOMASS_Ecoli_core_w_GAM','EX_etoh_e'),\n",
" constraints=constraints,\n",
" show=False);\n",
"# adjust axes limits and show plot\n",
"plot2.axes.set_xlim(0, 1.05*max([a[0] for a in datapoints]))\n",
"plot2.axes.set_ylim(0, 1.05*max([a[1] for a in datapoints]))\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## dGCP: directionally growth-coupled production\n",
"\n",
"By knocking out the reactions **PGL**, **ATPS4r** and **NADH16** in e_coli_core, we obtain a directionally coupled strain design. Below, we plot the flux space of the the dGCP strain design (orange/foreground) on the dimensions of growth rate and the ethanol production. In the strain designed for dGCP, product synthesis is occurs at all growth-associated flux states. In this example significantly higher specific production rates are reached than in the pGCP and wGCP scenario, however at the detriment of high growth rates."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"# Wild-type plot\n",
"datapoints, triang, plot1 = sd.plot_flux_space(model,\n",
" ('BIOMASS_Ecoli_core_w_GAM','EX_etoh_e'),\n",
" show=False);\n",
"# pGCP design plot\n",
"constraints = ['PGL=0', 'ATPS4r=0', 'NADH16=0']\n",
"_, _, plot2 = sd.plot_flux_space(model,\n",
" ('BIOMASS_Ecoli_core_w_GAM','EX_etoh_e'),\n",
" constraints=constraints,\n",
" show=False);\n",
"# adjust axes limits and show plot\n",
"plot2.axes.set_xlim(0, 1.05*max([a[0] for a in datapoints]))\n",
"plot2.axes.set_ylim(0, 1.05*max([a[1] for a in datapoints]))\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## SUCP: substrate-uptake-coupled production\n",
"\n",
"In strain designs with substrate-uptake-coupled production, all feasible flux states of substrate uptake also entail production. To obtain a such a strain design for the production of ethanol, the reactions knockouts **LDH_D**, **ATPS4r** and **NADH16** can be introduced to e_coli_core. Other than in the previous examples, we here plot the flux space of the SUCP strain design (orange/foreground) on the dimensions of growth rate and ethanol *yield*. In the SUCP strain design, a minimum product yield is ensured in all remaining feasible flux states. Again, the improved production capacities often come at the expense of viability."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"# Wild-type plot\n",
"datapoints, triang, plot1 = sd.plot_flux_space(model,\n",
" ('BIOMASS_Ecoli_core_w_GAM',('EX_etoh_e','-EX_glc__D_e')),\n",
" show=False);\n",
"# pGCP design plot\n",
"constraints = ['LDH_D=0', 'ATPS4r=0', 'NADH16=0']\n",
"_, _, plot2 = sd.plot_flux_space(model,\n",
" ('BIOMASS_Ecoli_core_w_GAM',('EX_etoh_e','-EX_glc__D_e')),\n",
" constraints=constraints,\n",
" show=False);\n",
"# adjust axes limits and show plot\n",
"plot2.axes.set_xlim(0, 1.05*max([a[0] for a in datapoints]))\n",
"plot2.axes.set_ylim(0, 1.05*max([a[1] for a in datapoints]))\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In the following chapter, we discuss how different algorithms can be used to generate growth-coupled strain designs."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3.9.7 ('cnapy-dev')",
"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.9.7"
},
"vscode": {
"interpreter": {
"hash": "50a36e699ca3834a05ca1bd86fc5b7db4829f1cbbb3e27f51544575d88525899"
}
}
},
"nbformat": 4,
"nbformat_minor": 4
}