//Created by libAntimony v2.4 model inada_N_model_2009__environment(time_) // Variable initializations: time_ = ; end model inada_N_model_2009__membrane(V, R, T, F, RTONF, time_, i_Na, i_CaL, i_to, i_Kr, i_f, i_st, i_K1, i_NaCa, i_p, i_b, i_ACh) // Assignment Rules: RTONF := (R * T) / F; // Rate Rules: V' = -(i_Na + i_CaL + i_to + i_Kr + i_f + i_st + i_K1 + i_NaCa + i_p + i_b + i_ACh) / C; // Variable initializations: V = -49.7094187908202; R = 8314.472; T = 310; F = 96485.3415; C = 4e-5; time_ = ; i_Na = ; i_CaL = ; i_to = ; i_Kr = ; i_f = ; i_st = ; i_K1 = ; i_NaCa = ; i_p = ; i_b = ; i_ACh = ; end model inada_N_model_2009__hyperpolarising_activated_current_y_gate(y, V, time_, ACh) // Assignment Rules: y_inf := 1 / (1 + exp(((V + 83.19) - (-(7.2) * power(ACh, 0.69)) / (power(1.26E-5, 0.69) + power(ACh, 0.69))) / 13.56)); tau_y := 0.25 + 2 * exp(-power(V + 70, 2) / 500); // Rate Rules: y' = (y_inf - y) / tau_y; // Variable initializations: y = 0.0462303183096481; V = ; time_ = ; ACh = ; end model inada_N_model_2009__hyperpolarising_activated_current(i_f, time_, V, ACh, y) // Sub-modules, and any changes to those submodules: hyperpolarising_activated_current_y_gate: inada_N_model_2009__hyperpolarising_activated_current_y_gate(y, V, time_, ACh); // Assignment Rules: i_f := y * g_f * (V - -(30)); // Variable initializations: g_f = 0.001; end model inada_N_model_2009__rapid_delayed_rectifier_potassium_current_paf_gate(paf, time_, V) // Assignment Rules: paf_infinity := 1 / (1 + exp((V + 10.22) / -(8.5))); tau_paf := 1 / (17 * exp(0.0398 * V) + 0.211 * exp(-(0.051) * V)); // Rate Rules: paf' = (paf_infinity - paf) / tau_paf; // Variable initializations: paf = 0.192515363116553; time_ = ; V = ; end model inada_N_model_2009__rapid_delayed_rectifier_potassium_current_pas_gate(pas, time_, V) // Assignment Rules: pas_infinity := 1 / (1 + exp((V + 10.22) / -(8.5))); tau_pas := 0.33581 + 0.90673 * exp(-power(V + 10, 2) / 988.05); // Rate Rules: pas' = (pas_infinity - pas) / tau_pas; // Variable initializations: pas = 0.0797182955833868; time_ = ; V = ; end model inada_N_model_2009__rapid_delayed_rectifier_potassium_current_pik_gate(pik, time_, V) // Assignment Rules: pik_infinity := (1 / (1 + exp((V + 4.9) / 15.14))) * (1 - 0.3 * exp(-power(V, 2) / 500)); alpha_pik := 92.01 * exp(-(0.0183) * V); beta_pik := 603.6 * exp(0.00942 * V); tau_pik := 1 / (alpha_pik + beta_pik); // Rate Rules: pik' = (pik_infinity - pik) / tau_pik; // Variable initializations: pik = 0.949023698965401; time_ = ; V = ; end model inada_N_model_2009__rapid_delayed_rectifier_potassium_current(i_Kr, time_, V, E_K, RTONF, Ki, Kc, paf, pas, pik) // Sub-modules, and any changes to those submodules: rapid_delayed_rectifier_potassium_current_paf_gate: inada_N_model_2009__rapid_delayed_rectifier_potassium_current_paf_gate(paf, time_, V); rapid_delayed_rectifier_potassium_current_pas_gate: inada_N_model_2009__rapid_delayed_rectifier_potassium_current_pas_gate(pas, time_, V); rapid_delayed_rectifier_potassium_current_pik_gate: inada_N_model_2009__rapid_delayed_rectifier_potassium_current_pik_gate(pik, time_, V); // Assignment Rules: i_Kr := g_Kr * (0.9 * paf + 0.1 * pas) * pik * (V - E_K); E_K := RTONF * ln(Kc / Ki); // Variable initializations: g_Kr = 0.0035; RTONF = ; Ki = ; Kc = ; end model inada_N_model_2009__time_independent_potassium_current(i_K1, V, Kc, RTONF) // Assignment Rules: i_K1 := (g_K1_prime * power(Kc / (Kc + 0.59), 3) * (V + 81.9)) / (1 + exp((1.393 * (V + 81.9 + 3.6)) / RTONF)); g_K1_prime := g_K1 * (0.5 + 0.5 / (1 + exp((V + 30) / 5))); // Variable initializations: g_K1 = 0; V = ; Kc = ; RTONF = ; end model inada_N_model_2009__background_current(i_b, V) // Assignment Rules: i_b := g_b * (V - E_b); // Variable initializations: g_b = 0.0012; V = ; E_b = -22.5; end model inada_N_model_2009__sodium_potassium_pump(i_p, V, Nai, Kc) // Assignment Rules: i_p := (I_p * power(Nai / (5.64 + Nai), 3) * power(Kc / (0.621 + Kc), 2) * 1.6) / (1.5 + exp(-(V + 60) / 40)); // Variable initializations: I_p = 0.14268; V = ; Nai = ; Kc = ; end model inada_N_model_2009__sodium_calcium_exchange_current(i_NaCa, Cao, Nao, Casub, Nai, RTONF, V) // Assignment Rules: i_NaCa := (kNaCa * (x2 * k21 - x1 * k12)) / (x1 + x2 + x3 + x4); x1 := k41 * k34 * (k23 + k21) + k21 * k32 * (k43 + k41); x2 := k32 * k43 * (k14 + k12) + k41 * k12 * (k34 + k32); x3 := k14 * k43 * (k23 + k21) + k12 * k23 * (k43 + k41); x4 := k23 * k34 * (k14 + k12) + k14 * k21 * (k34 + k32); k41 := exp((- Qn * V) / (2 * RTONF)); k34 := Nao / (K3no + Nao); k23 := ((power(Nao, 2) / (K1no * K2no) + power(Nao, 3) / (K1no * K2no * K3no)) * exp((- Qn * V) / (2 * RTONF))) / do; k21 := ((Cao / Kco) * exp((- Qco * V) / RTONF)) / do; k32 := exp((Qn * V) / (2 * RTONF)); k43 := Nai / (K3ni + Nai); k12 := ((Casub / Kci) * exp((- Qci * V) / RTONF)) / di; k14 := ((power(Nai, 2) / (K1ni * K2ni) + power(Nai, 3) / (K1ni * K2ni * K3ni)) * exp((Qn * V) / (2 * RTONF))) / di; do := 1 + (Cao / Kco) * (1 + exp((Qco * V) / RTONF)) + Nao / K1no + power(Nao, 2) / (K1no * K2no) + power(Nao, 3) / (K1no * K2no * K3no); di := 1 + (Casub / Kci) * (1 + exp((- Qci * V) / RTONF) + Nai / Kcni) + Nai / K1ni + power(Nai, 2) / (K1ni * K2ni) + power(Nai, 3) / (K1ni * K2ni * K3ni); // Variable initializations: kNaCa = 2.14455; Qci = 0.1369; Qn = 0.4315; Qco = 0; Kci = 0.0207; K1ni = 395.3; K2ni = 2.289; K3ni = 26.44; Kcni = 26.44; K3no = 4.663; K1no = 1628; K2no = 561.4; Kco = 3.663; Cao = ; Nao = ; Casub = ; Nai = ; RTONF = ; V = ; end model inada_N_model_2009__fast_sodium_current_m_gate(m, V, time_) // Assignment Rules: alpha_m := piecewise( (-(460) * -(12.673)) / exp(E0_m / -(12.673)) , abs(E0_m) < delta_m , (-(460) * E0_m) / (exp(E0_m / -(12.673)) - 1) ); beta_m := 18400 * exp(E0_m / -(12.673)); E0_m := V + 44.4; // Rate Rules: m' = alpha_m * (1 - m) - beta_m * m; // Variable initializations: m = 0.143642247226618; V = ; time_ = ; delta_m = 1e-5; end model inada_N_model_2009__fast_sodium_current_h1_gate(h1, V, time_) // Assignment Rules: alpha_h1 := 44.9 * exp((V + 66.9) / -(5.57)); beta_h1 := 1491 / (1 + 323.3 * exp((V + 94.6) / -(12.9))); h1_inf := alpha_h1 / (alpha_h1 + beta_h1); tau_h1 := 0.03 / (1 + exp((V + 40) / 6)) + 0.00035; // Rate Rules: h1' = (h1_inf - h1) / tau_h1; // Variable initializations: h1 = 0.0243210273637729; V = ; time_ = ; end model inada_N_model_2009__fast_sodium_current_h2_gate(h2, V, time_) // Assignment Rules: alpha_h2 := 44.9 * exp((V + 66.9) / -(5.57)); beta_h2 := 1491 / (1 + 323.3 * exp((V + 94.6) / -(12.9))); h2_inf := alpha_h2 / (alpha_h2 + beta_h2); tau_h2 := 0.12 / (1 + exp((V + 60) / 2)) + 0.00295; // Rate Rules: h2' = (h2_inf - h2) / tau_h2; // Variable initializations: h2 = 0.0157156121147801; V = ; time_ = ; end model inada_N_model_2009__fast_sodium_current(i_Na, E_Na, time_, V, RTONF, F, Nao, Nai, Kc, Ki, m, h1, h2) // Sub-modules, and any changes to those submodules: fast_sodium_current_m_gate: inada_N_model_2009__fast_sodium_current_m_gate(m, V, time_); fast_sodium_current_h1_gate: inada_N_model_2009__fast_sodium_current_h1_gate(h1, V, time_); fast_sodium_current_h2_gate: inada_N_model_2009__fast_sodium_current_h2_gate(h2, V, time_); // Assignment Rules: i_Na := (((g_Na * power(m, 3) * (0.635 * h1 + 0.365 * h2) * Nao * V * F) / RTONF) * (exp((V - E_Na) / RTONF) - 1)) / (exp(V / RTONF) - 1); E_Na := RTONF * ln(Nao / Nai); // Variable initializations: g_Na = 0; RTONF = ; F = ; Nao = ; Nai = ; Kc = ; Ki = ; end model inada_N_model_2009__L_type_calcium_current_d_gate(d, V, time_) // Assignment Rules: alpha_d := (-(26.12) * (V + 35)) / (exp((V + 35) / -(2.5)) - 1) + (-(78.11) * V) / (exp(-(0.208) * V) - 1); beta_d := (10.52 * (V - 5)) / (exp(0.4 * (V - 5)) - 1); d_inf := 1 / (1 + exp((V - (-(3.2) + act_shift)) / slope_factor_act)); tau_d := 1 / (alpha_d + beta_d); // Rate Rules: d' = (d_inf - d) / tau_d; // Variable initializations: d = 0.00179250298710316; V = ; time_ = ; act_shift = -15; slope_factor_act = -5; end model inada_N_model_2009__L_type_calcium_current_f_gate(f, V, time_) // Assignment Rules: f_inf := 1 / (1 + exp((V - (-(24) + inact_shift)) / 6.31)); tau_f := 0.01 + 0.1539 * exp(-power(V + 40, 2) / 185.67); // Rate Rules: f' = (f_inf - f) / tau_f; // Variable initializations: f = 0.975550840189597; V = ; time_ = ; inact_shift = -5; end model inada_N_model_2009__L_type_calcium_current_f2_gate(f2, V, time_) // Assignment Rules: f2_inf := 1 / (1 + exp((V - (-(24) + inact_shift)) / 6.31)); tau_f2 := 0.06 + 0.48076 * 2.25 * exp(-power(V - -(40), 2) / 138.04); // Rate Rules: f2' = (f2_inf - f2) / tau_f2; // Variable initializations: f2 = 0.774394220125623; V = ; time_ = ; inact_shift = -5; end model inada_N_model_2009__L_type_calcium_current(i_CaL, i_ACh, ACh, time_, V, d, f, f2) // Sub-modules, and any changes to those submodules: L_type_calcium_current_d_gate: inada_N_model_2009__L_type_calcium_current_d_gate(d, V, time_); L_type_calcium_current_f_gate: inada_N_model_2009__L_type_calcium_current_f_gate(f, V, time_); L_type_calcium_current_f2_gate: inada_N_model_2009__L_type_calcium_current_f2_gate(f2, V, time_); // Assignment Rules: i_CaL := g_CaL * d * (0.675 * f + 0.325 * f2) * (V - E_CaL) * (1 - ((i_ACh * ACh) / (0.9E-4 + ACh)) / 1); // Variable initializations: g_CaL = 0.009; E_CaL = 62; i_ACh = ; ACh = ; end model inada_N_model_2009__transient_outward_potassium_current_r_gate(r, V, time_) // Assignment Rules: tau_r := 0.596E-3 + 3.118E-3 / (1.037 * exp(0.09 * (V + 30.61)) + 0.396 * exp(-(0.12) * (V + 23.84))); r_infinity := 1 / (1 + exp((V - 7.44) / -(16.4))); // Rate Rules: r' = (r_infinity - r) / tau_r; // Variable initializations: r = 0.0296516611999521; V = ; time_ = ; end model inada_N_model_2009__transient_outward_potassium_current_qfast_gate(q_fast, V, time_) // Assignment Rules: tau_qfast := 12.66E-3 + 4.72716 / (1 + exp((V + 154.5) / 23.96)); qfast_infinity := 1 / (1 + exp((V + 33.8) / 6.12)); // Rate Rules: q_fast' = (qfast_infinity - q_fast) / tau_qfast; // Variable initializations: q_fast = 0.899732315818241; V = ; time_ = ; end model inada_N_model_2009__transient_outward_potassium_current_qslow_gate(q_slow, V, time_) // Assignment Rules: tau_qslow := 0.1 + 4 * exp(-power(V + 65, 2) / 500); qslow_infinity := 1 / (1 + exp((V + 33.8) / 6.12)); // Rate Rules: q_slow' = (qslow_infinity - q_slow) / tau_qslow; // Variable initializations: q_slow = 0.190111737767474; V = ; time_ = ; end model inada_N_model_2009__transient_outward_potassium_current(i_to, E_K, time_, V, RTONF, Kc, Ki, r, q_fast, q_slow) // Sub-modules, and any changes to those submodules: transient_outward_potassium_current_r_gate: inada_N_model_2009__transient_outward_potassium_current_r_gate(r, V, time_); transient_outward_potassium_current_qfast_gate: inada_N_model_2009__transient_outward_potassium_current_qfast_gate(q_fast, V, time_); transient_outward_potassium_current_qslow_gate: inada_N_model_2009__transient_outward_potassium_current_qslow_gate(q_slow, V, time_); // Assignment Rules: i_to := g_to * r * (0.45 * q_fast + 0.55 * q_slow) * (V - E_K); E_K := RTONF * ln(Kc / Ki); // Variable initializations: g_to = 0; RTONF = ; Kc = ; Ki = ; end model inada_N_model_2009__sustained_outward_potassium_current_qa_gate(qa, V, time_) // Assignment Rules: tau_qa := 0.001 / (alpha_qa + beta_qa); qa_infinity := 1 / (1 + exp((V - -(49.1)) / -(8.98))); alpha_qa := 1 / (0.15 * exp(- V / 11) + 0.2 * exp(- V / 700)); beta_qa := 1 / (16 * exp(V / 8) + 15 * exp(V / 50)); // Rate Rules: qa' = (qa_infinity - qa) / tau_qa; // Variable initializations: qa = 0.476404610622697; V = ; time_ = ; end model inada_N_model_2009__sustained_outward_potassium_current_qi_gate(qi, V, time_) // Assignment Rules: tau_qi := 0.001 / (alpha_qi + beta_qi); alpha_qi := 0.1504 / (3100 * exp(V / 13) + 700 * exp(V / 70)); beta_qi := 0.1504 / (95 * exp(- V / 10) + 50 * exp(- V / 700)) + 0.000229 / (1 + exp(- V / 5)); qi_infinity := alpha_qi / (alpha_qi + beta_qi); // Rate Rules: qi' = (qi_infinity - qi) / tau_qi; // Variable initializations: qi = 0.542303657353244; V = ; time_ = ; end model inada_N_model_2009__sustained_outward_potassium_current(i_st, time_, V, qa, qi) // Sub-modules, and any changes to those submodules: sustained_outward_potassium_current_qa_gate: inada_N_model_2009__sustained_outward_potassium_current_qa_gate(qa, V, time_); sustained_outward_potassium_current_qi_gate: inada_N_model_2009__sustained_outward_potassium_current_qi_gate(qi, V, time_); // Assignment Rules: i_st := g_st * qa * qi * (V - E_st); // Variable initializations: E_st = -37.4; g_st = 0.0001; end model inada_N_model_2009__acetylcholine_sensitive_current_achf_gate(achf, time_, V) // Assignment Rules: beta_achf := 120 / (1 + exp(-(V + 50) / 15)); // Rate Rules: achf' = alpha_achf * (1 - achf) - beta_achf * achf; // Variable initializations: achf = 0.550559577208797; alpha_achf = 73.1; time_ = ; V = ; end model inada_N_model_2009__acetylcholine_sensitive_current_achs_gate(achs, time_, V) // Assignment Rules: beta_achs := 5.82 / (1 + exp(-(V + 50) / 15)); // Rate Rules: achs' = alpha_achs * (1 - achs) - beta_achs * achs; // Variable initializations: achs = 0.567277036232041; alpha_achs = 3.7; time_ = ; V = ; end model inada_N_model_2009__acetylcholine_sensitive_current(i_ACh, time_, V, E_K, RTONF, ACh, Kc, achf, achs) // Sub-modules, and any changes to those submodules: acetylcholine_sensitive_current_achf_gate: inada_N_model_2009__acetylcholine_sensitive_current_achf_gate(achf, time_, V); acetylcholine_sensitive_current_achs_gate: inada_N_model_2009__acetylcholine_sensitive_current_achs_gate(achs, time_, V); // Assignment Rules: i_ACh := (((g_ACh * Kc) / (10 + Kc)) * (V - E_K)) / (1 + exp(((V - E_K) - 140) / (2.5 * RTONF))); g_ACh := (g_ACh_max * achf * achs * power(ACh, 1.5)) / (power(K_ACh, 1.5) + power(ACh, 1.5)); // Variable initializations: g_ACh_max = 0.0198; E_K = ; RTONF = ; ACh = 0; K_ACh = 0.00035; Kc = ; end model inada_N_model_2009__extracellular_sodium_concentration(Nao) // Variable initializations: Nao = 140; end model inada_N_model_2009__intracellular_sodium_concentration(Nai) // Variable initializations: Nai = 8; end model inada_N_model_2009__extracellular_calcium_concentration(Cao) // Variable initializations: Cao = 2; end model inada_N_model_2009__intracellular_calcium_concentration(Cai, Casub, time_, V, F, i_CaL, i_NaCa) // Assignment Rules: V_up := 0.0116 * V_cell; V_rel := 0.0012 * V_cell; V_sub := 0.01 * V_cell; Vi := 0.46 * V_cell - V_sub; i_up := 5 / (1 + K_up / Cai); i_tr := (Ca_up - Ca_rel) / tau_tr; i_rel := (P_rel * (Ca_rel - Casub)) / (1 + power(0.0012 / Casub, 2)); i_diff := (Casub - Cai) / 0.04E-3; diff_f_TC := 88.8E3 * Cai * (1 - f_TC) - 0.446E3 * f_TC; diff_f_TMC := 227.7E3 * Cai * ((1 - f_TMC) - f_TMM) - 0.00751E3 * f_TMC; diff_f_TMM := 2.277E3 * 2.5 * ((1 - f_TMC) - f_TMM) - 0.751E3 * f_TMM; diff_f_CMi := 227.7E3 * Cai * (1 - f_CMi) - 0.542E3 * f_CMi; diff_f_CMs := 227.7E3 * Casub * (1 - f_CMs) - 0.542E3 * f_CMs; diff_f_CQ := 0.534E3 * Ca_rel * (1 - f_CQ) - 0.445E3 * f_CQ; diff_f_CSL := 0.001 * (115 * Casub * (1 - f_CSL) - 1000 * f_CSL); // Rate Rules: Cai' = (i_diff * V_sub - i_up * V_up) / Vi - (0.045 * diff_f_CMi + 0.031 * diff_f_TC + 0.062 * diff_f_TMC); Casub' = (((-(i_CaL - 2 * i_NaCa) / (2 * F) + i_rel * V_rel) / V_sub - i_diff) - 0.045 * diff_f_CMs) - (0.031 / 1.2) * diff_f_CSL; Ca_up' = i_up - (i_tr * V_rel) / V_up; Ca_rel' = (i_tr - i_rel) - 10 * diff_f_CQ; f_TC' = diff_f_TC; f_TMC' = diff_f_TMC; f_TMM' = diff_f_TMM; f_CMi' = diff_f_CMi; f_CMs' = diff_f_CMs; f_CQ' = diff_f_CQ; f_CSL' = diff_f_CSL; // Variable initializations: Cai = 0.000184969821581882; Casub = 0.000160310601192365; V_cell = 3.18872e-6; Ca_up = 1.11092514657408; Ca_rel = 0.296249516481577; P_rel = 1500; K_up = 0.0006; tau_tr = 0.06; time_ = ; V = ; F = ; i_CaL = ; i_NaCa = ; f_TC = 0.0356473236675985; f_TMC = 0.443317425115817; f_TMM = 0.491718960234865; f_CMi = 0.0723007987059414; f_CMs = 0.0630771339141488; f_CQ = 0.261430602900137; f_CSL = 4.1497704886823e-5; end model inada_N_model_2009__extracellular_potassium_concentration(Kc) // Variable initializations: Kc = 5.4; end model inada_N_model_2009__intracellular_potassium_concentration(Ki) // Variable initializations: Ki = 140; end model *inada_N_model_2009____main() // Sub-modules, and any changes to those submodules: environment: inada_N_model_2009__environment(time_); membrane: inada_N_model_2009__membrane(V, R, T, F, RTONF, time_, i_Na, i_CaL, i_to, i_Kr, i_f, i_st, i_K1, i_NaCa, i_p, i_b, i_ACh); hyperpolarising_activated_current: inada_N_model_2009__hyperpolarising_activated_current(i_f, time_, V, ACh, y); rapid_delayed_rectifier_potassium_current: inada_N_model_2009__rapid_delayed_rectifier_potassium_current(i_Kr, time_, V, E_K, RTONF, Ki, Kc, paf, pas, pik); time_independent_potassium_current: inada_N_model_2009__time_independent_potassium_current(i_K1, V, Kc, RTONF); background_current: inada_N_model_2009__background_current(i_b, V); sodium_potassium_pump: inada_N_model_2009__sodium_potassium_pump(i_p, V, Nai, Kc); sodium_calcium_exchange_current: inada_N_model_2009__sodium_calcium_exchange_current(i_NaCa, Cao, Nao, Casub, Nai, RTONF, V); fast_sodium_current: inada_N_model_2009__fast_sodium_current(i_Na, E_Na, time_, V, RTONF, F, Nao, Nai, Kc, Ki, m, h1, h2); L_type_calcium_current: inada_N_model_2009__L_type_calcium_current(i_CaL, i_ACh, ACh, time_, V, d, f, f2); transient_outward_potassium_current: inada_N_model_2009__transient_outward_potassium_current(i_to, E_K0, time_, V, RTONF, Kc, Ki, r, q_fast, q_slow); sustained_outward_potassium_current: inada_N_model_2009__sustained_outward_potassium_current(i_st, time_, V, qa, qi); acetylcholine_sensitive_current: inada_N_model_2009__acetylcholine_sensitive_current(i_ACh, time_, V, E_K, RTONF, ACh, Kc, achf, achs); extracellular_sodium_concentration: inada_N_model_2009__extracellular_sodium_concentration(Nao); intracellular_sodium_concentration: inada_N_model_2009__intracellular_sodium_concentration(Nai); extracellular_calcium_concentration: inada_N_model_2009__extracellular_calcium_concentration(Cao); intracellular_calcium_concentration: inada_N_model_2009__intracellular_calcium_concentration(Cai, Casub, time_, V, F, i_CaL, i_NaCa); extracellular_potassium_concentration: inada_N_model_2009__extracellular_potassium_concentration(Kc); intracellular_potassium_concentration: inada_N_model_2009__intracellular_potassium_concentration(Ki); end