Oscillatory Circuits Copyright (c) 2008 1 Copyright © 2008: Sauro

advertisement
Oscillatory Circuits
Copyright © 2008: Sauro
Copyright (c) 2008
1
Simple Bistable Circuit
Copyright (c) 2008
2
Oscillator Circuits
Repressilator
Classic Feedback Oscillator
Copyright (c) 2008
3
Oscillator Circuits
Relaxation Oscillator
Copyright (c) 2008
4
Oscillator Circuits
Excitable, Noise Driven Oscillator
p545
Copyright (c) 2008
5
Oscillator Circuits
Excitable, Noise Driven Oscillator
dP1/dt = 0.004 + 0.08*P1^2/(0.2^2+P1^2) – P1/(1+P1+P2)
dP2/dt = 0.8/(1+(P1/0.222)^5) - P2/(1+P1+P2)
Copyright (c) 2008
6
Oscillator Circuits
1. Stable point
2. Saddle point
3. Unstable point
Excitable, Noise Driven Oscillator
Red Line: Nullcline for P1
Orange Line: Nullcline for P2
P2
2.
1.
3.
As we vary P1 how does
P2 change (Orange)
As we vary P2 how does
P1 change (Red)
P1
Software
Copyright (c)Tool:
2008 http://math.rice.edu/~dfield/dfpp.html
7
Circuits
Behaviors
Designs
1. Memory less switches
2. Bistable Switches/Toggle
3. Oscillators
4. Noise Filters
5. Robustness
6. Response Acceleration
7. Logical Decisions
8. Signal Amplifiers
9. Pulse Generators
10. Event Sequencing
11. …….
1.
2.
3.
4.
5.
Copyright (c) 2008
Negative Feedback
Positive Feedback
Negative Feedforward
Positive Feedforward
Cooperativity
8
Logic Circuits
AND/NAND
A B
A
B
OR/NOR
A
B
AND
NAND
1
1
1
0
0
1
0
1
1
0
0
1
0
0
0
1
A B
OR
NOR
1
1
1
0
0
1
1
0
1
0
1
0
0
0
0
1
NOT
A
XOR/NXOR
A
B
A B
A
B
0
1
1
0
XOR
NXOR
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
1
All gates can be derived from the NAND Gate.
Copyright (c) 2008
9
OR/NOR/XOR/NXOR/NOT can be Made
from Combinations NAND Gates
NOT
OR
A
A
B
XOR
OR
AND
NAND
Copyright (c) 2008
10
Flip-Flop (Latch)
A
B
1
0
1
0
0
0
1
0
0
1
0
1
0
0
0
1
1
1
0
0
Flip-flops can be made either from NAND or NOR gates.
In synthetic biology it is probably easier to construct
OR like gates than AND gates.
In addition an OR based flip-flop is quiescent when both
inputs are low, meaning low protein levels. Latching occurs
when one
or other of the inputs is brought to a high state.
Copyright (c) 2008
11
0 0
NOR
Flip-Flop
1
0
A B
NOR
1
1
0
0
1
0
1
0
0
0
0
1
0
NOR
0 1
0
Promoter
Operators O1, O2
Gene
downstream
Making NOR gates is ‘relatively’ easy and requires only two operator sites
downstream of the RNA polymerase binding site (promoter).
Copyright (c) 2008
12
0 0
NOR
Flip-Flop
1
0
A B
NOR
1
1
0
0
1
0
1
0
0
0
0
1
0
NOR
0 1
0
Copyright (c) 2008
13
0 0
NOR
Flip-Flop
1
0
A B
NOR
1
1
0
0
1
0
1
0
0
0
0
1
0
NOR
0 1
0 0
NOR
0
1
1
0
NOR
0 1
0
Copyright (c) 2008
14
0 0
NOR
Flip-Flop
1
0
A B
NOR
1
1
0
0
1
0
1
0
0
0
0
1
0
NOR
0 1
1 0
NOR
0
1
1
0
NOR
0 1
0
Copyright (c) 2008
15
0 0
NOR
Flip-Flop
1
0
A B
NOR
1
1
0
0
1
0
1
0
0
0
0
1
0
NOR
0 1
1 0
NOR
0
0
1
0
NOR
0 1
0
Copyright (c) 2008
16
0 0
NOR
Flip-Flop
1
0
A B
NOR
1
1
0
0
1
0
1
0
0
0
0
1
0
NOR
0 1
1 0
NOR
0
0
1
0
NOR
0 0
0
Copyright (c) 2008
17
0 0
NOR
Flip-Flop
1
0
A B
NOR
1
1
0
0
1
0
1
0
0
0
0
1
0
NOR
0 1
1 0
NOR
0
0
1
0
NOR
0 0
1
Copyright (c) 2008
18
0 0
NOR
Flip-Flop
1
0
A B
NOR
1
1
0
0
1
0
1
0
0
0
0
1
0
NOR
0 1
1 1
NOR
0
0
1
0
NOR
0 0
1
Copyright (c) 2008
19
0 0
NOR
Flip-Flop
A B
1
0
NOR
1
1
0
0
1
0
1
0
0
0
0
1
0
NOR
0 1
1 1
NOR
0
0 1
NOR
0
1
0
0
0
NOR
0 0
1
NOR
0 0
Copyright (c) 2008
0
1
20
0 0
NOR
Flip-Flop
A B
1
0
0
NOR
0 1
0 0
NOR
1
1
0
0
1
0
1
0
0
0
0
1
Toggle A to reset P1
Toggle B to set P1
0
0 0
NOR
1
0
0
1
0
NOR
1 1
NOR
0
NOR
0 1
Copyright (c) 2008
1
0
21
XOR Gate
OR
AND
NAND
Copyright (c) 2008
22
XOR Gate
Operators O1, O2
Promoter
0,1 = 0
Gene
0,1 = 0
0,0 = 1
1,1 = 1
Copyright (c) 2008
23
Half Adder
A
B
S
C
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0+0=0
0+1=1
1+0=1
1 + 1 = 0 carry 1
Copyright (c) 2008
24
Half Adder
A
B
S
C
1
1
0
1
0
1
1
0
1
0
1
0
0
0
0
0
0+0=0
0+1=1
1+0=1
1 + 1 = 0 carry 1
Copyright (c) 2008
25
Feed-forward Circuits
Activate
Repress
Copyright (c) 2008
26
Feed-forward Circuits
Copyright (c) 2008
27
Feed-forward Circuits
C1
I1
Relative abundance of different FFL types in Yeast and E. coli. Data taken from
Mangan et al. 2003.
Copyright (c) 2008
28
Feed-forward Circuits
Coherent Type I Genetic Network
C1
Copyright (c) 2008
29
Feed-forward Circuits
Coherent Type I Genetic Network
Noise Rejection
Circuit
Narrow Pulse
C1
Wide Pulse
Copyright (c) 2008
30
Feed-forward Circuits
Coherent Type I Genetic Network
p = defn cell
$G1 -> S1; Vmax1*X^4/(Km1 + X^4);
S1 -> $w; k1*S1;
$G2 -> S2; Vmax2*S1^4/(Km1 + S1^4);
S2 -> $w; k1*S2;
$G3 -> S3; Vmax3*S1^4*S2^4/(Km1 + S1^4*S2^4);
S3 -> $w; k1*S3;
end;
C1
p.Vmax1 = 1;
p.Vmax2 = 1;
p.Vmax3 = 1;
p.Km1 = 0.5;
p.X = 0;
p.k1 = 0.1;
p.S1 = 0;
p.S2 = 0;
p.S3 = 0;
p.ss.eval;
println p.sv;
Copyright (c) 2008
31
Feed-forward Circuits
Coherent Type I Genetic Network
// Pulse width
// Set to 1 for no effect
// Set to 2.4 for full effect
h = 2.4;
C1
p.X = 0.3;
m1 = p.sim.eval (0, 10, 100, [<p.Time>, <p.X>, <p.S3>]);
p.X = 0.7; // Input stimulus
m2 = p.sim.eval (10, 10 + h, 100, [<p.Time>, <p.X>, <p.S3>]);
p.X = 0.3;
m3 = p.sim.eval (10 + h, 40, 100, [<p.Time>, <p.X>, <p.S3>]);
m = augr (m1, m2);
m = augr (m, m3);
graph (m);
Copyright (c) 2008
32
Feed-forward Circuits
Incoherent Type I Genetic Network
I1
Copyright (c) 2008
33
Synthetic Incoherent Type I Genetic Network
I1
Copyright (c) 2008
34
Incoherent Type I Genetic Network
Pulse Generator
I1
Copyright (c) 2008
35
Incoherent Type I Genetic Network
Pulse Generator
I1
Copyright (c) 2008
36
Incoherent Type I Genetic Network
Pulse Generator
p = defn cell
$G1 -> P2; t1*a1*P1/(1 + A1*P1);
P2 -> $w; gamma_1*P2;
$G3 -> P3; t2*b1*P1/(1 + b1*P1 + b2*P2 + b3*P1*P2^8);
P3 -> $w; gamma_2*P3;
end;
p.P2
p.P3
p.P1
p.G3
p.G1
I1
=
=
=
=
=
0;
0;
0.01;
0;
0;
p.t1 = 5;
p.a1 = 0.1;
p.t2 = 1;
p.b1 = 1;
p.b2 = 0.1;
p.b3 = 10;
p.gamma_1 = 0.1;
p.gamma_2 = 0.1;
// Time course response for a step pulse
p.P1
m1 =
p.P1
m2 =
= 0.0;
p.sim.eval (0, 10, 100, [<p.Time>, <p.P1>, <p.P3/1>]);
= 0.4; // Input stimulus
p.sim.eval (10, 50, 200, [<p.Time>, <p.P1>, <p.P3/1>]);
m = augr (m1, m2);
graph (m);
Copyright (c) 2008
37
Incoherent Type I genetic Network
Concentration Detector
I1
Copyright (c) 2008
38
Incoherent Type I genetic Network
Concentration Detector
I1
// Steady state response
n = 200;
m = matrix (n, 2);
for i = 1 to n do
begin
m[i,1] = p.P1;
m[i,2] = p.P3;
p.ss.eval;
p.P1 = p.P1 + 0.005;
end;
graph (m);
Copyright (c) 2008
39
Download