/* * A Model Of Parasympathetic Modulation Of Pacemaker Rate, 1999 * * Model Status * * This model has been validated by Penny Noble of Oxford University * and is known to run in COR and OpenCell to reproduce the published * results. The units have been checked and are balanced. * * Model Structure * * ABSTRACT: We have extended our compartmental model [Am. J. Physiol. * 266 (Cell Physiol. 35): C832-C852, 1994] of the single rabbit * sinoatrial node (SAN) cell so that it can simulate cellular * responses to bath applications of ACh and isoprenaline as well * as the effects of neuronally released ACh. The model employs * three different types of muscarinic receptors to explain the * variety of responses observed in mammalian cardiac pacemaking * cells subjected to vagal stimulation. The response of greatest * interest is the ACh-sensitive change in cycle length that is * not accompanied by a change in action potential duration or * repolarization or hyperpolarization of the maximum diastolic * potential. In this case, an ACh-sensitive K+ current is not * involved. Membrane hyperpolarization occurs in response to much * higher levels of vagal stimulation, and this response is also * mimicked by the model. Here, an ACh-sensitive K+ current is * involved. The well-known phase-resetting response of the SAN * cell to single and periodically applied vagal bursts of impulses * is also simulated in the presence and absence of the beta-agonist * isoprenaline. Finally, the responses of the SAN cell to longer * continuous trains of periodic vagal stimulation are simulated, * and this can result in the complete cessation of pacemaking. * Therefore, this model is 1) applicable over the full range of * intensity and pattern of vagal input and 2) can offer biophysically * based explanations for many of the phenomena associated with * the autonomic control of cardiac pacemaking. * * The original paper reference is cited below: * * Parasympathetic modulation of sinoatrial node pacemaker activity * in rabbit heart: a unifying model, Semahat S. Demir, John W. * Clark and Wayne R. Giles, 1999, American Journal of Physiology, * 276, H2221-H2244. PubMed ID: 10362707 * * cell diagram of the Demir et al SAN model showing ionic currents, * pumps and exchangers within the sarcolemma * * [[Image file: demir_1999.png]] * * A schematic diagram describing the current flows across the * cell membrane that are captured in the Demir et al 1999 model * of the electrophysiological activity in a SAN cell. */ import nsrunit; unit conversion on; // unit millisecond predefined 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 microS=1E-6 kilogram^(-1)*meter^(-2)*second^3*ampere^2; unit picoS=1E-12 kilogram^(-1)*meter^(-2)*second^3*ampere^2; unit microF=1E-6 kilogram^(-1)*meter^(-2)*second^4*ampere^2; unit nanoA=1E-9 ampere^1; // unit millimolar predefined // unit nanomolar predefined unit microS_per_millimolar=1E-6 kilogram^(-1)*meter^1*second^3*ampere^2*mole^(-1); unit nanoA_per_millimolar=1E-9 meter^3*ampere^1*mole^(-1); unit nanoA_per_nanomolar_4=1E15 meter^12*ampere^1*mole^(-4); unit millimolar_4=1 meter^(-12)*mole^4; 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 mul_per_second=1E-9 meter^3*second^(-1); unit mm_cubed=1E-9 meter^3; unit millimolar_per_second=1 meter^(-3)*second^(-1)*mole^1; unit per_millimolar_second=1 meter^3*second^(-1)*mole^(-1); unit cm2_per_second=1E-4 meter^2*second^(-1); unit cm=.01 meter^1; math main { realDomain time second; time.min=0; extern time.max; extern time.delta; real V(time) millivolt; when(time=time.min) V=-49.54105; real R joule_per_kilomole_kelvin; R=8314.472; real T kelvin; T=310; real F coulomb_per_mole; F=96485.3415; real Cm microF; Cm=5.5e-5; real i_Na(time) nanoA; real i_Ca_T(time) nanoA; real i_Ca_L(time) nanoA; real i_K(time) nanoA; real i_f(time) nanoA; real i_B(time) nanoA; real i_NaK(time) nanoA; real i_NaCa(time) nanoA; real i_Ca_P(time) nanoA; real i_K_ACh(time) nanoA; real P_Na mul_per_second; P_Na=0.00344; real E_Na(time) millivolt; real Na_c(time) millimolar; when(time=time.min) Na_c=139.9988; real F_ACh_Na dimensionless; real ACh millimolar; ACh=0; real m(time) dimensionless; when(time=time.min) m=0.250113; real h1(time) dimensionless; when(time=time.min) h1=0.001386897; real h2(time) dimensionless; when(time=time.min) h2=0.002065463; real m_infinity(time) dimensionless; real tau_m(time) second; real alpha_m(time) per_second; real beta_m(time) per_second; real h1_infinity(time) dimensionless; real h2_infinity(time) dimensionless; real tau_h1(time) second; real tau_h2(time) second; real alpha_h1(time) per_second; real beta_h1(time) per_second; real g_Ca_L(time) microS; real g_Ca_L_cont microS; g_Ca_L_cont=0.02115; real F_cAMP_CaL(time) dimensionless; real cAMP(time) millimolar; when(time=time.min) cAMP=3e-3; real E_Ca_L millivolt; E_Ca_L=46.4; real d_L(time) dimensionless; when(time=time.min) d_L=0.002572773; real d_L_infinity(time) dimensionless; real f_L(time) dimensionless; when(time=time.min) f_L=0.98651; real alpha_d_L(time) per_second; real beta_d_L(time) per_second; real tau_d_L(time) second; real alpha_f_L(time) per_second; real beta_f_L(time) per_second; real f_L_infinity(time) dimensionless; real tau_f_L(time) second; real g_Ca_T microS; g_Ca_T=0.02521; real E_Ca_T millivolt; E_Ca_T=45; real d_T(time) dimensionless; when(time=time.min) d_T=0.02012114; real f_T(time) dimensionless; when(time=time.min) f_T=0.1945111; real alpha_d_T(time) per_second; real beta_d_T(time) per_second; real d_T_infinity(time) dimensionless; real tau_d_T(time) second; real alpha_f_T(time) per_second; real beta_f_T(time) per_second; real f_T_infinity(time) dimensionless; real tau_f_T(time) second; real g_K(time) microS; real F_cAMP_K(time) dimensionless; real E_K(time) millivolt; real K_b millimolar; K_b=5.4; real P_a(time) dimensionless; when(time=time.min) P_a=0.02302278; real P_i(time) dimensionless; when(time=time.min) P_i=0.3777728; real tau_P_a(time) second; real P_a_infinity(time) dimensionless; real alpha_P_i(time) per_second; real beta_P_i(time) per_second; real i_B_Na(time) nanoA; real i_B_Ca(time) nanoA; real i_B_K(time) nanoA; real g_B_Na microS; g_B_Na=0.00016; real g_B_Ca microS; g_B_Ca=0.0000364; real g_B_K microS; g_B_K=0.0000694; real E_Ca(time) millivolt; real F_ACh_bNa dimensionless; real i_f_Na(time) nanoA; real i_f_K(time) nanoA; real g_f_Na microS; g_f_Na=0.0067478; real g_f_K microS; g_f_K=0.0128821; real y(time) dimensionless; when(time=time.min) y=0.09227776; real y_infinity(time) dimensionless; real V_half(time) millivolt; real tau_y(time) second; real K_m_Na millimolar; K_m_Na=5.46; real K_m_K millimolar; K_m_K=0.621; real i_NaK_max nanoA; i_NaK_max=0.2192; real F_cAMP_NaK(time) dimensionless; real Na_i(time) millimolar; when(time=time.min) Na_i=9.701621; real K_c(time) millimolar; when(time=time.min) K_c=5.389014; real Ca_i(time) millimolar; when(time=time.min) Ca_i=3.787018e-4; real i_Ca_P_max nanoA; i_Ca_P_max=0.02869; real K_NaCa nanoA; K_NaCa=0.00001248; real d_NaCa dimensionless; d_NaCa=0.0001; real gamma dimensionless; gamma=0.5; real Ca_c(time) millimolar; when(time=time.min) Ca_c=2.00474; real I_K_ACh(time) nanoA; real g_K_ACh microS; real g_K_ACh_base microS; g_K_ACh_base=7.833e-3; real P_M2_KACh dimensionless; real a(time) dimensionless; when(time=time.min) a=0; real alpha_a(time) per_second; real beta_a per_second; real f_Vagal per_second; f_Vagal=200; real K_i(time) millimolar; when(time=time.min) K_i=1.407347e2; real Ca_Calmod(time) dimensionless; when(time=time.min) Ca_Calmod=0.1411678; real Ca_Trop(time) dimensionless; when(time=time.min) Ca_Trop=0.07331396; real Ca_Mg_Trop(time) dimensionless; when(time=time.min) Ca_Mg_Trop=0.7618549; real Mg_Mg_Trop(time) dimensionless; when(time=time.min) Mg_Mg_Trop=0.2097049; real phi_C(time) per_second; real phi_TC(time) per_second; real phi_TMgC(time) per_second; real phi_TMgM(time) per_second; real phi_B(time) millimolar_per_second; real Mg_i millimolar; Mg_i=2.5; real F_C(time) millimolar_per_second; real F_TC(time) millimolar_per_second; real F_TMgC(time) millimolar_per_second; real Vol mm_cubed; Vol=3.497e-6; real V_i mm_cubed; real i_up(time) nanoA; real i_rel(time) nanoA; real Na_b millimolar; Na_b=140; real Ca_b millimolar; Ca_b=2; real V_c mm_cubed; real tau_p second; tau_p=0.01; real Ca_up(time) millimolar; when(time=time.min) Ca_up=16.95311; real alpha_up nanoA; alpha_up=0.08; real beta_up nanoA; beta_up=0.072; real Ca_rel(time) millimolar; when(time=time.min) Ca_rel=16.85024; real alpha_rel nanoA_per_millimolar; alpha_rel=0.5; real i_tr(time) nanoA; real K1 dimensionless; real K2(time) millimolar; real k_cyca millimolar; k_cyca=0.00005; real k_xcs dimensionless; k_xcs=0.9; real k_SRCa millimolar; k_SRCa=22; real k_rel millimolar; k_rel=0.004; real r_act(time) per_second; real r_inact(time) per_second; real Ca_Calse(time) dimensionless; when(time=time.min) Ca_Calse=0.9528726; real phi_Calse(time) per_second; real F1(time) dimensionless; when(time=time.min) F1=0.1133251; real F2(time) dimensionless; when(time=time.min) F2=0.0007594214; real F3(time) dimensionless; when(time=time.min) F3=0.8859153; real V_up mm_cubed; real V_rel mm_cubed; real cGMP millimolar; cGMP=2e-3; real Iso millimolar; Iso=0; real Km_Iso millimolar; Km_Iso=0.14e-3; real Km_ACh millimolar; Km_ACh=0.14e-3; real K_PDE dimensionless; K_PDE=6; real K_ADC millimolar_per_second; K_ADC=8e-3; real V_PDE per_second; V_PDE=20; real P_M2_ADC dimensionless; P_M2_ADC=0.02; // // V:time=((-1)*(i_Na+i_Ca_T+i_Ca_L+i_K+i_f+i_B+i_NaK+i_NaCa+i_Ca_P+i_K_ACh)/Cm); // F_ACh_Na=(1-ACh/(ACh+(.001 millimolar))); i_Na=(F_ACh_Na*P_Na*m^3*h1*h2*Na_c*V*F^2/(R*T)*(exp((V-E_Na)*F/(R*T))-1)/(exp(V*F/(R*T))-1)); // alpha_m=((-1)*(824 per_millivolt_second)*(V+(51.9 millivolt))/(exp((V+(51.9 millivolt))/((-1)*(8.9 millivolt)))-1)); beta_m=((32960 per_second)*exp((V+(51.9 millivolt))/((-1)*(8.9 millivolt)))); m_infinity=(alpha_m/(alpha_m+beta_m)); tau_m=(1/(alpha_m+beta_m)+(1.5E-5 second)); m:time=((m_infinity-m)/tau_m); // alpha_h1=((165 per_second)*exp((V+(101.3 millivolt))/((-1)*(12.6 millivolt)))); beta_h1=((12360 per_second)/(320*exp((V+(101.3 millivolt))/((-1)*(12.6 millivolt)))+1)); h1_infinity=(alpha_h1/(alpha_h1+beta_h1)); tau_h1=(1/(alpha_h1+beta_h1)); h2_infinity=h1_infinity; tau_h2=(20*tau_h1); h1:time=((h1_infinity-h1)/tau_h1); h2:time=((h2_infinity-h2)/tau_h2); // F_cAMP_CaL=(.4*(1+4.5*cAMP/(cAMP+(.006500000000000001 millimolar)))+.03157); g_Ca_L=(g_Ca_L_cont*F_cAMP_CaL); i_Ca_L=(g_Ca_L*(f_L*d_L+.095*d_L_infinity)*(V-E_Ca_L)); // alpha_d_L=((-1)*(28.39 per_millivolt_second)*(V+(35 millivolt))/(exp((V+(35 millivolt))/((-1)*(2.5 millivolt)))-1)+(-1)*(84.9 per_millivolt_second)*V/(exp((-1)*(.208 per_millivolt)*V)-1)); beta_d_L=((11.43 per_millivolt_second)*(V-(5 millivolt))/(exp((.4 per_millivolt)*(V-(5 millivolt)))-1)); tau_d_L=(1/(alpha_d_L+beta_d_L)); d_L_infinity=(1/(1+exp((V+(14.1 millivolt))/((-1)*(6 millivolt))))); d_L:time=((d_L_infinity-d_L)/tau_d_L); // alpha_f_L=((3.75 per_millivolt_second)*(V+(28 millivolt))/(exp((V+(28 millivolt))/(4 millivolt))-1)); beta_f_L=((30 per_second)/(1+exp((V+(28 millivolt))/((-1)*(4 millivolt))))); tau_f_L=(1/(alpha_f_L+beta_f_L)); f_L_infinity=(1/(1+exp((V+(30 millivolt))/(5 millivolt)))); f_L:time=((f_L_infinity-f_L)/tau_f_L); // i_Ca_T=(g_Ca_T*d_T*f_T*(V-E_Ca_T)); // alpha_d_T=((1068 per_second)*exp((V+(26.3 millivolt))/(30 millivolt))); beta_d_T=((1068 per_second)*exp((V+(26.3 millivolt))/((-1)*(30 millivolt)))); tau_d_T=(1/(alpha_d_T+beta_d_T)); d_T_infinity=(1/(1+exp((V+(26.3 millivolt))/((-1)*(6 millivolt))))); d_T:time=((d_T_infinity-d_T)/tau_d_T); // alpha_f_T=((15.3 per_second)*exp((V+(61.7 millivolt))/((-1)*(83.3 millivolt)))); beta_f_T=((15 per_second)*exp((V+(61.7 millivolt))/(15.38 millivolt))); tau_f_T=(1/(alpha_f_T+beta_f_T)); f_T_infinity=(1/(1+exp((V+(61.7 millivolt))/(5.6 millivolt)))); f_T:time=((f_T_infinity-f_T)/tau_f_T); // F_cAMP_K=(.62*(1+2.6129*cAMP/(cAMP+(.009000000000000001 millimolar)))-.025); g_K=(F_cAMP_K*(.00693 microS)*(K_b/(1 millimolar))^.59); i_K=(g_K*P_a*P_i*(V-E_K)); // P_a_infinity=(1/(1+exp((V+(5.1 millivolt))/((-1)*(7.4 millivolt))))); tau_P_a=(1/((17 per_second)*exp((.0398 per_millivolt)*V)+(2.11 per_second)*exp((-1)*(.051 per_millivolt)*V))); P_a:time=((P_a_infinity-P_a)/tau_P_a); // alpha_P_i=((100 per_second)*exp((-1)*(.0183 per_millivolt)*V)); beta_P_i=((656 per_second)*exp((.00942 per_millivolt)*V)); P_i:time=(alpha_P_i*(1-P_i)-beta_P_i*P_i); // F_ACh_bNa=(1-ACh/(ACh+(.5 millimolar))); i_B_Na=(F_ACh_bNa*g_B_Na*(V-E_Na)); i_B_Ca=(g_B_Ca*(V-E_Ca)); i_B_K=(g_B_K*(V-E_K)); i_B=(i_B_Na+i_B_Ca+i_B_K); // i_f_Na=(g_f_Na*y^2*(V-(75 millivolt))); i_f_K=(g_f_K*y^2*(V+(85 millivolt))); i_f=(i_f_Na+i_f_K); // V_half=((20.5 millivolt)/(1+exp((cAMP-(.0034 millimolar))/((-1)*(5E-4 millimolar))))-(78.56 millivolt)); y_infinity=(1/(1+exp((V-V_half)/(9 millivolt)))); tau_y=((1 second)/(1.6483*exp((V+(54.06 millivolt))/((-1)*(24.33 millivolt)))+14.01055/(.7+exp((V+(60 millivolt))/((-1)*(5.5 millivolt)))))); y:time=((y_infinity-y)/tau_y); // F_cAMP_NaK=(1.6/(1+exp((cAMP-(.00375 millimolar))/((-1)*(1.5000000000000001E-4 millimolar))))+.99); i_NaK=(if (Ca_i<(1.5E-4 millimolar)) (2-F_cAMP_NaK)*i_NaK_max*(Na_i/(K_m_Na+Na_i))^3*(K_c/(K_m_K+K_c))^2*1.6/(1.5+exp((V+(60 millivolt))/((-1)*(40 millivolt)))) else F_cAMP_NaK*i_NaK_max*(Na_i/(K_m_Na+Na_i))^3*(K_c/(K_m_K+K_c))^2*1.6/(1.5+exp((V+(60 millivolt))/((-1)*(40 millivolt))))); // i_Ca_P=(i_Ca_P_max*Ca_i/(Ca_i+(4E-4 millimolar))); // i_NaCa=(K_NaCa*(Na_i^3*Ca_c*exp((.03743 per_millivolt)*V*gamma)-Na_c^3*Ca_i*exp((.03743 per_millivolt)*V*(gamma-1)))/((1 millimolar_4)+d_NaCa*(Ca_i*Na_c^3+Ca_c*Na_i^3))); // i_K_ACh=(a*I_K_ACh); a:time=(beta_a*(1-a)-alpha_a*a); beta_a=((12.32 per_second)/(1+(.0042 millimolar)/ACh)); alpha_a=((17 per_second)*exp((.0133 per_millivolt)*(V+(40 millivolt)))); I_K_ACh=(g_K_ACh*(V-E_K)); g_K_ACh=(P_M2_KACh*g_K_ACh_base); P_M2_KACh=(if ((f_Vagal<(100 per_second)) and (f_Vagal>(25 per_second))) 1.026/(1+exp((f_Vagal+(11.05 per_second))/((-1)*(7.5095 per_second))))-.99 else 6E-4); // V_i=(.465*Vol); phi_C=((129000 per_millimolar_second)*Ca_i*(1-Ca_Calmod)-(307 per_second)*Ca_Calmod); Ca_Calmod:time=phi_C; phi_TC=((50500 per_millimolar_second)*Ca_i*(1-Ca_Trop)-(252 per_second)*Ca_Trop); Ca_Trop:time=phi_TC; phi_TMgC=((129000 per_millimolar_second)*Ca_i*(1-(Ca_Mg_Trop+Mg_Mg_Trop))-(4.25 per_second)*Ca_Mg_Trop); Ca_Mg_Trop:time=phi_TMgC; phi_TMgM=((1290 per_millimolar_second)*Mg_i*(1-(Ca_Mg_Trop+Mg_Mg_Trop))-(429 per_second)*Mg_Mg_Trop); Mg_Mg_Trop:time=phi_TMgM; F_C=((.09 millimolar)*phi_C); F_TC=((.031 millimolar)*phi_TC); F_TMgC=((.062 millimolar)*phi_TMgC); phi_B=(F_C+F_TC+F_TMgC); Na_i:time=((-1)*(3*i_NaK+3*i_NaCa+i_B_Na+i_f_Na+i_Na)/(F*V_i)); K_i:time=((2*i_NaK-(i_K+i_f_K+i_B_K))/(F*V_i)); Ca_i:time=((2*i_NaCa+i_rel-(i_Ca_L+i_Ca_T+i_Ca_P+i_B_Ca+i_up))/(2*V_i*F)-phi_B); // V_c=(.136*Vol); Na_c:time=((Na_b-Na_c)/tau_p+(i_Na+3*i_NaCa+3*i_NaK+i_B_Na+i_f_Na)/(F*V_c)); K_c:time=((K_b-K_c)/tau_p+((-1)*2*i_NaK+i_K+i_B_K+i_f_K)/(F*V_c)); Ca_c:time=((Ca_b-Ca_c)/tau_p+((-1)*2*i_NaCa+i_Ca_L+i_Ca_T+i_Ca_P+i_B_Ca)/(2*F*V_c)); // V_up=(.01166*V_i); V_rel=(.001296*V_i); K1=(k_cyca*k_xcs/k_SRCa); K2=(Ca_i+Ca_up*K1+k_cyca*k_xcs+k_cyca); r_act=((240 per_second)*exp((V-(40 millivolt))*(.08 per_millivolt))+(240 per_second)*(Ca_i/(Ca_i+k_rel))^4); r_inact=((40 per_second)+(240 per_second)*(Ca_i/(Ca_i+k_rel))^4); phi_Calse=((770 per_millimolar_second)*Ca_rel*(1-Ca_Calse)-(641 per_second)*Ca_Calse); Ca_Calse:time=phi_Calse; F1:time=((.96 per_second)*F3-r_act*F1); F2:time=(r_act*F1-r_inact*F2); F3:time=(r_inact*F2-(.96 per_second)*F3); i_rel=(alpha_rel*(F2/(F2+.25))^2*Ca_rel); i_tr=((Ca_up-Ca_rel)*2*F*V_up/(.06418 second)); i_up=((alpha_up*Ca_i-beta_up*Ca_up*K1)/K2); Ca_up:time=((i_up-i_tr)/(2*V_up*F)); Ca_rel:time=((i_tr-i_rel)/(2*V_rel*F)-(11.48 millimolar)*phi_Calse); // E_Na=(R*T/F*ln(Na_c/Na_i)); E_K=(R*T/F*ln(K_c/K_i)); E_Ca=(.5*R*T/F*ln(Ca_c/Ca_i)); // cAMP:time=(1*(K_ADC*(1+Iso/(Iso+Km_Iso)-P_M2_ADC*ACh/(P_M2_ADC*ACh+Km_ACh))-V_PDE*cGMP*cAMP/(cAMP+K_PDE*cGMP))); }