{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from IPython.display import display\n", "import re" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Predict heterologous pathways\n", "\n", "Predicting heterologous pathways is an important strategy to generate new viable strains. Because portfolio of available reactions is very large, computer assisted pathway design becomes essential. **Cameo** implements a shortest pathways search algorithm using an universal biochemical reaction database." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "If you're running this notebook on [try.cameo.bio](http://try.cameo.bio), things might run very slow due to our inability to provide access to the proprietary [CPLEX](https://www-01.ibm.com/software/commerce/optimization/cplex-optimizer/) solver on a public webserver. Furthermore, Jupyter kernels might crash and restart due to memory limitations on the server.\n", "
" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "from cameo import models\n", "from cameo.strain_design import pathway_prediction" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "model = models.bigg.iMM904" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "scrolled": true }, "outputs": [], "source": [ "predictor = pathway_prediction.PathwayPredictor(model)" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "Pathway 1" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
equationlower_boundupper_bound
MNXR5340H(+) + NADH + O2 + vanillate <=> H2O + 3,4-dih...-10001000
MNXR53362.0 H(+) + NADH + vanillate <=> H2O + vanillin...-10001000
MNXR68718H2O + 3,4-dihydroxybenzoate <=> 3-dehydroshiki...-10001000
\n", "
" ], "text/plain": [ " equation lower_bound \\\n", "MNXR5340 H(+) + NADH + O2 + vanillate <=> H2O + 3,4-dih... -1000 \n", "MNXR5336 2.0 H(+) + NADH + vanillate <=> H2O + vanillin... -1000 \n", "MNXR68718 H2O + 3,4-dihydroxybenzoate <=> 3-dehydroshiki... -1000 \n", "\n", " upper_bound \n", "MNXR5340 1000 \n", "MNXR5336 1000 \n", "MNXR68718 1000 " ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Max flux: 3.36842\n" ] }, { "data": { "text/html": [ "Pathway 2" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
equationlower_boundupper_bound
MNXR5340H(+) + NADH + O2 + vanillate <=> H2O + 3,4-dih...-10001000
MNXR53362.0 H(+) + NADH + vanillate <=> H2O + vanillin...-10001000
MNXR230H(+) + 4-hydroxybenzoate + O2 + NADPH <=> H2O ...-10001000
\n", "
" ], "text/plain": [ " equation lower_bound \\\n", "MNXR5340 H(+) + NADH + O2 + vanillate <=> H2O + 3,4-dih... -1000 \n", "MNXR5336 2.0 H(+) + NADH + vanillate <=> H2O + vanillin... -1000 \n", "MNXR230 H(+) + 4-hydroxybenzoate + O2 + NADPH <=> H2O ... -1000 \n", "\n", " upper_bound \n", "MNXR5340 1000 \n", "MNXR5336 1000 \n", "MNXR230 1000 " ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Max flux: 1.90533\n" ] }, { "data": { "text/html": [ "Pathway 3" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
equationlower_boundupper_bound
MNXR4008H(+) + 3-oxoadipate <=> H2O + 5-oxo-4,5-dihydr...-10001000
MNXR1843-oxoadipyl-CoA + succinate <=> 3-oxoadipate +...-10001000
MNXR5340H(+) + NADH + O2 + vanillate <=> H2O + 3,4-dih...-10001000
MNXR53362.0 H(+) + NADH + vanillate <=> H2O + vanillin...-10001000
MNXR228CO2 + 5-oxo-4,5-dihydro-2-furylacetate <=> H(+...-10001000
MNXR41192.0 H(+) + 3-carboxy-cis,cis-muconate <=> 3,4-...-10001000
MNXR209CoA + 3-oxoadipyl-CoA <=> acetyl-CoA + succiny...-10001000
MNXR36552-(carboxymethyl)-5-oxo-2,5-dihydro-2-furoate ...-10001000
\n", "
" ], "text/plain": [ " equation lower_bound \\\n", "MNXR4008 H(+) + 3-oxoadipate <=> H2O + 5-oxo-4,5-dihydr... -1000 \n", "MNXR184 3-oxoadipyl-CoA + succinate <=> 3-oxoadipate +... -1000 \n", "MNXR5340 H(+) + NADH + O2 + vanillate <=> H2O + 3,4-dih... -1000 \n", "MNXR5336 2.0 H(+) + NADH + vanillate <=> H2O + vanillin... -1000 \n", "MNXR228 CO2 + 5-oxo-4,5-dihydro-2-furylacetate <=> H(+... -1000 \n", "MNXR4119 2.0 H(+) + 3-carboxy-cis,cis-muconate <=> 3,4-... -1000 \n", "MNXR209 CoA + 3-oxoadipyl-CoA <=> acetyl-CoA + succiny... -1000 \n", "MNXR3655 2-(carboxymethyl)-5-oxo-2,5-dihydro-2-furoate ... -1000 \n", "\n", " upper_bound \n", "MNXR4008 1000 \n", "MNXR184 1000 \n", "MNXR5340 1000 \n", "MNXR5336 1000 \n", "MNXR228 1000 \n", "MNXR4119 1000 \n", "MNXR209 1000 \n", "MNXR3655 1000 " ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Max flux: 5.59223\n" ] }, { "data": { "text/html": [ "Pathway 4" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
equationlower_boundupper_bound
MNXR53382.0 H(+) + NADH + 3,4-dihydroxybenzoate <=> H2...-10001000
MNXR1041diphosphate + AMP + caffeoyl-CoA <=> CoA + ATP...-10001000
MNXR4974O2 + 2.0 trans-4-coumarate <=> 2.0 trans-caffeate-10001000
MNXR227diphosphate + AMP + 4-coumaroyl-CoA <=> CoA + ...-10001000
MNXR5340H(+) + NADH + O2 + vanillate <=> H2O + 3,4-dih...-10001000
MNXR53362.0 H(+) + NADH + vanillate <=> H2O + vanillin...-10001000
MNXR18369CoA + H2O + 4-coumaroyl-CoA + NAD(+) <=> H(+) ...-10001000
MNXR232H(+) + CoA + 4-hydroxybenzoate <=> H2O + 4-hyd...-10001000
MNXR1039acetyl-CoA + 3,4-dihydroxybenzaldehyde <=> H2O...-10001000
\n", "
" ], "text/plain": [ " equation lower_bound \\\n", "MNXR5338 2.0 H(+) + NADH + 3,4-dihydroxybenzoate <=> H2... -1000 \n", "MNXR1041 diphosphate + AMP + caffeoyl-CoA <=> CoA + ATP... -1000 \n", "MNXR4974 O2 + 2.0 trans-4-coumarate <=> 2.0 trans-caffeate -1000 \n", "MNXR227 diphosphate + AMP + 4-coumaroyl-CoA <=> CoA + ... -1000 \n", "MNXR5340 H(+) + NADH + O2 + vanillate <=> H2O + 3,4-dih... -1000 \n", "MNXR5336 2.0 H(+) + NADH + vanillate <=> H2O + vanillin... -1000 \n", "MNXR18369 CoA + H2O + 4-coumaroyl-CoA + NAD(+) <=> H(+) ... -1000 \n", "MNXR232 H(+) + CoA + 4-hydroxybenzoate <=> H2O + 4-hyd... -1000 \n", "MNXR1039 acetyl-CoA + 3,4-dihydroxybenzaldehyde <=> H2O... -1000 \n", "\n", " upper_bound \n", "MNXR5338 1000 \n", "MNXR1041 1000 \n", "MNXR4974 1000 \n", "MNXR227 1000 \n", "MNXR5340 1000 \n", "MNXR5336 1000 \n", "MNXR18369 1000 \n", "MNXR232 1000 \n", "MNXR1039 1000 " ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "Max flux: 2.24390\n" ] } ], "source": [ "pathways = predictor.run(product=\"vanillin\", max_predictions=4)" ] } ], "metadata": { "anaconda-cloud": {}, "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.2" } }, "nbformat": 4, "nbformat_minor": 4 }