//Created by libAntimony v2.4 model decker_2009__environment(time_) // Variable initializations: time_ = ; end model decker_2009__model_parameters(F, T, R, K_o, Ca_o, Na_o, Cl_o) // Variable initializations: F = 96485; T = 310; R = 8314; K_o = 5.4; Ca_o = 1.8; Na_o = 140; Cl_o = 100; end model decker_2009__cell_geometry(Vmyo, Vnsr, Vsr, Vjsr, Vss_sr, Vss_CaL, Acap, AF, F) // Assignment Rules: Vmyo := vcell * 0.678; Vnsr := vcell * 0.0552; Vsr := vcell * 0.06; Vjsr := vcell * 0.0048; Vss_sr := vcell * 0.02; Vss_CaL := vcell * 0.002; Acap := ageo * 2; AF := (1 * 1 * Acap) / (F * 1); vcell := 1000 * pi * a * a * l; ageo := 2 * pi * a * a + 2 * pi * a * l; // Variable initializations: l = 0.01; a = 0.0011; F = ; end model decker_2009__membrane(Vm, i_Stim, F, INa, ICaL, IK1, IKp, IKs, IKr, IpCa, ICab, INaCa, INaCa_ss_sr, INaK, Ito1, Ito2, IClb, INaL, INab, time_) // Assignment Rules: i_Stim := piecewise( stim_amplitude , ( geq(time_ - past, stim_offset)) && (time_ - past <= stim_offset + stim_duration ), 0 ); past := floor(time_ / stim_period) * stim_period; caiont := (ICaL + ICab + IpCa) - 2 * (INaCa + INaCa_ss_sr); naiont := INa + 3 * (INaCa + INaCa_ss_sr) + 3 * INaK + INaL + INab; kiont := IKr + IKs + IK1 + IKp + -(2) * INaK + Ito1 + i_Stim; clont := IClb + Ito2; // Rate Rules: Vm' = -(naiont + kiont + caiont + clont); // Variable initializations: Vm = -87.4947322902196; stim_offset = 0; stim_period = 1000; stim_duration = 0.5; stim_amplitude = -80; F = ; INa = ; ICaL = ; IK1 = ; IKp = ; IKs = ; IKr = ; IpCa = ; ICab = ; INaCa = ; INaCa_ss_sr = ; INaK = ; Ito1 = ; Ito2 = ; IClb = ; INaL = ; INab = ; time_ = ; end model decker_2009__IKs(IKs, time_, Vm, EKs, Ca_i, R, F, T) // Assignment Rules: IKs := gKs * OKs * (Vm - EKs); gKs := gKs_max * (1 + 0.6 / (1 + power(3.8E-5 / Ca_i, 1.4))); O2 := 1 - (C1 + C2 + C3 + C4 + C5 + C6 + C7 + C8 + C9 + C10 + C11 + C12 + C13 + C14 + C15 + O1); OKs := O1 + O2; alpha := 0.01486459798086 * exp((0.02987730123588 * Vm * F) / (R * T)); beta := 0.08398631219983 * exp((-(0.05546105712664) * Vm * F) / (R * T)); delta := 0.0031173268874 * exp((-(0.42625451944376) * Vm * F) / (R * T)); gamma := 0.01460066118316 * exp((0.24464953099645 * Vm * F) / (R * T)); eta := 0.07731990097331 * exp((-(0.06472612248871) * Vm * F) / (R * T)); theta := 0.08953830641102; omega := 0.7940545995864 * exp((-(0.08017378192977) * Vm * F) / (R * T)); psi := 0.58638228663014 * exp((0.28205554331496 * Vm * F) / (R * T)); // Rate Rules: C1' = -(4) * alpha * C1 + beta * C2; C2' = -(3 * alpha + beta + gamma) * C2 + 4 * alpha * C1 + 2 * beta * C3 + delta * C6; C3' = -(2 * alpha + 2 * beta + 2 * gamma) * C3 + 3 * alpha * C2 + 3 * beta * C4 + delta * C7; C4' = -(alpha + 3 * beta + 3 * gamma) * C4 + 2 * alpha * C3 + 4 * beta * C5 + delta * C8; C5' = -(4 * beta + 4 * gamma) * C5 + alpha * C4 + delta * C9; C6' = -(3 * alpha + delta) * C6 + beta * C7 + gamma * C2; C7' = -(2 * alpha + beta + gamma + delta) * C7 + 3 * alpha * C6 + 2 * beta * C8 + 2 * gamma * C3 + 2 * delta * C10; C8' = -(alpha + 2 * beta + 2 * gamma + delta) * C8 + 2 * alpha * C7 + 3 * beta * C9 + 3 * gamma * C4 + 2 * delta * C11; C9' = -(3 * beta + 3 * gamma + delta) * C9 + alpha * C8 + 4 * gamma * C5 + 2 * delta * C12; C10' = -(2 * alpha + 2 * delta) * C10 + beta * C11 + gamma * C7; C11' = -(alpha + beta + gamma + 2 * delta) * C11 + 2 * alpha * C10 + 2 * beta * C12 + 2 * gamma * C8 + 3 * delta * C13; C12' = -(2 * beta + 2 * gamma + 2 * delta) * C12 + alpha * C11 + 3 * gamma * C9 + 3 * delta * C14; C13' = -(alpha + 3 * delta) * C13 + beta * C14 + gamma * C11; C14' = -(beta + gamma + 3 * delta) * C14 + alpha * C13 + 2 * gamma * C12 + 4 * delta * C15; C15' = -(4 * delta + theta) * C15 + gamma * C14 + eta * O1; O1' = -(eta + psi) * O1 + omega * O2 + theta * C15; // Variable initializations: gKs_max = 0.0826; C1 = 0.476679784307081; C2 = 0.255181042718489; C3 = 0.0512272866698557; C4 = 0.0045705849736195; C5 = 0.000152923243503507; C6 = 0.132814156809568; C7 = 0.053324572164618; C8 = 0.00713656414955778; C9 = 0.000318368292970148; C10 = 0.0138769647384953; C11 = 0.00371438476499172; C12 = 0.000248553788631871; C13 = 0.000644426171899078; C14 = 8.62495047666861e-5; C15 = 1.12344645485893e-5; O1 = 1.05292905767805e-5; time_ = ; Vm = ; EKs = ; Ca_i = ; R = ; F = ; T = ; end model decker_2009__ICaL(ICaL, time_, Vm, Ca_ss_CaL, Ca_o, R, F, T) // Assignment Rules: ICaL := ICaL_max * (O + O_star); ICaL_max := (((PCa * 4 * Vm * power(F, 2)) / (R * T)) * (gamma_Cai * Ca_ss_CaL * exp((2 * Vm * F) / (R * T)) - gamma_Cao * Ca_o)) / (exp((2 * Vm * F) / (R * T)) - 1); OI_star := 1 - (C + O + C_star + O_star + CI + OI + CI_star); ACT_tau := 0.59 + (0.8 * exp(0.052 * (Vm + 13))) / (1 + exp(0.132 * (Vm + 13))); IV_tau := 1 / (1 / (24.828 * (1 + exp((Vm + 49.1) / 10.349))) + 1 / (30.553 * (1 + exp(-(Vm + 0.213) / 10.807)))); IV_tau_star := 1 / (1 / (24.828 * (1 + exp((Vm + 49.1) / 10.349))) + IV_beta_star); ACT_infinity := 1 / (1 + exp(-(Vm - 13.56) / 9.45)); IV_infinity := (1 / (1 + exp((Vm + 17.5) / 3)) + 0.25) / 1.25; IV_infinity_star := (1 / (1 + exp((Vm + 17.5) / 3)) + 0.0001) / 1.0001; IV_beta_star := 1 / (IV_beta_infinity_star * (1 + exp(-(Vm + 0.213) / 10.807))); IV_beta_infinity_star := 25 - 17.5 / (1 + power(0.003 / Ca_ss_CaL, 4)); alpha := ACT_infinity / ACT_tau; beta := (1 - ACT_infinity) / ACT_tau; delta := 3 / (1 + power(0.003 / Ca_ss_CaL, 4)); x := IV_infinity / IV_tau; y := (1 - IV_infinity) / IV_tau; delta_I := (theta_I * x * y_star * delta) / (y * x_star * theta); x_star := IV_infinity_star / IV_tau_star; y_star := (1 - IV_infinity_star) / IV_tau_star; // Rate Rules: C' = -(alpha + delta + y) * C + beta * O + theta * C_star + x * CI; O' = -(beta + delta + y) * O + alpha * C + theta * O_star + x * OI; C_star' = -(alpha + theta + y_star) * C_star + delta * C + beta * O_star + x_star * CI_star; O_star' = -(beta + theta + y_star) * O_star + delta * O + alpha * C_star + x_star * OI_star; CI' = -(alpha + delta_I + x) * CI + y * C + theta_I * CI_star + beta * OI; OI' = -(beta + delta_I + x) * OI + y * O + theta_I * OI_star + alpha * CI; CI_star' = -(alpha + theta_I + x_star) * CI_star + delta_I * CI + y_star * C_star + beta * OI_star; // Variable initializations: PCa = 0.00015552; C = 0.99996982093287; O = 2.26882961412491e-5; C_star = 7.49117189549873e-6; O_star = 1.23556404128518e-10; CI = 5.89853003114132e-11; OI = 8.01952813127322e-17; CI_star = 1.9237001017021e-9; theta = 1; theta_I = 1e-6; gamma_Cai = 1; gamma_Cao = 0.341; time_ = ; Vm = ; Ca_ss_CaL = ; Ca_o = ; R = ; F = ; T = ; end model decker_2009__INa_m_gate(m, Vm, time_) // Assignment Rules: am := (0.32 * (Vm + 47.13)) / (1 - exp(-(0.1) * (Vm + 47.13))); bm := 0.08 * exp(- Vm / 11); // Rate Rules: m' = am * (1 - m) - bm * m; // Variable initializations: m = 0.00101841101248412; Vm = ; time_ = ; end model decker_2009__INa_h_gate(h, Vm, time_) // Assignment Rules: ah := piecewise( 0 , geq(Vm, -(40)) , 0.135 * exp((80 + Vm) / -(6.8)) ); bh := piecewise( 1 / (0.13 * (1 + exp((Vm + 10.66) / -(11.1)))) , geq(Vm, -(40)) , 3.56 * exp(0.079 * Vm) + 3.1E5 * exp(0.35 * Vm) ); // Rate Rules: h' = ah * (1 - h) - bh * h; // Variable initializations: h = 0.991354143386887; Vm = ; time_ = ; end model decker_2009__INa_j_gate(j, Vm, time_) // Assignment Rules: aj := piecewise( 0 , geq(Vm, -(40)) , ((-(1.2714E5) * exp(0.2444 * Vm) - 6.948E-5 * exp(-(0.04391) * Vm)) * (Vm + 37.78)) / (1 + exp(0.311 * (Vm + 79.23))) ); bj := piecewise( (0.3 * exp(-(2.535E-7) * Vm)) / (1 + exp(-(0.1) * (Vm + 32))) , geq(Vm, -(40)) , (0.1212 * exp(-(0.01052) * Vm)) / (1 + exp(-(0.1378) * (Vm + 40.14))) ); // Rate Rules: j' = aj * (1 - j) - bj * j; // Variable initializations: j = 0.99709036251243; Vm = ; time_ = ; end model decker_2009__INa(INa, time_, Vm, ENa, m, h, j) // Sub-modules, and any changes to those submodules: INa_m_gate: decker_2009__INa_m_gate(m, Vm, time_); INa_h_gate: decker_2009__INa_h_gate(h, Vm, time_); INa_j_gate: decker_2009__INa_j_gate(j, Vm, time_); // Assignment Rules: INa := g_Na * power(m, 3) * h * j * (Vm - ENa); // Variable initializations: g_Na = 9.075; ENa = ; end model decker_2009__INaK(INaK, Vm, Na_i, Na_o, K_o, R, T, F) // Assignment Rules: INaK := ibarnak * fv * PK * PNa; phi := (sigma * (Vm - V_half) * F) / (R * T); fv := 1 / (1 + exp(- phi)); PK := K_o / (K_o + kmko); PNa := power(Na_i / (Na_i + kmnai), 3); // Variable initializations: kmnai = 2.6; kmko = 1.5; ibarnak = 1.4; sigma = 1; V_half = -92; Vm = ; Na_i = ; Na_o = ; K_o = ; R = ; T = ; F = ; end model decker_2009__INaCa(INaCa, INaCa_ss_sr, Vm, R, T, F, Ca_i, Ca_o, Ca_ss_sr, Na_i, Na_o, Na_ss_sr) // Assignment Rules: INaCa := INaCa_cai + INaCa_ss_sr; INaCa_cai := numerator / (denom_1 * denom_2 * (denom_3 + denom_4)); INaCa_ss_sr := num_ss / (denom_ss_1 * denom_ss_2 * (denom_ss_3 + denom_ss_4)); numerator := 0.8 * Vmax * (power(Na_i, 3) * Ca_o * exp((eta * Vm * F) / (R * T)) - power(Na_o, 3) * Ca_i * exp(((eta - 1) * Vm * F) / (R * T))); num_ss := 0.2 * Vmax * (power(Na_ss_sr, 3) * Ca_o * exp((eta * Vm * F) / (R * T)) - power(Na_o, 3) * Ca_ss_sr * exp(((eta - 1) * Vm * F) / (R * T))); denom_1 := 1 + power(KmCa_act / Ca_i, 2); denom_2 := 1 + ksat * exp(((eta - 1) * Vm * F) / (R * T)); denom_3 := KmCao * power(Na_i, 3) + power(KmNao, 3) * Ca_i + power(KmNai, 3) * Ca_o * (1 + Ca_i / KmCai); denom_4 := KmCai * power(Na_o, 3) * (1 + power(Na_i / KmNai, 3)) + power(Na_i, 3) * Ca_o + power(Na_o, 3) * Ca_i; denom_ss_1 := 1 + power(KmCa_act / Ca_ss_sr, 2); denom_ss_2 := 1 + ksat * exp(((eta - 1) * Vm * F) / (R * T)); denom_ss_3 := KmCao * power(Na_ss_sr, 3) + power(KmNao, 3) * Ca_ss_sr + power(KmNai, 3) * Ca_o * (1 + Ca_ss_sr / KmCai); denom_ss_4 := KmCai * power(Na_o, 3) * (1 + power(Na_ss_sr / KmNai, 3)) + power(Na_ss_sr, 3) * Ca_o + power(Na_o, 3) * Ca_ss_sr; // Variable initializations: KmCa_act = 0.000125; Vmax = 4.5; ksat = 0.32; eta = 0.27; KmNai = 12.3; KmNao = 87.5; KmCai = 0.0036; KmCao = 1.3; Vm = ; R = ; T = ; F = ; Ca_i = ; Ca_o = ; Ca_ss_sr = ; Na_i = ; Na_o = ; Na_ss_sr = ; end model decker_2009__IKp(IKp, Vm, EK) // Assignment Rules: IKp := gKp * Kp * (Vm - EK); Kp := 1 / (1 + exp((7.488 - Vm) / 5.98)); // Variable initializations: gKp = 0.00276; Vm = ; EK = ; end model decker_2009__IpCa(IpCa, Ca_i) // Assignment Rules: IpCa := (gpCa * Ca_i) / (KmpCa + Ca_i); // Variable initializations: gpCa = 0.0575; KmpCa = 0.0005; Ca_i = ; end model decker_2009__ICab(ICab, Vm, F, R, T, Ca_i, Ca_o) // Assignment Rules: ICab := (((PCab * 4 * Vm * power(F, 2)) / (R * T)) * (gamma_Ca_i * Ca_i * exp((2 * Vm * F) / (R * T)) - gamma_Ca_o * Ca_o)) / (exp((2 * Vm * F) / (R * T)) - 1); // Variable initializations: PCab = 1.99508e-7; gamma_Ca_i = 1; gamma_Ca_o = 0.341; Vm = ; F = ; R = ; T = ; Ca_i = ; Ca_o = ; end model decker_2009__INab(INab, Vm, F, R, T, Na_i, Na_o) // Assignment Rules: INab := (F * PNab * phi * (Na_i * exp(phi) - Na_o)) / (exp(phi) - 1); phi := (F * Vm) / (R * T); // Variable initializations: PNab = 3.2e-9; Vm = ; F = ; R = ; T = ; Na_i = ; Na_o = ; end model decker_2009__IClb(IClb, Vm, ECl) // Assignment Rules: IClb := gClb * (Vm - ECl); // Variable initializations: gClb = 0.000225; Vm = ; ECl = ; end model decker_2009__INaL_mL_gate(mL, Vm, time_) // Assignment Rules: amL := (0.32 * (Vm + 47.13)) / (1 - exp(-(0.1) * (Vm + 47.13))); bmL := 0.08 * exp(- Vm / 11); // Rate Rules: mL' = amL * (1 - mL) - bmL * mL; // Variable initializations: mL = 0.00101841101248412; Vm = ; time_ = ; end model decker_2009__INaL_hL_gate(hL, Vm, time_) // Assignment Rules: hL_infinity := 1 / (1 + exp((Vm + 91) / 6.1)); // Rate Rules: hL' = (hL_infinity - hL) / tau_hL; // Variable initializations: hL = 0.319611809402137; tau_hL = 600; Vm = ; time_ = ; end model decker_2009__INaL(INaL, time_, Vm, ENa, mL, hL) // Sub-modules, and any changes to those submodules: INaL_mL_gate: decker_2009__INaL_mL_gate(mL, Vm, time_); INaL_hL_gate: decker_2009__INaL_hL_gate(hL, Vm, time_); // Assignment Rules: INaL := gNaL * power(mL, 3) * hL * (Vm - ENa); // Variable initializations: gNaL = 0.0065; ENa = ; end model decker_2009__reversal_potentials(ENa, EK, EKs, ECl, Na_i, Na_o, K_o, K_i, Cl_o, Cl_i, R, T, F) // Assignment Rules: ENa := ((R * T) / F) * ln(Na_o / Na_i); EK := ((R * T) / F) * ln(K_o / K_i); EKs := ((R * T) / F) * ln((K_o + prnak * Na_o) / (K_i + prnak * Na_i)); ECl := ((- R * T) / F) * ln(Cl_o / Cl_i); // Variable initializations: prnak = 0.01833; Na_i = ; Na_o = ; K_o = ; K_i = ; Cl_o = ; Cl_i = ; R = ; T = ; F = ; end model decker_2009__IK1_K1_gate(K1, Vm, EK) // Assignment Rules: K1 := alpha_k1 / (alpha_k1 + beta_k1); alpha_k1 := 1.02 / (1 + exp(0.2385 * ((Vm - EK) - 59.215))); beta_k1 := (0.49124 * exp(0.08032 * ((Vm - EK) + 5.476)) + exp(0.06175 * ((Vm - EK) - 594.31))) / (1 + exp(-(0.5143) * ((Vm - EK) + 4.753))); // Variable initializations: Vm = ; EK = ; end model decker_2009__IK1(IK1, time_, Vm, EK, K_o, K1) // Sub-modules, and any changes to those submodules: IK1_K1_gate: decker_2009__IK1_K1_gate(K1, Vm, EK); // Assignment Rules: IK1 := gK1 * K1 * (Vm - EK); gK1 := g_K1_max * root(K_o / 5.4); // Variable initializations: g_K1_max = 0.5; time_ = ; K_o = ; end model decker_2009__CT_Na_Cl(CT_Na_Cl, ENa, ECl) // Assignment Rules: CT_Na_Cl := (CT_Na_Cl_max * power(ENa - ECl, 4)) / (power(ENa - ECl, 4) + power(87.8251, 4)); // Variable initializations: CT_Na_Cl_max = 2.46108e-5; ENa = ; ECl = ; end model decker_2009__CT_K_Cl(CT_K_Cl, EK, ECl) // Assignment Rules: CT_K_Cl := (CT_K_Cl_max * (EK - ECl)) / ((EK + 87.8251) - ECl); // Variable initializations: CT_K_Cl_max = 1.77e-5; EK = ; ECl = ; end model decker_2009__IKr_r_gate(r, Vm) // Assignment Rules: r := 1 / (1 + exp((Vm + 10) / 15.4)); // Variable initializations: Vm = ; end model decker_2009__IKr_xr_gate(xr, Vm, time_) // Assignment Rules: xr_infinity := 1 / (1 + exp(-(Vm + 10.085) / 4.25)); tau_xr := 1 / ((0.0006 * (Vm - 1.7384)) / (1 - exp(-(0.136) * (Vm - 1.7384))) + (0.0003 * (Vm + 38.3608)) / (exp(0.1522 * (Vm + 38.3608)) - 1)); // Rate Rules: xr' = (xr_infinity - xr) / tau_xr; // Variable initializations: xr = 4.06959064407486e-6; Vm = ; time_ = ; end model decker_2009__IKr(IKr, time_, Vm, EK, K_o, r, xr) // Sub-modules, and any changes to those submodules: IKr_r_gate: decker_2009__IKr_r_gate(r, Vm); IKr_xr_gate: decker_2009__IKr_xr_gate(xr, Vm, time_); // Assignment Rules: IKr := gKr * xr * r * (Vm - EK); gKr := gKr_max * root(K_o / 5.4); // Variable initializations: gKr_max = 0.0138542; EK = ; K_o = ; end model decker_2009__Ito1_a_gate(a, Vm, time_) // Assignment Rules: alpha_a := 1 / (1.2089 * (1 + exp((Vm - 18.4099) / -(29.3814)))); beta_a := 3.5 / (1 + exp((Vm + 100) / 29.3814)); tau_a := 1 / (alpha_a + beta_a); a_infinity := 1 / (1 + exp((Vm + 9.437) / -(7.133))); // Rate Rules: a' = (a_infinity - a) / tau_a; // Variable initializations: a = 1.76776038804228e-5; Vm = ; time_ = ; end model decker_2009__Ito1_i1f_gate(i1f, Vm, time_) // Assignment Rules: alpha_i1f := 0.025 / (1 + exp((Vm + 58) / 5)); beta_i1f := 1 / (9.7953 * (1 + exp((Vm + 19) / -(9)))); // Rate Rules: i1f' = alpha_i1f * (1 - i1f) - beta_i1f * i1f; // Variable initializations: i1f = 0.997976503910799; Vm = ; time_ = ; end model decker_2009__Ito1_i1s_gate(i1s, Vm, time_) // Assignment Rules: alpha_i1s := 1 / (250 * (1 + exp((Vm + 60) / 5))); beta_i1s := 1 / (9.7953 * (1 + exp((Vm + 19) / -(9)))); // Rate Rules: i1s' = alpha_i1s * (1 - i1s) - beta_i1s * i1s; // Variable initializations: i1s = 0.947581184798815; Vm = ; time_ = ; end model decker_2009__Ito1(Ito1, EK, time_, Vm, a, i1f, i1s) // Sub-modules, and any changes to those submodules: Ito1_a_gate: decker_2009__Ito1_a_gate(a, Vm, time_); Ito1_i1f_gate: decker_2009__Ito1_i1f_gate(i1f, Vm, time_); Ito1_i1s_gate: decker_2009__Ito1_i1s_gate(i1s, Vm, time_); // Assignment Rules: Ito1 := gto1 * power(a, 3) * i1f * i1s * rto1 * (Vm - EK); rto1 := exp(Vm / 550); // Variable initializations: gto1 = 0.497458; EK = ; end model decker_2009__Ito2_i2f_gate(i2f, Vm, time_) // Assignment Rules: alpha_i2f := 0.025 / (1 + exp((Vm + 58) / 5)); beta_i2f := 1 / (5 * (1 + exp((Vm + 19) / -(9)))); i2f_infinity := alpha_i2f / (alpha_i2f + beta_i2f); // Rate Rules: i2f' = (i2f_infinity - i2f) / tau_i2f; // Variable initializations: i2f = 0.996044894628276; tau_i2f = 8; Vm = ; time_ = ; end model decker_2009__Ito2(Ito2, time_, Vm, Cl_i, Cl_o, R, F, T, Irel, i2f) // Sub-modules, and any changes to those submodules: Ito2_i2f_gate: decker_2009__Ito2_i2f_gate(i2f, Vm, time_); // Assignment Rules: Ito2 := Ito2_max * Ito2_max_scaling_factor * i2f * KCa_ito2; Ito2_max := (((PCl * power(zCl, 2) * Vm * power(F, 2)) / (R * T)) * (Cl_i - Cl_o * exp((Vm * F) / (R * T)))) / (1 - exp((Vm * F) / (R * T))); KCa_ito2 := 1 - 1 / (1 + power(Irel / kCa_ito2, 2)); // Variable initializations: PCl = 9e-7; zCl = -1; Ito2_max_scaling_factor = 1; kCa_ito2 = 0.4; Cl_i = ; Cl_o = ; R = ; F = ; T = ; Irel = ; end model decker_2009__Irel(Irel, ICaL, time_, Ca_JSR, CaMK_active) // Assignment Rules: rel_infinity := (ICaL * alpha_rel) / (1 + power(Krel_infinity / Ca_JSR, h_rel)); tau_rel := beta_tau / (1 + Krel_tau / Ca_JSR); alpha_rel := beta_tau * kappa; beta_tau := beta_0 * (1 + delta_beta_CaMK); delta_beta_CaMK := delta_beta_0 / (1 + power(K_beta / (1 * CaMK_active), h_beta)); // Rate Rules: Irel' = -(rel_infinity + Irel) / tau_rel; // Variable initializations: Irel = 0.000714227102027745; Krel_infinity = 1; beta_0 = 4.75; kappa = 0.1125; h_rel = 8; h_beta = 10; delta_beta_0 = 1; K_beta = 0.28; Krel_tau = 0.0123; ICaL = ; time_ = ; Ca_JSR = ; CaMK_active = ; end model decker_2009__Iup(Iup, Ca_i, CaMK_active) // Assignment Rules: Iup := ((delta_iupCaMK + 1) * iupbar * Ca_i) / ((Ca_i + kmup) - delta_kmPLB); delta_kmPLB := (delta_kmPLB_bar * CaMK_active * 1) / (kmCaMK + CaMK_active * 1); delta_iupCaMK := (delta_iupCaMK_bar * CaMK_active * 1) / (kmCaMK + CaMK_active * 1); // Variable initializations: kmup = 0.00092; delta_kmPLB_bar = 0.00017; iupbar = 0.004375; delta_iupCaMK_bar = 0.75; kmCaMK = 0.15; Ca_i = ; CaMK_active = ; end model decker_2009__Ileak(Ileak, Ca_NSR) // Assignment Rules: Ileak := (0.004375 / nsrbar) * Ca_NSR; // Variable initializations: nsrbar = 15; Ca_NSR = ; end model decker_2009__Itr(Itr, Ca_NSR, Ca_JSR) // Assignment Rules: Itr := (Ca_NSR - Ca_JSR) / tautr; // Variable initializations: tautr = 25; Ca_NSR = ; Ca_JSR = ; end model decker_2009__Ca(Ca_JSR, Ca_NSR, Ca_i, Ca_ss_sr, Ca_ss_CaL, tau_diff, time_, AF, INaCa, INaCa_ss_sr, ICaL, ICab, IpCa, Vmyo, Vss_sr, Vss_CaL, Vnsr, Vjsr, Iup, Itr, Ileak, Irel) // Assignment Rules: Idiff := (Ca_ss_sr - Ca_i) / tau_diff; Idiff_ss := (Ca_ss_sr - Ca_ss_CaL) / tau_diff_ss; bmyo := 1 / (1 + (cmdn_bar * km_cmdn) / power(Ca_i + km_cmdn, 2) + (km_trpn * trpn_bar) / power(Ca_i + km_trpn, 2)); bss_sr := 1 / (1 + (BSRmax * KmBSR) / power(KmBSR + Ca_ss_sr, 2) + (BSLmax * KmBSL) / power(KmBSL + Ca_ss_sr, 2)); bss_cal := 1 / (1 + (BSRmax * KmBSR) / power(KmBSR + Ca_ss_CaL, 2) + (BSLmax * KmBSL) / power(KmBSL + Ca_ss_CaL, 2)); bcsqn := 1 / (1 + (kmcsqn * csqnbar) / power(Ca_JSR + kmcsqn, 2)); // Rate Rules: Ca_JSR' = bcsqn * (Itr - Irel); Ca_NSR' = Iup - (Ileak + (Itr * Vjsr) / Vnsr); Ca_i' = bmyo * ((-((ICab + IpCa) - 2 * INaCa) * AF) / (Vmyo * 2) + ((Ileak - Iup) * Vnsr) / Vmyo + (Idiff * Vss_sr) / Vmyo); Ca_ss_sr' = - bss_sr * ((Idiff + Idiff_ss) - ((2 * INaCa_ss_sr * AF) / (2 * Vss_sr) + (Irel * Vjsr) / Vss_sr)); Ca_ss_CaL' = - bss_cal * ((ICaL * AF) / (2 * Vss_CaL) - (Idiff_ss * Vss_sr) / Vss_CaL); // Variable initializations: Ca_JSR = 0.993914988616979; Ca_NSR = 1.01475649943057; Ca_i = 8.38749860095482e-5; Ca_ss_sr = 0.00011296707102434; Ca_ss_CaL = 0.000119239795531548; tau_diff = 0.2; tau_diff_ss = 2; cmdn_bar = 0.05; trpn_bar = 0.07; km_cmdn = 0.00238; km_trpn = 0.0005; kmcsqn = 0.8; csqnbar = 10; BSRmax = 0.047; KmBSR = 0.00087; BSLmax = 1.124; KmBSL = 0.0087; time_ = ; AF = ; INaCa = ; INaCa_ss_sr = ; ICaL = ; ICab = ; IpCa = ; Vmyo = ; Vss_sr = ; Vss_CaL = ; Vnsr = ; Vjsr = ; Iup = ; Itr = ; Ileak = ; Irel = ; end model decker_2009__Na(Na_i, Na_ss_sr, tau_diff, time_, AF, INaCa, INaCa_ss_sr, INaK, INa, INaL, INab, Vmyo, Vss_sr, CT_Na_Cl) // Assignment Rules: Idiff_Na := (Na_ss_sr - Na_i) / tau_diff; // Rate Rules: Na_i' = -(((3 * INaCa + 3 * INaK + INa + INaL + INab) * AF) / Vmyo - (CT_Na_Cl + (Idiff_Na * Vss_sr) / Vmyo)); Na_ss_sr' = -((3 * INaCa_ss_sr * AF) / Vss_sr + Idiff_Na); // Variable initializations: Na_i = 8.01031392415197; Na_ss_sr = 8.01033434859049; tau_diff = ; time_ = ; AF = ; INaCa = ; INaCa_ss_sr = ; INaK = ; INa = ; INaL = ; INab = ; Vmyo = ; Vss_sr = ; CT_Na_Cl = ; end model decker_2009__Cl(Cl_i, Cl_ss, tau_diff, time_, AF, Ito2, IClb, Vmyo, Vss_sr, CT_Na_Cl, CT_K_Cl) // Assignment Rules: Idiff_Cl := (Cl_ss - Cl_i) / tau_diff; // Rate Rules: Cl_i' = -((IClb * AF) / (-(1) * Vmyo) - (CT_Na_Cl + CT_K_Cl + (Idiff_Cl * Vss_sr) / Vmyo)); Cl_ss' = -((Ito2 * AF) / (-(1) * Vss_sr) + Idiff_Cl); // Variable initializations: Cl_i = 20.6683603724432; Cl_ss = 20.6683605553303; tau_diff = ; time_ = ; AF = ; Ito2 = ; IClb = ; Vmyo = ; Vss_sr = ; CT_Na_Cl = ; CT_K_Cl = ; end model decker_2009__K(K_i, time_, AF, IKs, IKr, IK1, Ito1, IKp, INaK, I_stim, Vmyo, CT_K_Cl) // Rate Rules: K_i' = -((((IKs + IKr + IK1 + Ito1 + IKp + I_stim) - 2 * INaK) * AF) / Vmyo - CT_K_Cl); // Variable initializations: K_i = 144.907134343314; time_ = ; AF = ; IKs = ; IKr = ; IK1 = ; Ito1 = ; IKp = ; INaK = ; I_stim = ; Vmyo = ; CT_K_Cl = ; end model decker_2009__CaMK_active(CaMK_active, Km, time_, Ca_ss_sr) // Assignment Rules: CaMK_active := (CaMK_0 * (1 - CaMK_trap)) / (1 + Km / Ca_ss_sr) + CaMK_trap; // Rate Rules: CaMK_trap' = alpha_CaMK * CaMK_active * (CaMK_active - CaMK_trap) - beta_CaMK * CaMK_trap; // Variable initializations: Km = 0.0015; CaMK_trap = 0.0114911034744777; alpha_CaMK = 0.05; beta_CaMK = 0.00068; CaMK_0 = 0.05; time_ = ; Ca_ss_sr = ; end model *decker_2009____main() // Sub-modules, and any changes to those submodules: environment: decker_2009__environment(time_); model_parameters: decker_2009__model_parameters(F, T, R, K_o, Ca_o, Na_o, Cl_o); cell_geometry: decker_2009__cell_geometry(Vmyo, Vnsr, Vsr, Vjsr, Vss_sr, Vss_CaL, Acap, AF, F); membrane: decker_2009__membrane(Vm, i_Stim, F, INa0, ICaL0, IK10, IKp0, IKs0, IKr0, IpCa0, ICab0, INaCa0, INaCa_ss_sr, INaK0, Ito10, Ito20, IClb0, INaL0, INab0, time_); IKs: decker_2009__IKs(IKs0, time_, Vm, EKs, Ca_i, R, F, T); ICaL: decker_2009__ICaL(ICaL0, time_, Vm, Ca_ss_CaL, Ca_o, R, F, T); INa: decker_2009__INa(INa0, time_, Vm, ENa, m, h, j); INaK: decker_2009__INaK(INaK0, Vm, Na_i, Na_o, K_o, R, T, F); INaCa: decker_2009__INaCa(INaCa0, INaCa_ss_sr, Vm, R, T, F, Ca_i, Ca_o, Ca_ss_sr, Na_i, Na_o, Na_ss_sr); IKp: decker_2009__IKp(IKp0, Vm, EK); IpCa: decker_2009__IpCa(IpCa0, Ca_i); ICab: decker_2009__ICab(ICab0, Vm, F, R, T, Ca_i, Ca_o); INab: decker_2009__INab(INab0, Vm, F, R, T, Na_i, Na_o); IClb: decker_2009__IClb(IClb0, Vm, ECl); INaL: decker_2009__INaL(INaL0, time_, Vm, ENa, mL, hL); reversal_potentials: decker_2009__reversal_potentials(ENa, EK, EKs, ECl, Na_i, Na_o, K_o, K_i, Cl_o, Cl_i, R, T, F); IK1: decker_2009__IK1(IK10, time_, Vm, EK, K_o, K1); CT_Na_Cl: decker_2009__CT_Na_Cl(CT_Na_Cl0, ENa, ECl); CT_K_Cl: decker_2009__CT_K_Cl(CT_K_Cl0, EK, ECl); IKr: decker_2009__IKr(IKr0, time_, Vm, EK, K_o, r, xr); Ito1: decker_2009__Ito1(Ito10, EK, time_, Vm, a, i1f, i1s); Ito2: decker_2009__Ito2(Ito20, time_, Vm, Cl_i, Cl_o, R, F, T, Irel0, i2f); Irel: decker_2009__Irel(Irel0, ICaL0, time_, Ca_JSR, CaMK_active0); Iup: decker_2009__Iup(Iup0, Ca_i, CaMK_active0); Ileak: decker_2009__Ileak(Ileak0, Ca_NSR); Itr: decker_2009__Itr(Itr0, Ca_NSR, Ca_JSR); Ca: decker_2009__Ca(Ca_JSR, Ca_NSR, Ca_i, Ca_ss_sr, Ca_ss_CaL, tau_diff, time_, AF, INaCa0, INaCa_ss_sr, ICaL0, ICab0, IpCa0, Vmyo, Vss_sr, Vss_CaL, Vnsr, Vjsr, Iup0, Itr0, Ileak0, Irel0); Na: decker_2009__Na(Na_i, Na_ss_sr, tau_diff, time_, AF, INaCa0, INaCa_ss_sr, INaK0, INa0, INaL0, INab0, Vmyo, Vss_sr, CT_Na_Cl0); Cl: decker_2009__Cl(Cl_i, Cl_ss, tau_diff, time_, AF, Ito20, IClb0, Vmyo, Vss_sr, CT_Na_Cl0, CT_K_Cl0); K: decker_2009__K(K_i, time_, AF, IKs0, IKr0, IK10, Ito10, IKp0, INaK0, i_Stim, Vmyo, CT_K_Cl0); CaMK_active: decker_2009__CaMK_active(CaMK_active0, Km, time_, Ca_ss_sr); end