Mathematica 9 is now available
PathwayLab Research Edition Products
-----
 /
PathwayLab Research Edition
*Features
*Examples
*BioCircuit
*A MAPK Cascade
*Integral Feedback Control
<Cell Cycle Control in Xenopus Frog Eggs
*Buy Online
*Trial Version
*For More Information
*Life & Medical Sciences Solutions
*Ask about this page
*Print this page
*Give us feedback
*Sign up for the Wolfram Insider

Example: Cell Cycle Control in Xenopus Frog Eggs

This model is presented in Novak and Tyson, 1993 1, and illustrates oscillations in concentration of biochemical entities involved in cell cycle control. The model can be launched in PathwayLab Research Edition from the Start menu, but its pathway diagram is also shown as plain graphics in the figure below. The file CellCycle.nb* used below was generated by Export to > Mathematica in the PathwayLab menu.

    [Graphics:HTMLFiles/cellcycle_1.gif]

A pathway model for cell cycle control in Xenopus frog eggs

Load the package.

In[1]:=

Needs["PathwayLab`"]

Load the model and store it in a variable.

In[2]:=

cellcycle = Get[ToFileName[{"PathwayLab", "Examples"}, "CellCycle.m"]]

Out[2]=

-Pathway[13 state variables, 23 rate variables, 40 parameters]-

These are the state variables of the pathway.

In[3]:=

states = StateVariables[cellcycle]

Out[3]=

{PYT, PYTP, MPF, Cyclin, YT, Cdc25P, Wee1, APCstar, Cdc25, Wee1P, IEP, IE, APC}

In this example, the given initial conditions correspond to a steady state of the system. The stability properties of the steady state can be investigated by linearizing the model around the steady state and studying the stability properties of the obtained linear system.

Here are the initial conditions.

In[4]:=

ic = InitialConditions[cellcycle]

Out[4]=

This stores the rate equations in a variable.

In[5]:=

reqn = RateEquations[cellcycle] ;

This gives the right-hand side of the rate equations.

In[6]:=

rhs = reqn/.lhs_ == rhs_:→rhs ;

Here the right-hand side of the rate equations is evaluated at t=0 for the given initial conditions and default parameter values.

In[7]:=

rhs/.ParameterRules[cellcycle]/.t→0/.ToRules[And @@ ic]

Out[7]=

This provides the Jacobian matrix in symbolic form. In Mathematica 5.1 and later, this can be directly accomplished by D[rhs,{#[t]&/@states}].

In[8]:=

J = Outer[D, rhs, #[t] &/@states] ;

The Jacobian matrix evaluated at the steady state gives the system matrix for the linearized system.

In[9]:=

A = J/.ParameterRules[cellcycle]/.t→0/.ToRules[And @@ ic] ;

A//MatrixForm

Out[10]//MatrixForm=

Here are the eigenvalues of the linearized system.

In[11]:=

Eigenvalues[A]//Chop

Out[11]=

There is one pair of eigenvalues with positive real part, which shows that the steady state is unstable. This can also clearly be seen in a simulation of the nonlinear system. The solution is initially very close to the initial conditions, but then it starts to deviate and eventually enters a limit cycle.

Simulate the nonlinear system for 1000 seconds.

In[12]:=

sol = NDSolve[cellcycle, {t, 0, 1000}]//First

Out[12]=

This plots MPF and APC.

In[13]:=

Needs["Graphics`Colors`"] ;

Plot[Evaluate[{MPF[t], APC[t]}/.sol], {t, 0, 1000}, PlotPoints→35, AspectRatio→0.2, PlotStyle→ {Red, Blue}] ;

[Graphics:HTMLFiles/cellcycle_23.gif]

Here is a phase diagram of MPF and APC.

In[15]:=

ParametricPlot[Evaluate[{MPF[t], APC[t]}/.sol], {t, 0, 1000}, PlotStyle→ {Red}, PlotLabel→"Phase Diagram", AxesLabel→ {"MPF", "APC"}] ;

[Graphics:HTMLFiles/cellcycle_25.gif]

Store the numerical value of the steady state in a variable x0 and construct a symbolic vector representing deviations from the steady state.

In[16]:=

x0 = (#1[0] &)/@states/.ToRules[And @@ ic] ;

Δx = (ToExpression["Δ"<>ToString[#1]] &)/@states

Out[17]=

{ΔPYT, ΔPYTP, ΔMPF, ΔCyclin, ΔYT, ΔCdc25P, ΔWee1, ΔAPCstar, ΔCdc25, ΔWee1P, ΔIEP, ΔIE, ΔAPC}

These are the linearized system equations.

In[18]:=

lineqn = Thread[(# '[t] &/@Δx) == A . (#[t] &/@Δx)] ;

This provides initial conditions for the linearized system (slightly off zero to excite the unstable behavior).

In[19]:=

linic = Thread[(#[0] &/@Δx) == Table[1. 10^(-6), {Length[Δx]}]] ;

Simulate the linear system for 1000 seconds.

In[20]:=

sol1 = NDSolve[Join[lineqn, linic], Δx, {t, 0, 1000}]//First

Out[20]=

Here is a plot of MPF and APC for the first 400 seconds.

In[21]:=

Plot[Evaluate[{ΔMPF[t] + x0[[3]], ΔAPC[t] + x0[[13]]}/.sol1], {t, 0, 400}, PlotStyle→ {Red, Blue}] ;

[Graphics:HTMLFiles/cellcycle_34.gif]

The behavior of the linear system resembles the nonlinear one for small deviations, although the onset of visible oscillations is different (due to the arbitrary choice of small linear initial conditions).



1     Novak, B, and J. J. Tyson.  "Modeling the Cell Division Cycle: M-Phase Trigger, Oscillations, and Size Control." Journal of Theoretical Biology 165 (1993): 101-134.

* Note: If you do not own a copy of Mathematica, you will need to download a trial version in order to view the notebook document.