(* Generated by JWS Online *) (* This is an experimental feature of JWS Online. Please report any mistakes.*) (* Note that the following notable SBML entities or features are not supported in notebook outputyet: *) (* Events *) (* Constraints *) (* Units and UnitDefinitions *) (* AlgebraicRules *) (* conversionFactors *) variables = { ADP[t], ATP[t], E4P[t], GG[t], HeP[t], HePc[t], PGA[t], Pi[t], Pic[t], Ru5P[t], RuBP[t], S7P[t], Suc[t], SucV[t], TP[t], TPGA[t], TPc[t], UDP[t], UTP[t] }; initialValues = { ADP[0] == 0.53, ATP[0] == 3.875, E4P[0] == 0.05, GG[0] == 99.9999999999999, HeP[0] == 2.2, HePc[0] == 0.1, PGA[0] == 2.4, Pi[0] == 2.5, Pic[0] == 0.8, Ru5P[0] == 0.05, RuBP[0] == 2.0, S7P[0] == 2.0, Suc[0] == 77.31, SucV[0] == 77.31, TP[0] == 0.5, TPGA[0] == 0.2, TPc[0] == 0.114, UDP[0] == 1.613, UTP[0] == 3.871 }; rates = { ATP\[LetterSpace]S, Diffu, F6P\[LetterSpace]TK1, FBP\[LetterSpace]A\[LetterSpace]ase, FBPc\[LetterSpace]A\[LetterSpace]ase, PGA\[LetterSpace]red, Respi, Ru5P\[LetterSpace]K, RuBisCO, S7P\[LetterSpace]TK1\[LetterSpace]R5P\[LetterSpace]I, SBP\[LetterSpace]A\[LetterSpace]ase, Starch\[LetterSpace]P, Starch\[LetterSpace]S, Suc\[LetterSpace]S, TK2\[LetterSpace]Ru5P\[LetterSpace]E, TPT, Transl, UTP\[LetterSpace]S }; rateEquations = { ATP\[LetterSpace]S -> ATP\[LetterSpace]S\[LetterSpace]k1*chloroplast*ADP[t]*Pi[t], Diffu -> D*Suc[t] - D*SucV[t], F6P\[LetterSpace]TK1 -> chloroplast*F6P\[LetterSpace]TK1\[LetterSpace]k1*HeP[t], FBP\[LetterSpace]A\[LetterSpace]ase -> chloroplast*(-(FBP\[LetterSpace]A\[LetterSpace]ase\[LetterSpace]k2*HeP[t]*Pi[t]) + FBP\[LetterSpace]A\[LetterSpace]ase\[LetterSpace]k1*TP[t]^2), FBPc\[LetterSpace]A\[LetterSpace]ase -> cytosol*FBPc\[LetterSpace]A\[LetterSpace]ase\[LetterSpace]k1*TPc[t]^2, PGA\[LetterSpace]red -> chloroplast*PGA\[LetterSpace]red\[LetterSpace]k1*ATP[t]*PGA[t], Respi -> r*Suc[t], Ru5P\[LetterSpace]K -> chloroplast*Ru5P\[LetterSpace]K\[LetterSpace]k1*ATP[t]*Ru5P[t], RuBisCO -> chloroplast*CO2*RuBisCO\[LetterSpace]k1*RuBP[t], S7P\[LetterSpace]TK1\[LetterSpace]R5P\[LetterSpace]I -> chloroplast*S7P\[LetterSpace]TK1\[LetterSpace]R5P\[LetterSpace]I\[LetterSpace]k1*S7P[t], SBP\[LetterSpace]A\[LetterSpace]ase -> chloroplast*SBP\[LetterSpace]A\[LetterSpace]ase\[LetterSpace]k1*E4P[t]*TP[t], Starch\[LetterSpace]P -> chloroplast*Starch\[LetterSpace]P\[LetterSpace]k1*GG[t]*Pi[t], Starch\[LetterSpace]S -> chloroplast*Starch\[LetterSpace]S\[LetterSpace]k1*ATP[t]*HeP[t], Suc\[LetterSpace]S -> function\[LetterSpace]1[v\[LetterSpace]15], TK2\[LetterSpace]Ru5P\[LetterSpace]E -> chloroplast*TK2\[LetterSpace]Ru5P\[LetterSpace]E\[LetterSpace]k1*TP[t]*TPGA[t], TPT -> TPT\[LetterSpace]k1*Pic[t]*TP[t], Transl -> -(E*phi) + phi*Suc[t], UTP\[LetterSpace]S -> UTP\[LetterSpace]S\[LetterSpace]k1*Pic[t]*UDP[t] }; parameters = { D -> 0.0001, phi -> 0.0001, r -> 3*^-05, CO2 -> 31.0, E -> 0.5, Resp -> 1.0, RuBisCO\[LetterSpace]k1 -> 0.006, PGA\[LetterSpace]red\[LetterSpace]k1 -> 0.0207, FBP\[LetterSpace]A\[LetterSpace]ase\[LetterSpace]k1 -> 4.0, FBP\[LetterSpace]A\[LetterSpace]ase\[LetterSpace]k2 -> 0.0, F6P\[LetterSpace]TK1\[LetterSpace]k1 -> 0.031, SBP\[LetterSpace]A\[LetterSpace]ase\[LetterSpace]k1 -> 3.1, S7P\[LetterSpace]TK1\[LetterSpace]R5P\[LetterSpace]I\[LetterSpace]k1 -> 0.31, TK2\[LetterSpace]Ru5P\[LetterSpace]E\[LetterSpace]k1 -> 6.2, Ru5P\[LetterSpace]K\[LetterSpace]k1 -> 0.031, ATP\[LetterSpace]S\[LetterSpace]k1 -> 0.279, Starch\[LetterSpace]S\[LetterSpace]k1 -> 0.002, Starch\[LetterSpace]P\[LetterSpace]k1 -> 4*^-05, TPT\[LetterSpace]k1 -> 0.5, FBPc\[LetterSpace]A\[LetterSpace]ase\[LetterSpace]k1 -> 1.55, UTP\[LetterSpace]S\[LetterSpace]k1 -> 0.00755, chloroplast -> 1.0, cytosol -> 1.0, phloem -> 1.0, vacuole -> 1.0 }; assignments = { function\[LetterSpace]1[v_] -> v, v\[LetterSpace]15 -> 0.0258*HePc[t]*UTP[t] }; events = { }; speciesAnnotations = { }; reactionAnnotations = { }; units = { {"time" -> "", "metabolite" -> "", "extent" -> ""} }; (* Time evolution *) odes = { ADP'[t] == 1.0*PGA\[LetterSpace]red +1.0*Ru5P\[LetterSpace]K +1.0*Starch\[LetterSpace]S -1.0*ATP\[LetterSpace]S, ATP'[t] == 1.0*ATP\[LetterSpace]S -1.0*PGA\[LetterSpace]red -1.0*Ru5P\[LetterSpace]K -1.0*Starch\[LetterSpace]S, E4P'[t] == 1.0*F6P\[LetterSpace]TK1 -1.0*SBP\[LetterSpace]A\[LetterSpace]ase, GG'[t] == 1.0*Starch\[LetterSpace]S -1.0*Starch\[LetterSpace]P, HeP'[t] == 1.0*FBP\[LetterSpace]A\[LetterSpace]ase +1.0*Starch\[LetterSpace]P -1.0*F6P\[LetterSpace]TK1 -1.0*Starch\[LetterSpace]S, HePc'[t] == 1.0*FBPc\[LetterSpace]A\[LetterSpace]ase -2.0*Suc\[LetterSpace]S, PGA'[t] == 2.0*RuBisCO -1.0*PGA\[LetterSpace]red, Pi'[t] == 1.0*PGA\[LetterSpace]red +1.0*FBP\[LetterSpace]A\[LetterSpace]ase +1.0*SBP\[LetterSpace]A\[LetterSpace]ase +2.0*Starch\[LetterSpace]S +1.0*TPT -1.0*ATP\[LetterSpace]S -1.0*Starch\[LetterSpace]P, Pic'[t] == 1.0*FBPc\[LetterSpace]A\[LetterSpace]ase +3.0*Suc\[LetterSpace]S -1.0*TPT -1.0*UTP\[LetterSpace]S, Ru5P'[t] == 1.0*S7P\[LetterSpace]TK1\[LetterSpace]R5P\[LetterSpace]I +1.0*TK2\[LetterSpace]Ru5P\[LetterSpace]E -1.0*Ru5P\[LetterSpace]K, RuBP'[t] == 1.0*Ru5P\[LetterSpace]K -1.0*RuBisCO, S7P'[t] == 1.0*SBP\[LetterSpace]A\[LetterSpace]ase -1.0*S7P\[LetterSpace]TK1\[LetterSpace]R5P\[LetterSpace]I, Suc'[t] == 1.0*Suc\[LetterSpace]S -1.0*Respi -1.0*Diffu -1.0*Transl, SucV'[t] == 1.0*Diffu , TP'[t] == 1.0*PGA\[LetterSpace]red -2.0*FBP\[LetterSpace]A\[LetterSpace]ase -1.0*SBP\[LetterSpace]A\[LetterSpace]ase -1.0*TK2\[LetterSpace]Ru5P\[LetterSpace]E -1.0*TPT, TPGA'[t] == 1.0*F6P\[LetterSpace]TK1 +1.0*S7P\[LetterSpace]TK1\[LetterSpace]R5P\[LetterSpace]I -1.0*TK2\[LetterSpace]Ru5P\[LetterSpace]E, TPc'[t] == 1.0*TPT -2.0*FBPc\[LetterSpace]A\[LetterSpace]ase, UDP'[t] == 1.0*Suc\[LetterSpace]S -1.0*UTP\[LetterSpace]S, UTP'[t] == 1.0*UTP\[LetterSpace]S -1.0*Suc\[LetterSpace]S }; timeCourse = NDSolve[Join[odes, initialValues]//.rateEquations//.assignments//.parameters, variables, {t, 0, 100}]; (* Steady-state solution initialized with result of time evolution *) findRootEquations = odes /.D[_[t],t]->0; findRootVariables = Partition[Flatten[{#, #/.timeCourse/.t->100} &/@variables],2]; steadyStateVariables = FindRoot[findRootEquations//.rateEquations//.assignments//.parameters, findRootVariables, MaxIterations->100] fluxes = #//.assignments//.parameters/.steadyStateVariables&/@rateEquations (* Plot the time evolution of the variables *) plotTable=Table[Plot[variables[[i]]/.parameters/.timeCourse,{t,0,100},PlotLegends->variables[[i]],PlotRange->Full],{i,Length[variables]}]