import nsrunit; unit conversion on; unit s=1 second^1; unit nM=1E-6 meter^(-3)*mole^1; unit s=1 second^1; unit nM=1E-6 meter^(-3)*mole^1; unit per_s=1 second^(-1); unit nM_per_s=1E-6 meter^(-3)*second^(-1)*mole^1; unit s=1 second^1; unit nM=1E-6 meter^(-3)*mole^1; unit s=1 second^1; unit nM=1E-6 meter^(-3)*mole^1; unit per_s=1 second^(-1); unit nM_per_s=1E-6 meter^(-3)*second^(-1)*mole^1; unit per_nM_s=1E6 meter^3*second^(-1)*mole^(-1); math main { realDomain t s; t.min=0; extern t.max; extern t.delta; real Ccn dimensionless; Ccn=50; real nuclearNFAT(t) nM; real NFATN_n(t) nM; when(t=t.min) NFATN_n=0.50910553; real NFATp_n(t) nM; when(t=t.min) NFATp_n=0.27638027; real stimEnd s; stimEnd=3600; real Ca(t) nM; real trainPeriod s; trainPeriod=50; real timeInStim_modTrainPeriod(t) s; real timeInStim_modPulsePeriod(t) s; real M nM; M=6000; real Ntot nM; Ntot=1000; real K_mN nM; K_mN=535; // Var below replaced by constant in model eqns to satisfy unit correction // real n dimensionless; // n=2.92; real K_dN nM; K_dN=1760; real calcineurin.act_N(t) dimensionless; real act_Napp(t) dimensionless; real tau_actN s; tau_actN=0.070059; real tNinhib s; tNinhib=3600; real NFATN_c(t) nM; when(t=t.min) NFATN_c=0.0017047398; real NFATp_c(t) nM; when(t=t.min) NFATp_c=0.9825855442; real k_f1 per_nM_s; k_f1=7.68934e-6; real k_r1 per_s; k_r1=0.019256; real k_f2 per_s; k_f2=0.00144192; real k_f3 per_s; k_f3=0.000361944; real k_r3 per_nM_s; k_r3=4.70813e-5; real k_f4 per_s; k_f4=0.000444695; real J1(t) nM_per_s; real J2(t) nM_per_s; real J3(t) nM_per_s; real J4(t) nM_per_s; // // // nuclearNFAT=(NFATN_n+NFATp_n); // timeInStim_modTrainPeriod=(t-floor(t/trainPeriod)*trainPeriod); timeInStim_modPulsePeriod=(t-floor(t/(.1 s))*(.1 s)); Ca=(if (((timeInStim_modTrainPeriod>=(5 s)) and (timeInStim_modTrainPeriod<=(5.02 s))) and (t(.016 s))) and (t calcineurin.act_N=(Ca^2.92/(Ca^2.92+K_mN^2.92*(1+K_dN/M))); act_Napp=(if (t=tNinhib) calcineurin.act_N*2.718281828459045^((-1)*(t-tNinhib)/tau_actN) else 0); // J1=(k_f1*NFATp_c*Ntot*act_Napp-k_r1*NFATN_c*(1-act_Napp)); J2=(k_f2*NFATN_c); J3=(k_f3*NFATN_n*(1-act_Napp)-k_r3*NFATp_n*Ntot*act_Napp); J4=(k_f4*NFATp_n); NFATp_c:t=(J4/Ccn-J1); NFATN_c:t=(J1-J2); NFATN_n:t=(J2*Ccn-J3); NFATp_n:t=(J3-J4); }