import nsrunit; unit conversion on; // unit nanomolar predefined unit hour=3600 second^1; unit flux=2.7777778E-10 meter^(-3)*second^(-1)*mole^1; unit first_order_rate_constant=2.7777778E-4 second^(-1); unit second_order_rate_constant=2.7777778E2 meter^3*second^(-1)*mole^(-1); // unit nanomolar predefined unit hour=3600 second^1; unit flux=2.7777778E-10 meter^(-3)*second^(-1)*mole^1; unit first_order_rate_constant=2.7777778E-4 second^(-1); unit second_order_rate_constant=2.7777778E2 meter^3*second^(-1)*mole^(-1); // unit nanomolar predefined unit hour=3600 second^1; unit flux=2.7777778E-10 meter^(-3)*second^(-1)*mole^1; unit first_order_rate_constant=2.7777778E-4 second^(-1); unit second_order_rate_constant=2.7777778E2 meter^3*second^(-1)*mole^(-1); // unit nanomolar predefined unit hour=3600 second^1; unit flux=2.7777778E-10 meter^(-3)*second^(-1)*mole^1; unit first_order_rate_constant=2.7777778E-4 second^(-1); unit second_order_rate_constant=2.7777778E2 meter^3*second^(-1)*mole^(-1); // unit nanomolar predefined unit hour=3600 second^1; unit flux=2.7777778E-10 meter^(-3)*second^(-1)*mole^1; unit first_order_rate_constant=2.7777778E-4 second^(-1); unit second_order_rate_constant=2.7777778E2 meter^3*second^(-1)*mole^(-1); // unit nanomolar predefined unit hour=3600 second^1; unit flux=2.7777778E-10 meter^(-3)*second^(-1)*mole^1; unit first_order_rate_constant=2.7777778E-4 second^(-1); unit second_order_rate_constant=2.7777778E2 meter^3*second^(-1)*mole^(-1); math main { realDomain time hour; time.min=0; extern time.max; extern time.delta; real MP(time) nanomolar; when(time=time.min) MP=0.1; real vsP flux; vsP=1; real vmP flux; vmP=0.7; real KmP nanomolar; KmP=0.2; real KIP nanomolar; KIP=1.0; real kd first_order_rate_constant; kd=0.01; real CN(time) nanomolar; when(time=time.min) CN=1.25; // Var below replaced by constant in model eqns to satisfy unit correction // real n dimensionless; // n=4.0; real MP_init nanomolar; MP_init=0.1; real P0(time) nanomolar; when(time=time.min) P0=0.1; real ksP first_order_rate_constant; ksP=0.9; real V1P flux; V1P=8.0; real V2P flux; V2P=1.0; real K1P nanomolar; K1P=2.0; real K2P nanomolar; K2P=2.0; real P1(time) nanomolar; when(time=time.min) P1=0.1; real P0_init nanomolar; P0_init=0.1; real V3P flux; V3P=8.0; real V4P flux; V4P=1.0; real K3P nanomolar; K3P=2.0; real K4P nanomolar; K4P=1; real P2(time) nanomolar; when(time=time.min) P2=0.1; real P1_init nanomolar; P1_init=0.1; real vdP flux; vdP=2; real P2.KdP nanomolar; P2.KdP=0.2; real Pt(time) nanomolar; real k3 second_order_rate_constant; k3=1.2; real k4 first_order_rate_constant; k4=0.6; real T2(time) nanomolar; when(time=time.min) T2=0.1; real C(time) nanomolar; when(time=time.min) C=0.1; real P2_init nanomolar; P2_init=0.1; real MT(time) nanomolar; when(time=time.min) MT=1.6; real vsT flux; vsT=1.0; real vmT flux; vmT=0.7; real KmT nanomolar; KmT=0.2; real KIT nanomolar; KIT=1.0; real MT_init nanomolar; MT_init=1.6; real T0(time) nanomolar; when(time=time.min) T0=0.1; real ksT first_order_rate_constant; ksT=0.9; real V1T flux; V1T=8.0; real V2T flux; V2T=1.0; real K1T nanomolar; K1T=2.0; real K2T nanomolar; K2T=2.0; real T1(time) nanomolar; when(time=time.min) T1=0.1; real T0_init nanomolar; T0_init=0.1; real V3T flux; V3T=8.0; real V4T flux; V4T=1.0; real K3T nanomolar; K3T=2.0; real K4T nanomolar; K4T=1; real T1_init nanomolar; T1_init=0.1; real vdT flux; vdT=2; real KdT nanomolar; KdT=0.2; real T2_init nanomolar; T2_init=0.1; real Tt(time) nanomolar; real kdC first_order_rate_constant; kdC=0.01; real k1 first_order_rate_constant; k1=0.6; real k2 first_order_rate_constant; k2=0.2; real kdN first_order_rate_constant; kdN=0.01; // // // // // // // // // // C:time=(k3*P2*T2+k2*CN-(k4*C+k1*C+kdC*C)); // CN:time=(k1*C-(k2*CN+kdN*CN)); // // MP:time=(vsP*(KIP^4/(KIP^4+CN^4))-(vmP*(MP/(KmP+MP))+kd*MP)); // P0:time=(ksP*MP+V2P*(P1/(K2P+P1))-(V1P*(P0/(K1P+P0))+kd*P0)); // P1:time=(V1P*(P0/(K1P+P0))+V4P*(P2/(K4P+P2))-(V2P*(P1/(K2P+P1))+V3P*(P1/(K3P+P1))+kd*P1)); // P2:time=(V3P*(P1/(K3P+P1))+k4*C-(V4P*(P2/(K4P+P2))+k3*P2*T2+vdP*(P2/(P2.KdP+P2))+kd*P2)); // MT:time=(vsT*(KIT^4/(KIT^4+CN^4))-(vmT*(MT/(KmT+MT))+kd*MT)); // T0:time=(ksT*MT+V2T*(T1/(K2T+T1))-(V1T*(T0/(K1T+T0))+kd*T0)); // T1:time=(V1T*(T0/(K1T+T0))+V4T*(T2/(K4T+T2))-(V2T*(T1/(K2T+T1))+V3T*(T1/(K3T+T1))+kd*T1)); // T2:time=(V3T*(T1/(K3T+T1))+k4*C-(V4T*(T2/(K4T+T2))+k3*T2*P2+vdT*(T2/(KdT+T2))+kd*T2)); // Pt=(P0+P1+P2+C+CN); // Tt=(T0+T1+T2+C+CN); }