/* * Computer model of action potential of mouse ventricular myocytes * * Model Status * * This CellML model runs in both OpenCell and COR to reproduce * the the action potential traces from Figure 16 of the publication. * This model represents the SEPTAL CELL variant as described in * Bondarenko et al.'s 2004 paper. * * Model Structure * * ABSTRACT: We have developed a mathematical model of the mouse * ventricular myocyte action potential (AP) from voltage-clamp * data of the underlying currents and Ca2+ transients. Wherever * possible, we used Markov models to represent the molecular structure * and function of ion channels. The model includes detailed intracellular * Ca2+ dynamics, with simulations of localized events such as * sarcoplasmic Ca2+ release into a small intracellular volume * bounded by the sarcolemma and sarcoplasmic reticulum. Transporter-mediated * Ca2+ fluxes from the bulk cytosol are closely matched to the * experimentally reported values and predict stimulation rate-dependent * changes in Ca2+ transients. Our model reproduces the properties * of cardiac myocytes from two different regions of the heart: * the apex and the septum. The septum has a relatively prolonged * AP, which reflects a relatively small contribution from the * rapid transient outward K+ current in the septum. The attribution * of putative molecular bases for several of the component currents * enables our mouse model to be used to simulate the behavior * of genetically modified transgenic mice. * * The original paper reference is cited below: * * Computer model of action potential of mouse ventricular myocytes, * Vladimir E. Bondarenko, Gyula P. Szigeti, Glenna C. L. Bett, * Song-Jung Kim, and Randall L. Rasmusson, 2004, American Journal * of Physiology, 287, H1378-H1403. PubMed ID: 15142845 * * cell diagram * * [[Image file: bondarenko_2004.png]] * * Schematic diagram of the mouse model ionic currents and calcium * fluxes. * * reaction diagram * * [[Image file: bondarenko_2_2004.png]] * * State diagram of the Markov model for the sodium channel. CNa * denotes a closed channel state, ONa is the open state, IFNa * represents the fast, inactivated state, I1Na and I2Na are the * intermediate inactivated states, and IC2Na and IC3Na are the * closed-inactivation states. */ import nsrunit; unit conversion on; // unit millisecond predefined unit per_millisecond=1E3 second^(-1); unit micromolar_per_millisecond=1 meter^(-3)*second^(-1)*mole^1; unit per_micromolar_millisecond=1E6 meter^3*second^(-1)*mole^(-1); unit micromolar3_per_millisecond=1E12 meter^9*second^(-1)*mole^(-3); unit micromolar4_per_millisecond=1E15 meter^12*second^(-1)*mole^(-4); // unit millivolt predefined unit per_millivolt=1E3 kilogram^(-1)*meter^(-2)*second^3*ampere^1; unit millivolt2=1E-6 kilogram^2*meter^4*second^(-6)*ampere^(-2); unit per_millivolt_millisecond=1E6 kilogram^(-1)*meter^(-2)*second^2*ampere^1; unit milliS_per_microF=1E3 second^(-1); unit picoF=1E-12 kilogram^(-1)*meter^(-2)*second^4*ampere^2; unit per_picoF=1E12 kilogram^1*meter^2*second^(-4)*ampere^(-2); unit microF_per_cm2=.01 kilogram^(-1)*meter^(-4)*second^4*ampere^2; unit picoA_per_picoF=1 kilogram^1*meter^2*second^(-4)*ampere^(-1); // unit micromolar predefined 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 cm2=1E-4 meter^2; // unit microlitre predefined math main { realDomain time millisecond; time.min=0; extern time.max; extern time.delta; real V(time) millivolt; when(time=time.min) V=-82.4202; real Cm microF_per_cm2; Cm=1; real Vmyo microlitre; Vmyo=25.84e-6; real VJSR microlitre; VJSR=0.12e-6; real VNSR microlitre; VNSR=2.098e-6; real Vss microlitre; Vss=1.485e-9; real Acap cm2; Acap=1.534e-4; real Ko micromolar; Ko=5400; real Nao micromolar; Nao=140000; real Cao micromolar; Cao=1800; real R joule_per_mole_kelvin; R=8.314; real T kelvin; T=298; real F coulomb_per_millimole; F=96.5; real i_stim(time) picoA_per_picoF; real i_CaL(time) picoA_per_picoF; real i_pCa(time) picoA_per_picoF; real i_NaCa(time) picoA_per_picoF; real i_Cab(time) picoA_per_picoF; real i_Na(time) picoA_per_picoF; real i_Nab(time) picoA_per_picoF; real i_NaK(time) picoA_per_picoF; real i_Kto_f(time) picoA_per_picoF; real i_Kto_s(time) picoA_per_picoF; real i_K1(time) picoA_per_picoF; real i_Ks(time) picoA_per_picoF; real i_Kur(time) picoA_per_picoF; real i_Kss(time) picoA_per_picoF; real i_ClCa(time) picoA_per_picoF; real i_Kr(time) picoA_per_picoF; real stim_start millisecond; stim_start=20; real stim_end millisecond; stim_end=100000; real stim_period millisecond; stim_period=71.43; real stim_duration millisecond; stim_duration=0.5; real stim_amplitude picoA_per_picoF; stim_amplitude=-80; real Cai(time) micromolar; when(time=time.min) Cai=0.115001; real Cass(time) micromolar; when(time=time.min) Cass=0.115001; real CaJSR(time) micromolar; when(time=time.min) CaJSR=1299.5; real CaNSR(time) micromolar; when(time=time.min) CaNSR=1299.5; real Bi(time) dimensionless; real Bss(time) dimensionless; real BJSR(time) dimensionless; real CMDN_tot micromolar; CMDN_tot=50; real CSQN_tot micromolar; CSQN_tot=15000; real Km_CMDN micromolar; Km_CMDN=0.238; real Km_CSQN micromolar; Km_CSQN=800; real J_leak(time) micromolar_per_millisecond; real J_rel(time) micromolar_per_millisecond; real J_up(time) micromolar_per_millisecond; real J_tr(time) micromolar_per_millisecond; real J_trpn(time) micromolar_per_millisecond; real J_xfer(time) micromolar_per_millisecond; real k_plus_htrpn per_micromolar_millisecond; k_plus_htrpn=0.00237; real k_minus_htrpn per_millisecond; k_minus_htrpn=3.2e-5; real k_plus_ltrpn per_micromolar_millisecond; k_plus_ltrpn=0.0327; real k_minus_ltrpn per_millisecond; k_minus_ltrpn=0.0196; real P_RyR(time) dimensionless; when(time=time.min) P_RyR=0; real v1 per_millisecond; v1=4.5; real tau_tr millisecond; tau_tr=20; real v2 per_millisecond; v2=1.74e-5; real tau_xfer millisecond; tau_xfer=8; real v3 micromolar_per_millisecond; v3=0.45; real Km_up micromolar; Km_up=0.5; real LTRPN_tot micromolar; LTRPN_tot=70; real HTRPN_tot micromolar; HTRPN_tot=140; real LTRPN_Ca(time) micromolar; when(time=time.min) LTRPN_Ca=11.2684; real HTRPN_Ca(time) micromolar; when(time=time.min) HTRPN_Ca=125.29; real i_CaL_max picoA_per_picoF; i_CaL_max=7; real P_O1(time) dimensionless; when(time=time.min) P_O1=0.149102e-4; real P_O2(time) dimensionless; when(time=time.min) P_O2=0.951726e-10; real P_C1(time) dimensionless; real P_C2(time) dimensionless; when(time=time.min) P_C2=0.16774e-3; real k_plus_a micromolar4_per_millisecond; k_plus_a=0.006075; real k_minus_a per_millisecond; k_minus_a=0.07125; real k_plus_b micromolar3_per_millisecond; k_plus_b=0.00405; real k_minus_b per_millisecond; k_minus_b=0.965; real k_plus_c per_millisecond; k_plus_c=0.009; real k_minus_c per_millisecond; k_minus_c=0.0008; // Var below replaced by constant in model eqns to satisfy unit correction // real m dimensionless; // m=3; // Var below replaced by constant in model eqns to satisfy unit correction // real n dimensionless; // n=4; real E_CaL millivolt; E_CaL=63; real g_CaL milliS_per_microF; g_CaL=0.1729; real O(time) dimensionless; when(time=time.min) O=0.930308e-18; real C1(time) dimensionless; real C2(time) dimensionless; when(time=time.min) C2=0.124216e-3; real C3(time) dimensionless; when(time=time.min) C3=0.578679e-8; real C4(time) dimensionless; when(time=time.min) C4=0.119816e-12; real I1(time) dimensionless; when(time=time.min) I1=0.497923e-18; real I2(time) dimensionless; when(time=time.min) I2=0.345847e-13; real I3(time) dimensionless; when(time=time.min) I3=0.185106e-13; real alpha(time) per_millisecond; real beta(time) per_millisecond; real gamma(time) per_millisecond; real Kpcf(time) per_millisecond; real Kpcb per_millisecond; Kpcb=0.0005; real Kpc_max per_millisecond; Kpc_max=0.23324; real Kpc_half micromolar; Kpc_half=20; real i_pCa_max picoA_per_picoF; i_pCa_max=1; real Km_pCa micromolar; Km_pCa=0.5; real k_NaCa picoA_per_picoF; k_NaCa=292.8; real K_mNa micromolar; K_mNa=87500; real K_mCa micromolar; K_mCa=1380; real k_sat dimensionless; k_sat=0.1; real eta dimensionless; eta=0.35; real Nai(time) micromolar; when(time=time.min) Nai=14237.1; real g_Cab milliS_per_microF; g_Cab=0.000367; real E_CaN(time) millivolt; real E_Na(time) millivolt; real g_Na milliS_per_microF; g_Na=13; real O_Na(time) dimensionless; when(time=time.min) O_Na=0.713483e-6; real C_Na1(time) dimensionless; when(time=time.min) C_Na1=0.279132e-3; real C_Na2(time) dimensionless; when(time=time.min) C_Na2=0.020752; real C_Na3(time) dimensionless; real I1_Na(time) dimensionless; when(time=time.min) I1_Na=0.673345e-6; real I2_Na(time) dimensionless; when(time=time.min) I2_Na=0.155787e-8; real IF_Na(time) dimensionless; when(time=time.min) IF_Na=0.153176e-3; real IC_Na2(time) dimensionless; when(time=time.min) IC_Na2=0.0113879; real IC_Na3(time) dimensionless; when(time=time.min) IC_Na3=0.34278; real alpha_Na11(time) per_millisecond; real beta_Na11(time) per_millisecond; real alpha_Na12(time) per_millisecond; real beta_Na12(time) per_millisecond; real alpha_Na13(time) per_millisecond; real beta_Na13(time) per_millisecond; real alpha_Na3(time) per_millisecond; real beta_Na3(time) per_millisecond; real alpha_Na2(time) per_millisecond; real beta_Na2(time) per_millisecond; real alpha_Na4(time) per_millisecond; real beta_Na4(time) per_millisecond; real alpha_Na5(time) per_millisecond; real beta_Na5(time) per_millisecond; real Ki(time) micromolar; when(time=time.min) Ki=143720; real g_Nab milliS_per_microF; g_Nab=0.0026; real E_K(time) millivolt; real g_Kto_f milliS_per_microF; g_Kto_f=0.0798; real ato_f(time) dimensionless; when(time=time.min) ato_f=0.265563e-2; real ito_f(time) dimensionless; when(time=time.min) ito_f=0.999977; real alpha_a(time) per_millisecond; real beta_a(time) per_millisecond; real fast_transient_outward_potassium_current.alpha_i(time) per_millisecond; real fast_transient_outward_potassium_current.beta_i(time) per_millisecond; real ass(time) dimensionless; real iss(time) dimensionless; real g_Kto_s milliS_per_microF; g_Kto_s=0.0629; real ato_s(time) dimensionless; when(time=time.min) ato_s=0.417069e-3; real ito_s(time) dimensionless; when(time=time.min) ito_s=0.998543; real tau_ta_s(time) millisecond; real tau_ti_s(time) millisecond; real g_Ks milliS_per_microF; g_Ks=0.00575; real nKs(time) dimensionless; when(time=time.min) nKs=0.262753e-3; real alpha_n(time) per_millisecond; real beta_n(time) per_millisecond; real g_Kur milliS_per_microF; g_Kur=0.0975; real aur(time) dimensionless; when(time=time.min) aur=0.417069e-3; real iur(time) dimensionless; when(time=time.min) iur=0.998543; real tau_aur(time) millisecond; real tau_iur(time) millisecond; real g_Kss milliS_per_microF; g_Kss=0.0324; real aKss(time) dimensionless; when(time=time.min) aKss=0.417069e-3; real iKss(time) dimensionless; when(time=time.min) iKss=1; real tau_Kss(time) millisecond; real g_Kr milliS_per_microF; g_Kr=0.078; real O_K(time) dimensionless; when(time=time.min) O_K=0.175298e-3; real C_K1(time) dimensionless; when(time=time.min) C_K1=0.992513e-3; real C_K2(time) dimensionless; when(time=time.min) C_K2=0.641229e-3; real C_K0(time) dimensionless; real I_K(time) dimensionless; when(time=time.min) I_K=0.319129e-4; real alpha_a0(time) per_millisecond; real beta_a0(time) per_millisecond; real kb per_millisecond; kb=0.036778; real kf per_millisecond; kf=0.023761; real alpha_a1(time) per_millisecond; real beta_a1(time) per_millisecond; real rapid_delayed_rectifier_potassium_current.alpha_i(time) per_millisecond; real rapid_delayed_rectifier_potassium_current.beta_i(time) per_millisecond; real i_NaK_max picoA_per_picoF; i_NaK_max=0.88; real Km_Nai micromolar; Km_Nai=21000; real Km_Ko micromolar; Km_Ko=1500; real f_NaK(time) dimensionless; real sigma dimensionless; real g_ClCa milliS_per_microF; g_ClCa=10; real O_ClCa(time) dimensionless; real E_Cl millivolt; E_Cl=-40; real Km_Cl micromolar; Km_Cl=10; // // i_stim=(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 picoA_per_picoF)); V:time=((-1)*(i_CaL+i_pCa+i_NaCa+i_Cab+i_Na+i_Nab+i_NaK+i_Kto_f+i_Kto_s+i_K1+i_Ks+i_Kur+i_Kss+i_Kr+i_ClCa+i_stim)); // Cai:time=(Bi*(J_leak+J_xfer-(J_up+J_trpn+(i_Cab+i_pCa-2*i_NaCa)*Acap*Cm/(2*Vmyo*F)))); Cass:time=(Bss*(J_rel*VJSR/Vss-(J_xfer*Vmyo/Vss+i_CaL*Acap*Cm/(2*Vss*F)))); CaJSR:time=(BJSR*(J_tr-J_rel)); CaNSR:time=((J_up-J_leak)*Vmyo/VNSR-J_tr*VJSR/VNSR); Bi=((1+CMDN_tot*Km_CMDN/(Km_CMDN+Cai)^2)^((-1)*1)); Bss=((1+CMDN_tot*Km_CMDN/(Km_CMDN+Cass)^2)^((-1)*1)); BJSR=((1+CSQN_tot*Km_CSQN/(Km_CSQN+CaJSR)^2)^((-1)*1)); // J_rel=(v1*(P_O1+P_O2)*(CaJSR-Cass)*P_RyR); J_tr=((CaNSR-CaJSR)/tau_tr); J_xfer=((Cass-Cai)/tau_xfer); J_leak=(v2*(CaNSR-Cai)); J_up=(v3*Cai^2/(Km_up^2+Cai^2)); J_trpn=(k_plus_htrpn*Cai*(HTRPN_tot-HTRPN_Ca)+k_plus_ltrpn*Cai*(LTRPN_tot-LTRPN_Ca)-(k_minus_htrpn*HTRPN_Ca+k_minus_ltrpn*LTRPN_Ca)); P_RyR:time=((-1)*(.04 per_millisecond)*P_RyR-(.1 per_millisecond)*i_CaL/i_CaL_max*exp((-1)*(V-(5 millivolt))^2/(648 millivolt2))); // LTRPN_Ca:time=(k_plus_ltrpn*Cai*(LTRPN_tot-LTRPN_Ca)-k_minus_ltrpn*LTRPN_Ca); HTRPN_Ca:time=(k_plus_htrpn*Cai*(HTRPN_tot-HTRPN_Ca)-k_minus_htrpn*HTRPN_Ca); // P_O1:time=(k_plus_a*Cass^4*P_C1+k_minus_b*P_O2+k_minus_c*P_C2-(k_minus_a*P_O1+k_plus_b*Cass^3*P_O1+k_plus_c*P_O1)); P_C1=(1-(P_C2+P_O1+P_O2)); P_O2:time=(k_plus_b*Cass^3*P_O1-k_minus_b*P_O2); P_C2:time=(k_plus_c*P_O1-k_minus_c*P_C2); // i_CaL=(g_CaL*O*(V-E_CaL)); O:time=(alpha*C4+Kpcb*I1+.001*(alpha*I2-Kpcf*O)-(4*beta*O+gamma*O)); C1=(1-(O+C2+C3+C4+I1+I2+I3)); C2:time=(4*alpha*C1+2*beta*C3-(beta*C2+3*alpha*C2)); C3:time=(3*alpha*C2+3*beta*C4-(2*beta*C3+2*alpha*C3)); C4:time=(2*alpha*C3+4*beta*O+(.01 millisecond)*(4*Kpcb*beta*I1-alpha*gamma*C4)+.002*(4*beta*I2-Kpcf*C4)+(4 millisecond)*beta*Kpcb*I3-(3*beta*C4+alpha*C4+(1 millisecond)*gamma*Kpcf*C4)); I1:time=(gamma*O+.001*(alpha*I3-Kpcf*I1)+(.01 millisecond)*(alpha*gamma*C4-4*beta*Kpcf*I1)-Kpcb*I1); I2:time=(.001*(Kpcf*O-alpha*I2)+Kpcb*I3+.002*(Kpcf*C4-4*beta*I2)-gamma*I2); I3:time=(.001*(Kpcf*I1-alpha*I3)+gamma*I2+(1 millisecond)*gamma*Kpcf*C4-((4 millisecond)*beta*Kpcb*I3+Kpcb*I3)); alpha=((.4 per_millisecond)*exp((V+(12 millivolt))/(10 millivolt))*(1+.7*exp((-1)*(V+(40 millivolt))^2/(10 millivolt2))-.75*exp((-1)*(V+(20 millivolt))^2/(400 millivolt2)))/(1+.12*exp((V+(12 millivolt))/(10 millivolt)))); beta=((.05 per_millisecond)*exp((-1)*(V+(12 millivolt))/(13 millivolt))); gamma=(Kpc_max*Cass/(Kpc_half+Cass)); Kpcf=((13 per_millisecond)*(1-exp((-1)*(V+(14.5 millivolt))^2/(100 millivolt2)))); // i_pCa=(i_pCa_max*Cai^2/(Km_pCa^2+Cai^2)); // i_NaCa=(k_NaCa*1/(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)); // i_Cab=(g_Cab*(V-E_CaN)); E_CaN=(R*T/(2*F)*ln(Cao/Cai)); // Nai:time=((-1)*(i_Na+i_Nab+3*i_NaK+3*i_NaCa)*Acap*Cm/(Vmyo*F)); // i_Na=(g_Na*O_Na*(V-E_Na)); E_Na=(R*T/F*ln((.9*Nao+.1*Ko)/(.9*Nai+.1*Ki))); C_Na3=(1-(O_Na+C_Na1+C_Na2+IF_Na+I1_Na+I2_Na+IC_Na2+IC_Na3)); C_Na2:time=(alpha_Na11*C_Na3+beta_Na12*C_Na1+alpha_Na3*IC_Na2-(beta_Na11*C_Na2+alpha_Na12*C_Na2+beta_Na3*C_Na2)); C_Na1:time=(alpha_Na12*C_Na2+beta_Na13*O_Na+alpha_Na3*IF_Na-(beta_Na12*C_Na1+alpha_Na13*C_Na1+beta_Na3*C_Na1)); O_Na:time=(alpha_Na13*C_Na1+beta_Na2*IF_Na-(beta_Na13*O_Na+alpha_Na2*O_Na)); IF_Na:time=(alpha_Na2*O_Na+beta_Na3*C_Na1+beta_Na4*I1_Na+alpha_Na12*IC_Na2-(beta_Na2*IF_Na+alpha_Na3*IF_Na+alpha_Na4*IF_Na+beta_Na12*IF_Na)); I1_Na:time=(alpha_Na4*IF_Na+beta_Na5*I2_Na-(beta_Na4*I1_Na+alpha_Na5*I1_Na)); I2_Na:time=(alpha_Na5*I1_Na-beta_Na5*I2_Na); IC_Na2:time=(alpha_Na11*IC_Na3+beta_Na12*IF_Na+beta_Na3*C_Na2-(beta_Na11*IC_Na2+alpha_Na12*IC_Na2+alpha_Na3*IC_Na2)); IC_Na3:time=(beta_Na11*IC_Na2+beta_Na3*C_Na3-(alpha_Na11*IC_Na3+alpha_Na3*IC_Na3)); alpha_Na11=((3.802 per_millisecond)/(.1027*exp((-1)*(V+(2.5 millivolt))/(17 millivolt))+.2*exp((-1)*(V+(2.5 millivolt))/(150 millivolt)))); alpha_Na12=((3.802 per_millisecond)/(.1027*exp((-1)*(V+(2.5 millivolt))/(15 millivolt))+.23*exp((-1)*(V+(2.5 millivolt))/(150 millivolt)))); alpha_Na13=((3.802 per_millisecond)/(.1027*exp((-1)*(V+(2.5 millivolt))/(12 millivolt))+.25*exp((-1)*(V+(2.5 millivolt))/(150 millivolt)))); beta_Na11=((.1917 per_millisecond)*exp((-1)*(V+(2.5 millivolt))/(20.3 millivolt))); beta_Na12=((.2 per_millisecond)*exp((-1)*(V-(2.5 millivolt))/(20.3 millivolt))); beta_Na13=((.22 per_millisecond)*exp((-1)*(V-(7.5 millivolt))/(20.3 millivolt))); alpha_Na3=((7E-7 per_millisecond)*exp((-1)*(V+(7 millivolt))/(7.7 millivolt))); beta_Na3=((.0084 per_millisecond)+(2E-5 per_millivolt_millisecond)*(V+(7 millivolt))); alpha_Na2=((1 per_millisecond)/(.188495*exp((-1)*(V+(7 millivolt))/(16.6 millivolt))+.393956)); beta_Na2=(alpha_Na13*alpha_Na2*alpha_Na3/(beta_Na13*beta_Na3)); alpha_Na4=(alpha_Na2/1E3); beta_Na4=alpha_Na3; alpha_Na5=(alpha_Na2/95000); beta_Na5=(alpha_Na3/50); // i_Nab=(g_Nab*(V-E_Na)); // Ki:time=((-1)*(i_Kto_f+i_Kto_s+i_K1+i_Ks+i_Kss+i_Kur+i_Kr-2*i_NaK)*Acap*Cm/(Vmyo*F)); // i_Kto_f=(g_Kto_f*ato_f^3*ito_f*(V-E_K)); E_K=(R*T/F*ln(Ko/Ki)); ato_f:time=(alpha_a*(1-ato_f)-beta_a*ato_f); ito_f:time=(fast_transient_outward_potassium_current.alpha_i*(1-ito_f)-fast_transient_outward_potassium_current.beta_i*ito_f); alpha_a=((.18064 per_millisecond)*exp((.03577 per_millivolt)*(V+(30 millivolt)))); beta_a=((.3956 per_millisecond)*exp((-1)*(.06237 per_millivolt)*(V+(30 millivolt)))); fast_transient_outward_potassium_current.alpha_i=((1.52E-4 per_millisecond)*exp((-1)*(V+(13.5 millivolt))/(7 millivolt))/(.0067083*exp((-1)*(V+(33.5 millivolt))/(7 millivolt))+1)); fast_transient_outward_potassium_current.beta_i=((9.5E-4 per_millisecond)*exp((V+(33.5 millivolt))/(7 millivolt))/(.051335*exp((V+(33.5 millivolt))/(7 millivolt))+1)); // i_Kto_s=(g_Kto_s*ato_s*ito_s*(V-E_K)); ato_s:time=((ass-ato_s)/tau_ta_s); ito_s:time=((iss-ito_s)/tau_ti_s); ass=(1/(1+exp((-1)*(V+(22.5 millivolt))/(7.7 millivolt)))); iss=(1/(1+exp((V+(45.2 millivolt))/(5.7 millivolt)))); tau_ta_s=((.493 millisecond)*exp((-1)*(.0629 per_millivolt)*V)+(2.058 millisecond)); tau_ti_s=((270 millisecond)+(1050 millisecond)/(1+exp((V+(45.2 millivolt))/(5.7 millivolt)))); // i_K1=((.2938 milliS_per_microF)*Ko/(Ko+(210 micromolar))*(V-E_K)/(1+exp((.0896 per_millivolt)*(V-E_K)))); // i_Ks=(g_Ks*nKs^2*(V-E_K)); nKs:time=(alpha_n*(1-nKs)-beta_n*nKs); alpha_n=((4.81333E-6 per_millivolt_millisecond)*(V+(26.5 millivolt))/(1-exp((-1)*(.128 per_millivolt)*(V+(26.5 millivolt))))); beta_n=((9.53333E-5 per_millisecond)*exp((-1)*(.038 per_millivolt)*(V+(26.5 millivolt)))); // i_Kur=(g_Kur*aur*iur*(V-E_K)); aur:time=((ass-aur)/tau_aur); iur:time=((iss-iur)/tau_iur); tau_aur=((.493 millisecond)*exp((-1)*(.0629 per_millivolt)*V)+(2.058 millisecond)); tau_iur=((1200 millisecond)-(170 millisecond)/(1+exp((V+(45.2 millivolt))/(5.7 millivolt)))); // i_Kss=(g_Kss*aKss*iKss*(V-E_K)); aKss:time=((ass-aKss)/tau_Kss); iKss:time=(0 per_millisecond); tau_Kss=((39.3 millisecond)*exp((-1)*(.0862 per_millivolt)*V)+(13.17 millisecond)); // i_Kr=(g_Kr*O_K*(V-R*T/F*ln((.98*Ko+.02*Nao)/(.98*Ki+.02*Nai)))); C_K0=(1-(C_K1+C_K2+O_K+I_K)); C_K2:time=(kf*C_K1+beta_a1*O_K-(kb*C_K2+alpha_a1*C_K2)); C_K1:time=(alpha_a0*C_K0+kb*C_K2-(beta_a0*C_K1+kf*C_K1)); O_K:time=(alpha_a1*C_K2+rapid_delayed_rectifier_potassium_current.beta_i*I_K-(beta_a1*O_K+rapid_delayed_rectifier_potassium_current.alpha_i*O_K)); I_K:time=(rapid_delayed_rectifier_potassium_current.alpha_i*O_K-rapid_delayed_rectifier_potassium_current.beta_i*I_K); alpha_a0=((.022348 per_millisecond)*exp((.01176 per_millivolt)*V)); beta_a0=((.047002 per_millisecond)*exp((-1)*(.0631 per_millivolt)*V)); alpha_a1=((.013733 per_millisecond)*exp((.038198 per_millivolt)*V)); beta_a1=((6.89E-5 per_millisecond)*exp((-1)*(.04178 per_millivolt)*V)); rapid_delayed_rectifier_potassium_current.alpha_i=((.090821 per_millisecond)*exp((.023391 per_millivolt)*(V+(5 millivolt)))); rapid_delayed_rectifier_potassium_current.beta_i=((.006497 per_millisecond)*exp((-1)*(.03268 per_millivolt)*(V+(5 millivolt)))); // i_NaK=(i_NaK_max*f_NaK*1/(1+(Km_Nai/Nai)^1.5)*Ko/(Ko+Km_Ko)); f_NaK=(1/(1+.1245*exp((-1)*.1*V*F/(R*T))+.0365*sigma*exp((-1)*V*F/(R*T)))); sigma=(1/7*(exp(Nao/(67300 micromolar))-1)); // i_ClCa=(g_ClCa*O_ClCa*Cai/(Cai+Km_Cl)*(V-E_Cl)); O_ClCa=(.2/(1+exp((-1)*(V-(46.7 millivolt))/(7.8 millivolt)))); }