/* * A Calcium-based Phantom Bursting Model for Pancreatic Islets * * Model Status * * This model is has consistent units and has been verified as * valid CellML by ValidateCellML. It is currently unsuitably constrained * and can not be solved. * * Model Structure * * Pancreatic beta-cells are located in clusters within the pancreas * called the islets of Langerhans. Beta-cells secrete the hormone * insulin in response to elevated blood glucose levels, and in * doing so, they play an essential role in glucose homeostasis. * When beta-cells fail to function properly, this can lead to * pathologies such as type II diabetes. * * Insulin secretion is oscillatory, and it is in-phase with oscillations * in the free cytosolic calcium concentration ([Ca2+]i), and theses * Ca2+ oscillations reflect a bursting pattern in the beta-cell * electrical activity. Electrical bursting consists of periodic * active phases of cell firing (excitation) followed by silent * phases of hyperpolarisation (rest). These oscillations can be * divided into three categories: * * Fast bursting, which has a period between 2 and 5 seconds and * which often occurs in single cells and in islets where acetylcholine * is present; * * Medium bursting, which has a period of 10 to 60 seconds and * which occurs in islets where there is a stimulatory glucose * concentration; and * * Slow bursting, which has a period of 2 to 4 minutes and which * occurs in single cells and in islets. * * The first mathematical models of beta-cells were developed to * describe medium bursting, and the first models to address the * variability in beta-cell oscillations were developed by Chay * in 1995 and 1997 (see Extracellular and Intracellular Calcium * Effects on Pancreatic Beta Cells, Chay, 1997 for more details). * In these models the main mechanism for oscillations was variation * in the Ca2+ concentration in the ER, which directly or indirectly * modulates one or more Ca2+-dependent channels. In the Bertram * and Sherman model described here the authors analyse in detail * how the ER exerts its affects using a phantom bursting model * (see below). * * The phantom bursting model is a general paradigm for temporal * plasticity in bursting in beta-cells in which bursting is driven * by the interaction of two slow variables with disparate time * constants (see The Phantom Burster Model for Pancreatic Beta-Cells, * 2000 for more details). There are three potential slow variables * which could drive the phantom bursting in vivo: * * cytosolic Ca2+ concentration; * * ER Ca2+ concentration; * * and the ADP to ATP ratio. * * The model has been described here in CellML (the raw CellML * description of the Bertram and Sherman 2004 model can be downloaded * in various formats as described in ). * * The complete original paper reference is cited below: * * A Calcium-based Phantom Bursting Model for Pancreatic Islets, * Richard Bertram and Arthur Sherman, 2004, Bulletin of Mathematical * Biology, 66, 1313-1344. (Full text (HTML) and PDF versions of * the article are available to subscribers on the Bulletin of * Mathematical Biology website.) PubMed ID: 15294427 * * cell diagram * * [[Image file: bertram_2004.png]] * * A schematic diagram of the ionic currents and fluxes across * the ER and the cell surface membranes, which are described by * the mathematical model. */ import nsrunit; unit conversion on; // unit millisecond predefined // unit millivolt predefined // unit micromolar predefined unit picoS=1E-12 kilogram^(-1)*meter^(-2)*second^3*ampere^2; unit femtoF=1E-15 kilogram^(-1)*meter^(-2)*second^4*ampere^2; unit femtoA=1E-15 ampere^1; unit first_order_rate_constant=1E3 second^(-1); unit micromolar_per_femtoA_millisecond=1E15 meter^(-3)*second^(-1)*ampere^(-1)*mole^1; unit flux=1 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: V, n, c, a, c_er, IP3 realDomain time millisecond; time.min=0; extern time.max; extern time.delta; real V(time) millivolt; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) V=0; real Cm femtoF; Cm=5300.0; real i_Ca(time) femtoA; real i_K(time) femtoA; real i_K_Ca(time) femtoA; real i_K_ATP(time) femtoA; real g_Ca picoS; g_Ca=1200.0; real V_Ca millivolt; V_Ca=25.0; real m_infinity(time) dimensionless; real vm millivolt; vm=-20.0; real sm millivolt; sm=12.0; real V_K millivolt; V_K=-75.0; real g_K picoS; g_K=3000.0; real n(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) n=0; real tau_n millisecond; tau_n=16.0; real n_infinity(time) dimensionless; real vn millivolt; vn=-16.0; real sn millivolt; sn=5.0; real g_K_Ca picoS; g_K_Ca=300.0; real c(time) micromolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) c=0; real omega(time) dimensionless; real kD micromolar; kD=0.3; real g_K_ATP picoS; g_K_ATP=500.0; real a(time) dimensionless; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) a=0; real tau_a millisecond; tau_a=300000.0; real a_infinity(time) dimensionless; real sa micromolar; sa=0.1; real r micromolar; r=0.14; real fcyt dimensionless; fcyt=0.01; real Jmem(time) flux; real Jer(time) flux; real c_er(time) micromolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) c_er=0; real fer dimensionless; fer=0.01; real Vcyt_Ver dimensionless; Vcyt_Ver=5.0; real alpha micromolar_per_femtoA_millisecond; alpha=4.5E-6; real kPMCA first_order_rate_constant; kPMCA=0.2; real J_SERCA(time) flux; real kSERCA first_order_rate_constant; kSERCA=0.4; real Jleak(time) flux; real pleak first_order_rate_constant; pleak=0.0005; real JIP3(time) flux; real O_infinity(time) first_order_rate_constant; real d_act micromolar; d_act=0.35; real d_IP3 micromolar; d_IP3=0.5; real d_inact micromolar; d_inact=0.4; extern real IP3 micromolar; // // V:time=((-1)*(i_Ca+i_K+i_K_Ca+i_K_ATP)/Cm); // i_Ca=(g_Ca*m_infinity*(V-V_Ca)); // m_infinity=((1+exp((vm-V)/sm))^(-1)); // i_K=(g_K*n*(V-V_K)); // n:time=((n_infinity-n)/tau_n); n_infinity=((1+exp((vn-V)/sn))^(-1)); // i_K_Ca=(g_K_Ca*omega*(V-V_K)); // omega=(c^5/(c^5+kD^5)); // i_K_ATP=(g_K_ATP*a*(V-V_K)); // a:time=((a_infinity-a)/tau_a); a_infinity=((1+exp((r-c)/sa))^(-1)); // c:time=(fcyt*(Jmem+Jer)); // c_er:time=((-1)*fer*Vcyt_Ver*Jer); // Jmem=((-1)*(alpha*i_Ca+kPMCA*c)); // J_SERCA=(kSERCA*c); // Jleak=(pleak*(c_er-c)); // JIP3=(O_infinity*(c_er-c)); O_infinity=((c/(d_act+c))^3*(IP3/(d_IP3+IP3))^3*(c/(d_inact+c))^3*(1 first_order_rate_constant)); // Jer=(Jleak+JIP3-J_SERCA); }