{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Control parameters\n", "This tutorial demonstrates how to implement a discontinous switch in the value of a parameter during simulation of a DFBA model, corresponding to a switch (at $t=7.7$ hours) from aerobic to anaerobic growth of _Saccharomyces cerevisiae_ (based on the iND750 genome-scale model) with glucose as a limiting carbon substrate. \n", "\n", "This example can be generalised to any number of discontinuous change points involving any number of parameters, implemented through use of the `ControlParameter` class. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from os.path import dirname, join, pardir\n", "\n", "from cobra.io import read_sbml_model\n", "\n", "from dfba import ControlParameter, DfbaModel, ExchangeFlux, KineticVariable" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 1. Dfba model" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# DfbaModel instance initialized with cobra model\n", "path_to_model = join(pardir, \"sbml-models\", \"iND750.xml.gz\")\n", "fba_model = read_sbml_model(path_to_model)\n", "fba_model.solver = \"glpk\"\n", "dfba_model = DfbaModel(fba_model)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As in the [previous tutorial](example1.ipynb), instantiate and add kinetic variables and exchange fluxes to model together with rhs expressions for the former." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "# instances of KineticVariable\n", "V = KineticVariable(\"Volume\")\n", "X = KineticVariable(\"Biomass\")\n", "Gluc = KineticVariable(\"Glucose\")\n", "Eth = KineticVariable(\"Ethanol\")\n", "Glyc = KineticVariable(\"Glycerol\")\n", "\n", "# add kinetic variables to dfba_model\n", "dfba_model.add_kinetic_variables([V, X, Gluc, Eth, Glyc])\n", "\n", "# instances of ExchangeFlux\n", "mu = ExchangeFlux(\"BIOMASS_SC4_bal\")\n", "v_G = ExchangeFlux(\"EX_glc__D_e\")\n", "v_E = ExchangeFlux(\"EX_etoh_e\")\n", "v_H = ExchangeFlux(\"EX_glyc_e\")\n", "v_O = ExchangeFlux(\"EX_o2_e\")\n", "\n", "# add exchange fluxes to dfba_model\n", "dfba_model.add_exchange_fluxes([mu, v_G, v_E, v_H, v_O])\n", "\n", "# add rhs expressions for kinetic variables in dfba_model\n", "\n", "Vgmax = 8.5\n", "Kg = 0.5\n", "D = 0.044\n", "Gin = 100.0\n", "Vomax = 8.0\n", "\n", "dfba_model.add_rhs_expression(\"Volume\", D)\n", "dfba_model.add_rhs_expression(\"Biomass\", mu * X - D * X / V)\n", "dfba_model.add_rhs_expression(\"Glucose\", v_G * X + D * (Gin - Gluc) / V)\n", "dfba_model.add_rhs_expression(\"Ethanol\", v_E * X - D * Eth / V)\n", "dfba_model.add_rhs_expression(\"Glycerol\", v_H * X - D * Glyc / V)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 2. The Control Parameter\n", "Instantiate control parameters to appear in model. Here `Oxy` is defined as an object of the class `ControlParameter` and instantiated by providing a list of change points (ordered time points at which the control parameter value will change) and the corresponding values for each interval. The last command provides a symbolic expression for calculating the lower bound of an exchange flux in the model, which depends on this control parameter.\n", "\n", "In this example, only one control parameter with one change point has been added to one exchange bound expression. In general, any number of control parameters with any number of change points can be added to any number of lower/upper bound expressions or kinetic variable rhs expressions. The only requirement is that a list containing any `ControlParameter` object that appears in a symbolic expression be supplied when the corresponding expression is added to the model. " ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# add lower/upper bound expressions for exchange fluxes in dfba_model together\n", "# with expression that must be non-negative for correct evaluation of bounds\n", "\n", "Oxy = ControlParameter(\"Oxygen\", [7.7], [Vomax, 0.0])\n", "dfba_model.add_exchange_flux_lb(\n", " \"EX_glc__D_e\", Vgmax * (Gluc / (Kg + Gluc)), Gluc\n", ")\n", "dfba_model.add_exchange_flux_lb(\"EX_o2_e\", Oxy, control_parameters=Oxy)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 3. Add initial conditions to the model and launch the simulation." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "# add initial conditions for kinetic variables in dfba_model biomass (gDW/L),\n", "# metabolites (g/L)\n", "dfba_model.add_initial_conditions(\n", " {\n", " \"Volume\": 0.5,\n", " \"Biomass\": 0.05,\n", " \"Glucose\": 10.0,\n", " \"Ethanol\": 0.0,\n", " \"Glycerol\": 0.0,\n", " }\n", ")\n", "\n", "# simulate model across interval t = [0.0,16.0](hours) with outputs for plotting\n", "# every 0.1h\n", "concentrations, trajectories = dfba_model.simulate(0.0, 16.0, 0.1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## 4. Plotting the results\n", "
\n", "\n", "**Note:** In order to plot the results, one of [plotly](https://plot.ly/python/) or [matplotlib](https://matplotlib.org/) should be used. See [Visualization](plotting.rst) to install them along with\n", "dfba.\n", "\n", "
\n", "\n", "\n", "We will use plotly for this examples, but matplotlib could be as well used as in the [previous example](example1.ipynb)." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "from dfba.plot.plotly import *\n", "\n", "import plotly.io as pio\n", "\n", "# in plotly version 4, default version is different than in 3\n", "pio.templates.default = \"plotly_white\"" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ " \n", " " ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.plotly.v1+json": { "config": { "plotlyServerURL": "https://plot.ly" }, "data": [ { "line": { "dash": "dot" }, "mode": "lines", "name": "Ethanol", "type": "scatter", "x": [ 0, 0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6, 0.7, 0.7999999999999999, 0.8999999999999999, 0.9999999999999999, 1.0999999999999999, 1.2, 1.3, 1.4000000000000001, 1.5000000000000002, 1.6000000000000003, 1.7000000000000004, 1.8000000000000005, 1.9000000000000006, 2.0000000000000004, 2.1000000000000005, 2.2000000000000006, 2.3000000000000007, 2.400000000000001, 2.500000000000001, 2.600000000000001, 2.700000000000001, 2.800000000000001, 2.9000000000000012, 3.0000000000000013, 3.1000000000000014, 3.2000000000000015, 3.3000000000000016, 3.4000000000000017, 3.5000000000000018, 3.600000000000002, 3.700000000000002, 3.800000000000002, 3.900000000000002, 4.000000000000002, 4.100000000000001, 4.200000000000001, 4.300000000000001, 4.4, 4.5, 4.6, 4.699999999999999, 4.799999999999999, 4.899999999999999, 4.999999999999998, 5.099999999999998, 5.1999999999999975, 5.299999999999997, 5.399999999999997, 5.4999999999999964, 5.599999999999996, 5.699999999999996, 5.799999999999995, 5.899999999999995, 5.999999999999995, 6.099999999999994, 6.199999999999994, 6.299999999999994, 6.399999999999993, 6.499999999999993, 6.5999999999999925, 6.699999999999992, 6.799999999999992, 6.8999999999999915, 6.999999999999991, 7.099999999999991, 7.19999999999999, 7.29999999999999, 7.39999999999999, 7.499999999999989, 7.599999999999989, 7.699999999999989, 7.799999999999988, 7.899999999999988, 7.999999999999988, 8.099999999999987, 8.199999999999987, 8.299999999999986, 8.399999999999986, 8.499999999999986, 8.599999999999985, 8.699999999999985, 8.799999999999985, 8.899999999999984, 8.999999999999984, 9.099999999999984, 9.199999999999983, 9.299999999999983, 9.399999999999983, 9.499999999999982, 9.599999999999982, 9.699999999999982, 9.799999999999981, 9.89999999999998, 9.99999999999998, 10.09999999999998, 10.19999999999998, 10.29999999999998, 10.399999999999979, 10.499999999999979, 10.599999999999978, 10.699999999999978, 10.799999999999978, 10.899999999999977, 10.999999999999977, 11.099999999999977, 11.199999999999976, 11.299999999999976, 11.399999999999975, 11.499999999999975, 11.599999999999975, 11.699999999999974, 11.799999999999974, 11.899999999999974, 11.999999999999973, 12.099999999999973, 12.199999999999973, 12.299999999999972, 12.399999999999972, 12.499999999999972, 12.599999999999971, 12.69999999999997, 12.79999999999997, 12.89999999999997, 12.99999999999997, 13.09999999999997, 13.199999999999969, 13.299999999999969, 13.399999999999968, 13.499999999999968, 13.599999999999968, 13.699999999999967, 13.799999999999967, 13.899999999999967, 13.999999999999966, 14.099999999999966, 14.199999999999966, 14.299999999999965, 14.399999999999965, 14.499999999999964, 14.599999999999964, 14.699999999999964, 14.799999999999963, 14.899999999999963, 14.999999999999963, 15.099999999999962, 15.199999999999962, 15.299999999999962, 15.399999999999961, 15.499999999999961, 15.59999999999996, 15.69999999999996, 15.79999999999996, 15.89999999999996, 15.99999999999996 ], "xaxis": "x", "y": [ 0, 0.04184351964510492, 0.08503154370485883, 0.12962894433233615, 0.1756405942315237, 0.22315831366868988, 0.27216528922808925, 0.3227893009948357, 0.3750189120621343, 0.4289843393882807, 0.4846886439571729, 0.5422061911093903, 0.6016131541645703, 0.6629959013743625, 0.7264544466339106, 0.7920646133434328, 0.8599116157962443, 0.930090194665064, 1.0026917616521835, 1.0778004579112515, 1.155504410775492, 1.2359336543905544, 1.3192167367129437, 1.4054269844086993, 1.4946645488082888, 1.5870980169347932, 1.6829355011652907, 1.782238022102108, 1.8851305981067061, 1.9917687750557094, 2.102355312407849, 2.216987318783818, 2.3358046279712688, 2.4589819900719534, 2.5868098453027693, 2.7193744671255167, 2.8568404570488495, 2.9994044293367246, 3.147505229039542, 3.301210861936319, 3.460726002274127, 3.6262616524496614, 3.798232633870707, 3.9767703336382327, 4.162107305314777, 4.354476102462876, 4.554321534791268, 4.761820555103837, 4.9772260275786575, 5.200799804785399, 5.433123414916802, 5.6744298942130245, 5.924991049106548, 6.185119340033187, 6.455445380611918, 6.736397497859677, 7.028352672920691, 7.3317741414993325, 7.64710334265915, 7.974813042655293, 8.315414314220872, 8.669420043909343, 9.037360225547904, 9.419780255412515, 9.817239033019652, 10.23031181059617, 10.659728058119779, 11.106222593408278, 11.570281838327602, 12.052512311283909, 12.553708679031706, 13.074869128148073, 13.616459008952672, 14.179165119579478, 14.76393364559065, 15.372340071167802, 16.004753899934947, 16.662016695109124, 17.831305237993423, 19.01751350289974, 20.216605403469572, 21.44187233301423, 22.66912089751268, 23.918625816532955, 25.17283397051267, 26.453452270702545, 27.740576586334008, 29.048436101463984, 30.361831276599954, 31.69131058860598, 33.03261344757465, 34.385739853505946, 35.75593383371268, 37.14217005681832, 38.54328462442048, 39.95973404514502, 41.394974527810696, 42.84687200126856, 44.3154264655186, 45.801706792486115, 47.30651654814821, 48.82902804632857, 50.36924128702717, 51.92794861253653, 53.50513495662554, 55.10085992618689, 56.715164724305936, 58.347629609859204, 59.99856259437961, 61.66800731241931, 63.35505554670903, 65.05895423611872, 66.77992029031431, 68.51769512717541, 70.2691367112809, 72.03445603282613, 73.81151525524221, 75.59500263907381, 77.38249124929754, 79.16573761042385, 80.93444247011422, 82.67127024392111, 84.34987763437994, 85.92385159158599, 87.30665750867786, 88.38135954710252, 89.08546277352534, 89.54316033056386, 89.91101977987653, 90.25429619383304, 90.58986434702038, 90.92128912927203, 91.24874395796117, 91.57170450307068, 91.89312539908123, 92.20669514251796, 92.518856729866, 92.83101831721406, 93.14153451104123, 93.44480961547208, 93.74808471990295, 94.0513598243338, 94.35018820375859, 94.64495109992795, 94.93971399609732, 95.2344768922667, 95.52592052988412, 95.81523439565368, 96.10284064330507, 96.38873927283825, 96.67293028425325, 96.95541367755006, 97.23618945272868, 97.51480549694777, 97.79115432439778, 98.06558013241131, 98.33808292098834, 98.60866269012891, 98.87731943983299, 99.14405317010059, 99.40880695090519 ], "yaxis": "y2" }, { "line": { "dash": "dot" }, "mode": "lines", "name": "Glucose", "type": "scatter", "x": [ 0, 0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6, 0.7, 0.7999999999999999, 0.8999999999999999, 0.9999999999999999, 1.0999999999999999, 1.2, 1.3, 1.4000000000000001, 1.5000000000000002, 1.6000000000000003, 1.7000000000000004, 1.8000000000000005, 1.9000000000000006, 2.0000000000000004, 2.1000000000000005, 2.2000000000000006, 2.3000000000000007, 2.400000000000001, 2.500000000000001, 2.600000000000001, 2.700000000000001, 2.800000000000001, 2.9000000000000012, 3.0000000000000013, 3.1000000000000014, 3.2000000000000015, 3.3000000000000016, 3.4000000000000017, 3.5000000000000018, 3.600000000000002, 3.700000000000002, 3.800000000000002, 3.900000000000002, 4.000000000000002, 4.100000000000001, 4.200000000000001, 4.300000000000001, 4.4, 4.5, 4.6, 4.699999999999999, 4.799999999999999, 4.899999999999999, 4.999999999999998, 5.099999999999998, 5.1999999999999975, 5.299999999999997, 5.399999999999997, 5.4999999999999964, 5.599999999999996, 5.699999999999996, 5.799999999999995, 5.899999999999995, 5.999999999999995, 6.099999999999994, 6.199999999999994, 6.299999999999994, 6.399999999999993, 6.499999999999993, 6.5999999999999925, 6.699999999999992, 6.799999999999992, 6.8999999999999915, 6.999999999999991, 7.099999999999991, 7.19999999999999, 7.29999999999999, 7.39999999999999, 7.499999999999989, 7.599999999999989, 7.699999999999989, 7.799999999999988, 7.899999999999988, 7.999999999999988, 8.099999999999987, 8.199999999999987, 8.299999999999986, 8.399999999999986, 8.499999999999986, 8.599999999999985, 8.699999999999985, 8.799999999999985, 8.899999999999984, 8.999999999999984, 9.099999999999984, 9.199999999999983, 9.299999999999983, 9.399999999999983, 9.499999999999982, 9.599999999999982, 9.699999999999982, 9.799999999999981, 9.89999999999998, 9.99999999999998, 10.09999999999998, 10.19999999999998, 10.29999999999998, 10.399999999999979, 10.499999999999979, 10.599999999999978, 10.699999999999978, 10.799999999999978, 10.899999999999977, 10.999999999999977, 11.099999999999977, 11.199999999999976, 11.299999999999976, 11.399999999999975, 11.499999999999975, 11.599999999999975, 11.699999999999974, 11.799999999999974, 11.899999999999974, 11.999999999999973, 12.099999999999973, 12.199999999999973, 12.299999999999972, 12.399999999999972, 12.499999999999972, 12.599999999999971, 12.69999999999997, 12.79999999999997, 12.89999999999997, 12.99999999999997, 13.09999999999997, 13.199999999999969, 13.299999999999969, 13.399999999999968, 13.499999999999968, 13.599999999999968, 13.699999999999967, 13.799999999999967, 13.899999999999967, 13.999999999999966, 14.099999999999966, 14.199999999999966, 14.299999999999965, 14.399999999999965, 14.499999999999964, 14.599999999999964, 14.699999999999964, 14.799999999999963, 14.899999999999963, 14.999999999999963, 15.099999999999962, 15.199999999999962, 15.299999999999962, 15.399999999999961, 15.499999999999961, 15.59999999999996, 15.69999999999996, 15.79999999999996, 15.89999999999996, 15.99999999999996 ], "xaxis": "x", "y": [ 10, 10.744027196463101, 11.473313977808537, 12.188320325560907, 12.88907926758969, 13.576078184465754, 14.249227439537158, 14.90909472808056, 15.555628743448356, 16.189285623119222, 16.810076396851834, 17.41820549900502, 18.013897395988245, 18.5973079564401, 19.16863750253424, 19.72806698089604, 20.27578485985324, 20.811868074952283, 21.336432536602448, 21.849679277217632, 22.35176265988692, 22.84268321361896, 23.32244692301609, 23.791262482358288, 24.249240116312933, 24.696320244126575, 25.132345213131646, 25.557522340747937, 25.971900150555264, 26.37547988429513, 26.768189658040505, 27.150121222729968, 27.521300155411915, 27.881697982458892, 28.23110714121085, 28.569636120440574, 28.89727215660716, 29.213954332991435, 29.519257372414692, 29.813313809400544, 30.096050603506022, 30.367386322923142, 30.626969264149402, 30.874823568261156, 31.110839225791835, 31.33490622727486, 31.546650468645247, 31.746031120341403, 31.932912901902494, 32.1071493492779, 32.2682099489798, 32.41598285609752, 32.55030964828541, 32.67098306260451, 32.777432507816755, 32.86931840230757, 32.946359801023554, 33.00817725691831, 33.05442976203136, 33.08473597707863, 33.098663882778105, 33.09578489005705, 33.0756649175097, 33.03785404761244, 32.981875003546406, 32.90724043795298, 32.81329688830188, 32.699382603870994, 32.565104877956045, 32.409941456130596, 32.23317304986878, 32.03386723911686, 31.811649604531887, 31.56591382055945, 31.29578452349282, 30.999733637429355, 30.677483936529697, 30.32826857199324, 29.957959491088804, 29.573423699991373, 29.178206593066946, 28.761701981923473, 28.343586521334764, 27.90770211588926, 27.46808680986165, 27.007767008795035, 26.542425148798536, 26.06107757920303, 25.575539304654942, 25.077824727377575, 24.57115927581245, 24.05554294995957, 23.527253748930985, 22.987019411936696, 22.435666027520647, 21.872914896060678, 21.296655993699037, 20.70819217604272, 20.10752344309172, 19.49411308423805, 18.86755760644019, 18.228272614168993, 17.576258107424458, 16.91119850593853, 16.233099810407257, 15.54193828013251, 14.837722387583495, 14.120747428688208, 13.390855853824052, 12.64805462247512, 11.892900206263212, 11.125859503853658, 10.3468394415363, 9.556021451046087, 8.75525843191347, 7.9444596162149805, 7.124898942278374, 6.2996963976633635, 5.470296311940736, 4.6415322644510715, 3.819440130515775, 3.0141622722753243, 2.241099136341307, 1.5273660995109686, 0.9234981963316123, 0.49777628210192365, 0.28670195676519833, 0.21780072335212936, 0.19969976517579915, 0.19432792152786757, 0.19185598164463524, 0.1902216480067895, 0.1887759520993042, 0.1873695475614928, 0.18597250367942209, 0.18462422333734488, 0.18328468905835868, 0.18194515477937248, 0.18061821122116456, 0.17934667722520597, 0.1780751432292474, 0.17680360923328883, 0.17556539463967302, 0.17435764279608573, 0.17314989095249841, 0.1719421391089111, 0.17076294621513255, 0.16960207790991944, 0.16845590197632088, 0.16732441841433682, 0.16620762722396729, 0.16510552840521228, 0.1640181219580718, 0.1629442672226617, 0.16188369301723293, 0.16083726773580936, 0.15980499137839096, 0.15878686394497776, 0.1577828854355698, 0.15679305585016703, 0.15581832286986408 ], "yaxis": "y2" }, { "line": { "dash": "dot" }, "mode": "lines", "name": "Glycerol", "type": "scatter", "x": [ 0, 0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6, 0.7, 0.7999999999999999, 0.8999999999999999, 0.9999999999999999, 1.0999999999999999, 1.2, 1.3, 1.4000000000000001, 1.5000000000000002, 1.6000000000000003, 1.7000000000000004, 1.8000000000000005, 1.9000000000000006, 2.0000000000000004, 2.1000000000000005, 2.2000000000000006, 2.3000000000000007, 2.400000000000001, 2.500000000000001, 2.600000000000001, 2.700000000000001, 2.800000000000001, 2.9000000000000012, 3.0000000000000013, 3.1000000000000014, 3.2000000000000015, 3.3000000000000016, 3.4000000000000017, 3.5000000000000018, 3.600000000000002, 3.700000000000002, 3.800000000000002, 3.900000000000002, 4.000000000000002, 4.100000000000001, 4.200000000000001, 4.300000000000001, 4.4, 4.5, 4.6, 4.699999999999999, 4.799999999999999, 4.899999999999999, 4.999999999999998, 5.099999999999998, 5.1999999999999975, 5.299999999999997, 5.399999999999997, 5.4999999999999964, 5.599999999999996, 5.699999999999996, 5.799999999999995, 5.899999999999995, 5.999999999999995, 6.099999999999994, 6.199999999999994, 6.299999999999994, 6.399999999999993, 6.499999999999993, 6.5999999999999925, 6.699999999999992, 6.799999999999992, 6.8999999999999915, 6.999999999999991, 7.099999999999991, 7.19999999999999, 7.29999999999999, 7.39999999999999, 7.499999999999989, 7.599999999999989, 7.699999999999989, 7.799999999999988, 7.899999999999988, 7.999999999999988, 8.099999999999987, 8.199999999999987, 8.299999999999986, 8.399999999999986, 8.499999999999986, 8.599999999999985, 8.699999999999985, 8.799999999999985, 8.899999999999984, 8.999999999999984, 9.099999999999984, 9.199999999999983, 9.299999999999983, 9.399999999999983, 9.499999999999982, 9.599999999999982, 9.699999999999982, 9.799999999999981, 9.89999999999998, 9.99999999999998, 10.09999999999998, 10.19999999999998, 10.29999999999998, 10.399999999999979, 10.499999999999979, 10.599999999999978, 10.699999999999978, 10.799999999999978, 10.899999999999977, 10.999999999999977, 11.099999999999977, 11.199999999999976, 11.299999999999976, 11.399999999999975, 11.499999999999975, 11.599999999999975, 11.699999999999974, 11.799999999999974, 11.899999999999974, 11.999999999999973, 12.099999999999973, 12.199999999999973, 12.299999999999972, 12.399999999999972, 12.499999999999972, 12.599999999999971, 12.69999999999997, 12.79999999999997, 12.89999999999997, 12.99999999999997, 13.09999999999997, 13.199999999999969, 13.299999999999969, 13.399999999999968, 13.499999999999968, 13.599999999999968, 13.699999999999967, 13.799999999999967, 13.899999999999967, 13.999999999999966, 14.099999999999966, 14.199999999999966, 14.299999999999965, 14.399999999999965, 14.499999999999964, 14.599999999999964, 14.699999999999964, 14.799999999999963, 14.899999999999963, 14.999999999999963, 15.099999999999962, 15.199999999999962, 15.299999999999962, 15.399999999999961, 15.499999999999961, 15.59999999999996, 15.69999999999996, 15.79999999999996, 15.89999999999996, 15.99999999999996 ], "xaxis": "x", "y": [ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ], "yaxis": "y2" }, { "line": { "dash": "dot" }, "mode": "lines", "name": "Volume", "type": "scatter", "x": [ 0, 0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6, 0.7, 0.7999999999999999, 0.8999999999999999, 0.9999999999999999, 1.0999999999999999, 1.2, 1.3, 1.4000000000000001, 1.5000000000000002, 1.6000000000000003, 1.7000000000000004, 1.8000000000000005, 1.9000000000000006, 2.0000000000000004, 2.1000000000000005, 2.2000000000000006, 2.3000000000000007, 2.400000000000001, 2.500000000000001, 2.600000000000001, 2.700000000000001, 2.800000000000001, 2.9000000000000012, 3.0000000000000013, 3.1000000000000014, 3.2000000000000015, 3.3000000000000016, 3.4000000000000017, 3.5000000000000018, 3.600000000000002, 3.700000000000002, 3.800000000000002, 3.900000000000002, 4.000000000000002, 4.100000000000001, 4.200000000000001, 4.300000000000001, 4.4, 4.5, 4.6, 4.699999999999999, 4.799999999999999, 4.899999999999999, 4.999999999999998, 5.099999999999998, 5.1999999999999975, 5.299999999999997, 5.399999999999997, 5.4999999999999964, 5.599999999999996, 5.699999999999996, 5.799999999999995, 5.899999999999995, 5.999999999999995, 6.099999999999994, 6.199999999999994, 6.299999999999994, 6.399999999999993, 6.499999999999993, 6.5999999999999925, 6.699999999999992, 6.799999999999992, 6.8999999999999915, 6.999999999999991, 7.099999999999991, 7.19999999999999, 7.29999999999999, 7.39999999999999, 7.499999999999989, 7.599999999999989, 7.699999999999989, 7.799999999999988, 7.899999999999988, 7.999999999999988, 8.099999999999987, 8.199999999999987, 8.299999999999986, 8.399999999999986, 8.499999999999986, 8.599999999999985, 8.699999999999985, 8.799999999999985, 8.899999999999984, 8.999999999999984, 9.099999999999984, 9.199999999999983, 9.299999999999983, 9.399999999999983, 9.499999999999982, 9.599999999999982, 9.699999999999982, 9.799999999999981, 9.89999999999998, 9.99999999999998, 10.09999999999998, 10.19999999999998, 10.29999999999998, 10.399999999999979, 10.499999999999979, 10.599999999999978, 10.699999999999978, 10.799999999999978, 10.899999999999977, 10.999999999999977, 11.099999999999977, 11.199999999999976, 11.299999999999976, 11.399999999999975, 11.499999999999975, 11.599999999999975, 11.699999999999974, 11.799999999999974, 11.899999999999974, 11.999999999999973, 12.099999999999973, 12.199999999999973, 12.299999999999972, 12.399999999999972, 12.499999999999972, 12.599999999999971, 12.69999999999997, 12.79999999999997, 12.89999999999997, 12.99999999999997, 13.09999999999997, 13.199999999999969, 13.299999999999969, 13.399999999999968, 13.499999999999968, 13.599999999999968, 13.699999999999967, 13.799999999999967, 13.899999999999967, 13.999999999999966, 14.099999999999966, 14.199999999999966, 14.299999999999965, 14.399999999999965, 14.499999999999964, 14.599999999999964, 14.699999999999964, 14.799999999999963, 14.899999999999963, 14.999999999999963, 15.099999999999962, 15.199999999999962, 15.299999999999962, 15.399999999999961, 15.499999999999961, 15.59999999999996, 15.69999999999996, 15.79999999999996, 15.89999999999996, 15.99999999999996 ], "xaxis": "x", "y": [ 0.5, 0.5044000000000001, 0.5088000000000001, 0.5132000000000001, 0.5176000000000001, 0.5220000000000001, 0.5264000000000001, 0.5308, 0.5352000000000001, 0.5396000000000001, 0.544, 0.5484000000000001, 0.5528000000000001, 0.5572000000000001, 0.5616000000000001, 0.5660000000000001, 0.5704000000000001, 0.5748000000000001, 0.5792, 0.5836000000000001, 0.5880000000000001, 0.5924, 0.5968000000000001, 0.6012000000000001, 0.6056000000000001, 0.6100000000000001, 0.6144000000000001, 0.6188000000000001, 0.6232000000000001, 0.6276, 0.6320000000000001, 0.6364000000000001, 0.6408000000000001, 0.6452000000000001, 0.6496000000000001, 0.6540000000000001, 0.6584000000000001, 0.6628000000000001, 0.6672000000000001, 0.6716000000000001, 0.676, 0.6804000000000001, 0.6848000000000001, 0.6892, 0.6936, 0.698, 0.7023999999999999, 0.7068, 0.7111999999999999, 0.7155999999999999, 0.7199999999999999, 0.7243999999999998, 0.7287999999999999, 0.7331999999999999, 0.7375999999999998, 0.7419999999999998, 0.7463999999999997, 0.7507999999999998, 0.7551999999999998, 0.7595999999999997, 0.7639999999999997, 0.7683999999999996, 0.7727999999999997, 0.7771999999999997, 0.7815999999999996, 0.7859999999999996, 0.7903999999999995, 0.7947999999999996, 0.7991999999999996, 0.8035999999999995, 0.8079999999999995, 0.8123999999999995, 0.8167999999999995, 0.8211999999999995, 0.8255999999999994, 0.8299999999999994, 0.8343999999999994, 0.8387999999999993, 0.8431999999999995, 0.8475999999999995, 0.8519999999999994, 0.8563999999999994, 0.8607999999999993, 0.8651999999999993, 0.8695999999999993, 0.8739999999999992, 0.8783999999999991, 0.8827999999999991, 0.8871999999999991, 0.8915999999999991, 0.895999999999999, 0.900399999999999, 0.9047999999999989, 0.909199999999999, 0.913599999999999, 0.9179999999999989, 0.9223999999999989, 0.9267999999999988, 0.9311999999999988, 0.9355999999999989, 0.9399999999999988, 0.9443999999999988, 0.9487999999999988, 0.9531999999999987, 0.9575999999999987, 0.9619999999999987, 0.9663999999999987, 0.9707999999999987, 0.9751999999999986, 0.9795999999999986, 0.9839999999999985, 0.9883999999999986, 0.9927999999999986, 0.9971999999999985, 1.0015999999999985, 1.0059999999999985, 1.0103999999999984, 1.0147999999999986, 1.0191999999999986, 1.0235999999999985, 1.0279999999999985, 1.0323999999999984, 1.0367999999999984, 1.0411999999999983, 1.045599999999998, 1.049999999999998, 1.0543999999999982, 1.0587999999999982, 1.0631999999999984, 1.0675999999999986, 1.0719999999999983, 1.076399999999998, 1.0807999999999982, 1.0851999999999982, 1.0895999999999981, 1.093999999999998, 1.098399999999998, 1.102799999999998, 1.107199999999998, 1.111599999999998, 1.1159999999999979, 1.1203999999999978, 1.1247999999999978, 1.1291999999999978, 1.1335999999999977, 1.1379999999999977, 1.1423999999999979, 1.1467999999999978, 1.1511999999999978, 1.1555999999999977, 1.1599999999999977, 1.1643999999999977, 1.1687999999999976, 1.1731999999999978, 1.1775999999999978, 1.1819999999999977, 1.1863999999999977, 1.1907999999999976, 1.1951999999999976, 1.1995999999999976, 1.2039999999999975 ], "yaxis": "y2" }, { "mode": "lines", "name": "Biomass", "type": "scatter", "x": [ 0, 0.1, 0.2, 0.30000000000000004, 0.4, 0.5, 0.6, 0.7, 0.7999999999999999, 0.8999999999999999, 0.9999999999999999, 1.0999999999999999, 1.2, 1.3, 1.4000000000000001, 1.5000000000000002, 1.6000000000000003, 1.7000000000000004, 1.8000000000000005, 1.9000000000000006, 2.0000000000000004, 2.1000000000000005, 2.2000000000000006, 2.3000000000000007, 2.400000000000001, 2.500000000000001, 2.600000000000001, 2.700000000000001, 2.800000000000001, 2.9000000000000012, 3.0000000000000013, 3.1000000000000014, 3.2000000000000015, 3.3000000000000016, 3.4000000000000017, 3.5000000000000018, 3.600000000000002, 3.700000000000002, 3.800000000000002, 3.900000000000002, 4.000000000000002, 4.100000000000001, 4.200000000000001, 4.300000000000001, 4.4, 4.5, 4.6, 4.699999999999999, 4.799999999999999, 4.899999999999999, 4.999999999999998, 5.099999999999998, 5.1999999999999975, 5.299999999999997, 5.399999999999997, 5.4999999999999964, 5.599999999999996, 5.699999999999996, 5.799999999999995, 5.899999999999995, 5.999999999999995, 6.099999999999994, 6.199999999999994, 6.299999999999994, 6.399999999999993, 6.499999999999993, 6.5999999999999925, 6.699999999999992, 6.799999999999992, 6.8999999999999915, 6.999999999999991, 7.099999999999991, 7.19999999999999, 7.29999999999999, 7.39999999999999, 7.499999999999989, 7.599999999999989, 7.699999999999989, 7.799999999999988, 7.899999999999988, 7.999999999999988, 8.099999999999987, 8.199999999999987, 8.299999999999986, 8.399999999999986, 8.499999999999986, 8.599999999999985, 8.699999999999985, 8.799999999999985, 8.899999999999984, 8.999999999999984, 9.099999999999984, 9.199999999999983, 9.299999999999983, 9.399999999999983, 9.499999999999982, 9.599999999999982, 9.699999999999982, 9.799999999999981, 9.89999999999998, 9.99999999999998, 10.09999999999998, 10.19999999999998, 10.29999999999998, 10.399999999999979, 10.499999999999979, 10.599999999999978, 10.699999999999978, 10.799999999999978, 10.899999999999977, 10.999999999999977, 11.099999999999977, 11.199999999999976, 11.299999999999976, 11.399999999999975, 11.499999999999975, 11.599999999999975, 11.699999999999974, 11.799999999999974, 11.899999999999974, 11.999999999999973, 12.099999999999973, 12.199999999999973, 12.299999999999972, 12.399999999999972, 12.499999999999972, 12.599999999999971, 12.69999999999997, 12.79999999999997, 12.89999999999997, 12.99999999999997, 13.09999999999997, 13.199999999999969, 13.299999999999969, 13.399999999999968, 13.499999999999968, 13.599999999999968, 13.699999999999967, 13.799999999999967, 13.899999999999967, 13.999999999999966, 14.099999999999966, 14.199999999999966, 14.299999999999965, 14.399999999999965, 14.499999999999964, 14.599999999999964, 14.699999999999964, 14.799999999999963, 14.899999999999963, 14.999999999999963, 15.099999999999962, 15.199999999999962, 15.299999999999962, 15.399999999999961, 15.499999999999961, 15.59999999999996, 15.69999999999996, 15.79999999999996, 15.89999999999996, 15.99999999999996 ], "xaxis": "x", "y": [ 0.05, 0.05175801837823327, 0.05358554835973346, 0.05548660004555123, 0.057461469301878676, 0.05951530048130916, 0.06164715033667307, 0.06386391520190877, 0.0661649766356532, 0.06855711811546931, 0.07104049971849935, 0.07361890668346102, 0.07629624087845893, 0.07907683198209278, 0.08196571271212683, 0.08496672634590706, 0.08808417790857946, 0.09132277945044721, 0.09468710078784881, 0.09818140109484422, 0.10181010985945001, 0.10557966411844659, 0.10949642971262001, 0.11356412710299597, 0.11778776178801527, 0.12217570540821154, 0.12673827373521074, 0.13147854754679847, 0.1364027554744994, 0.14151867324121586, 0.14683646928754757, 0.15236095781875272, 0.15809911829124285, 0.16405969885976876, 0.1702573080031108, 0.17669621206027866, 0.18338464510542155, 0.19033245787214945, 0.1975617338646947, 0.205075829026639, 0.21288500112459643, 0.2209998281149716, 0.2294412007265236, 0.23821566856513005, 0.24733490002653252, 0.2568105635064727, 0.2666651078451554, 0.2769073774876312, 0.28755007240147934, 0.2986063490727741, 0.3101056064704682, 0.3220595369441646, 0.3344818027283734, 0.3473881316575609, 0.3608104192199923, 0.374770281265309, 0.38928672438969236, 0.40438313840451956, 0.42008187978318046, 0.4364068719705371, 0.4533839470055731, 0.4710390592759642, 0.48939916156552016, 0.5084920023220948, 0.5283458998100939, 0.5489900809599031, 0.5704617834745508, 0.5927985286230248, 0.6160249314640841, 0.6401718458431471, 0.665279985520134, 0.6914007297115955, 0.7185575343491496, 0.7467854603374817, 0.7761332893491613, 0.8066830909471838, 0.838453142168364, 0.8714866904968066, 0.8841686298684678, 0.89712920957751, 0.9103003344471365, 0.9238947809680127, 0.9375212677246701, 0.9515041433749971, 0.9655620734876799, 0.9800388225358015, 0.9946179046953804, 1.0095231307905859, 1.024514544146865, 1.039756378898617, 1.0551822999432017, 1.0707923072806194, 1.0866653880618042, 1.1027860984304672, 1.1191369073911925, 1.135724204950102, 1.1525963695917611, 1.169723529530767, 1.1871056847671195, 1.2047565542856304, 1.2226864518658784, 1.2408847541452201, 1.259351461123655, 1.2780958599281271, 1.2971177739657649, 1.3164179018951965, 1.335996459737277, 1.3558471533223233, 1.3759739669663489, 1.3963771510312684, 1.4170439712088094, 1.4379638097504945, 1.4591392807477097, 1.480566511878849, 1.5022022230234648, 1.5240489594465862, 1.5460771315150152, 1.5682137055905045, 1.5904251108464567, 1.612598094336617, 1.6345911932299138, 1.65616648291673, 1.676962539604901, 1.6963427799737323, 1.7131205447775624, 1.7256923658372167, 1.7332011847655067, 1.7373495123776284, 1.7402837289503046, 1.7428982889785842, 1.7454243254592785, 1.7479105144339386, 1.7503651091917407, 1.752785806255321, 1.755194934644843, 1.7575450596893694, 1.7598846020941206, 1.7622241444988715, 1.7645512959302223, 1.766823916852633, 1.7690965377750436, 1.771369158697454, 1.7736083002334502, 1.7758168327516441, 1.7780253652698383, 1.7802338977880325, 1.7824174000549977, 1.7845848418905212, 1.7867394067205833, 1.788881094545184, 1.7910099053643234, 1.7931258391780014, 1.7952288959862182, 1.7973157204082202, 1.7993855147320565, 1.8014408334374936, 1.8034816765245312, 1.8055080439931692, 1.8075199358434078, 1.809517352075247, 1.8114998584726543 ], "yaxis": "y" } ], "layout": { "template": { "data": { "bar": [ { "error_x": { "color": "#2a3f5f" }, "error_y": { "color": "#2a3f5f" }, "marker": { "line": { "color": "white", "width": 0.5 } }, "type": "bar" } ], "barpolar": [ { "marker": { "line": { "color": "white", "width": 0.5 } }, "type": "barpolar" } ], "carpet": [ { "aaxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "baxis": { "endlinecolor": "#2a3f5f", "gridcolor": "#C8D4E3", "linecolor": "#C8D4E3", "minorgridcolor": "#C8D4E3", "startlinecolor": "#2a3f5f" }, "type": "carpet" } ], "choropleth": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "choropleth" } ], "contour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "contour" } ], "contourcarpet": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "contourcarpet" } ], "heatmap": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmap" } ], "heatmapgl": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "heatmapgl" } ], "histogram": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "histogram" } ], "histogram2d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2d" } ], "histogram2dcontour": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "histogram2dcontour" } ], "mesh3d": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "type": "mesh3d" } ], "parcoords": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "parcoords" } ], "pie": [ { "automargin": true, "type": "pie" } ], "scatter": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter" } ], "scatter3d": [ { "line": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatter3d" } ], "scattercarpet": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattercarpet" } ], "scattergeo": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergeo" } ], "scattergl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattergl" } ], "scattermapbox": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scattermapbox" } ], "scatterpolar": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolar" } ], "scatterpolargl": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterpolargl" } ], "scatterternary": [ { "marker": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "type": "scatterternary" } ], "surface": [ { "colorbar": { "outlinewidth": 0, "ticks": "" }, "colorscale": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "type": "surface" } ], "table": [ { "cells": { "fill": { "color": "#EBF0F8" }, "line": { "color": "white" } }, "header": { "fill": { "color": "#C8D4E3" }, "line": { "color": "white" } }, "type": "table" } ] }, "layout": { "annotationdefaults": { "arrowcolor": "#2a3f5f", "arrowhead": 0, "arrowwidth": 1 }, "coloraxis": { "colorbar": { "outlinewidth": 0, "ticks": "" } }, "colorscale": { "diverging": [ [ 0, "#8e0152" ], [ 0.1, "#c51b7d" ], [ 0.2, "#de77ae" ], [ 0.3, "#f1b6da" ], [ 0.4, "#fde0ef" ], [ 0.5, "#f7f7f7" ], [ 0.6, "#e6f5d0" ], [ 0.7, "#b8e186" ], [ 0.8, "#7fbc41" ], [ 0.9, "#4d9221" ], [ 1, "#276419" ] ], "sequential": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ], "sequentialminus": [ [ 0, "#0d0887" ], [ 0.1111111111111111, "#46039f" ], [ 0.2222222222222222, "#7201a8" ], [ 0.3333333333333333, "#9c179e" ], [ 0.4444444444444444, "#bd3786" ], [ 0.5555555555555556, "#d8576b" ], [ 0.6666666666666666, "#ed7953" ], [ 0.7777777777777778, "#fb9f3a" ], [ 0.8888888888888888, "#fdca26" ], [ 1, "#f0f921" ] ] }, "colorway": [ "#636efa", "#EF553B", "#00cc96", "#ab63fa", "#FFA15A", "#19d3f3", "#FF6692", "#B6E880", "#FF97FF", "#FECB52" ], "font": { "color": "#2a3f5f" }, "geo": { "bgcolor": "white", "lakecolor": "white", "landcolor": "white", "showlakes": true, "showland": true, "subunitcolor": "#C8D4E3" }, "hoverlabel": { "align": "left" }, "hovermode": "closest", "mapbox": { "style": "light" }, "paper_bgcolor": "white", "plot_bgcolor": "white", "polar": { "angularaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" }, "bgcolor": "white", "radialaxis": { "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "" } }, "scene": { "xaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "yaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" }, "zaxis": { "backgroundcolor": "white", "gridcolor": "#DFE8F3", "gridwidth": 2, "linecolor": "#EBF0F8", "showbackground": true, "ticks": "", "zerolinecolor": "#EBF0F8" } }, "shapedefaults": { "line": { "color": "#2a3f5f" } }, "ternary": { "aaxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "baxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" }, "bgcolor": "white", "caxis": { "gridcolor": "#DFE8F3", "linecolor": "#A2B1C6", "ticks": "" } }, "title": { "x": 0.05 }, "xaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 }, "yaxis": { "automargin": true, "gridcolor": "#EBF0F8", "linecolor": "#EBF0F8", "ticks": "", "title": { "standoff": 15 }, "zerolinecolor": "#EBF0F8", "zerolinewidth": 2 } } }, "xaxis": { "anchor": "y", "domain": [ 0, 0.94 ], "title": { "text": "$\\textrm{Time} \\left[ \\textrm{h} \\right]$" } }, "yaxis": { "anchor": "x", "domain": [ 0, 1 ], "title": { "text": "$\\textrm{Biomass} \\left[ \\textrm{g} \\, \\textrm{L}^{-1} \\right]$" } }, "yaxis2": { "anchor": "x", "overlaying": "y", "side": "right", "title": { "text": "$\\textrm{Metabolites} \\left[ \\textrm{mmol} \\, \\textrm{L}^{-1} \\right]$" } } } }, "text/html": [ "
\n", " \n", " \n", "
\n", " \n", "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig = plot_concentrations(concentrations)\n", "fig.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "**Warning:** As we have not specified any exchange fluxes to be annotated in the simulation, we won't be able to plot any trajectories.\n", "
" ] } ], "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.7.5" } }, "nbformat": 4, "nbformat_minor": 2 }