{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Production envelopes" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "Production envelopes (aka phenotype phase planes) will show distinct phases of optimal growth with different use of two different substrates. For more information, see [Edwards et al.](http://dx.doi.org/10.1002/bit.10047)\n", "\n", "Cobrapy supports calculating these production envelopes and they can easily be plotted using your favorite plotting package. Here, we will make one for the \"textbook\" _E. coli_ core model and demonstrate plotting using [matplotlib](http://matplotlib.org/)." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "import cobra.test\n", "from cobra.flux_analysis import production_envelope\n", "\n", "model = cobra.test.create_test_model(\"textbook\")" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "We want to make a phenotype phase plane to evaluate uptakes of Glucose and Oxygen." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "prod_env = production_envelope(model, [\"EX_glc__D_e\", \"EX_o2_e\"])" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
EX_glc__D_eEX_o2_edirectionflux
0-10.0-60.000000minimum0.0
1-10.0-56.842105minimum0.0
2-10.0-53.684211minimum0.0
3-10.0-50.526316minimum0.0
4-10.0-47.368421minimum0.0
\n", "
" ], "text/plain": [ " EX_glc__D_e EX_o2_e direction flux\n", "0 -10.0 -60.000000 minimum 0.0\n", "1 -10.0 -56.842105 minimum 0.0\n", "2 -10.0 -53.684211 minimum 0.0\n", "3 -10.0 -50.526316 minimum 0.0\n", "4 -10.0 -47.368421 minimum 0.0" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "prod_env.head()" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "If we specify the carbon source, we can also get the carbon and mass yield. For example, temporarily setting the objective to produce acetate instead we could get production envelope as follows and pandas to quickly plot the results." ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [], "source": [ "prod_env = production_envelope(\n", " model, [\"EX_o2_e\"], objective=\"EX_ac_e\", c_source=\"EX_glc__D_e\")" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
EX_o2_ecarbon_sourcecarbon_yielddirectionfluxmass_yield
0-60.000000EX_glc__D_e0.0minimum0.00.0
1-56.842105EX_glc__D_e0.0minimum0.00.0
2-53.684211EX_glc__D_e0.0minimum0.00.0
3-50.526316EX_glc__D_e0.0minimum0.00.0
4-47.368421EX_glc__D_e0.0minimum0.00.0
\n", "
" ], "text/plain": [ " EX_o2_e carbon_source carbon_yield direction flux mass_yield\n", "0 -60.000000 EX_glc__D_e 0.0 minimum 0.0 0.0\n", "1 -56.842105 EX_glc__D_e 0.0 minimum 0.0 0.0\n", "2 -53.684211 EX_glc__D_e 0.0 minimum 0.0 0.0\n", "3 -50.526316 EX_glc__D_e 0.0 minimum 0.0 0.0\n", "4 -47.368421 EX_glc__D_e 0.0 minimum 0.0 0.0" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "prod_env.head()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": true }, "outputs": [], "source": [ "%matplotlib inline" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false, "deletable": true, "editable": true }, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\nAAAAAElFTkSuQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "prod_env[prod_env.direction == 'maximum'].plot(\n", " kind='line', x='EX_o2_e', y='carbon_yield')" ] }, { "cell_type": "markdown", "metadata": { "deletable": true, "editable": true }, "source": [ "Previous versions of cobrapy included more tailored plots for phase planes which have now been dropped in order to improve maintainability and enhance the focus of cobrapy. Plotting for cobra models is intended for another package." ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.2" } }, "nbformat": 4, "nbformat_minor": 0 }