Professional Documents
Culture Documents
Selkov Oscillation Lecturer
Selkov Oscillation Lecturer
biochemical oscillations
(YUGI, Katsuyuki)
Kuroda Lab., The University of Tokyo
2012724
Electrocardiograph
2012724
2012724
BorisukandTyson(1998)
2012724
k<1.2x102sec1 k>1.2x102sec1
mRNA2
MAPK2
, 2006
In depth
2012724
Relaxation oscillator
Hopf
Negative feedback oscillator
(e.g. Repressilator)
2012724
Selkov
2012724
Selkov
v1
v2
F6P(y)
ADP(x)
v3
PFK
x
y
=
=
v2 v3
v1 v2
v1 = b
v2 = ay + x2y
v3 =x
Strogatz(1994)pp.205
2012724
insulin
Insulin
Luteinizing hormone
Growth hormone (
Adrenocorticotropic hormone
)
2012724
15
11 min
11 min
2012724
insulin
insulin
insulin
Continuous insulin
glucose production
mol/kg/min
13min
26min
v2
F6P(y)
ADP(x)
v3
PFK
x
y
=
=
v2 v3
v1 v2
: a = 0.06, b = 0.6
2012724
v1 = b
v3 = x
v2 = ay + x2y
Strogatz(1994)pp.205
function selkov( )
time = 0.001:1:100;
s0 = [1.0 , 1.0];
% Initial values
param = [0.06 , 0.6]; % Constants
[t,time_course] = ode15s(@(t,s) ODE(t,s,param),time,s0);
figure;
plot(t,time_course);
end
function dsdt = ODE(t,s,param)
ADP = s(1); F6P = s(2);
a = param(1); b = param(2);
v1 =
v2 =
v3 =
dsdt(1,:) =
dsdt(2,:) =
end
2012724
:F6P
: ADP
2012724
function selkov( )
time = 0.001:1:100;
s0 = [1.0 , 1.0]; % Initial values
param = [0.06 , 0.6]; % Constants
[t,time_course] = ode15s(@(t,s) ODE(t,s,param),time,s0);
figure;
plot(t,time_course);
end
function dsdt = ODE(t,s,param)
ADP = s(1);
F6P = s(2);
a = param(1); b = param(2);
v1 = b;
v2 = a * F6P + ADP^2 * F6P;
v3 = ADP;
dsdt(1,:) = v2 v3;
dsdt(2,:) = v1 v2;
end
2012724
1David Baltimore
2012724
Baltimore
RockefellerCaltech
2012724
Baltimore
2012724
2012724
NF-B
NF-B
IBNF-B
IKKIB
IB NF-B
NF-BIB
NF-B
2012724
()
()
2012724
(feedback)
2012724
2012724
Phase plane ()
x-y
[F6P]
y = 0
x = 0
Nullcline ()
= 0
2012724
[ADP]
2:
Selkov (MATLAB)
([ADP],[F6P])2
MATLAB
2012724
function selkov_phaseplane( )
time = 0.001:1:50;
plot_phase_plane(time_course,param(1),param(2));
end
function plot_phase_plane(time_course,a,b)
figure;
hold on;
%
plot(
);
ADP = 0:0.1:3;
F6P = ADP ./ ( a + ADP.^2 ); % dADP / dt == 0
plot(ADP,F6P,r); % rredr
ADP = 0:0.1:3;
plot(
hold off;
end
% d F6P / dt == 0
,
);
2012724
function selkov_phaseplane( )
time = 0.001:1:50;
plot_phase_plane(time_course,param(1),param(2));
end
function plot_phase_plane(time_course,a,b)
figure;
hold on;
%
plot(time_course(:,1),time_course(:,2));
ADP = 0:0.1:3;
F6P = ADP ./ ( a + ADP.^2 ); % dADP / dt == 0
plot(ADP,F6P,r); % rredr
ADP = 0:0.1:3;
F6P = b ./ ( a + ADP.^2 ); % d F6P / dt == 0
plot(ADP,F6P,r);
hold off;
end
2012724
!
x = f (x, y)
y = g(x, y)
( x , y ) ( , )
[F6P]
!
x = x + 2y
y =
8 2y
+ x2 y
x2 y
5
2
(1,2)
[ADP]
2012724
[F6P]
( , ) = ( 0 ,p )
=0
=0
: =0
: =0
2012724
[ADP]
3a: Selkov
()
x()
2012724
[F6P]
=0
=0
2012724
[ADP]
3b: Selkov
Selkov
figure
(MATLAB)
quiver
meshgrid
2012724
: MATLAB
DX = -X + a * Y + X.^2 .* Y;
DY = b - a * Y - X.^2 .* Y;
(X,Y)(DX,DY)
quiver(X,Y,DX,DY);
2012724
function selkov_vector_field () ()
function ODE(t,s,param)()
function plot_phase_plane(time_course, a, b)()
function plot_vector_field(a,b)
figure(1);
[X,Y] = meshgrid(
);
DX =
DY =
quiver(
); %(X,Y)(DX,DY)
end
2012724
2012724
function selkov_vector_field () ()
function ODE(t,s,param)()
function plot_phase_plane(time_course, a, b)()
function plot_vector_field(a,b)
figure(1);
[X,Y] = meshgrid(0.01:0.2:3, 0.01:0.2:10);
DX = -X + a * Y + X.^2 .* Y;
DY = b - a * Y - X.^2 .* Y;
quiver(X,Y,DX,DY); %(X,Y)(DX,DY)
end
2012724
2Arnold Levine
2012724
p53Levine
Rockefeller
2012724
2012724
p53Mdm2
p53
()
2012724
2012724
2012724
[F6P]
=0
=0
[ADP]
2012724
[F6P]
[F6P]
[ADP]
2012724
[ADP]
dx1
= F1 (x1 , , xn )
dt
F1
x1
dx1
= F1 (x1 , , xn )
dt
F1
F1
x1
xn
x1
dt
d xn
dt
2012724
= F1 (x1 , , xn )
..
.
= Fn (x1 , , xn )
x1
d .
.. =
dt
xn
F1
x1
..
.
Fn
x1
..
.
F1
xn
..
.
Fn
xn
x1
..
.
xn
4: Selkov
Selkov (MATLAB)
x =
(x + ay + x2 y)
x
x
x =
(x + ay + x2 y)
y
y
(MATLAB)
(MATLAB)
"
x
x
x
y
y
y
(MATLAB)
x
y
2012724
MATLAB
f
diff(f, x);
f
f = -x + a * y + x^2 * y;
2012724
syms x y a b; %x, y, a, b
x, y
S = solve( -x + a * y + x^2 * y=0,'b - a * y - x^2 *y=0', 'x', 'y');
Sx,y
xS.x
2012724
% Ja,b0.06,0.6
A
eig(A)
2012724
function selkov_jacobian( )
syms x y a b;
S = solve('
','
',' ',' ');
% x, y
f = -x + a * y + x^2 * y;
g =
J = [
%fx,y
]; %gx,y
])
J = subs(J, [ , ,,a,b] ,[
,
,0.06,0.6])
%Ja,b0.06,0.6
end
2012724
>> selkov_jacobian
fix =
0.6000 1.4286
J =
0.7143 0.4200
-1.7143 -0.4200
ans =
0.1471 + 0.6311i
0.1471 - 0.6311i
>>
2012724
x =
(x + ay + x2 y) = 1 + 2xy
x
x
x =
(x + ay + x2 y) = a + x2
y
y
y =
(b ay x2 y) = 2xy
x
x
y =
(b ay x2 y) = a x2
y
y
b
b,
a + b2
"
2b
1 + a+b
2
2b2
a+b2
2012724
a + b2
a b2
"
1 + 2xy
2xy
a + x2
a x2
"
function selkov_jacobian( )
syms x y a b;
S = solve('-x + a * y + x^2 * y=0','b - a * y - x^2 * y=0','x','y');
% x, y
f = -x + a * y + x^2 * y;
g = b - a * y - x^2 * y;
J = [ diff(f,x) , diff(f,y);
%fx,y
fix = subs([S.x,S.y],[a,b],[0.06,0.6])
%a,b0.06,0.6
J = subs(J, [x,y,a,b] ,[fix(1),fix(2),0.06,0.6])
%Ja,b0.06,0.6
eig(J) %
end
2012724
(Node)
d
x = Jx
dt
(attractor)
x(t)
: (repellor)
= exp(Jt)x0
= c1 exp(1 t)v1 + cn exp(n t)vn
(Saddle)
2012724
StableNode
Saddle
(Spiral)
(Focus)
StableSpiral
UnstableSpiral
(Center)
(Eulers formula)
Center
2012724
5: Selkov
Selkov
()a=0.06, b=0.6
1:
Ax=x|A-I|=0
2x2 2-tr(A) +det(A)=0
2:
= tr(A) = 1 + 2
= det(A) =12
< 0 > 0
24 > 0
2012724
J=
> 0 2
a,b
2b2
+ a+b
2
2b2
a+b
2
a+b
a b2
2
= det(J) = a + b2 > 0
a b2
= tr(J) = (a + b )
a + b2
2
a=0.06, b=0.6
24 < 0
> 0
2012724
"
2012724
http://www.nig.ac.jp/hot/2006/saga0606-j.html
8130
260
http://bsw3.naist.jp/courses/courses106.html
2012724
NIH
2012724
Q. 2hr?
2012724
2012724
2012724
2012724
()
2012724
(limit cycle)
(trajectory)
Center ()
Limitcycle
Center
Poincar-Bendixson
2012724
Center
Supercritical Hopf
Im
Re <0
1.
2.
3.
2012724
Re
Hopf
Stable Spiral Unstable Spiral
Unstable Spiral
Hopf
2012724
6: SelkovHopf
Selkov 2
Hopf
()
1:
a=0.14, b=0.6
2:
a=0.06, b=0.6
MATLAB
2012724
a b2
= (a + b )
a + b2
2
= a + b2 > 0
a b2
4 = 5(a + b )
a + b2
2
1,2 -4 < 0
2012724
a=0.14, b=0.6
2012724
a=0.06, b=0.6
Relaxation oscillator
and
Negative feedback oscillator
2012724
Relaxation oscillator ()
? Bendixson
2012724
Bendixson
f1
f2
+
D
x1
x2
([F6P]) ([ADP])
+
[F6P]
[ADP]
2012724
Relaxation oscillator
1(positive)
J=
+
?
"
()
2012724
J=
"
()
2012724
Bendixson
7: SelkovBendixson
Selkov
> 0
2012724
function selkov_bendixson( )
syms x y a b;
f=
% ODE
g=
% ODE
J=
% f, gJ
figure(1)
hold on;
for i=0:0.5:3
% x
for j=0:1:10 % y
B_value = subs(
); % Bx,yi,j
2012724
function selkov_bendixson( )
syms x y a b;
f = -x + a * y + x^2 * y;
g = b - a * y - x^2 * y;
J = [ diff(f,x) , diff(f,y);
diff(g,x) , diff(g,y)];
J = subs(J, [a,b] ,[0.06 , 0.6]); % a,b
B = J(1,1)+J(2,2); %
figure(1)
hold on;
for i=0:0.5:3
% x
for j=0:1:10 % y
B_value = subs( B, [x,y], [i,j] ); % Bx,yi,j
if( B_value > 0 )
plot(i,j,'ko','MarkerFaceColor','w');
else
plot(i,j,'ko','MarkerFaceColor','k');
end
end
end
end
2012724
(bifurcation diagram)
(phase diagram)
1 ()
2(a, b)
LacY-GFP
2012724
8: Selkov
()
2012724
plot(x,y,'ko','MarkerFaceColor','k');
plot(x,y,'ko','MarkerFaceColor','w');
plot(x,y,'ko','MarkerEdgeColor','r','MarkerFaceColor','r');
plot(x,y,'ko','MarkerEdgeColor','r','MarkerFaceColor','w');
1 isreal(n)
real(c)
2012724
for a , b
if
if ( isreal(v(1)) )
OK ()
if
2012724
(1/2)
function selkov_phase_diagram()
figure;
hold on;
for a=0.01:0.01:0.15
for b=0.1:0.1:1.0
end
end
end
function v=jacobian( p , q )
syms x y a b;
S = solve(' -x + a * y + x^2 * y=0','b - a * y - x^2 * y=0','x','y');
f = -x + a * y + x^2 * y;
g = b - a * y - x^2 * y;
J = [ diff(f,x) , diff(f,y);
diff(g,x) , diff(g,y)];
fix = subs([S.x,S.y],[a,b],[p,q]);
J = subs(J, [x,y,a,b] ,[fix(1),fix(2),p,q]);
v = eig(J);
end
2012724
(2/2)
function phase_diagram( a , b )
v=jacobian(a,b);
if ( isreal(v(1)) ) % v(1)v(2)v(1)
if( v(1) < 0 && v(2) < 0 )
plot();
else
plot();
end
else
if(
plot(
else
plot(
end
end
end
2012724
(1/2)
function selkov_phase_diagram()
figure;
hold on;
for a=0.01:0.01:0.15
for b=0.1:0.1:1.0
phase_diagram(a,b);
end
end
end
function v=jacobian( p , q )
syms x y a b;
S = solve(' -x + a * y + x^2 * y=0','b - a * y - x^2 * y=0','x','y');
f = -x + a * y + x^2 * y;
g = b - a * y - x^2 * y;
J = [ diff(f,x) , diff(f,y);
diff(g,x) , diff(g,y)];
fix = subs([S.x,S.y],[a,b],[p,q]);
J = subs(J, [x,y,a,b] ,[fix(1),fix(2),p,q]);
v = eig(J);
end
2012724
(2/2)
function phase_diagram( a , b )
v=jacobian(a,b);
if ( isreal(v(1)) ) % v(1)v(2)v(1)
if( v(1) < 0 && v(2) < 0 )
plot(a,b,'ko','MarkerFaceColor','k');
else
plot(a,b,'ko','MarkerFaceColor','w');
end
else
if( real(v(1)) < 0 ) % v(1) < 0
plot(a,b,'ko','MarkerEdgeColor','r','MarkerFaceColor','r');
else
plot(a,b,'ko','MarkerEdgeColor','r','MarkerFaceColor','w');
end
end
end
2012724
: a, b
Hopf
b
2012724
Selkov
2012724
Supercritical Hopf
Hopf
Poincar-Bendixson
2012724
2012724
Repressilator
(NOT)
1 / ( 2n )
Repressilator
2012724
hUp://133.6.66.95/mizutanilab3/ROC_ROCirc.html
: Ring Oscillator
2012724
Repressilator
3()
d[mRNA]
dt
d[Protein]
dt
2012724
= 0 +
1+[Repressor]n
[mRNA]
= ([mRNA] [Protein])
Phase diagram
n=2, 0=0
n=2.1, 0=0
n=2, 0/=103
2012724
inset
2012724
40
0.2-0.5 h-1
2012724
9:
d[mRNA]
dt
d[Protein]
dt
0 +
([mRNA] [Protein])
1+[Repressor]n
[mRNA]
(lacI, cI, tetR, LacI, CI, TetR) = (0.2, 0.3, 0.1, 0.1, 0.5, 0.4)
MATLAB(1/2)
function repressilator( input_args )
time = 0.001:1:200;
s0 = [0.2, 0.3, 0.1, 0.1, 0.5, 0.4]; % Initial values
param = [20, 0, 0.2, 2]; % Constants
[t,time_course] = ode15s(@(t,s) ODE(t,s,param),time,s0);
plot_time_course(t,time_course);
plot_phase_plane(time_course);
end
2012724
MATLAB(2/2):
function dsdt = ODE(t,s,param)
lacI = s(1); cI = s(2); tetR = s(3);
LacI = s(4); CI = s(5); TetR = s(6);
alpha = param(1);
alpha_zero = param(2);
beta = param(3);
n = param(4);
dsdt(1,:) =
dsdt(2,:) =
dsdt(3,:) =
dsdt(4,:) =
dsdt(5,:) =
dsdt(6,:) =
end
2012724
2012724
function dsdt = ODE(t,s,param)
lacI = s(1); cI = s(2); tetR = s(3);
LacI = s(4); CI = s(5); TetR = s(6);
alpha = param(1);
alpha_zero = param(2);
beta = param(3);
n = param(4);
dsdt(1,:) = alpha_zero + alpha / ( 1 + CI^n ) - lacI;
dsdt(2,:) = alpha_zero + alpha / ( 1 + TetR^n ) - cI;
dsdt(3,:) = alpha_zero + alpha / ( 1 + LacI^n ) - tetR;
dsdt(4,:) = - beta * ( LacI - lacI );
dsdt(5,:) = - beta * ( CI - cI );
dsdt(6,:) = - beta * ( TetR - tetR );
end
2012724
Hopf
Plan A:
2
Plan B:
Repressilator6Plan B
2012724
Hopf
J=
1
0
0
0
0
0
1
0
0
0
0
1
0
0
0
X
0
0
0
0
0
X
0
npn1
m
1
3
=
=X
p3
(1 + p23 )2
p
=
+ 0
3
p3
n
1 + p3
( + 1) (2X + 4) 3X < 0
2
2012724
X
0
0
0
0
10: Hopf
npn1
3
p
=
+ 0
3
X =
p3
n
1 + p3
(1 + p23 )2
() =10, 0=0, n=2
p3 = 2
2012724
=0.13
=0.14
2012724
Hill
(0)m
2012724
Toggle switchPitchfork
2012724
Toggle switchPitchfork
x
LacI (x)
x =
y
x
1 + y2
a
y
1 + x2
: xy
2012724
CI (y)
=0
Pitchfork
y
=0
a=2
y
a>2
Stable
Unstable
Stable
2012724
pitchfork
1.
Toggle switch
a 1 3
2.
11
Stable Node 3 Stable Node 2 Unstable
Node 1
2012724
3.
y x
x x5 - ax4 + 2x3 - 2ax2 + (1 + a2)x a = 0
4.
2012724
: (1/2)
5.
x3 + ax + b = 0 3
D = - 4a3 - 27b2 D > 0
3 D = 0D < 0 1
2
x3 + x - a x3 + x - a = 0 1
2012724
: (2/2)
6.
x2 - ax + 1
x2 - ax + 1 = 0 a > 2 2a = 2
1a < 2
7.
2012724
: (1/2)
8.
Toggle-switch
9.
2ax
(1+x
2 )2
2ay
(1+y
2 )2
a > 2 x2 - ax + 1 = 0
(i)
(ii)
a2
4 a
,
a2
"
2
(: )
2012724
"
: (2/2)
10.
x3 + x - a = 0 x
!
$
"
' (3
"
%
&
2
3 a
a
1
1
#
x=
+
+
)
*+ ,
2
2
3
+ 1 ,3
3
a 2
3 a2 +
+
2
3
x
(i)
a = 2 x = 1 x a
0 < a < 2 0 < x < 1
a > 2 x > 1
(ii)
2012724
: Pitchfork
11.
7.10.
a
x
0<a<2
a=2
a>2
2012724
x3 + x - a = 0
x2 - ax + 1 = 0
x3 + x - a = 0
x2 - ax + 1 = 0
x3 + x - a = 0
x2 - ax + 1 = 0
1
0
1
1
1
2
Node x 1
Node x 2
Saddle x 1
1(1/2)
= 0
a
y=
1 + x2
y!
=
=
0 (1 + x2 ) a 2x
(1 + x2 )2
2ax
(1 + x2 )2
y
y
2012724
!!
=
=
=
a
+
=0
1(2/2)
= 0 y = x
2
y
a
=0
y=x
=0
2012724
2
y
=0
=0
x
y
=0
=0
a
2012724
3
a
a
x=
y=
2
1+y
1 + x2
=
1+
a
a
1+x2
"2
a(1 + x2 )2
(1 + x2 )2 + a2
(1 + x2 )2 x + a2 x
a(1 + x2 )2
x + 2x3 + x5 + a2 x
a + 2ax2 + ax4
(x3 + x a)(x2 ax + 1)
2012724
5-7
5.
x3 + x - a = 0 D = - 4 - 27a2 < 0
12
6.
x2 - ax + 1 = 0 D = a2 - 4 a > 2
D > 0 2a = 2 D = 0
1 a < 2 D < 0
7.
0<a<2
a=2
a>2
2012724
x3 + x - a = 0
x2
- ax + 1 = 0
x3
+x-a=0
x2
- ax + 1 = 0
x3 + x - a = 0
x2 - ax + 1 = 0
1
0
1
1
1
2
1
32
x=1
x =
y
8
a
x
2
1+y
a
y
2
1+x
2ay
x =
y
(1 + y 2 )2
x = 1
x
2ax
x =
y
(1 + x2 )2
2012724
2ax
(1+x
2 )2
y = 1
y
2ay
(1+y
2 )2
"
9-(ii)
xy =
4a2 xy
=1
(1 + x2 )2 (1 + y 2 )2
4a2 xy
= 1
(1 + x2 + y 2 + x2 y 2 )2
(a
a2
4)(a
4
a2 4)
4a2
=1
(2 + x2 + y 2 )2
4a2
= 1
2
(2 + 4a 48 )2
4a2
= 1 4
a
4
= 1 2 > 0 ( a > 2)
a
2012724
=1
10
(i)
0 < a < 2 x x
a = 0 x = 0 a = 2 x
= 1 x a 0 < a < 2
x 0 1
0 < x < 1
(ii)
y=x
4a2 xy
=1
(1 + x2 )2 (1 + y 2 )2
4a2 x2
= 1
(1 + x2 )4
d
8a2 x(1 + x2 )3 (x 1)2
=1
dx
(1 + x2 )4
a = 0, x = 0 = 1a = 2, x = 1 = 0
0 < a < 2 1 > > 0a > 2 < 0
2012724
11
x
x2 - ax + 1 = 0
x3 + x - a = 0
x2 - ax + 1 = 0
NodeSaddle
2012724
(SaddleNode, Pitchfork)
(Hopf)
2012724
Further readings
Strogatz, S.H, Nonlinear dynamics and chaos, Perseus Books Publishing, 1994. (ISBN
0-7382-0453-6)
Fall, C.P., Marland, E.S., Wagner, J.M. and Tyson, J.J. Computational cell biology,
Springer, 2002. (ISBN 0-387-95369-8)
Bendixson
Borisuk, M.T. and Tyson, J.J., Bifurcation analysis of a model of mitotic control in frog eggs, J.
Theor. Biol. 195:69-85, 1998.
2012724