// This model generated automatically from SBML // unit definitions import nsrunit; unit conversion off; unit item=scalar; unit substance = mole; unit volume = litre; unit area = metre^2; unit length = metre; unit time = second; // SBML property definitions property sbmlRole=string; property sbmlName=string; property sbmlCompartment=string; // SBML reactions // vHK: P => G6P // vPGI: G6P => F6P // vPFK: F6P => P math main { realDomain time second; time.min=0; extern time.max; extern time.delta; // variable definitions real compartment = 1 volume; real V(time); real kmPFKATP(time); real kiPFKATP(time); real ATP = 1; real alphaHK = 11.5; real R1 = 4; real kmHKATP = 1; real kiHKG6P = .007; real alphaPGI = 360; real kmPGIG6P = .3; real keqPGI = 3; real kmPGIF6P = .2; real alphaPFK = 360; real kaPFKAMP = .01; real R2 = 10; real betaVar = .17; private real P.amt substance; real P substance/volume; real P.init substance/volume; private real G6P.amt(time) substance; real G6P(time) substance/volume; real G6P.init substance/volume; private real F6P.amt(time) substance; real F6P(time) substance/volume; real F6P.init substance/volume; real vHK.rate(time) substance/time; real vPGI.rate(time) substance/time; real vPFK.rate(time) substance/time; private real AMPexp.call0(time); private real AMPexp.call1(time); // equations V = F6P/(1.1+F6P); kmPFKATP = .08*F6P/(.14+F6P); kiPFKATP = .75*(betaVar+F6P)/(.6+F6P); P.amt = P*compartment; P = P.init; P.init = 0; when (time=time.min) G6P.amt = G6P.init*compartment; G6P.amt:time = vHK.rate + -1*vPGI.rate; G6P = G6P.amt/compartment; G6P.init = .1; when (time=time.min) F6P.amt = F6P.init*compartment; F6P.amt:time = vPGI.rate + -1*vPFK.rate; F6P = F6P.amt/compartment; F6P.init = .1; vHK.rate = alphaHK*ATP/(kmHKATP*(R1+ATP/kmHKATP+G6P/kiHKG6P)); vPGI.rate = alphaPGI*((-1)*(keqPGI*F6P/kmPGIG6P)+G6P/kmPGIG6P)/(1+F6P/kmPGIF6P+G6P/kmPGIG6P); vPFK.rate = alphaPFK*(1+2*(AMPexp.call0/kaPFKAMP+R2))*V*ATP/(kmPFKATP*(ATP^7/kiPFKATP^7+(1+AMPexp.call1/kaPFKAMP+R2)*(1+ATP/kmPFKATP))); AMPexp.call0 = 1-(2*ATP-ATP^2)^.5; AMPexp.call1 = 1-(2*ATP-ATP^2)^.5; // Function definition ADPexp(ATP)=(-1)*ATP+(2*ATP-ATP^2)^.5; // Function definition AMPexp(ATP)=1-(2*ATP-ATP^2)^.5; // variable properties compartment.sbmlRole="compartment"; V.sbmlRole="parameter"; kmPFKATP.sbmlRole="parameter"; kiPFKATP.sbmlRole="parameter"; ATP.sbmlRole="parameter"; alphaHK.sbmlRole="parameter"; R1.sbmlRole="parameter"; kmHKATP.sbmlRole="parameter"; kiHKG6P.sbmlRole="parameter"; alphaPGI.sbmlRole="parameter"; kmPGIG6P.sbmlRole="parameter"; keqPGI.sbmlRole="parameter"; kmPGIF6P.sbmlRole="parameter"; alphaPFK.sbmlRole="parameter"; kaPFKAMP.sbmlRole="parameter"; R2.sbmlRole="parameter"; betaVar.sbmlRole="parameter"; P.amt.sbmlRole="speciesAmount"; P.sbmlRole="speciesConcentration"; P.sbmlCompartment="compartment"; P.init.sbmlRole="speciesInitialConcentration"; G6P.amt.sbmlRole="speciesAmount"; G6P.sbmlRole="speciesConcentration"; G6P.sbmlCompartment="compartment"; G6P.init.sbmlRole="speciesInitialConcentration"; F6P.amt.sbmlRole="speciesAmount"; F6P.sbmlRole="speciesConcentration"; F6P.sbmlCompartment="compartment"; F6P.init.sbmlRole="speciesInitialConcentration"; vHK.rate.sbmlRole="rate"; vPGI.rate.sbmlRole="rate"; vPFK.rate.sbmlRole="rate"; AMPexp.call0.sbmlRole="functionCall"; AMPexp.call1.sbmlRole="functionCall"; }