This Workbook sets up, simulates and graphs the equations that describe a simple feedback loop.  It corresponds to Section 9.6.2 in SB2.
The plots of the Phase portrait and the Inhibition fraction vs time are combined for the core module, dimmer and tetramer.

NS, checked on March 15, 2011 OK

SetDirectory[NotebookDirectory[]];
<<"GraphicsDirectives.m"

tfinal=20;
parameters={k0->.5,k1->1,k2->1,k3->1,k4->1,k5->1,k6->10,km6->1,b1->0.1,etot->1.0};

1) Core Module

ststsolution1=NSolve[{b1-k1*y1*y6-k0*y1==0,k1*y1*y6-k2*y2==0,k2*y2-k3*y3==0,k3*y3-k4*y4==0,k4*y4-k5*y5-(k6*y5*y6-km6*y7)==0,k6*y5*y6-km6*y7==0, y6+y7-etot==0}/.parameters,{y1,y2,y3,y4,y5, y6, y7}];
{z1,z2,z3,z4,z5,z6,z7}={y1,y2,y3,y4,y5, y6, y7}/.ststsolution1[[2]];


b1=1.0;
v0=k0*x1[t];
v1=k1*x1[t]*x6[t];
v2=k2*x2[t];
v3=k3*x3[t];
v4=k4*x4[t];
v5=k5*x5[t];
v6=k6*x5[t]*x6[t]-km6*x7[t];

perturbParam=parameters/.(b1->_):>(b1->1.);
solution1=NDSolve[{x1'[t]==b1-v1-v0,x2'[t]==v1-v2,x3'[t]==v2-v3,x4'[t]==v3-v4,x5'[t]==v4-v5-v6,x6'[t]==-v6,x7'[t]==v6,x1[0]==z1,x2[0]==z2,x3[0]==z3,x4[0]==z4,x5[0]==z5,x6[0]==z6,x7[0]==z7}/.perturbParam,{x1,x2,x3,x4,x5, x6, x7},{t,0,tfinal}];

1) Dimer

ststsolution2=NSolve[{b1-k1*y1*y6-k0*y1==0,k1*y1*y6-k2*y2==0,k2*y2-k3*y3==0,k3*y3-k4*y4==0,k4*y4-k5*y5-(2*k6*y5*y6-km6*y7)-(k6*y5*y7-2*km6*y8)==0,2*k6*y5*y6-km6*y7==0,k6*y5*y7-2*km6*y8==0, y6+y7+y8-etot==0}/.parameters,{y1,y2,y3,y4,y5, y6, y7,y8}];
{z1,z2,z3,z4,z5,z6,z7,z8}={y1,y2,y3,y4,y5, y6, y7,y8}/.ststsolution2[[3]];

b1=1.0;
v0=k0*x1[t];
v1=k1*x1[t]*x6[t];
v2=k2*x2[t];
v3=k3*x3[t];
v4=k4*x4[t];
v5=k5*x5[t];
v6=2*k6*x5[t]*x6[t]-      km6*x7[t];
v7=      k6*x5[t]*x7[t]-2*km6*x8[t];

perturbParam=parameters/.(b1->_):>(b1->1.);
solution2=NDSolve[{x1'[t]==b1-v1-v0,x2'[t]==v1-v2,x3'[t]==v2-v3,x4'[t]==v3-v4,x5'[t]==v4-v5-v6-v7,x6'[t]==-v6,x7'[t]==v6-v7,x8'[t]==v7,x1[0]==z1,x2[0]==z2,x3[0]==z3,x4[0]==z4,x5[0]==z5,x6[0]==z6,x7[0]==z7,x8[0]==z8}/.perturbParam,{x1,x2,x3,x4,x5, x6, x7,x8},{t,0,tfinal}];

2) Tetramer

ststsolution3=NSolve[{b1-k1*y1*y6-k0*y1==0,
k1*y1*y6-k2*y2==0,
k2*y2-k3*y3==0,
k3*y3-k4*y4==0,
k4*y4-k5*y5-(4*k6*y5*y6-1*km6*y7)-(3*k6*y5*y7-2*km6*y8)-(2*k6*y5*y8-3*km6*y9)-(k6*y5*y9-4*km6*y10)==0,
4*k6*y5*y6-1*km6*y7==0,
3*k6*y5*y7-2*km6*y8==0,
2*k6*y5*y8-3*km6*y9==0,
1*k6*y5*y9-4*km6*y10==0, 
y6+y7+y8+y9+y10-etot==0}/.parameters,
{y1,y2,y3,y4,y5, y6, y7,y8,y9,y10}];

{z1,z2,z3,z4,z5,z6,z7,z8,z9,z10}={y1,y2,y3,y4,y5, y6, y7,y8,y9,y10}/.ststsolution3[[5]];

v0=k0*x1[t];
v1=k1*x1[t]*x6[t];
v2=k2*x2[t];
v3=k3*x3[t];
v4=k4*x4[t];
v5=k5*x5[t];
v6=4*k6*x5[t]*x6[t]-1*km6*x7[t];
v7=3*k6*x5[t]*x7[t]-2*km6*x8[t];
v8=2*k6*x5[t]*x8[t]-3*km6*x9[t];
v9=1*k6*x5[t]*x9[t]-4*km6*x10[t];

perturbParam=parameters/.(b1->_):>(b1->1.);
solution3=NDSolve[{x1'[t]==b1-v1-v0,x2'[t]==v1-v2,x3'[t]==v2-v3,x4'[t]==v3-v4,x5'[t]==v4-v5-v6-v7-v8-v9,x6'[t]==-v6,x7'[t]==v6-v7,x8'[t]==v7-v8,x9'[t]==v8-v9,x10'[t]==v9,
x1[0]==z1,x2[0]==z2,x3[0]==z3,x4[0]==z4,x5[0]==z5,x6[0]==z6,x7[0]==z7,x8[0]==z8,x9[0]==z9,x10[0]==z10}/.perturbParam,{x1,x2,x3,x4,x5, x6, x7,x8,x9,x10},{t,0,tfinal}];

The combined plot of Phase portrait and the Inhibition fraction of time for the previous cases.

annot=Graphics[ppAnnotate[{x1[#]*x6[#]&,k5*x5[#]&}/.parameters,#,tfinal]&/@{First[solution1],First[solution2],First[solution3]}];
plts=Show[ParametricPlot[Evaluate[{x1[t]*x6[t],k5*x5[t]}/.parameters/.{First[solution1],First[solution2],First[solution3]}],{t,0,tfinal},PlotStyle->Thick,PlotLabel->"Dynamic Phase Portrait for v1 vs. v5",FrameLabel->{"v1","v5"},PlotRange->{{0,0.6},{0,0.5}},Epilog->createLegend[{"Core","Dimer","Tetramer"}]],annot]

s2=Plot[Evaluate[{{((x7[t])/(x6[t]+x7[t]))/.{First[solution1]}},
((x7[t]+2*x8[t])/(2*(x6[t]+x7[t]+x8[t])))/.First[solution2],((x7[t]+2*x8[t]+3*x9[t]+4*x10[t])/(4*(x6[t]+x7[t]+x8[t]+x9[t]+x10[t])))/.First[solution3]}],{t,0,tfinal},Epilog->createLegend[{"Core","Dimmer","Tetramer"}],PlotLabel->"Inhibition fraction vs time",AxesLabel->{"Time"," fraction "},PlotRange->{All,{0,1}}]

Exporting the plots.

Export["Phase portrait.pdf",s1,"PDF"];
Export["Inhibition fraction.pdf",s2,"PDF"];