<html lang="en"> <head> <title>Evolution of C4 photosynthesis predicted by constraint-based modelling</title> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <link href="https://unpkg.com/@stencila/thema@2/dist/themes/elife/styles.css" rel="stylesheet"> <script src="https://unpkg.com/@stencila/thema@2/dist/themes/elife/index.js" type="text/javascript"></script> <script src="https://unpkg.com/@stencila/components@<=1/dist/stencila-components/stencila-components.esm.js" type="module"></script> <script src="https://unpkg.com/@stencila/components@<=1/dist/stencila-components/stencila-components.js" type="text/javascript" nomodule=""></script> </head> <body> <main role="main"> <article itemscope="" itemtype="http://schema.org/Article" data-itemscope="root"> <h1 itemprop="headline">Evolution of C4 photosynthesis predicted by constraint-based modelling</h1> <meta itemprop="image" content="https://via.placeholder.com/1200x714/dbdbdb/4a4a4a.png?text=Evolution%20of%20C4%20photosynthesis%20predicted%20by%20constraint-based%20modelling"> <ol data-itemprop="authors"> <li itemscope="" itemtype="http://schema.org/Person" itemprop="author"> <meta itemprop="name" content="Mary-Ann Blätke"><span data-itemprop="givenNames"><span itemprop="givenName">Mary-Ann</span></span><span data-itemprop="familyNames"><span itemprop="familyName">Blätke</span></span><span data-itemprop="emails"><a itemprop="email" href="mailto:blaetke@ipk-gatersleben.de">blaetke@ipk-gatersleben.de</a></span><span data-itemprop="affiliations"><a itemprop="affiliation" href="#author-organization-1">1</a></span> </li> <li itemscope="" itemtype="http://schema.org/Person" itemprop="author"> <meta itemprop="name" content="Andrea Bräutigam"><span data-itemprop="givenNames"><span itemprop="givenName">Andrea</span></span><span data-itemprop="familyNames"><span itemprop="familyName">Bräutigam</span></span><span data-itemprop="affiliations"><a itemprop="affiliation" href="#author-organization-1">1</a><a itemprop="affiliation" href="#author-organization-2">2</a></span> </li> </ol> <ol data-itemprop="affiliations"> <li itemscope="" itemtype="http://schema.org/Organization" itemid="#author-organization-1" id="author-organization-1"><span itemprop="name">Leibniz Institute of Plant Genetics and Crop Plant Research (IPK)</span><address itemscope="" itemtype="http://schema.org/PostalAddress" itemprop="address"><span itemprop="addressLocality">Tübingen</span><span itemprop="addressCountry">Germany</span></address></li> <li itemscope="" itemtype="http://schema.org/Organization" itemid="#author-organization-2" id="author-organization-2"><span itemprop="name">Computational Biology, Faculty of Biology, Bielefeld University, Universitätsstraße</span><address itemscope="" itemtype="http://schema.org/PostalAddress" itemprop="address"><span itemprop="addressLocality">Bielefeld</span><span itemprop="addressCountry">Germany</span></address></li> </ol><span itemscope="" itemtype="http://schema.org/Organization" itemprop="publisher"> <meta itemprop="name" content="Unknown"><span itemscope="" itemtype="http://schema.org/ImageObject" itemprop="logo"> <meta itemprop="url" content="https://via.placeholder.com/600x60/dbdbdb/4a4a4a.png?text=Unknown"> </span> </span><time itemprop="datePublished" datetime="2019-12-04">2019-12-04</time> <ul data-itemprop="genre"> <li itemprop="genre">Research Article</li> </ul> <ul data-itemprop="about"> <li itemscope="" itemtype="http://schema.org/DefinedTerm" itemprop="about"><span itemprop="name">Computational and Systems Biology</span></li> <li itemscope="" itemtype="http://schema.org/DefinedTerm" itemprop="about"><span itemprop="name">Plant Biology</span></li> </ul> <ul data-itemprop="keywords"> <li itemprop="keywords">metabolic networks</li> <li itemprop="keywords">constraint-based model</li> <li itemprop="keywords">C4 photosynthesis</li> <li itemprop="keywords">model evolution</li> <li itemprop="keywords">flux balance analysis</li> <li itemprop="keywords">None</li> </ul> <ul data-itemprop="identifiers"> <li itemscope="" itemtype="http://schema.org/PropertyValue" itemprop="identifier"> <meta itemprop="propertyID" content="https://registry.identifiers.org/registry/publisher-id"><span itemprop="name">publisher-id</span><span itemprop="value" data-itemtype="http://schema.org/Number">49305</span> </li> <li itemscope="" itemtype="http://schema.org/PropertyValue" itemprop="identifier"> <meta itemprop="propertyID" content="https://registry.identifiers.org/registry/doi"> <span itemprop="name">doi</span><span itemprop="value">10.7554/eLife.49305</span> </li> <li itemscope="" itemtype="http://schema.org/PropertyValue" itemprop="identifier"> <meta itemprop="propertyID" content="https://registry.identifiers.org/registry/elocation-id"><span itemprop="name">elocation-id</span><span itemprop="value">e49305</span> </li> </ul> <section data-itemprop="description"> <h2 data-itemtype="http://schema.stenci.la/Heading">Abstract</h2> <meta itemprop="description" content="Constraint-based modelling (CBM) is a powerful tool for the analysis of evolutionary trajectories. Evolution, especially evolution in the distant past, is not easily accessible to laboratory experimentation. Modelling can provide a window into evolutionary processes by allowing the examination of selective pressures which lead to particular optimal solutions in the model. To study the evolution of C4 photosynthesis from a ground state of C3 photosynthesis, we initially construct a C3 model. After duplication into two cells to reflect typical C4 leaf architecture, we allow the model to predict the optimal metabolic solution under various conditions. The model thus identifies resource limitation in conjunction with high photorespiratory flux as a selective pressure relevant to the evolution of C4. It also predicts that light availability and distribution play a role in guiding the evolutionary choice of possible decarboxylation enzymes. The data shows evolutionary CBM in eukaryotes predicts molecular evolution with precision."> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">Constraint-based modelling (CBM) is a powerful tool for the analysis of evolutionary trajectories. Evolution, especially evolution in the distant past, is not easily accessible to laboratory experimentation. Modelling can provide a window into evolutionary processes by allowing the examination of selective pressures which lead to particular optimal solutions in the model. To study the evolution of C4 photosynthesis from a ground state of C3 photosynthesis, we initially construct a C3 model. After duplication into two cells to reflect typical C4 leaf architecture, we allow the model to predict the optimal metabolic solution under various conditions. The model thus identifies resource limitation in conjunction with high photorespiratory flux as a selective pressure relevant to the evolution of C4. It also predicts that light availability and distribution play a role in guiding the evolutionary choice of possible decarboxylation enzymes. The data shows evolutionary CBM in eukaryotes predicts molecular evolution with precision.</p> </section> <h2 itemscope="" itemtype="http://schema.stenci.la/Heading" id="introduction">Introduction </h2> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">Identifying specific evolutionary trajectories and modelling the outcome of adaptive strategies at the molecular levels is a major challenge in evolutionary systems biology <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib55"><span>55</span><span>Papp et al.</span><span>2011</span></a></cite>. The evolution of novel metabolic pathways from existing parts may be predicted using constraint-based modelling (CBM) <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib52"><span>52</span><span>Orth et al.</span><span>2010</span></a></cite>. In CBM, selective pressures are coded via the objective functions for which the model is optimised. The factors which constrain evolution are integrated into the models via changes in model inputs or outputs and via flux constraints. We hypothesised that the evolution of the agriculturally important trait of C4 photosynthesis is accessible to CBM. </p> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">C4 photosynthesis evolved independently in at least 67 independent origins in the plant kingdom <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib65"><span>65</span><span>Scheben et al.</span><span>2017</span></a></cite> and it allows colonisation of marginal habitats <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib63"><span>63</span><span>Sage et al.</span><span>2012</span></a></cite> and high biomass production in annuals such as crops <span itemscope="" itemtype="http://schema.stenci.la/CiteGroup"><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib62"><span>62</span><span>Sage</span><span>2004</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib23"><span>23</span><span>Edwards et al.</span><span>2010</span></a></cite></span>. The C4 cycle acts as a biochemical pump which enriches the CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> concentration at the site of Rubisco to overcome a major limitation of carbon fixation <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib62"><span>62</span><span>Sage</span><span>2004</span></a></cite>. Enrichment is beneficial because Rubisco, the carbon fixation enzyme, can react productively with CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> and form two molecules of 3-PGA, but it also reacts with O<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> and produces 2-phosphoglycolate which requires detoxification by photorespiration <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib51"><span>51</span><span>Ogren and Bowes</span><span>1971</span></a></cite>. The ratio between both reactions is determined by the enzyme specificity towards CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub>, by the temperature, and the concentrations of both reactants, which in turn is modulated by stresses such as drought and pathogen load. Evolution of Rubisco itself is constrained since any increase in specificity is paid for by a reduction in speed <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib73"><span>73</span><span>Spreitzer and Salvucci</span><span>2002</span></a></cite>. Lower speeds most likely cause maladaptivity since Rubisco is a comparatively slow enzyme and can comprise up to 50% of the total leaf protein <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib24"><span>24</span><span>Ellis</span><span>1979</span></a></cite>. In the C4 cycle, phosphoenolpyruvate carboxylase affixes CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> to a C3 acid, phosphoenolpyruvate (PEP), forming a C4 acid, oxaloacetate (OAA). After stabilisation of the resulting C4 acid by reduction to malate or transamination to aspartate, it is transferred to the site of Rubisco and decarboxylated by one of three possible decarboxylation enzymes, NADP-dependent malic enzyme (NADP-ME), NAD-dependent malic enzyme (NAD-ME), or PEP carboxykinase (PEP-CK) <span itemscope="" itemtype="http://schema.stenci.la/CiteGroup"><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib30"><span>30</span><span>Hatch</span><span>1987</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib67"><span>67</span><span>Schlüter et al.</span><span>2016</span></a></cite></span>. Species such as corn (<em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Zea mays</em>) <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib57"><span>57</span><span>Pick et al.</span><span>2011</span></a></cite> and great millet (<em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Sorghum bicolor</em>) <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib20"><span>20</span><span>Döring et al.</span><span>2016</span></a></cite> use NADP-ME, species like common millet (<em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Panicum miliaceum</em>) <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib30"><span>30</span><span>Hatch</span><span>1987</span></a></cite> and African spinach (<em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Gynandropsis gynandra</em>) <span itemscope="" itemtype="http://schema.stenci.la/CiteGroup"><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib25"><span>25</span><span>Feodorova et al.</span><span>2010</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib82"><span>82</span><span>Voznesenskaya et al.</span><span>2007</span></a></cite></span> use NAD-ME and species such as guinea grass (<em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Panicum maximum</em>) <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib12"><span>12</span><span>Bräutigam et al.</span><span>2014</span></a></cite> use mainly PEP-CK with the evolutionary constraints leading to one or the other enzyme unknown. Mixed forms are only known to occur between a malic enzyme and PEP-CK but not between both malic enzymes <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib83"><span>83</span><span>Wang et al.</span><span>2014</span></a></cite>. After decarboxylation, the C3 acid diffuses back to the site of phosphoenolpyruvate carboxylase (PEPC) and is recycled for another C4 cycle by pyruvate phosphate dikinase (PPDK) <span itemscope="" itemtype="http://schema.stenci.la/CiteGroup"><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib30"><span>30</span><span>Hatch</span><span>1987</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib67"><span>67</span><span>Schlüter et al.</span><span>2016</span></a></cite></span>. All the enzymes involved in the C4 cycle are also present in C3 plants <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib4"><span>4</span><span>Aubry et al.</span><span>2011</span></a></cite>. In its most typical form, this C4 cycle is distributed between different cell types in a leaf in an arrangement called Kranz anatomy <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib29"><span>29</span><span>Haberlandt and Engelmann</span><span>1904</span></a></cite>. Initial carbon fixation by PEPC occurs in the mesophyll cell, the outer layer of photosynthetic tissue. The secondary fixation by Rubisco after decarboxylation occurs in an inner layer of photosynthetic tissue, the bundle sheath which in turn surrounds the veins. Both cells are connected by plasmodesmata which are pores with limited transfer specificity between cells. A model which may test possible carbon fixation pathways at the molecular level thus requires two cell architectures connected by transport processes <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib15"><span>15</span><span>Bräutigam and Weber</span><span>2010</span></a></cite>.</p> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">CBM of genome-scale or close to it are well suited to study evolution (summarised in <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib55"><span>55</span><span>Papp et al.</span><span>2011</span></a></cite>). Evolution of different metabolic modes from a ground state, the metabolism of <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Escherichia coli</em>, such as glycerol usage <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib39"><span>39</span><span>Lewis et al.</span><span>2010</span></a></cite> or endosymbiotic metabolism <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib54"><span>54</span><span>Pál et al.</span><span>2006</span></a></cite> have been successfully predicted. Metabolic maps of eukaryotic metabolism are of higher complexity compared to bacteria since they require information about intracellular compartmentation and intracellular transport <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib21"><span>21</span><span>Duarte</span><span>2004</span></a></cite> and may require multicellular approaches. In plants, aspects of complex metabolic pathways, such as the energetics of CAM photosynthesis <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib17"><span>17</span><span>Cheung et al.</span><span>2014</span></a></cite>, and fluxes in C3 and C4 metabolism <span itemscope="" itemtype="http://schema.stenci.la/CiteGroup"><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib11"><span>11</span><span>Boyle and Morgan</span><span>2009</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib28"><span>28</span><span>Gomes de Oliveira Dal’Molin et al.</span><span>2011</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib19"><span>19</span><span>de Oliveira Dal'Molin et al.</span><span>2010</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib2"><span>2</span><span>Arnold and Nikoloski</span><span>2014</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib64"><span>64</span><span>Saha et al.</span><span>2011</span></a></cite></span> have been elucidated with genome scale models. The C4 cycle is not predicted by these current C4 models unless the C4 cycle is forced by constraints <span itemscope="" itemtype="http://schema.stenci.la/CiteGroup"><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib28"><span>28</span><span>Gomes de Oliveira Dal’Molin et al.</span><span>2011</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib47"><span>47</span><span>Mallmann et al.</span><span>2014</span></a></cite></span>. In the C4GEM model, the fluxes representing the C4 cycle are a priori constrained to the cell types <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib28"><span>28</span><span>Gomes de Oliveira Dal’Molin et al.</span><span>2011</span></a></cite>, and in the Mallmann model, the C4 fluxes are induced by activating flux through PEPC <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib47"><span>47</span><span>Mallmann et al.</span><span>2014</span></a></cite>. Models in which specific a priori constraints activated C4 were successfully used to study metabolism under conditions of photosynthesis, photorespiration, and respiration <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib64"><span>64</span><span>Saha et al.</span><span>2011</span></a></cite> and to study N-assimilation under varying conditions <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib71"><span>71</span><span>Simons et al.</span><span>2013</span></a></cite>. However, they are incapable of testing under which conditions the pathway may evolve.</p> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">Schematic models suggest that the C4 cycle evolves from its ancestral metabolic state C3 photosynthesis along a sequence of stages (summarised in <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib62"><span>62</span><span>Sage</span><span>2004</span></a></cite>; <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib14"><span>14</span><span>Bräutigam and Gowik</span><span>2016</span></a></cite>). In the presence of tight vein spacing and of photosynthetically active bundle sheath cells (i.e. Kranz anatomy), a key intermediate in which the process of photorespiration is divided between cell types is thought to evolve <span itemscope="" itemtype="http://schema.stenci.la/CiteGroup"><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib48"><span>48</span><span>Monson</span><span>1999</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib63"><span>63</span><span>Sage et al.</span><span>2012</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib31"><span>31</span><span>Heckmann et al.</span><span>2013</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib6"><span>6</span><span>Bauwe</span><span>2010</span></a></cite></span>. The metabolic fluxes in this intermediate suggest an immediate path towards C4 photosynthesis <span itemscope="" itemtype="http://schema.stenci.la/CiteGroup"><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib47"><span>47</span><span>Mallmann et al.</span><span>2014</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib14"><span>14</span><span>Bräutigam and Gowik</span><span>2016</span></a></cite></span>. <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib31"><span>31</span><span>Heckmann et al.</span><span>2013</span></a></cite> built a kinetic model in which the complex C4 cycle was represented by a single enzyme, PEPC. Assuming carbon assimilation as a proxy for fitness, the model showed that the evolution from a C3 progenitor species with Kranz-type anatomy towards C4 photosynthesis occurs in modular, individually adaptive steps on a Mount Fuji fitness landscape. It is frequently assumed that evolution of C4 photosynthesis requires water limitation <span itemscope="" itemtype="http://schema.stenci.la/CiteGroup"><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib14"><span>14</span><span>Bräutigam and Gowik</span><span>2016</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib31"><span>31</span><span>Heckmann et al.</span><span>2013</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib47"><span>47</span><span>Mallmann et al.</span><span>2014</span></a></cite></span>. However, ecophysiological research showed that C4 can likely evolve in wet habitats <span itemscope="" itemtype="http://schema.stenci.la/CiteGroup"><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib53"><span>53</span><span>Osborne and Freckleton</span><span>2009</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib44"><span>44</span><span>Lundgren and Christin</span><span>2017</span></a></cite></span>. CBM presents a possible avenue to study the evolution of C4 photosynthesis including its metabolic complexity <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">in silico</em>.</p> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">In this study, we establish a generic two-celled, constraint-based model starting from the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Arabidopsis</em> core model <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib2"><span>2</span><span>Arnold and Nikoloski</span><span>2014</span></a></cite>. We test under which conditions and constraints C4 photosynthesis is predicted as the optimal solution. Finally, we test which constraints result in the prediction of the particular C4 modes with their different decarboxylation enzymes. In the process, we demonstrate that evolution is predictable at the molecular level in an eukaryotic system and define the selective pressures and limitations guiding the 'choice' of metabolic flux.</p> <h2 itemscope="" itemtype="http://schema.stenci.la/Heading" id="materials-and-methods"> Materials and methods</h2> <h3 itemscope="" itemtype="http://schema.stenci.la/Heading" id="flux-balance-analysis">Flux Balance Analysis</h3> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">Flux balance analysis (FBA) is a CBM approach <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib52"><span>52</span><span>Orth et al.</span><span>2010</span></a></cite> to investigate the steady-state behaviour of a metabolic network defined by its stoichiometric matrix <span itemscope="" itemtype="http://schema.stenci.la/MathFragment"><span class="mjx-chtml"><span class="mjx-math" aria-label="S"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em; padding-right: 0.032em;">S</span></span></span></span></span></span>. By employing linear programming, FBA allows computing an optimised flux distribution that minimises and/or maximises the synthesis and/or consumption rate of one specific metabolite or a combination of various metabolites. Next to the steady-state assumption and stoichiometric matrix <span itemscope="" itemtype="http://schema.stenci.la/MathFragment"><span class="mjx-chtml"><span class="mjx-math" aria-label="S"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em; padding-right: 0.032em;">S</span></span></span></span></span></span>, FBA relies on the definition of the reaction directionality and reversibility, denoted by the lower bound <span itemscope="" itemtype="http://schema.stenci.la/MathFragment"><span class="mjx-chtml"><span class="mjx-math" aria-label="{v}_{min}"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.212em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">m</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">i</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">n</span></span></span></span></span></span></span></span></span></span> and upper bound <span itemscope="" itemtype="http://schema.stenci.la/MathFragment"><span class="mjx-chtml"><span class="mjx-math" aria-label="{v}_{max}"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.212em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">m</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">a</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">x</span></span></span></span></span></span></span></span></span></span> , as well as the definition of an objective function <span itemscope="" itemtype="http://schema.stenci.la/MathFragment"><span class="mjx-chtml"><span class="mjx-math" aria-label="z"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em; padding-right: 0.003em;">z</span></span></span></span></span></span>. The objective function <span itemscope="" itemtype="http://schema.stenci.la/MathFragment"><span class="mjx-chtml"><span class="mjx-math" aria-label="z"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em; padding-right: 0.003em;">z</span></span></span></span></span></span> defines a flux distribution <span itemscope="" itemtype="http://schema.stenci.la/MathFragment"><span class="mjx-chtml"><span class="mjx-math" aria-label="v"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span></span></span></span></span>, with respect to an objective <span itemscope="" itemtype="http://schema.stenci.la/MathFragment"><span class="mjx-chtml"><span class="mjx-math" aria-label="c"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">c</span></span></span></span></span></span>. </p><span itemscope="" itemtype="http://schema.stenci.la/MathBlock"><span class="mjx-chtml MJXc-display" style="text-align: center;"><span class="mjx-math" aria-label="{\displaystyle \begin{array}{ll}\text{min/max}& {z}_{{}_{FBA}}={c}^{T}v\\ \text{s.t.}\\ & S\cdot v=0\\ & {v}_{min}\le v\le {v}_{max}\end{array}}"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mstyle"><span class="mjx-mrow"><span class="mjx-mtable" style="vertical-align: -2.455em; padding: 0px 0.167em;"><span class="mjx-table"><span class="mjx-mtr" style="height: 1.411em;"><span class="mjx-mtd" style="padding: 0px 0.5em 0px 0px; text-align: left; width: 4.028em;"><span class="mjx-mrow" style="margin-top: -0.141em;"><span class="mjx-mtext"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">min/max</span></span><span class="mjx-strut"></span></span></span><span class="mjx-mtd" style="padding: 0px 0px 0px 0.5em; text-align: left; width: 6.881em;"><span class="mjx-mrow" style="margin-top: -0.141em;"><span class="mjx-msubsup"><span class="mjx-base" style="margin-right: -0.003em;"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em; padding-right: 0.003em;">z</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.212em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"></span></span></span><span class="mjx-sub" style="font-size: 83.3%; vertical-align: -0.317em; padding-right: 0.06em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em; padding-right: 0.106em;">F</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">B</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em;">A</span></span></span></span></span></span></span></span></span></span><span class="mjx-mo MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.077em; padding-bottom: 0.298em;">=</span></span><span class="mjx-msubsup MJXc-space3"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">c</span></span></span></span></span><span class="mjx-sup" style="font-size: 70.7%; vertical-align: 0.513em; padding-left: 0px; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em; padding-right: 0.12em;">T</span></span></span></span></span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span><span class="mjx-strut"></span></span></span></span><span class="mjx-mtr" style="height: 1.4em;"><span class="mjx-mtd" style="padding: 0.2em 0.5em 0px 0px; text-align: left;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-mtext"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.298em; padding-bottom: 0.372em;">s.t.</span></span><span class="mjx-strut"></span></span></span><span class="mjx-mtd" style="padding: 0.2em 0px 0px 0.5em; text-align: left;"><span style="margin-top: -0.2em;"></span></span></span><span class="mjx-mtr" style="height: 1.4em;"><span class="mjx-mtd" style="padding: 0.2em 0.5em 0px 0px; text-align: left;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-strut"></span></span></span><span class="mjx-mtd" style="padding: 0.2em 0px 0px 0.5em; text-align: left;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em; padding-right: 0.032em;">S</span></span><span class="mjx-mo MJXc-space2"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.004em; padding-bottom: 0.298em;">⋅</span></span><span class="mjx-mi MJXc-space2"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span><span class="mjx-mo MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.077em; padding-bottom: 0.298em;">=</span></span><span class="mjx-mn MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.372em; padding-bottom: 0.372em;">0</span></span><span class="mjx-strut"></span></span></span></span><span class="mjx-mtr" style="height: 1.2em;"><span class="mjx-mtd" style="padding: 0.2em 0.5em 0px 0px; text-align: left;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-strut"></span></span></span><span class="mjx-mtd" style="padding: 0.2em 0px 0px 0.5em; text-align: left;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.212em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">m</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">i</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">n</span></span></span></span></span></span><span class="mjx-mo MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.372em; padding-bottom: 0.446em;">≤</span></span><span class="mjx-mi MJXc-space3"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span><span class="mjx-mo MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.372em; padding-bottom: 0.446em;">≤</span></span><span class="mjx-msubsup MJXc-space3"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.212em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">m</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">a</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">x</span></span></span></span></span></span><span class="mjx-strut"></span></span></span></span></span></span></span></span></span></span></span></span></span></span> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">The degeneracy problem, the possible existence of alternate optimal solutions, is one of the major issues of constraint-based optimisation, such as FBA <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib46"><span>46</span><span>Mahadevan and Schilling</span><span>2003</span></a></cite>. To avoid this problem, we use the parsimonious version of FBA (pFBA) <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib39"><span>39</span><span>Lewis et al.</span><span>2010</span></a></cite>. This approach incorporates the flux parsimony as a constraint to find the solution with the minimum absolute flux value among the alternative optima, which is in agreement with the assumption that the cell is evolutionary optimised to allocate a minimum amount of resources to achieve its objective.</p><span itemscope="" itemtype="http://schema.stenci.la/MathBlock"><span class="mjx-chtml MJXc-display" style="text-align: center;"><span class="mjx-math" aria-label="\begin{array}{cc}\text{min/max}\hfill & {z}_{{}_{pFBA}}=\sum \left|{v}_{i}\right|\hfill \\ \text{s.t.}\hfill & \\ & S\cdot v=0\hfill \\ & {v}_{min}\le v\le {v}_{max}\hfill \\ & {c}^{T}v={z}_{{}_{FBA}}\hfill \end{array}"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-mtable" style="vertical-align: -3.288em; padding: 0px 0.167em;"><span class="mjx-table"><span class="mjx-mtr" style="height: 1.466em;"><span class="mjx-mtd" style="padding: 0px 0.5em 0px 0px; text-align: left; width: 4.028em;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-mtext"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">min/max</span></span><span class="mjx-strut"></span></span></span><span class="mjx-mtd" style="padding: 0px 0px 0px 0.5em; text-align: left; width: 6.881em;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-msubsup"><span class="mjx-base" style="margin-right: -0.003em;"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em; padding-right: 0.003em;">z</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.212em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"></span></span></span><span class="mjx-sub" style="font-size: 83.3%; vertical-align: -0.317em; padding-right: 0.06em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.446em;">p</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em; padding-right: 0.106em;">F</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">B</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em;">A</span></span></span></span></span></span></span></span></span></span><span class="mjx-mo MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.077em; padding-bottom: 0.298em;">=</span></span><span class="mjx-mo MJXc-space3"><span class="mjx-char MJXc-TeX-size1-R" style="padding-top: 0.519em; padding-bottom: 0.519em;">∑</span></span><span class="mjx-mrow MJXc-space1"><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">|</span></span><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.212em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">i</span></span></span></span></span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">|</span></span></span><span class="mjx-strut"></span></span></span></span><span class="mjx-mtr" style="height: 1.4em;"><span class="mjx-mtd" style="padding: 0.2em 0.5em 0px 0px; text-align: left;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-mtext"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.298em; padding-bottom: 0.372em;">s.t.</span></span><span class="mjx-strut"></span></span></span><span class="mjx-mtd" style="padding: 0.2em 0px 0px 0.5em;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-strut"></span></span></span></span><span class="mjx-mtr" style="height: 1.4em;"><span class="mjx-mtd" style="padding: 0.2em 0.5em 0px 0px;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-strut"></span></span></span><span class="mjx-mtd" style="padding: 0.2em 0px 0px 0.5em; text-align: left;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em; padding-right: 0.032em;">S</span></span><span class="mjx-mo MJXc-space2"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.004em; padding-bottom: 0.298em;">⋅</span></span><span class="mjx-mi MJXc-space2"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span><span class="mjx-mo MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.077em; padding-bottom: 0.298em;">=</span></span><span class="mjx-mn MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.372em; padding-bottom: 0.372em;">0</span></span><span class="mjx-strut"></span></span></span></span><span class="mjx-mtr" style="height: 1.4em;"><span class="mjx-mtd" style="padding: 0.2em 0.5em 0px 0px;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-strut"></span></span></span><span class="mjx-mtd" style="padding: 0.2em 0px 0px 0.5em; text-align: left;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.212em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">m</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">i</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">n</span></span></span></span></span></span><span class="mjx-mo MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.372em; padding-bottom: 0.446em;">≤</span></span><span class="mjx-mi MJXc-space3"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span><span class="mjx-mo MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.372em; padding-bottom: 0.446em;">≤</span></span><span class="mjx-msubsup MJXc-space3"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.212em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">m</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">a</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">x</span></span></span></span></span></span><span class="mjx-strut"></span></span></span></span><span class="mjx-mtr" style="height: 1.411em;"><span class="mjx-mtd" style="padding: 0.2em 0.5em 0px 0px;"><span class="mjx-mrow" style="margin-top: -0.141em;"><span class="mjx-strut"></span></span></span><span class="mjx-mtd" style="padding: 0.2em 0px 0px 0.5em; text-align: left;"><span class="mjx-mrow" style="margin-top: -0.141em;"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">c</span></span></span></span></span><span class="mjx-sup" style="font-size: 70.7%; vertical-align: 0.513em; padding-left: 0px; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em; padding-right: 0.12em;">T</span></span></span></span></span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span><span class="mjx-mo MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.077em; padding-bottom: 0.298em;">=</span></span><span class="mjx-msubsup MJXc-space3"><span class="mjx-base" style="margin-right: -0.003em;"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em; padding-right: 0.003em;">z</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.212em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"></span></span></span><span class="mjx-sub" style="font-size: 83.3%; vertical-align: -0.317em; padding-right: 0.06em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em; padding-right: 0.106em;">F</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">B</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em;">A</span></span></span></span></span></span></span></span></span></span><span class="mjx-strut"></span></span></span></span></span></span></span></span></span></span> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">All FBA experiments in this study employ pFBA and are performed using the cobrapy module in a python 2.7 environment run on a personal computer (macOS Sierra, 4 GHz Intel Core i7, 32 GB 1867 MHz DDR3). All FBA experiments are available as jupyter notebooks in the supplementary material and can also be accessed and executed from the GitHub repository <a href="https://github.com/ma-blaetke/CBM_C3_C4_Metabolism" itemscope="" itemtype="http://schema.stenci.la/Link">https://github.com/ma-blaetke/CBM_C3_C4_Metabolism</a> (<cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib10"><span>10</span><span>Blätke</span><span>2019</span></a></cite>; copy archived at <a href="https://github.com/elifesciences-publications/CBM_C3_C4_Metabolism" itemscope="" itemtype="http://schema.stenci.la/Link">https://github.com/elifesciences-publications/CBM_C3_C4_Metabolism</a>). </p> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="1" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>##### Import Modules ##### ## numpy import numpy as np ## pandas import pandas as pd pd.set_option('display.max_rows', None) pd.set_option('display.max_columns', None) pd.set_option('display.width', None) pd.set_option('display.max_colwidth', None) ## plotly import plotly import plotly.graph_objects as go from plotly.subplots import make_subplots ## cobra import cobra ## escher from escher import Builder ## ipython HTML display from IPython.display import HTML ## goatools from goatools import obo_parser ## tqdm from tqdm.notebook import trange, tqdm ## string import string print(f"Code Cell 1: Import Python Modules")</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 1: Import Python Modules </code></pre> </figure> </stencila-code-chunk> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="2" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 2: Set Parameters") ##### Set Parameters ##### inf = float(1e6) </code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 2: Set Parameters </code></pre> </figure> </stencila-code-chunk> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="3" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 3: Define Functions") ##### Define Functions - SBML Model and FBA ##### ## Load SBML model def load_sbml_model(): ''' Return cobra model Parameters: Returns: cobra_model (cobra.model): cobra model of specified sbm file ''' sbml_file = 'elife-49305.ipython.src/2018-23-05-mb-genC3.sbml' cobra_model = cobra.io.sbml.read_sbml_model(sbml_file) return cobra_model ## Add reactions to model def add_rxn(name, D_mets, model, rev=True): ''' Add new reaction to cobra model Parameters: name (str): short name/id of reaction D_mets (dict): dictionary of metabolites and their stoichimetric coeffcients attending at reaction model (cobra.model): cobra model to add the reaction rev (bool): reversiblity of reaction (default: True) Returns: ''' r_name = name r_obj = cobra.Reaction(rname) r_obj.name = r_name r_obj.id = r_name model.add_reaction(r_obj) r_obj.add_metabolites(D_mets) r_obj.objective_coefficient = 0 r_obj.bounds = (-inf,inf) if rev else (0,inf) ## Set flux of a reaction to a fixed value def set_fixed_flux(r_id, val, model): ''' Set flux of reaction to a fixed value Parameters: r_id (str): reaction id val (float): flux value model (cobra.model): cobra model to add the reaction Returns: ''' r_obj = model.reactions.get_by_id(r_id) r_obj.bounds = (val,val) ## Set lower and upper flux bound of a reaction def set_bounds(r_id, val_tuple, model): ''' Set flux bounds of reaction Parameters: r_id (str): reaction id val_tuple (tuple): (lower_bound, upper_bound) model (cobra.model): cobra model to add the reaction Returns: ''' r_obj = model.reactions.get_by_id(r_id) r_obj.bounds = val_tuple ## Set flux ratio for two reactions def set_fixed_flux_ratio(r_dict, name, model): ''' Set flux ratio of two reactions Parameters: r_dict (dict): rdictionary with two keys (reaction ids) and their proportion in the ratio {r_id1: prop1, r_ids2: prop2} name (str): name of constraint model (cobra.model): cobra model to add the reaction Returns: ''' if len(r_dict) == 2: r_id1 = list(r_dict.keys())[0] r_obj1 = model.reactions.get_by_id(r_id1) r_v1 = list(r_dict.values())[0] r_id2 = list(r_dict.keys())[1] r_obj2 = model.reactions.get_by_id(r_id2) r_v2 = list(r_dict.values())[1] const = model.problem.Constraint( float(r_v1) * r_obj2.flux_expression - float(r_v2) * r_obj1.flux_expression, lb = 0.0, ub = 0.0, name = name) model.add_cons_vars(const) return const</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 3: Define Functions </code></pre> </figure> </stencila-code-chunk> <h3 itemscope="" itemtype="http://schema.stenci.la/Heading" id="generic-model-for-c3-metabolism">Generic model for C3 metabolism</h3> <h4 itemscope="" itemtype="http://schema.stenci.la/Heading" id="metabolic-model">Metabolic model</h4> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">The generic model representing the metabolism of a mesophyll cell of a mature photosynthetically active C3 leaf, further on called <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">one-cell</em> model, is based on the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Arabidopsis</em> core model <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib2"><span>2</span><span>Arnold and Nikoloski</span><span>2014</span></a></cite>. The model is compartmentalised into cytosol (c), chloroplast (h), mitochondria (m), and peroxisome (p). Each reaction in the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Arabidopsis</em> core model <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib2"><span>2</span><span>Arnold and Nikoloski</span><span>2014</span></a></cite> was compared with the corresponding entry in AraCyc <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib49"><span>49</span><span>Mueller et al.</span><span>2003</span></a></cite>. Based on the given information, we corrected co-factors, gene associations, enzyme commission numbers and reversibility (information from BRENDA <cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib68"><span>68</span><span>Schomburg et al.</span><span>2002</span></a></cite> were included). The gene associations and their GO terms <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib3"><span>3</span><span>Ashburner et al.</span><span>2000</span></a></cite> of the cellular components were used to correct the location of reactions. Major additions to the model are the cyclic electron flow <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib70"><span>70</span><span>Shikanai</span><span>2016</span></a></cite>, alternative oxidases in mitochondria and chloroplast <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib81"><span>81</span><span>Vishwakarma et al.</span><span>2015</span></a></cite>, as well as several transport processes between the compartments and the cytosol <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib42"><span>42</span><span>Linka and Weber</span><span>2010</span></a></cite>. NAD-dependent dehydrogenase to oxidise malate is present in all compartments <span itemscope="" itemtype="http://schema.stenci.la/CiteGroup"><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib27"><span>27</span><span>Gietl</span><span>1992</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib9"><span>9</span><span>Berkemeyer et al.</span><span>1998</span></a></cite></span>, which excludes the interconversion of NAD and NADP by cycles through the nitrate reductase present in the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Arabidopsis</em> core model. Correctly defining the protonation state of the metabolites in the various cellular compartments is a general drawback of metabolic models due to the lack of knowledge in that area. This issue mainly affects biochemical reactions and transport reactions involving protons. We added a sink/source reaction for protons in the form:</p><span itemscope="" itemtype="http://schema.stenci.la/MathBlock"><span class="mjx-chtml MJXc-display" style="text-align: center;"><span class="mjx-math" aria-label="\begin{array}{cc}\leftrightarrow H\mathrm{\_}\{x\}\hfill & x=c,h,m,p\hfill \end{array}"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-mtable" style="vertical-align: -0.288em; padding: 0px 0.167em;"><span class="mjx-table"><span class="mjx-mtr" style="height: 1.075em;"><span class="mjx-mtd" style="padding: 0px 0.5em 0px 0px; text-align: left; width: 4.238em;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.225em; padding-bottom: 0.372em;">↔</span></span><span class="mjx-mi MJXc-space3"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em; padding-right: 0.057em;">H</span></span><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.291em; padding-bottom: 0.372em;">_</span></span></span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">{</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">x</span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">}</span></span><span class="mjx-strut"></span></span></span><span class="mjx-mtd" style="padding: 0px 0px 0px 0.5em; text-align: left; width: 5.63em;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">x</span></span><span class="mjx-mo MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.077em; padding-bottom: 0.298em;">=</span></span><span class="mjx-mi MJXc-space3"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">c</span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.144em; padding-bottom: 0.519em;">,</span></span><span class="mjx-mi MJXc-space1"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">h</span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.144em; padding-bottom: 0.519em;">,</span></span><span class="mjx-mi MJXc-space1"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">m</span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.144em; padding-bottom: 0.519em;">,</span></span><span class="mjx-mi MJXc-space1"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.446em;">p</span></span><span class="mjx-strut"></span></span></span></span></span></span></span></span></span></span> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">to all compartments to prevent futile fluxes of protons and other metabolites coupled through the proton transport. The curated <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">one-cell</em> model is provided in <a href="#fig1sdata1" itemscope="" itemtype="http://schema.stenci.la/Link">Figure 1—source data 1</a>.</p> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="4" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 4: Load Metabolic Model of C3 Photosynthesis in Arabidposis thaliana") ##### Load model ##### c3_model = load_sbml_model() # Model summary c3_num_mets = len(c3_model.metabolites) c3_num_rxn = len(c3_model.reactions) c3_num_transport_rxn = len(c3_model.reactions.query(lambda rxn: (rxn.id.startswith('Tr_')))) c3_num_export_rxn = len(c3_model.reactions.query(lambda rxn: (rxn.id.startswith('Ex_')))) c3_num_import_rxn = len(c3_model.reactions.query(lambda rxn: (rxn.id.startswith('Im_')))) df_c3_model_summary = pd.DataFrame([c3_num_mets, c3_num_rxn, c3_num_transport_rxn, c3_num_export_rxn, c3_num_import_rxn], index=['total metabolites','total reactions','transport reactions', 'export reactions' ,'import reactions'], columns=['Count']) df_c3_model_summary</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 4: Load Metabolic Model of C3 Photosynthesis in Arabidposis thaliana </code></pre> <table itemscope="" itemtype="http://schema.org/Table"> <thead> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <th itemscope="" itemtype="http://schema.stenci.la/TableCell"></th> <th itemscope="" itemtype="http://schema.stenci.la/TableCell">Count</th> </tr> </thead> <tbody> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">total metabolites </td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">413</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">total reactions</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">572</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">transport reactions </td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">139</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">export reactions </td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">90</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">import reactions </td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">8</span></td> </tr> </tbody> </table> </figure> </stencila-code-chunk> <h4 itemscope="" itemtype="http://schema.stenci.la/Heading" id="import">Import</h4> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="5" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 5: Add Constraints on Metabolite Input") ##### Add constraints on metabolite uptake ##### ## CONSTRAINT: CO2 uptake rate in C3 plants is about 20 μmol/(m2*s) f_c3_CO2 = 20 #[μmol/(m2*s)] set_bounds('Im_CO2', (0, f_c3_CO2), c3_model) ## CONSTRAINT: max. photon consumption 1000 μE f_c3_hnu = 1000 #[μE] set_bounds('Im_hnu', (0, f_c3_hnu), c3_model) ## CONSTRAINT: Fluxes of other import reactions set_bounds('Im_H2O', (-inf, inf), c3_model) set_bounds('Im_H2S', (0.,0.), c3_model) set_bounds('Im_NH4', (0., 0.), c3_model) set_bounds('Im_NO3', (0., inf), c3_model) set_bounds('Im_Pi', (0., inf), c3_model) set_bounds('Im_SO4', (0., inf), c3_model) set_bounds('Ex_O2', (-inf, inf), c3_model) set_bounds('Ex_Suc', (0., inf), c3_model) set_bounds('Ex_starch', (0., inf), c3_model) set_bounds('Ex_AA', (0., inf), c3_model) </code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 5: Add Constraints on Metabolite Input </code></pre> </figure> </stencila-code-chunk> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">As in <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib2"><span>2</span><span>Arnold and Nikoloski</span><span>2014</span></a></cite>, we assume photoautotrophic growth conditions. Only the import of light, water, CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub>, inorganic phosphate (<span itemscope="" itemtype="http://schema.stenci.la/MathFragment"><span class="mjx-chtml"><span class="mjx-math" aria-label="\mathrm{Pi}"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.372em; padding-bottom: 0.372em;">P</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.372em; padding-bottom: 0.372em;">i</span></span></span></span></span></span></span></span>), nitrate/ammonium, and sulphates/hydrogen sulphide is allowed, compare <a href="#table3" itemscope="" itemtype="http://schema.stenci.la/Link">Table 3</a>. More specifically, we do only allow for nitrate uptake, since it is the main source (80%) of nitrogen in leaves <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib45"><span>45</span><span>Macduff and Bakken</span><span>2003</span></a></cite>. The CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> uptake is limited to <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">f_c3_CO2</code><output slot="output"></output></stencila-code-expression> μmol/(m<sup itemscope="" itemtype="http://schema.stenci.la/Superscript"><span data-itemtype="http://schema.org/Number">2</span></sup>s) <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib37"><span>37</span><span>Lacher</span><span>2003</span></a></cite>. Therefore, the carbon input constrains the model.</p> <h4 itemscope="" itemtype="http://schema.stenci.la/Heading" id="export">Export</h4> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="6" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 6: Add Constraints on Metabolite Output") ##### Add constraints on metabolite secretion ##### ## CONSTRAINT: Fluxes of other import reactions set_bounds('Ex_O2', (-inf, inf), c3_model) set_bounds('Ex_Suc', (0., inf), c3_model) set_bounds('Ex_starch', (0., inf), c3_model) set_bounds('Ex_AA', (0., inf), c3_model) ## CONSTRAINT: Output of sucrose : total amino acid r_suc_aa = (2.2, 1.0) const_c3_suc_aa = set_fixed_flux_ratio({'Ex_Suc':r_suc_aa[0],'Ex_AA':r_suc_aa[1]}, 'const_c3_suc_aa', c3_model) ## CONSTRAINT: Output of sucrose : starch r_suc_starch = (1.0, 1.0) const_c3_suc_starch = set_fixed_flux_ratio({'Ex_Suc':r_suc_starch[0],'Ex_starch':r_suc_starch[1]}, 'const_c3_suc_starch', c3_model)</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 6: Add Constraints on Metabolite Output </code></pre> </figure> </stencila-code-chunk> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">In contrast to <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib2"><span>2</span><span>Arnold and Nikoloski</span><span>2014</span></a></cite>, we focus on mature, fully differentiated and photosynthetic active leaves supporting the growth of the plant through the export of nutrients in the phloem sap, mainly sucrose and amino acids. An output reaction for sucrose <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Ex_Suc</em> is already included in the model. An additional export reaction <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Ex_AA</em> represents the relative proportion of 18 amino acids in the phloem sap of <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Arabidopsis</em> as stoichiometric coefficients in accordance to experimentally measured data from <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib85"><span>85</span><span>Wilkinson and Douglas</span><span>2003</span></a></cite>. The ratio of exported sucrose : total amino acid is estimated to be <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">r_suc_aa[0]</code><output slot="output"></output> </stencila-code-expression> : <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">r_suc_aa[1]</code><output slot="output"></output> </stencila-code-expression><span data-itemtype="http://schema.org/Number">0</span><cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib85"><span>85</span><span>Wilkinson and Douglas</span><span>2003</span></a></cite>. This ratio is included as a flux ratio constraint of the reactions <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Ex_Suc</em> and <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Ex_AA</em>. Furthermore, it is known that the export of sucrose and the formation of starch is approximately the same <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib74"><span>74</span><span>Stitt and Zeeman</span><span>2012</span></a></cite>, which is reflected by the flux ratio constraint <span itemscope="" itemtype="http://schema.stenci.la/MathFragment"><span class="mjx-chtml"><span class="mjx-math" aria-label="{v}_{Ex\mathrm{\_}Suc}:{v}_{Ex\mathrm{\_}starch}"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.23em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em; padding-right: 0.026em;">E</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">x</span></span><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.291em; padding-bottom: 0.372em;">_</span></span></span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em; padding-right: 0.032em;">S</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">u</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">c</span></span></span></span></span></span><span class="mjx-mo MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.151em; padding-bottom: 0.372em;">:</span></span><span class="mjx-msubsup MJXc-space3"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.219em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em; padding-right: 0.026em;">E</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">x</span></span><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.291em; padding-bottom: 0.372em;">_</span></span></span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">s</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.372em; padding-bottom: 0.298em;">t</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">a</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">r</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">c</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">h</span></span></span></span></span></span></span></span></span></span> = <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">r_suc_starch[0]</code><output slot="output"></output> </stencila-code-expression>:<stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">r_suc_starch[1]</code><output slot="output"></output> </stencila-code-expression>. The model allows for the export of water and oxygen. The flux of all other export reactions is set to 0, see <a href="#table3" itemscope="" itemtype="http://schema.stenci.la/Link">Table 3</a> for a summary.</p> <figure itemscope="" itemtype="http://schema.stenci.la/Figure" id="table3" title="Table 3."> <label data-itemprop="label">Table 3.</label> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="7" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 7: Create Table on Flux Boundary Constraints of Input and Output Reactions") #### Table 3 #### #{ # "caption": "#### Flux boundary constraints of Im-/export reactions", # "id": "table3", # "label": "Table 3.", # "trusted": true #} index = c3_model.reactions.query(lambda rxn: (rxn.id.startswith('Ex_') or rxn.id.startswith('Im_'))).list_attr('id') lower_bounds = c3_model.reactions.query(lambda rxn: (rxn.id.startswith('Ex_') or rxn.id.startswith('Im_'))).list_attr('lower_bound') upper_bounds = c3_model.reactions.query(lambda rxn: (rxn.id.startswith('Ex_') or rxn.id.startswith('Im_'))).list_attr('upper_bound') cols = ['Lower bound [μmol/(m^2^s)]', 'Upper bound [μmol/(m^2^s)]' ] df_ex_im_rxn_bounds = pd.DataFrame(np.array([lower_bounds, upper_bounds]).T,index=index, columns=cols) df_ex_im_rxn_bounds.index.name = 'Reaction ID' df_ex_im_rxn_bounds.style.applymap(lambda val: 'color: red' if val != 0 else 'color: black')</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 7: Create Table on Flux Boundary Constraints of Input and Output Reactions </code></pre> <table id="T_b217f_" itemscope="" itemtype="http://schema.org/Table"> <thead> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <th itemscope="" itemtype="http://schema.stenci.la/TableCell"></th> <th itemscope="" itemtype="http://schema.stenci.la/TableCell">Lower bound [μmol/(m^2^s)]</th> <th itemscope="" itemtype="http://schema.stenci.la/TableCell">Upper bound [μmol/(m^2^s)]</th> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <th itemscope="" itemtype="http://schema.stenci.la/TableCell">Reaction ID</th> <th itemscope="" itemtype="http://schema.stenci.la/TableCell"></th> <th itemscope="" itemtype="http://schema.stenci.la/TableCell"></th> </tr> </thead> <tbody> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Im_hnu</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">1000</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Im_CO2</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">20</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Im_H2O</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">-1000000</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">1000000</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Im_Pi</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">1000000</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Im_NO3</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">1000000</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Im_NH4</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Im_SO4</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">1000000</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Im_H2S</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_O2</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">-1000000</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">1000000</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Ala_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Ala_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Ala_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Ala_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Arg_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Arg_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Arg_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Arg_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Asn_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Asn_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Asn_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Asn_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Asp_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Asp_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Asp_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Asp_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Cys_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Cys_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Cys_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Cys_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Gln_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Gln_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Gln_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Gln_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Glu_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Glu_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Glu_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Glu_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Gly_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Gly_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Gly_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Gly_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_His_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_His_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_His_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_His_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Ile_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Ile_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Ile_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Ile_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Leu_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Leu_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Leu_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Leu_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Lys_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Lys_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Lys_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Lys_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Met_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Met_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Met_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Met_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Phe_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Phe_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Phe_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Phe_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Pro_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Pro_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Pro_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Pro_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Ser_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Ser_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Ser_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Ser_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Thr_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Thr_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Thr_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Thr_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Trp_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Trp_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Trp_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Trp_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Tyr_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Tyr_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Tyr_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Tyr_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Val_c</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Val_h</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Val_m</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Val_p</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_starch</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">1000000</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Glc</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Frc</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Suc</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">1000000</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_cellulose</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Mas</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_MACP</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_Tre</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Ex_AA</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0</span></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">1000000</span></td> </tr> </tbody> </table> </figure> </stencila-code-chunk> <figcaption> <h5 itemscope="" itemtype="http://schema.stenci.la/Heading" id="flux-boundary-constraints-of-im-export-reactions">Flux boundary constraints of Im-/export reactions</h5> </figcaption> </figure> <h4 itemscope="" itemtype="http://schema.stenci.la/Heading" id="additional-constraints"> Additional Constraints</h4> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="8" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 8: Add Constraints on ATP maintenance costs") ## CONSTRAINT: Maintenance cost atp_cost_L3_m = 0.009111187245501572 #Mitochondria-L3-ATP Cost [µmol*s-1*m-2] atp_cost_L3_h = 0.15270708327974447 #Chloroplast-L3-ATP Cost [µmol*s-1*m-2] atp_cost_L3_p = 0.0076669066992201855 #Peroxisome-L3-ATP Cost [µmol*s-1*m-2] atp_cost_L3_c = 0.042683072918274702 #Cytosl/Other-L3-ATP Cost [µmol*s-1*m-2] set_fixed_flux('NGAM_c',atp_cost_L3_c + atp_cost_L3_p, c3_model) set_fixed_flux('NGAM_m',atp_cost_L3_m, c3_model) set_fixed_flux('NGAM_h',atp_cost_L3_h, c3_model)</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 8: Add Constraints on ATP maintenance costs </code></pre> </figure> </stencila-code-chunk> <figure itemscope="" itemtype="http://schema.stenci.la/Figure" id="table4" title="Table 4."> <label data-itemprop="label">Table 4.</label> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="9" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>#### Table 4 #### #{ # "caption": "#### Maintenance costs by compartment", # "id": "table4", # "label": "Table 4.", # "trusted": true #} df_maintenance = pd.DataFrame([atp_cost_L3_c,atp_cost_L3_h, atp_cost_L3_m, atp_cost_L3_p], index=['cytosol','chloroplast','mitochondria','peroxisome'], columns=['Flux [μmol/(m^2^s)]']) df_maintenance.index.name = 'Compartment' df_maintenance</code></pre> <figure slot="outputs"> <table itemscope="" itemtype="http://schema.org/Table"> <thead> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <th itemscope="" itemtype="http://schema.stenci.la/TableCell"></th> <th itemscope="" itemtype="http://schema.stenci.la/TableCell">Flux [μmol/(m^2^s)]</th> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <th itemscope="" itemtype="http://schema.stenci.la/TableCell">Compartment</th> <th itemscope="" itemtype="http://schema.stenci.la/TableCell"></th> </tr> </thead> <tbody> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">cytosol</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0.042683</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">chloroplast</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0.152707</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">mitochondria</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0.009111</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">peroxisome</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">0.007667</span></td> </tr> </tbody> </table> </figure> </stencila-code-chunk> <figcaption> <h5 itemscope="" itemtype="http://schema.stenci.la/Heading" id="maintenance-costs-by-compartment">Maintenance costs by compartment</h5> </figcaption> </figure> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">We explicitly include the maintenance costs in our model to cover the amounts of ATP that is used to degradation and re-synthesis proteins for each compartment. <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib40"><span>40</span><span>Li et al.</span><span>2017</span></a></cite> specifies the ATP costs for protein degradation and synthesis of each compartment of a mature <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Arabidopsis</em> leaf. Based on the given data, we were able to calculate the flux rates to constrain the maintenance reactions in each compartment (<a href="#table4" itemscope="" itemtype="http://schema.stenci.la/Link">Table 4</a>).</p> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">The <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">one-cell</em> model contains maintenance reactions only for the cytsol (<em itemscope="" itemtype="http://schema.stenci.la/Emphasis">NGAM_c</em>), chloroplast (<em itemscope="" itemtype="http://schema.stenci.la/Emphasis">NGAM_h</em>) and mitochondria (<em itemscope="" itemtype="http://schema.stenci.la/Emphasis">NGAM_m</em>) in the form:</p> <span itemscope="" itemtype="http://schema.stenci.la/MathBlock"><span class="mjx-chtml MJXc-display" style="text-align: center;"><span class="mjx-math" aria-label="\begin{array}{cc}ATP\mathrm{\_}\{x\}+H2O\mathrm{\_}\{x\}\to ADP\mathrm{\_}\{x\}+H\mathrm{\_}\{x\}+Pi\mathrm{\_}\{x\}\hfill & x=c,h,m\hfill \end{array}"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-mtable" style="vertical-align: -0.288em; padding: 0px 0.167em;"><span class="mjx-table"><span class="mjx-mtr" style="height: 1.075em;"><span class="mjx-mtd" style="padding: 0px 0.5em 0px 0px; text-align: left; width: 24.252em;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em;">A</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em; padding-right: 0.12em;">T</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em; padding-right: 0.109em;">P</span></span><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.291em; padding-bottom: 0.372em;">_</span></span></span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">{</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">x</span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">}</span></span><span class="mjx-mo MJXc-space2"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.298em; padding-bottom: 0.446em;">+</span></span><span class="mjx-mi MJXc-space2"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em; padding-right: 0.057em;">H</span></span><span class="mjx-mn"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.372em; padding-bottom: 0.372em;">2</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em;">O</span></span><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.291em; padding-bottom: 0.372em;">_</span></span></span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">{</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">x</span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">}</span></span><span class="mjx-mo MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.225em; padding-bottom: 0.372em;">→</span></span><span class="mjx-mi MJXc-space3"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em;">A</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">D</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em; padding-right: 0.109em;">P</span></span><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.291em; padding-bottom: 0.372em;">_</span></span></span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">{</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">x</span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">}</span></span><span class="mjx-mo MJXc-space2"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.298em; padding-bottom: 0.446em;">+</span></span><span class="mjx-mi MJXc-space2"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em; padding-right: 0.057em;">H</span></span><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.291em; padding-bottom: 0.372em;">_</span></span></span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">{</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">x</span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">}</span></span><span class="mjx-mo MJXc-space2"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.298em; padding-bottom: 0.446em;">+</span></span><span class="mjx-mi MJXc-space2"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em; padding-right: 0.109em;">P</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">i</span></span><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.291em; padding-bottom: 0.372em;">_</span></span></span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">{</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">x</span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">}</span></span><span class="mjx-strut"></span></span></span><span class="mjx-mtd" style="padding: 0px 0px 0px 0.5em; text-align: left; width: 4.682em;"><span class="mjx-mrow" style="margin-top: -0.2em;"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">x</span></span><span class="mjx-mo MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.077em; padding-bottom: 0.298em;">=</span></span><span class="mjx-mi MJXc-space3"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">c</span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.144em; padding-bottom: 0.519em;">,</span></span><span class="mjx-mi MJXc-space1"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">h</span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.144em; padding-bottom: 0.519em;">,</span></span><span class="mjx-mi MJXc-space1"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">m</span></span><span class="mjx-strut"></span></span></span></span></span></span></span></span></span></span> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">An equivalent maintenance reaction cannot be formulated for the peroxisome since in the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">one-cell</em> model ATP/ADP are not included as peroxisomal metabolites. The flux through the maintenance reactions is fixed to the determined maintenance costs given in <a href="#table4" itemscope="" itemtype="http://schema.stenci.la/Link">Table 4</a>. The peroxisomal maintenance costs are added to the cytosolic maintenance costs.</p> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="10" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 10: Add Constraint on Rubisco Oxygenation : Decarboxylation Ratio") ## CONSTRAINT: oxygenation : decarboxylation = 1 : 10 r_c3_rbc_rbo = (10.0, 1.0) const_c3_rbc_rbo = set_fixed_flux_ratio({'RBC_h':r_c3_rbc_rbo[0],'RBO_h':r_c3_rbc_rbo[1]}, 'const_c3_rbc_rbo', c3_model)</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 10: Add Constraint on Rubisco Oxygenation : Decarboxylation Ratio </code></pre> </figure> </stencila-code-chunk> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">The CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> and O<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> partial pressures determine the ratio of the oxygenation : carboxylation rate of Rubisco (given by reactions <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">RBO_h</em> and <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">RBC_h</em>) and can be described by the mathematical expression:</p><span itemscope="" itemtype="http://schema.stenci.la/MathBlock"><span class="mjx-chtml MJXc-display" style="text-align: center;"><span class="mjx-math" aria-label="{\displaystyle \frac{{v}_{RBO\mathrm{\_}h}}{{v}_{RBC\mathrm{\_}h}}=\frac{1}{{S}_{R}}\cdot \frac{{p}_{{O}_{2}}}{{p}_{C{O}_{2}}},}"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mstyle"><span class="mjx-mrow"><span class="mjx-mfrac"><span class="mjx-box MJXc-stacked" style="width: 3.094em; padding: 0px 0.12em;"><span class="mjx-numerator" style="width: 3.094em; top: -1.232em;"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.229em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">R</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">B</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em;">O</span></span><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.291em; padding-bottom: 0.372em;">_</span></span></span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">h</span></span></span></span></span></span></span><span class="mjx-denominator" style="width: 3.094em; bottom: -0.91em;"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.23em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">R</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">B</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em; padding-right: 0.045em;">C</span></span><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.291em; padding-bottom: 0.372em;">_</span></span></span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">h</span></span></span></span></span></span></span><span style="border-bottom: 1.3px solid; top: -0.296em; width: 3.094em;" class="mjx-line"></span></span><span style="height: 2.142em; vertical-align: -0.91em;" class="mjx-vsize"></span></span><span class="mjx-mo MJXc-space3"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.077em; padding-bottom: 0.298em;">=</span></span><span class="mjx-mfrac MJXc-space3"><span class="mjx-box MJXc-stacked" style="width: 1.385em; padding: 0px 0.12em;"><span class="mjx-numerator" style="width: 1.385em; top: -1.368em;"><span class="mjx-mn"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.372em; padding-bottom: 0.372em;">1</span></span></span><span class="mjx-denominator" style="width: 1.385em; bottom: -0.953em;"><span class="mjx-msubsup"><span class="mjx-base" style="margin-right: -0.032em;"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em; padding-right: 0.032em;">S</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.212em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">R</span></span></span></span></span></span></span><span style="border-bottom: 1.3px solid; top: -0.296em; width: 1.385em;" class="mjx-line"></span></span><span style="height: 2.32em; vertical-align: -0.953em;" class="mjx-vsize"></span></span><span class="mjx-mo MJXc-space2"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.004em; padding-bottom: 0.298em;">⋅</span></span><span class="mjx-mfrac MJXc-space2"><span class="mjx-box MJXc-stacked" style="width: 2.139em; padding: 0px 0.12em;"><span class="mjx-numerator" style="width: 2.139em; top: -1.433em;"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.446em;">p</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.36em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em;">O</span></span></span></span></span><span class="mjx-sub" style="font-size: 83.3%; vertical-align: -0.267em; padding-right: 0.06em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mn"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.372em; padding-bottom: 0.372em;">2</span></span></span></span></span></span></span></span></span></span></span><span class="mjx-denominator" style="width: 2.139em; bottom: -1.112em;"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.446em;">p</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.36em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em; padding-right: 0.045em;">C</span></span><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em;">O</span></span></span></span></span><span class="mjx-sub" style="font-size: 83.3%; vertical-align: -0.267em; padding-right: 0.06em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mn"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.372em; padding-bottom: 0.372em;">2</span></span></span></span></span></span></span></span></span></span></span><span style="border-bottom: 1.3px solid; top: -0.296em; width: 2.139em;" class="mjx-line"></span></span><span style="height: 2.546em; vertical-align: -1.112em;" class="mjx-vsize"></span></span><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="margin-top: -0.144em; padding-bottom: 0.519em;">,</span></span></span></span></span></span></span></span></span></span> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">where <span itemscope="" itemtype="http://schema.stenci.la/MathFragment"><span class="mjx-chtml"><span class="mjx-math" aria-label="{S}_{R}"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-msubsup"><span class="mjx-base" style="margin-right: -0.032em;"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em; padding-right: 0.032em;">S</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.212em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">R</span></span></span></span></span></span></span></span></span></span> specifies the ability of Rubisco to bind CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> over O<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub>. In the case of a mature leave and ambient CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> and O<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> partial pressures in temperate regions with adequate water supply, the ratio <span itemscope="" itemtype="http://schema.stenci.la/MathFragment"><span class="mjx-chtml"><span class="mjx-math" aria-label="{v}_{RB{O}_{h}}/{v}_{RB{C}_{h}}"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.229em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">R</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">B</span></span><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em;">O</span></span></span></span></span><span class="mjx-sub" style="font-size: 83.3%; vertical-align: -0.295em; padding-right: 0.06em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">h</span></span></span></span></span></span></span></span></span></span><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mo"><span class="mjx-char MJXc-TeX-main-R" style="padding-top: 0.446em; padding-bottom: 0.593em;">/</span></span></span></span><span class="mjx-msubsup"><span class="mjx-base"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">v</span></span></span></span></span><span class="mjx-sub" style="font-size: 70.7%; vertical-align: -0.23em; padding-right: 0.071em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">R</span></span><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">B</span></span><span class="mjx-msubsup"><span class="mjx-base" style="margin-right: -0.045em;"><span class="mjx-texatom"><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.519em; padding-bottom: 0.298em; padding-right: 0.045em;">C</span></span></span></span></span><span class="mjx-sub" style="font-size: 83.3%; vertical-align: -0.295em; padding-right: 0.06em;"><span class="mjx-texatom" style=""><span class="mjx-mrow"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.446em; padding-bottom: 0.298em;">h</span></span></span></span></span></span></span></span></span></span></span></span></span></span> is fixed and is predicted to be <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">int(r_c3_rbc_rbo[0])</code><output slot="output"></output> </stencila-code-expression>:<stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">int(r_c3_rbc_rbo[1])</code><output slot="output"></output> </stencila-code-expression>, which is encoded by an additional flux ratio constraint.</p> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="11" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 11: Add Constraint on NADPH dehydrogenase and plastoquinol oxidase") ## CONSTRAINT: fluxes through the chloroplastic NADPH dehydrogenase and plastoquinol oxidase were set to zero #because the contributions of NADPH dehydrogenase (Yamamoto et al., 2011) and plastoquinol oxidase #(Josse et al., 2000) to photosynthesis are thought to be minor. set_bounds('AOX4_h',(0,0), c3_model) set_bounds('iCitDHNADP_h',(0,0), c3_model)</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 11: Add Constraint on NADPH dehydrogenase and plastoquinol oxidase </code></pre> </figure> </stencila-code-chunk> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">We assume no flux for the chloroplastic NADPH dehydrogenase (<em itemscope="" itemtype="http://schema.stenci.la/Emphasis">iCitDHNADP_h</em>) and plastoquinol oxidase (<em itemscope="" itemtype="http://schema.stenci.la/Emphasis">AOX4_h</em>) because <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib33"><span>33</span><span>Josse et al.</span><span>2000</span></a></cite> and <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib88"><span>88</span><span>Yamamoto et al.</span><span>2011</span></a></cite> have shown that their effect on the photosynthesis is minor.</p> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="12" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 12: Add additional Transport Constraints") ## CONSTRAINT: NTT is only active at night set_fixed_flux('Tr_NTT',0, c3_model) ## CONSTRAINT: No uncoupled pyruvate transport set_bounds('Tr_Pyr1',(0,0), c3_model) set_bounds('Tr_Pyr2',(0,0), c3_model) ## CONSTRAINT: set_bounds('G6PDH_h', (0.,0.), c3_model) set_bounds('PPIF6PK_c', (0,0.), c3_model)</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 12: Add additional Transport Constraints </code></pre> </figure> </stencila-code-chunk> <h4 itemscope="" itemtype="http://schema.stenci.la/Heading" id="objective">Objective</h4> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="13" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 13: Add Objective - Optimize Sucrose Output") ## Optimize/Maximize sucrose output r_c3_opt_id = "Ex_Suc" r_c3_opt_obj = c3_model.reactions.get_by_id(r_c3_opt_id) r_c3_opt_obj.objective_coefficient = 1.</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 13: Add Objective - Optimize Sucrose Output </code></pre> </figure> </stencila-code-chunk> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">In accordance with the assumption of mature, fully differentiated and photosynthetic active leaf, the model’s objective is to maximise the phloem sap output defined by reactions <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">r_c3_opt_id</code><output slot="output"></output> </stencila-code-expression>. Additionally, we assume that the involved plant cells put only a minimal metabolic effort, in the form of energy and resources, into the production of phloem sap as possible. This assumption is in correspondence with minimising the nitrogen investment by reducing the number of enzymes that are active in a metabolic network. Therefore, we perform a parsimonious FBA to minimise the total flux.</p> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">For enhanced compliance with the recent standards of the systems biology community, the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">one-cell</em> model is encoded in SBML level 3. Meta-information on subsystems, publications, cross-references are provided as evidence code in the form of MIRIAM URI’s. FBA related information, gene association rules, charge and formula of a species element are encoded using the Flux Balance Constraints package developed for SBML level 3. All fluxes in the model are consistently defined as μmol/(m<sup itemscope="" itemtype="http://schema.stenci.la/Superscript"><span data-itemtype="http://schema.org/Number">2</span></sup>s).</p> <h3 itemscope="" itemtype="http://schema.stenci.la/Heading" id="generic-model-for-c4-metabolism">Generic model for C4 metabolism</h3> <h4 itemscope="" itemtype="http://schema.stenci.la/Heading" id="metabolic-model-1">Metabolic model</h4> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="14" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 14: Initiate Metabolic Model of C4 Photosynthesis") ## Intitialize C4 model c4_model = cobra.Model('c4_model') ## Define cell types cell_types = ['M', 'B'] ## Duplicate metabolites for m in c3_model.metabolites: for cell in cell_types: m_dt = cobra.Metabolite('['+cell+']_'+m.id, name = m.formula, compartment = m.compartment) c4_model.add_metabolites([m_dt]) ## Duplicate reactions for r_c3_obj in c3_model.reactions: for cell in cell_types: r_c4_obj = cobra.Reaction('['+cell+']_'+r_c3_obj.id) r_c4_obj.name = r_c3_obj.name r_c4_obj.subsystem = r_c3_obj.subsystem r_c4_obj.bounds = r_c3_obj.bounds c4_model.add_reaction(r_c4_obj) 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}) ## Model Summary c4_num_mets = len(c4_model.metabolites) c4_num_rxn = len(c4_model.reactions) df_c4_model_summary = pd.DataFrame([c4_num_mets, c4_num_rxn], index=['Number of metabolites','Number of reactions'], columns=['Count']) df_c4_model_summary</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 14: Initiate Metabolic Model of C4 Photosynthesis </code></pre> <table itemscope="" itemtype="http://schema.org/Table"> <thead> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <th itemscope="" itemtype="http://schema.stenci.la/TableCell"></th> <th itemscope="" itemtype="http://schema.stenci.la/TableCell">Count</th> </tr> </thead> <tbody> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Number of metabolites</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">826</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Number of reactions </td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">1144</span></td> </tr> </tbody> </table> </figure> </stencila-code-chunk> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">The generic model of C4 metabolism, short <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">two-cell</em> model, comprises two copies of the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">one-cell</em> model to represent one mesophyll and one bundle sheath cell. Reactions and metabolites belonging to the metabolic network of the mesophyll are indicated with the prefix <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">[M]</em>, whereas the prefix for the bundle sheath is <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">[B]</em>. The separate mesophyll and bundle sheath networks are connected via reversible transport reactions of the cytosolic metabolites indicated with the prefix <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">[MB]</em>, <a href="#fig2" itemscope="" itemtype="http://schema.stenci.la/Link">Figure 2</a>. The C4 evolution not only confined Rubisco to the bundle sheath cells, the CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> concentrating mechanism steadily supplies Rubisco with CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> in such a way that the oxygenation rate is negligible. Therefore, the bundle sheath network is equipped with two Rubisco populations. The native Rubisco population binds external CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> and adheres to forced oxygenation : carboxylation ratios, where the optimised evolutionary population binds only internal CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> and the carboxylation occurs independently of the oxygenation. External CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> is defined as _[B]_CO2_ex_<em itemscope="" itemtype="http://schema.stenci.la/Emphasis">{_c,h</em>} supplied by the mesophyll network. Internal CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> given by _[B]_CO2_<em itemscope="" itemtype="http://schema.stenci.la/Emphasis">{_c,h,m</em>} originates from reactions in the bundle sheath network producing CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub>. External CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> in the bundle sheath network is only allowed to move to the chloroplast <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">[B]_Tr_CO2h_Ex</em> and to react with Rubisco <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">[B]_RBC_h_Ex</em>. The differentiation of two Rubisco populations binding either external or internal CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> approximates the concentration-dependent shift of the oxygenation : carboxylation ratio.</p> <h4 itemscope="" itemtype="http://schema.stenci.la/Heading" id="imports">Imports</h4> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="15" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 15: Adapt CO2 Input Constraint") ## CONSTRAINT: CO2 uptake rate uin C4 plants is higher, about 40 μmol/(m2*s) f_C4_CO2_M = 40 #[μmol/(m2*s)] set_bounds('[M]_Im_CO2', (0, f_C4_CO2_M), c4_model) ## CONSTRAINT: No CO2 uptake in bundle sheat cells due to suberin layer in cell membranes f_C4_CO2_B = 0 #[μmol/(m2*s)] set_fixed_flux('[B]_Im_CO2', f_C4_CO2_B, c4_model) ## Other constraints on inputs are directly transfered from the c3 model</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 15: Adapt CO2 Input Constraint </code></pre> </figure> </stencila-code-chunk> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">As for the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">one-cell</em> model, we assume photoautotrophic growth conditions, see <a href="#table3" itemscope="" itemtype="http://schema.stenci.la/Link">Table 3</a>. During C4 evolution the CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> assimilation became more efficient allowing higher CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> assimilation rates. <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Zea mays</em> achieves up to <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">f_C4_CO2_M</code><output slot="output"></output> </stencila-code-expression> μmol/(m<sup itemscope="" itemtype="http://schema.stenci.la/Superscript"><span data-itemtype="http://schema.org/Number">2</span></sup>s) ([M]_Im_CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub>) <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib60"><span>60</span><span>Rozema</span><span>1993</span></a></cite>. We assume that the CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> uptake from the environment by the bundle sheath has to be bridged by the mesophyll. Therefore, the input flux of [B]_Im_CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> is set to <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">f_C4_CO2_B</code><output slot="output"></output> </stencila-code-expression>.</p> <h4 itemscope="" itemtype="http://schema.stenci.la/Heading" id="exports">Exports</h4> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="16" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 16: Adapt Output Constraints") ## CONSTRAINT: Output of sucrose : total amino acid and sucrose : starch r_suc_aa = (2.2, 1.0) const_c4_suc_aa_b = set_fixed_flux_ratio({'[B]_Ex_Suc':r_suc_aa[0],'[B]_Ex_AA':r_suc_aa[1]}, 'const_c4_suc_aa_b', c4_model) const_c4_suc_aa_m = set_fixed_flux_ratio({'[M]_Ex_Suc':r_suc_aa[0],'[M]_Ex_AA':r_suc_aa[1]}, 'const_c4_suc_aa_m', c4_model) r_suc_starch = (1.0, 1.0) const_c4_suc_starch_b = set_fixed_flux_ratio({'[B]_Ex_Suc':r_suc_starch[0],'[B]_Ex_starch':r_suc_starch[1]}, 'const_c4_suc_starch_b', c4_model) const_c4_suc_starch_m = set_fixed_flux_ratio({'[M]_Ex_Suc':r_suc_starch[0],'[M]_Ex_starch':r_suc_starch[1]}, 'const_c4_suc_starch_m', c4_model) ## Other constraints on outputs are directly transfered from the c4 model</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 16: Adapt Output Constraints </code></pre> </figure> </stencila-code-chunk> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">The outputs of the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">one-cell</em> model are transferred to the mesophyll and bundle sheath network, as well as the corresponding flux ratios, see <a href="#table3" itemscope="" itemtype="http://schema.stenci.la/Link">Table 3</a>.</p> <h4 itemscope="" itemtype="http://schema.stenci.la/Heading" id="additional-constraints-1"> Additional Constraints</h4> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="17" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 17: Add Metabolite Exchange Reactions") ## Metabolites excluded from M/BS exchange no_transport = ['NO3','NO2', 'O2','Na', 'H2S', 'SO4', 'H2O','FBP','F26BP','DPGA','H','ACD','AC','M_DASH_THF', '5M_DASH_THF', 'H_DASH_Cys', 'aH_DASH_Cys', 'ORO', 'DHO', 'GABA','A_DASH_Ser','PRPP','AD','THF','DHF','ADN','Mas','CoA','GluP', 'A_DASH_CoA','cellulose1','cellulose2','cellulose3','starch1', 'starch2','starch3','TRXox','TRXrd','Glu_DASH_SeA','T6P','aMet', 'PPi', 'P5C', 'NH4', 'Pi', 'CO2', 'OAA','HCO3', 'UTP', 'UDP', 'UDPG', 'ATP', 'ADP', 'AMP', 'IMP', 'XMP', 'GTP', 'GDP', 'GMP', 'OMP', 'UMP', 'CTP', 'GDP', 'CDP', 'dADP', 'dCDP', 'dGDP', 'dUDP', 'dUTP', 'dUMP', 'dTMP', 'dTDP', 'GTP', 'dATP', 'dCTP', 'dGTP', 'dTTP', 'NAD', 'NADH', 'NADP', 'NADPH'] ## dd M/BS exchange reactions L_r_transport = [] for m_c3_obj in c3_model.metabolites: if m_c3_obj.id[-1:] == 'c' and m_c3_obj.id[:-2] not in no_transport: r_c4_obj = cobra.Reaction('[MB]_'+m_c3_obj.id) r_c4_obj.name = '[MB]_'+m_c3_obj.id r_c4_obj.subsystem = 'Exchange' r_c4_obj.bounds = (-inf, inf) c4_model.add_reaction(r_c4_obj) r_c4_obj.add_metabolites({'[M]_'+m_c3_obj.id: -1,'[B]_'+m_c3_obj.id: 1 }) L_r_transport.append('[MB]_'+m_c3_obj.id) ## Model Summary c4_num_mets = len(c4_model.metabolites) c4_num_rxn = len(c4_model.reactions) df_c4_model_summary = pd.DataFrame([c4_num_mets, c4_num_rxn], index=['Number of metabolites','Number of reactions'], columns=['Count']) df_c4_model_summary</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 17: Add Metabolite Exchange Reactions </code></pre> <table itemscope="" itemtype="http://schema.org/Table"> <thead> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <th itemscope="" itemtype="http://schema.stenci.la/TableCell"></th> <th itemscope="" itemtype="http://schema.stenci.la/TableCell">Count</th> </tr> </thead> <tbody> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Number of metabolites</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">826</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Number of reactions </td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">1188</span></td> </tr> </tbody> </table> </figure> </stencila-code-chunk> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">The mesophyll and bundle sheath networks are connected by a range of cytosolic transport metabolites including amino acids, sugars (glucose, fructose, sucrose, trehalose, ribose), single phosphorylated sugar (glucose-6-phosphate, glucose-1-phosphate, fructose-6-phosphate, sucrose-6-phosphate), mono-/di-/tri-carboxylic acids (phosphoenolpyruvate, pyruvate, citrate, cis-aconitate, isocitrate, <span itemscope="" itemtype="http://schema.stenci.la/MathFragment"><span class="mjx-chtml"><span class="mjx-math" aria-label="\alpha"><span class="mjx-mrow" aria-hidden="true"><span class="mjx-mi"><span class="mjx-char MJXc-TeX-math-I" style="padding-top: 0.225em; padding-bottom: 0.298em;">α</span></span></span></span></span></span>-ketoglutarate, succinate, fumarate, malate), glyceric acids (2-Phosphoglycerate, 3-Phosphoglycerate), glycolate, glycerate, glyceraldehyde-3-phosphate, di-hydroxyacetone-phosphate and CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub>. Nucleotides, NAD/NADH, NADP/NADPH, pyrophosphate, inorganic phosphate are not considered as transport metabolites. Oxaloacetate has been excluded as transport metabolite since concentrations of oxaloacetate are very low <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">in vivo</em> and it is reasonably unstable in aqueous solutions. Other small molecules that can be imported by the bundle sheath from the environment, as well as protons and HCO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">3</span></sub><sup itemscope="" itemtype="http://schema.stenci.la/Superscript">-</sup>, are not exchanged between the two cell types.</p> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="18" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 18: Add Constraints for CO2 Uptake in BS Cells and Rubisco Carboxylation : Oxygenation Ratio") ## CONSTRAINT: Add external CO2 species to bundle sheath #(the original CO2 species is treated as internal CO2) m_list_CO_Ex= ['[B]_CO2_ex_c','[B]_CO2_ex_h'] for m_id in m_list_CO_Ex: m_obj = cobra.Metabolite(m_id) c4_model.add_metabolites(m_obj) ## CONSTRAINT: Copy reactions 'Tr_CO2h', 'RBC_h' and replace internal CO2 with external CO2 in the copied reactions r_list_CO_Ex = ['Tr_CO2h', 'RBC_h'] for r_id in r_list_CO_Ex: r_obj = c4_model.reactions.get_by_id('[B]_'+r_id) r_obj_Ex = cobra.Reaction(r_obj.id+'_Ex') r_obj_Ex.name = r_obj.id+'_Ex' r_obj_Ex.subsystem = r_obj.subsystem r_obj_Ex.bounds = r_obj.bounds c4_model.add_reaction(r_obj_Ex) 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) for m_obj in r_obj.metabolites}) ## CONSTRAINT: CO2 exchange between mesophyll and bundle sheat r_c4_obj = cobra.Reaction('[MB]_CO2_c') r_c4_obj.name = '[MB]_CO2_c' r_c4_obj.subsystem = 'Exchange' r_c4_obj.bounds = (-inf, inf) c4_model.add_reaction(r_c4_obj) r_c4_obj.add_metabolites({'[M]_CO2_c': -1,'[B]_CO2_ex_c': 1 }) L_r_transport.append('[MB]_CO2_c') ## CONSTRAINT: oxygenation : carboxylation = 1 : 3 r_c4_rbc_rbo = (3.0, 1.0) const_c4_rbc_rbo_b = set_fixed_flux_ratio({'[B]_RBC_h_Ex':r_c4_rbc_rbo[0],'[B]_RBO_h':r_c4_rbc_rbo[1]}, 'const_c4_rbc_rbo_b', c4_model) const_c4_rbc_rbo_m = set_fixed_flux_ratio({'[M]_RBC_h':r_c4_rbc_rbo[0],'[M]_RBO_h':r_c4_rbc_rbo[1]}, 'const_c4_rbc_rbo_m', c4_model) #Model Summary c4_num_mets = len(c4_model.metabolites) c4_num_rxn = len(c4_model.reactions) df_c4_model_summary = pd.DataFrame([c4_num_mets, c4_num_rxn], index=['Number of metabolites','Number of reactions'], columns=['Count']) df_c4_model_summary</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 18: Add Constraints for CO2 Uptake in BS Cells and Rubisco Carboxylation : Oxygenation Ratio </code></pre> <table itemscope="" itemtype="http://schema.org/Table"> <thead> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <th itemscope="" itemtype="http://schema.stenci.la/TableCell"></th> <th itemscope="" itemtype="http://schema.stenci.la/TableCell">Count</th> </tr> </thead> <tbody> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Number of metabolites</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">828</span></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Number of reactions </td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"><span data-itemtype="http://schema.org/Number">1191</span></td> </tr> </tbody> </table> </figure> </stencila-code-chunk> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">The ATP costs for cell maintenance in the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">genC3</em> model are assigned to both cell types in the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">two-cell</em> model. Due to declining CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> concentrations over evolutionary time and/or adverse conditions which close the stromata, the oxygenation : carboxylation ratio of the native Rubisco population in the bundle sheath and the mesophyll is increased and can be predicted as <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">r_c4_rbc_rbo[0]</code><output slot="output"></output> </stencila-code-expression> : <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">r_c4_rbc_rbo[1]</code><output slot="output"></output> </stencila-code-expression>, the corresponding flux ratios are adapted accordingly.</p> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="19" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 19: Add Constraint on Photon Uptake") ## Reaction variables for light uptake B_Im_hnu = c4_model.reactions.get_by_id("[B]_Im_hnu") M_Im_hnu = c4_model.reactions.get_by_id("[M]_Im_hnu") ## CONSTRAINT: Total Photon uptake limited to 1000 µE f_c4_hnu_ub = 1000 #[μE] f_c4_hnu_lb = 0 #[μE] const_hnu_sum = c4_model.problem.Constraint( B_Im_hnu.flux_expression + M_Im_hnu.flux_expression, lb = f_c4_hnu_lb, ub = f_c4_hnu_ub, name = 'const_hnu_sum', ) c4_model.add_cons_vars(const_hnu_sum) ## CONSTRAINT: Total Photon uptake by bundle sheath must be less equal than in mesophyll const_hnu_ratio = c4_model.problem.Constraint( M_Im_hnu.flux_expression - B_Im_hnu.flux_expression, lb = f_c4_hnu_lb, ub = f_c4_hnu_ub, name = 'const_hnu_ratio') c4_model.add_cons_vars(const_hnu_ratio)</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 19: Add Constraint on Photon Uptake </code></pre> </figure> </stencila-code-chunk> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">Furthermore, we assume that the total photon uptake in the mesophyll and bundle sheath is in the range of <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">f_c4_hnu_lb</code><output slot="output"></output> </stencila-code-expression> μmol/(m<sup itemscope="" itemtype="http://schema.stenci.la/Superscript"><span data-itemtype="http://schema.org/Number">2</span></sup>s) to <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">f_c4_hnu_lb</code><output slot="output"></output> </stencila-code-expression> μmol/(m<sup itemscope="" itemtype="http://schema.stenci.la/Superscript"><span data-itemtype="http://schema.org/Number">2</span></sup>s). Since they are more central in the leaf, the photon uptake by the bundle sheath must be equal or less compared to the mesophyll.</p> <h4 itemscope="" itemtype="http://schema.stenci.la/Heading" id="objective-1">Objective</h4> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="20" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>print(f"Code Cell 20: Add Objective to Optimize Sucrose Output") ## Optimize/Maximize sucrose output r_opt_id = "[B]_Ex_Suc" r_opt_obj = c4_model.reactions.get_by_id(r_opt_id) r_opt_obj.objective_coefficient = 1.</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 20: Add Objective to Optimize Sucrose Output </code></pre> </figure> </stencila-code-chunk> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">The maximisation of the phloem sap output through the bundle sheath and the minimisation of the metabolic effort are kept as objectives in the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">two-cell</em> model.</p> <h2 itemscope="" itemtype="http://schema.stenci.la/Heading" id="results">Results</h2> <h3 itemscope="" itemtype="http://schema.stenci.la/Heading" id="the-curated-arabidopsis-core-model-predicts-physiological-results">The curated <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Arabidopsis</em> core model predicts physiological results</h3> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">Flux balance analysis requires five types of information, the metabolic map of the organism, the input, the output, a set of constraints (i.e. limitations on input, directionality of reactions, forced flux through reactions), and optimisation criteria for the algorithm which approximate the selective pressures the metabolism evolved under. In this context, inputs define the resources that need to be taken up by the metabolic network to fulfil a particular metabolic function, which is related to the outputs, for example the synthesis of metabolites part of the biomass or other specific products. In CBM, the objective is most likely related to the in- and/or outputs.</p> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">For reconstruction of the C3 metabolic map we curated the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Arabidopsis</em> core model <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib2"><span>2</span><span>Arnold and Nikoloski</span><span>2014</span></a></cite> manually (<a href="#table1" itemscope="" itemtype="http://schema.stenci.la/Link">Table 1</a>) to represent the metabolism of a mesophyll cell in a mature photosynthetically active leaf of a C3 plant , further on called <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">one-cell</em> model (provided in <a href="#fig1sdata1" itemscope="" itemtype="http://schema.stenci.la/Link">Figure 1—source data 1</a>). The <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Arabidopsis</em> core model is a bottom-up-assembled, large-scale model relying solely on <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Arabidopsis</em>-specific annotations and the inclusion of only manually curated reactions of the primary metabolism. The <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Arabidopsis</em> core model is accurate with respect to mass and energy conservation, allowing optimal nutrient utilisation and biochemically sound predictions <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib2"><span>2</span><span>Arnold and Nikoloski</span><span>2014</span></a></cite>.</p> <table id="table1" itemscope="" itemtype="http://schema.org/Table"> <caption><label data-itemprop="label">Table 1.</label> <div itemprop="caption"> <h4 itemscope="" itemtype="http://schema.stenci.la/Heading" id="curation-of-the-arabidopsis-core-model-from-narrative-bib2">Curation of the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Arabidopsis</em> core model from <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib2"><span>2</span><span>Arnold and Nikoloski</span><span>2014</span></a></cite>.</h4> </div> </caption> <thead> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <th itemscope="" itemtype="http://schema.stenci.la/TableCell"><em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Arabidopsis core model</em></th> <th itemscope="" itemtype="http://schema.stenci.la/TableCell">Observation</th> <th itemscope="" itemtype="http://schema.stenci.la/TableCell"><em itemscope="" itemtype="http://schema.stenci.la/Emphasis">one-cell model</em></th> <th itemscope="" itemtype="http://schema.stenci.la/TableCell">Reference</th> </tr> </thead> <tbody> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">NADP-dependent malate dehydrogenases in all compartments</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">cycles through nitrate reductase to interconvert NAD and NADP</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">NAD-dependent malate dehydrogenases in all compartments, NADP-dependent malate dehydrogenase only in chloroplast</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">(<cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib76"><span>76</span><span>Swarbreck et al.</span><span>2008</span></a></cite>)</td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Cyclic electron flow </td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">absence of cyclic electron flow</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">(<cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib70"><span>70</span><span>Shikanai</span><span>2016</span></a></cite>) </td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Alternative oxidase</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">missing alternative routes for electrons to pass the electron transport chain to reduce oxygen</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added alternative oxidase reactions to the chloroplast and mitochondria</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">(<cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib81"><span>81</span><span>Vishwakarma et al.</span><span>2015</span></a></cite>)</td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Alanine transferase</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">No alanine transferase in cytosol Alanine transferase</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">(<cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib41"><span>41</span><span>Liepman and Olsen</span><span>2003</span></a></cite>)</td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Transport chloroplast </td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">no maltose transporter by MEX1</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">(<cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib42"><span>42</span><span>Linka and Weber</span><span>2010</span></a></cite>)</td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">no glucose transporter by MEX1 and pGlcT MEX1</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">no unidirectional transport of ATP, ADP, AMP by BT-like</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">no Mal/OAA, Mal/Pyr, and Mal/Glu exchange by DiTs</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">no folate transporter by FBT and FOLT1</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Transport Mitochondria </td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">no Mal/OAA, Cit/iCit, Mal/KG exchange by DTC</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">(<cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib42"><span>42</span><span>Linka and Weber</span><span>2010</span></a></cite>)</td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">no H+ importer by UCPs import</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">no OAA/Pi exchange by DIC1-3</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">no ATP/Pi exchange by APCs</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">no NAD/ADP and NAD/AMP exchange by NDT2</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">no ThPP/ATP exchange by TPCs</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">no Asp/Glu by AGCs</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">no uncoupled Ala exchange</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Transport peroxisome </td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">missing NAD/NADH, NAD/ADP, NAD/AMP exchange by PXN</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">(<cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib42"><span>42</span><span>Linka and Weber</span><span>2010</span></a></cite>)</td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">no ATP/ADP and ATP/AMP exchange by PNCs</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">H<sup itemscope="" itemtype="http://schema.stenci.la/Superscript">+</sup> sinks/sources</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">H<sup itemscope="" itemtype="http://schema.stenci.la/Superscript">+</sup> sinks/source reaction for the cytosol and futile transport cycles introduced by H<sup itemscope="" itemtype="http://schema.stenci.la/Superscript">+</sup> -coupled transport reactions</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">H<sup itemscope="" itemtype="http://schema.stenci.la/Superscript">+</sup> sinks/source reaction added for each compartment</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell"></td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">ATPase stoichiometry </td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">False H<sup itemscope="" itemtype="http://schema.stenci.la/Superscript">+</sup>/ATP ratios for the plastidal and mitochondrial ATP synthase</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">H<sup itemscope="" itemtype="http://schema.stenci.la/Superscript">+</sup>/ATP ratio set to 3 : 1 (chloroplast) and 4:1 (mitochondria)</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">(<cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib56"><span>56</span><span>Petersen et al.</span><span>2012</span></a></cite>; <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib79"><span>79</span><span>Turina et al.</span><span>2016</span></a></cite>)</td> </tr> <tr itemscope="" itemtype="http://schema.stenci.la/TableRow"> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">Alanine/aspartate transferase</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">no direct conversion of alanine and aspartate</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">added to cytosol, chloroplast and mitochondria</td> <td itemscope="" itemtype="http://schema.stenci.la/TableCell">(<cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib69"><span>69</span><span>Schultz and Coruzzi</span><span>1995</span></a></cite>; <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib22"><span>22</span><span>Duff et al.</span><span>2012</span></a></cite>)</td> </tr> </tbody> </table> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">For the inputs, we considered a photoautotrophic growth scenario with a fixed CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> uptake of about <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">f_c3_CO2</code><output slot="output"></output></stencila-code-expression> μmol/(m<sup itemscope="" itemtype="http://schema.stenci.la/Superscript"><span data-itemtype="http://schema.org/Number">2</span></sup>s) <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib37"><span>37</span><span>Lacher</span><span>2003</span></a></cite>. Light, sulphates, and phosphate are freely available. Due to the observation that nitrate is the main source (80%) of nitrogen in leaves in many species <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib45"><span>45</span><span>Macduff and Bakken</span><span>2003</span></a></cite>, we set nitrate as the sole nitrogen source. If both ammonia and nitrate are allowed, the model will inevitably predict the physiologically incorrect sole use of ammonia since fewer reactions and less energy are required to convert it into glutamate, the universal amino group currency in plants. Water and oxygen can be freely exchanged with the environment in both directions.</p> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">To compute the output, we assume a mature fully differentiated and photosynthetically active leaf, which is optimised for the synthesis and export of sucrose and amino acids to the phloem under minimal metabolic effort. Following the examples of models in bacteria, many plant models use a biomass function which assumes that the leaf is required to build itself <span itemscope="" itemtype="http://schema.stenci.la/CiteGroup"><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib19"><span>19</span><span>de Oliveira Dal'Molin et al.</span><span>2010</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib2"><span>2</span><span>Arnold and Nikoloski</span><span>2014</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib64"><span>64</span><span>Saha et al.</span><span>2011</span></a></cite></span> using photoautotrophic that is <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib2"><span>2</span><span>Arnold and Nikoloski</span><span>2014</span></a></cite> or heterotrophic that is <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib17"><span>17</span><span>Cheung et al.</span><span>2014</span></a></cite> energy and molecule supply. In plants, however, leaves transition from a sink phase in which they build themselves from metabolites delivered by the phloem to a source phase in which they produce metabolites for other organs including sink leaves <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib78"><span>78</span><span>Turgeon</span><span>1989</span></a></cite>. The composition of <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Arabidopsis</em> phloem exudate <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib85"><span>85</span><span>Wilkinson and Douglas</span><span>2003</span></a></cite> was used to constrain the relative proportions of the 18 amino acids and the ratio of sucrose : total amino acids (r<em itemscope="" itemtype="http://schema.stenci.la/Emphasis">suc_aa<a href="" itemscope="" itemtype="http://schema.stenci.la/Link"><span data-itemtype="http://schema.org/Number">0</span></a> : r_suc_aa<a href="" itemscope="" itemtype="http://schema.stenci.la/Link"><span data-itemtype="http://schema.org/Number">1</span></a>). To account for daily carbon storage as starch for export during the night, we assume that half of the assimilated carbon is stored in the _one-cell</em> model. We explicitly account for maintenance costs by the use of a generic ATPase and use the measured ATP costs for protein degradation and synthesis of a mature <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">Arabidopsis</em> leaf <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib40"><span>40</span><span>Li et al.</span><span>2017</span></a></cite> as a constraint. We initially assume a low photorespiratory flux according to the ambient CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> and O<sub itemscope="" itemtype="http://schema.stenci.la/Subscript"><span data-itemtype="http://schema.org/Number">2</span></sub> partial pressures considering no heat, drought, salt or osmotic stress which may alter the ratio towards higher flux towards the oxygenation reaction.</p> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">To develop a largely unconstrained model and detect possible errors in the metabolic map, we initially kept the model unconstrained with regard to fixed fluxes, flux ratios, and reaction directions. Different model iterations were run in (re-)design, simulate, validate cycles against known physiology with errors sequentially eliminated and a minimal set of constraints required for a C3 model recapitulating extant plant metabolism determined. After each change, the CBM predicted all fluxes which were output as a table and manually examined (for example see <a href="#fig1sdata2" itemscope="" itemtype="http://schema.stenci.la/Link">Figure 1—source data 2</a>).</p> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">The initial FBA resulted in carbon fixation by enzymes such as the malic enzymes which, in reality, are constrained by the kinetics of the enzymes towards decarboxylation. All decarboxylation reactions were made unidirectional towards decarboxylation to prevent erroneous carbon fixation in the flux distribution. The next iteration of FBA predicted loops through nitrate reductases which ultimately converted NADH to NADPH. We traced this loop to an error in the initial model, in which malate dehydrogenases in the cytosol and mitochondrion were NADP-dependent instead of NAD-dependent. After correction of the co-factor in the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">one-cell</em> model, the loops through nitrate reductases were no longer observed. Another iteration predicted excessive flux through the mitochondrial membrane where multiple metabolites were exchanged and identified missing transport processes as the likely reason. Based on <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib42"><span>42</span><span>Linka and Weber</span><span>2010</span></a></cite>, we added known fluxes across the mitochondrial and plastidic envelope membranes which remedied the excessive fluxes in the solution. The chloroplastic ADP/ATP carrier protein is constrained to zero flux since its mutant is only affected during the night but not if light is available <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib59"><span>59</span><span>Reiser et al.</span><span>2004</span></a></cite>.</p> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">The obtained flux distribution still contained excessive fluxes through multiple transport proteins across internal membranes which ultimately transferred protons between the organelles and the cytosol. Since for most if not all transport proteins the precise protonation state of metabolites during transport is unknown and hence cannot be correctly integrated into the model, we allowed protons to appear and disappear as needed in all compartments. This provision precludes conclusions about the energetics of membrane transport. ATP generation occurred in a distorted way distributed across different organelles which were traced to the H<sup itemscope="" itemtype="http://schema.stenci.la/Superscript">+</sup> consumption of the ATPases in mitochondria and chloroplasts. The stoichiometry was altered to to 3:1 (chloroplast) and 4:1 (mitochondria) <span itemscope="" itemtype="http://schema.stenci.la/CiteGroup"><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib56"><span>56</span><span>Petersen et al.</span><span>2012</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib79"><span>79</span><span>Turina et al.</span><span>2016</span></a></cite></span>. We assume no flux for the chloroplastic NADPH dehydrogenase and plastoquinol oxidase because <span itemscope="" itemtype="http://schema.stenci.la/CiteGroup"><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib33"><span>33</span><span>Josse et al.</span><span>2000</span></a></cite><cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib88"><span>88</span><span>Yamamoto et al.</span><span>2011</span></a></cite></span> have shown that their effect on photosynthesis is minor.</p> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">In preparation for modelling the C4 cycle, we ensured that all reactions known to occur in C4 (i.e. malate/pyruvate exchange, likely via DiT2 in maize <cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib84"><span>84</span><span>Weissmann et al.</span><span>2016</span></a></cite>, possibly promiscuous amino transferases <cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib22"><span>22</span><span>Duff et al.</span><span>2012</span></a></cite>) are present in the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">one-cell</em> model, since <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib4"><span>4</span><span>Aubry et al.</span><span>2011</span></a></cite> showed that all genes encoding enzymes and transporters underlying the C4 metabolism are already present in the genome of C3 plants. We integrated cyclic electron flow <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib70"><span>70</span><span>Shikanai</span><span>2016</span></a></cite> and alternative oxidases in the mitochondria <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib81"><span>81</span><span>Vishwakarma et al.</span><span>2015</span></a></cite>, since both have been hypothesised to be important during the evolution and/or execution of the C4 cycle. Models and analysis workflows provided as jupyter notebooks <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib77"><span>77</span><span>Thomas et al.</span><span>2016</span></a></cite> are available as supplementary material or can be accessed on GitHub <a href="https://github.com/ma-blaetke/CBM_C3_C4_Metabolism" itemscope="" itemtype="http://schema.stenci.la/Link">https://github.com/ma-blaetke/CBM_C3_C4_Metabolism</a> (<cite itemscope="" itemtype="http://schema.stenci.la/Cite"><a href="#bib10"><span>10</span><span>Blätke</span><span>2019</span></a></cite>; copy archived at <a href="https://github.com/elifesciences-publications/CBM_C3_C4_Metabolism" itemscope="" itemtype="http://schema.stenci.la/Link">https://github.com/elifesciences-publications/CBM_C3_C4_Metabolism</a>). </p> <p itemscope="" itemtype="http://schema.stenci.la/Paragraph">The <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">one-cell</em> model comprises in total <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">c3_num_mets</code><output slot="output"></output> </stencila-code-expression> metabolites and <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">c3_num_rxn</code><output slot="output"></output> </stencila-code-expression> reactions, whereof <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">c3_num_transport_rxn</code><output slot="output"></output> </stencila-code-expression> are internal transporters, <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">c3_num_export_rxn</code><output slot="output"></output> </stencila-code-expression> are export and <stencila-code-expression programming-language="py" itemscope="" itemtype="http://schema.stenci.la/CodeExpression"><code class="py" slot="text">c3_num_import_rxn</code><output slot="output"></output> </stencila-code-expression> import reactions (see also below), which are involved in 59 subsystems. <a href="#fig1" itemscope="" itemtype="http://schema.stenci.la/Link">Figure 1</a> provides an overview of the primary subsystems according to <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib2"><span>2</span><span>Arnold and Nikoloski</span><span>2014</span></a></cite>.</p> <figure itemscope="" itemtype="http://schema.stenci.la/Figure" id="fig1" title="Figure 1."> <label data-itemprop="label">Figure 1.</label><img src="index.html.media/fig1.jpg" alt="" itemscope="" itemtype="http://schema.org/ImageObject"> <figcaption> <h4 itemscope="" itemtype="http://schema.stenci.la/Heading" id="schematic-representation-of-the-primary-subsystems-in-the-one-cell-model-and-the-used-inputoutput-constraints-adapted-from-narrative-bib2"> Schematic representation of the primary subsystems in the <em itemscope="" itemtype="http://schema.stenci.la/Emphasis">one-cell</em> model and the used input/output constraints; adapted from <cite itemscope="" itemtype="http://schema.stenci.la/Cite" data-citationmode="Narrative"><a href="#bib2"><span>2</span><span>Arnold and Nikoloski</span><span>2014</span></a></cite>.</h4> </figcaption> </figure> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="21" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>###################################################################################################################################### ###################################################################################################################################### ############## EXPERIMENT 1: Effect of CO2 Uptake ############## ###################################################################################################################################### ###################################################################################################################################### print(f"Code Cell 21: Experiment 1 -- Effect of CO2 Uptake") #Create copy of c3 model c3_model_exp1 = c3_model.copy() #Optimize/Maximize sucrose output result_exp1_1_fba = c3_model_exp1.optimize('maximize') #perform FBA #Optimize/Minimize total flux if result_exp1_1_fba.status == 'optimal': result_exp1_1_pfba = cobra.flux_analysis.parsimonious.pfba(c3_model_exp1) #Fetch flux for CO2 uptake v_co2_exp1 = result_exp1_1_pfba.fluxes['Im_CO2'] #Array defining proprtion of CO2 uptake co2_ratios_exp1 = np.linspace(0,1,21) df_result_exp1 = pd.DataFrame() #Iterate over proportions of CO2 uptake for co2_ratio in tqdm(co2_ratios_exp1): #Fix upper flux bound for photon uptake set_bounds('Im_CO2', (0, v_co2_exp1 * co2_ratio), c3_model_exp1) #Optimize/Maximize sucrose output result_exp1_2_fba = c3_model_exp1.optimize('maximize') #perform FBA #Optimize/Minimize total flux if result_exp1_2_fba.status == 'optimal': # check if feasible result_exp1_2_pfba = cobra.flux_analysis.parsimonious.pfba(c3_model_exp1) #perform pFBA if result_exp1_2_pfba.status == 'optimal': df_result_exp1[v_co2_exp1 * co2_ratio] = result_exp1_2_pfba.fluxes</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 21: Experiment 1 -- Effect of CO2 Uptake </code></pre> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code> 0%| | 0/21 [00:00<?, ?it/s]</code></pre> </figure> </stencila-code-chunk> <figure itemscope="" itemtype="http://schema.stenci.la/Figure" id="fig1s1" title="Figure 1—figure supplement 1"><label data-itemprop="label">Figure 1—figure supplement 1</label> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="22" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>###################################################################### ############## Figure 1—figure supplement 1 ############## ###################################################################### #{ # "caption": "#### Effect of CO~2. Dependence of the phloem output on CO~2~ input flux in the range 0 μmol/(m^2^s)–20 μmol/(m^2^s). Sucrose and starch are produced in the same amounts, each of them consists of 12 C-atoms.", # "id": "fig1s1", # "label": "Figure 1—figure supplement 1", # "trusted": true #} #Define reactions of interest by id r_ids_exp1 = ['Ex_Suc','Ex_AA'] #Create figure fig_exp1 = go.Figure() #Add traces for reactions of interest for r_id in r_ids_exp1: #Create trace trace = go.Scatter( y = df_result_exp1.loc[r_id,:], x = df_result_exp1.columns, name = r_id, mode = 'lines+markers', ) #Add trace fig_exp1.add_trace(trace) #Update xaxes fig_exp1.update_xaxes( title = dict( text = 'CO\u2082 Uptake [µmol/(m\u00B2s)]', font = dict(size=18) ), tickfont = dict(size=16) ) #Update yaxes fig_exp1.update_yaxes( title = dict( text = 'Flux [µmol/(m\u00B2s)]', font = dict(size=18) ), tickfont = dict(size=16) ) #Update layout fig_exp1.update_layout( width=1000, height=500, title = dict( text='<b>Phloem Export</b>', x=0.5, font=dict(size=20) ), legend=dict( font=dict(size=18), ) ) #Show figure fig_exp1.show()</code></pre> <figure slot="outputs"><span data-itemtype="http://schema.stenci.la/Null">null</span> <stencila-image-plotly> <picture> <script type="application/vnd.plotly.v1+json"> {"config":{"plotlyServerURL":"https://plot.ly"},"data":[{"mode":"lines+markers","name":"Ex_Suc","type":"scatter","x":[0,0.9999999999999982,1.9999999999999964,2.999999999999995,3.999999999999993,4.999999999999991,5.99999999999999,6.9999999999999885,7.999999999999986,8.999999999999984,9.999999999999982,10.99999999999998,11.99999999999998,12.999999999999977,13.999999999999977,14.999999999999973,15.999999999999972,16.99999999999997,17.999999999999968,18.999999999999968,19.999999999999964],"y":[1.3980644671705006e-18,0.038358935016476865,0.07671787003295295,0.11507680504943016,0.15343574006590668,0.19179467508238376,0.2301536100988608,0.26851254511533734,0.3068714801318123,0.3452304151482894,0.38358935016476753,0.421948285181243,0.46030722019772063,0.4986661552141951,0.5370250902306747,0.5753840252471492,0.6137429602636246,0.6521018952801053,0.6904608302965819,0.7288197653130595,0.7671787003295351]},{"mode":"lines+markers","name":"Ex_AA","type":"scatter","x":[0,0.9999999999999982,1.9999999999999964,2.999999999999995,3.999999999999993,4.999999999999991,5.99999999999999,6.9999999999999885,7.999999999999986,8.999999999999984,9.999999999999982,10.99999999999998,11.99999999999998,12.999999999999977,13.999999999999977,14.999999999999973,15.999999999999972,16.99999999999997,17.999999999999968,18.999999999999968,19.999999999999964],"y":[6.35483848713864e-19,0.017435879552943987,0.03487175910588771,0.05230763865883189,0.06974351821177577,0.08717939776471989,0.104615277317664,0.12205115687060789,0.13948703642355106,0.15692291597649521,0.17435879552943978,0.1917946750823832,0.20923055463532755,0.22666643418827054,0.24410231374121577,0.2615381932941587,0.27897407284710213,0.2964099524000479,0.31384583195299176,0.3312817115059361,0.34871759105887956]}],"layout":{"height":500,"legend":{"font":{"size":18}},"template":{"data":{"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5}},"type":"bar"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5}},"type":"barpolar"}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","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},"autotypenumbers":"strict","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":"#E5ECF6","showlakes":true,"showland":true,"subunitcolor":"white"},"hoverlabel":{"align":"left"},"hovermode":"closest","mapbox":{"style":"light"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"bgcolor":"#E5ECF6","radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","gridwidth":2,"linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white"},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","gridwidth":2,"linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white"},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","gridwidth":2,"linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white"}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"ternary":{"aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"bgcolor":"#E5ECF6","caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"title":{"x":0.05},"xaxis":{"automargin":true,"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","zerolinewidth":2},"yaxis":{"automargin":true,"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","zerolinewidth":2}}},"title":{"font":{"size":20},"text":"<b>Phloem Export</b>","x":0.5},"width":1000,"xaxis":{"tickfont":{"size":16},"title":{"font":{"size":18},"text":"CO₂ Uptake [µmol/(m²s)]"}},"yaxis":{"tickfont":{"size":16},"title":{"font":{"size":18},"text":"Flux [µmol/(m²s)]"}}}} </script><img src="index.html.media/0" alt="" itemscope="" itemtype="http://schema.org/ImageObject"> </picture> </stencila-image-plotly> </figure> </stencila-code-chunk> <figcaption> <h5 itemscope="" itemtype="http://schema.stenci.la/Heading" id="effect-of-co2-dependence-of-the-phloem-output-on-co2-input-flux-in-the-range-0-μmolm2s20-μmolm2s-sucrose-and-starch-are-produced-in-the-same-amounts-each-of-them-consists-of-12-c-atoms"> Effect of CO<sub itemscope="" itemtype="http://schema.stenci.la/Subscript">2. Dependence of the phloem output on CO</sub>2~ input flux in the range 0 μmol/(m<sup itemscope="" itemtype="http://schema.stenci.la/Superscript"><span data-itemtype="http://schema.org/Number">2</span></sup>s)–20 μmol/(m<sup itemscope="" itemtype="http://schema.stenci.la/Superscript"><span data-itemtype="http://schema.org/Number">2</span></sup>s). Sucrose and starch are produced in the same amounts, each of them consists of 12 C-atoms.</h5> </figcaption> </figure> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="23" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>###################################################################################################################################### ###################################################################################################################################### ############## EXPERIMENT 2: Effect of PPFD ############## ###################################################################################################################################### ###################################################################################################################################### print(f"Code Cell 23: Experiment 2 -- Effect of PPFD") #Create copy of c3 model c3_model_exp2 = c3_model.copy() #Optimize/Maximize sucrose output result_exp2_1_fba = c3_model_exp2.optimize('maximize') #perform FBA #Optimize/Minimize total flux if result_exp2_1_fba.status == 'optimal': result_exp2_1_pfba = cobra.flux_analysis.parsimonious.pfba(c3_model_exp2) #Fetch flux for photon uptake v_hnu_exp2 = result_exp2_1_pfba.fluxes['Im_hnu'] #Array defining proprtion of photon uptake hnu_ratios_exp2 = np.linspace(0,2,21) df_result_exp2 = pd.DataFrame() #Iterate over proportions of photon uptake for hnu_ratio in tqdm(hnu_ratios_exp2): #Fix upper flux bound for photon uptake set_bounds('Im_hnu', (v_hnu_exp2 * hnu_ratio, v_hnu_exp2 * hnu_ratio), c3_model_exp2) #Optimize/Maximize sucrose output result_exp2_2_fba = c3_model_exp2.optimize('maximize') #perform FBA #Optimize/Minimize total flux if result_exp2_2_fba.status == 'optimal': # check if feasible result_exp2_2_pfba = cobra.flux_analysis.parsimonious.pfba(c3_model_exp2) #perform pFBA if result_exp2_2_pfba.status == 'optimal': df_result_exp2[v_hnu_exp2 * hnu_ratio] = result_exp2_2_pfba.fluxes</code></pre> <figure slot="outputs"> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>Code Cell 23: Experiment 2 -- Effect of PPFD </code></pre> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code> 0%| | 0/21 [00:00<?, ?it/s]</code></pre> <pre class="language-text" itemscope="" itemtype="http://schema.stenci.la/CodeBlock"><code>/Users/blaetke/opt/anaconda3/envs/elife-49305-era/lib/python3.9/site-packages/cobra/util/solver.py:508: UserWarning: Solver status is 'infeasible'. </code></pre> </figure> </stencila-code-chunk> <figure itemscope="" itemtype="http://schema.stenci.la/Figure" id="fig1s2" title="Figure 1—figure supplement 2"><label data-itemprop="label">Figure 1—figure supplement 2</label> <stencila-code-chunk itemscope="" itemtype="http://schema.stenci.la/CodeChunk" data-execution_count="24" data-programminglanguage="python"> <pre class="language-python" itemscope="" itemtype="http://schema.stenci.la/CodeBlock" slot="text"><code>###################################################################### ############## Figure 1—figure supplement 2 ############## ###################################################################### #{ # "caption": "#### PPFD variation. Dependence of phloem output on the PPFD in the range 0 μmol/(m^2^s)–400 μmol/(m^2^s). Sucrose and starch are produced in the same amounts, each of them consists of 12 C-atoms.", # "id": "fig1s2, # "label": "Figure 1—figure supplement 2", # "trusted": true #} #Define reactions of interest by id r_ids_exp2 = ['Ex_Suc','Ex_AA'] #Create figure fig_exp2 = go.Figure() #Add traces for reactions of interest for r_id in r_ids_exp2: #Create trace trace = go.Scatter( y = df_result_exp2.loc[r_id,:], x = df_result_exp2.columns, name = r_id, mode = 'lines+markers', ) #Add trace fig_exp2.add_trace(trace) #Update xaxes fig_exp2.update_xaxes( title = dict( text = '<b>PPFD [µE]</b>', font = dict(size=18) ), tickfont = dict(size=16) ) #Update yaxes fig_exp2.update_yaxes( title = dict( text = 'Flux [µmol/(m\u00B2s)]', font = dict(size=18) ), tickfont = dict(size=16) ) #Update layout fig_exp2.update_layout( width=1000, height=500, title = dict( text='Phloem Export', x=0.5, font=dict(size=20) ), legend=dict( font=dict(size=18), ) ) #Show figure fig_exp2.show()</code></pre> <figure slot="outputs"> <stencila-image-plotly> <picture> <script type="application/vnd.plotly.v1+json"> {"config":{"plotlyServerURL":"https://plot.ly"},"data":[{"mode":"lines+markers","name":"Ex_Suc","type":"scatter","x":[19.371121164846407,38.742242329692814,58.11336349453923,77.48448465938563,96.85560582423203,116.22672698907846,135.59784815392484,154.96896931877126,174.34009048361764,193.71121164846406,213.08233281331047,232.45345397815692,251.82457514300327,271.1956963078497,290.5668174726961,309.9379386375425,329.30905980238896,348.6801809672353,368.05130213208173,387.4224232969281],"y":[0.07626410540071105,0.15322582229672554,0.23018753919273882,0.30714925608875343,0.3841109729847692,0.4610726898807833,0.5380344067767904,0.614996123672806,0.6919578405688215,0.7671787003295384,0.7671787003295389,0.767178700329537,0.7671787003295369,0.7671787003295362,0.7671787003295373,0.7671787003295346,0.7671787003295393,0.767178700329536,0.76717870032954,0.767178700329536]},{"mode":"lines+markers","name":"Ex_AA","type":"scatter","x":[19.371121164846407,38.742242329692814,58.11336349453923,77.48448465938563,96.85560582423203,116.22672698907846,135.59784815392484,154.96896931877126,174.34009048361764,193.71121164846406,213.08233281331047,232.45345397815692,251.82457514300327,271.1956963078497,290.5668174726961,309.9379386375425,329.30905980238896,348.6801809672353,368.05130213208173,387.4224232969281],"y":[0.03466550245486863,0.06964810104396617,0.10463069963306311,0.13961329822216065,0.17459589681125873,0.20957849540035606,0.2445610939894502,0.27954369257854816,0.3145262911676461,0.34871759105888106,0.34871759105888134,0.34871759105888045,0.3487175910588804,0.34871759105888006,0.3487175910588806,0.3487175910588794,0.3487175910588815,0.34871759105887995,0.34871759105888184,0.34871759105887995]}],"layout":{"height":500,"legend":{"font":{"size":18}},"template":{"data":{"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5}},"type":"bar"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5}},"type":"barpolar"}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","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":<