import nsrunit; unit conversion on; unit hour=3600 second^1; unit per_hour=2.7777778E-4 second^(-1); unit per_litre=1E3 meter^(-3); // unit nanomolar predefined unit nanomolar_hour=2.7777778E-10 meter^(-3)*second^(-1)*mole^1; unit per_nanomolar_hour=2.7777778E2 meter^3*second^(-1)*mole^(-1); unit hour=3600 second^1; unit per_hour=2.7777778E-4 second^(-1); unit per_litre=1E3 meter^(-3); // unit nanomolar predefined unit nanomolar_hour=2.7777778E-10 meter^(-3)*second^(-1)*mole^1; unit per_nanomolar_hour=2.7777778E2 meter^3*second^(-1)*mole^(-1); unit hour=3600 second^1; unit per_hour=2.7777778E-4 second^(-1); unit per_litre=1E3 meter^(-3); // unit nanomolar predefined unit nanomolar_hour=2.7777778E-10 meter^(-3)*second^(-1)*mole^1; unit per_nanomolar_hour=2.7777778E2 meter^3*second^(-1)*mole^(-1); unit hour=3600 second^1; unit per_hour=2.7777778E-4 second^(-1); unit per_litre=1E3 meter^(-3); // unit nanomolar predefined unit nanomolar_hour=2.7777778E-10 meter^(-3)*second^(-1)*mole^1; unit per_nanomolar_hour=2.7777778E2 meter^3*second^(-1)*mole^(-1); unit hour=3600 second^1; unit per_hour=2.7777778E-4 second^(-1); unit per_litre=1E3 meter^(-3); // unit nanomolar predefined unit nanomolar_hour=2.7777778E-10 meter^(-3)*second^(-1)*mole^1; unit per_nanomolar_hour=2.7777778E2 meter^3*second^(-1)*mole^(-1); unit hour=3600 second^1; unit per_hour=2.7777778E-4 second^(-1); unit per_litre=1E3 meter^(-3); // unit nanomolar predefined unit nanomolar_hour=2.7777778E-10 meter^(-3)*second^(-1)*mole^1; unit per_nanomolar_hour=2.7777778E2 meter^3*second^(-1)*mole^(-1); math main { realDomain time hour; time.min=0; extern time.max; extern time.delta; real v_sP nanomolar_hour; v_sP=1; real v_mP nanomolar_hour; v_mP=0.7; real K_IP nanomolar; K_IP=1; real K_mP nanomolar; K_mP=0.2; real v_sT nanomolar_hour; v_sT=1; real v_mT nanomolar_hour; v_mT=0.7; real K_IT nanomolar; K_IT=1; real K_mT nanomolar; K_mT=0.2; real k_d per_hour; k_d=0.01; // Var below replaced by constant in model eqns to satisfy unit correction // real n dimensionless; // n=4; real k_1 per_hour; k_1=0.6; real k_2 per_hour; k_2=0.2; real k_dN per_hour; k_dN=0.01; real C(time) nanomolar; when(time=time.min) C=0.344; real M_P(time) nanomolar; when(time=time.min) M_P=0.031; real M_T(time) nanomolar; when(time=time.min) M_T=0.031; real C_N(time) nanomolar; when(time=time.min) C_N=1.77; real M_Pinit nanomolar; M_Pinit=0.031; real M_Tinit nanomolar; M_Tinit=0.031; real k_3 per_nanomolar_hour; k_3=1.2; real k_4 per_hour; k_4=0.6; real k_dC per_hour; k_dC=0.01; real P_0(time) nanomolar; when(time=time.min) P_0=0.0114; real P_1(time) nanomolar; when(time=time.min) P_1=0.0178; real P_2(time) nanomolar; when(time=time.min) P_2=0.0322; real T_0(time) nanomolar; when(time=time.min) T_0=0.0114; real T_1(time) nanomolar; when(time=time.min) T_1=0.0178; real T_2(time) nanomolar; when(time=time.min) T_2=0.0324; real V_1P nanomolar_hour; V_1P=8; real V_2P nanomolar_hour; V_2P=1; real V_3P nanomolar_hour; V_3P=8; real V_4P nanomolar_hour; V_4P=1; real K_1P nanomolar; K_1P=2; real K_2P nanomolar; K_2P=2; real K_3P nanomolar; K_3P=2; real K_4P nanomolar; K_4P=2; real K_dP nanomolar; K_dP=0.2; real v_dP nanomolar_hour; v_dP=2; real k_sP per_hour; k_sP=0.9; real P_0init nanomolar; P_0init=0.0114; real P_1init nanomolar; P_1init=0.0178; real P_2init nanomolar; P_2init=0.0322; real V_1T nanomolar_hour; V_1T=8; real V_2T nanomolar_hour; V_2T=1; real V_3T nanomolar_hour; V_3T=8; real V_4T nanomolar_hour; V_4T=1; real K_1T nanomolar; K_1T=2; real K_2T nanomolar; K_2T=2; real K_3T nanomolar; K_3T=2; real K_4T nanomolar; K_4T=2; real K_dT nanomolar; K_dT=0.2; real v_dT nanomolar_hour; v_dT=2; real k_sT per_hour; k_sT=0.9; real T_0init nanomolar; T_0init=0.0114; real T_1init nanomolar; T_1init=0.0178; real T_2init nanomolar; T_2init=0.0324; real P_t(time) nanomolar; real T_t(time) nanomolar; // // C_N:time=(k_1*C-k_2*C_N-k_dN*C_N); // C:time=(k_3*P_2*T_2-k_4*C-k_1*C+k_2*C_N-k_dC*C); // // // // // M_P:time=(v_sP*(K_IP^4/(K_IP^4+C_N^4))-v_mP*(M_P/(K_mP+M_P))-k_d*M_P); // M_T:time=(v_sT*(K_IT^4/(K_IT^4+C_N^4))-v_mT*(M_T/(K_mT+M_T))-k_d*M_T); // P_0:time=(k_sP*M_P-V_1P*(P_0/(K_1P+P_0))+V_2P*(P_1/(K_2P+P_1))-k_d*P_0); // T_0:time=(k_sT*M_T-V_1T*(T_0/(K_1T+T_0))+V_2T*(T_1/(K_2T+T_1))-k_d*T_0); // P_1:time=(V_1P*(P_0/(K_1P+P_0))-V_2P*(P_1/(K_2P+P_1))-V_3P*(P_1/(K_3P+P_1))+V_4P*(P_2/(K_4P+P_2))-k_d*P_1); // T_1:time=(V_1T*(T_0/(K_1T+T_0))-V_2T*(T_1/(K_2T+T_1))-V_3T*(T_1/(K_3T+T_1))+V_4T*(T_2/(K_4T+T_2))-k_d*T_1); // P_2:time=(V_3P*(P_1/(K_3P+P_1))-V_4P*(P_2/(K_4P+P_2))-k_3*P_2*T_2+k_4*C-v_dP*(P_2/(K_dP+P_2))-k_d*P_2); // T_2:time=(V_3T*(T_1/(K_3T+T_1))-V_4T*(T_2/(K_4T+T_2))-k_3*T_2*P_2+k_4*C-v_dT*(T_2/(K_dT+T_2))-k_d*T_2); // P_t=(P_0+P_1+P_2+C+C_N); // T_t=(T_0+T_1+T_2+C+C_N); }