//Created by libAntimony v2.4 model michailova_2005__environment(time_) // Variable initializations: time_ = ; end model michailova_2005__membrane(V, R, T, F, C_sc, i_Stim, 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, i_K_ATP) // 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) * 1 * (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 + i_K_ATP + i_Stim)) / C_sc; // Variable initializations: V = -96.1638; R = 8.314472; T = 310; F = 96.4853415; C_sc = 0.001; 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 = ; i_K_ATP = ; stim_start = 0.1; stim_end = 100000000; stim_period = 1; stim_duration = 0.0005; stim_amplitude = -100.0; end model michailova_2005__fast_sodium_current_m_gate(m, V, time_) // Assignment Rules: alpha_m := piecewise( 320 / (0.1 - 0.005 * E0_m) , abs(E0_m) < 0.00001 , (320 * E0_m) / (1 - exp(-(0.1) * E0_m)) ); beta_m := 80 * exp(- V / 11); E0_m := V + 47.13; // Rate Rules: m' = piecewise( alpha_m * (1 - m) - beta_m * m , geq(V, -(90)) , 0 ); // Variable initializations: m = 0.0328302; V = ; time_ = ; end model michailova_2005__fast_sodium_current_h_gate(h, V, time_) // Assignment Rules: alpha_h := piecewise( 135 * exp((80 + V) / -(6.8)) , V < -(40) , 0 ); beta_h := piecewise( 3560 * exp(0.079 * V) + 310000 * exp(0.35 * V) , V < -(40) , 1000 / (0.13 * (1 + exp((V + 10.66) / -(11.1)))) ); // Rate Rules: h' = alpha_h * (1 - h) - beta_h * h; // Variable initializations: h = 0.988354; V = ; time_ = ; end model michailova_2005__fast_sodium_current_j_gate(j, V, time_) // Assignment Rules: alpha_j := piecewise( (1000 * -(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( (121.2 * exp(-(0.01052) * V)) / (1 + exp(-(0.1378) * (V + 40.14))) , V < -(40) , (300 * exp(-(0.0000002535) * V)) / (1 + exp(-(0.1) * (V + 32))) ); // Rate Rules: j' = alpha_j * (1 - j) - beta_j * j; // Variable initializations: j = 0.99254; V = ; time_ = ; end model michailova_2005__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: michailova_2005__fast_sodium_current_m_gate(m, V, time_); fast_sodium_current_h_gate: michailova_2005__fast_sodium_current_h_gate(h, V, time_); fast_sodium_current_j_gate: michailova_2005__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 michailova_2005__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate(X_kr, V, time_) // Assignment Rules: K12 := exp(-(5.495) + 0.1691 * V); K21 := exp(-(7.677) - 0.0128 * V); X_kr_inf := K12 / (K12 + K21); tau_X_kr := 0.001 / (K12 + K21) + tau_factor * 0.027; // Rate Rules: X_kr' = (X_kr_inf - X_kr) / tau_X_kr; // Variable initializations: X_kr = 0.51; tau_factor = 1; V = ; time_ = ; end model michailova_2005__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: michailova_2005__rapid_activating_delayed_rectifiyer_K_current_X_kr_gate(X_kr, V, time_); // Assignment Rules: i_Kr := g_Kr * f_K_o * R_V * X_kr * (V - E_K); E_K := ((R * T) / F) * ln(K_o / K_i); f_K_o := root(K_o / 4); R_V := 1 / (1 + 1.4945 * exp(0.0446 * V)); // Variable initializations: g_Kr = 0.0034; K_o = ; K_i = ; R = ; T = ; F = ; end model michailova_2005__slow_activating_delayed_rectifiyer_K_current_X_ks_gate(X_ks, V, time_) // Assignment Rules: tau_X_ks := 0.001 / ((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 - 24.7) / 13.6)); // Rate Rules: X_ks' = (X_ks_infinity - X_ks) / tau_X_ks; // Variable initializations: X_ks = 0.264; V = ; time_ = ; end model michailova_2005__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: michailova_2005__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.0027134; K_o = ; K_i = ; Na_o = ; Na_i = ; R = ; T = ; F = ; end model michailova_2005__transient_outward_potassium_current_X_to1_gate(X_to1, V, time_) // Assignment Rules: alpha_X_to1 := 45.16 * exp(0.03577 * V); beta_X_to1 := 98.9 * exp(-(0.06237) * V); // Rate Rules: X_to1' = alpha_X_to1 * (1 - X_to1) - beta_X_to1 * X_to1; // Variable initializations: X_to1 = 2.63; V = ; time_ = ; end model michailova_2005__transient_outward_potassium_current_Y_to1_gate(Y_to1, V, time_) // Assignment Rules: alpha_Y_to1 := (5.415 * exp(-(V + 33.5) / 5)) / (1 + 0.051335 * exp(-(V + 33.5) / 5)); beta_Y_to1 := (5.415 * exp((V + 33.5) / 5)) / (1 + 0.051335 * exp((V + 33.5) / 5)); // Rate Rules: Y_to1' = alpha_Y_to1 * (1 - Y_to1) - beta_Y_to1 * Y_to1; // Variable initializations: Y_to1 = 0.99; V = ; time_ = ; end model michailova_2005__transient_outward_potassium_current(i_to1, time_, V, E_K, X_to1, Y_to1) // Sub-modules, and any changes to those submodules: transient_outward_potassium_current_X_to1_gate: michailova_2005__transient_outward_potassium_current_X_to1_gate(X_to1, V, time_); transient_outward_potassium_current_Y_to1_gate: michailova_2005__transient_outward_potassium_current_Y_to1_gate(Y_to1, V, time_); // Assignment Rules: i_to1 := g_to1 * X_to1 * Y_to1 * (V - E_K); // Variable initializations: g_to1 = 0.23815; E_K = ; end model michailova_2005__time_independent_potassium_current_K1_gate(K1_infinity_V, V, time_, E_K, R, T, F) // Assignment Rules: K1_infinity_V := 1 / (2 + exp(((1.5 * F) / (R * T)) * (V - E_K))); // Variable initializations: V = ; time_ = ; E_K = ; R = ; T = ; F = ; end model michailova_2005__time_independent_potassium_current(i_K1, time_, V, R, T, F, E_K, K_o, K1_infinity_V) // Sub-modules, and any changes to those submodules: time_independent_potassium_current_K1_gate: michailova_2005__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 * K_o) / (K_o + K_mK1)) * (V - E_K); // Variable initializations: g_K1 = 2.8; K_mK1 = 13; K_o = ; end model michailova_2005__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 michailova_2005__plateau_potassium_current(i_Kp, time_, V, E_K, Kp_V) // Sub-modules, and any changes to those submodules: plateau_potassium_current_Kp_gate: michailova_2005__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 michailova_2005__Na_Ca_exchanger(i_NaCa, time_, V, R, T, F, Na_i, Na_o, Ca_i, Ca_o) // Assignment Rules: i_NaCa := ((K_NaCa * 5000) / ((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 = 1.38; K_mNa = 87.5; K_NaCa = 0.3; K_sat = 0.2; eta = 0.35; time_ = ; V = ; R = ; T = ; F = ; Na_i = ; Na_o = ; Ca_i = ; Ca_o = ; end model michailova_2005__sodium_potassium_pump(i_NaK, time_, V, R, T, F, Na_i, Na_o, K_o) // Assignment Rules: i_NaK := (((I_NaK * f_NaK) / (1 + power(K_mNa_i / Na_i, 1.5))) * K_o) / (K_o + K_mK_o); 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 = 0.693; K_mNa_i = 10; K_mK_o = 1.5; time_ = ; V = ; R = ; T = ; F = ; Na_i = ; Na_o = ; K_o = ; end model michailova_2005__sarcolemmal_calcium_pump(i_p_Ca, time_, Ca_i, MgATP_i, MgATP_i0) // Assignment Rules: i_p_Ca := (MgATP_i / MgATP_i0) * i_p_Ca_winslow; i_p_Ca_winslow := (I_pCa * Ca_i) / (K_mpCa + Ca_i); // Variable initializations: K_mpCa = 0.00005; I_pCa = 0.05; time_ = ; Ca_i = ; MgATP_i = ; MgATP_i0 = ; end model michailova_2005__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 michailova_2005__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 michailova_2005__L_type_Ca_current_y_gate(y, V, time_) // Assignment Rules: y_infinity := 0.8 / (1 + exp((V + 12.5) / 5)) + 0.2; tau_y := (20 + 600 / (1 + exp((V + 20) / 9.5))) / 1000; // Rate Rules: y' = (y_infinity - y) / tau_y; // Variable initializations: y = 0.798; V = ; time_ = ; end model michailova_2005__L_type_Ca_current(i_Ca, i_Ca_K, time_, V, C_sc, Ca_ss, MgATP_ss, Ca_o, K_o, K_i, R, T, F, y) // Sub-modules, and any changes to those submodules: L_type_Ca_current_y_gate: michailova_2005__L_type_Ca_current_y_gate(y, V, time_); // Assignment Rules: i_Ca := f_Ca * (P_Ca / (1 * C_sc)) * ((4 * V * power(F, 2)) / (R * T)) * ((0.001 * exp((F * V) / (R * T)) - 0.34 * Ca_o) / (exp((F * V) / (R * T)) - 1.0)) * P_rom; i_Ca_K := 1.0 * f_Ca * (p_prime_k / C_sc) * P_rom; f_Ca := 1 / (1 + power(k_MgATP_ss / MgATP_ss, 2.6)); P_rom := power(v, 4) * y * z * (f / (f + g)); alpha := 400 * exp((V + 2) / 10); beta := 50 * exp(-(V + 2) / 13); gamma := (103.75 * Ca_ss) / 1; v_gamma := gamma * (power(a, 0) * power(v, 0) * power(1 - v, 4 - 0) + power(a, 1) * power(v, 1) * power(1 - v, 4 - 1) + power(a, 2) * power(v, 2) * power(1 - v, 4 - 2) + power(a, 3) * power(v, 3) * power(1 - v, 4 - 3) + power(a, 4) * power(v, 4) * power(1 - v, 4 - 4) + -(power(a, 4) * power(v, 4) * x)); alpha_prime := alpha * a; beta_prime := beta / b; v_omega := omega * (power(b, -(0)) * power(w, 0) * power(1 - w, 4 - 0) + power(b, -(1)) * power(w, 1) * power(1 - w, 4 - 1) + power(b, -(2)) * power(w, 2) * power(1 - w, 4 - 2) + power(b, -(3)) * power(w, 3) * power(1 - w, 4 - 3) + power(b, -(4)) * power(w, 4) * power(1 - w, 4 - 4)); x := f / (f + g); // Rate Rules: z' = v_omega * (1 - z) - v_gamma * z; v' = alpha * (1 - v) - beta * v; w' = alpha_prime * (1 - w) - beta_prime * w; // Variable initializations: P_Ca = 3.594e-4; p_prime_k = 6.658e-7; k_MgATP_ss = 1.4; a = 2; b = 2; g = 2000; f = 300; omega = 10; z = 0.1; v = 0.1; w = 0.1; C_sc = ; Ca_ss = ; MgATP_ss = ; Ca_o = ; K_o = ; K_i = ; R = ; T = ; F = ; end model michailova_2005__ATP_sensitive_potassium_current(i_K_ATP, V, E_K, K_o, ATP_i, MgADP_i, time_) // Assignment Rules: i_K_ATP := g_K_ATP * (V - E_K); g_K_ATP := G_K_ATP * f_K_ATP * power(K_o / K_o_normal, 0.24); f_K_ATP := go * f_ATP * (1 - f_MgADP) + gd * f_ATP * f_MgADP; f_ATP := power(1.0 - ATP_i / (ATP_i + k_ATP), 4); f_MgADP_ := power(MgADP_i / (MgADP_i + k_MgADP), 2); f_MgADP := 1 - power(c_MgADP, 4); c_MgADP := 1 - f_MgADP_; // Variable initializations: G_K_ATP = 0.05; k_ATP = 0.6; k_MgADP = 0.4; K_o_normal = 4.5; go = 0.08; gd = 0.89; V = ; E_K = ; K_o = ; ATP_i = ; MgADP_i = ; time_ = ; end model michailova_2005__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 = 1800; k_a_plus = 1.215e13; k_a_minus = 576; k_b_plus = 4.05e9; k_b_minus = 1930; k_c_plus = 100; k_c_minus = 0.8; P_O1 = 0; P_O2 = 0; P_C1 = 0.47; P_C2 = 0.53; n = 4; m = 3; time_ = ; Ca_ss = ; Ca_JSR = ; end model michailova_2005__SERCA2a_pump(J_up, time_, Ca_i, Ca_NSR, MgATP_i, MgATP_i0) // Assignment Rules: J_up := (MgATP_i / MgATP_i0) * J_up_winslow; J_up_winslow := (K_SR * (Vmaxf * fb - Vmaxr * rb)) / (1 + fb + rb); fb := power(Ca_i / K_fb, N_fb); rb := power(Ca_NSR / K_rb, N_rb); // Variable initializations: K_fb = 0.000168; K_rb = 3.29; Vmaxf = 0.0813; Vmaxr = 0.318; K_SR = 1; N_fb = 1.2; N_rb = 1; time_ = ; Ca_i = ; Ca_NSR = ; MgATP_i = ; MgATP_i0 = ; end model michailova_2005__intracellular_Ca_fluxes(J_tr, J_xfer, J_trpn, time_, Ca_ss, Ca_i, Ca_NSR, Ca_JSR) // Assignment Rules: J_tr := (Ca_NSR - Ca_JSR) / tau_tr; J_xfer := (Ca_ss - Ca_i) / tau_xfer; J_trpn := HTRPN_tot * J_HTRPNCa + LTRPN_tot * J_LTRPNCa; J_HTRPNCa := d(HTRPNCa)/ d(unknown- element); J_LTRPNCa := d(LTRPNCa)/ d(unknown- element); // Rate Rules: HTRPNCa' = k_htrpn_plus * Ca_i * (1 - HTRPNCa) - k_htrpn_minus * HTRPNCa; LTRPNCa' = k_ltrpn_plus * Ca_i * (1 - LTRPNCa) - k_ltrpn_minus * LTRPNCa; // Variable initializations: tau_tr = 0.0005747; tau_xfer = 0.0267; HTRPNCa = 0.98; LTRPNCa = 0.078; HTRPN_tot = 0.14; LTRPN_tot = 0.07; k_htrpn_plus = 20000; k_htrpn_minus = 0.066; k_ltrpn_plus = 40000; k_ltrpn_minus = 40; time_ = ; Ca_ss = ; Ca_i = ; Ca_NSR = ; Ca_JSR = ; d = ; unknown = ; element = ; end model michailova_2005__intracellular_ion_concentrations(Na_i, Ca_i, K_i, 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, i_K_ATP, J_up, J_rel, J_xfer, J_trpn, J_tr, k_plus_CaATP, k_minus_CaATP, k_plus_CaADP, k_minus_CaADP, CaADP_i, CaADP_ss, CaATP_ss, ATP_i, ADP_i, ADP_ss, ATP_ss, CaATP_i) // Assignment Rules: beta_i := 1 / (1 + (CMDN_tot * K_mCMDN) / power(K_mCMDN + Ca_i, 2) + (EGTA_tot * K_mEGTA) / power(K_mEGTA + Ca_i, 2)); beta_SS := 1 / (1 + (CMDN_tot * K_mCMDN) / power(K_mCMDN + Ca_ss, 2) + (EGTA_tot * K_mEGTA) / power(K_mEGTA + Ca_ss, 2)); beta_JSR := 1 / (1 + (CSQN_tot * K_mCSQN) / power(K_mCSQN + Ca_JSR, 2)); // Rate Rules: Na_i' = (-(0) * (i_Na + i_Na_b + i_NaCa * 3 + i_NaK * 3) * A_cap * 1) / (V_myo * F); Ca_i' = beta_i * ((J_xfer - (J_up + J_trpn)) + -(((i_p_Ca + i_Ca_b) - 2 * i_NaCa) * ((A_cap * C_sc) / (2 * V_myo * F))) + ((k_minus_CaATP * CaATP_i + k_minus_CaADP * CaADP_i) - (k_plus_CaATP * Ca_i * ATP_i + k_plus_CaADP * Ca_i * ADP_i))); K_i' = (-(0) * (i_Ca_K + i_Kr + i_Ks + i_K1 + i_Kp + i_to1 + i_K_ATP + i_NaK * -(2)) * A_cap * 1) / (V_myo * F); Ca_ss' = beta_SS * (((J_rel * V_JSR) / V_ss + k_minus_CaATP * CaATP_ss + k_minus_CaADP * CaADP_ss) - ((J_xfer * V_myo) / V_ss + i_Ca * ((A_cap * 1) / (2 * V_ss * F)) + k_plus_CaATP * Ca_ss * ATP_ss + k_plus_CaADP * Ca_ss * ADP_ss)); Ca_JSR' = beta_JSR * (J_tr - J_rel); Ca_NSR' = (J_up * V_myo) / V_NSR - (J_tr * V_JSR) / V_NSR; // Variable initializations: Na_i = 10; Ca_i = 8.464E-5; K_i = 159.48; Ca_ss = 1.315E-4; 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_mEGTA = 0.00015; K_mCSQN = 0.8; CMDN_tot = 0.05; EGTA_tot = 0; CSQN_tot = 15; 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 = ; i_K_ATP = ; J_up = ; J_rel = ; J_xfer = ; J_trpn = ; J_tr = ; k_plus_CaATP = ; k_minus_CaATP = ; k_plus_CaADP = ; k_minus_CaADP = ; CaADP_i = ; CaADP_ss = ; CaATP_ss = ; ATP_i = ; ADP_i = ; ADP_ss = ; ATP_ss = ; CaATP_i = ; end model michailova_2005__Ca_and_Mg_buffering_by_ATP(CaATP_ss, ATP_ss, MgATP_i, MgADP_i, MgATP_i0, k_plus_CaATP, k_minus_CaATP, k_plus_CaADP, k_minus_CaADP, CaADP_i, CaADP_ss, ATP_i, ADP_i, ADP_ss, CaATP_i, MgATP_ss, time_, Ca_ss, Ca_i, V_myo, V_ss) // Assignment Rules: ATP_ss := ATP_tot - (CaATP_ss + MgATP_ss); ATP_i := ATP_tot - (CaATP_i + MgATP_i); ADP_i := ADP_tot - (CaADP_i + MgADP_i); ADP_ss := ADP_tot - (CaADP_ss + MgADP_ss); Jxfer_CaATP := (CaATP_ss - CaATP_i) / tau_xfer_CaATP; Jxfer_MgATP := (MgATP_ss - MgATP_i) / tau_xfer_MgATP; Jxfer_Mg := (Mg_ss - Mg_i) / tau_xfer_Mg; Jxfer_CaADP := (CaADP_ss - CaADP_i) / tau_xfer_CaADP; Jxfer_MgADP := (MgADP_ss - MgADP_i) / tau_xfer_MgADP; // Rate Rules: CaATP_ss' = k_plus_CaATP * Ca_ss * ATP_ss - (Jxfer_CaATP * (V_myo / V_ss) + k_minus_CaATP * CaATP_ss); MgATP_i' = (Jxfer_MgATP + k_plus_MgATP * Mg_i * ATP_i) - k_minus_MgATP * MgATP_i; MgADP_i' = (Jxfer_MgADP + k_plus_MgADP * Mg_i * ADP_i) - k_minus_MgADP * MgADP_i; CaADP_i' = (Jxfer_CaADP + k_plus_CaADP * Ca_i * ADP_i) - k_minus_CaADP * CaADP_i; CaADP_ss' = k_plus_CaADP * Ca_ss * ADP_ss - (Jxfer_CaADP * (V_myo / V_ss) + k_minus_CaADP * CaADP_ss); CaATP_i' = (Jxfer_CaATP + k_plus_CaATP * Ca_i * ATP_i) - k_minus_CaATP * CaATP_i; MgATP_ss' = k_plus_MgATP * Mg_ss * ATP_ss - (Jxfer_MgATP * (V_myo / V_ss) + k_minus_MgATP * MgATP_ss); Mg_ss' = (k_minus_MgATP * MgATP_ss + k_minus_MgADP * MgADP_ss) - (k_plus_MgATP * Mg_ss * ATP_ss + k_plus_MgADP * Mg_ss * ADP_ss + Jxfer_Mg * (V_myo / V_ss)); Mg_i' = (Jxfer_Mg + k_minus_MgATP * MgATP_i + k_minus_MgADP * MgADP_i) - (k_plus_MgATP * Mg_i * ATP_i + k_plus_MgADP * Mg_i * ADP_i); MgADP_ss' = k_plus_MgADP * Mg_ss * ADP_ss - (Jxfer_MgADP * (V_myo / V_ss) + k_minus_MgADP * MgADP_ss); // Variable initializations: CaATP_ss = 0.25E-3; MgATP_i = 6.4395; MgADP_i = 0.298E-2; MgATP_i0 = 2.888; k_plus_CaATP = 225000.0; k_minus_CaATP = 45000.0; k_plus_CaADP = 125000.0; k_minus_CaADP = 193500; CaADP_i = 0.11E-6; CaADP_ss = 0.13E-6; CaATP_i = 0.237E-3; MgATP_ss = 6.4395; Mg_ss = 1.0; Mg_i = 1.0; MgADP_ss = 0.298E-2; ATP_tot = 7.0; k_plus_MgATP = 125000.0; k_minus_MgATP = 10875.0; tau_xfer_CaATP = 0.0534; tau_xfer_MgATP = 0.0534; tau_xfer_Mg = 0.0267; ADP_tot = 0.005; k_plus_MgADP = 125000.0; k_minus_MgADP = 84500.0; tau_xfer_CaADP = 0.0534; tau_xfer_MgADP = 0.0534; time_ = ; Ca_ss = ; Ca_i = ; V_myo = ; V_ss = ; end model michailova_2005__extracellular_ion_concentrations(Na_o, Ca_o, K_o) // Variable initializations: Na_o = 138; Ca_o = 2; K_o = 4; end model michailova_2005__model_parameters(V_myo, V_ss) // Variable initializations: V_myo = 0.00002584; V_ss = 0.0000000012; end model *michailova_2005____main() // Sub-modules, and any changes to those submodules: environment: michailova_2005__environment(time_); membrane: michailova_2005__membrane(V, R, T, F, C_sc, i_Stim, 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, i_K_ATP); fast_sodium_current: michailova_2005__fast_sodium_current(i_Na, E_Na, time_, V, Na_o, Na_i, R, F, T, m, h, j); rapid_activating_delayed_rectifiyer_K_current: michailova_2005__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: michailova_2005__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: michailova_2005__transient_outward_potassium_current(i_to1, time_, V, E_K, X_to1, Y_to1); time_independent_potassium_current: michailova_2005__time_independent_potassium_current(i_K1, time_, V, R, T, F, E_K, K_o, K1_infinity_V); plateau_potassium_current: michailova_2005__plateau_potassium_current(i_Kp, time_, V, E_K, Kp_V); Na_Ca_exchanger: michailova_2005__Na_Ca_exchanger(i_NaCa, time_, V, R, T, F, Na_i, Na_o, Ca_i, Ca_o); sodium_potassium_pump: michailova_2005__sodium_potassium_pump(i_NaK, time_, V, R, T, F, Na_i, Na_o, K_o); sarcolemmal_calcium_pump: michailova_2005__sarcolemmal_calcium_pump(i_p_Ca, time_, Ca_i, MgATP_i, MgATP_i0); calcium_background_current: michailova_2005__calcium_background_current(i_Ca_b, time_, V, R, T, F, Ca_i, Ca_o); sodium_background_current: michailova_2005__sodium_background_current(i_Na_b, time_, V, E_Na); L_type_Ca_current: michailova_2005__L_type_Ca_current(i_Ca, i_Ca_K, time_, V, C_sc, Ca_ss, MgATP_ss, Ca_o, K_o, K_i, R, T, F, y); ATP_sensitive_potassium_current: michailova_2005__ATP_sensitive_potassium_current(i_K_ATP, V, E_K, K_o, ATP_i, MgADP_i, time_); RyR_channel: michailova_2005__RyR_channel(J_rel, time_, Ca_ss, Ca_JSR); SERCA2a_pump: michailova_2005__SERCA2a_pump(J_up, time_, Ca_i, Ca_NSR, MgATP_i, MgATP_i0); intracellular_Ca_fluxes: michailova_2005__intracellular_Ca_fluxes(J_tr, J_xfer, J_trpn, time_, Ca_ss, Ca_i, Ca_NSR, Ca_JSR); intracellular_ion_concentrations: michailova_2005__intracellular_ion_concentrations(Na_i, Ca_i, K_i, 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, i_K_ATP, J_up, J_rel, J_xfer, J_trpn, J_tr, k_plus_CaATP, k_minus_CaATP, k_plus_CaADP, k_minus_CaADP, CaADP_i, CaADP_ss, CaATP_ss, ATP_i, ADP_i, ADP_ss, ATP_ss, CaATP_i); Ca_and_Mg_buffering_by_ATP: michailova_2005__Ca_and_Mg_buffering_by_ATP(CaATP_ss, ATP_ss, MgATP_i, MgADP_i, MgATP_i0, k_plus_CaATP, k_minus_CaATP, k_plus_CaADP, k_minus_CaADP, CaADP_i, CaADP_ss, ATP_i, ADP_i, ADP_ss, CaATP_i, MgATP_ss, time_, Ca_ss, Ca_i, V_myo, V_ss); extracellular_ion_concentrations: michailova_2005__extracellular_ion_concentrations(Na_o, Ca_o, K_o); model_parameters: michailova_2005__model_parameters(V_myo, V_ss); end