/* * A Kinetic Model of the Cyclin E/Cdk2 Developmental Timer in * Xenopus laevis embryos * * Model Status * * This CellML version of the model has been checked in OpenCell * and the model runs to replicate the results in the original * published paper. This model uses the initial conditions that * recreate the results in figure 6. The model runs in COR but * the duration of the model simulation is too long for the results * to be properly displayed in COR. The units have been checked * and they are consistent. * * Model Structure * * ABSTRACT: Early cell cycles of Xenopus laevis embryos are characterized * by rapid oscillations in the activity of two cyclin-dependent * kinases. Cdk1 activity peaks at mitosis, driven by periodic * degradation of cyclins A and B. In contrast, Cdk2 activity oscillates * twice per cell cycle, despite a constant level of its partner, * cyclin E. Cyclin E degrades at a fixed time after fertilization, * normally corresponding to the midblastula transition. Based * on published data and new experiments, we constructed a mathematical * model in which: (1) oscillations in Cdk2 activity depend upon * changes in phosphorylation, (2) Cdk2 participates in a negative * feedback loop with the inhibitory kinase Wee1; (3) cyclin E * is cooperatively removed from the oscillatory system; and (4) * removed cyclin E is degraded by a pathway activated by cyclin * E/Cdk2 itself. The model's predictions about embryos injected * with Xic1, a stoichiometric inhibitor of cyclin E/Cdk2, were * experimentally validated. * * The original paper reference is cited below: * * A kinetic model of the cyclin E/Cdk2 developmental timer in * Xenopus laevis embryos, Andrea Ciliberto, Matthew J. Petrus, * John J. Tyson, and Jill C. Sible, 2003, Biophysical Chemistry * , 104, 573-589. PubMed ID: 12914904 * * reaction diagram * * [[Image file: ciliberto_2003.png]] * * A theoretical molecular mechanism of the cyclin E/Cdk2 developmental * timer was used to construct the mathematical model. The dashed * box represents a mechanism for removing cyclin E/Cdk2 from the * oscillatory subsystem, which is activated by the "removed" form * of cyclin E/Cdk2. The removal step is cooperative in that the * more cyclin E/Cdk2 there is bound to the dashed box, the faster * is the association reaction. A kinase (Kin) is introduced between * cyclin E/Cdk2 and Wee1 to create a time lag in the negative * feedback loop. */ import nsrunit; unit conversion on; unit minute=60 second^1; unit first_order_rate_constant=.01666667 second^(-1); math main { realDomain time minute; time.min=0; extern time.max; extern time.delta; real Cdk2_CycE(time) dimensionless; when(time=time.min) Cdk2_CycE=0.06; real kwee first_order_rate_constant; kwee=1.5; real kon first_order_rate_constant; kon=0.02; real k25A first_order_rate_constant; k25A=0.1; real koff first_order_rate_constant; koff=0.0001; real kassoc first_order_rate_constant; kassoc=0.1; real kdissoc first_order_rate_constant; kdissoc=0.001; real phi(time) dimensionless; real Wee1_a(time) dimensionless; when(time=time.min) Wee1_a=1.02; real PCdk2_CycE(time) dimensionless; when(time=time.min) PCdk2_CycE=0.94; real Xic(time) dimensionless; when(time=time.min) Xic=3; real Cdk2_CycErem(time) dimensionless; when(time=time.min) Cdk2_CycErem=0; real Xic_Cdk2_CycE(time) dimensionless; when(time=time.min) Xic_Cdk2_CycE=0; real PCdk2_CycErem(time) dimensionless; when(time=time.min) PCdk2_CycErem=0; real Xic_PCdk2_CycE(time) dimensionless; when(time=time.min) Xic_PCdk2_CycE=0; real Jwact dimensionless; Jwact=0.01; real Jwinact dimensionless; Jwinact=0.01; real Wee1_total dimensionless; Wee1_total=8; real kwact first_order_rate_constant; kwact=0.75; real kwinact first_order_rate_constant; kwinact=1.5; real Kin_a(time) dimensionless; when(time=time.min) Kin_a=0.6; real Jiact dimensionless; Jiact=0.01; real Jiinact dimensionless; Jiinact=0.01; real kiact first_order_rate_constant; kiact=0.15; real kiinact first_order_rate_constant; kiinact=0.6; real kedeg first_order_rate_constant; kedeg=0.017; real kxdeg first_order_rate_constant; kxdeg=0.01; real Deg_a(time) dimensionless; when(time=time.min) Deg_a=0; real Xic_Cdk2_CycErem(time) dimensionless; when(time=time.min) Xic_Cdk2_CycErem=0; real Xic_PCdk2_CycErem(time) dimensionless; when(time=time.min) Xic_PCdk2_CycErem=0; real Heav(time) dimensionless; real kdact first_order_rate_constant; kdact=0.023; real theta dimensionless; theta=0.3; real x(time) dimensionless; real Deg dimensionless; Deg=0; real Xicrem(time) dimensionless; when(time=time.min) Xicrem=0; real Cyc_total(time) dimensionless; real Xic_total(time) dimensionless; real epsilon dimensionless; epsilon=0.001; real pool(time) dimensionless; real n dimensionless; n=4; real L dimensionless; L=0.4; // // Cdk2_CycE:time=(k25A*PCdk2_CycE+koff*Cdk2_CycErem+kdissoc*Xic_Cdk2_CycE-(kwee*Wee1_a*Cdk2_CycE+kon*phi*Cdk2_CycE+kassoc*Xic*Cdk2_CycE)); // PCdk2_CycE:time=(kwee*Wee1_a*Cdk2_CycE+koff*PCdk2_CycErem+kdissoc*Xic_PCdk2_CycE-(k25A*PCdk2_CycE+kon*phi*PCdk2_CycE+kassoc*Xic*PCdk2_CycE)); // Wee1_a:time=(kwact*(Wee1_total-Wee1_a)/(Jwact+Wee1_total-Wee1_a)-kwinact*Kin_a*Wee1_a/(Jwinact+Wee1_a)); // Kin_a:time=(kiact*(1-Kin_a)/(Jiact+1-Kin_a)-kiinact*Cdk2_CycE*Kin_a/(Jiinact+Kin_a)); // Cdk2_CycErem:time=(kon*phi*Cdk2_CycE+kxdeg*Xic_Cdk2_CycErem+kdissoc*Xic_Cdk2_CycErem-(koff*Cdk2_CycErem+kedeg*Deg_a*Cdk2_CycErem+kassoc*Xic*Cdk2_CycErem)); // PCdk2_CycErem:time=(kon*phi*PCdk2_CycE+kxdeg*Xic_PCdk2_CycErem+kdissoc*Xic_PCdk2_CycErem-(koff*PCdk2_CycErem+kedeg*Deg_a*PCdk2_CycErem+kassoc*Xic*PCdk2_CycErem)); // Deg_a:time=(kdact*Heav); x=(Cdk2_CycErem-theta); Heav=(if (x<0) 0 else 1); // Xic:time=(kdissoc*(Xic_Cdk2_CycE+Xic_PCdk2_CycE+Xic_Cdk2_CycErem+Xic_PCdk2_CycErem)-kassoc*Xic*(Cdk2_CycE+PCdk2_CycE+Cdk2_CycErem+PCdk2_CycErem)); // Xic_Cdk2_CycE:time=(kassoc*Xic*Cdk2_CycE+koff*Xic_Cdk2_CycErem+k25A*Xic_PCdk2_CycE-(kdissoc*Xic_Cdk2_CycE+kon*phi*Xic_Cdk2_CycE+kwee*Wee1_a*Xic_Cdk2_CycE)); // Xic_PCdk2_CycE:time=(kassoc*Xic*PCdk2_CycE+koff*Xic_PCdk2_CycErem+kwee*Wee1_a*Xic_Cdk2_CycE-(kdissoc*Xic_PCdk2_CycE+kon*phi*Xic_PCdk2_CycE+k25A*Xic_PCdk2_CycE)); // Xic_Cdk2_CycErem:time=(kassoc*Xic*Cdk2_CycErem+kon*phi*Xic_Cdk2_CycE-(kdissoc*Xic_Cdk2_CycErem+koff*Xic_Cdk2_CycErem+kedeg*Deg_a*Xic_Cdk2_CycErem+kxdeg*Xic_Cdk2_CycErem)); // Xic_PCdk2_CycErem:time=(kassoc*Xic*PCdk2_CycErem+kon*phi*Xic_PCdk2_CycE-(kdissoc*Xic_PCdk2_CycErem+koff*Xic_PCdk2_CycErem+kedeg*Deg*Xic_PCdk2_CycErem+kxdeg*Xic_PCdk2_CycErem)); // Xicrem:time=(kedeg*Deg_a*Xic_Cdk2_CycErem+kedeg*Deg_a*Xic_PCdk2_CycErem-kxdeg*Xicrem); // Cyc_total=(Xic_PCdk2_CycE+Xic_Cdk2_CycE+Xic_PCdk2_CycErem+Xic_Cdk2_CycErem+PCdk2_CycErem+Cdk2_CycErem+Cdk2_CycE+PCdk2_CycE); // Xic_total=((Xic+Xic_PCdk2_CycE+Xic_Cdk2_CycE+Xic_PCdk2_CycErem+Xic_Cdk2_CycErem+Xicrem)/3); // phi=((epsilon+pool^n)/(L^n+pool^n)); pool=(Cdk2_CycErem+PCdk2_CycErem+Xic_Cdk2_CycErem+Xic_PCdk2_CycErem); }