/*
* Complex intracellular calcium oscillations. A theoretical exploration
* of possible mechanisms
*
* Model Status
*
* This CellML model runs in both OpenCell and COR to reproduce
* the published output (figure 12). The units have been checked
* and they are consistent.
*
* Model Structure
*
* ABSTRACT: Intracellular Ca2+ oscillations are commonly observed
* in a large number of cell types in response to stimulation by
* an extracellular agonist. In most cell types the mechanism of
* regular spiking is well understood and models based on Ca2+-induced
* Ca2+ release (CICR) can account for many experimental observations.
* However, cells do not always exhibit simple Ca2+ oscillations.
* In response to given agonists, some cells show more complex
* behaviour in the form of bursting, i.e. trains of Ca2+ spikes
* separated by silent phases. Here we develop several theoretical
* models, based on physiologically plausible assumptions, that
* could account for complex intracellular Ca2+ oscillations. The
* models are all based on one- or two-pool models based on CICR.
* We extend these models by (i) considering the inhibition of
* the Ca2+-release channel on a unique intracellular store at
* high cytosolic Ca2+ concentrations, (ii) taking into account
* the Ca2+-activated degradation of inositol 1,4,5-trisphosphate
* (IP3), or (iii) considering explicitly the evolution of the
* Ca2+ concentration in two different pools, one sensitive and
* the other one insensitive to IP3. Besides simple periodic oscillations,
* these three models can all account for more complex oscillatory
* behaviour in the form of bursting. Moreover, the model that
* takes the kinetics of IP3 into account shows chaotic behaviour.
*
* Complex intracellular calcium oscillations. A theoretical exploration
* of possible mechanisms, Jose A.M. Borghans, Genevieve Dupont,
* Albert Goldbeter, 1997, Biophysical Chemistry, 66, 25-41. PubMed
* ID: 17029867
*
* cell diagram
*
* [[Image file: borghans_1997c.png]]
*
* Schematic representation of the two-pool model for complex Ca2+
* oscillations.
*/
import nsrunit;
unit conversion on;
unit min=60 second^1;
unit per_min=.01666667 second^(-1);
unit uM=1E-3 meter^(-3)*mole^1;
unit per_uM4=1E12 meter^12*mole^(-4);
unit uM_per_min=1.6666667E-5 meter^(-3)*second^(-1)*mole^1;
math main {
realDomain time min;
time.min=0;
extern time.max;
extern time.delta;
real Z(time) uM;
when(time=time.min) Z=0.0;
real Y(time) uM;
when(time=time.min) Y=0.0;
real X(time) uM;
when(time=time.min) X=0.5;
real V_in uM_per_min;
real V_2i(time) uM_per_min;
real V_3i(time) uM_per_min;
real V_2s(time) uM_per_min;
real V_3s(time) uM_per_min;
real K_f per_min;
K_f=0.5;
real K per_min;
K=1;
real beta dimensionless;
beta=1;
real v_0 uM_per_min;
v_0=0.015;
real v_1 uM_per_min;
v_1=0.012;
real V_M2i uM_per_min;
V_M2i=3.1;
real K_2i uM;
K_2i=0.005;
real V_M3i uM_per_min;
V_M3i=25;
real K_3z uM;
K_3z=0.022;
real K_3y uM;
K_3y=0.065;
real V_M2s uM_per_min;
V_M2s=1.5;
real K_2s uM;
K_2s=0.0265;
real V_M3s uM_per_min;
V_M3s=0.169;
real K_3s uM;
K_3s=0.1;
//
//
Z:time=(V_in+(-1)*V_2i+V_3i+K_f*Y+(-1)*V_2s+V_3s+K_f*X+(-1)*(K*Z));
Y:time=(V_2i+(-1)*V_3i+(-1)*(K_f*Y));
X:time=(V_2s+(-1)*V_3s+(-1)*(K_f*X));
//
//
V_in=(v_0+v_1*beta);
//
V_2i=(V_M2i*(Z^2/(K_2i^2+Z^2)));
//
V_3i=(V_M3i*(Y^2/(K_3y^2+Y^2))*(Z^2/(K_3z^2+Z^2)));
//
V_2s=(V_M2s*(Z^2/(K_2s^2+Z^2)));
//
V_3s=(beta*V_M3s*(X^2/(K_3s^2+X^2)));
}