/* * Clancy-Rudy Markovian Model of Ion Channels 2001 * * Model Status * * This CellML model represents the IKrN629D mutant M cell. FFor * more details on the curation status of this model please see * this separate notes document. * * Model Structure * * ABSTRACT: BACKGROUND: A variety of mutations in HERG, the major * subunit of the rapidly activating component of the cardiac delayed * rectifier I(Kr), have been found to underlie the congenital * Long-QT syndrome, LQT2. LQT2 may give rise to severe arrhythmogenic * phenotypes leading to sudden cardiac death. OBJECTIVE: We attempt * to elucidate the mechanisms by which heterogeneous LQT2 genotypes * can lead to prolongation of the action potential duration (APD) * and consequently the QT interval on the ECG. METHODS: We develop * Markovian models of wild-type (WT) and mutant I(Kr) channels * and incorporate these models into a comprehensive model of the * cardiac ventricular cell. RESULTS: Using this virtual transgenic * cell model, we describe the effects of HERG mutations on the * cardiac ventricular action potential (AP) and provide insight * into the mechanism by which each defect results in a net loss * of repolarizing current and prolongation of APD. CONCLUSIONS: * This study demonstrates which mutations can prolong APD sufficiently * to generate early afterdepolarizations (EADs), which may trigger * life-threatening arrhythmias. The severity of the phenotype * is shown to depend on the specific kinetic changes and how they * affect I(Kr) during the time course of the action potential. * Clarifying how defects in HERG can lead to impaired cellular * electrophysiology can improve our understanding of the link * between channel structure and cellular function. * * The original paper reference is cited below: * * Cellular consequences of HERG mutations in the long QT syndrome: * precursors to sudden cardiac death, Colleen E. Clancy and Yoram * Rudy, 2001, Cardiovascular Research, 50, 301-313. PubMed ID: * 11334834 * * cell diagram of the Clancy-Rudy model showing ionic currents, * pumps and exchangers within the sarcolemma and the sarcoplasmic * reticulum * * [[Image file: clancy_2001.png]] * * A schematic diagram describing the current flows across the * cell membrane that are captured in the Clancy-Rudy model. */ import nsrunit; // Warning: unit conversion turned off due to unit errors in 36 equation(s) unit conversion off; unit per_second=1 second^(-1); // unit millivolt predefined unit per_millivolt=1E3 kilogram^(-1)*meter^(-2)*second^3*ampere^1; unit per_millivolt_second=1E3 kilogram^(-1)*meter^(-2)*second^2*ampere^1; unit milliS_per_microF=1 second^(-1); unit milliS_per_cm2=10 kilogram^(-1)*meter^(-4)*second^3*ampere^2; unit nanoS_per_cm2=1E-5 kilogram^(-1)*meter^(-4)*second^3*ampere^2; unit microF=1E-6 kilogram^(-1)*meter^(-2)*second^4*ampere^2; unit microA_per_microF=1 kilogram^1*meter^2*second^(-4)*ampere^(-1); unit millimolar_per_second=1 meter^(-3)*second^(-1)*mole^1; // unit millimolar predefined // unit micromolar predefined unit joule_per_kilomole_kelvin=.001 kilogram^1*meter^2*second^(-2)*kelvin^(-1)*mole^(-1); unit coulomb_per_mole=1 second^1*ampere^1*mole^(-1); unit cm_per_second=.01 meter^1*second^(-1); unit mm=.001 meter^1; unit mm2=1E-6 meter^2; unit micro_litre=1E-9 meter^3; math main { realDomain time second; time.min=0; extern time.max; extern time.delta; real V(time) millivolt; when(time=time.min) V=-90; real R joule_per_kilomole_kelvin; R=8314; real T kelvin; T=310; real F coulomb_per_mole; F=96485; real Cm microF; Cm=0.001; real I_st(time) microA_per_microF; real i_Na(time) microA_per_microF; real i_Ca_L(time) microA_per_microF; real i_Ca_T(time) microA_per_microF; real i_Kr(time) microA_per_microF; real i_Ks(time) microA_per_microF; real i_K_Na(time) microA_per_microF; real i_K_ATP(time) microA_per_microF; real i_to(time) microA_per_microF; real i_NaCa(time) microA_per_microF; real i_K1(time) microA_per_microF; real i_Kp(time) microA_per_microF; real i_p_Ca(time) microA_per_microF; real i_Na_b(time) microA_per_microF; real i_Ca_b(time) microA_per_microF; real i_NaK(time) microA_per_microF; real i_ns_Ca(time) microA_per_microF; real dVdt(time) dimensionless; real stim_start second; stim_start=0.1; real stim_end second; stim_end=9; real stim_period dimensionless; stim_period=1; real stim_duration second; stim_duration=0.002; real stim_amplitude microA_per_microF; stim_amplitude=-25.5; real E_Na(time) millivolt; real g_Na milliS_per_microF; g_Na=18.5; real Nao millimolar; Nao=132; real Nai(time) millimolar; when(time=time.min) Nai=9; real P_O_Na(time) dimensionless; when(time=time.min) P_O_Na=1.78e-6; real Na_channel_states.P_C1(time) dimensionless; when(time=time.min) Na_channel_states.P_C1=1.119e-4; real Na_channel_states.P_C2(time) dimensionless; when(time=time.min) Na_channel_states.P_C2=0.0071021; real Na_channel_states.P_C3(time) dimensionless; when(time=time.min) Na_channel_states.P_C3=0.8294071; real P_IF(time) dimensionless; when(time=time.min) P_IF=0.10199797; real P_IS(time) dimensionless; when(time=time.min) P_IS=0.0613826; real alpha_11(time) per_second; real beta_11(time) per_second; real alpha_12(time) per_second; real beta_12(time) per_second; real alpha_13(time) per_second; real beta_13(time) per_second; real alpha_2(time) per_second; real beta_2(time) per_second; real alpha_3(time) per_second; real beta_3(time) per_second; real alpha_4(time) per_second; real beta_4(time) per_second; real i_CaCa(time) microA_per_microF; real i_CaK(time) microA_per_microF; real i_CaNa(time) microA_per_microF; real gamma_Nai dimensionless; gamma_Nai=0.75; real gamma_Nao dimensionless; gamma_Nao=0.75; real gamma_Ki dimensionless; gamma_Ki=0.75; real gamma_Ko dimensionless; gamma_Ko=0.75; real I_CaCa(time) microA_per_microF; real I_CaK(time) microA_per_microF; real I_CaNa(time) microA_per_microF; real P_Ca cm_per_second; P_Ca=0.00054; real P_Na cm_per_second; P_Na=6.75e-7; real P_K cm_per_second; P_K=1.93e-7; real gamma_Cai dimensionless; gamma_Cai=1; real gamma_Cao dimensionless; gamma_Cao=0.341; real Cai(time) millimolar; when(time=time.min) Cai=6e-5; real Cao millimolar; Cao=1.8; real Ko millimolar; Ko=4.5; real Ki(time) millimolar; when(time=time.min) Ki=141.2; real d(time) dimensionless; when(time=time.min) d=3.210618e-6; real f(time) dimensionless; when(time=time.min) f=0.999837; real f_Ca(time) dimensionless; real alpha_d(time) per_second; real beta_d(time) per_second; real d_infinity(time) dimensionless; real tau_d(time) second; real E0_d(time) millivolt; real alpha_f(time) per_second; real beta_f(time) per_second; real f_infinity(time) dimensionless; real tau_f(time) second; real Km_Ca millimolar; Km_Ca=0.0006; real g_CaT milliS_per_microF; g_CaT=0.05; real E_Ca(time) millivolt; real b(time) dimensionless; when(time=time.min) b=0.000970231; real g(time) dimensionless; when(time=time.min) g=0.994305; real b_inf(time) dimensionless; real tau_b(time) second; real g_inf(time) dimensionless; real tau_g(time) second; real g_Kr milliS_per_microF; real E_Kr(time) millivolt; real P_O(time) dimensionless; when(time=time.min) P_O=0.000001; real Kr_channel_states.P_C1(time) dimensionless; when(time=time.min) Kr_channel_states.P_C1=0.000001; real Kr_channel_states.P_C2(time) dimensionless; when(time=time.min) Kr_channel_states.P_C2=0.000001; real Kr_channel_states.P_C3(time) dimensionless; when(time=time.min) Kr_channel_states.P_C3=0.000001; real P_I(time) dimensionless; when(time=time.min) P_I=0.000001; real alpha(time) per_second; real beta(time) per_second; real alpha_in per_second; alpha_in=2172; real beta_in per_second; beta_in=1077; real alpha_alpha(time) per_second; real beta_beta(time) per_second; real alpha_i(time) per_second; real beta_i per_second; real mu per_second; real g_Ks(time) milliS_per_microF; real E_Ks(time) millivolt; real PNaK dimensionless; PNaK=0.01833; real xs1(time) dimensionless; when(time=time.min) xs1=0.00445683; real xs2(time) dimensionless; when(time=time.min) xs2=0.00445683; real xs1_infinity(time) dimensionless; real tau_xs1(time) second; real xs2_infinity(time) dimensionless; real tau_xs2(time) second; real E_K(time) millivolt; real g_K1 milliS_per_cm2; real K1_infinity(time) dimensionless; real alpha_K1(time) per_second; real beta_K1(time) per_second; real g_Kp milliS_per_microF; g_Kp=0.00552; real Kp(time) dimensionless; real g_K_Na milliS_per_microF; real nKNa dimensionless; nKNa=2.8; real pona(time) dimensionless; real pov(time) dimensionless; real kdKNa millimolar; kdKNa=66; real g_K_ATP milliS_per_microF; real i_K_ATP_on dimensionless; i_K_ATP_on=1; real nATP dimensionless; nATP=0.24; real nicholsarea dimensionless; nicholsarea=5e-5; real ATPi millimolar; ATPi=3; real hATP dimensionless; hATP=2; real kATP millimolar; kATP=0.00025; real pATP dimensionless; real GKbaraATP milliS_per_microF; real g_to milliS_per_microF; real rvdv(time) dimensionless; real zdv(time) dimensionless; when(time=time.min) zdv=0.5; real ydv(time) dimensionless; when(time=time.min) ydv=0.5; real alpha_zdv(time) per_second; real beta_zdv(time) per_second; real tau_zdv(time) second; real zdv_ss(time) dimensionless; real alpha_ydv(time) per_second; real beta_ydv(time) per_second; real tau_ydv(time) second; real ydv_ss(time) dimensionless; real K_mpCa millimolar; K_mpCa=0.0005; real I_pCa microA_per_microF; I_pCa=1.15; real g_Nab milliS_per_microF; g_Nab=0.004; real g_Cab milliS_per_microF; g_Cab=0.003016; real I_NaK microA_per_microF; I_NaK=2.25; real f_NaK(time) dimensionless; real K_mNai millimolar; K_mNai=10; real K_mKo millimolar; K_mKo=1.5; real sigma dimensionless; real i_ns_Na(time) microA_per_microF; real i_ns_K(time) microA_per_microF; real P_ns_Ca cm_per_second; real I_ns_Na(time) microA_per_microF; real I_ns_K(time) microA_per_microF; real K_m_ns_Ca millimolar; K_m_ns_Ca=0.0012; real c1 microA_per_microF; c1=0.00025; real c2 millimolar; c2=0.0001; real gamma dimensionless; gamma=0.15; real i_rel(time) millimolar_per_second; real i_up(time) millimolar_per_second; real i_leak(time) millimolar_per_second; real i_tr(time) millimolar_per_second; real G_rel(time) per_second; real G_rel_max per_second; G_rel_max=60000; real G_rel_overload per_second; G_rel_overload=4000; real tau_tr second; tau_tr=0.18; real K_mrel millimolar; K_mrel=0.0008; real delta_Ca_ith millimolar; delta_Ca_ith=0.00018; real CSQN_max millimolar; CSQN_max=10; real K_mCSQN millimolar; K_mCSQN=0.8; real K_mup millimolar; K_mup=0.00092; real K_leak per_second; real I_up millimolar_per_second; I_up=8.75; real Ca_NSR_max millimolar; Ca_NSR_max=15; real Ca_JSR(time) millimolar; when(time=time.min) Ca_JSR=1.8; real Ca_NSR(time) millimolar; when(time=time.min) Ca_NSR=1.8; real V_myo micro_litre; real A_cap mm2; A_cap=1.434e-7; real V_JSR micro_litre; real V_NSR micro_litre; real K_mTn millimolar; K_mTn=0.0005; real K_mCMDN millimolar; K_mCMDN=0.00238; real Tn_max millimolar; Tn_max=0.07; real CMDN_max millimolar; CMDN_max=0.05; real APtrack(time) dimensionless; when(time=time.min) APtrack=0; real APtrack2(time) dimensionless; when(time=time.min) APtrack2=0; real APtrack3(time) dimensionless; when(time=time.min) APtrack3=0; real Cainfluxtrack(time) dimensionless; when(time=time.min) Cainfluxtrack=0; real OVRLDtrack(time) dimensionless; when(time=time.min) OVRLDtrack=0; real OVRLDtrack2(time) dimensionless; when(time=time.min) OVRLDtrack2=0; real OVRLDtrack3(time) dimensionless; when(time=time.min) OVRLDtrack3=0; real CSQNthresh millimolar; CSQNthresh=0.7; real Logicthresh dimensionless; Logicthresh=0.98; real preplength mm; preplength=0.001; real radius mm; radius=1.1e-4; real volume micro_litre; // // I_st=(if (((time>=stim_start) and (time<=stim_end)) and ((time-stim_start-floor((time-stim_start)/stim_period)*stim_period)<=stim_duration)) stim_amplitude else (0 microA_per_microF)); V:time=((-1)*1/Cm*(i_Na+i_Ca_L+i_Ca_T+i_Kr+i_Ks+i_K_Na+i_K_ATP+i_to+i_K1+i_Kp+i_NaCa+i_p_Ca+i_Na_b+i_Ca_b+i_NaK+i_ns_Ca+I_st)); dVdt=((-1)*1/Cm*(i_Na+i_Ca_L+i_Ca_T+i_Kr+i_Ks+i_K_Na+i_K_ATP+i_to+i_K1+i_Kp+i_NaCa+i_p_Ca+i_Na_b+i_Ca_b+i_NaK+i_ns_Ca+I_st)); // i_Na=(g_Na*P_O_Na*(V-E_Na)); E_Na=(R*T/F*ln(Nao/Nai)); // Na_channel_states.P_C3:time=(beta_11*Na_channel_states.P_C2-alpha_11*Na_channel_states.P_C3); Na_channel_states.P_C2:time=((-1)*(beta_11+alpha_12)*Na_channel_states.P_C2+alpha_11*Na_channel_states.P_C3+beta_12*Na_channel_states.P_C1); Na_channel_states.P_C1:time=((-1)*(beta_12+alpha_13+beta_3)*Na_channel_states.P_C1+alpha_12*Na_channel_states.P_C2+beta_13*P_O_Na+alpha_3*P_IF); P_O_Na:time=((-1)*(alpha_2+beta_13)*P_O_Na+beta_2*P_IF+alpha_13*Na_channel_states.P_C1); P_IF:time=((-1)*(beta_2+alpha_3+alpha_4)*P_IF+beta_3*Na_channel_states.P_C1+beta_4*P_IS+alpha_2*P_O_Na); P_IS:time=(alpha_4*P_IF-beta_4*P_IS); alpha_11=((3802 per_second)/(.1027*exp((-1)*V/(17 millivolt))+.2*exp((-1)*V/(150 millivolt)))); alpha_12=((3802 per_second)/(.1027*exp((-1)*V/(15 millivolt))+.23*exp((-1)*V/(150 millivolt)))); alpha_13=((3802 per_second)/(.1027*exp((-1)*V/(12 millivolt))+.25*exp((-1)*V/(150 millivolt)))); beta_11=((191.7 per_second)*exp((-1)*V/(20.3 millivolt))); beta_12=((200 per_second)*exp((-1)*(V-(5 millivolt))/(20.3 millivolt))); beta_13=((220 per_second)*exp((-1)*(V-(10 millivolt))/(20.3 millivolt))); alpha_2=((9178 per_second)*exp(V/(29.68 millivolt))); beta_2=(alpha_13*alpha_2*alpha_3/(beta_13*beta_3)); alpha_3=((3.7933E-7 per_second)*exp((-1)*V/(5.2 millivolt))); beta_3=((8.4 per_second)+(.02 per_millivolt)*V); alpha_4=(alpha_2/100); beta_4=alpha_3; // I_CaCa=(P_Ca*2^2*V*F^2/(R*T)*(gamma_Cai*Cai*exp(2*V*F/(R*T))-gamma_Cao*Cao)/(exp(2*V*F/(R*T))-1)); I_CaNa=(P_Na*1^2*V*F^2/(R*T)*(gamma_Nai*Nai*exp(1*V*F/(R*T))-gamma_Nao*Nao)/(exp(1*V*F/(R*T))-1)); I_CaK=(P_K*1^2*V*F^2/(R*T)*(gamma_Ki*Ki*exp(1*V*F/(R*T))-gamma_Ko*Ko)/(exp(1*V*F/(R*T))-1)); i_CaCa=(d*f*f_Ca*I_CaCa); i_CaNa=(d*f*f_Ca*I_CaNa); i_CaK=(d*f*f_Ca*I_CaK); i_Ca_L=(i_CaCa+i_CaK+i_CaNa); // E0_d=(V+(10 millivolt)); d_infinity=(1/(1+exp((-1)*E0_d/(6.24 millivolt)))); tau_d=(if (abs(E0_d)<(9.999999999999999E-6 millivolt)) (.001 second)/(.035*6.24) else .001*d_infinity*(1-exp((-1)*E0_d/(6.24 millivolt)))/((.035 per_millivolt_second)*E0_d)); alpha_d=(d_infinity/tau_d); beta_d=((1-d_infinity)/tau_d); d:time=(alpha_d*(1-d)-beta_d*d); // f_infinity=(1/(1+exp((V+(32 millivolt))/(8 millivolt)))+.6/(1+exp(((50 millivolt)-V)/(20 millivolt)))); tau_f=((.001 second)/(.0197*exp((-1)*((.0337 per_millivolt)*(V+(10 millivolt)))^2)+.02)); alpha_f=(f_infinity/tau_f); beta_f=((1-f_infinity)/tau_f); f:time=(alpha_f*(1-f)-beta_f*f); // f_Ca=(1/(1+Cai/Km_Ca)); // i_Ca_T=(g_CaT*b*b*g*(V-E_Ca)); // b_inf=(1/(1+exp((-1)*(V+(14 millivolt))/(10.8 millivolt)))); tau_b=((.0037 second)+(.0061 second)/(1+exp((V+(25 millivolt))/(4.5 millivolt)))); b:time=((b_inf-b)/tau_b); // g_inf=(1/(1+exp((V+(60 millivolt))/(5.6 millivolt)))); tau_g=(if (V<=(0 millivolt)) (-1)*(8.75E-4 second)*V+(.012 second) else (.012 second)); g:time=((g_inf-g)/tau_g); // i_Kr=(g_Kr*P_O*(V-E_Kr)); g_Kr=(2.7*(.0135 milliS_per_microF)*Ko^.59); E_Kr=(R*T/F*ln((Ko+.65*Nao)/(Ki+.65*Nai))); // Kr_channel_states.P_C3:time=(beta*Kr_channel_states.P_C2-alpha*Kr_channel_states.P_C3); Kr_channel_states.P_C2:time=((-1)*(beta+alpha_in)*Kr_channel_states.P_C2+alpha*Kr_channel_states.P_C3+beta_in*Kr_channel_states.P_C1); Kr_channel_states.P_C1:time=((-1)*(beta_in+alpha_alpha+alpha_alpha)*Kr_channel_states.P_C1+alpha_in*Kr_channel_states.P_C2+beta_beta*P_O+mu*P_I); P_O:time=((-1)*(beta_beta+beta_i)*P_O+alpha_alpha*Kr_channel_states.P_C1+alpha_i*P_I); P_I:time=((-1)*(mu+alpha_i)*P_I+alpha_alpha*Kr_channel_states.P_C1+beta_i*P_O); alpha=((55.5 per_second)*exp(.05547153*(V-(12 millivolt)))); beta=((2.357 per_second)*exp((-1)*.036588*V)); alpha_alpha=((65.5 per_second)*exp(.05547153*(V-(36 millivolt)))); beta_beta=((2.9357 per_second)*exp((-1)*.02158*V)); alpha_i=((439 per_second)*exp((-1)*.02352*(V+(25 millivolt)))*(4.5 micromolar)/Ko); beta_i=(0 per_second); mu=(1E6 per_second); // E_Ks=(R*T/F*ln((Ko+PNaK*Nao)/(Ki+PNaK*Nai))); g_Ks=(1.644*(.433 milliS_per_cm2)*(1+.6/(1+((3.7999999999999995E-5 millimolar)/Cai)^1.4))); i_Ks=(g_Ks*xs1*xs2*(V-E_Ks)); // xs1_infinity=(1/(1+exp((-1)*(V-(1.5 millivolt))/(16.7 millivolt)))); tau_xs1=((.001 second)/(7.19E-5*(V+(30 millivolt))/(1-exp((-1)*.148*(V+(30 millivolt))))+1.31E-4*(V+(30 millivolt))/(exp(.0687*(V+(30 millivolt)))-1))); xs1:time=((xs1_infinity-xs1)/tau_xs1); // xs2_infinity=(1/(1+exp((-1)*(V-(1.5 millivolt))/(16.7 millivolt)))); tau_xs2=(4*(.001 second)/(7.19E-5*(V+(30 millivolt))/(1-exp((-1)*.148*(V+(30 millivolt))))+1.31E-4*(V+(30 millivolt))/(exp(.0687*(V+(30 millivolt)))-1))); xs2:time=((xs2_infinity-xs2)/tau_xs2); // g_K1=((.75 milliS_per_microF)*sqrt(Ko/(5.4 millimolar))); E_K=(R*T/F*ln(Ko/Ki)); i_K1=(g_K1*K1_infinity*(V-E_K)); // alpha_K1=((1020 per_second)/(1+exp((.2385 per_millivolt)*(V-E_K-(59.215 millivolt))))); beta_K1=(1E3*((.49124 per_second)*exp(.08032*(V-E_K+(5.476 millivolt)))+exp(.06175*(V-E_K-(594.31 millivolt))))/(1+exp((-1)*(.5143 per_millivolt)*(V-E_K+(4.753 millivolt))))); K1_infinity=(alpha_K1/(alpha_K1+beta_K1)); // Kp=(1/(1+exp(((7.488 millivolt)-V)/(5.98 millivolt)))); i_Kp=(g_Kp*Kp*(V-E_K)); // g_K_Na=(0*(.12848 milliS_per_microF)); pona=(.85/(1+(kdKNa/Nai)^nKNa)); pov=(.8-.65/(1+exp((V+(125 millivolt))/(15 millivolt)))); i_K_Na=(g_K_Na*pona*pov*(V-E_K)); // g_K_ATP=(i_K_ATP_on*(1.93E-4 milliS_per_microF)/nicholsarea); pATP=(1/(1+(ATPi/kATP)^hATP)); GKbaraATP=(g_K_ATP*pATP*(Ko/4)^nATP); i_K_ATP=(GKbaraATP*(V-E_K)); // g_to=(0*(.5 milliS_per_microF)); rvdv=exp(V/(100 millivolt)); i_to=(g_to*zdv^3*ydv*rvdv*(V-E_K)); // alpha_zdv=((1E4 per_second)*exp((V-(40 millivolt))/(25 millivolt))/(1+exp((V-(40 millivolt))/(25 millivolt)))); beta_zdv=((1E4 per_second)*exp((-1)*(V+(90 millivolt))/(25 millivolt))/(1+exp((-1)*(V+(90 millivolt))/(25 millivolt)))); tau_zdv=(1/(alpha_zdv+beta_zdv)); zdv_ss=(alpha_zdv/(alpha_zdv+beta_zdv)); zdv:time=((zdv_ss-zdv)/tau_zdv); // alpha_ydv=((15 per_second)/(1+exp((V+(60 millivolt))/(5 millivolt)))); beta_ydv=((100 per_second)*exp((V+(25 millivolt))/(5 millivolt))/(1+exp((V+(25 millivolt))/(5 millivolt)))); tau_ydv=(1/(alpha_ydv+beta_ydv)); ydv_ss=(alpha_ydv/(alpha_ydv+beta_ydv)); ydv:time=((ydv_ss-ydv)/tau_ydv); // i_p_Ca=(I_pCa*Cai/(K_mpCa+Cai)); // i_Na_b=(g_Nab*(V-E_Na)); // E_Ca=(R*T/(2*F)*ln(Cao/Cai)); i_Ca_b=(g_Cab*(V-E_Ca)); // sigma=(1/7*(exp(Nao/67.3)-1)); f_NaK=(1/(1+.1245*exp((-1)*.1*V*F/(R*T))+.0365*sigma*exp((-1)*V*F/(R*T)))); i_NaK=(I_NaK*f_NaK*1/(1+(K_mNai/Nai)^2)*Ko/(Ko+K_mKo)); // P_ns_Ca=(0*(1.75E-7 cm_per_second)); I_ns_Na=(P_ns_Ca*1^2*V*F^2/(R*T)*(gamma_Nai*Nai*exp(1*V*F/(R*T))-gamma_Nao*Nao)/(exp(1*V*F/(R*T))-1)); I_ns_K=(P_ns_Ca*1^2*V*F^2/(R*T)*(gamma_Ki*Ki*exp(1*V*F/(R*T))-gamma_Ko*Ko)/(exp(1*V*F/(R*T))-1)); i_ns_Na=(I_ns_Na*1/(1+(K_m_ns_Ca/Cai)^3)); i_ns_K=(I_ns_K*1/(1+(K_m_ns_Ca/Cai)^3)); i_ns_Ca=(i_ns_Na+i_ns_K); // i_NaCa=(c1*exp((gamma-1)*V*F/(R*T))*(exp(V*F/(R*T))*Nai^3*Cao-Nao^3*Cai)/(1+c2*exp((gamma-1)*V*F/(R*T))*(exp(V*F/(R*T))*Nai^3*Cao+Nao^3*Cai))); // V_JSR=(.0048/.68*V_myo); V_NSR=(.0552/.68*V_myo); APtrack:time=(if (dVdt>1.5E5) 1E5*(1-APtrack)-500*APtrack else (-1)*500*APtrack); APtrack2:time=(if ((APtrack<.2) and (APtrack>.18)) 1E5*(1-APtrack2)-500*APtrack2 else (-1)*500*APtrack2); APtrack3:time=(if ((APtrack<.2) and (APtrack>.18)) 1E5*(1-APtrack3)-500*APtrack3 else (-1)*10*APtrack3); Cainfluxtrack:time=(if (APtrack>.2) (-1)*A_cap*(i_CaCa+i_Ca_T-i_NaCa+i_p_Ca+i_Ca_b)/(2*V_myo*F) else if ((APtrack2>.01) and (APtrack<=.2)) 0 else (-1)*500*Cainfluxtrack); OVRLDtrack:time=(if ((((1/(1+K_mCSQN/Ca_NSR))>CSQNthresh) and (OVRLDtrack3<.37)) and (APtrack3<.37)) 5E4*(1-OVRLDtrack) else (-1)*500*OVRLDtrack); OVRLDtrack2:time=(if ((OVRLDtrack>Logicthresh) and (OVRLDtrack2Logicthresh) and (OVRLDtrack3delta_Ca_ith) G_rel_max*(Cainfluxtrack-delta_Ca_ith)/(K_mrel+Cainfluxtrack-delta_Ca_ith)*(1-APtrack2)*APtrack2 else if ((Cainfluxtrack<=delta_Ca_ith) and (OVRLDtrack2>0)) G_rel_overload*(1-OVRLDtrack2)*OVRLDtrack2 else 0); i_rel=(G_rel*(Ca_JSR-Cai)); i_up=(I_up*Cai/(Cai+K_mup)); K_leak=(I_up/Ca_NSR_max); i_leak=(K_leak*Ca_NSR); i_tr=((Ca_NSR-Ca_JSR)/tau_tr); Ca_JSR:time=(1/(1+CSQN_max*K_mCSQN/(K_mCSQN+Ca_JSR)^2)*(i_tr-i_rel)); Ca_NSR:time=((-1)*i_tr*V_JSR/V_NSR-i_leak+i_up); Cai:time=(1/(1+CMDN_max*K_mCMDN/(K_mCMDN+Cai)^2+Tn_max*K_mTn/(K_mTn+Cai)^2)*((-1)*A_cap*(i_CaCa+i_Ca_T-2*i_NaCa+i_p_Ca+i_Ca_b)/(2*V_myo*F)+i_rel*V_JSR/V_myo+(i_leak-i_up)*V_NSR/V_myo)); // volume=(3.141592653589793*preplength*radius^2); V_myo=(.68*volume); Nai:time=((-1)*(i_Na+i_CaNa+i_Na_b+i_ns_Na+i_NaCa*3+i_NaK*3)*A_cap/(V_myo*F)); Ki:time=((-1)*(i_CaK+i_Kr+i_Ks+i_K1+i_Kp+i_K_Na+i_K_ATP+i_to+i_ns_K+(-1)*i_NaK*2)*A_cap/(V_myo*F)); }