//Created by libAntimony v2.4 model luo_rudy_1991__environment(time_) // Variable initializations: time_ = ; end model luo_rudy_1991__membrane(V, R, T, F, time_, i_Na, i_si, i_K, i_K1, i_Kp, i_b) // Assignment Rules: I_stim := piecewise( stim_amplitude , (( geq(time_, stim_start)) && (time_ <= stim_end) && ((time_ - stim_start) - floor((time_ - stim_start) / stim_period) * stim_period <= stim_duration )), 0 ); // Rate Rules: V' = (-(1) / C) * (I_stim + i_Na + i_si + i_K + i_K1 + i_Kp + i_b); // Variable initializations: V = -84.3801107371; R = 8314; T = 310; F = 96484.6; C = 1; time_ = ; i_Na = ; i_si = ; i_K = ; i_K1 = ; i_Kp = ; i_b = ; stim_start = 100; stim_end = 9000; stim_period = 1000; stim_duration = 2; stim_amplitude = -25.5; end model luo_rudy_1991__fast_sodium_current_m_gate(m, V, time_) // Assignment Rules: alpha_m := (0.32 * (V + 47.13)) / (1 - exp(-(0.1) * (V + 47.13))); beta_m := 0.08 * exp(- V / 11); // Rate Rules: m' = alpha_m * (1 - m) - beta_m * m; // Variable initializations: m = 0.00171338077730188; V = ; time_ = ; end model luo_rudy_1991__fast_sodium_current_h_gate(h, V, time_) // Assignment Rules: alpha_h := piecewise( 0.135 * exp((80 + V) / -(6.8)) , V < -(40) , 0 ); beta_h := piecewise( 3.56 * exp(0.079 * V) + 310000 * exp(0.35 * V) , V < -(40) , 1 / (0.13 * (1 + exp((V + 10.66) / -(11.1)))) ); // Rate Rules: h' = alpha_h * (1 - h) - beta_h * h; // Variable initializations: h = 0.982660523699656; V = ; time_ = ; end model luo_rudy_1991__fast_sodium_current_j_gate(j, V, time_) // Assignment Rules: alpha_j := piecewise( ((-(127140) * exp(0.2444 * V) - 0.00003474 * exp(-(0.04391) * V)) * (V + 37.78)) / (1 + exp(0.311 * (V + 79.23))) , V < -(40) , 0 ); beta_j := piecewise( (0.1212 * exp(-(0.01052) * V)) / (1 + exp(-(0.1378) * (V + 40.14))) , V < -(40) , (0.3 * exp(-(0.0000002535) * V)) / (1 + exp(-(0.1) * (V + 32))) ); // Rate Rules: j' = alpha_j * (1 - j) - beta_j * j; // Variable initializations: j = 0.989108212766685; V = ; time_ = ; end model luo_rudy_1991__fast_sodium_current(i_Na, time_, R, T, F, Nao, Nai, V, m, h, j) // Sub-modules, and any changes to those submodules: fast_sodium_current_m_gate: luo_rudy_1991__fast_sodium_current_m_gate(m, V, time_); fast_sodium_current_h_gate: luo_rudy_1991__fast_sodium_current_h_gate(h, V, time_); fast_sodium_current_j_gate: luo_rudy_1991__fast_sodium_current_j_gate(j, V, time_); // Assignment Rules: i_Na := g_Na * power(m, 3) * h * j * (V - E_Na); E_Na := ((R * T) / F) * ln(Nao / Nai); // Variable initializations: g_Na = 23; R = ; T = ; F = ; Nao = ; Nai = ; end model luo_rudy_1991__slow_inward_current_d_gate(d, V, time_) // Assignment Rules: alpha_d := (0.095 * exp(-(0.01) * (V - 5))) / (1 + exp(-(0.072) * (V - 5))); beta_d := (0.07 * exp(-(0.017) * (V + 44))) / (1 + exp(0.05 * (V + 44))); // Rate Rules: d' = alpha_d * (1 - d) - beta_d * d; // Variable initializations: d = 0.00302126301779861; V = ; time_ = ; end model luo_rudy_1991__slow_inward_current_f_gate(f, V, time_) // Assignment Rules: alpha_f := (0.012 * exp(-(0.008) * (V + 28))) / (1 + exp(0.15 * (V + 28))); beta_f := (0.0065 * exp(-(0.02) * (V + 30))) / (1 + exp(-(0.2) * (V + 30))); // Rate Rules: f' = alpha_f * (1 - f) - beta_f * f; // Variable initializations: f = 0.999967936476325; V = ; time_ = ; end model luo_rudy_1991__slow_inward_current(i_si, time_, V, Cai, d, f) // Sub-modules, and any changes to those submodules: slow_inward_current_d_gate: luo_rudy_1991__slow_inward_current_d_gate(d, V, time_); slow_inward_current_f_gate: luo_rudy_1991__slow_inward_current_f_gate(f, V, time_); // Assignment Rules: i_si := 0.09 * d * f * (V - E_si); E_si := 7.7 - 13.0287 * ln(Cai / 1); // Variable initializations: Cai = ; end model luo_rudy_1991__time_dependent_potassium_current_X_gate(X, V, time_) // Assignment Rules: alpha_X := (0.0005 * exp(0.083 * (V + 50))) / (1 + exp(0.057 * (V + 50))); beta_X := (0.0013 * exp(-(0.06) * (V + 20))) / (1 + exp(-(0.04) * (V + 20))); // Rate Rules: X' = alpha_X * (1 - X) - beta_X * X; // Variable initializations: X = 0.0417603108167287; V = ; time_ = ; end model luo_rudy_1991__time_dependent_potassium_current_Xi_gate(Xi, V, time_) // Assignment Rules: Xi := piecewise( (2.837 * (exp(0.04 * (V + 77)) - 1)) / ((V + 77) * exp(0.04 * (V + 35))) , V > -(100) , 1 ); // Variable initializations: V = ; time_ = ; end model luo_rudy_1991__time_dependent_potassium_current(i_K, time_, V, R, T, F, Ko, Ki, Nao, Nai, X, Xi) // Sub-modules, and any changes to those submodules: time_dependent_potassium_current_X_gate: luo_rudy_1991__time_dependent_potassium_current_X_gate(X, V, time_); time_dependent_potassium_current_Xi_gate: luo_rudy_1991__time_dependent_potassium_current_Xi_gate(Xi, V, time_); // Assignment Rules: i_K := g_K * X * Xi * (V - E_K); g_K := 0.282 * root(Ko / 5.4); E_K := ((R * T) / F) * ln((Ko + PR_NaK * Nao) / (Ki + PR_NaK * Nai)); // Variable initializations: PR_NaK = 0.01833; R = ; T = ; F = ; Ko = ; Ki = ; Nao = ; Nai = ; end model luo_rudy_1991__time_independent_potassium_current_K1_gate(K1_infinity, V, E_K1) // Assignment Rules: K1_infinity := alpha_K1 / (alpha_K1 + beta_K1); alpha_K1 := 1.02 / (1 + exp(0.2385 * ((V - E_K1) - 59.215))); beta_K1 := (0.49124 * exp(0.08032 * ((V + 5.476) - E_K1)) + 1 * exp(0.06175 * (V - (E_K1 + 594.31)))) / (1 + exp(-(0.5143) * ((V - E_K1) + 4.753))); // Variable initializations: V = ; E_K1 = ; end model luo_rudy_1991__time_independent_potassium_current(i_K1, E_K1, V, Ko, Ki, R, T, F, K1_infinity) // Sub-modules, and any changes to those submodules: time_independent_potassium_current_K1_gate: luo_rudy_1991__time_independent_potassium_current_K1_gate(K1_infinity, V, E_K1); // Assignment Rules: i_K1 := g_K1 * K1_infinity * (V - E_K1); E_K1 := ((R * T) / F) * ln(Ko / Ki); g_K1 := 0.6047 * root(Ko / 5.4); // Variable initializations: Ko = ; Ki = ; R = ; T = ; F = ; end model luo_rudy_1991__plateau_potassium_current(i_Kp, V, E_K1) // Assignment Rules: i_Kp := g_Kp * Kp * (V - E_Kp); E_Kp := E_K1; Kp := 1 / (1 + exp((7.488 - V) / 5.98)); // Variable initializations: g_Kp = 0.0183; V = ; E_K1 = ; end model luo_rudy_1991__background_current(i_b, V) // Assignment Rules: i_b := g_b * (V - E_b); // Variable initializations: E_b = -59.87; g_b = 0.03921; V = ; end model luo_rudy_1991__ionic_concentrations(Nao, Nai, Ki, Ko) // Variable initializations: Nao = 140; Nai = 18; Ki = 145; Ko = 5.4; end model luo_rudy_1991__intracellular_calcium_concentration(Cai, time_, i_si) // Rate Rules: Cai' = (-(0.0001) / 1) * i_si + 0.07 * (0.0001 - Cai); // Variable initializations: Cai = 0.00017948816388306; time_ = ; i_si = ; end model *luo_rudy_1991____main() // Sub-modules, and any changes to those submodules: environment: luo_rudy_1991__environment(time_); membrane: luo_rudy_1991__membrane(V, R, T, F, time_, i_Na, i_si, i_K, i_K1, i_Kp, i_b); fast_sodium_current: luo_rudy_1991__fast_sodium_current(i_Na, time_, R, T, F, Nao, Nai, V, m, h, j); slow_inward_current: luo_rudy_1991__slow_inward_current(i_si, time_, V, Cai, d, f); time_dependent_potassium_current: luo_rudy_1991__time_dependent_potassium_current(i_K, time_, V, R, T, F, Ko, Ki, Nao, Nai, X, Xi); time_independent_potassium_current: luo_rudy_1991__time_independent_potassium_current(i_K1, E_K1, V, Ko, Ki, R, T, F, K1_infinity); plateau_potassium_current: luo_rudy_1991__plateau_potassium_current(i_Kp, V, E_K1); background_current: luo_rudy_1991__background_current(i_b, V); ionic_concentrations: luo_rudy_1991__ionic_concentrations(Nao, Nai, Ki, Ko); intracellular_calcium_concentration: luo_rudy_1991__intracellular_calcium_concentration(Cai, time_, i_si); end