/* * Kinetic Model of the Inositol Trisphosphate Receptor * * Model Status * * This model can be loaded into OpenCell without errors but can * not be integrated properly. * * ValidateCellML verifies this model as valid CellML with full * unit consistency. * * Model Structure * * The release of Ca2+ from intracellular stores via InsP3 receptors * displays unusual kinetics. It has been shown that successive * additions of low concentrations of InsP3 causes successive rapid * transients of Ca2+ release. Two hypotheses have been put forward * to explain this phenomenon, either: * * Cells contain a series of Ca2+ stores of various sensitivities * to InsP3, such that at any given concentration of InsP3, only * some stores will release their Ca2+, whilst others remain intact. * This is also known as the all-or-nothing model; or * * InsP3 receptors are able to adapt to a particular InsP3 concentration, * such that at a given [InsP3], all the Ca2+ stores partially * empty. Because partial emptying induces faster cycling of Ca2+ * across the store membrane via the SERCA pump, this theory is * also known as the steady-state model. * * There are sets of experimental data in support of both explanations. * The two theories require very different mechanisms. The all-or-nothing * model not only requires differing sensitivities of stores to * InsP3, but also a high degree of cooperativity such that a small * range of InsP3 concentrations will empty a particular store * whilst leaving others unaffected. Differences in sensitivity * could be due to structural differences, differences in InsP3 * density, intracellular cell environment, or luminal [Ca2+]. * In contrast, the steady-state model seems to require complex, * adaptive kinetic changes in the receptor. Mathematical steady-state * models have been developed and in general they involve effects * of Ca2+ binding to sites within the channel or to sites in the * channel mouth, although there is also evidence that the InsP3 * receptor can show adaptive behaviour. * * Models of adaptive behaviour at the single channel level have * been developed for the structurally homologous ryanodine receptor. * It has been suggested that similar mechanisms account for the * behaviour of the InsP3 receptor. Using the Sachs et al. ryanodine * receptor model as a foundation, Dawson et al. develop such a * model. They begin with a relatively simple situation with no * Ca2+ fluxes (see ), to more complex situations which account * for the positive and negative feedback from Ca(cyt), and the * inactivation of the receptor in the presence of Ca2+ (see and * ). This final model is an adaptive model of the InsP3 receptor * that can show either all-or-nothing or steady-state behaviour, * depending on the experimental conditions. The model suggests * that the receptor has two interconvertible conformational states: * one that rapidly binds InsP3 but has a low affinity for the * ligand, while the other state binds slowly but with a high affinity. * * The models have been described here in CellML (the raw CellML * description of the Dawson et al. 2003 models can be downloaded * in various formats as described in ). * * The complete original paper reference is cited below: * * Kinetic model of the inositol trisphosphate receptor that shows * both steady-state and quantal patterns of Ca2+ release from * intracellular stores, Alan P. Dawson, Edward J. A. Lea, and * Robin F. Irvine, 2003, Biochemical Journal , 370, 621-629. PubMed * ID: 12479792 * * reaction diagram1 * * [[Image file: dawson_2003a.png]] * * Scheme 1: An adapting model of the InsP3 receptor. * * reaction diagram2 * * [[Image file: dawson_2003b.png]] * * Scheme 2: An adapting model of the InsP3 receptor which includes * feedback effects of Ca2+ near the channel mouth. * * reaction diagram3 * * [[Image file: dawson_2003c.png]] * * Scheme 3: Adaptive channel model based on the occupation of * one InsP3 binding site being required to open the channel. */ import nsrunit; unit conversion on; // unit micromolar predefined unit flux=1E-3 meter^(-3)*second^(-1)*mole^1; unit first_order_rate_constant=1 second^(-1); unit second_order_rate_constant=1E3 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: R, R_v2, I, O1, O2, R_v1, C1, Ca_ER, Ca_cyt, // Ca_L realDomain time second; time.min=0; extern time.max; extern time.delta; real R(time) micromolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) R=0; real V1(time) flux; real V4(time) flux; real V2(time) flux; real R_v2(time) micromolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) R_v2=0; real V5(time) flux; real I(time) micromolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) I=0; real V6(time) flux; real O1(time) micromolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) O1=0; real V7(time) flux; real V3(time) flux; real O2(time) micromolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) O2=0; real R_v1(time) micromolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) R_v1=0; real C1(time) micromolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) C1=0; real Ca_ER(time) micromolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Ca_ER=0; real V8(time) flux; real V9(time) flux; real Ca_cyt(time) micromolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Ca_cyt=0; real V10(time) flux; real Ca_L(time) micromolar; //Warning: Assuming zero initial condition; nothing provided in original CellML model. when(time=time.min) Ca_L=0; real k1 first_order_rate_constant; k1=1.0; real k1_ first_order_rate_constant; k1_=10.0; real k2 second_order_rate_constant; k2=100.0; real k2_ first_order_rate_constant; k2_=12000.0; real k3 second_order_rate_constant; k3=100.0; real k3_ first_order_rate_constant; k3_=10.0; real k4 second_order_rate_constant; k4=1.0; real k4_ first_order_rate_constant; k4_=1.0; real k5 second_order_rate_constant; k5=10.0; real k5_ first_order_rate_constant; k5_=1.0; real k6 second_order_rate_constant; k6=2.0; real k6_ first_order_rate_constant; k6_=2.4; real k7 first_order_rate_constant; k7=10.0; real k7_ first_order_rate_constant; k7_=1.0; real k8 first_order_rate_constant; k8=500.0; real k9 first_order_rate_constant; k9=5000.0; real k10 first_order_rate_constant; k10=500.0; // // R:time=(V1+V4+V2); // R_v2:time=(V4+V5); // I:time=(V2+V6); // O1:time=(V2+V7+V3); // O2:time=V3; // R_v1:time=(V1+V5+V6); // C1:time=(V6+V7); // Ca_ER:time=(V8+V9); // Ca_cyt:time=V10; // Ca_L:time=(V4+V5+V3+V10+V8+V9); // V1=(k1_*R_v1-k1*R); // V2=(k2_*O1-k2*R*I); // V3=(k3_*O2-k3*O1*Ca_L); // V4=(k4_*R_v2-k4*R*Ca_L); // V5=(k5_*R_v2-k5*R_v1*Ca_L); // V6=(k6_*C1-k6*R_v1*I); // V7=(k7_*C1-k7*O1); // V8=(k8*Ca_ER); // V9=(k9*Ca_ER); // V10=(k10*Ca_L); }