This Workbook sets up, simulates and graphs the equations that describe adenosine system with charging and recovering of high-energy bonds. It corresponds to Section 8.4 of Ch 8 in SB2.

We 1) define the numerical values of the kinetic parameters, 2) then the reaction rate laws, 3) then we integrate and, 4) finally graph the solution.

BOP May 6, 2007
Addiel de Alba, April 2010.

ka1=6.25`;ka2=25.`;ka5=1000;kam5=1000;b1=0.03`;b2=5.`;ka4=(b1/(0.1`));kl=(5/(1.6`));ks1=(5/(1.6`));ks2=(5/(0.4`));
vs1=ks1 atp[t] s1[t];
vs2=ks2 adp[t] s2[t];
vl=kl atp[t];
va3=b1;
va4=ka4 amp[t];
va5=ka5 adp[t] adp[t];
vam5=kam5 atp[t] amp[t];


tfinal=50;
kl=((1.5` 5)/(1.6`));
vl=kl atp[t];
b2=5.`;
BalanceATP=-vs1-vl+2 vs2+(va5-vam5);
BalanceADP=vs1+vl-2 vs2-2 (va5-vam5);
BalanceAMP=va3-va4+(va5-vam5);
BalanceS1=b2-vs1;
BalanceS2=vs1-vs2;
solution=NDSolve[{atp'[t]==BalanceATP,adp'[t]==BalanceADP,amp'[t]==BalanceAMP,s1'[t]==BalanceS1,s2'[t]==BalanceS2,atp[0]==1.6`,adp[0]==0.4`,amp[0]==0.1`,s1[0]==1.`,s2[0]==1.`},{atp,adp,amp,s1,s2},{t,0,tfinal}];
<<"PlotLegends`"

graph1=Plot[{atp[t]/.solution,adp[t]/.solution,amp[t]/.solution,s1[t]/.solution,s2[t]/.solution},{t,0,5},PlotLabel->"Concentrations vs time",PlotLegend->{"atp","adp","amp","s1","s2"},PlotStyle->{Hue[0.5`],Hue[0.6`],Hue[0.8`],Hue[0.9`],Hue[1.`]},PlotRange->{0,1.8`},LegendPosition->{1.1`,-0.4`},LegendSize->{0.45`,0.35`},ImageSize->600]

graph2=Plot[{atp[t]/.solution,adp[t]/.solution,amp[t]/.solution,s1[t]/.solution,s2[t]/.solution},{t,0,tfinal},PlotLabel->"Concentrations vs time",PlotLegend->{"atp","adp","amp","s1","s2"},PlotStyle->{Hue[0.5`],Hue[0.6`],Hue[0.8`],Hue[0.9`],Hue[1.`]},PlotRange->{0,1.8`},LegendPosition->{1.1`,-0.4`},LegendSize->{0.45`,0.35`},ImageSize->600]

graph3=Plot[{ks1 atp[t] s1[t]/.solution,ks2 adp[t] s2[t]/.solution,kl atp[t]/.solution},{t,0,5},PlotLabel->"Fluxes vs time",PlotLegend->{"vs1","vs2","vl"},PlotStyle->{Hue[0.5`],Hue[0.6`],Hue[0.8`],Hue[0.9`],Hue[1.`]},PlotRange->{4.4`,8.`},LegendPosition->{1.1`,-0.4`},LegendSize->{0.55`,0.55`},ImageSize->600]

graph4=Plot[{ks1 atp[t] s1[t]/.solution,ks2 adp[t] s2[t]/.solution,kl atp[t]/.solution},{t,0,tfinal},PlotLabel->"Fluxes vs time",PlotLegend->{"vs1","vs2","vl"},PlotStyle->{Hue[0.5`],Hue[0.6`],Hue[0.8`],Hue[0.9`],Hue[1.`]},PlotRange->{4.4`,8.`},LegendPosition->{1.1`,-0.2`},LegendSize->{0.55`,0.55`},ImageSize->600]

graph5=Plot[{ka4 amp[t]/.solution,ka5 adp[t] adp[t]-kam5 atp[t] amp[t]/.solution},{t,0,5},PlotLabel->"Fluxes vs time",PlotLegend->{"va4","va5,net"},PlotStyle->{Hue[0.5`],Hue[0.6`],Hue[0.8`],Hue[0.9`],Hue[1.`]},PlotRange->{-0.025`,0.4`},LegendPosition->{1.1`,-0.4`},LegendSize->{0.55`,0.55`},ImageSize->600]

graph6=Plot[{ka4 amp[t]/.solution,ka5 adp[t] adp[t]-kam5 atp[t] amp[t]/.solution},{t,0,tfinal},PlotLabel->"Fluxes vs time",PlotLegend->{"va4","va5,net"},PlotStyle->{Hue[0.5`],Hue[0.6`],Hue[0.8`],Hue[0.9`],Hue[1.`]},PlotRange->{-0.025`,0.4`},LegendPosition->{1.1`,-0.4`},LegendSize->{0.55`,0.55`},ImageSize->600]

graph7=ParametricPlot[Evaluate[{ks1 atp[t] s1[t]+kl atp[t],2 ks2 adp[t] s2[t]}/.solution],{t,0,tfinal},PlotLabel->"ATP load vs ATP synthesis",PlotStyle->{Hue[0.7`]},PlotRange->{{9,13},{9,13}},AspectRatio->.7,ImageSize->400]

graph8=Plot[{((2 atp[t]+adp[t])/(2 (atp[t]+adp[t]+amp[t])))/.solution},{t,0,tfinal},PlotLabel->"Energy charge vs time",PlotLegend->{"E.C."},PlotStyle->{Hue[0.5`],Hue[0.6`],Hue[0.8`]},PlotRange->{0.65`,0.9`},LegendPosition->{1.1`,-0.4`},LegendSize->{0.5`,0.35`},AspectRatio->.7,ImageSize->600]

graph9=ParametricPlot[Evaluate[{ks1 atp[t] s1[t]+kl atp[t],ka4 amp[t]}/.solution],{t,0,tfinal},PlotLabel->"ATP load vs AMP drain",PlotStyle->{Hue[0.7`]},PlotRange->{{8,15},{0.02`,0.12`}},AspectRatio->.7,ImageSize->400]

graph10=ParametricPlot[Evaluate[{2 atp[t]+adp[t],2 (atp[t]+adp[t]+amp[t])}/.solution],{t,0,tfinal},PlotLabel->"occupancy vs capacity",PlotStyle->{Hue[0.7`]},PlotRange->{{2.4`,3.6`},{3.`,4.2`}},AspectRatio->.7,ImageSize->400];

graph11=ParametricPlot[Evaluate[{ka5 adp[t] adp[t]-kam5 atp[t] amp[t],ka4 amp[t]}/.solution],{t,0,tfinal},PlotLabel->"P distrobution vs AMP drain",PlotStyle->{Hue[0.7`]},PlotRange->{{0.`,0.35`},{0.02`,0.12`}},AspectRatio->.7,ImageSize->400];

here we export the graphs

Export["Section8.4.A.eps",graph1];
Export["Section8.4.B.eps",graph2];
Export["Section8.4.C.eps",graph3];
Export["Section8.4.D.eps",graph4];
Export["Section8.4.E.eps",graph5];
Export["Section8.4.F.eps",graph6];
Export["Section8.4.A2.eps",graph7];
Export["Section8.4.B2.eps",graph8];
Export["Section8.4.C2.eps",graph9];