{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"marked": true
}
},
"source": [
"# Effect of H2O limitation on the C4 mode\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"marked": true
}
},
"source": [
"## 0. Initialization"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:33.313549Z",
"start_time": "2019-05-06T16:04:30.997720+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"//anaconda/lib/python2.7/site-packages/cryptography/hazmat/primitives/constant_time.py:26 \u001b[1;31mCryptographyDeprecationWarning\u001b[0m: Support for your Python version is deprecated. The next version of cryptography will remove support. Please upgrade to a 2.7.x release that supports hmac.compare_digest as soon as possible.\n"
]
},
{
"data": {
"text/html": [
" \n",
" "
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"#Import sys\n",
"import sys \n",
"sys.path.append(\"../src/\") \n",
"\n",
"#Import init for initialisation & loading user-defined functions\n",
"from init_fba import *\n",
"\n",
"#Initialize notebook settings\n",
"theNotebook = '2018-05-06-mb-genC4-H2O-Limitation'\n",
"init_notebook(theNotebook)\n",
"\n",
"#load sbml model\n",
"c3_model = load_sbml_model()"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"marked": true
}
},
"source": [
"## 1. C3 Model"
]
},
{
"cell_type": "markdown",
"metadata": {
"ExecuteTime": {
"end_time": "2017-06-20T12:42:07.597174",
"start_time": "2017-06-20T12:42:07.594879"
},
"run_control": {
"marked": true
}
},
"source": [
"### 1.1 Constraints"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:33.335132Z",
"start_time": "2019-05-06T16:04:33.315508+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [],
"source": [
"#CONSTRAINT: Set flux of all export reaction to zero\n",
"for r_obj in c3_model.reactions:\n",
" r_id = r_obj.id\n",
" if r_id[0:2] == \"Ex\":\n",
" r_obj.bounds = (0.,0.)\n",
"\n",
"#CONSTRAINT: Divergent fluxes of export and import reactions\n",
"set_bounds('Im_CO2', (-inf, inf), c3_model)\n",
"set_bounds('Im_H2O', (-inf, inf), c3_model)\n",
"set_bounds('Im_H2S', (0.,0.), c3_model)\n",
"set_bounds('Im_NH4', (0., 0.), c3_model)\n",
"set_bounds('Im_NO3', (0., inf), c3_model)\n",
"set_bounds('Im_Pi', (0., inf), c3_model)\n",
"set_bounds('Im_SO4', (0., inf), c3_model)\n",
"set_bounds('Ex_O2', (-inf, inf), c3_model)\n",
"set_bounds('Ex_Suc', (0., inf), c3_model)\n",
"set_bounds('Ex_starch', (0., inf), c3_model)\n",
"set_bounds('Ex_AA', (0., inf), c3_model)\n",
"\n",
"#CONSTRAINT: \n",
"set_bounds('G6PDH_h', (0.,0.), c3_model)\n",
"set_bounds('PPIF6PK_c', (0,0.), c3_model)\n",
"\n",
"#CONSTRAINT: max. photon consumption auf C4 plants 1000 μE\n",
"set_bounds('Im_hnu', (0, 1000), c3_model)\n",
"\n",
"#CONSTRAINT: CO2 uptake rate in C4 plants is higher, about 40 μmol/(m2*s)\n",
"f_CO2 = 40 #[μmol/(m2*s)] \n",
"set_bounds('Im_CO2', (0, f_CO2), c3_model)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:33.340603Z",
"start_time": "2019-05-06T16:04:33.336652+02:00"
},
"code_folding": [],
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [],
"source": [
"#CONSTRAINT: Maintenace cost\n",
"\n",
"atp_cost_L3_m = 0.009111187245501572 #Mitochondria-L3-ATP Cost [µmol*s-1*m-2]\n",
"atp_cost_L3_h = 0.15270708327974447 #Chloroplast-L3-ATP Cost [µmol*s-1*m-2]\n",
"atp_cost_L3_p = 0.0076669066992201855 #Peroxisome-L3-ATP Cost [µmol*s-1*m-2]\n",
"atp_cost_L3_c = 0.042683072918274702 #Cytosl/Other-L3-ATP Cost [µmol*s-1*m-2]\n",
"\n",
"set_fixed_flux('NGAM_c',atp_cost_L3_c + atp_cost_L3_p, c3_model)\n",
"set_fixed_flux('NGAM_m',atp_cost_L3_m, c3_model)\n",
"set_fixed_flux('NGAM_h',atp_cost_L3_h, c3_model)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:33.345389Z",
"start_time": "2019-05-06T16:04:33.342157+02:00"
},
"collapsed": true,
"run_control": {
"marked": true
}
},
"outputs": [],
"source": [
"#CONSTRAINT: fluxes through the chloroplastic NADPH dehydrogenase and plastoquinol oxidase were set to zero \n",
"#because the contributions of NADPH dehydrogenase (Yamamoto et al., 2011) and plastoquinol oxidase \n",
"#(Josse et al., 2000) to photosynthesis are thought to be minor.\n",
"set_bounds('AOX4_h',(0,0), c3_model)\n",
"set_bounds('iCitDHNADP_h',(0,0), c3_model)"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:33.349347Z",
"start_time": "2019-05-06T16:04:33.347061+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [],
"source": [
"#CONSTRAINT: NTT is only active at night\n",
"set_fixed_flux('Tr_NTT',0, c3_model)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:33.353897Z",
"start_time": "2019-05-06T16:04:33.351211+02:00"
},
"collapsed": true,
"run_control": {
"marked": true
}
},
"outputs": [],
"source": [
"#CONSTRAINT: No uncoupled pyruvate transport\n",
"set_bounds('Tr_Pyr1',(0,0), c3_model)\n",
"set_bounds('Tr_Pyr2',(0,0), c3_model)"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"marked": true
}
},
"source": [
"## 2. C4 Model"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"marked": true
}
},
"source": [
"### 2.1 Compose Model"
]
},
{
"cell_type": "markdown",
"metadata": {
"ExecuteTime": {
"end_time": "2018-02-06T17:46:39.521620+01:00",
"start_time": "2018-02-06T17:46:39.518672"
},
"run_control": {
"marked": true
}
},
"source": [
"#### 2.1.1 Two copies of genC3 model and exchange reactions"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:34.260527Z",
"start_time": "2019-05-06T16:04:33.355404+02:00"
},
"collapsed": false,
"hide_input": false,
"run_control": {
"marked": true
}
},
"outputs": [],
"source": [
"c4_model = cobra.Model('c4_model')\n",
"\n",
"cell_types = ['M', 'B']\n",
"\n",
"#duplicate metabolites\n",
"for m in c3_model.metabolites:\n",
" for cell in cell_types:\n",
" m_dt = cobra.Metabolite('['+cell+']_'+m.id, name = m.formula, compartment = m.compartment)\n",
" c4_model.add_metabolites([m_dt])\n",
"\n",
"#duplicate reactions\n",
"for r_c3_obj in c3_model.reactions:\n",
" for cell in cell_types:\n",
" r_c4_obj = cobra.Reaction('['+cell+']_'+r_c3_obj.id)\n",
" r_c4_obj.name = r_c3_obj.name\n",
" r_c4_obj.subsystem = r_c3_obj.subsystem\n",
" r_c4_obj.bounds = r_c3_obj.bounds\n",
" c4_model.add_reaction(r_c4_obj)\n",
" r_c4_obj.add_metabolites({'['+cell+']_'+m_c3_obj.id: r_c3_obj.get_coefficient(m_c3_obj) for m_c3_obj in r_c3_obj.metabolites})\n",
" \n",
" \n",
"#metabolites excluded from M/BS exchange\n",
"no_transport = ['NO3','NO2', 'O2','Na', 'H2S', 'SO4',\n",
" 'H2O','FBP','F26BP','DPGA','H','ACD','AC','M_DASH_THF', '5M_DASH_THF', 'H_DASH_Cys', 'aH_DASH_Cys', 'ORO', 'DHO',\n",
" 'GABA','A_DASH_Ser','PRPP','AD','THF','DHF','ADN','Mas','CoA','GluP',\n",
" 'A_DASH_CoA','cellulose1','cellulose2','cellulose3','starch1',\n",
" 'starch2','starch3','TRXox','TRXrd','Glu_DASH_SeA','T6P','aMet',\n",
" 'PPi', 'P5C', 'NH4', 'Pi', 'CO2', 'OAA','HCO3', \n",
" 'UTP', 'UDP', 'UDPG', 'ATP', 'ADP', 'AMP', 'IMP', 'XMP', \n",
" 'GTP', 'GDP', 'GMP', 'OMP', 'UMP', 'CTP', 'GDP', 'CDP', 'dADP', \n",
" 'dCDP', 'dGDP', 'dUDP', 'dUTP', 'dUMP', 'dTMP', 'dTDP', 'GTP', \n",
" 'dATP', 'dCTP', 'dGTP', 'dTTP', 'NAD', 'NADH', 'NADP', 'NADPH']\n",
"\n",
"#add M/BS exchange reactions\n",
"L_r_transport = []\n",
"for m_c3_obj in c3_model.metabolites:\n",
" if m_c3_obj.id[-1:] == 'c' and m_c3_obj.id[:-2] not in no_transport:\n",
" r_c4_obj = cobra.Reaction('[MB]_'+m_c3_obj.id)\n",
" r_c4_obj.name = '[MB]_'+m_c3_obj.id\n",
" r_c4_obj.subsystem = 'Exchange'\n",
" r_c4_obj.bounds = (-inf, inf)\n",
" c4_model.add_reaction(r_c4_obj)\n",
" r_c4_obj.add_metabolites({'[M]_'+m_c3_obj.id: -1,'[B]_'+m_c3_obj.id: 1 })\n",
" L_r_transport.append('[MB]_'+m_c3_obj.id)"
]
},
{
"cell_type": "markdown",
"metadata": {
"ExecuteTime": {
"end_time": "2018-02-06T17:47:11.482156+01:00",
"start_time": "2018-02-06T17:47:11.480023"
},
"run_control": {
"marked": true
}
},
"source": [
"#### 2.1.2 Adaptations for second unconstrained rubisco population in the bundle sheath"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:34.278656Z",
"start_time": "2019-05-06T16:04:34.261908+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [],
"source": [
"#CONSTRAINT: Add external CO2 species in bundle sheat\n",
"#(the original CO2 species is treated as internal CO2)\n",
"m_list_CO_Ex= ['[B]_CO2_ex_c','[B]_CO2_ex_h','[B]_CO2_ex_m']\n",
"\n",
"for m_id in m_list_CO_Ex:\n",
" m_obj = cobra.Metabolite(m_id)\n",
" c4_model.add_metabolites(m_obj)\n",
"\n",
"#CONSTRAINT: Copy all reactions using internal CO2 and exchange internal with external CO2 in the copied recactions\n",
"r_list_CO_Ex = ['Tr_CO2h', 'RBC_h']\n",
"\n",
"for r_id in r_list_CO_Ex:\n",
" r_obj = c4_model.reactions.get_by_id('[B]_'+r_id)\n",
" r_obj_Ex = cobra.Reaction(r_obj.id+'_Ex')\n",
" r_obj_Ex.name = r_obj.id+'_Ex'\n",
" r_obj_Ex.subsystem = r_obj.subsystem\n",
" r_obj_Ex.bounds = r_obj.bounds\n",
" c4_model.add_reaction(r_obj_Ex)\n",
" r_obj_Ex.add_metabolites({m_obj.id if not m_obj.id[:-2] == '[B]_CO2' else '[B]_CO2_ex'+m_obj.id[-2:]: r_obj.get_coefficient(m_obj) \n",
" for m_obj in r_obj.metabolites})\n",
"\n",
"#CONSTRAINT: CO2 exchange between mesophyll and bundle sheat\n",
"r_c4_obj = cobra.Reaction('[MB]_CO2_c')\n",
"r_c4_obj.name = '[MB]_CO2_c'\n",
"r_c4_obj.subsystem = 'Exchange'\n",
"r_c4_obj.bounds = (-inf, inf)\n",
"c4_model.add_reaction(r_c4_obj)\n",
"r_c4_obj.add_metabolites({'[M]_CO2_c': -1,'[B]_CO2_ex_c': 1 })\n",
"L_r_transport.append('[MB]_CO2_c')"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"marked": true
}
},
"source": [
"### 2.3 Constraints"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:34.282420Z",
"start_time": "2019-05-06T16:04:34.280141+02:00"
},
"collapsed": true,
"run_control": {
"marked": true
}
},
"outputs": [],
"source": [
"#CONSTRAINT: No CO2 uptake in bundle sheat cells due to suberin layer in cell membranes\n",
"set_fixed_flux('[B]_Im_CO2',0, c4_model)"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:34.302048Z",
"start_time": "2019-05-06T16:04:34.284053+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#CONSTRAINT: Output of sucrose : total amino acid and sucrose : starch\n",
"set_fixed_flux_ratio({'[B]_Ex_Suc':2.2,'[B]_Ex_AA':1.0}, c4_model)\n",
"set_fixed_flux_ratio({'[B]_Ex_Suc':1.0,'[B]_Ex_starch':1.0}, c4_model)\n",
"\n",
"set_fixed_flux_ratio({'[M]_Ex_Suc':2.2,'[M]_Ex_AA':1.0}, c4_model)\n",
"set_fixed_flux_ratio({'[M]_Ex_Suc':1.0,'[M]_Ex_starch':1.0}, c4_model)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:34.311895Z",
"start_time": "2019-05-06T16:04:34.303729+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [],
"source": [
"#Reaction variables for light uptake\n",
"B_Im_hnu = c4_model.reactions.get_by_id(\"[B]_Im_hnu\")\n",
"M_Im_hnu = c4_model.reactions.get_by_id(\"[M]_Im_hnu\")\n",
"\n",
"#CONSTRAINT: Total Photon uptake limited to 1000 µE\n",
"const_hnu_sum = c4_model.problem.Constraint( B_Im_hnu.flux_expression + M_Im_hnu.flux_expression,\n",
" lb = 0, ub = 1000)\n",
"\n",
"c4_model.add_cons_vars(const_hnu_sum)\n",
"\n",
"#CONSTRAINT: Total Photon uptake by bundle sheath must be less equal than in mesophyll\n",
"const_hnu_ratio = c4_model.problem.Constraint( M_Im_hnu.flux_expression - B_Im_hnu.flux_expression,\n",
" lb = 0, ub = 1000)\n",
"\n",
"c4_model.add_cons_vars(const_hnu_ratio)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:34.323908Z",
"start_time": "2019-05-06T16:04:34.313443+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#CONSTRAINT: oxygenation : carboxylation = 1 : 3\n",
"set_fixed_flux_ratio({'[B]_RBC_h_Ex':3,'[B]_RBO_h':1}, c4_model)\n",
"set_fixed_flux_ratio({'[M]_RBC_h':3,'[M]_RBO_h':1}, c4_model)"
]
},
{
"cell_type": "markdown",
"metadata": {
"run_control": {
"marked": true
}
},
"source": [
"## 3 FBA"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:43.756348Z",
"start_time": "2019-05-06T16:04:34.325793+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [],
"source": [
"#Dictionary defining the experiments according to the H2O-limitation\n",
"D_exp = {value: value for value in np.arange(0,41,5)}\n",
"\n",
"#Reaction Variables\n",
"B_Ex_Suc = c4_model.reactions.get_by_id(\"[B]_Ex_Suc\")\n",
"B_RBO = c4_model.reactions.get_by_id(\"[B]_RBO_h\")\n",
"M_RBO = c4_model.reactions.get_by_id(\"[M]_RBO_h\")\n",
"M_Im_H2O = c4_model.reactions.get_by_id(\"[M]_Im_H2O\")\n",
"B_Im_H2O = c4_model.reactions.get_by_id(\"[B]_Im_H2O\")\n",
"\n",
"#Set FBA solver\n",
"c4_model.solver = \"glpk\"\n",
"\n",
"#Initialize dictionary to store results\n",
"D_fba={}\n",
"\n",
"#Run every FBA experiment\n",
"\n",
"for value in sorted(D_exp.keys()): #iterate over proportions of carboxylation\n",
" \n",
" #Add H2O-limitation constraint \n",
" const_H2O = c4_model.problem.Constraint( M_Im_H2O.flux_expression + B_Im_H2O.flux_expression,\n",
" lb = 0, ub = value)\n",
" c4_model.add_cons_vars(const_H2O)\n",
" \n",
" #Optimize/Maximize sucrose output\n",
" B_Ex_Suc.objective_coefficient = 1.\n",
" c4_model_copy = c4_model.copy()\n",
" result_fba = c4_model_copy.optimize('maximize')\n",
" del c4_model_copy\n",
" c4_model.objective =[]\n",
" set_fixed_flux(B_Ex_Suc.id,result_fba.fluxes[B_Ex_Suc.id], c4_model)\n",
" \n",
" #Optimize/Minimize oxygenation rate by rubisco (set True)\n",
" if True:\n",
" B_RBO.objective_coefficient = 1.\n",
" M_RBO.objective_coefficient = 1.\n",
" c4_model_copy = c4_model.copy()\n",
" result_fba = c4_model_copy.optimize('minimize')\n",
" del c4_model_copy\n",
" c4_model.objective =[]\n",
" set_fixed_flux(B_RBO.id,result_fba.fluxes[B_RBO.id],c4_model) \n",
" set_fixed_flux(M_RBO.id,result_fba.fluxes[M_RBO.id],c4_model)\n",
" \n",
" \n",
" #Optimize/Minimize total flux\n",
" if result_fba.status == 'optimal': \n",
" c4_model_copy = c4_model.copy()\n",
" result_pfba = cobra.flux_analysis.parsimonious.pfba(c4_model_copy)\n",
" D_fba[value] = result_pfba.fluxes\n",
" del c4_model_copy \n",
" \n",
" #Reset reaction bounds\n",
" set_bounds(B_RBO.id,(0,inf),c4_model)\n",
" set_bounds(M_RBO.id,(0,inf),c4_model)\n",
" set_bounds(B_Ex_Suc.id,(0,inf),c4_model)\n",
"\n",
" #Remove H2O-limitation constraint \n",
" c4_model.remove_cons_vars(const_H2O)"
]
},
{
"cell_type": "markdown",
"metadata": {
"ExecuteTime": {
"end_time": "2018-02-06T17:54:23.611334+01:00",
"start_time": "2018-02-06T17:54:23.609194"
},
"run_control": {
"marked": true
}
},
"source": [
"## 4 Figures"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:43.760434Z",
"start_time": "2019-05-06T16:04:43.757778+02:00"
},
"collapsed": true,
"run_control": {
"marked": true
}
},
"outputs": [],
"source": [
"xaxis_title = 'H2O Uptake [µmol/s/m2]'\n",
"save_fig = False"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:43.999104Z",
"start_time": "2019-05-06T16:04:43.762068+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"linkText": "Export to plot.ly",
"plotlyServerURL": "https://plot.ly",
"showLink": false
},
"data": [
{
"marker": {
"color": "rgb(8,81,156)"
},
"name": "Bundle sheath",
"type": "bar",
"uid": "05e5555c-c7c5-4513-816b-d0f1ebc1edad",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0.1973029584269912,
28.702433730076642,
57.231846666542275,
85.76537433538003,
114.29890200421617,
142.8301335125703,
171.35669962340003,
199.88326573422862,
207.68078246255112
]
},
{
"marker": {
"color": "rgb(166,54,3)"
},
"name": "Mesophyll",
"type": "bar",
"uid": "a56770ed-9a86-45d0-a9f2-219852c12dff",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0.1973029584269912,
28.702433730076642,
57.231846666542275,
85.76537433538003,
114.29890200421617,
142.8301335125703,
171.35669962340003,
199.88326573422862,
207.68078246255112
]
}
],
"layout": {
"barmode": "stack",
"height": 400,
"margin": {
"b": 100
},
"title": {
"text": "Photon Uptake"
},
"width": 600,
"xaxis": {
"tickangle": 45,
"title": {
"text": "H2O Uptake [µmol/s/m2]"
}
},
"yaxis": {
"autorange": true,
"title": {
"text": "Flux [µmol/s/m2]"
}
}
}
},
"text/html": [
"\n",
" \n",
" \n",
"
\n",
" \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"create_bar_plot_rxn(D_fba, D_exp,\n",
" {'[M]_Im_hnu':'Mesophyll','[B]_Im_hnu': 'Bundle sheath'},\n",
" 'Photon Uptake', xaxis_title,\n",
" stacked = True, save_fig=save_fig)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:44.354041Z",
"start_time": "2019-05-06T16:04:44.000621+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"linkText": "Export to plot.ly",
"plotlyServerURL": "https://plot.ly",
"showLink": false
},
"data": [
{
"marker": {
"color": "rgb(8,81,156)"
},
"name": "Bundle sheath",
"type": "bar",
"uid": "b9b3989d-7439-46af-957d-1ae6e7b48e36",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0.03567670011779796,
10.051814776385735,
20.043883987010787,
30.033601921995473,
40.02331985697949,
50.011725700259454,
59.99746560209669,
69.98320550393342,
72.71273045365017
]
},
{
"marker": {
"color": "rgb(166,54,3)"
},
"name": "Mesophyll",
"type": "bar",
"uid": "56597724-1582-411a-8171-421708589e65",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0.03567670011779785,
13.33044027026795,
26.649272706060877,
39.97045641749503,
53.29164012892828,
66.61413593206599,
79.93929767664763,
93.26445942122875,
96.90678956385084
]
}
],
"layout": {
"barmode": "stack",
"height": 400,
"margin": {
"b": 100
},
"title": {
"text": "Photon Uptake by PSII"
},
"width": 600,
"xaxis": {
"tickangle": 45,
"title": {
"text": "H2O Uptake [µmol/s/m2]"
}
},
"yaxis": {
"autorange": true,
"title": {
"text": "Flux [µmol/s/m2]"
}
}
}
},
"text/html": [
"\n",
" \n",
" \n",
"
\n",
" \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"create_bar_plot_met(D_fba, D_exp,\n",
" {'[M]_PSII_h':'Mesophyll','[B]_PSII_h': 'Bundle sheath'},'hnu_h',\n",
" 'Photon Uptake by PSII', xaxis_title, c3_model,\n",
" stacked = True, save_fig=save_fig)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:44.516361Z",
"start_time": "2019-05-06T16:04:44.355432+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"linkText": "Export to plot.ly",
"plotlyServerURL": "https://plot.ly",
"showLink": false
},
"data": [
{
"marker": {
"color": "rgb(8,81,156)"
},
"name": "Bundle sheath",
"type": "bar",
"uid": "8e4116e8-9dac-42f5-87dc-bc3d666b1f55",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0.16162625830919328,
18.65061895369091,
37.18796267953148,
55.73177241338456,
74.2755821472367,
92.81840781231082,
111.35923402130344,
129.90006023029517,
134.96805200890094
]
},
{
"marker": {
"color": "rgb(166,54,3)"
},
"name": "Mesophyll",
"type": "bar",
"uid": "1b21f0e7-f8d1-4be1-aa9e-75070f23a377",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0.16162625830919336,
15.37199345980869,
30.582573960481394,
45.79491791788501,
61.0072618752879,
76.21599758050432,
91.41740194675242,
106.61880631299987,
110.77399289870029
]
}
],
"layout": {
"barmode": "stack",
"height": 400,
"margin": {
"b": 100
},
"title": {
"text": "Photon Uptake by PSI"
},
"width": 600,
"xaxis": {
"tickangle": 45,
"title": {
"text": "H2O Uptake [µmol/s/m2]"
}
},
"yaxis": {
"autorange": true,
"title": {
"text": "Flux [µmol/s/m2]"
}
}
}
},
"text/html": [
"\n",
" \n",
" \n",
"
\n",
" \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"create_bar_plot_met(D_fba, D_exp,\n",
" {'[M]_PSI_h':'Mesophyll','[B]_PSI_h': 'Bundle sheath'},'hnu_h',\n",
" 'Photon Uptake by PSI', xaxis_title, c3_model,\n",
" stacked = True, save_fig=save_fig)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:44.670029Z",
"start_time": "2019-05-06T16:04:44.517789+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"linkText": "Export to plot.ly",
"plotlyServerURL": "https://plot.ly",
"showLink": false
},
"data": [
{
"marker": {
"color": "rgb(8,81,156)"
},
"name": "Bundle sheath",
"type": "bar",
"uid": "01a33c1c-fc82-4a4e-a28e-0fc2d09a8f80",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0.05946116686299651,
0.21067848062214634,
0.36189579438129926,
0.5131131081404474,
0.6643304218995612,
0.815547735658697,
0.9667650494178648,
1.117982363177021,
1.1593164490627015
]
},
{
"marker": {
"color": "rgb(166,54,3)"
},
"name": "Mesophyll",
"type": "bar",
"uid": "e0d7af45-688e-470d-b6ad-09a049b29a94",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0.059461166862996476,
0.3933474614155366,
0.727233755968047,
1.061120050520702,
1.395006345073128,
1.728892639625655,
2.0627789341782,
2.396665228730727,
2.4879304709970658
]
}
],
"layout": {
"barmode": "stack",
"height": 400,
"margin": {
"b": 100
},
"title": {
"text": "ATP Synthesis Mitochondria"
},
"width": 600,
"xaxis": {
"tickangle": 45,
"title": {
"text": "H2O Uptake [µmol/s/m2]"
}
},
"yaxis": {
"autorange": true,
"title": {
"text": "Flux [µmol/s/m2]"
}
}
}
},
"text/html": [
"\n",
" \n",
" \n",
"
\n",
" \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"create_bar_plot_met(D_fba, D_exp,\n",
" {'[M]_cplx5_m':'Mesophyll','[B]_cplx5_m': 'Bundle sheath'},'ATP_m',\n",
" 'ATP Synthesis Mitochondria', xaxis_title, c3_model,\n",
" stacked = True, save_fig=save_fig)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:44.843320Z",
"start_time": "2019-05-06T16:04:44.671906+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"linkText": "Export to plot.ly",
"plotlyServerURL": "https://plot.ly",
"showLink": false
},
"data": [
{
"marker": {
"color": "rgb(8,81,156)"
},
"name": "Bundle sheath",
"type": "bar",
"uid": "87c2ce7a-a4b0-4d0c-a705-de6fcb3fb45e",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0.1527070832797438,
16.137665259594478,
32.176991682778784,
48.223371932885705,
64.26975218299184,
80.315476387246,
96.35986762077928,
112.4042588543118,
116.78986939548845
]
},
{
"marker": {
"color": "rgb(166,54,3)"
},
"name": "Mesophyll",
"type": "bar",
"uid": "e4e5ed64-338a-4d15-963e-edc64af16492",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0.15270708327974394,
12.039383392241707,
23.92025578396618,
35.80230381351126,
47.68435184305584,
59.56246359748785,
71.43257752759054,
83.3026914576927,
86.54729550773759
]
}
],
"layout": {
"barmode": "stack",
"height": 400,
"margin": {
"b": 100
},
"title": {
"text": "ATP Synthesis Chloroplast"
},
"width": 600,
"xaxis": {
"tickangle": 45,
"title": {
"text": "H2O Uptake [µmol/s/m2]"
}
},
"yaxis": {
"autorange": true,
"title": {
"text": "Flux [µmol/s/m2]"
}
}
}
},
"text/html": [
"\n",
" \n",
" \n",
"
\n",
" \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"create_bar_plot_met(D_fba, D_exp,\n",
" {'[M]_ATPase_h':'Mesophyll','[B]_ATPase_h': 'Bundle sheath'},'ATP_h',\n",
" 'ATP Synthesis Chloroplast', xaxis_title, c3_model,\n",
" stacked = True, save_fig=save_fig)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:45.020885Z",
"start_time": "2019-05-06T16:04:44.844742+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"linkText": "Export to plot.ly",
"plotlyServerURL": "https://plot.ly",
"showLink": false
},
"data": [
{
"marker": {
"color": "rgb(49,130,189)"
},
"name": "Bundle sheat (unconstrained)",
"type": "bar",
"uid": "8ae45bbd-9137-4f9c-b182-c154b5800667",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0,
5.523603133659998,
11.047206267319996,
16.570809400980043,
22.09441253463997,
27.618015668299883,
33.14161880196008,
38.665221935620025,
40.17505623071167
]
},
{
"marker": {
"color": "rgb(8,81,156)"
},
"name": "Bundle sheat (constrained)",
"type": "bar",
"uid": "28aa8b50-d77f-4686-a5a3-b2bfd1615c90",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0,
0,
0,
0,
0,
0,
0,
0,
0
]
},
{
"marker": {
"color": "rgb(166,54,3)"
},
"name": "Mesophyll (constrained)",
"type": "bar",
"uid": "cfc674cc-2415-40ae-84d4-0d266f6ae1ba",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0,
4.0561788976854e-16,
2.4794862771201664e-16,
0,
0,
0,
0,
0,
0
]
}
],
"layout": {
"barmode": "stack",
"height": 400,
"margin": {
"b": 100
},
"title": {
"text": "Carboxylation by Rubisco"
},
"width": 600,
"xaxis": {
"tickangle": 45,
"title": {
"text": "H2O Uptake [µmol/s/m2]"
}
},
"yaxis": {
"autorange": true,
"title": {
"text": "Flux [µmol/s/m2]"
}
}
}
},
"text/html": [
"\n",
" \n",
" \n",
"
\n",
" \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"create_bar_plot_rxn(D_fba, D_exp,\n",
" {'[M]_RBC_h':'Mesophyll (constrained)','[B]_RBC_h_Ex':'Bundle sheat (constrained)',\n",
" '[B]_RBC_h': 'Bundle sheat (unconstrained)'},\n",
" 'Carboxylation by Rubisco', xaxis_title,\n",
" stacked = True, save_fig=save_fig)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:45.424754Z",
"start_time": "2019-05-06T16:04:45.022283+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"linkText": "Export to plot.ly",
"plotlyServerURL": "https://plot.ly",
"showLink": false
},
"data": [
{
"marker": {
"color": "rgb(178,223,138)"
},
"name": "NAD-ME",
"type": "bar",
"uid": "b004d1cb-1f10-4dca-9daa-6dede3d46f96",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0,
0.044300823688475134,
0.08860164737695032,
0.13290247106542535,
0.17720329475390037,
0.22150411844237475,
0.26580494213085126,
0.31010576581932575,
0.3222150541384066
]
},
{
"marker": {
"color": "rgb(166,206,227)"
},
"name": "NADP-ME",
"type": "bar",
"uid": "e8a8ad2b-e7b4-4630-b289-5514845b1b22",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0,
5.027630764533101,
10.139502558816154,
15.25960381784184,
20.379705076867328,
25.49980633589283,
30.619907594918562,
35.74000885394404,
37.13954902512507
]
},
{
"marker": {
"color": "rgb(31,120,180)"
},
"name": "PEPCK",
"type": "bar",
"uid": "ed3acc2f-8d08-4980-b4de-0cb4aa329a65",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0,
0.3525220828975492,
0.6208031360451454,
0.8808547244502098,
1.1409063128552586,
1.4009579012603128,
1.6610094896654266,
1.9210610780705482,
1.9921441731384282
]
}
],
"layout": {
"barmode": "stack",
"height": 400,
"margin": {
"b": 100
},
"title": {
"text": "Decarboxylation Enzymes"
},
"width": 600,
"xaxis": {
"tickangle": 45,
"title": {
"text": "H2O Uptake [µmol/s/m2]"
}
},
"yaxis": {
"autorange": true,
"title": {
"text": "Flux [µmol/s/m2]"
}
}
}
},
"text/html": [
"\n",
" \n",
" \n",
"
\n",
" \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"create_bar_plot_rxn(D_fba, D_exp,\n",
" {'[B]_MalDH4_h': 'NADP-ME', '[B]_MalDH2_m': 'NAD-ME', '[B]_PEPC1_c': 'PEPCK',},\n",
" 'Decarboxylation Enzymes', xaxis_title,\n",
" c=True, stacked = True, save_fig=save_fig)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:45.582959Z",
"start_time": "2019-05-06T16:04:45.426116+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"linkText": "Export to plot.ly",
"plotlyServerURL": "https://plot.ly",
"showLink": false
},
"data": [
{
"marker": {
"color": "rgb(8,81,156)"
},
"name": "Bundle sheath",
"type": "bar",
"uid": "3e8a3404-a298-4566-afea-85ba6ea1069c",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0,
0,
0,
0,
0,
0,
0,
0,
0
]
},
{
"marker": {
"color": "rgb(166,54,3)"
},
"name": "Mesophyll",
"type": "bar",
"uid": "20d59731-6ed5-4e12-a7c0-779ff6aa0d6c",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
0,
5.497617152665245,
10.995234305330488,
16.492851457995833,
21.99046861066096,
27.48808576332611,
32.98570291599155,
38.48332006865674,
39.98605129635777
]
}
],
"layout": {
"barmode": "stack",
"height": 400,
"margin": {
"b": 100
},
"title": {
"text": "PEPC"
},
"width": 600,
"xaxis": {
"tickangle": 45,
"title": {
"text": "H2O Uptake [µmol/s/m2]"
}
},
"yaxis": {
"autorange": true,
"title": {
"text": "Flux [µmol/s/m2]"
}
}
}
},
"text/html": [
"\n",
" \n",
" \n",
"
\n",
" \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"create_bar_plot_rxn(D_fba, D_exp,\n",
" {'[M]_PEPC2_c': 'Mesophyll', '[B]_PEPC2_c': 'Bundle sheath'},\n",
" 'PEPC', xaxis_title,\n",
" stacked = True, save_fig=save_fig)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:45.733716Z",
"start_time": "2019-05-06T16:04:45.584371+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"linkText": "Export to plot.ly",
"plotlyServerURL": "https://plot.ly",
"showLink": false
},
"data": [
{
"marker": {
"color": "rgb(8,81,156)"
},
"name": "Bundle sheath",
"type": "bar",
"uid": "cfcacf4f-63e5-411b-9b66-745a8caa8adb",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
5.391308817846247e-17,
0.011698485909075245,
0.02339697181815689,
0.03509545772724468,
0.0467939436363057,
0.058492429545381815,
0.07019091545446901,
0.0818894013635316,
0.08508709221836146
]
},
{
"marker": {
"color": "rgb(166,54,3)"
},
"name": "Mesophyll",
"type": "bar",
"uid": "c0962513-7ed1-4d47-b14b-2bd38b824112",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
1.815619346725773e-18,
5.498000709580288,
10.996001419160589,
16.49400212874098,
21.99200283832116,
27.49000354790136,
32.988004257481855,
38.486004967062094,
39.98884103708625
]
}
],
"layout": {
"barmode": "stack",
"height": 400,
"margin": {
"b": 100
},
"title": {
"text": "PyrPiDK"
},
"width": 600,
"xaxis": {
"tickangle": 45,
"title": {
"text": "H2O Uptake [µmol/s/m2]"
}
},
"yaxis": {
"autorange": true,
"title": {
"text": "Flux [µmol/s/m2]"
}
}
}
},
"text/html": [
"\n",
" \n",
" \n",
"
\n",
" \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"create_bar_plot_rxn(D_fba, D_exp,\n",
" {'[M]_PyrPiDK_h': 'Mesophyll', '[B]_PyrPiDK_h': 'Bundle sheath'},\n",
" 'PyrPiDK', xaxis_title,\n",
" stacked = True, save_fig=save_fig)"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"ExecuteTime": {
"end_time": "2019-05-06T14:04:46.034549Z",
"start_time": "2019-05-06T16:04:45.735110+02:00"
},
"collapsed": false,
"run_control": {
"marked": true
}
},
"outputs": [
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"linkText": "Export to plot.ly",
"plotlyServerURL": "https://plot.ly",
"showLink": false
},
"data": [
{
"colorbar": {
"title": {
"side": "right",
"text": "Flux [µmol/s/m2]"
}
},
"colorscale": [
[
0,
"rgb(255,245,240)"
],
[
0.125,
"rgb(254,224,210)"
],
[
0.25,
"rgb(252,187,161)"
],
[
0.375,
"rgb(252,146,114)"
],
[
0.5,
"rgb(251,106,74)"
],
[
0.625,
"rgb(239,59,44)"
],
[
0.75,
"rgb(203,24,29)"
],
[
0.875,
"rgb(165,15,21)"
],
[
1,
"rgb(103,0,13)"
]
],
"type": "heatmap",
"uid": "b1a72fb7-b67a-4796-992e-4851dd9d7dfb",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
"Gln",
"cACN",
"PEP",
"Asp",
"GAP",
"DHAP",
"Mal"
],
"z": [
[
null,
null,
null,
0.12456010816305021,
0.16608014421739994,
0.2076001802717492,
0.24912021632610085,
0.29064025238045027,
0.3019894338569917
],
[
null,
null,
null,
0.1329024710654278,
0.17720329475390054,
0.22150411844237494,
0.26580494213085115,
0.31010576581932564,
0.3222150541384068
],
[
null,
0.12369710510418126,
0.24739421020836144,
0.3710913153125462,
0.4947884204167398,
0.6184855255209251,
0.7421826306251083,
0.8658797357292695,
0.8996913849319248
],
[
null,
0.4433166401041685,
0.8202306005173019,
1.188915096187924,
1.5575995918584717,
1.9262840875290534,
2.2949685831996995,
2.6636530788703303,
2.7644301409007475
],
[
null,
0.37757981979217264,
0.7279755161495572,
1.0748442990457323,
1.4217130819420905,
1.768909887764413,
2.1167731789476076,
2.4646364701307912,
2.559722216576134
],
[
null,
0.4221683111669418,
0.8171524988990835,
1.2086097731700505,
1.600067047441146,
1.991852344638232,
2.3843041271961916,
2.776755909754138,
2.8840295762608945
],
[
null,
5.044040365083443,
10.154483409857923,
15.27315591937501,
20.39182842889196,
25.510500938408903,
30.629173447926053,
35.74784595744298,
37.14699559097042
]
]
}
],
"layout": {
"margin": {
"b": 100
},
"title": {
"text": "Mesophyll ==> Bundlesheat Transport"
},
"width": 500,
"xaxis": {
"tickangle": 45,
"title": {
"text": "H2O Uptake [µmol/s/m2]"
}
},
"yaxis": {
"tickmode": "array",
"ticktext": [
"Gln",
"cACN",
"PEP",
"Asp",
"GAP",
"DHAP",
"Mal"
],
"tickvals": [
0,
1,
2,
3,
4,
5,
6
],
"title": {
"text": "Transport Metabolites"
}
}
}
},
"text/html": [
"\n",
" \n",
" \n",
"
\n",
" \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/vnd.plotly.v1+json": {
"config": {
"linkText": "Export to plot.ly",
"plotlyServerURL": "https://plot.ly",
"showLink": false
},
"data": [
{
"colorbar": {
"title": {
"side": "right",
"text": "Flux [µmol/s/m2]"
}
},
"colorscale": [
[
0,
"rgb(247,251,255)"
],
[
0.125,
"rgb(222,235,247)"
],
[
0.25,
"rgb(198,219,239)"
],
[
0.375,
"rgb(158,202,225)"
],
[
0.5,
"rgb(107,174,214)"
],
[
0.625,
"rgb(66,146,198)"
],
[
0.75,
"rgb(33,113,181)"
],
[
0.875,
"rgb(8,81,156)"
],
[
1,
"rgb(8,48,107)"
]
],
"type": "heatmap",
"uid": "73864bd0-cc5e-4b91-92be-82a83ca6138a",
"x": [
0,
5,
10,
15,
20,
25,
30,
35,
40
],
"y": [
"Cit",
"Glu",
"Ala",
"PGA",
"Pyr"
],
"z": [
[
null,
null,
null,
0.13290247106542782,
0.1772032947539005,
0.22150411844237494,
0.2658049421308512,
0.31010576581932564,
0.3222150541384066
],
[
null,
null,
null,
0.10130619709512172,
0.17221705485821587,
0.21527131857276904,
0.2491202163261005,
0.29064025238045027,
0.30198943385699023
],
[
null,
0.39613913955280095,
0.680012554390352,
0.9460763974386603,
1.196672534794792,
1.475125266199456,
1.762783363565419,
2.042770322630339,
2.119302597441816
],
[
null,
0.9231895314532681,
1.792010816036932,
2.653778273698236,
3.5155457313598504,
4.3779692348734125,
5.241725709108697,
6.105482183343968,
6.34158335061661
],
[
null,
5.101190345426143,
10.314646415567555,
15.545912057498304,
20.792645405121007,
26.011522158695204,
31.221193546308406,
36.43853607222237,
37.864656393369614
]
]
}
],
"layout": {
"margin": {
"b": 100
},
"title": {
"text": "Bundlesheat ==> Mesophyll Transport"
},
"width": 500,
"xaxis": {
"tickangle": 45,
"title": {
"text": "H2O Uptake [µmol/s/m2]"
}
},
"yaxis": {
"tickmode": "array",
"ticktext": [
"Cit",
"Glu",
"Ala",
"PGA",
"Pyr"
],
"tickvals": [
0,
1,
2,
3,
4
],
"title": {
"text": "Transport Metabolites"
}
}
}
},
"text/html": [
"\n",
" \n",
" \n",
"
\n",
" \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plot_transport(D_fba, D_exp, L_r_transport, xaxis_title, save_fig=save_fig)"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [default]",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
},
"latex_envs": {
"LaTeX_envs_menu_present": true,
"autoclose": false,
"autocomplete": true,
"bibliofile": "biblio.bib",
"cite_by": "apalike",
"current_citInitial": 1,
"eqLabelWithNumbers": true,
"eqNumInitial": 1,
"hotkeys": {
"equation": "Ctrl-E",
"itemize": "Ctrl-I"
},
"labels_anchors": false,
"latex_user_defs": false,
"report_style_numbering": false,
"user_envs_cfg": false
}
},
"nbformat": 4,
"nbformat_minor": 2
}