Synthesizing Stochasticity in Biochemical Systems In partial fulfillment of the requirements for a master of electrical engineering degree Brian Fett Marc Riedel
Computation and Biology Cell Chemistry modeled with reaction sets Cell assumed to have a starting set of concentrations –Given the size of a cell, this implies quantities Modeling can be done in two ways –ODEs – quick, deterministic, approximate –Gillespie – Monte Carlo, Markov chain, exact
Design Scenario Anderson/Arkin Engineering Bacteria that will seek/destroy cancer Multi-stage system –Inactive, detect cancer, protection from host –Active, attack cancer, vulnerable The inactive form will be carried by blood stream –What if there is a cancer downstream?
Two Cancers Blood flow
Two Cancers Deterministic Blood flow
Two Cancers Stochastic Blood flow
Discrete Kinetics “States” ABC S1S1 S2S2 S3S3 A reaction transforms one state into another: e.g., R1R1 R2R2 R3R3 Track discrete (i.e., integer) quantities of molecular types.
S 1 = [5, 5, 5] S 2 = [4, 7, 4] R1R1 R2R2 R3R3 S 3 = [2, 6, 7] S 4 = [1, 8, 6] Discrete Kinetics State [ A, B, C ]
Stochastic Kinetics The probability that a given reaction is the next to fire is proportional to: Its rate constant (i.e., its k i ). The quantities of its reactants. R1R1 R2R2 R3R3 See D. Gillespie, “Stochastic Chemical Kinetics”, 2006.
Stochastic Kinetics Choose the next reaction according to: RiRi let For each reaction
Stochastic Kinetics Probabilistic Lattice
Designing Systems Stochastic and Deterministic
Modular Scheme Module inputsoutputs Quantities Quantities/ Probabilities
Modular Scheme Module
Deterministic inputsoutputs Quantities
Functional Modules Subtraction Fan-out Linear Scaling Multiplication Exponentiation Logarithmic Power Isolation
Functional Modules Subtraction y x y
Functional Modules Subtraction Fan-out x y2y2 y1y1 ynyn
Functional Modules Subtraction Fan-out Linear Scaling Linear x y
Functional Modules Subtraction Fan-out Linear Scaling Multiplication Multiply z x y
Functional Modules Subtraction Fan-out Linear Scaling Multiplication Exponentiation Exp x y
Functional Modules Subtraction Fan-out Linear Scaling Multiplication Exponentiation Logarithmic Log x y
Functional Modules Subtraction Fan-out Linear Scaling Multiplication Exponentiation Logarithmic Power p x y
Functional Modules Subtraction Fan-out Linear Scaling Multiplication Exponentiation Logarithmic Power Isolation y
Composing Modules Leading module must complete –Modules starting prematurely yield poor results –Rate separation between modules –Rate separation multiplies as modules are chained Module Locking –All modules can operate at similar pace –Subsequent modules locked –Key is generated when a module finishes –Key is required by ‘leading’ reaction of module
Module Locking Mult Linear
Locking within a Module Multi-reaction modules often loop Most loops have 4 stages –Initiate –Calculate –Terminate –Reset Keys must be destroyed at end of stage Initiate creates Loop type –very much like a key –Terminate destroys
Locking within a Module Log Initiate Calculate Reset Terminate
Locking within a Module Log Initiate Calculate Reset Terminate
Locking within a Module Log Initiate Calculate Reset Terminate
Locking within a Module Log Initiate Calculate Reset Terminate
Locking within a Module Log Initially 42 = Log 2 (4)
Stochastic Module Stochastic Module Prob. 0.2 Prob. 0.8 Choose between multiple outcomes Functions: Choice is made in one reaction Choice is quickly reinforced Outputs are produced Features: PDF set by quantities of types Any number of outcomes Arbitrarily low error
Basic Design Initialize – Make the choice Reinforce – Push forward with choice Stabilize – Remove possibility of ‘contamination’ –Prevent subsequent ‘choices’ Purify – Remove contamination Work – Do what was ‘chosen’
Initializing Reactions Reinforcing Reactions Stabilizing Purifying Working Reactions where Inside the Stochastic Module i i k ii odfdi i '''' : '''''''''' ij iii kkkkk ''' : i k ji ddij
Initializing Reactions Inside the Stochastic Module For all i, to obtain d i with probability p i, select E 1, E 2,…, E n according to: Use as appropriate in working reactions: (where E i is quantity of e i ) i i k ii odfdi i '''' :
Error Analysis Let for three outcomes (i.e., i, j = 1,2,3). Require Performed 100,000 trials of Monte Carlo. 2 '''''''''',, 1 ij iii kkkkk '''''''''' iii kkkkk
Locked Stochastic Module Lock Initializing reactions –All require the same key –Key generated by keysmith –Keysmith generated slowly Replace Purifying reactions –Destroy keysmith in presence of d –Preventative reactions instead –Linear growth rather than quadratic
Locked Stochastic Module An ounce of prevention… …worth a pound of cure.
Functional Probabilities Make choices based on inputs Stochastic Module Prob. 0.2 Prob. 0.8 Deterministic Module
Using IP/LP IP and LP solvers require –Set of constraints (inequalities) –An expression Solve for set of inputs –Meets constraints –Minimizes or maximizes expression Rewrite our problems in the form required
LP/IP Tricks Replace equality statements –Rounding errors break equality –Add error term –Minimize the error term Require a at least one molecule –Prevents solutions from devolving to zero
Sample the Input Space Number/location arbitrary More points –More accurate fit –More time calculating User defines desired IO –Table of points –Set of inputs –Desired output PDF at inputs X1X1 X2X2
Solve each point Space is quantities of e Solution is a ray Solve minimal magnitude Outside unit hyper-sphere e2e2 e3e3 e1e1
Bringing Points Together Pick a function –Solve for coefficients Scale point solutions Minimize difference Minimize coefficients x e
IP/LP Computation Value space is whole number sets, requires IP IP is NP-hard, LP is in P Scales solutions are also solutions Tricks –Solve points with LP, bring together with IP –Solve coefficients with LP, scale solution Use IP to scale optimally (weigh scaling, error) Scale by hand
Future Work Mapping our constructs to DNA –Reaction level? –Module level?
Past Future work 2 year Hiatus Jiang / Riedel DSP Builds on this work –Fan-out –Addition –Linear Scaling Adds Clock and Delay Module
Asynchronous Clock Clock –3 phase –Asynchronous –Uses a locking mechanism Delay –Each delay locks clock –Keeps clock in a phase –Allows clock to proceed when phase completes
Clock Delay Mechanism
Delay Element Extension of system –Shows strength of modular design Elegant asynchronous clock design Possible improvement for intra-module locking –Previous design – modified inter-module lock –Likely need more than 3 phases 4 phases – two calculating, two resetting 6 phases – three of each –Local/global clock
Questions?