//Created by libAntimony v2.4 model zhang_2000__environment(time_) // Variable initializations: time_ = ; end model zhang_2000__membrane(dCell, FCell, V, R, T, F, time_, i_Na, i_Ca_L, i_Ca_T, i_to, i_sus, i_K_r, i_K_s, i_f_Na, i_f_K, i_b_Na, i_b_Ca, i_b_K, i_NaCa, i_p, i_Ca_p) // Assignment Rules: FCell := (1.07 * (3 * dCell - 0.1)) / (3 * (1 + 0.7745 * exp(-(3 * dCell - 2.05) / 0.295))); Cm := CmCentre + FCell * (CmPeriphery - CmCentre); // Rate Rules: V' = (-(1) / Cm) * (i_Na + i_Ca_L + i_Ca_T + i_to + i_sus + i_K_r + i_K_s + i_f_Na + i_f_K + i_b_Na + i_b_Ca + i_b_K + i_NaCa + i_p + i_Ca_p); // Variable initializations: dCell = 0; V = -39.013558536; R = 8314; T = 310; F = 96845; CmCentre = 2e-5; CmPeriphery = 6.5e-5; time_ = ; i_Na = ; i_Ca_L = ; i_Ca_T = ; i_to = ; i_sus = ; i_K_r = ; i_K_s = ; i_f_Na = ; i_f_K = ; i_b_Na = ; i_b_Ca = ; i_b_K = ; i_NaCa = ; i_p = ; i_Ca_p = ; end model zhang_2000__sodium_current_m_gate(m, V, time_) // Assignment Rules: m_infinity := power(1 / (1 + exp(- V / 5.46)), 1 / 3); tau_m := 0.0006247 / (0.832 * exp(-(0.335) * (V + 56.7)) + 0.627 * exp(0.082 * (V + 65.01))) + 4E-5; // Rate Rules: m' = (m_infinity - m) / tau_m; // Variable initializations: m = 0.092361701692; V = ; time_ = ; end model zhang_2000__sodium_current_h_gate(h, V, time_) // Assignment Rules: h := (1 - F_Na) * h1 + F_Na * h2; F_Na := (0.0952 * exp(-(0.063) * (V + 34.4))) / (1 + 1.66 * exp(-(0.225) * (V + 63.7))) + 0.0869; h1_infinity := 1 / (1 + exp((V + 66.1) / 6.4)); h2_infinity := h1_infinity; tau_h1 := (3.717E-6 * exp(-(0.2815) * (V + 17.11))) / (1 + 0.003732 * exp(-(0.3426) * (V + 37.76))) + 0.0005977; tau_h2 := (3.186E-8 * exp(-(0.6219) * (V + 18.8))) / (1 + 7.189E-5 * exp(-(0.6683) * (V + 34.07))) + 0.003556; // Rate Rules: h1' = (h1_infinity - h1) / tau_h1; h2' = (h2_infinity - h2) / tau_h2; // Variable initializations: h1 = 0.015905380261; h2 = 0.01445216109; V = ; time_ = ; end model zhang_2000__sodium_current(FCell, i_Na, E_Na, Na_o, R, F, T, time_, V, m, h) // Sub-modules, and any changes to those submodules: sodium_current_m_gate: zhang_2000__sodium_current_m_gate(m, V, time_); sodium_current_h_gate: zhang_2000__sodium_current_h_gate(h, V, time_); // Assignment Rules: i_Na := ((((g_Na * power(m, 3) * h * Na_o * power(F, 2)) / (R * T)) * (exp(((V - E_Na) * F) / (R * T)) - 1)) / (exp((V * F) / (R * T)) - 1)) * V; g_Na := g_Na_Centre + FCell * (g_Na_Periphery - g_Na_Centre); // Variable initializations: FCell = ; g_Na_Centre = 0; g_Na_Periphery = 1.2e-6; E_Na = ; Na_o = ; R = ; F = ; T = ; end model zhang_2000__L_type_Ca_channel_d_gate(FCell, d_L, V, time_) // Assignment Rules: alpha_d_L := (-(28.38) * (V + 35)) / (exp(-(V + 35) / 2.5) - 1) - (84.9 * V) / (exp(-(0.208) * V) - 1); beta_d_L := (11.42 * (V - 5)) / (exp(0.4 * (V - 5)) - 1); d_L_infinity := 1 / (1 + exp(-(V + 23.1) / 6)); tau_d_L := 2 / (alpha_d_L + beta_d_L); // Rate Rules: d_L' = (d_L_infinity - d_L) / tau_d_L; // Variable initializations: FCell = ; d_L = 0.04804900895; V = ; time_ = ; end model zhang_2000__L_type_Ca_channel_f_gate(FCell, f_L, V, time_) // Assignment Rules: alpha_f_L := (3.12 * (V + 28)) / (exp((V + 28) / 4) - 1); beta_f_L := 25 / (1 + exp(-(V + 28) / 4)); f_L_infinity := 1 / (1 + exp((V + 45) / 5)); tau_f_L := 1 / (alpha_f_L + beta_f_L); // Rate Rules: f_L' = (f_L_infinity - f_L) / tau_f_L; // Variable initializations: FCell = ; f_L = 0.48779845203; V = ; time_ = ; end model zhang_2000__L_type_Ca_channel(FCell, i_Ca_L, time_, V, d_L, f_L) // Sub-modules, and any changes to those submodules: L_type_Ca_channel_d_gate: zhang_2000__L_type_Ca_channel_d_gate(FCell, d_L, V, time_); L_type_Ca_channel_f_gate: zhang_2000__L_type_Ca_channel_f_gate(FCell, f_L, V, time_); // Assignment Rules: i_Ca_L := g_Ca_L * (f_L * d_L + 0.006 / (1 + exp(-(V + 14.1) / 6))) * (V - E_Ca_L); g_Ca_L := g_Ca_L_Centre + FCell * (g_Ca_L_Periphery - g_Ca_L_Centre); // Variable initializations: g_Ca_L_Centre = 0.0058; g_Ca_L_Periphery = 0.0659; E_Ca_L = 46.4; end model zhang_2000__T_type_Ca_channel_d_gate(d_T, V, time_) // Assignment Rules: alpha_d_T := 1068 * exp((V + 26.3) / 30); beta_d_T := 1068 * exp(-(V + 26.3) / 30); d_T_infinity := 1 / (1 + exp(-(V + 37) / 6.8)); tau_d_T := 1 / (alpha_d_T + beta_d_T); // Rate Rules: d_T' = (d_T_infinity - d_T) / tau_d_T; // Variable initializations: d_T = 0.42074047435; V = ; time_ = ; end model zhang_2000__T_type_Ca_channel_f_gate(FCell, f_T, V, time_) // Assignment Rules: alpha_f_T := 15.3 * exp(-(V + 71.7) / 83.3); beta_f_T := 15 * exp((V + 71.7) / 15.38); f_T_infinity := 1 / (1 + exp((V + 71) / 9)); tau_f_T := 1 / (alpha_f_T + beta_f_T); // Rate Rules: f_T' = (f_T_infinity - f_T) / tau_f_T; // Variable initializations: FCell = ; f_T = 0.038968420558; V = ; time_ = ; end model zhang_2000__T_type_Ca_channel(FCell, i_Ca_T, time_, V, d_T, f_T) // Sub-modules, and any changes to those submodules: T_type_Ca_channel_d_gate: zhang_2000__T_type_Ca_channel_d_gate(d_T, V, time_); T_type_Ca_channel_f_gate: zhang_2000__T_type_Ca_channel_f_gate(FCell, f_T, V, time_); // Assignment Rules: i_Ca_T := g_Ca_T * d_T * f_T * (V - E_Ca_T); g_Ca_T := g_Ca_T_Centre + FCell * (g_Ca_T_Periphery - g_Ca_T_Centre); // Variable initializations: g_Ca_T_Centre = 0.0043; g_Ca_T_Periphery = 0.0139; E_Ca_T = 45; end model zhang_2000__four_AP_sensitive_currents_q_gate(FCell, q, V, time_) // Assignment Rules: q_infinity := 1 / (1 + exp((V + 59.37) / 13.1)); tau_q := 0.0101 + 0.06517 / (0.57 * exp(-(0.08) * (V + 49))) + 2.4E-5 * exp(0.1 * (V + 50.93)); // Rate Rules: q' = (q_infinity - q) / tau_q; // Variable initializations: FCell = ; q = 0.29760539675; V = ; time_ = ; end model zhang_2000__four_AP_sensitive_currents_r_gate(r, V, time_) // Assignment Rules: r_infinity := 1 / (1 + exp(-(V - 10.93) / 19.7)); tau_r := 0.001 * (2.98 + 15.59 / (1.037 * exp(0.09 * (V + 30.61)) + 0.369 * exp(-(0.12) * (V + 23.84)))); // Rate Rules: r' = (r_infinity - r) / tau_r; // Variable initializations: r = 0.064402950262; V = ; time_ = ; end model zhang_2000__four_AP_sensitive_currents(FCell, i_to, i_sus, E_K, V, time_, q, r) // Sub-modules, and any changes to those submodules: four_AP_sensitive_currents_q_gate: zhang_2000__four_AP_sensitive_currents_q_gate(FCell, q, V, time_); four_AP_sensitive_currents_r_gate: zhang_2000__four_AP_sensitive_currents_r_gate(r, V, time_); // Assignment Rules: i_to := g_to * q * r * (V - E_K); i_sus := g_sus * r * (V - E_K); g_to := g_to_Centre + FCell * (g_to_Periphery - g_to_Centre); g_sus := g_sus_Centre + FCell * (g_sus_Periphery - g_sus_Centre); // Variable initializations: g_to_Centre = 0.00491; g_to_Periphery = 0.03649; g_sus_Centre = 6.65e-5; g_sus_Periphery = 0.0114; E_K = ; end model zhang_2000__rapid_delayed_rectifying_potassium_current_P_af_gate(P_af, P_af_infinity, V, time_) // Assignment Rules: P_af_infinity := 1 / (1 + exp(-(V + 14.2) / 10.6)); tau_P_af := 1 / (37.2 * exp((V - 9) / 15.9) + 0.96 * exp(-(V - 9) / 22.5)); // Rate Rules: P_af' = (P_af_infinity - P_af) / tau_P_af; // Variable initializations: P_af = 0.13034201158; V = ; time_ = ; end model zhang_2000__rapid_delayed_rectifying_potassium_current_P_as_gate(P_as, P_af_infinity, V, time_) // Assignment Rules: P_as_infinity := P_af_infinity; tau_P_as := 1 / (4.2 * exp((V - 9) / 17) + 0.15 * exp(-(V - 9) / 21.6)); // Rate Rules: P_as' = (P_as_infinity - P_as) / tau_P_as; // Variable initializations: P_as = 0.46960956028; P_af_infinity = ; V = ; time_ = ; end model zhang_2000__rapid_delayed_rectifying_potassium_current_P_i_gate(P_i, V, time_) // Assignment Rules: P_i_infinity := 1 / (1 + exp((V + 18.6) / 10.1)); // Rate Rules: P_i' = (P_i_infinity - P_i) / tau_P_i; // Variable initializations: P_i = 0.87993375273; tau_P_i = 0.002; V = ; time_ = ; end model zhang_2000__rapid_delayed_rectifying_potassium_current(FCell, i_K_r, E_K, time_, V, P_af, P_as, P_i) // Sub-modules, and any changes to those submodules: rapid_delayed_rectifying_potassium_current_P_af_gate: zhang_2000__rapid_delayed_rectifying_potassium_current_P_af_gate(P_af, P_af_infinity, V, time_); rapid_delayed_rectifying_potassium_current_P_as_gate: zhang_2000__rapid_delayed_rectifying_potassium_current_P_as_gate(P_as, P_af_infinity, V, time_); rapid_delayed_rectifying_potassium_current_P_i_gate: zhang_2000__rapid_delayed_rectifying_potassium_current_P_i_gate(P_i, V, time_); // Assignment Rules: i_K_r := g_K_r * P_a * P_i * (V - E_K); g_K_r := g_K_r_Centre + FCell * (g_K_r_Periphery - g_K_r_Centre); P_a := 0.6 * P_af + 0.4 * P_as; // Variable initializations: FCell = ; g_K_r_Centre = 0.000797; g_K_r_Periphery = 0.016; E_K = ; end model zhang_2000__slow_delayed_rectifying_potassium_current_xs_gate(xs, V, time_) // Assignment Rules: alpha_xs := 14 / (1 + exp(-(V - 40) / 9)); beta_xs := 1 * exp(- V / 45); // Rate Rules: xs' = alpha_xs * (1 - xs) - beta_xs * xs; // Variable initializations: xs = 0.082293827208; V = ; time_ = ; end model zhang_2000__slow_delayed_rectifying_potassium_current(FCell, i_K_s, E_K_s, time_, V, xs) // Sub-modules, and any changes to those submodules: slow_delayed_rectifying_potassium_current_xs_gate: zhang_2000__slow_delayed_rectifying_potassium_current_xs_gate(xs, V, time_); // Assignment Rules: i_K_s := g_K_s * power(xs, 2) * (V - E_K_s); g_K_s := g_K_s_Centre + FCell * (g_K_s_Periphery - g_K_s_Centre); // Variable initializations: FCell = ; g_K_s_Centre = 0.000518; g_K_s_Periphery = 0.0104; E_K_s = ; end model zhang_2000__hyperpolarisation_activated_current_y_gate(y, V, time_) // Assignment Rules: alpha_y := 1 * exp(-(V + 78.91) / 26.62); beta_y := 1 * exp((V + 75.13) / 21.25); // Rate Rules: y' = alpha_y * (1 - y) - beta_y * y; // Variable initializations: y = 0.03889291759; V = ; time_ = ; end model zhang_2000__hyperpolarisation_activated_current(FCell, i_f_Na, i_f_K, E_K, E_Na, time_, V, y) // Sub-modules, and any changes to those submodules: hyperpolarisation_activated_current_y_gate: zhang_2000__hyperpolarisation_activated_current_y_gate(y, V, time_); // Assignment Rules: i_f_Na := g_f_Na * y * (V - E_Na); i_f_K := g_f_K * y * (V - E_K); g_f_Na := g_f_Na_Centre + FCell * (g_f_Na_Periphery - g_f_Na_Centre); g_f_K := g_f_K_Centre + FCell * (g_f_K_Periphery - g_f_K_Centre); // Variable initializations: FCell = ; g_f_Na_Centre = 0.000548; g_f_Na_Periphery = 0.0069; g_f_K_Centre = 0.000548; g_f_K_Periphery = 0.0069; E_K = ; E_Na = ; end model zhang_2000__sodium_background_current(FCell, i_b_Na, E_Na, V) // Assignment Rules: i_b_Na := g_b_Na * (V - E_Na); g_b_Na := g_b_Na_Centre + FCell * (g_b_Na_Periphery - g_b_Na_Centre); // Variable initializations: FCell = ; g_b_Na_Centre = 5.8e-5; g_b_Na_Periphery = 0.000189; E_Na = ; V = ; end model zhang_2000__potassium_background_current(FCell, i_b_K, E_K, V) // Assignment Rules: i_b_K := g_b_K * (V - E_K); g_b_K := g_b_K_Centre + FCell * (g_b_K_Periphery - g_b_K_Centre); // Variable initializations: FCell = ; g_b_K_Centre = 2.52e-5; g_b_K_Periphery = 8.19e-5; E_K = ; V = ; end model zhang_2000__calcium_background_current(FCell, i_b_Ca, E_Ca, V) // Assignment Rules: i_b_Ca := g_b_Ca * (V - E_Ca); g_b_Ca := g_b_Ca_Centre + FCell * (g_b_Ca_Periphery - g_b_Ca_Centre); // Variable initializations: FCell = ; g_b_Ca_Centre = 1.32e-5; g_b_Ca_Periphery = 4.3e-5; E_Ca = ; V = ; end model zhang_2000__sodium_calcium_exchanger(FCell, i_NaCa, Na_i, Na_o, Ca_i, Ca_o, V) // Assignment Rules: i_NaCa := (k_NaCa * (power(Na_i, 3) * Ca_o * exp(0.03743 * V * gamma_NaCa) - power(Na_o, 3) * Ca_i * exp(0.0374 * V * (gamma_NaCa - 1)))) / (1 + d_NaCa * (Ca_i * power(Na_o, 3) + Ca_o * power(Na_i, 3))); k_NaCa := k_NaCa_Centre + FCell * (k_NaCa_Periphery - k_NaCa_Centre); // Variable initializations: FCell = ; k_NaCa_Centre = 2.7e-6; k_NaCa_Periphery = 8.8e-6; d_NaCa = 0.0001; gamma_NaCa = 0.5; Na_i = ; Na_o = ; Ca_i = ; Ca_o = ; V = ; end model zhang_2000__sodium_potassium_pump(FCell, i_p, Na_i, K_o, V) // Assignment Rules: i_p := (i_p_max * power(Na_i / (K_m_Na + Na_i), 3) * power(K_o / (K_m_K + K_o), 2) * 1.6) / (1.5 + exp(-(V + 60) / 40)); i_p_max := i_p_max_Centre + FCell * (i_p_max_Periphery - i_p_max_Centre); // Variable initializations: FCell = ; K_m_Na = 5.64; K_m_K = 0.621; i_p_max_Centre = 0.0478; i_p_max_Periphery = 0.16; Na_i = ; K_o = ; V = ; end model zhang_2000__persistent_calcium_current(FCell, i_Ca_p, Ca_i, V) // Assignment Rules: i_Ca_p := (i_Ca_p_max * Ca_i) / (Ca_i + 0.0004); i_Ca_p_max := i_Ca_p_max_Centre + FCell * (i_Ca_p_max_Periphery - i_Ca_p_max_Centre); // Variable initializations: FCell = ; i_Ca_p_max_Centre = 0; i_Ca_p_max_Periphery = 0; Ca_i = ; V = ; end model zhang_2000__ionic_concentrations(Na_i, Na_o, Ca_i, Ca_o, K_i, K_o) // Variable initializations: Na_i = 8; Na_o = 140; Ca_i = 0.0001; Ca_o = 2; K_i = 140; K_o = 5.4; end model zhang_2000__reversal_and_equilibrium_potentials(E_Na, E_K, E_K_s, E_Ca, K_o, Na_o, K_i, Na_i, Ca_o, Ca_i, R, F, T) // Assignment Rules: E_Na := ((R * T) / F) * ln(Na_o / Na_i); E_K := ((R * T) / F) * ln(K_o / K_i); E_K_s := ((R * T) / F) * ln((K_o + 0.12 * Na_o) / (K_i + 0.12 * Na_i)); E_Ca := ((R * T) / (2 * F)) * ln(Ca_o / Ca_i); // Variable initializations: K_o = ; Na_o = ; K_i = ; Na_i = ; Ca_o = ; Ca_i = ; R = ; F = ; T = ; end model *zhang_2000____main() // Sub-modules, and any changes to those submodules: environment: zhang_2000__environment(time_); membrane: zhang_2000__membrane(dCell, FCell, V, R, T, F, time_, i_Na, i_Ca_L, i_Ca_T, i_to, i_sus, i_K_r, i_K_s, i_f_Na, i_f_K, i_b_Na, i_b_Ca, i_b_K, i_NaCa, i_p, i_Ca_p); sodium_current: zhang_2000__sodium_current(FCell, i_Na, E_Na, Na_o, R, F, T, time_, V, m, h); L_type_Ca_channel: zhang_2000__L_type_Ca_channel(FCell, i_Ca_L, time_, V, d_L, f_L); T_type_Ca_channel: zhang_2000__T_type_Ca_channel(FCell, i_Ca_T, time_, V, d_T, f_T); four_AP_sensitive_currents: zhang_2000__four_AP_sensitive_currents(FCell, i_to, i_sus, E_K, V, time_, q, r); rapid_delayed_rectifying_potassium_current: zhang_2000__rapid_delayed_rectifying_potassium_current(FCell, i_K_r, E_K, time_, V, P_af, P_as, P_i); slow_delayed_rectifying_potassium_current: zhang_2000__slow_delayed_rectifying_potassium_current(FCell, i_K_s, E_K_s, time_, V, xs); hyperpolarisation_activated_current: zhang_2000__hyperpolarisation_activated_current(FCell, i_f_Na, i_f_K, E_K, E_Na, time_, V, y); sodium_background_current: zhang_2000__sodium_background_current(FCell, i_b_Na, E_Na, V); potassium_background_current: zhang_2000__potassium_background_current(FCell, i_b_K, E_K, V); calcium_background_current: zhang_2000__calcium_background_current(FCell, i_b_Ca, E_Ca, V); sodium_calcium_exchanger: zhang_2000__sodium_calcium_exchanger(FCell, i_NaCa, Na_i, Na_o, Ca_i, Ca_o, V); sodium_potassium_pump: zhang_2000__sodium_potassium_pump(FCell, i_p, Na_i, K_o, V); persistent_calcium_current: zhang_2000__persistent_calcium_current(FCell, i_Ca_p, Ca_i, V); ionic_concentrations: zhang_2000__ionic_concentrations(Na_i, Na_o, Ca_i, Ca_o, K_i, K_o); reversal_and_equilibrium_potentials: zhang_2000__reversal_and_equilibrium_potentials(E_Na, E_K, E_K_s, E_Ca, K_o, Na_o, K_i, Na_i, Ca_o, Ca_i, R, F, T); end