PathwayLab Research Edition Products
PathwayLab Research Edition
*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: Integral Feedback Control

The following model, from Yi et al. 2000 1, illustrates how robust perfect adaptation (integral feedback control) can be implemented by a small reaction network. It can be shown that only the blue and red interactions are crucial for this behavior, and that the steady-state value of Y only depends on parameters of reactions v3 and v4. 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 IntegralFeedbackControl.nb* used below was generated by Export to > Mathematica in the PathwayLab menu.


A biochemical pathway implementing integral feedback control (robust perfect adaptation)

Load the package.



Load the model and store it in a variable.


ifc = Get[ToFileName[{"PathwayLab", "Examples"}, "IntegralFeedbackControl.m"]]


-Pathway[2 state variables, 5 rate variables, 8 parameters]-

This lists the state variables of the pathway.


states = StateVariables[ifc]


{Y, A}

Here are the rate equations. Note the use of ReplaceAll (/.) and not ReplaceRepeated (//.) to prevent E1 and E2 from being replaced by the expressions containing UnitStep.


reqn = RateEquations[ifc, EquationFormat→MassBalances]/.ModelVariableRules[ifc]


{Y^′[t] == v1`Vm/(1 + A[t]/v1`Ki) + v5`Vm E1[t] - (v2`Vm E2[t] Y[t])/(v2`Km + Y[t]) - (v3`Vm Y[t])/(v3`Km + Y[t]), A^′[t] == -v4`Vm + (v3`Vm Y[t])/(v3`Km + Y[t])}

These are the steady-state equations.


sseqn = reqn/.{x_ '[t] →0, t→∞}


This is the steady-state solution.


sssol = Solve[sseqn, {A[∞], Y[∞]}]//FullSimplify//First ;



Y[∞] → (v3`Km v4`Vm)/(v3`Vm - v4`Vm)

Observe that the value of Y[∞] is independent of E1[∞] and E2[∞]. Hence, the steady state is independent of these signals. The condition v3`Vm-v4`Vm>0 has to be satisfied for the solution to be physically realizable.

Simulate the system.


sol = NDSolve[ifc, {t, 0, 140}] ;

This plots the solution for Y when E1 and E2 are step and pulse signals.


Needs["Graphics`Colors`"] ;

Show[GraphicsArray[{{pl1}, {pl2}}]] ;


To illustrate the robustness of the pathway behavior, one can make a number of simulations for different values of some parameter.

Replace the parameter v1`Ki with a dummy variable Ki and replace the remaining parameters with their default values.


reqn1 = RateEquations[ifc]/.v1`Ki→Ki/.ParameterRules[ifc] ;

Solve the rate equations for Ki between 0.1 and 0.5 in steps of 0.1.


multiplesol = Table[NDSolve[Join[reqn1, InitialConditions[ifc]], StateVariables[ifc], {t, 0, 140}]//First, {Ki, .1, .5, .1}] ;

This plots the solutions for Y and A.


pl4 = Plot[Evaluate[A[t]/.multiplesol], {t, 0, 140}, PlotRange→All, PlotStyle→Blue, AxesLabel→ {"t", "A"}, DisplayFunction→Identity] ;

Show[GraphicsArray[{{pl3, pl4}}]] ;


Observe that the value of Y returns to the fixed level 0.125 for any setting of the parameter Ki and regardless of the changing flux profiles due to the changes in E1 and E2.

1    Yi, T. M., Y. Huang, M. I. Simon, and J. Doyle. "Robust Perfect Adaptation in Bacterial Chemotaxis through Integral Feedback Control." Proceedings of the National Academy of Sciences of the United States of America 97, no. 9 (2000): 4649-4653.  [ online version ]

* 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.