// This model generated automatically from SBML
/*
Curto1998 - purine metabolism
This is a purine metabolism model that is geared toward studies of gout.
The model uses Generalized Mass Action (GMA; i.e. power law) descriptions of reaction rate laws.
Such descriptions are local approximations that assume independent substrate binding.
This model is described in the article:
Curto R, Voit EO, Sorribas A,
Cascante M.
Math Biosci 1998 Jul; 151(1):
1-49
Abstract:
Experimental and clinical data on purine metabolism are
collated and analyzed with three mathematical models. The first
model is the result of an attempt to construct a traditional
kinetic model based on Michaelis-Menten rate laws. This attempt
is only partially successful, since kinetic information, while
extensive, is not complete, and since qualitative information
is difficult to incorporate into this type of model. The data
gaps necessitate the complementation of the Michaelis-Menten
model with other functional forms that can incorporate
different types of data. The most convenient and established
representations for this purpose are rate laws formulated as
power-law functions, and these are used to construct a
Complemented Michaelis-Menten (CMM) model. The other two models
are pure power-law-representations, one in the form of a
Generalized Mass Action (GMA) system, and the other one in the
form of an S-system. The first part of the paper contains a
compendium of experimental data necessary for any model of
purine metabolism. This is followed by the formulation of the
three models and a comparative analysis. For physiological and
moderately pathological perturbations in metabolites or
enzymes, the results of the three models are very similar and
consistent with clinical findings. This is an encouraging
result since the three models have different structures and
data requirements and are based on different mathematical
assumptions. Significant enzyme deficiencies are not so well
modeled by the S-system model. The CMM model captures the
dynamics better, but judging by comparisons with clinical
observations, the best model in this case is the GMA model. The
model results are discussed in some detail, along with
advantages and disadvantages of each modeling strategy.
To the extent possible under law, all copyright and related or
neighbouring rights to this encoded model have been dedicated to
the public domain worldwide. Please refer to
CC0
Public Domain Dedication for more information.
*/
// unit definitions
import nsrunit;
unit conversion off;
// SBML property definitions
property sbmlRole=string;
property sbmlName=string;
property sbmlCompartment=string;
// SBML reactions
// ada: ATP <=> HX
// ade: Ade
// adna: dATP <=> DNA
// adrnr: ATP <=> dATP
// ampd: ATP <=> IMP
// aprt: PRPP Ade <=> ATP
// arna: ATP <=> RNA
// asuc: IMP <=> SAMP
// asli: SAMP <=> ATP
// dada: dATP <=> HX
// den: PRPP <=> IMP
// dgnuc: dGTP <=> Gua
// dnaa: DNA <=> dATP
// dnag: DNA <=> dGTP
// gdna: dGTP <=> DNA
// gdrnr: GTP <=> dGTP
// gmpr: GTP <=> IMP
// gmps: XMP <=> GTP
// gnuc: GTP <=> Gua
// gprt: Gua PRPP <=> GTP
// grna: GTP <=> RNA
// gua: Gua <=> Xa
// hprt: HX PRPP <=> IMP
// hx: HX
// hxd: HX <=> Xa
// impd: IMP <=> XMP
// inuc: IMP <=> HX
// mat: ATP <=> SAM
// polyam: SAM <=> Ade
// prpps: R5P <=> PRPP
// pyr: PRPP
// rnaa: RNA <=> ATP
// rnag: RNA <=> GTP
// trans: SAM <=> ATP
// ua: UA
// x: Xa
// xd: Xa <=> UA
math main {
realDomain time second;
time.min=0;
extern time.max;
extern time.delta;
// variable definitions
real cell = 1 L;
real PRPP(time) umol;
real IMP(time) umol;
real SAMP(time) umol;
real ATP(time) umol;
real SAM(time) umol;
real Ade(time) umol;
real XMP(time) umol;
real GTP(time) umol;
real dATP(time) umol;
real dGTP(time) umol;
real RNA(time) umol;
real DNA(time) umol;
real HX(time) umol;
real Xa(time) umol;
real Gua(time) umol;
real UA(time) umol;
real R5P = 18 umol;
real Pi = 1400 umol;
real ada(time) umol/min;
real aada = .001062;
real fada4 = .97;
real ade(time) umol/min;
real aade = .01;
real fade6 = .55;
real adna(time) umol/min;
real aadna = 3.2789;
real fdnap9 = .42;
real fdnap10 = .33;
real adrnr(time) umol/min;
real aadrnr = .0602;
real fadrnr4 = .1;
real fadrnr9 = -0.3;
real fadrnr10 = .87;
real ampd(time) umol/min;
real aampd = .02688;
real fampd4 = .8;
real fampd8 = -0.03;
real fampd18 = -0.1;
real aprt(time) umol/min;
real aaprt = 233.8;
real faprt1 = .5;
real faprt4 = -0.8;
real faprt6 = .75;
real arna(time) umol/min;
real aarna = 614.5;
real frnap4 = .05;
real frnap8 = .13;
real asuc(time) umol/min;
real aasuc = 3.5932;
real fasuc2 = .4;
real fasuc4 = -0.24;
real fasuc8 = .2;
real fasuc18 = -0.05;
real asli(time) umol/min;
real aasli = 66544;
real fasli3 = .99;
real fasli4 = -0.95;
real dada(time) umol/min;
real adada = .03333;
real fdada9 = 1;
real den(time) umol/min;
real aden = 5.2728;
real fden1 = 2;
real fden2 = -0.06;
real fden4 = -0.25;
real fden8 = -0.2;
real fden18 = -0.08;
real dgnuc(time) umol/min;
real adgnuc = .03333;
real fdgnuc10 = 1;
real dnaa(time) umol/min;
real adnaa = .001938;
real fdnan12 = 1;
real dnag(time) umol/min;
real adnag = .001318;
real dnag_fdnan12 = 1;
real gdna(time) umol/min;
real agdna = 2.2296;
real gdna_fdnap9 = .42;
real gdna_fdnap10 = .33;
real gdrnr(time) umol/min;
real agdrnr = .1199;
real fgdrnr8 = .4;
real fgdrnr9 = -1.2;
real fgdrnr10 = -0.39;
real gmpr(time) umol/min;
real agmpr = .3005;
real fgmpr2 = -0.15;
real fgmpr4 = -0.07;
real fgmpr7 = -0.76;
real fgmpr8 = .7;
real gmps(time) umol/min;
real agmps = .3738;
real fgmps4 = .12;
real fgmps7 = .16;
real gnuc(time) umol/min;
real agnuc = .2511;
real fgnuc8 = .9;
real fgnuc18 = -0.34;
real gprt(time) umol/min;
real agprt = 361.69;
real fgprt1 = 1.2;
real fgprt8 = -1.2;
real fgprt15 = .42;
real grna(time) umol/min;
real agrna = 409.6;
real grna_frnap4 = .05;
real grna_frnap8 = .13;
real gua(time) umol/min;
real agua = .4919;
real fgua15 = .5;
real hprt(time) umol/min;
real ahprt = 12.569;
real fhprt1 = 1.1;
real fhprt2 = -0.89;
real fhprt13 = .48;
real hx(time) umol/min;
real ahx = .003793;
real fhx13 = 1.12;
real hxd(time) umol/min;
real ahxd = .2754;
real fhxd13 = .65;
real impd(time) umol/min;
real aimpd = 1.2823;
real fimpd2 = .15;
real fimpd7 = -0.09;
real fimpd8 = -0.03;
real inuc(time) umol/min;
real ainuc = .9135;
real finuc2 = .8;
real finuc18 = -0.36;
real mat(time) umol/min;
real amat = 7.2067;
real fmat4 = .2;
real fmat5 = -0.6;
real polyam(time) umol/min;
real apolyam = .29;
real fpolyam5 = .9;
real prpps(time) umol/min;
real aprpps = .9;
real fprpps1 = -0.03;
real fprpps4 = -0.45;
real fprpps8 = -0.04;
real fprpps17 = .65;
real fprpps18 = .7;
real pyr(time) umol/min;
real apyr = 1.2951;
real fpyr1 = 1.27;
real rnaa(time) umol/min;
real arnaa = .06923;
real frnan11 = 1;
real rnag(time) umol/min;
real arnag = .04615;
real rnag_frnan11 = 1;
real trans(time) umol/min;
real atrans = 8.8539;
real ftrans5 = .33;
real ua(time) umol/min;
real aua = 8.744E-5;
real fua16 = 2.21;
real x(time) umol/min;
real ax = .0012;
real fx14 = 2;
real xd(time) umol/min;
real axd = .949;
real fxd14 = .55;
// equations
when (time=time.min) PRPP = 5.01742;
PRPP:time = -1*aprt + -1*den + -1*gprt + -1*hprt + prpps + -1*pyr;
when (time=time.min) IMP = 98.2634;
IMP:time = ampd + -1*asuc + den + gmpr + hprt + -1*impd + -1*inuc;
when (time=time.min) SAMP = .198189;
SAMP:time = asuc + -1*asli;
when (time=time.min) ATP = 2475.35;
ATP:time = -1*ada + -1*adrnr + -1*ampd + aprt + -1*arna + asli + -1*mat + rnaa + trans;
when (time=time.min) SAM = 3.99187;
SAM:time = mat + -1*polyam + -1*trans;
when (time=time.min) Ade = .98473;
Ade:time = -1*ade + -1*aprt + polyam;
when (time=time.min) XMP = 24.793;
XMP:time = -1*gmps + impd;
when (time=time.min) GTP = 410.223;
GTP:time = -1*gdrnr + -1*gmpr + gmps + -1*gnuc + gprt + -1*grna + rnag;
when (time=time.min) dATP = 6.01413;
dATP:time = -1*adna + adrnr + -1*dada + dnaa;
when (time=time.min) dGTP = 3.02581;
dGTP:time = -1*dgnuc + dnag + -1*gdna + gdrnr;
when (time=time.min) RNA = 28680.5;
RNA:time = arna + grna + -1*rnaa + -1*rnag;
when (time=time.min) DNA = 5179.34;
DNA:time = adna + -1*dnaa + -1*dnag + gdna;
when (time=time.min) HX = 9.51785;
HX:time = ada + dada + -1*hprt + -1*hx + -1*hxd + inuc;
when (time=time.min) Xa = 5.05941;
Xa:time = gua + hxd + -1*x + -1*xd;
when (time=time.min) Gua = 5.50638;
Gua:time = dgnuc + gnuc + -1*gprt + -1*gua;
when (time=time.min) UA = 100.293;
UA:time = -1*ua + xd;
ada = aada*ATP^fada4;
ade = aade*Ade^fade6;
adna = aadna*dATP^fdnap9*dGTP^fdnap10;
adrnr = aadrnr*ATP^fadrnr4*dATP^fadrnr9*dGTP^fadrnr10;
ampd = aampd*ATP^fampd4*GTP^fampd8*Pi^fampd18;
aprt = aaprt*PRPP^faprt1*ATP^faprt4*Ade^faprt6;
arna = aarna*ATP^frnap4*GTP^frnap8;
asuc = aasuc*IMP^fasuc2*ATP^fasuc4*GTP^fasuc8*Pi^fasuc18;
asli = aasli*SAMP^fasli3*ATP^fasli4;
dada = adada*dATP^fdada9;
den = aden*PRPP^fden1*IMP^fden2*ATP^fden4*GTP^fden8*Pi^fden18;
dgnuc = adgnuc*dGTP^fdgnuc10;
dnaa = adnaa*DNA^fdnan12;
dnag = adnag*DNA^dnag_fdnan12;
gdna = agdna*dATP^gdna_fdnap9*dGTP^gdna_fdnap10;
gdrnr = agdrnr*GTP^fgdrnr8*dATP^fgdrnr9*dGTP^fgdrnr10;
gmpr = agmpr*IMP^fgmpr2*ATP^fgmpr4*XMP^fgmpr7*GTP^fgmpr8;
gmps = agmps*ATP^fgmps4*XMP^fgmps7;
gnuc = agnuc*GTP^fgnuc8*Pi^fgnuc18;
gprt = agprt*PRPP^fgprt1*GTP^fgprt8*Gua^fgprt15;
grna = agrna*ATP^grna_frnap4*GTP^grna_frnap8;
gua = agua*Gua^fgua15;
hprt = ahprt*PRPP^fhprt1*IMP^fhprt2*HX^fhprt13;
hx = ahx*HX^fhx13;
hxd = ahxd*HX^fhxd13;
impd = aimpd*IMP^fimpd2*XMP^fimpd7*GTP^fimpd8;
inuc = ainuc*IMP^finuc2*Pi^finuc18;
mat = amat*ATP^fmat4*SAM^fmat5;
polyam = apolyam*SAM^fpolyam5;
prpps = aprpps*PRPP^fprpps1*ATP^fprpps4*GTP^fprpps8*R5P^fprpps17*Pi^fprpps18;
pyr = apyr*PRPP^fpyr1;
rnaa = arnaa*RNA^frnan11;
rnag = arnag*RNA^rnag_frnan11;
trans = atrans*SAM^ftrans5;
ua = aua*UA^fua16;
x = ax*Xa^fx14;
xd = axd*Xa^fxd14;
// variable properties
cell.sbmlRole="compartment";
PRPP.sbmlRole="species";
PRPP.sbmlCompartment="cell";
IMP.sbmlRole="species";
IMP.sbmlCompartment="cell";
SAMP.sbmlRole="species";
SAMP.sbmlCompartment="cell";
ATP.sbmlRole="species";
ATP.sbmlCompartment="cell";
SAM.sbmlRole="species";
SAM.sbmlCompartment="cell";
Ade.sbmlRole="species";
Ade.sbmlCompartment="cell";
XMP.sbmlRole="species";
XMP.sbmlCompartment="cell";
GTP.sbmlRole="species";
GTP.sbmlCompartment="cell";
dATP.sbmlRole="species";
dATP.sbmlCompartment="cell";
dGTP.sbmlRole="species";
dGTP.sbmlCompartment="cell";
RNA.sbmlRole="species";
RNA.sbmlCompartment="cell";
DNA.sbmlRole="species";
DNA.sbmlCompartment="cell";
HX.sbmlRole="species";
HX.sbmlCompartment="cell";
Xa.sbmlRole="species";
Xa.sbmlCompartment="cell";
Gua.sbmlRole="species";
Gua.sbmlCompartment="cell";
UA.sbmlRole="species";
UA.sbmlCompartment="cell";
R5P.sbmlRole="species";
R5P.sbmlCompartment="cell";
Pi.sbmlRole="species";
Pi.sbmlCompartment="cell";
ada.sbmlRole="rate";
aada.sbmlRole="parameter";
fada4.sbmlRole="parameter";
ade.sbmlRole="rate";
aade.sbmlRole="parameter";
fade6.sbmlRole="parameter";
adna.sbmlRole="rate";
aadna.sbmlRole="parameter";
fdnap9.sbmlRole="parameter";
fdnap10.sbmlRole="parameter";
adrnr.sbmlRole="rate";
aadrnr.sbmlRole="parameter";
fadrnr4.sbmlRole="parameter";
fadrnr9.sbmlRole="parameter";
fadrnr10.sbmlRole="parameter";
ampd.sbmlRole="rate";
aampd.sbmlRole="parameter";
fampd4.sbmlRole="parameter";
fampd8.sbmlRole="parameter";
fampd18.sbmlRole="parameter";
aprt.sbmlRole="rate";
aaprt.sbmlRole="parameter";
faprt1.sbmlRole="parameter";
faprt4.sbmlRole="parameter";
faprt6.sbmlRole="parameter";
arna.sbmlRole="rate";
aarna.sbmlRole="parameter";
frnap4.sbmlRole="parameter";
frnap8.sbmlRole="parameter";
asuc.sbmlRole="rate";
aasuc.sbmlRole="parameter";
fasuc2.sbmlRole="parameter";
fasuc4.sbmlRole="parameter";
fasuc8.sbmlRole="parameter";
fasuc18.sbmlRole="parameter";
asli.sbmlRole="rate";
aasli.sbmlRole="parameter";
fasli3.sbmlRole="parameter";
fasli4.sbmlRole="parameter";
dada.sbmlRole="rate";
adada.sbmlRole="parameter";
fdada9.sbmlRole="parameter";
den.sbmlRole="rate";
aden.sbmlRole="parameter";
fden1.sbmlRole="parameter";
fden2.sbmlRole="parameter";
fden4.sbmlRole="parameter";
fden8.sbmlRole="parameter";
fden18.sbmlRole="parameter";
dgnuc.sbmlRole="rate";
adgnuc.sbmlRole="parameter";
fdgnuc10.sbmlRole="parameter";
dnaa.sbmlRole="rate";
adnaa.sbmlRole="parameter";
fdnan12.sbmlRole="parameter";
dnag.sbmlRole="rate";
adnag.sbmlRole="parameter";
dnag_fdnan12.sbmlRole="parameter";
gdna.sbmlRole="rate";
agdna.sbmlRole="parameter";
gdna_fdnap9.sbmlRole="parameter";
gdna_fdnap10.sbmlRole="parameter";
gdrnr.sbmlRole="rate";
agdrnr.sbmlRole="parameter";
fgdrnr8.sbmlRole="parameter";
fgdrnr9.sbmlRole="parameter";
fgdrnr10.sbmlRole="parameter";
gmpr.sbmlRole="rate";
agmpr.sbmlRole="parameter";
fgmpr2.sbmlRole="parameter";
fgmpr4.sbmlRole="parameter";
fgmpr7.sbmlRole="parameter";
fgmpr8.sbmlRole="parameter";
gmps.sbmlRole="rate";
agmps.sbmlRole="parameter";
fgmps4.sbmlRole="parameter";
fgmps7.sbmlRole="parameter";
gnuc.sbmlRole="rate";
agnuc.sbmlRole="parameter";
fgnuc8.sbmlRole="parameter";
fgnuc18.sbmlRole="parameter";
gprt.sbmlRole="rate";
agprt.sbmlRole="parameter";
fgprt1.sbmlRole="parameter";
fgprt8.sbmlRole="parameter";
fgprt15.sbmlRole="parameter";
grna.sbmlRole="rate";
agrna.sbmlRole="parameter";
grna_frnap4.sbmlRole="parameter";
grna_frnap8.sbmlRole="parameter";
gua.sbmlRole="rate";
agua.sbmlRole="parameter";
fgua15.sbmlRole="parameter";
hprt.sbmlRole="rate";
ahprt.sbmlRole="parameter";
fhprt1.sbmlRole="parameter";
fhprt2.sbmlRole="parameter";
fhprt13.sbmlRole="parameter";
hx.sbmlRole="rate";
ahx.sbmlRole="parameter";
fhx13.sbmlRole="parameter";
hxd.sbmlRole="rate";
ahxd.sbmlRole="parameter";
fhxd13.sbmlRole="parameter";
impd.sbmlRole="rate";
aimpd.sbmlRole="parameter";
fimpd2.sbmlRole="parameter";
fimpd7.sbmlRole="parameter";
fimpd8.sbmlRole="parameter";
inuc.sbmlRole="rate";
ainuc.sbmlRole="parameter";
finuc2.sbmlRole="parameter";
finuc18.sbmlRole="parameter";
mat.sbmlRole="rate";
amat.sbmlRole="parameter";
fmat4.sbmlRole="parameter";
fmat5.sbmlRole="parameter";
polyam.sbmlRole="rate";
apolyam.sbmlRole="parameter";
fpolyam5.sbmlRole="parameter";
prpps.sbmlRole="rate";
aprpps.sbmlRole="parameter";
fprpps1.sbmlRole="parameter";
fprpps4.sbmlRole="parameter";
fprpps8.sbmlRole="parameter";
fprpps17.sbmlRole="parameter";
fprpps18.sbmlRole="parameter";
pyr.sbmlRole="rate";
apyr.sbmlRole="parameter";
fpyr1.sbmlRole="parameter";
rnaa.sbmlRole="rate";
arnaa.sbmlRole="parameter";
frnan11.sbmlRole="parameter";
rnag.sbmlRole="rate";
arnag.sbmlRole="parameter";
rnag_frnan11.sbmlRole="parameter";
trans.sbmlRole="rate";
atrans.sbmlRole="parameter";
ftrans5.sbmlRole="parameter";
ua.sbmlRole="rate";
aua.sbmlRole="parameter";
fua16.sbmlRole="parameter";
x.sbmlRole="rate";
ax.sbmlRole="parameter";
fx14.sbmlRole="parameter";
xd.sbmlRole="rate";
axd.sbmlRole="parameter";
fxd14.sbmlRole="parameter";
}