//Created by libAntimony v2.4 model greenstein_wu_po_tomaselli_winslow_2000_version01__environment(time_) // Variable initializations: time_ = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__membrane(V, R, T, F, C_sc, time_, i_Na, i_Ca, i_Ca_K, i_Kr, i_Ks, i_to1, i_K1, i_Kp, i_NaCa, i_NaK, i_p_Ca, i_Ca_b, i_Na_b) // Rate Rules: V' = -(i_Na + i_Ca + i_Ca_K + i_Kr + i_Ks + i_to1 + i_K1 + i_Kp + i_NaCa + i_NaK + i_p_Ca + i_Na_b + i_Ca_b) / C_sc; // Variable initializations: V = -95.87; R = 8.314; T = 310.0; F = 96.5; C_sc = 10E4; time_ = ; i_Na = ; i_Ca = ; i_Ca_K = ; i_Kr = ; i_Ks = ; i_to1 = ; i_K1 = ; i_Kp = ; i_NaCa = ; i_NaK = ; i_p_Ca = ; i_Ca_b = ; i_Na_b = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__fast_sodium_current_m_gate(m, V, time_) // Assignment Rules: alpha_m := (0.32 * (V + 47.13)) / (1.0 - exp(-0.1 * (V + 47.13))); beta_m := 0.08 * exp(- V / 11.0); // Rate Rules: m' = alpha_m * (1.0 - m) - beta_m * m; // Variable initializations: m = 0.00024676; V = ; time_ = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__fast_sodium_current_h_gate(h, V, time_) // Assignment Rules: alpha_h := piecewise( 0.135 * exp((80.0 + V) / -6.8) , V < -40.0 , 0.0 ); beta_h := piecewise( 3.56 * exp(0.079 * V) + 310000.0 * exp(0.35 * V) , V < -40.0 , 1.0 / (0.13 * (1.0 + exp((V + 10.66) / -11.1))) ); // Rate Rules: h' = alpha_h * (1.0 - h) - beta_h * h; // Variable initializations: h = 0.99869; V = ; time_ = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__fast_sodium_current_j_gate(j, V, time_) // Assignment Rules: alpha_j := piecewise( (-127140.0 * exp(0.2444 * V) - 0.00003474 * exp(-0.04391 * V)) * ((V + 37.78) / (1.0 + exp(0.311 * (V + 79.23)))) , V < -40.0 , 0.0 ); beta_j := piecewise( (0.1212 * exp(-0.01052 * V)) / (1.0 + exp(-0.1378 * (V + 40.14))) , V < -40.0 , (0.3 * exp(-0.0000002535 * V)) / (1.0 + exp(-0.1 * (V + 32.0))) ); // Rate Rules: j' = alpha_j * (1.0 - j) - beta_j * j; // Variable initializations: j = 0.99887; V = ; time_ = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__fast_sodium_current(i_Na, E_Na, time_, V, Nao, Nai, R, F, T, m, h, j) // Sub-modules, and any changes to those submodules: fast_sodium_current_m_gate: greenstein_wu_po_tomaselli_winslow_2000_version01__fast_sodium_current_m_gate(m, V, time_); fast_sodium_current_h_gate: greenstein_wu_po_tomaselli_winslow_2000_version01__fast_sodium_current_h_gate(h, V, time_); fast_sodium_current_j_gate: greenstein_wu_po_tomaselli_winslow_2000_version01__fast_sodium_current_j_gate(j, V, time_); // Assignment Rules: i_Na := g_Na * power(m, 3.0) * h * j * (V - E_Na); E_Na := ((R * T) / F) * ln(Nao / Nai); // Variable initializations: g_Na = 12.8; Nao = ; Nai = ; R = ; F = ; T = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate(X_kr, V, time_) // Assignment Rules: K12 := exp(-5.495 + 0.169 * V); K21 := exp(-7.677 - 0.0128 * V); // Rate Rules: X_kr' = K12 * (1.0 - X_kr) - K12 * X_kr; // Variable initializations: X_kr = 0.6935; V = ; time_ = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__rapid_activating_delayed_rectifiyer_K_current(i_Kr, E_K, time_, V, Ko, Ki, R, T, F, X_kr) // Sub-modules, and any changes to those submodules: rapid_activating_delayed_rectifiyer_K_current_X_kr_gate: greenstein_wu_po_tomaselli_winslow_2000_version01__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate(X_kr, V, time_); // Assignment Rules: i_Kr := g_Kr * f_Ko * R_V * X_kr * (V - E_K); E_K := ((R * T) / F) * ln(Ko / Ki); f_Ko := root(Ko / 4.0); R_V := 1.0 / (1.0 + 1.4945 * exp(0.0446 * V)); // Variable initializations: g_Kr = 0.0034; Ko = ; Ki = ; R = ; T = ; F = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__slow_activating_delayed_rectifiyer_K_current_X_ks_gate(X_ks, V, time_) // Assignment Rules: tau_X_ks := 1.0 / ((0.0000719 * (V - 10.0)) / (1.0 - exp(-0.148 * (V - 10.0))) + (0.000131 * (V - 10.0)) / (exp(0.0687 * (V - 10.0)) - 1.0)); X_ks_infinity := 1.0 / (1.0 + exp(-(V - 24.7) / 13.6)); // Rate Rules: X_ks' = (X_ks_infinity - X_ks) / tau_X_ks; // Variable initializations: X_ks = 0.00014589; V = ; time_ = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__slow_activating_delayed_rectifiyer_K_current(i_Ks, time_, V, Ko, Ki, Nao, Nai, R, T, F, X_ks) // Sub-modules, and any changes to those submodules: slow_activating_delayed_rectifiyer_K_current_X_ks_gate: greenstein_wu_po_tomaselli_winslow_2000_version01__slow_activating_delayed_rectifiyer_K_current_X_ks_gate(X_ks, V, time_); // Assignment Rules: i_Ks := g_Ks * power(X_ks, 2.0) * (V - E_Ks); E_Ks := ((R * T) / F) * ln((Ko + 0.01833 * Nao) / (Ki + 0.01833 * Nai)); // Variable initializations: g_Ks = 0.00271; Ko = ; Ki = ; Nao = ; Nai = ; R = ; T = ; F = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__Kv4_3_current(i_Kv4_3, time_, V, E_K) // Assignment Rules: i_Kv4_3 := g_Kv4_3 * P_open * (V - E_K); P_open := P_O + P_OI; alpha_a := alpha_a0 * exp(a_a); beta_a := beta_a0 * exp(- b_a); alpha_i := alpha_i0 * exp(- a_i); beta_i := beta_i0 * exp(b_i); // Rate Rules: P_C0' = (alpha_i * P_CI0 + beta_a * P_C1) - (beta_i + 4.0 * alpha_a) * P_C0; P_C1' = ((alpha_i / b1) * P_CI1 + 4.0 * alpha_a * P_C0 + 2.0 * beta_a * P_C2) - (f1 * beta_i + beta_a + 3.0 * alpha_a) * P_C1; P_C2' = ((alpha_i / b2) * P_CI2 + 3.0 * alpha_a * P_C1 + 3.0 * beta_a * P_C3) - (f2 * beta_i + 2.0 * beta_a + 2.0 * alpha_a) * P_C2; P_C3' = ((alpha_i / b3) * P_CI3 + 2.0 * alpha_a * P_C2 + 4.0 * beta_a * P_O) - (f3 * beta_i + 3.0 * beta_a + alpha_a) * P_C3; P_CI0' = (beta_i * P_C0 + (beta_a / f1) * P_C1) - (alpha_i + b1 * 4.0 * alpha_a) * P_CI0; P_CI1' = (((f1 * 2.0 * beta_a) / f2) * P_CI2 + b1 * 4.0 * alpha_a * P_CI0 + f1 * beta_i * P_C1) - ((b2 * 3.0 * alpha_a) / b1 + alpha_i / b1 + beta_a / f1) * P_CI1; P_CI2' = (((f2 * 3.0 * beta_a) / f3) * P_CI3 + ((b2 * 3.0 * alpha_a) / b1) * P_CI1 + f2 * beta_i * P_C2) - ((b3 * 2.0 * alpha_a) / b2 + alpha_i / b2 + (f1 * 2.0 * beta_a) / f2) * P_CI2; P_CI3' = (((f3 * 4.0 * beta_a) / f4) * P_OI + ((b3 * 2.0 * alpha_a) / b2) * P_CI2 + f3 * beta_i * P_C3) - ((b4 * alpha_a) / b3 + alpha_i / b3 + (f2 * 3.0 * beta_a) / f3) * P_CI3; P_O' = (alpha_a * P_C3 + (alpha_i / b4) * P_OI) - (f4 * beta_i + 4.0 * beta_a) * P_O; P_OI' = (((b4 * alpha_a) / b3) * P_CI3 + f4 * beta_i * P_O) - (alpha_i / b4 + (f3 * 4.0 * beta_a) / f4) * P_OI; // Variable initializations: g_Kv4_3 = ; P_C0 = ; P_C1 = ; P_C2 = ; P_C3 = ; P_CI0 = ; P_CI1 = ; P_CI2 = ; P_CI3 = ; P_O = ; P_OI = ; a_a = 0.02898; b_a = 0.04684; a_i = 3.7302E-4; b_i = 5.374E-8; alpha_a0 = 0.5437; beta_a0 = 0.08019; alpha_i0 = 0.04984; beta_i0 = 8.1948E-4; f1 = 1.8936; f2 = 14.225; f3 = 158.574; f4 = 142.937; b1 = 6.7735; b2 = 15.621; b3 = 28.753; b4 = 524.576; time_ = ; V = ; E_K = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__Kv1_4_current(i_Kv1_4, time_, V, Nai, Nao, Ki, Ko, R, T, F, C_sc) // Assignment Rules: i_Kv1_4 := i_Kv1_4_K + i_Kv1_4_Na; i_Kv1_4_K := (P_Kv1_4 / C_sc) * ((power(F, 2.0) * V) / (R * T)) * P_open * ((Ki - Ko * exp(-(V * F) / (R * T))) / (1.0 - exp(-(V * F) / (R * T)))); i_Kv1_4_Na := ((alpha * P_Kv1_4) / C_sc) * ((power(F, 2.0) * V) / (R * T)) * P_open * ((Ki - Ko * exp(-(V * F) / (R * T))) / (1.0 - exp(-(V * F) / (R * T)))); P_open := P_O + P_OI; alpha_a := alpha_a0 * exp(a_a); beta_a := beta_a0 * exp(- b_a); alpha_i := alpha_i0 * exp(- a_i); beta_i := beta_i0 * exp(b_i); // Rate Rules: P_C0' = (alpha_i * P_CI0 + beta_a * P_C1) - (beta_i + 4.0 * alpha_a) * P_C0; P_C1' = ((alpha_i / b1) * P_CI1 + 4.0 * alpha_a * P_C0 + 2.0 * beta_a * P_C2) - (f1 * beta_i + beta_a + 3.0 * alpha_a) * P_C1; P_C2' = ((alpha_i / b2) * P_CI2 + 3.0 * alpha_a * P_C1 + 3.0 * beta_a * P_C3) - (f2 * beta_i + 2.0 * beta_a + 2.0 * alpha_a) * P_C2; P_C3' = ((alpha_i / b3) * P_CI3 + 2.0 * alpha_a * P_C2 + 4.0 * beta_a * P_O) - (f3 * beta_i + 3.0 * beta_a + alpha_a) * P_C3; P_CI0' = (beta_i * P_C0 + (beta_a / f1) * P_C1) - (alpha_i + b1 * 4.0 * alpha_a) * P_CI0; P_CI1' = (((f1 * 2.0 * beta_a) / f2) * P_CI2 + b1 * 4.0 * alpha_a * P_CI0 + f1 * beta_i * P_C1) - ((b2 * 3.0 * alpha_a) / b1 + alpha_i / b1 + beta_a / f1) * P_CI1; P_CI2' = (((f2 * 3.0 * beta_a) / f3) * P_CI3 + ((b2 * 3.0 * alpha_a) / b1) * P_CI1 + f2 * beta_i * P_C2) - ((b3 * 2.0 * alpha_a) / b2 + alpha_i / b2 + (f1 * 2.0 * beta_a) / f2) * P_CI2; P_CI3' = (((f3 * 4.0 * beta_a) / f4) * P_OI + ((b3 * 2.0 * alpha_a) / b2) * P_CI2 + f3 * beta_i * P_C3) - ((b4 * alpha_a) / b3 + alpha_i / b3 + (f2 * 3.0 * beta_a) / f3) * P_CI3; P_O' = (alpha_a * P_C3 + (alpha_i / b4) * P_OI) - (f4 * beta_i + 4.0 * beta_a) * P_O; P_OI' = (((b4 * alpha_a) / b3) * P_CI3 + f4 * beta_i * P_O) - (alpha_i / b4 + (f3 * 4.0 * beta_a) / f4) * P_OI; // Variable initializations: alpha = ; P_C0 = ; P_C1 = ; P_C2 = ; P_C3 = ; P_CI0 = ; P_CI1 = ; P_CI2 = ; P_CI3 = ; P_O = ; P_OI = ; a_a = 0.006950; b_a = 0.08527; a_i = 0.0; b_i = 0.0; alpha_a0 = 1.8931; beta_a0 = 0.01179; alpha_i0 = 0.002963; beta_i0 = 1.0571E-4; f1 = 0.2001; f2 = 0.3203; f3 = 13.509; f4 = 1151.765; b1 = 2.2300; b2 = 12.000; b3 = 5.370; b4 = 5.240; P_Kv1_4 = 1.709E-6; time_ = ; V = ; Nai = ; Nao = ; Ki = ; Ko = ; R = ; T = ; F = ; C_sc = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__transient_outward_potassium_current(i_to1, time_, V, E_K, Nai, Nao, Ki, Ko, R, T, F, C_sc, i_Kv4_3, i_Kv1_4) // Sub-modules, and any changes to those submodules: Kv4_3_current: greenstein_wu_po_tomaselli_winslow_2000_version01__Kv4_3_current(i_Kv4_3, time_, V, E_K); Kv1_4_current: greenstein_wu_po_tomaselli_winslow_2000_version01__Kv1_4_current(i_Kv1_4, time_, V, Nai, Nao, Ki, Ko, R, T, F, C_sc); // Assignment Rules: i_to1 := i_Kv4_3 + i_Kv1_4; end model greenstein_wu_po_tomaselli_winslow_2000_version01__time_independent_potassium_current_K1_gate(K1_infinity_V, V, time_, E_K, R, T, F) // Assignment Rules: K1_infinity_V := 1.0 / (2.0 + exp(1.5 * (F / (R * T)) * (V - E_K))); // Variable initializations: V = ; time_ = ; E_K = ; R = ; T = ; F = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__time_independent_potassium_current(i_K1, time_, V, R, T, F, E_K, Ko, K1_infinity_V) // Sub-modules, and any changes to those submodules: time_independent_potassium_current_K1_gate: greenstein_wu_po_tomaselli_winslow_2000_version01__time_independent_potassium_current_K1_gate(K1_infinity_V, V, time_, E_K, R, T, F); // Assignment Rules: i_K1 := g_K1 * K1_infinity_V * (Ko / (Ko + K_mK1)) * (V - E_K); // Variable initializations: g_K1 = 2.8; K_mK1 = 13.0; Ko = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__plateau_potassium_current_Kp_gate(Kp_V, V, time_) // Assignment Rules: Kp_V := 1.0 / (1.0 + exp((7.488 - V) / 5.98)); // Variable initializations: V = ; time_ = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__plateau_potassium_current(i_Kp, time_, V, E_K, Kp_V) // Sub-modules, and any changes to those submodules: plateau_potassium_current_Kp_gate: greenstein_wu_po_tomaselli_winslow_2000_version01__plateau_potassium_current_Kp_gate(Kp_V, V, time_); // Assignment Rules: i_Kp := g_Kp * Kp_V * (V - E_K); // Variable initializations: g_Kp = 0.002216; E_K = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__Na_Ca_exchanger(i_NaCa, time_, V, R, T, F, Nai, Nao, Cai, Cao) // Assignment Rules: i_NaCa := K_NaCa * (5000.0 / (power(K_mNa, 3.0) + power(Nao, 3.0))) * (1.0 / (K_mCa + Cao)) * (1.0 / (1.0 + K_sat * exp((eta - 1.0) * V * (F / (R * T))))) * (exp(eta * V * (F / (R * T))) * power(Nai, 3.0) * Cao - exp((eta - 1.0) * V * (F / (R * T))) * power(Nao, 3.0) * Cai); // Variable initializations: K_mCa = 1.38; K_mNa = 87.5; K_NaCa = 0.30; K_sat = 0.2; eta = 0.35; time_ = ; V = ; R = ; T = ; F = ; Nai = ; Nao = ; Cai = ; Cao = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__sodium_potassium_pump(i_NaK, time_, V, R, T, F, Nai, Nao, Ko) // Assignment Rules: i_NaK := I_NaK * f_NaK * (1.0 / (1.0 + power(K_mNai / Nai, 1.5))) * (Ko / (Ko + K_mKo)); f_NaK := 1.0 / ((1.0 + 0.1245 * exp(-0.1 * ((V * F) / (R * T)))) + 0.0365 * sigma * exp(-((V * F) / (R * T)))); sigma := (1.0 / 7.0) * (exp(Nao / 67.3) - 1.0); // Variable initializations: I_NaK = 0.693; K_mNai = 10.0; K_mKo = 1.5; time_ = ; V = ; R = ; T = ; F = ; Nai = ; Nao = ; Ko = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__sarcolemmal_calcium_pump(i_p_Ca, time_, Cai) // Assignment Rules: i_p_Ca := I_pCa * (Cai / (K_mpCa + Cai)); // Variable initializations: K_mpCa = 0.00005; I_pCa = 0.05; time_ = ; Cai = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__calcium_background_current(i_Ca_b, time_, V, R, T, F, Cai, Cao) // Assignment Rules: i_Ca_b := g_Cab * (V - E_Ca); E_Ca := ((R * T) / (2.0 * F)) * ln(Cao / Cai); // Variable initializations: g_Cab = 0.0003842; time_ = ; V = ; R = ; T = ; F = ; Cai = ; Cao = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__sodium_background_current(i_Na_b, time_, V, E_Na) // Assignment Rules: i_Na_b := g_Nab * (V - E_Na); // Variable initializations: g_Nab = 0.0031; time_ = ; V = ; E_Na = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__L_type_Ca_current_y_gate(y, V, time_) // Assignment Rules: y_infinity := 0.8 / (1.0 + exp((V + 12.5) / 5.0)) + 0.2; tau_y := 20.0 + 600.0 / (1.0 + exp((V + 20.0) / 9.5)); // Rate Rules: y' = (y_infinity - y) / tau_y; // Variable initializations: y = 0.7959; V = ; time_ = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__L_type_Ca_current(i_Ca, i_Ca_K, time_, V, C_sc, Ca_ss, Cao, Ko, Ki, R, T, F, y) // Sub-modules, and any changes to those submodules: L_type_Ca_current_y_gate: greenstein_wu_po_tomaselli_winslow_2000_version01__L_type_Ca_current_y_gate(y, V, time_); // Assignment Rules: i_Ca := i_Ca_max * y * (O + O_Ca); i_Ca_K := (p_k / C_sc) * y * (O + O_Ca) * ((V * power(F, 2.0)) / (R * T)) * ((Ki * exp((V * F) / (R * T)) - Ko) / (exp((V * F) / (R * T)) - 1.0)); p_k := P_K / (1.0 + i_Ca_max / i_Ca_half); i_Ca_max := (P_Ca / C_sc) * ((4.0 * V * power(F, 2.0)) / (R * T)) * ((0.001 * exp((2.0 * V * F) / (R * T)) - 0.341 * Cao) / (exp((2.0 * V * F) / (R * T)) - 1.0)); alpha := 0.4 * exp((V + 2.0) / 10.0); beta := 0.05 * exp(-(V + 2.0) / 13.0); gamma := 0.10375 * Ca_ss; alpha_a := alpha * a; beta_b := beta / b; // Rate Rules: O' = f * C4 - g * O; O_Ca' = f_ * C_Ca4 - g_ * O_Ca; C0' = (beta * C1 + omega * C_Ca0) - (4.0 * alpha + gamma) * C0; C1' = (4.0 * alpha * C0 + 2.0 * beta * C2 + (omega / b) * C_Ca1) - (beta + 3.0 * alpha + gamma * a) * C1; C2' = (3.0 * alpha * C1 + 3.0 * beta * C3 + (omega / power(b, 2.0)) * C_Ca2) - (beta * 2.0 + 2.0 * alpha + gamma * power(a, 2.0)) * C2; C3' = (2.0 * alpha * C2 + 4.0 * beta * C4 + (omega / power(b, 3.0)) * C_Ca3) - (beta * 3.0 + alpha + gamma * power(a, 3.0)) * C3; C4' = (alpha * C3 + g * O + (omega / power(b, 4.0)) * C_Ca4) - (beta * 4.0 + f + gamma * power(a, 4.0)) * C4; C_Ca0' = (beta_b * C_Ca1 + gamma * C_Ca0) - (4.0 * alpha_a + omega) * C_Ca0; C_Ca1' = (4.0 * alpha_a * C_Ca0 + 2.0 * beta_b * C_Ca2 + gamma * a * C1) - (beta_b + 3.0 * alpha_a + omega / b) * C_Ca1; C_Ca2' = (3.0 * alpha_a * C_Ca1 + 3.0 * beta_b * C_Ca3 + gamma * power(a, 2.0) * C2) - (beta_b * 2.0 + 2.0 * alpha_a + omega / power(b, 2.0)) * C_Ca2; C_Ca3' = (2.0 * alpha_a * C_Ca2 + 4.0 * beta_b * C_Ca4 + gamma * power(a, 3.0) * C3) - (beta_b * 3.0 + alpha_a + omega / power(b, 3.0)) * C_Ca3; C_Ca4' = (alpha_a * C_Ca3 + g_ * O_Ca + gamma * power(a, 4.0) * C4) - (beta_b * 4.0 + f_ + omega / power(b, 4.0)) * C_Ca4; // Variable initializations: P_Ca = 0.0003125; P_K = 0.000000579; i_Ca_half = -0.265; O = 0.0; O_Ca = 0.0; a = 2.0; b = 2.0; g = 2.0; f = 0.3; g_ = 7.0; f_ = 0.005; omega = 0.01; C0 = 0.99802; C1 = 0.0000019544; C2 = 0.0; C3 = 0.0; C4 = 0.0; C_Ca0 = 0.0019734; C_Ca1 = 0.0; C_Ca2 = 0.0; C_Ca3 = 0.0; C_Ca4 = 0.0; C_sc = ; Ca_ss = ; Cao = ; Ko = ; Ki = ; R = ; T = ; F = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__RyR_channel(J_rel, time_, Ca_ss, Ca_JSR) // Assignment Rules: J_rel := v1 * (P_O1 + P_O2) * (Ca_JSR - Ca_ss); // Rate Rules: P_O1' = (k_a_plus * power(Ca_ss, n) * P_C1 - (k_a_minus * P_O1 + k_b_plus * power(Ca_ss, m) * P_O1 + k_c_plus * P_O1)) + k_b_minus * P_O2 + k_c_minus * P_C2; P_O2' = k_b_plus * power(Ca_ss, m) * P_O1 - k_b_minus * P_O2; P_C1' = - k_a_plus * power(Ca_ss, n) * P_C1 + k_a_minus * P_O1; P_C2' = k_c_plus * P_O1 - k_c_minus * P_C2; // Variable initializations: v1 = 1.8; k_a_plus = 12150000000.0; k_a_minus = 0.576; k_b_plus = 4050000.0; k_b_minus = 1.930; k_c_plus = 0.100; k_c_minus = 0.0008; P_O1 = 0.0006027; P_O2 = 0.000000002882; P_C1 = 0.4929; P_C2 = 0.5056; n = 4.0; m = 3.0; time_ = ; Ca_ss = ; Ca_JSR = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__SERCA2a_pump(J_up, time_, Cai, Ca_NSR) // Assignment Rules: J_up := K_SR * ((Vmaxf * fb - Vmaxr * rb) / (1.0 + fb + rb)); fb := power(Cai / K_fb, N_fb); rb := power(Ca_NSR / K_rb, N_rb); // Variable initializations: K_fb = 0.000168; K_rb = 3.29; Vmaxf = 0.0000813; Vmaxr = 0.000318; K_SR = 1.0; N_fb = 1.2; N_rb = 1.0; time_ = ; Cai = ; Ca_NSR = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__intracellular_Ca_fluxes(J_tr, J_xfer, J_trpn, time_, Ca_ss, Cai, Ca_NSR, Ca_JSR) // Assignment Rules: J_tr := (Ca_NSR - Ca_JSR) / tau_tr; J_xfer := (Ca_ss - Cai) / tau_xfer; J_trpn := J_HTRPNCa + J_LTRPNCa; J_HTRPNCa := d(HTRPNCa)/ d(unknown- element); J_LTRPNCa := d(LTRPNCa)/ d(unknown- element); // Rate Rules: HTRPNCa' = k_htrpn_plus * Cai * (HTRPN_tot - HTRPNCa) - k_htrpn_minus * HTRPNCa; LTRPNCa' = k_ltrpn_plus * Cai * (LTRPN_tot - LTRPNCa) - k_ltrpn_minus * LTRPNCa; // Variable initializations: tau_tr = 0.5747; tau_xfer = 26.7; HTRPNCa = 0.13664; LTRPNCa = 0.0055443; HTRPN_tot = 0.140; LTRPN_tot = 0.070; k_htrpn_plus = 20.0; k_htrpn_minus = 0.0000066; k_ltrpn_plus = 40.0; k_ltrpn_minus = 0.040; time_ = ; Ca_ss = ; Cai = ; Ca_NSR = ; Ca_JSR = ; d = ; unknown = ; element = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__intracellular_ion_concentrations(Nai, Cai, Ki, Ca_ss, Ca_JSR, Ca_NSR, time_, F, C_sc, i_Na, i_Ca, i_Na_b, i_NaCa, i_NaK, i_Ca_K, i_Kr, i_Ks, i_K1, i_Kp, i_to1, i_p_Ca, i_Ca_b, J_up, J_rel, J_xfer, J_trpn, J_tr) // Assignment Rules: beta_i := 1.0 / (1.0 + (CMDN_tot * K_mCMDN) / (K_mCMDN + power(Cai, 2.0))); beta_SS := 1.0 / (1.0 + (CMDN_tot * K_mCMDN) / (K_mCMDN + power(Ca_ss, 2.0))); beta_JSR := 1.0 / (1.0 + (CSQN_tot * K_mCSQN) / (K_mCSQN + power(Ca_JSR, 2.0))); // Rate Rules: Nai' = -(i_Na + i_Na_b + i_NaCa * 3.0 + i_NaK * 3.0) * ((A_cap * C_sc) / (V_myo * F)); Cai' = beta_i * (J_xfer - (J_up + J_trpn + ((i_Ca_b - 2.0 * i_NaCa) + i_p_Ca) * ((A_cap * C_sc) / (2.0 * V_myo * F)))); Ki' = -(i_Ca_K + i_Kr + i_Ks + i_K1 + i_Kp + i_to1 + i_NaK * -2.0) * ((A_cap * C_sc) / (V_myo * F)); Ca_ss' = beta_SS * ((J_rel * (V_JSR / V_SS) - J_xfer * (V_myo / V_SS)) - i_Ca * ((A_cap * C_sc) / (2.0 * V_SS * F))); Ca_JSR' = beta_JSR * (J_tr - J_rel); Ca_NSR' = J_up * (V_myo / V_NSR) - J_tr * (V_JSR / V_NSR); // Variable initializations: Nai = 10.0; Cai = 0.00008464; Ki = 159.48; Ca_ss = 0.0001315; Ca_JSR = 0.2616; Ca_NSR = 0.2620; A_cap = 0.0001534; V_myo = 0.00002584; V_JSR = 0.00000016; V_NSR = 0.0000021; V_SS = 0.0000000012; K_mCMDN = 0.00238; K_mCSQN = 0.8; CMDN_tot = 0.05; CSQN_tot = 15.0; time_ = ; F = ; C_sc = ; i_Na = ; i_Ca = ; i_Na_b = ; i_NaCa = ; i_NaK = ; i_Ca_K = ; i_Kr = ; i_Ks = ; i_K1 = ; i_Kp = ; i_to1 = ; i_p_Ca = ; i_Ca_b = ; J_up = ; J_rel = ; J_xfer = ; J_trpn = ; J_tr = ; end model greenstein_wu_po_tomaselli_winslow_2000_version01__standard_ionic_concentrations(Nao, Cao, Ko) // Variable initializations: Nao = 138.0; Cao = 2.0; Ko = 4.0; end model *greenstein_wu_po_tomaselli_winslow_2000_version01____main() // Sub-modules, and any changes to those submodules: environment: greenstein_wu_po_tomaselli_winslow_2000_version01__environment(time_); membrane: greenstein_wu_po_tomaselli_winslow_2000_version01__membrane(V, R, T, F, C_sc, time_, i_Na, i_Ca, i_Ca_K, i_Kr, i_Ks, i_to1, i_K1, i_Kp, i_NaCa, i_NaK, i_p_Ca, i_Ca_b, i_Na_b); fast_sodium_current: greenstein_wu_po_tomaselli_winslow_2000_version01__fast_sodium_current(i_Na, E_Na, time_, V, Nao, Nai, R, F, T, m, h, j); rapid_activating_delayed_rectifiyer_K_current: greenstein_wu_po_tomaselli_winslow_2000_version01__rapid_activating_delayed_rectifiyer_K_current(i_Kr, E_K, time_, V, Ko, Ki, R, T, F, X_kr); slow_activating_delayed_rectifiyer_K_current: greenstein_wu_po_tomaselli_winslow_2000_version01__slow_activating_delayed_rectifiyer_K_current(i_Ks, time_, V, Ko, Ki, Nao, Nai, R, T, F, X_ks); transient_outward_potassium_current: greenstein_wu_po_tomaselli_winslow_2000_version01__transient_outward_potassium_current(i_to1, time_, V, E_K, Nai, Nao, Ki, Ko, R, T, F, C_sc, i_Kv4_3, i_Kv1_4); time_independent_potassium_current: greenstein_wu_po_tomaselli_winslow_2000_version01__time_independent_potassium_current(i_K1, time_, V, R, T, F, E_K, Ko, K1_infinity_V); plateau_potassium_current: greenstein_wu_po_tomaselli_winslow_2000_version01__plateau_potassium_current(i_Kp, time_, V, E_K, Kp_V); Na_Ca_exchanger: greenstein_wu_po_tomaselli_winslow_2000_version01__Na_Ca_exchanger(i_NaCa, time_, V, R, T, F, Nai, Nao, Cai, Cao); sodium_potassium_pump: greenstein_wu_po_tomaselli_winslow_2000_version01__sodium_potassium_pump(i_NaK, time_, V, R, T, F, Nai, Nao, Ko); sarcolemmal_calcium_pump: greenstein_wu_po_tomaselli_winslow_2000_version01__sarcolemmal_calcium_pump(i_p_Ca, time_, Cai); calcium_background_current: greenstein_wu_po_tomaselli_winslow_2000_version01__calcium_background_current(i_Ca_b, time_, V, R, T, F, Cai, Cao); sodium_background_current: greenstein_wu_po_tomaselli_winslow_2000_version01__sodium_background_current(i_Na_b, time_, V, E_Na); L_type_Ca_current: greenstein_wu_po_tomaselli_winslow_2000_version01__L_type_Ca_current(i_Ca, i_Ca_K, time_, V, C_sc, Ca_ss, Cao, Ko, Ki, R, T, F, y); RyR_channel: greenstein_wu_po_tomaselli_winslow_2000_version01__RyR_channel(J_rel, time_, Ca_ss, Ca_JSR); SERCA2a_pump: greenstein_wu_po_tomaselli_winslow_2000_version01__SERCA2a_pump(J_up, time_, Cai, Ca_NSR); intracellular_Ca_fluxes: greenstein_wu_po_tomaselli_winslow_2000_version01__intracellular_Ca_fluxes(J_tr, J_xfer, J_trpn, time_, Ca_ss, Cai, Ca_NSR, Ca_JSR); intracellular_ion_concentrations: greenstein_wu_po_tomaselli_winslow_2000_version01__intracellular_ion_concentrations(Nai, Cai, Ki, Ca_ss, Ca_JSR, Ca_NSR, time_, F, C_sc, i_Na, i_Ca, i_Na_b, i_NaCa, i_NaK, i_Ca_K, i_Kr, i_Ks, i_K1, i_Kp, i_to1, i_p_Ca, i_Ca_b, J_up, J_rel, J_xfer, J_trpn, J_tr); standard_ionic_concentrations: greenstein_wu_po_tomaselli_winslow_2000_version01__standard_ionic_concentrations(Nao, Cao, Ko); end