/* * Role of Ito1 in Shaping Action Potential Morphology and Duration * * Model Status * * This is the original unchecked version of the model imported * from the previous CellML model repository, 24-Jan-2006. * * Model Structure * * The Kv4.3-encoded current (IKv4.3) has been identified as being * the major component of the voltage-dependent, calcium-independent, * transient outward current Ito1. In turn, this current has been * shown to play an essential role in shaping the morphology of * the early phase of the cardiac ventricular action potential. * However, its influence on action potential duration remains * unclear. In order to help resolve conflicting experimental results, * in 2000 Greenstein et al. published Markov models of the human * and canine Kv4.3- and Kv1.4-encoded currents. These were embedded * within a canine midmyocardial ventricular myocyte model which * was previously published by Winslow et al. (1999) (see below * for a schematic of the model). * * Model simulations helped to elucidate the mechanisms by which * Ito1 influences action potential shape and duration. Strong * coupling between L-type Ca2+ current and IKv4.3 was observed. * In addition, a bimodal relationship between IKv4.3 density and * action potential duration, such that changes in IKv4.3 density * may either lengthen or shorten action potential duration, depending * on the baseline Ito1 level, was also predicted. * * The complete original paper reference is cited below: * * Role of the Calcium-Independent Transient Outward Current Ito1 * in Shaping Action Potential Morphology and Duration, Joseph * L. Greenstein, Richard Wu, Sunny Po, Gordon F. Tomaselli, and * Raimond L. Winslow, 2000,Circulation Research , 87, 1026-1033. * (PubMed ID: 11090548 * * The raw CellML description of the model can be downloaded in * various formats as described in . * * cell diagram * * [[Image file: greenstein_2000.png]] * * A schematic diagram describing the current flows across the * cell membrane that are captured in the Winslow et al canine * ventricular cell model. The canine Ito1 current described in * the Greenstein et al. 2000 paper is embedded within this whole * cell model. The Markov model structure consists of four closed * states (C0-C3), four closed, inactivated states(CI0-CI3), one * open state (O), and one open-inactivated state (OI). The transition * rates are voltage dependent, and scaling factors are used to * couple inactivation to activation. */ import nsrunit; // Warning: unit conversion turned off due to unit errors in 28 equation(s) unit conversion off; // unit millisecond predefined unit per_millisecond=1E3 second^(-1); // unit millivolt predefined unit per_millivolt=1E3 kilogram^(-1)*meter^(-2)*second^3*ampere^1; unit per_millivolt_millisecond=1E6 kilogram^(-1)*meter^(-2)*second^2*ampere^1; unit milliS_per_microF=1E3 second^(-1); unit picoF_per_mm2=1E-6 kilogram^(-1)*meter^(-4)*second^4*ampere^2; unit microA_per_microF=1 kilogram^1*meter^2*second^(-4)*ampere^(-1); // unit millimolar predefined unit millimolar_per_millisecond=1E3 meter^(-3)*second^(-1)*mole^1; unit millimolar3_per_millisecond=1E3 meter^9*second^(-1)*mole^(-3); unit millimolar4_per_millisecond=1E3 meter^12*second^(-1)*mole^(-4); unit joule_per_mole_kelvin=1 kilogram^1*meter^2*second^(-2)*kelvin^(-1)*mole^(-1); unit coulomb_per_millimole=1E3 second^1*ampere^1*mole^(-1); unit cm_per_second=.01 meter^1*second^(-1); unit mm_per_s=.001 meter^1*second^(-1); unit cm2=1E-4 meter^2; unit micro_litre=1E-9 meter^3; math main { //Warning: the following variables were set 'extern' or given // an initial value of '0' because the model would otherwise be // underdetermined: g_Kv4_3, Kv4_3_current.P_C0, Kv4_3_current.P_C1, // Kv4_3_current.P_C2, Kv4_3_current.P_C3, Kv4_3_current.P_CI0, // Kv4_3_current.P_CI1, Kv4_3_current.P_CI2, Kv4_3_current.P_CI3, // Kv4_3_current.P_O, Kv4_3_current.P_OI, Kv1_4_current.alpha, // Kv1_4_current.P_C0, Kv1_4_current.P_C1, Kv1_4_current.P_C2, // Kv1_4_current.P_C3, Kv1_4_current.P_CI0, Kv1_4_current.P_CI1, // Kv1_4_current.P_CI2, Kv1_4_current.P_CI3, Kv1_4_current.P_O, // Kv1_4_current.P_OI realDomain time millisecond; time.min=0; extern time.max; extern time.delta; real V(time) millivolt; when(time=time.min) V=-95.87; real R joule_per_mole_kelvin; R=8.314; real T kelvin; T=310.0; real F coulomb_per_millimole; F=96.5; real C_sc picoF_per_mm2; C_sc=10E4; real i_Na(time) microA_per_microF; real i_Ca(time) microA_per_microF; real i_Ca_K(time) microA_per_microF; real i_Kr(time) microA_per_microF; real i_Ks(time) microA_per_microF; real i_to1(time) microA_per_microF; real i_K1(time) microA_per_microF; real i_Kp(time) microA_per_microF; real i_NaCa(time) microA_per_microF; real i_NaK(time) microA_per_microF; real i_p_Ca(time) microA_per_microF; real i_Ca_b(time) microA_per_microF; real i_Na_b(time) microA_per_microF; real E_Na(time) millivolt; real g_Na milliS_per_microF; g_Na=12.8; real Nao millimolar; Nao=138.0; real Nai(time) millimolar; when(time=time.min) Nai=10.0; real fast_sodium_current.m(time) dimensionless; when(time=time.min) fast_sodium_current.m=0.00024676; real h(time) dimensionless; when(time=time.min) h=0.99869; real j(time) dimensionless; when(time=time.min) j=0.99887; real alpha_m(time) per_millisecond; real beta_m(time) per_millisecond; real alpha_h(time) per_millisecond; real beta_h(time) per_millisecond; real alpha_j(time) per_millisecond; real beta_j(time) per_millisecond; real E_K(time) millivolt; real g_Kr milliS_per_microF; g_Kr=0.0034; real f_Ko dimensionless; real R_V(time) dimensionless; real Ko millimolar; Ko=4.0; real Ki(time) millimolar; when(time=time.min) Ki=159.48; real X_kr(time) dimensionless; when(time=time.min) X_kr=0.6935; real K12(time) dimensionless; real K21(time) dimensionless; real g_Ks milliS_per_microF; g_Ks=0.00271; real E_Ks(time) millivolt; real X_ks(time) dimensionless; when(time=time.min) X_ks=0.00014589; real tau_X_ks(time) dimensionless; real X_ks_infinity(time) dimensionless; real i_Kv4_3(time) microA_per_microF; real i_Kv1_4(time) microA_per_microF; extern real g_Kv4_3 milliS_per_microF; real Kv4_3_current.P_open(time) dimensionless; real Kv4_3_current.P_C0(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv4_3_current.P_C0=0; real Kv4_3_current.P_C1(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv4_3_current.P_C1=0; real Kv4_3_current.P_C2(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv4_3_current.P_C2=0; real Kv4_3_current.P_C3(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv4_3_current.P_C3=0; real Kv4_3_current.P_CI0(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv4_3_current.P_CI0=0; real Kv4_3_current.P_CI1(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv4_3_current.P_CI1=0; real Kv4_3_current.P_CI2(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv4_3_current.P_CI2=0; real Kv4_3_current.P_CI3(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv4_3_current.P_CI3=0; real Kv4_3_current.P_O(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv4_3_current.P_O=0; real Kv4_3_current.P_OI(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv4_3_current.P_OI=0; real Kv4_3_current.a_a per_millivolt; Kv4_3_current.a_a=0.02898; real Kv4_3_current.b_a per_millivolt; Kv4_3_current.b_a=0.04684; real Kv4_3_current.a_i per_millivolt; Kv4_3_current.a_i=3.7302E-4; real Kv4_3_current.b_i per_millivolt; Kv4_3_current.b_i=5.374E-8; real Kv4_3_current.alpha_a0 per_millisecond; Kv4_3_current.alpha_a0=0.5437; real Kv4_3_current.beta_a0 per_millisecond; Kv4_3_current.beta_a0=0.08019; real Kv4_3_current.alpha_i0 per_millisecond; Kv4_3_current.alpha_i0=0.04984; real Kv4_3_current.beta_i0 per_millisecond; Kv4_3_current.beta_i0=8.1948E-4; real Kv4_3_current.alpha_a per_millisecond; real Kv4_3_current.beta_a per_millisecond; real Kv4_3_current.alpha_i per_millisecond; real Kv4_3_current.beta_i per_millisecond; real Kv4_3_current.f1 dimensionless; Kv4_3_current.f1=1.8936; real Kv4_3_current.f2 dimensionless; Kv4_3_current.f2=14.225; real Kv4_3_current.f3 dimensionless; Kv4_3_current.f3=158.574; real Kv4_3_current.f4 dimensionless; Kv4_3_current.f4=142.937; real Kv4_3_current.b1 dimensionless; Kv4_3_current.b1=6.7735; real Kv4_3_current.b2 dimensionless; Kv4_3_current.b2=15.621; real Kv4_3_current.b3 dimensionless; Kv4_3_current.b3=28.753; real Kv4_3_current.b4 dimensionless; Kv4_3_current.b4=524.576; real i_Kv1_4_K(time) microA_per_microF; real i_Kv1_4_Na(time) microA_per_microF; extern real Kv1_4_current.alpha dimensionless; real Kv1_4_current.P_open(time) dimensionless; real Kv1_4_current.P_C0(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv1_4_current.P_C0=0; real Kv1_4_current.P_C1(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv1_4_current.P_C1=0; real Kv1_4_current.P_C2(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv1_4_current.P_C2=0; real Kv1_4_current.P_C3(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv1_4_current.P_C3=0; real Kv1_4_current.P_CI0(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv1_4_current.P_CI0=0; real Kv1_4_current.P_CI1(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv1_4_current.P_CI1=0; real Kv1_4_current.P_CI2(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv1_4_current.P_CI2=0; real Kv1_4_current.P_CI3(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv1_4_current.P_CI3=0; real Kv1_4_current.P_O(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv1_4_current.P_O=0; real Kv1_4_current.P_OI(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Kv1_4_current.P_OI=0; real Kv1_4_current.a_a per_millivolt; Kv1_4_current.a_a=0.006950; real Kv1_4_current.b_a per_millivolt; Kv1_4_current.b_a=0.08527; real Kv1_4_current.a_i per_millivolt; Kv1_4_current.a_i=0.0; real Kv1_4_current.b_i per_millivolt; Kv1_4_current.b_i=0.0; real Kv1_4_current.alpha_a0 per_millisecond; Kv1_4_current.alpha_a0=1.8931; real Kv1_4_current.beta_a0 per_millisecond; Kv1_4_current.beta_a0=0.01179; real Kv1_4_current.alpha_i0 per_millisecond; Kv1_4_current.alpha_i0=0.002963; real Kv1_4_current.beta_i0 per_millisecond; Kv1_4_current.beta_i0=1.0571E-4; real Kv1_4_current.alpha_a per_millisecond; real Kv1_4_current.beta_a per_millisecond; real Kv1_4_current.alpha_i per_millisecond; real Kv1_4_current.beta_i per_millisecond; real Kv1_4_current.f1 dimensionless; Kv1_4_current.f1=0.2001; real Kv1_4_current.f2 dimensionless; Kv1_4_current.f2=0.3203; real Kv1_4_current.f3 dimensionless; Kv1_4_current.f3=13.509; real Kv1_4_current.f4 dimensionless; Kv1_4_current.f4=1151.765; real Kv1_4_current.b1 dimensionless; Kv1_4_current.b1=2.2300; real Kv1_4_current.b2 dimensionless; Kv1_4_current.b2=12.000; real Kv1_4_current.b3 dimensionless; Kv1_4_current.b3=5.370; real Kv1_4_current.b4 dimensionless; Kv1_4_current.b4=5.240; real P_Kv1_4 mm_per_s; P_Kv1_4=1.709E-6; real g_K1 milliS_per_microF; g_K1=2.8; real K_mK1 millimolar; K_mK1=13.0; real K1_infinity_V(time) dimensionless; real g_Kp milliS_per_microF; g_Kp=0.002216; real Kp_V(time) dimensionless; real K_mCa millimolar; K_mCa=1.38; real K_mNa millimolar; K_mNa=87.5; real K_NaCa microA_per_microF; K_NaCa=0.30; real K_sat dimensionless; K_sat=0.2; real eta dimensionless; eta=0.35; real Cai(time) millimolar; when(time=time.min) Cai=0.00008464; real Cao millimolar; Cao=2.0; real I_NaK microA_per_microF; I_NaK=0.693; real f_NaK(time) dimensionless; real K_mNai millimolar; K_mNai=10.0; real K_mKo millimolar; K_mKo=1.5; real sigma dimensionless; real K_mpCa millimolar; K_mpCa=0.00005; real I_pCa microA_per_microF; I_pCa=0.05; real g_Cab milliS_per_microF; g_Cab=0.0003842; real E_Ca(time) millivolt; real g_Nab milliS_per_microF; g_Nab=0.0031; real P_Ca cm_per_second; P_Ca=0.0003125; real P_K cm_per_second; P_K=0.000000579; real p_k(time) cm_per_second; real i_Ca_half microA_per_microF; i_Ca_half=-0.265; real i_Ca_max(time) microA_per_microF; real O(time) dimensionless; when(time=time.min) O=0.0; real O_Ca(time) dimensionless; when(time=time.min) O_Ca=0.0; real L_type_Ca_current.alpha(time) per_millisecond; real beta(time) per_millisecond; real gamma(time) per_millisecond; real L_type_Ca_current.alpha_a(time) per_millisecond; real beta_b(time) per_millisecond; real a dimensionless; a=2.0; real b dimensionless; b=2.0; real g per_millisecond; g=2.0; real f per_millisecond; f=0.3; real g_ per_millisecond; g_=7.0; real f_ per_millisecond; f_=0.005; real omega per_millisecond; omega=0.01; real C0(time) dimensionless; when(time=time.min) C0=0.99802; real C1(time) dimensionless; when(time=time.min) C1=0.0000019544; real C2(time) dimensionless; when(time=time.min) C2=0.0; real C3(time) dimensionless; when(time=time.min) C3=0.0; real C4(time) dimensionless; when(time=time.min) C4=0.0; real C_Ca0(time) dimensionless; when(time=time.min) C_Ca0=0.0019734; real C_Ca1(time) dimensionless; when(time=time.min) C_Ca1=0.0; real C_Ca2(time) dimensionless; when(time=time.min) C_Ca2=0.0; real C_Ca3(time) dimensionless; when(time=time.min) C_Ca3=0.0; real C_Ca4(time) dimensionless; when(time=time.min) C_Ca4=0.0; real Ca_ss(time) millimolar; when(time=time.min) Ca_ss=0.0001315; real y(time) dimensionless; when(time=time.min) y=0.7959; real y_infinity(time) dimensionless; real tau_y(time) dimensionless; real J_rel(time) millimolar_per_millisecond; real v1 per_millisecond; v1=1.8; real k_a_plus millimolar4_per_millisecond; k_a_plus=12150000000.0; real k_a_minus per_millisecond; k_a_minus=0.576; real k_b_plus millimolar3_per_millisecond; k_b_plus=4050000.0; real k_b_minus per_millisecond; k_b_minus=1.930; real k_c_plus per_millisecond; k_c_plus=0.100; real k_c_minus per_millisecond; k_c_minus=0.0008; real P_O1(time) dimensionless; when(time=time.min) P_O1=0.0006027; real P_O2(time) dimensionless; when(time=time.min) P_O2=0.000000002882; real RyR_channel.P_C1(time) dimensionless; when(time=time.min) RyR_channel.P_C1=0.4929; real RyR_channel.P_C2(time) dimensionless; when(time=time.min) RyR_channel.P_C2=0.5056; // Var below replaced by constant in model eqns to satisfy unit correction // real n dimensionless; // n=4.0; // Var below replaced by constant in model eqns to satisfy unit correction // real RyR_channel.m dimensionless; // RyR_channel.m=3.0; real Ca_JSR(time) millimolar; when(time=time.min) Ca_JSR=0.2616; real J_up(time) millimolar_per_millisecond; real K_fb millimolar; K_fb=0.000168; real K_rb millimolar; K_rb=3.29; real fb(time) dimensionless; real rb(time) dimensionless; real Vmaxf millimolar_per_millisecond; Vmaxf=0.0000813; real Vmaxr millimolar_per_millisecond; Vmaxr=0.000318; real K_SR dimensionless; K_SR=1.0; real N_fb dimensionless; N_fb=1.2; real N_rb dimensionless; N_rb=1.0; real Ca_NSR(time) millimolar; when(time=time.min) Ca_NSR=0.2620; real J_tr(time) millimolar_per_millisecond; real J_xfer(time) millimolar_per_millisecond; real J_trpn(time) millimolar_per_millisecond; real tau_tr millisecond; tau_tr=0.5747; real tau_xfer millisecond; tau_xfer=26.7; real HTRPNCa(time) millimolar; when(time=time.min) HTRPNCa=0.13664; real LTRPNCa(time) millimolar; when(time=time.min) LTRPNCa=0.0055443; real J_HTRPNCa(time) millimolar_per_millisecond; real J_LTRPNCa(time) millimolar_per_millisecond; real HTRPN_tot millimolar; HTRPN_tot=0.140; real LTRPN_tot millimolar; LTRPN_tot=0.070; real k_htrpn_plus millimolar_per_millisecond; k_htrpn_plus=20.0; real k_htrpn_minus per_millisecond; k_htrpn_minus=0.0000066; real k_ltrpn_plus millimolar_per_millisecond; k_ltrpn_plus=40.0; real k_ltrpn_minus per_millisecond; k_ltrpn_minus=0.040; real A_cap cm2; A_cap=0.0001534; real V_myo micro_litre; V_myo=0.00002584; real V_JSR micro_litre; V_JSR=0.00000016; real V_NSR micro_litre; V_NSR=0.0000021; real V_SS micro_litre; V_SS=0.0000000012; real K_mCMDN millimolar; K_mCMDN=0.00238; real K_mCSQN millimolar; K_mCSQN=0.8; real CMDN_tot millimolar; CMDN_tot=0.05; real CSQN_tot millimolar; CSQN_tot=15.0; real intracellular_ion_concentrations.beta_i(time) millimolar; real beta_SS(time) millimolar; real beta_JSR(time) millimolar; // // V:time=((-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)/C_sc); // i_Na=(g_Na*fast_sodium_current.m^3*h*j*(V-E_Na)); E_Na=(R*T/F*ln(Nao/Nai)); // alpha_m=((.32 per_millivolt_millisecond)*(V+(47.13 millivolt))/(1-exp(((-0.1 per_millivolt))*(V+(47.13 millivolt))))); beta_m=((.08 per_millisecond)*exp((-1)*V/(11 millivolt))); fast_sodium_current.m:time=(alpha_m*(1-fast_sodium_current.m)-beta_m*fast_sodium_current.m); // alpha_h=(if (V<((-40 millivolt))) (.135 per_millisecond)*exp(((80 millivolt)+V)/((-6.8 millivolt))) else (0 per_millisecond)); beta_h=(if (V<((-40 millivolt))) (3.56 per_millisecond)*exp((.079 millivolt)*V)+(3.1E5 per_millisecond)*exp((.35 per_millivolt)*V) else 1/((.13 millisecond)*(1+exp((V+(10.66 millivolt))/((-11.1 millivolt)))))); h:time=(alpha_h*(1-h)-beta_h*h); // alpha_j=(if (V<((-40 millivolt))) (((-127140 per_millivolt_millisecond))*exp((.2444 per_millivolt)*V)-(3.474E-5 per_millivolt_millisecond)*exp(((-0.04391 per_millivolt))*V))*((V+(37.78 millivolt))/(1+exp((.311 per_millivolt)*(V+(79.23 millivolt))))) else (0 per_millisecond)); beta_j=(if (V<((-40 millivolt))) (.1212 per_millisecond)*exp(((-0.01052 per_millivolt))*V)/(1+exp(((-0.1378 per_millivolt))*(V+(40.14 millivolt)))) else (.3 per_millisecond)*exp(((-2.535E-7 per_millivolt))*V)/(1+exp(((-0.1 per_millivolt))*(V+(32 millivolt))))); j:time=(alpha_j*(1-j)-beta_j*j); // E_K=(R*T/F*ln(Ko/Ki)); i_Kr=(g_Kr*f_Ko*R_V*X_kr*(V-E_K)); f_Ko=sqrt(Ko/(4 millimolar)); R_V=(1/(1+1.4945*exp(.0446*V))); // X_kr:time=(K12*(1-X_kr)-K12*X_kr); K12=exp((-5.495)+.169*V); K21=exp((-7.677)-.0128*V); // i_Ks=(g_Ks*X_ks^2*(V-E_Ks)); E_Ks=(R*T/F*ln((Ko+.01833*Nao)/(Ki+.01833*Nai))); // X_ks:time=((X_ks_infinity-X_ks)/tau_X_ks); X_ks_infinity=(1/(1+exp((-1)*(V-(24.7 millivolt))/(13.6 millivolt)))); tau_X_ks=(1/(7.19E-5*(V-(10 millivolt))/(1-exp((-0.148)*(V-(10 millivolt))))+1.31E-4*(V-(10 millivolt))/(exp(.0687*(V-(10 millivolt)))-1))); // i_to1=(i_Kv4_3+i_Kv1_4); // i_Kv4_3=(g_Kv4_3*Kv4_3_current.P_open*(V-E_K)); Kv4_3_current.P_open=(Kv4_3_current.P_O+Kv4_3_current.P_OI); Kv4_3_current.P_C0:time=(Kv4_3_current.alpha_i*Kv4_3_current.P_CI0+Kv4_3_current.beta_a*Kv4_3_current.P_C1-(Kv4_3_current.beta_i+4*Kv4_3_current.alpha_a)*Kv4_3_current.P_C0); Kv4_3_current.P_C1:time=(Kv4_3_current.alpha_i/Kv4_3_current.b1*Kv4_3_current.P_CI1+4*Kv4_3_current.alpha_a*Kv4_3_current.P_C0+2*Kv4_3_current.beta_a*Kv4_3_current.P_C2-(Kv4_3_current.f1*Kv4_3_current.beta_i+Kv4_3_current.beta_a+3*Kv4_3_current.alpha_a)*Kv4_3_current.P_C1); Kv4_3_current.P_C2:time=(Kv4_3_current.alpha_i/Kv4_3_current.b2*Kv4_3_current.P_CI2+3*Kv4_3_current.alpha_a*Kv4_3_current.P_C1+3*Kv4_3_current.beta_a*Kv4_3_current.P_C3-(Kv4_3_current.f2*Kv4_3_current.beta_i+2*Kv4_3_current.beta_a+2*Kv4_3_current.alpha_a)*Kv4_3_current.P_C2); Kv4_3_current.P_C3:time=(Kv4_3_current.alpha_i/Kv4_3_current.b3*Kv4_3_current.P_CI3+2*Kv4_3_current.alpha_a*Kv4_3_current.P_C2+4*Kv4_3_current.beta_a*Kv4_3_current.P_O-(Kv4_3_current.f3*Kv4_3_current.beta_i+3*Kv4_3_current.beta_a+Kv4_3_current.alpha_a)*Kv4_3_current.P_C3); Kv4_3_current.P_O:time=(Kv4_3_current.alpha_a*Kv4_3_current.P_C3+Kv4_3_current.alpha_i/Kv4_3_current.b4*Kv4_3_current.P_OI-(Kv4_3_current.f4*Kv4_3_current.beta_i+4*Kv4_3_current.beta_a)*Kv4_3_current.P_O); Kv4_3_current.P_CI0:time=(Kv4_3_current.beta_i*Kv4_3_current.P_C0+Kv4_3_current.beta_a/Kv4_3_current.f1*Kv4_3_current.P_C1-(Kv4_3_current.alpha_i+Kv4_3_current.b1*4*Kv4_3_current.alpha_a)*Kv4_3_current.P_CI0); Kv4_3_current.P_CI1:time=(Kv4_3_current.f1*2*Kv4_3_current.beta_a/Kv4_3_current.f2*Kv4_3_current.P_CI2+Kv4_3_current.b1*4*Kv4_3_current.alpha_a*Kv4_3_current.P_CI0+Kv4_3_current.f1*Kv4_3_current.beta_i*Kv4_3_current.P_C1-(Kv4_3_current.b2*3*Kv4_3_current.alpha_a/Kv4_3_current.b1+Kv4_3_current.alpha_i/Kv4_3_current.b1+Kv4_3_current.beta_a/Kv4_3_current.f1)*Kv4_3_current.P_CI1); Kv4_3_current.P_CI2:time=(Kv4_3_current.f2*3*Kv4_3_current.beta_a/Kv4_3_current.f3*Kv4_3_current.P_CI3+Kv4_3_current.b2*3*Kv4_3_current.alpha_a/Kv4_3_current.b1*Kv4_3_current.P_CI1+Kv4_3_current.f2*Kv4_3_current.beta_i*Kv4_3_current.P_C2-(Kv4_3_current.b3*2*Kv4_3_current.alpha_a/Kv4_3_current.b2+Kv4_3_current.alpha_i/Kv4_3_current.b2+Kv4_3_current.f1*2*Kv4_3_current.beta_a/Kv4_3_current.f2)*Kv4_3_current.P_CI2); Kv4_3_current.P_CI3:time=(Kv4_3_current.f3*4*Kv4_3_current.beta_a/Kv4_3_current.f4*Kv4_3_current.P_OI+Kv4_3_current.b3*2*Kv4_3_current.alpha_a/Kv4_3_current.b2*Kv4_3_current.P_CI2+Kv4_3_current.f3*Kv4_3_current.beta_i*Kv4_3_current.P_C3-(Kv4_3_current.b4*Kv4_3_current.alpha_a/Kv4_3_current.b3+Kv4_3_current.alpha_i/Kv4_3_current.b3+Kv4_3_current.f2*3*Kv4_3_current.beta_a/Kv4_3_current.f3)*Kv4_3_current.P_CI3); Kv4_3_current.P_OI:time=(Kv4_3_current.b4*Kv4_3_current.alpha_a/Kv4_3_current.b3*Kv4_3_current.P_CI3+Kv4_3_current.f4*Kv4_3_current.beta_i*Kv4_3_current.P_O-(Kv4_3_current.alpha_i/Kv4_3_current.b4+Kv4_3_current.f3*4*Kv4_3_current.beta_a/Kv4_3_current.f4)*Kv4_3_current.P_OI); Kv4_3_current.alpha_a=(Kv4_3_current.alpha_a0*exp(Kv4_3_current.a_a)); Kv4_3_current.beta_a=(Kv4_3_current.beta_a0*exp((-1)*Kv4_3_current.b_a)); Kv4_3_current.alpha_i=(Kv4_3_current.alpha_i0*exp((-1)*Kv4_3_current.a_i)); Kv4_3_current.beta_i=(Kv4_3_current.beta_i0*exp(Kv4_3_current.b_i)); // i_Kv1_4=(i_Kv1_4_K+i_Kv1_4_Na); i_Kv1_4_K=(P_Kv1_4/C_sc*(F^2*V/(R*T))*Kv1_4_current.P_open*((Ki-Ko*exp((-1)*(V*F)/(R*T)))/(1-exp((-1)*(V*F)/(R*T))))); i_Kv1_4_Na=(Kv1_4_current.alpha*P_Kv1_4/C_sc*(F^2*V/(R*T))*Kv1_4_current.P_open*((Ki-Ko*exp((-1)*(V*F)/(R*T)))/(1-exp((-1)*(V*F)/(R*T))))); Kv1_4_current.P_open=(Kv1_4_current.P_O+Kv1_4_current.P_OI); Kv1_4_current.P_C0:time=(Kv1_4_current.alpha_i*Kv1_4_current.P_CI0+Kv1_4_current.beta_a*Kv1_4_current.P_C1-(Kv1_4_current.beta_i+4*Kv1_4_current.alpha_a)*Kv1_4_current.P_C0); Kv1_4_current.P_C1:time=(Kv1_4_current.alpha_i/Kv1_4_current.b1*Kv1_4_current.P_CI1+4*Kv1_4_current.alpha_a*Kv1_4_current.P_C0+2*Kv1_4_current.beta_a*Kv1_4_current.P_C2-(Kv1_4_current.f1*Kv1_4_current.beta_i+Kv1_4_current.beta_a+3*Kv1_4_current.alpha_a)*Kv1_4_current.P_C1); Kv1_4_current.P_C2:time=(Kv1_4_current.alpha_i/Kv1_4_current.b2*Kv1_4_current.P_CI2+3*Kv1_4_current.alpha_a*Kv1_4_current.P_C1+3*Kv1_4_current.beta_a*Kv1_4_current.P_C3-(Kv1_4_current.f2*Kv1_4_current.beta_i+2*Kv1_4_current.beta_a+2*Kv1_4_current.alpha_a)*Kv1_4_current.P_C2); Kv1_4_current.P_C3:time=(Kv1_4_current.alpha_i/Kv1_4_current.b3*Kv1_4_current.P_CI3+2*Kv1_4_current.alpha_a*Kv1_4_current.P_C2+4*Kv1_4_current.beta_a*Kv1_4_current.P_O-(Kv1_4_current.f3*Kv1_4_current.beta_i+3*Kv1_4_current.beta_a+Kv1_4_current.alpha_a)*Kv1_4_current.P_C3); Kv1_4_current.P_O:time=(Kv1_4_current.alpha_a*Kv1_4_current.P_C3+Kv1_4_current.alpha_i/Kv1_4_current.b4*Kv1_4_current.P_OI-(Kv1_4_current.f4*Kv1_4_current.beta_i+4*Kv1_4_current.beta_a)*Kv1_4_current.P_O); Kv1_4_current.P_CI0:time=(Kv1_4_current.beta_i*Kv1_4_current.P_C0+Kv1_4_current.beta_a/Kv1_4_current.f1*Kv1_4_current.P_C1-(Kv1_4_current.alpha_i+Kv1_4_current.b1*4*Kv1_4_current.alpha_a)*Kv1_4_current.P_CI0); Kv1_4_current.P_CI1:time=(Kv1_4_current.f1*2*Kv1_4_current.beta_a/Kv1_4_current.f2*Kv1_4_current.P_CI2+Kv1_4_current.b1*4*Kv1_4_current.alpha_a*Kv1_4_current.P_CI0+Kv1_4_current.f1*Kv1_4_current.beta_i*Kv1_4_current.P_C1-(Kv1_4_current.b2*3*Kv1_4_current.alpha_a/Kv1_4_current.b1+Kv1_4_current.alpha_i/Kv1_4_current.b1+Kv1_4_current.beta_a/Kv1_4_current.f1)*Kv1_4_current.P_CI1); Kv1_4_current.P_CI2:time=(Kv1_4_current.f2*3*Kv1_4_current.beta_a/Kv1_4_current.f3*Kv1_4_current.P_CI3+Kv1_4_current.b2*3*Kv1_4_current.alpha_a/Kv1_4_current.b1*Kv1_4_current.P_CI1+Kv1_4_current.f2*Kv1_4_current.beta_i*Kv1_4_current.P_C2-(Kv1_4_current.b3*2*Kv1_4_current.alpha_a/Kv1_4_current.b2+Kv1_4_current.alpha_i/Kv1_4_current.b2+Kv1_4_current.f1*2*Kv1_4_current.beta_a/Kv1_4_current.f2)*Kv1_4_current.P_CI2); Kv1_4_current.P_CI3:time=(Kv1_4_current.f3*4*Kv1_4_current.beta_a/Kv1_4_current.f4*Kv1_4_current.P_OI+Kv1_4_current.b3*2*Kv1_4_current.alpha_a/Kv1_4_current.b2*Kv1_4_current.P_CI2+Kv1_4_current.f3*Kv1_4_current.beta_i*Kv1_4_current.P_C3-(Kv1_4_current.b4*Kv1_4_current.alpha_a/Kv1_4_current.b3+Kv1_4_current.alpha_i/Kv1_4_current.b3+Kv1_4_current.f2*3*Kv1_4_current.beta_a/Kv1_4_current.f3)*Kv1_4_current.P_CI3); Kv1_4_current.P_OI:time=(Kv1_4_current.b4*Kv1_4_current.alpha_a/Kv1_4_current.b3*Kv1_4_current.P_CI3+Kv1_4_current.f4*Kv1_4_current.beta_i*Kv1_4_current.P_O-(Kv1_4_current.alpha_i/Kv1_4_current.b4+Kv1_4_current.f3*4*Kv1_4_current.beta_a/Kv1_4_current.f4)*Kv1_4_current.P_OI); Kv1_4_current.alpha_a=(Kv1_4_current.alpha_a0*exp(Kv1_4_current.a_a)); Kv1_4_current.beta_a=(Kv1_4_current.beta_a0*exp((-1)*Kv1_4_current.b_a)); Kv1_4_current.alpha_i=(Kv1_4_current.alpha_i0*exp((-1)*Kv1_4_current.a_i)); Kv1_4_current.beta_i=(Kv1_4_current.beta_i0*exp(Kv1_4_current.b_i)); // i_K1=(g_K1*K1_infinity_V*(Ko/(Ko+K_mK1))*(V-E_K)); // K1_infinity_V=(1/(2+exp(1.5*(F/(R*T))*(V-E_K)))); // i_Kp=(g_Kp*Kp_V*(V-E_K)); // Kp_V=(1/(1+exp(((7.488 millivolt)-V)/(5.98 millivolt)))); // i_NaCa=(K_NaCa*(5E3/(K_mNa^3+Nao^3))*(1/(K_mCa+Cao))*(1/(1+K_sat*exp((eta-1)*V*(F/(R*T)))))*(exp(eta*V*(F/(R*T)))*Nai^3*Cao-exp((eta-1)*V*(F/(R*T)))*Nao^3*Cai)); // f_NaK=(1/(1+.1245*exp((-0.1)*(V*F/(R*T)))+.0365*sigma*exp((-1)*(V*F/(R*T))))); sigma=(1/7*(exp(Nao/67.3)-1)); i_NaK=(I_NaK*f_NaK*(1/(1+(K_mNai/Nai)^1.5))*(Ko/(Ko+K_mKo))); // i_p_Ca=(I_pCa*(Cai/(K_mpCa+Cai))); // E_Ca=(R*T/(2*F)*ln(Cao/Cai)); i_Ca_b=(g_Cab*(V-E_Ca)); // i_Na_b=(g_Nab*(V-E_Na)); // i_Ca=(i_Ca_max*y*(O+O_Ca)); i_Ca_K=(p_k/C_sc*y*(O+O_Ca)*(V*F^2/(R*T))*((Ki*exp(V*F/(R*T))-Ko)/(exp(V*F/(R*T))-1))); p_k=(P_K/(1+i_Ca_max/i_Ca_half)); i_Ca_max=(P_Ca/C_sc*(4*V*F^2/(R*T))*((.001*exp(2*V*F/(R*T))-.341*Cao)/(exp(2*V*F/(R*T))-1))); L_type_Ca_current.alpha=((.4 per_millisecond)*exp((V+(2 millivolt))/(10 millivolt))); beta=((.05 per_millisecond)*exp((-1)*(V+(2 millivolt))/(13 millivolt))); L_type_Ca_current.alpha_a=(L_type_Ca_current.alpha*a); beta_b=(beta/b); gamma=(.10375*Ca_ss); C0:time=(beta*C1+omega*C_Ca0-(4*L_type_Ca_current.alpha+gamma)*C0); C1:time=(4*L_type_Ca_current.alpha*C0+2*beta*C2+omega/b*C_Ca1-(beta+3*L_type_Ca_current.alpha+gamma*a)*C1); C2:time=(3*L_type_Ca_current.alpha*C1+3*beta*C3+omega/b^2*C_Ca2-(beta*2+2*L_type_Ca_current.alpha+gamma*a^2)*C2); C3:time=(2*L_type_Ca_current.alpha*C2+4*beta*C4+omega/b^3*C_Ca3-(beta*3+L_type_Ca_current.alpha+gamma*a^3)*C3); C4:time=(L_type_Ca_current.alpha*C3+g*O+omega/b^4*C_Ca4-(beta*4+f+gamma*a^4)*C4); O:time=(f*C4-g*O); C_Ca0:time=(beta_b*C_Ca1+gamma*C_Ca0-(4*L_type_Ca_current.alpha_a+omega)*C_Ca0); C_Ca1:time=(4*L_type_Ca_current.alpha_a*C_Ca0+2*beta_b*C_Ca2+gamma*a*C1-(beta_b+3*L_type_Ca_current.alpha_a+omega/b)*C_Ca1); C_Ca2:time=(3*L_type_Ca_current.alpha_a*C_Ca1+3*beta_b*C_Ca3+gamma*a^2*C2-(beta_b*2+2*L_type_Ca_current.alpha_a+omega/b^2)*C_Ca2); C_Ca3:time=(2*L_type_Ca_current.alpha_a*C_Ca2+4*beta_b*C_Ca4+gamma*a^3*C3-(beta_b*3+L_type_Ca_current.alpha_a+omega/b^3)*C_Ca3); C_Ca4:time=(L_type_Ca_current.alpha_a*C_Ca3+g_*O_Ca+gamma*a^4*C4-(beta_b*4+f_+omega/b^4)*C_Ca4); O_Ca:time=(f_*C_Ca4-g_*O_Ca); // y:time=((y_infinity-y)/tau_y); y_infinity=(.8/(1+exp((V+(12.5 millivolt))/(5 millivolt)))+.2); tau_y=(20+600/(1+exp((V+(20 millivolt))/(9.5 millivolt)))); // RyR_channel.P_C1:time=((-1)*k_a_plus*Ca_ss^4*RyR_channel.P_C1+k_a_minus*P_O1); P_O1:time=(k_a_plus*Ca_ss^4*RyR_channel.P_C1-(k_a_minus*P_O1+k_b_plus*Ca_ss^3*P_O1+k_c_plus*P_O1)+k_b_minus*P_O2+k_c_minus*RyR_channel.P_C2); P_O2:time=(k_b_plus*Ca_ss^3*P_O1-k_b_minus*P_O2); RyR_channel.P_C2:time=(k_c_plus*P_O1-k_c_minus*RyR_channel.P_C2); J_rel=(v1*(P_O1+P_O2)*(Ca_JSR-Ca_ss)); // J_up=(K_SR*((Vmaxf*fb-Vmaxr*rb)/(1+fb+rb))); fb=((Cai/K_fb)^N_fb); rb=((Ca_NSR/K_rb)^N_rb); // J_tr=((Ca_NSR-Ca_JSR)/tau_tr); J_xfer=((Ca_ss-Cai)/tau_xfer); J_trpn=(J_HTRPNCa+J_LTRPNCa); J_HTRPNCa=(HTRPNCa:time); HTRPNCa:time=(k_htrpn_plus*Cai*(HTRPN_tot-HTRPNCa)-k_htrpn_minus*HTRPNCa); J_LTRPNCa=(LTRPNCa:time); LTRPNCa:time=(k_ltrpn_plus*Cai*(LTRPN_tot-LTRPNCa)-k_ltrpn_minus*LTRPNCa); // Cai:time=(intracellular_ion_concentrations.beta_i*(J_xfer-(J_up+J_trpn+(i_Ca_b-2*i_NaCa+i_p_Ca)*(A_cap*C_sc/(2*V_myo*F))))); Nai:time=((-1)*(i_Na+i_Na_b+i_NaCa*3+i_NaK*3)*(A_cap*C_sc/(V_myo*F))); Ki:time=((-1)*(i_Ca_K+i_Kr+i_Ks+i_K1+i_Kp+i_to1+i_NaK*(-2))*(A_cap*C_sc/(V_myo*F))); intracellular_ion_concentrations.beta_i=(1/(1+CMDN_tot*K_mCMDN/(K_mCMDN+Cai^2))); beta_SS=(1/(1+CMDN_tot*K_mCMDN/(K_mCMDN+Ca_ss^2))); beta_JSR=(1/(1+CSQN_tot*K_mCSQN/(K_mCSQN+Ca_JSR^2))); Ca_ss:time=(beta_SS*(J_rel*(V_JSR/V_SS)-J_xfer*(V_myo/V_SS)-i_Ca*(A_cap*C_sc/(2*V_SS*F)))); Ca_JSR:time=(beta_JSR*(J_tr-J_rel)); Ca_NSR:time=(J_up*(V_myo/V_NSR)-J_tr*(V_JSR/V_NSR)); // }