//Created by libAntimony v2.4 model fox_2002__environment(time_) // Variable initializations: time_ = ; end model fox_2002__membrane(V, R, T, F, time_, i_Na, i_Ca, i_CaK, i_Kr, i_Ks, i_to, i_K1, i_Kp, i_NaCa, i_NaK, i_p_Ca, i_Ca_b, i_Na_b, i_Stim) // 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' = -(i_Na + i_Ca + i_CaK + i_Kr + i_Ks + i_to + i_K1 + i_Kp + i_NaCa + i_NaK + i_p_Ca + i_Na_b + i_Ca_b + i_Stim); // Variable initializations: V = -94.7; R = 8.314; T = 310; F = 96.5; time_ = ; i_Na = ; i_Ca = ; i_CaK = ; i_Kr = ; i_Ks = ; i_to = ; i_K1 = ; i_Kp = ; i_NaCa = ; i_NaK = ; i_p_Ca = ; i_Ca_b = ; i_Na_b = ; stim_start = 50; stim_end = 9000; stim_period = 1000; stim_duration = 1; stim_amplitude = -80; end model fox_2002__fast_sodium_current_m_gate(m, V, time_) // Assignment Rules: alpha_m := (0.32 * E0_m) / (1 - exp(-(0.1) * E0_m)); beta_m := 0.08 * exp(- V / 11); E0_m := V + 47.13; // Rate Rules: m' = alpha_m * (1 - m) - beta_m * m; // Variable initializations: m = 0.00024676; V = ; time_ = ; end model fox_2002__fast_sodium_current_h_gate(h, V, time_) // Assignment Rules: alpha_h := 0.135 * exp(((V + 80) - shift_h) / -(6.8)); beta_h := 7.5 / (1 + exp(-(0.1) * ((V + 11) - shift_h))); // Rate Rules: h' = alpha_h * (1 - h) - beta_h * h; // Variable initializations: h = 0.99869; V = ; shift_h = 0; time_ = ; end model fox_2002__fast_sodium_current_j_gate(j, V, time_) // Assignment Rules: alpha_j := (0.175 * exp(((V + 100) - shift_j) / -(23))) / (1 + exp(0.15 * ((V + 79) - shift_j))); beta_j := 0.3 / (1 + exp(-(0.1) * ((V + 32) - shift_j))); // Rate Rules: j' = alpha_j * (1 - j) - beta_j * j; // Variable initializations: j = 0.99887; V = ; shift_j = 0; time_ = ; end model fox_2002__fast_sodium_current(i_Na, E_Na, time_, V, Na_o, Na_i, R, F, T, m, h, j) // Sub-modules, and any changes to those submodules: fast_sodium_current_m_gate: fox_2002__fast_sodium_current_m_gate(m, V, time_); fast_sodium_current_h_gate: fox_2002__fast_sodium_current_h_gate(h, V, time_); fast_sodium_current_j_gate: fox_2002__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(Na_o / Na_i); // Variable initializations: g_Na = 12.8; Na_o = ; Na_i = ; R = ; F = ; T = ; end model fox_2002__time_independent_potassium_current_K1_gate(K1_infinity, V, time_, E_K, R, T, F) // Assignment Rules: K1_infinity := 1 / (2 + exp(((1.62 * F) / (R * T)) * (V - E_K))); // Variable initializations: V = ; time_ = ; E_K = ; R = ; T = ; F = ; end model fox_2002__time_independent_potassium_current(i_K1, time_, V, R, T, F, E_K, K_o, K1_infinity) // Sub-modules, and any changes to those submodules: time_independent_potassium_current_K1_gate: fox_2002__time_independent_potassium_current_K1_gate(K1_infinity, V, time_, E_K, R, T, F); // Assignment Rules: i_K1 := ((g_K1 * K1_infinity * K_o) / (K_o + K_mK1)) * (V - E_K); // Variable initializations: g_K1 = 2.8; K_mK1 = 13; K_o = ; end model fox_2002__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate(X_kr, V, time_) // Assignment Rules: X_kr_inf := 1 / (1 + exp(-(2.182) - 0.1819 * V)); tau_X_kr := 43 + 1 / (exp(-(5.495) + 0.1691 * V) + exp(-(7.677) - 0.0128 * V)); // Rate Rules: X_kr' = (X_kr_inf - X_kr) / tau_X_kr; // Variable initializations: X_kr = 0.229; V = ; time_ = ; end model fox_2002__rapid_activating_delayed_rectifiyer_K_current(i_Kr, E_K, time_, V, K_o, K_i, R, T, F, X_kr) // Sub-modules, and any changes to those submodules: rapid_activating_delayed_rectifiyer_K_current_X_kr_gate: fox_2002__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate(X_kr, V, time_); // Assignment Rules: i_Kr := g_Kr * R_V * X_kr * root(K_o / 4) * (V - E_K); E_K := ((R * T) / F) * ln(K_o / K_i); R_V := 1 / (1 + 2.5 * exp(0.1 * (V + 28))); // Variable initializations: g_Kr = 0.0136; K_o = ; K_i = ; R = ; T = ; F = ; end model fox_2002__slow_activating_delayed_rectifiyer_K_current_X_ks_gate(X_ks, V, time_) // Assignment Rules: tau_X_ks := 1 / ((0.0000719 * (V - 10)) / (1 - exp(-(0.148) * (V - 10))) + (0.000131 * (V - 10)) / (exp(0.0687 * (V - 10)) - 1)); X_ks_infinity := 1 / (1 + exp((V - 16) / -(13.6))); // Rate Rules: X_ks' = (X_ks_infinity - X_ks) / tau_X_ks; // Variable initializations: X_ks = 0.0001; V = ; time_ = ; end model fox_2002__slow_activating_delayed_rectifiyer_K_current(i_Ks, time_, V, K_o, K_i, Na_o, Na_i, R, T, F, X_ks) // Sub-modules, and any changes to those submodules: slow_activating_delayed_rectifiyer_K_current_X_ks_gate: fox_2002__slow_activating_delayed_rectifiyer_K_current_X_ks_gate(X_ks, V, time_); // Assignment Rules: i_Ks := g_Ks * power(X_ks, 2) * (V - E_Ks); E_Ks := ((R * T) / F) * ln((K_o + 0.01833 * Na_o) / (K_i + 0.01833 * Na_i)); // Variable initializations: g_Ks = 0.0245; K_o = ; K_i = ; Na_o = ; Na_i = ; R = ; T = ; F = ; end model fox_2002__transient_outward_potassium_current_X_to_gate(X_to, V, time_) // Assignment Rules: alpha_X_to := 0.04516 * exp(0.03577 * V); beta_X_to := 0.0989 * exp(-(0.06237) * V); // Rate Rules: X_to' = alpha_X_to * (1 - X_to) - beta_X_to * X_to; // Variable initializations: X_to = 0.00003742; V = ; time_ = ; end model fox_2002__transient_outward_potassium_current_Y_to_gate(Y_to, V, time_) // Assignment Rules: alpha_Y_to := (0.005415 * exp((V + 33.5) / -(5))) / (1 + 0.051335 * exp((V + 33.5) / -(5))); beta_Y_to := (0.005415 * exp((V + 33.5) / 5)) / (1 + 0.051335 * exp((V + 33.5) / 5)); // Rate Rules: Y_to' = alpha_Y_to * (1 - Y_to) - beta_Y_to * Y_to; // Variable initializations: Y_to = 1; V = ; time_ = ; end model fox_2002__transient_outward_potassium_current(i_to, time_, V, E_K, X_to, Y_to) // Sub-modules, and any changes to those submodules: transient_outward_potassium_current_X_to_gate: fox_2002__transient_outward_potassium_current_X_to_gate(X_to, V, time_); transient_outward_potassium_current_Y_to_gate: fox_2002__transient_outward_potassium_current_Y_to_gate(Y_to, V, time_); // Assignment Rules: i_to := g_to * X_to * Y_to * (V - E_K); // Variable initializations: g_to = 0.23815; E_K = ; end model fox_2002__plateau_potassium_current_Kp_gate(Kp_V, V, time_) // Assignment Rules: Kp_V := 1 / (1 + exp((7.488 - V) / 5.98)); // Variable initializations: V = ; time_ = ; end model fox_2002__plateau_potassium_current(i_Kp, time_, V, E_K, Kp_V) // Sub-modules, and any changes to those submodules: plateau_potassium_current_Kp_gate: fox_2002__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 fox_2002__sodium_potassium_pump(i_NaK, time_, V, R, T, F, Na_i, Na_o, K_o) // Assignment Rules: i_NaK := (((i_NaK_max * f_NaK) / (1 + power(K_mNai / Na_i, 1.5))) * K_o) / (K_o + K_mKo); f_NaK := 1 / (1 + 0.1245 * exp((-(0.1) * V * F) / (R * T)) + 0.0365 * sigma * exp((- V * F) / (R * T))); sigma := (1 / 7) * (exp(Na_o / 67.3) - 1); // Variable initializations: i_NaK_max = 0.693; K_mNai = 10; K_mKo = 1.5; time_ = ; V = ; R = ; T = ; F = ; Na_i = ; Na_o = ; K_o = ; end model fox_2002__Na_Ca_exchanger(i_NaCa, time_, V, R, T, F, Na_i, Na_o, Ca_i, Ca_o) // Assignment Rules: i_NaCa := (K_NaCa / ((power(K_mNa, 3) + power(Na_o, 3)) * (K_mCa + Ca_o) * (1 + K_sat * exp(((eta - 1) * V * F) / (R * T))))) * (exp((eta * V * F) / (R * T)) * power(Na_i, 3) * Ca_o - exp(((eta - 1) * V * F) / (R * T)) * power(Na_o, 3) * Ca_i); // Variable initializations: K_mCa = 1380; K_mNa = 87.5; K_NaCa = 1500; K_sat = 0.2; eta = 0.35; time_ = ; V = ; R = ; T = ; F = ; Na_i = ; Na_o = ; Ca_i = ; Ca_o = ; end model fox_2002__sarcolemmal_calcium_pump(i_p_Ca, time_, Ca_i) // Assignment Rules: i_p_Ca := (i_pCa_max * Ca_i) / (K_mpCa + Ca_i); // Variable initializations: K_mpCa = 0.05; i_pCa_max = 0.05; time_ = ; Ca_i = ; end model fox_2002__calcium_background_current(i_Ca_b, time_, V, R, T, F, Ca_i, Ca_o) // Assignment Rules: i_Ca_b := g_Cab * (V - E_Ca); E_Ca := ((R * T) / (2 * F)) * ln(Ca_o / Ca_i); // Variable initializations: g_Cab = 0.0003842; time_ = ; V = ; R = ; T = ; F = ; Ca_i = ; Ca_o = ; end model fox_2002__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 fox_2002__L_type_Ca_current_f_gate(f, V, time_) // Assignment Rules: f_infinity := 1 / (1 + exp((V + 12.5) / 5)); tau_f := 30 + 200 / (1 + exp((V + 20) / 9.5)); // Rate Rules: f' = (f_infinity - f) / tau_f; // Variable initializations: f = 0.983; V = ; time_ = ; end model fox_2002__L_type_Ca_current_d_gate(d, V, time_) // Assignment Rules: d_infinity := 1 / (1 + exp((V + 10) / -(6.24))); tau_d := 1 / ((0.25 * exp(-(0.01) * V)) / (1 + exp(-(0.07) * V)) + (0.07 * exp(-(0.05) * E0_m)) / (1 + exp(0.05 * E0_m))); E0_m := V + 40; // Rate Rules: d' = (d_infinity - d) / tau_d; // Variable initializations: d = 0.0001; V = ; time_ = ; end model fox_2002__L_type_Ca_current_f_Ca_gate(f_Ca, V, time_, Ca_i) // Assignment Rules: tau_f_Ca := 30; f_Ca_infinity := 1 / (1 + power(Ca_i / K_mfCa, 3)); // Rate Rules: f_Ca' = (f_Ca_infinity - f_Ca) / tau_f_Ca; // Variable initializations: f_Ca = 0.942; K_mfCa = 0.18; V = ; time_ = ; Ca_i = ; end model fox_2002__L_type_Ca_current(time_, i_Ca, i_CaK, V, C_sc, Ca_o, K_o, K_i, Ca_i, R, T, F, f, d, f_Ca) // Sub-modules, and any changes to those submodules: L_type_Ca_current_f_gate: fox_2002__L_type_Ca_current_f_gate(f, V, time_); L_type_Ca_current_d_gate: fox_2002__L_type_Ca_current_d_gate(d, V, time_); L_type_Ca_current_f_Ca_gate: fox_2002__L_type_Ca_current_f_Ca_gate(f_Ca, V, time_, Ca_i); // Assignment Rules: i_Ca := i_Ca_max * f * d * f_Ca; i_CaK := ((((((P_CaK / C_sc) * f * d * f_Ca) / (1 + i_Ca_max / i_Ca_half)) * 1000 * V * power(F, 2)) / (R * T)) * (K_i * exp((V * F) / (R * T)) - K_o)) / (exp((V * F) / (R * T)) - 1); i_Ca_max := ((((P_Ca / C_sc) * 4 * V * power(F, 2)) / (R * T)) * (Ca_i * exp((2 * V * F) / (R * T)) - 0.341 * Ca_o)) / (exp((2 * V * F) / (R * T)) - 1); // Variable initializations: P_Ca = 0.0000226; P_CaK = 0.000000579; i_Ca_half = -0.265; C_sc = 1; Ca_o = ; K_o = ; K_i = ; R = ; T = ; F = ; end model fox_2002__calcium_dynamics(Ca_i, F, C_sc, i_Ca, i_Ca_b, i_p_Ca, i_NaCa, f_Ca, V, time_, f, d) // Assignment Rules: beta_i := 1 / (1 + (CMDN_tot * K_mCMDN) / power(K_mCMDN + Ca_i, 2)); J_rel := (P_rel * f * d * f_Ca * (gamma * Ca_SR - Ca_i)) / (1 + 1.65 * exp(V / 20)); J_leak := P_leak * (Ca_SR - Ca_i); J_up := V_up / (1 + power(K_mup / Ca_i, 2)); gamma := 1 / (1 + power(2000 / Ca_SR, 3)); beta_SR := 1 / (1 + (CSQN_tot * K_mCSQN) / power(K_mCSQN + Ca_SR, 2)); // Rate Rules: Ca_i' = beta_i * (((J_rel + J_leak) - J_up) - ((A_Cap * C_sc) / (2 * F * V_myo)) * ((i_Ca + i_Ca_b + i_p_Ca) - 2 * i_NaCa)); Ca_SR' = (beta_SR * ((J_up - J_leak) - J_rel) * V_myo) / V_SR; // Variable initializations: Ca_i = 0.0472; K_mCMDN = 2; CMDN_tot = 10; V_myo = 0.00002584; F = ; C_sc = ; A_Cap = 0.0001534; i_Ca = ; i_Ca_b = ; i_p_Ca = ; i_NaCa = ; Ca_SR = 320; P_rel = 6; P_leak = 0.000001; K_mCSQN = 600; CSQN_tot = 10000; V_SR = 0.000002; V_up = 0.1; K_mup = 0.32; f_Ca = ; V = ; time_ = ; f = ; d = ; end model fox_2002__standard_ionic_concentrations(Na_i, Na_o, Ca_o, K_i, K_o) // Variable initializations: Na_i = 10; Na_o = 138; Ca_o = 2000; K_i = 149.4; K_o = 4; end model *fox_2002____main() // Sub-modules, and any changes to those submodules: environment: fox_2002__environment(time_); membrane: fox_2002__membrane(V, R, T, F, time_, i_Na, i_Ca, i_CaK, i_Kr, i_Ks, i_to, i_K1, i_Kp, i_NaCa, i_NaK, i_p_Ca, i_Ca_b, i_Na_b, i_Stim); fast_sodium_current: fox_2002__fast_sodium_current(i_Na, E_Na, time_, V, Na_o, Na_i, R, F, T, m, h, j); time_independent_potassium_current: fox_2002__time_independent_potassium_current(i_K1, time_, V, R, T, F, E_K, K_o, K1_infinity); rapid_activating_delayed_rectifiyer_K_current: fox_2002__rapid_activating_delayed_rectifiyer_K_current(i_Kr, E_K, time_, V, K_o, K_i, R, T, F, X_kr); slow_activating_delayed_rectifiyer_K_current: fox_2002__slow_activating_delayed_rectifiyer_K_current(i_Ks, time_, V, K_o, K_i, Na_o, Na_i, R, T, F, X_ks); transient_outward_potassium_current: fox_2002__transient_outward_potassium_current(i_to, time_, V, E_K, X_to, Y_to); plateau_potassium_current: fox_2002__plateau_potassium_current(i_Kp, time_, V, E_K, Kp_V); sodium_potassium_pump: fox_2002__sodium_potassium_pump(i_NaK, time_, V, R, T, F, Na_i, Na_o, K_o); Na_Ca_exchanger: fox_2002__Na_Ca_exchanger(i_NaCa, time_, V, R, T, F, Na_i, Na_o, Ca_i, Ca_o); sarcolemmal_calcium_pump: fox_2002__sarcolemmal_calcium_pump(i_p_Ca, time_, Ca_i); calcium_background_current: fox_2002__calcium_background_current(i_Ca_b, time_, V, R, T, F, Ca_i, Ca_o); sodium_background_current: fox_2002__sodium_background_current(i_Na_b, time_, V, E_Na); L_type_Ca_current: fox_2002__L_type_Ca_current(time_, i_Ca, i_CaK, V, C_sc, Ca_o, K_o, K_i, Ca_i, R, T, F, f, d, f_Ca); calcium_dynamics: fox_2002__calcium_dynamics(Ca_i, F, C_sc, i_Ca, i_Ca_b, i_p_Ca, i_NaCa, f_Ca, V, time_, f, d); standard_ionic_concentrations: fox_2002__standard_ionic_concentrations(Na_i, Na_o, Ca_o, K_i, K_o); end