/* * A Biophysically-Based Mathematical Representation of Interstitial * Cells of Cajal Pacemaker Potentials produced from a Unitary * Potential Basis * * Model Status * * This CellML model describes the pacemaker unit of the Faville * et al. 2008 model. This model is imported by the bulk cytoplasm * model from the same publication 10 times. This CellML model * is known to run PCEnv to replicate the published results. Because * the model is in a CellML 1.1 format (as opposed to CellML 1.0) * COR is unable to run the model. * * ValidateCellML confirms this model as valid CellML. Unit checking * was carried out where possible and to our knowledge they are * consistent. * * Model Structure * * ABSTRACT: Spontaneously rhythmic pacemaker activity produced * by interstitial cells of Cajal (ICC) is the result of the entrainment * of unitary potential depolarizations generated at intracellular * sites termed pacemaker units. In this study, we present a mathematical * modeling framework that quantitatively represents the transmembrane * ion flows and intracellular Ca2+ dynamics from a single ICC * operating over the physiological membrane potential range. The * mathematical model presented here extends our recently developed * biophysically based pacemaker unit modeling framework by including * mechanisms necessary for coordinating unitary potential events, * such as a T-Type Ca2+ current, Vm-dependent K+ currents, and * global Ca2+ diffusion. Model simulations produce spontaneously * rhythmic slow wave depolarizations with an amplitude of 65 mV * at a frequency of 17.4 cpm. Our model predicts that activity * at the spatial scale of the pacemaker unit is fundamental for * ICC slow wave generation, and Ca2+ influx from activation of * the T-Type Ca2+ current is required for unitary potential entrainment. * These results suggest that intracellular Ca2+ levels, particularly * in the region local to the mitochondria and endoplasmic reticulum, * significantly influence pacing frequency and synchronization * of pacemaker unit discharge. Moreover, numerical investigations * show that our ICC model is capable of qualitatively replicating * a wide range of experimental observations. * * In the study described here, Richard Faville et al. have developed * a mathematical model of the ICC pacemaker potential. The model * can be divided into two distinct components: the bulk cytoplasm * and the pacemaker units. The later have been described previously * (Faville et al., 2008, and the CellML description of this model * can be found here). The pacemaker unit model quantitatively * describes the transmembrane ion flows and intracellular Ca2+ * dynamics from a single ICC pacemaker unit, and a schematic diagram * of this model can be seen in the figure immediately below. * * model diagram * * [[Image file: faville_2008_new.png]] * * A schematic diagram of the pacemaker unit illustrating all the * compartmental volumes and ionic conductances, together with * their interactions. * * The combined model is described here in CellML 1.1. The pacemaker * unit is defined and is imported into the bulk cytoplasm 10 times * (note that the number of pacemaker units that could be used * within the modelling framework is completely arbitrary, however * 10 appears to be the minimum number required to adequately describe * the pacemaker potential depolarisation). In order to embed the * pacemaker model within the bulk cytoplasm modelling framework * the original pacemaker model had to be modified slightly. This * is because the it was only representative of pacemaker activity * near the resting membrane potential of -70mV. In its modified * form and embedded within the bulk cytoplasm it is now capable * of simulating pacemaker activity under conditions of membrane * depolarisation (Vm > -60mV). A full schematic diagram of the * combined model is illustrated in the figure below. * * model diagram * * [[Image file: faville2_2008.png]] * * A full schematic diagram of the bulk cytoplasm model with the * imported pacemaker units illustrating all the compartmental * volumes and ionic conductances, together with their interactions. * * The original paper reference is cited below: * * Biophysically based mathematical modeling of interstitial cells * of Cajal slow wave activity generated from a discrete unitary * potential basis, R.A. Faville, A.J. Pullan, K.M. Sanders, S.D. * Koh, C.M. Lloyd and N.P. Smith, 2009, Biophysical Journal, 96, * 4834-4852. PubMed ID: 19527643 */ import nsrunit; unit conversion on; // unit millivolt predefined unit per_millivolt=1E3 kilogram^(-1)*meter^(-2)*second^3*ampere^1; unit per_second_per_millivolt=1E3 kilogram^(-1)*meter^(-2)*second^2*ampere^1; // unit micromolar predefined unit per_micromolar=1E3 meter^3*mole^(-1); unit per_micromolar2=1E6 meter^6*mole^(-2); // unit picofarad predefined // unit picosiemens predefined // unit picoampere predefined // unit femtoampere predefined unit micromolar_per_coulomb=1E-3 meter^(-3)*second^(-1)*ampere^(-1)*mole^1; unit femtocoulomb_per_zeptomole=1E6 second^1*ampere^1*mole^(-1); unit attojoule_per_zeptomole_kelvin=1E3 kilogram^1*meter^2*second^(-2)*kelvin^(-1)*mole^(-1); unit first_order_rate_constant=1 second^(-1); unit per_second_squared=1 second^(-2); unit flux=1E-3 meter^(-3)*second^(-1)*mole^1; math main { //Warning: the following variables were set 'extern' or given // an initial value of '0' because the model would otherwise be // underdetermined: n_PU, was_JS2Cy, was_JS1S2, Vm realDomain time second; time.min=0; extern time.max; extern time.delta; real I_ion_PU(time) picoampere; real CS1(time) micromolar; when(time=time.min) CS1=0.120; real CS2(time) micromolar; when(time=time.min) CS2=0.023; extern real n_PU dimensionless; extern real was_JS2Cy flux; extern real was_JS1S2 flux; extern real Vm millivolt; real I_iCa(time) picoampere; real I_iNa(time) picoampere; real alpha_scale dimensionless; real I_Ca(time) picoampere; real I_Na(time) picoampere; real I_NaP(time) picoampere; real I_NSCC_Ca(time) picoampere; real I_PM(time) picoampere; real I_NSCC_Na(time) picoampere; real gCa_ picosiemens; gCa_=0.074; real kCa per_millivolt; kCa=0.013; real kVCa per_millivolt; kVCa=-0.20; real VhCa millivolt; VhCa=-85.0; real gCa picosiemens; real ECa_PU(time) millivolt; real T kelvin; T=310.16; real R attojoule_per_zeptomole_kelvin; R=8.314E-3; real F femtocoulomb_per_zeptomole; F=0.09649; real CO micromolar; CO=1.8E3; real gNSCC_Ca_ picosiemens; gNSCC_Ca_=0.10; real gNSCC_Ca(time) picosiemens; // Var below replaced by constant in model eqns to satisfy unit correction // real hNSCC dimensionless; // hNSCC=3.0; real ENSCC millivolt; ENSCC=0.0; real KNSCC micromolar; KNSCC=0.12; real gNSCC_Na_ picosiemens; gNSCC_Na_=160.0; real gNSCC_Na(time) picosiemens; real gPM femtoampere; gPM=675.0; real KPM micromolar; KPM=1.0; real gNa picosiemens; gNa=13.5; real ENa_PU(time) millivolt; real NO micromolar; NO=140.0E3; real NS1(time) micromolar; when(time=time.min) NS1=1.01E4; real gNaP picosiemens; gNaP=187.5; real KNaP micromolar; KNaP=1.0E4; // Var below replaced by constant in model eqns to satisfy unit correction // real hNaP dimensionless; // hNaP=4.0; real ENaP millivolt; ENaP=10.0; real was_JSERCA(time) flux; real VSERCA first_order_rate_constant; VSERCA=1.0E5; real A2 dimensionless; A2=6E-4; real A4 per_micromolar; A4=3.57; real A5 per_micromolar; A5=2.7E-5; real A6 per_micromolar2; A6=2.31E-5; real CER(time) micromolar; when(time=time.min) CER=200.0; real JMCU(time) flux; real VMCU flux; VMCU=800.0; real KMCU micromolar; KMCU=10.0; real epsilon_INH(time) dimensionless; real KINH micromolar; KINH=10.0; // Var below replaced by constant in model eqns to satisfy unit correction // real hINH dimensionless; // hINH=4.0; real CMT(time) micromolar; when(time=time.min) CMT=0.200; real JNCX(time) flux; real VNCX flux; VNCX=3.0; real KNCX micromolar; KNCX=0.3; real JIPR(time) flux; real kIPR first_order_rate_constant; kIPR=2000.0; real k_1 flux; k_1=6.4; real k1 first_order_rate_constant; k1=0.0; real k2 first_order_rate_constant; k2=4.0; real r2 first_order_rate_constant; r2=250.0; real r_2 flux; r_2=0.0; real r4 first_order_rate_constant; r4=750.0; real R1 micromolar; R1=36.0; real R3 micromolar; R3=300.0; real phi1(time) first_order_rate_constant; real phi_1(time) flux; real phi2(time) first_order_rate_constant; real phi3(time) first_order_rate_constant; real H(time) dimensionless; when(time=time.min) H=0.200; real g_beta first_order_rate_constant; g_beta=1500.0; real h_beta dimensionless; h_beta=4.0; real g_alpha first_order_rate_constant; g_alpha=0.85; real K_beta micromolar; K_beta=0.35; real alpha_zeta first_order_rate_constant; real beta_zeta(time) first_order_rate_constant; real zeta(time) dimensionless; when(time=time.min) zeta=0.300; real K_phi3_act micromolar; K_phi3_act=0.1; real K_phi3_inh micromolar; K_phi3_inh=0.5; real h_phi3_act dimensionless; h_phi3_act=3.0; real h_phi3_inh dimensionless; h_phi3_inh=3.0; real g_phi3 first_order_rate_constant; g_phi3=4.5; real P micromolar; P=1.0; real lambda_MT_S1 dimensionless; real lambda_ER_S1 dimensionless; real delta_SPU micromolar_per_coulomb; delta_SPU=18.5; real gamma_S1 dimensionless; gamma_S1=100.0; real gamma_MT dimensionless; gamma_MT=200.0; real gamma_ER dimensionless; gamma_ER=20.0; real lambda_MT_S2 dimensionless; real lambda_ER_S2 dimensionless; real lambda_S1_S2 dimensionless; real gamma_S2 dimensionless; gamma_S2=1.0; real fm(time) dimensionless; real Km micromolar; Km=0.01; real Bm micromolar; Bm=100.0; real KO micromolar; KO=5400.0; real Ki micromolar; Ki=145E3; real n_PU_base dimensionless; n_PU_base=50.0; // // I_iCa=(alpha_scale*(I_Ca+I_NSCC_Ca+I_PM)); I_iNa=(alpha_scale*(I_NSCC_Na+I_Na+I_NaP)); I_ion_PU=(I_iCa+I_iNa); // I_Ca=(gCa*(Vm-ECa_PU)); gCa=(gCa_*exp(kCa*Vm)/(1+exp(kVCa*(Vm-VhCa)))); ECa_PU=(R*T/(2*F)*ln(CO/CS1)); // gNSCC_Ca=(gNSCC_Ca_*(KNSCC^3/(KNSCC^3+CS1^3))); I_NSCC_Ca=(gNSCC_Ca*(Vm-ENSCC)); // gNSCC_Na=(gNSCC_Na_*(KNSCC^3/(KNSCC^3+CS1^3))); I_NSCC_Na=(gNSCC_Na*(Vm-ENSCC)); // I_PM=(gPM*(CS1^2/(KPM^2+CS1^2))); // I_Na=(gNa*(Vm-ENa_PU)); ENa_PU=(R*T/F*ln(NO/NS1)); // I_NaP=(gNaP*(NS1^4/(KNaP^4+NS1^4))*(ENaP-Vm)); // was_JSERCA=(VSERCA*(CS1-A2*CER)/(1+A4*CS1+A5*CER+A6*CS1*CER)); // JMCU=(VMCU*(CS2^2/(KMCU^2+CS2^2))*epsilon_INH); epsilon_INH=(KINH^4/(KINH^4+CMT^4)); // JNCX=(VNCX*(CMT/(CMT+KNCX))); // H:time=(phi3*(1-H)-P*phi1*phi2/(P*phi1+phi_1)*H); JIPR=(kIPR*(P*phi1*H/(P*phi1+phi_1))^4*(CER-CS2)); phi1=((k1*R1+r2*CS2)/(R1+CS2)); phi_1=((k_1+r_2)*R3/(R3+CS2)); phi2=((k2*R3+r4*CS2)/(R3+CS2)); phi3=(g_phi3*zeta/((1+(K_phi3_act/CS2)^h_phi3_act)*(1+(CS2/K_phi3_inh)^h_phi3_inh))); alpha_zeta=g_alpha; beta_zeta=(g_beta/(1+(K_beta/CS2)^h_beta)); zeta:time=(alpha_zeta*(1-zeta)-beta_zeta*zeta); // CS1:time=(was_JS1S2+lambda_MT_S1*JNCX-(delta_SPU/(alpha_scale*2)*I_iCa+lambda_ER_S1*was_JSERCA)); lambda_MT_S1=(gamma_MT/gamma_S1); lambda_ER_S1=(gamma_ER/gamma_S1); // CS2:time=(was_JS2Cy+lambda_ER_S2*JIPR-(lambda_S1_S2*was_JS1S2+lambda_MT_S2*JMCU)); lambda_MT_S2=(gamma_MT/gamma_S2); lambda_ER_S2=(gamma_ER/gamma_S2); lambda_S1_S2=(gamma_S1/gamma_S2); // CER:time=(was_JSERCA-JIPR); // CMT:time=(fm*(JMCU-JNCX)); fm=(1/(1+Km*Bm/(Km+CMT)^2)); // NS1:time=((-1)*(delta_SPU/(1*alpha_scale))*I_iNa); // alpha_scale=(n_PU_base/n_PU); }