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