This Workbook sets up, simulates and graphs the equations that describe adenosine system in an open system. It corresponds to the adenosine phosphate system with changes in the total AXP inventory Section 8.3.3 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 16, 2007
Addiel de Alba. April 2010

ka1=6.25`;ka2=25.`;ka5=1000;kam5=1000;b1=0.03`;
ka4=(b1/(0.1`));
va1=ka1 atp[t];
va2=ka2 adp[t];
va3=b1;
va4=ka4 amp[t];
va5=ka5 adp[t] adp[t];
vam5=kam5 atp[t] amp[t];
tfinal=500;
ststsolution=NSolve[{-ka1 atp+ka2 adp+(ka5 adp adp-kam5 atp amp)==0,ka1 atp-ka2 adp-2 (ka5 adp adp-kam5 atp amp)==0,b1-ka4 amp+(ka5 adp adp-kam5 atp amp)}==0,{atp,adp,amp}];
ka1=1.5` 6.25`;
va1=ka1 atp[t];
BalanceATP=-va1+va2+(va5-vam5);
BalanceADP=va1-va2-2 (va5-vam5);
BalanceAMP=va3-va4+(va5-vam5);
solution=NDSolve[{atp'[t]==BalanceATP,adp'[t]==BalanceADP,amp'[t]==BalanceAMP,atp[0]==1.6`,adp[0]==0.4`,amp[0]==0.1`},{atp,adp,amp},{t,0,tfinal}];
<<"PlotLegends`"
graph1=ParametricPlot[Evaluate[{ka1 atp[t],ka2 adp[t]}/.solution],{t,0,tfinal},PlotLabel->"ATP load vs ATP synthesis",PlotStyle->{Hue[0.7`]},PlotRange->{{6,15},{6,15}},AspectRatio->.7,ImageSize->400]

graph2=ParametricPlot[Evaluate[{ka1 atp[t],ka4 amp[t]}/.solution],{t,0,tfinal},PlotLabel->"ATP load vs AMP drain",PlotStyle->{Hue[0.7`]},PlotRange->{{4,15},{0.02`,0.06`}},AspectRatio->.7,ImageSize->400]

graph3=ParametricPlot[Evaluate[{2 atp[t]+adp[t],atp[t]+adp[t]+amp[t]}/.solution],{t,0,tfinal},PlotLabel->"occupancy vs capacity",PlotStyle->{Hue[0.7`]},PlotRange->{{1,4},{1.`,2.4`}},AspectRatio->.7,ImageSize->400]
graph4=Plot[{((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.7`,0.9`},LegendPosition->{1.1`,-0.4`},LegendSize->{0.5`,0.35`},AspectRatio->.7,ImageSize->600]



graph5=Plot[{atp[t]/.solution,adp[t]/.solution,amp[t]/.solution},{t,0,1},PlotLabel->"Concentrations vs time",PlotLegend->{"atp","adp","amp"},PlotStyle->{Hue[0.5`],Hue[0.6`],Hue[0.8`]},PlotRange->{0,1.6`},LegendPosition->{1.1`,-0.4`},LegendSize->{0.45`,0.35`}];

graph6=Plot[{atp[t]/.solution,adp[t]/.solution,amp[t]/.solution},{t,0,tfinal},PlotLabel->"Concentrations vs time",PlotLegend->{"atp","adp","amp"},PlotStyle->{Hue[0.5`],Hue[0.6`],Hue[0.8`]},PlotRange->{0,1.6`},LegendPosition->{1.1`,-0.4`},LegendSize->{0.45`,0.35`}];

graph7=Plot[{((atp[t]+((adp[t])/2))/(atp[t]+adp[t]+amp[t]))/.solution},{t,0,1},PlotLabel->"Energy charge vs time",PlotLegend->{"E.C."},PlotStyle->{Hue[0.5`],Hue[0.6`],Hue[0.8`]},PlotRange->{0.7`,0.9`},LegendPosition->{1.1`,-0.4`},LegendSize->{0.5`,0.35`}];

graph8=Plot[{atp[t]+adp[t]+amp[t]/.solution},{t,0,1},PlotLabel->"Concentrations vs time",PlotLegend->{"capacity"},PlotStyle->{Hue[0.5`]},PlotRange->{0,2.1`},LegendPosition->{1.1`,-0.4`},LegendSize->{0.6`,0.35`}];
graph9=Plot[{atp[t]+adp[t]+amp[t]/.solution},{t,0,tfinal},PlotLabel->"Concentrations vs time",PlotLegend->{"capacity"},PlotStyle->{Hue[0.5`]},PlotRange->{0,2.1`},LegendPosition->{1.1`,-0.4`},LegendSize->{0.6`,0.35`}];
Null;

atp[0]/.solution;
atp[tfinal]/.solution;
adp[0]/.solution;
adp[tfinal]/.solution;
amp[0]/.solution;
amp[tfinal]/.solution;
((atp[0]+((adp[0])/2))/(atp[0]+adp[0]+amp[0]))/.solution;
((atp[tfinal]+((adp[tfinal])/2))/(atp[tfinal]+adp[tfinal]+amp[tfinal]))/.solution;
Null;
Null;

graph10=ParametricPlot[Evaluate[{ka1 atp[t],ka2 adp[t]}/.solution],{t,0,tfinal},PlotStyle->{Hue[0.7`]},PlotRange->{{6,15},{6,15}}];
graph11=ParametricPlot[Evaluate[{ka1 atp[t],ka4 amp[t]}/.solution],{t,0,tfinal},PlotStyle->{Hue[0.7`]},PlotRange->{{4,15},{0.02`,0.06`}},AspectRatio->.7,ImageSize->400];
graph12=ParametricPlot[Evaluate[{2 atp[t]+adp[t],atp[t]+adp[t]+amp[t]}/.solution],{t,0,tfinal},PlotStyle->{Hue[0.7`]},PlotRange->{{1,4},{1.`,2.4`}}];

here we export the graphs

Export["Section8.3.3.A.eps",graph1];
Export["Section8.3.3.B.eps",graph2];
Export["Section8.3.3.A2.eps",graph3];
Export["Section8.3.3.B2.eps",graph4];
Export["Section8.3.3.C2.eps",graph5];