//Created by libAntimony v2.4 model fohlmeister_miller_1997_version01__environment(time_) // Variable initializations: time_ = ; end model fohlmeister_miller_1997_version01__membrane(V, time_, i_Na, i_Ca, i_K, i_K_A, i_K_Ca, i_L) // Rate Rules: V' = -(1.0 / Cm) * (i_Na + i_Ca + i_K + i_K_A + i_K_Ca + i_L); // Variable initializations: V = ; Cm = 1.0; time_ = ; i_Na = ; i_Ca = ; i_K = ; i_K_A = ; i_K_Ca = ; i_L = ; end model fohlmeister_miller_1997_version01__sodium_channel_m_gate(m, V, time_) // Assignment Rules: alpha_m := (-0.6 * (V + 30.0)) / (exp(-0.1 * (V + 30.0)) - 1.0); beta_m := 20.0 * exp(-(V + 55.0) / 18.0); // Rate Rules: m' = alpha_m * (1.0 - m) - beta_m * m; // Variable initializations: m = ; V = ; time_ = ; end model fohlmeister_miller_1997_version01__sodium_channel_h_gate(h, V, time_) // Assignment Rules: alpha_h := 0.4 * exp(-(V + 50.0) / 20.0); beta_h := 6.0 / (exp(-0.1 * (V + 20.0)) + 1.0); // Rate Rules: h' = alpha_h * (1.0 - h) - beta_h * h; // Variable initializations: h = ; V = ; time_ = ; end model fohlmeister_miller_1997_version01__sodium_channel(i_Na, time_, V, m, h) // Sub-modules, and any changes to those submodules: sodium_channel_m_gate: fohlmeister_miller_1997_version01__sodium_channel_m_gate(m, V, time_); sodium_channel_h_gate: fohlmeister_miller_1997_version01__sodium_channel_h_gate(h, V, time_); // Assignment Rules: i_Na := g_Na * power(m, 3.0) * h * (V - E_Na); // Variable initializations: E_Na = 35.0; g_Na = 50.0; end model fohlmeister_miller_1997_version01__calcium_channel_c_gate(c, V, time_) // Assignment Rules: alpha_c := (-0.3 * (V + 13.0)) / (exp(-0.1 * (V + 13.0)) - 1.0); beta_c := 10.0 * exp(-(V + 38.0) / 18.0); // Rate Rules: c' = alpha_c * (1.0 - c) - beta_c * c; // Variable initializations: c = ; V = ; time_ = ; end model fohlmeister_miller_1997_version01__calcium_channel(i_Ca, F, time_, V, Ca_i, Ca_e, c) // Sub-modules, and any changes to those submodules: calcium_channel_c_gate: fohlmeister_miller_1997_version01__calcium_channel_c_gate(c, V, time_); // Assignment Rules: i_Ca := g_Ca * power(c, 3.0) * (V - E_Ca); E_Ca := ((R * T) / (2.0 * F)) * ln(Ca_e / Ca_i); // Variable initializations: g_Ca = 2.2; R = 8314.0; T = -4.72; F = ; Ca_i = ; Ca_e = ; end model fohlmeister_miller_1997_version01__delayed_rectifier_potassium_channel_n_gate(n, V, time_) // Assignment Rules: alpha_n := (-0.02 * (V + 40.0)) / (exp(-0.1 * (V + 40.0)) - 1.0); beta_n := 0.4 * exp(-(V + 50.0) / 80.0); // Rate Rules: n' = alpha_n * (1.0 - n) - beta_n * n; // Variable initializations: n = ; V = ; time_ = ; end model fohlmeister_miller_1997_version01__delayed_rectifier_potassium_channel(i_K, E_K, time_, V, n) // Sub-modules, and any changes to those submodules: delayed_rectifier_potassium_channel_n_gate: fohlmeister_miller_1997_version01__delayed_rectifier_potassium_channel_n_gate(n, V, time_); // Assignment Rules: i_K := g_K * power(n, 4.0) * (V - E_K); // Variable initializations: g_K = 12.0; E_K = ; end model fohlmeister_miller_1997_version01__A_type_potassium_channel_a_gate(a, V, time_) // Assignment Rules: alpha_a := (-0.006 * (V + 90.0)) / (exp(-0.1 * (V + 90.0)) - 1.0); beta_a := 0.1 * exp(-(V + 30.0) / 10.0); // Rate Rules: a' = alpha_a * (1.0 - a) - beta_a * a; // Variable initializations: a = ; V = ; time_ = ; end model fohlmeister_miller_1997_version01__A_type_potassium_channel_h_gate(h, V, time_) // Assignment Rules: alpha_h := 0.04 * exp(-(V + 70.0) / 20.0); beta_h := 0.6 / (exp(-0.1 * (V + 40.0)) + 1.0); // Rate Rules: h' = alpha_h * (1.0 - h) - beta_h * h; // Variable initializations: h = ; V = ; time_ = ; end model fohlmeister_miller_1997_version01__A_type_potassium_channel(i_K_A, E_K, time_, V, a, h) // Sub-modules, and any changes to those submodules: A_type_potassium_channel_a_gate: fohlmeister_miller_1997_version01__A_type_potassium_channel_a_gate(a, V, time_); A_type_potassium_channel_h_gate: fohlmeister_miller_1997_version01__A_type_potassium_channel_h_gate(h, V, time_); // Assignment Rules: i_K_A := g_K_A * power(a, 3.0) * h * (V - E_K); // Variable initializations: g_K_A = 36.0; E_K = ; end model fohlmeister_miller_1997_version01__calcium_activated_potassium_channel(i_K_Ca, E_K, time_, V, Ca_i, Ca_diss) // Assignment Rules: i_K_Ca := g_K_Ca * (V - E_K); g_K_Ca_gate := g_K_Ca * (power(Ca_i / Ca_diss, 2.0) / (1.0 + power(Ca_i / Ca_diss, 2.0))); // Variable initializations: g_K_Ca = 0.05; E_K = ; time_ = ; V = ; Ca_i = ; Ca_diss = ; end model fohlmeister_miller_1997_version01__leakage_channel(i_L, time_, V) // Assignment Rules: i_L := g_L * (V - E_L); // Variable initializations: g_L = 0.05; E_L = -60.0; time_ = ; V = ; end model fohlmeister_miller_1997_version01__parameters(Ca_i, Ca_e, Ca_diss, E_K, F, time_, i_Ca) // Rate Rules: Ca_i' = (-3.0 * i_Ca) / (2.0 * F * r) - (Ca_i - Ca_res) / tau_Ca; // Variable initializations: Ca_i = 1.0E-7; Ca_e = ; Ca_diss = 1.0E-6; E_K = -75.0; F = 96487.0; Ca_res = 1.0E-7; tau_Ca = 1.5; r = ; time_ = ; i_Ca = ; end model *fohlmeister_miller_1997_version01____main() // Sub-modules, and any changes to those submodules: environment: fohlmeister_miller_1997_version01__environment(time_); membrane: fohlmeister_miller_1997_version01__membrane(V, time_, i_Na, i_Ca, i_K, i_K_A, i_K_Ca, i_L); sodium_channel: fohlmeister_miller_1997_version01__sodium_channel(i_Na, time_, V, m, h); calcium_channel: fohlmeister_miller_1997_version01__calcium_channel(i_Ca, F, time_, V, Ca_i, Ca_e, c); delayed_rectifier_potassium_channel: fohlmeister_miller_1997_version01__delayed_rectifier_potassium_channel(i_K, E_K, time_, V, n); A_type_potassium_channel: fohlmeister_miller_1997_version01__A_type_potassium_channel(i_K_A, E_K, time_, V, a, h0); calcium_activated_potassium_channel: fohlmeister_miller_1997_version01__calcium_activated_potassium_channel(i_K_Ca, E_K, time_, V, Ca_i, Ca_diss); leakage_channel: fohlmeister_miller_1997_version01__leakage_channel(i_L, time_, V); parameters: fohlmeister_miller_1997_version01__parameters(Ca_i, Ca_e, Ca_diss, E_K, F, time_, i_Ca); end