{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Analyzing models\n", "\n", "**cameo** uses and extends the model data structures defined by [cobrapy](https://opencobra.github.io/cobrapy/), our favorite **CO**nstraints-**B**ased **R**econstruction and **A**nalysis tool for **Py**thon. **cameo** is thus 100% compatible with **cobrapy**. For efficiency reasons though **cameo** implements its own analysis methods that take advantage of a more advanced solver interface." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", "(function(global) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " if (typeof (window._bokeh_onload_callbacks) === \"undefined\") {\n", " window._bokeh_onload_callbacks = [];\n", " }\n", "\n", " function run_callbacks() {\n", " window._bokeh_onload_callbacks.forEach(function(callback) { callback() });\n", " delete window._bokeh_onload_callbacks\n", " console.info(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(js_urls, callback) {\n", " window._bokeh_onload_callbacks.push(callback);\n", " if (window._bokeh_is_loading > 0) {\n", " console.log(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " }\n", " if (js_urls == null || js_urls.length === 0) {\n", " run_callbacks();\n", " return null;\n", " }\n", " console.log(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " window._bokeh_is_loading = js_urls.length;\n", " for (var i = 0; i < js_urls.length; i++) {\n", " var url = js_urls[i];\n", " var s = document.createElement('script');\n", " s.src = url;\n", " s.async = false;\n", " s.onreadystatechange = s.onload = function() {\n", " window._bokeh_is_loading--;\n", " if (window._bokeh_is_loading === 0) {\n", " console.log(\"Bokeh: all BokehJS libraries loaded\");\n", " run_callbacks()\n", " }\n", " };\n", " s.onerror = function() {\n", " console.warn(\"failed to load library \" + url);\n", " };\n", " console.log(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.getElementsByTagName(\"head\")[0].appendChild(s);\n", " }\n", " };\n", "\n", " var js_urls = ['https://cdn.pydata.org/bokeh/release/bokeh-0.11.1.min.js', 'https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.11.1.min.js', 'https://cdn.pydata.org/bokeh/release/bokeh-compiler-0.11.1.min.js'];\n", "\n", " var inline_js = [\n", " function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", " \n", " function(Bokeh) {\n", " Bokeh.$(\"#a5c0cac2-673b-40c8-823b-7ad848f55392\").text(\"BokehJS successfully loaded\");\n", " },\n", " function(Bokeh) {\n", " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-0.11.1.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-0.11.1.min.css\");\n", " console.log(\"Bokeh: injecting CSS: https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.11.1.min.css\");\n", " Bokeh.embed.inject_css(\"https://cdn.pydata.org/bokeh/release/bokeh-widgets-0.11.1.min.css\");\n", " }\n", " ];\n", "\n", " function run_inline_js() {\n", " for (var i = 0; i < inline_js.length; i++) {\n", " inline_js[i](window.Bokeh);\n", " }\n", " }\n", "\n", " if (window._bokeh_is_loading === 0) {\n", " console.log(\"Bokeh: BokehJS loaded, going straight to plotting\");\n", " run_inline_js();\n", " } else {\n", " load_libs(js_urls, function() {\n", " console.log(\"Bokeh: BokehJS plotting callback run at\", now());\n", " run_inline_js();\n", " });\n", " }\n", "}(this));" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "from cameo import models\n", "model = models.bigg.e_coli_core" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Flux Variability Analysis\n", "\n", "Flux variability analysis (FVA) enables the computation of lower and upper bounds of reaction fluxes." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [], "source": [ "from cameo import flux_variability_analysis" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "
\n", " | upper_bound | \n", "lower_bound | \n", "
---|---|---|
ACALD | \n", "9.375217e-16 | \n", "-2.000000e+01 | \n", "
ACALDt | \n", "0.000000e+00 | \n", "-2.000000e+01 | \n", "
ACKr | \n", "-1.862346e-15 | \n", "-2.000000e+01 | \n", "
ACONTa | \n", "2.000000e+01 | \n", "-4.825168e-16 | \n", "
ACONTb | \n", "2.000000e+01 | \n", "-1.999683e-16 | \n", "
ACt2r | \n", "0.000000e+00 | \n", "-2.000000e+01 | \n", "
ADK1 | \n", "1.666100e+02 | \n", "0.000000e+00 | \n", "
... | \n", "... | \n", "... | \n", "
SUCDi | \n", "1.000000e+03 | \n", "0.000000e+00 | \n", "
SUCOAS | \n", "-3.552714e-15 | \n", "-2.000000e+01 | \n", "
TALA | \n", "2.000000e+01 | \n", "-1.545362e-01 | \n", "
THD2 | \n", "3.332200e+02 | \n", "0.000000e+00 | \n", "
TKT1 | \n", "2.000000e+01 | \n", "-1.545362e-01 | \n", "
TKT2 | \n", "2.000000e+01 | \n", "-4.663728e-01 | \n", "
TPI | \n", "1.000000e+01 | \n", "-1.000000e+01 | \n", "
95 rows × 2 columns
\n", "\n", " | upper_bound | \n", "lower_bound | \n", "
---|---|---|
ACALD | \n", "0.000000e+00 | \n", "-12.602453 | \n", "
ACALDt | \n", "3.774758e-15 | \n", "-12.602453 | \n", "
ACKr | \n", "0.000000e+00 | \n", "-13.358852 | \n", "
ACONTa | \n", "1.383029e+01 | \n", "0.471437 | \n", "
ACONTb | \n", "1.383029e+01 | \n", "0.471437 | \n", "
ACt2r | \n", "-6.527569e-14 | \n", "-13.358852 | \n", "
ADK1 | \n", "8.433833e+01 | \n", "0.000000 | \n", "
... | \n", "... | \n", "... | \n", "
SUCDi | \n", "1.000000e+03 | \n", "0.000000 | \n", "
SUCOAS | \n", "0.000000e+00 | \n", "-13.358852 | \n", "
TALA | \n", "1.328068e+01 | \n", "-0.154536 | \n", "
THD2 | \n", "1.686767e+02 | \n", "0.000000 | \n", "
TKT1 | \n", "1.328068e+01 | \n", "-0.154536 | \n", "
TKT2 | \n", "1.312294e+01 | \n", "-0.466373 | \n", "
TPI | \n", "9.565355e+00 | \n", "-3.793497 | \n", "
95 rows × 2 columns
\n", "\n", " | BIOMASS_Ecoli_core_w_GAM | \n", "objective_lower_bound | \n", "objective_upper_bound | \n", "
---|---|---|---|
0 | \n", "0.559051 | \n", "9.90568 | \n", "11.503269 | \n", "
1 | \n", "0.529627 | \n", "2.62796 | \n", "11.950466 | \n", "
2 | \n", "0.500203 | \n", "0.00000 | \n", "12.397662 | \n", "
3 | \n", "0.470779 | \n", "0.00000 | \n", "12.844858 | \n", "
4 | \n", "0.441356 | \n", "0.00000 | \n", "13.292055 | \n", "
5 | \n", "0.411932 | \n", "0.00000 | \n", "13.739251 | \n", "
6 | \n", "0.382508 | \n", "0.00000 | \n", "14.186448 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "
13 | \n", "0.176542 | \n", "0.00000 | \n", "17.316822 | \n", "
14 | \n", "0.147119 | \n", "0.00000 | \n", "17.764018 | \n", "
15 | \n", "0.117695 | \n", "0.00000 | \n", "18.211215 | \n", "
16 | \n", "0.088271 | \n", "0.00000 | \n", "18.658411 | \n", "
17 | \n", "0.058847 | \n", "0.00000 | \n", "19.105607 | \n", "
18 | \n", "0.029424 | \n", "0.00000 | \n", "19.552804 | \n", "
19 | \n", "0.000000 | \n", "0.00000 | \n", "20.000000 | \n", "
20 rows × 3 columns
\n", "\n", " | BIOMASS_Ecoli_core_w_GAM | \n", "objective_lower_bound | \n", "objective_upper_bound | \n", "
---|---|---|---|
0 | \n", "0.559051 | \n", "9.90568 | \n", "11.503269 | \n", "
1 | \n", "0.529627 | \n", "2.62796 | \n", "11.950466 | \n", "
2 | \n", "0.500203 | \n", "0.00000 | \n", "12.397662 | \n", "
3 | \n", "0.470779 | \n", "0.00000 | \n", "12.844858 | \n", "
4 | \n", "0.441356 | \n", "0.00000 | \n", "13.292055 | \n", "
5 | \n", "0.411932 | \n", "0.00000 | \n", "13.739251 | \n", "
6 | \n", "0.382508 | \n", "0.00000 | \n", "14.186448 | \n", "
... | \n", "... | \n", "... | \n", "... | \n", "
13 | \n", "0.176542 | \n", "0.00000 | \n", "17.316822 | \n", "
14 | \n", "0.147119 | \n", "0.00000 | \n", "17.764018 | \n", "
15 | \n", "0.117695 | \n", "0.00000 | \n", "18.211215 | \n", "
16 | \n", "0.088271 | \n", "0.00000 | \n", "18.658411 | \n", "
17 | \n", "0.058847 | \n", "0.00000 | \n", "19.105607 | \n", "
18 | \n", "0.029424 | \n", "0.00000 | \n", "19.552804 | \n", "
19 | \n", "0.000000 | \n", "0.00000 | \n", "20.000000 | \n", "
20 rows × 3 columns
\n", "\n", " | perturbed | \n", "
---|---|
ACALD | \n", "False | \n", "
ACALDt | \n", "False | \n", "
ACKr | \n", "False | \n", "
ACt2r | \n", "False | \n", "
ADK1 | \n", "False | \n", "
ALCD2x | \n", "False | \n", "
ATPM | \n", "False | \n", "
... | \n", "... | \n", "
PYK | \n", "False | \n", "
PYRt2 | \n", "False | \n", "
SUCCt2_2 | \n", "False | \n", "
SUCCt3 | \n", "False | \n", "
SUCDi | \n", "False | \n", "
THD2 | \n", "False | \n", "
TPI | \n", "False | \n", "
62 rows × 1 columns
\n", "