530 likes | 661 Views
Writing and Compiling Code into Biochemistry. Marc Riedel. Assistant Professor, Electrical and Computer Engineering Graduate Faculty, Biomedical Informatics and Computational Biology University of Minnesota. PSB ─ Kona, Hawaii, Jan. 7, 2010. Acknowledgements. Keshab Parhi
E N D
Writing and Compiling Code into Biochemistry Marc Riedel Assistant Professor, Electrical and Computer Engineering Graduate Faculty, Biomedical Informatics and Computational BiologyUniversity of Minnesota PSB ─ Kona, Hawaii, Jan. 7, 2010
Acknowledgements KeshabParhi Distinguished McKnightUniversity Professor; Edgar F. Johnson Professor;Electrical & Computer Engineering University of Minnesota Adam Shea Brian Fett StudentsElectrical & Computer Engineering University of Minnesota
Acknowledgements Who is this guy? • Most of the cells in his body are not his own! • Most of the cells in his body are not even human! • Most of the DNA in his body isalien! “Minnesota Farmer”
Who is this guy? He’s a human-bacteria hybrid: • 100 trillion bacterial cells of at least 500 different types inhabit his body. [like all of us] vs. • only 1 trillion human cells of 210 different types. “Minnesota Farmer”
What’s in his gut? Who is this guy? He’s a human-bacteria hybrid: • 100 trillion bacterial cells of at least 500 different types inhabit his body. [like all of us] vs. • only 1 trillion human cells of 210 different types. “Minnesota Farmer”
What’s in his gut? “E. coli, a self-replicating object only a thousandth of a millimeter in size, can swim 35 diameters a second, taste simple chemicals in its environment, and decide whether life is getting better or worse.” – Howard C. Berg About 3 pounds of bacteria!
We should put these critters to work… “Stimulus, response! Stimulus response! Don’t you ever think!”
Synthetic Biology • Positioned as an engineering discipline. • “Novel functionality through design”. • Repositories of standardized parts. • Driven by experimental expertise in particular domains of biology. • Gene-regulation, signaling, metabolism, protein structures …
Biochemistry in a Nutshell Nucleotides: DNA: string of n nucleotides (n ≈ 109) ... ACCGTTGAATGACG... Amino acid: coded by a sequence of 3 nucleotides. Proteins: produced from a sequence of m amino acids (m ≈ 103) called a “gene”.
+ 2a c b + Playing by the Rules Biochemical Reactions: how types of molecules combine.
Biochemical Reactions + cell proteins count 9 8 6 5 7 9 Discrete chemical kinetics; spatial homogeneity.
Biochemical Reactions + + + Relative rates or (reaction propensities): slow medium fast Discrete chemical kinetics; spatial homogeneity.
Protein-ProteinChemistry y [computational]Biochemistry Biochemical[computation] x z quantity quantities
Multiplication pseudo-code biochemical code
Exponentiation pseudo-code biochemical code
Raising-to-a-Power pseudo-code biochemical code
g f ( r ) = 1 Mario b f ( g ) = 2 Luigi [nearly]Rate Independent Biochemical Computation Biochemical rules are inherently parallel. Sequentialize? Step 1: M1 then Step 2: M2
Module Locking slow slow slow + slow Sequentialize computation with only two rates: “fast” and “slow”. slow + + fast +
Example: Multiplication Lock phases or modules with keys. Keys are generated by keysmiths; but indicators consume keysmiths.
Key Generation Two-phase protocol to ensure only one type of key is present.
Logic Synthesis SPICE Register Level Design Integrated Circuits Design Automation for Behavioral Specification(e.g., DSP function) Structural Description (e.g., memory and functional units) Circuit-Level Description (e.g., NAND2 and D flip-flops) waveforms
Logic Synthesis SPICE Register Level Design Verilog Elements of Register-basedBiochemical computation Brian’s Automated ModularBiochemical Instantiator Biochemistry Integrated Circuits Design Automation for Behavioral Specification(e.g., DSP function) Structural Description (e.g., memory and functional units) Biochemical Netlist (e.g., Proteins, Enzymes) Biochemical Synthesis STA Engine SSA Engine waveforms “Stochastic Transient Analysis of Biochemical Systems”
Example: FIR Filter Two-Tap Moving-Average Filter: X 1/α= 1/β= Y
Example: FIR Filter Two-Tap Moving-Average Filter: module MA(X, Y); input X; output Y; reg Xn; always begin Y = (1/2 * X) + (1/2 * Xn); Xn = X; end endmodule
Example: FIR Filter module MA(X, Y); input X; output Y; reg Xn; always begin Y = (1/2 * X) + (1/2 * Xn); Xn = X; end endmodule
Example: FIR Filter module MA(X, Y); input X; output Y; reg Xn; always begin Y = (1/2 * X) + (1/2 * Xn); Xn = X; end endmodule
Example: FIR Filter module MA(X, Y); input X; output Y; reg Xn; always begin Y = (1/2 * X) + (1/2 * Xn); Xn = X; end endmodule
Example: FIR Filter module MA(X, Y); input X; output Y; reg Xn; always begin Y = (1/2 * X) + (1/2 * Xn); Xn = X; end endmodule
Example: FIR Filter module MA(X, Y); input X; output Y; reg Xn; always begin Y = (1/2 * X) + (1/2 * Xn); Xn = X; end endmodule
Example: FIR Filter module MA(X, Y); input X; output Y; reg Xn; always begin Y = (1/2 * X) + (1/2 * Xn); Xn = X; end endmodule
Example: FIR Filter Two-Tap Moving-Average Filter: Chemical Design: Filter
Example: FIR Filter Two-Tap Moving-Average Filter:
Example: IIR Filter Biquad versatile infinite-impulse responses filter:
Example: IIR Filter Biquad versatile infinite-impulse responses filter:
k1 + k2 + k3 + Stochastic Kinetics • Its rate. • The quantities of its reactants. The probability that a given reaction is the next to fire is proportional to: See D. Gillespie, “Stochastic Chemical Kinetics”, 2006.
Biochemical Reactions Synthesizing Biological Computation inputs computation outputs Molecular Triggers Molecular Products
Biological Computation at the Populational Level How can we control the quantity of molecular product at the populational level?
Synthesizing Stochasticity Engineer a probabilistic response in each cell. product with Prob.0.3 trigger product with Prob.0.7
Biological Computation at the Populational Level Obtain a fractional response.
X Biochemical Reactions Y é ù X Z with Pr ê ú + X Y ë û [stochastic] Biological Computation fixed
Discussion Synthesize a design for a precise, robust, programmable probability distribution on outcomes – for arbitrary types and reactions. Computational Chemical Design vis-a-vis Technology-Independent Logic Synthesis Experimental Design vis-a-vis Technology Mapping in Circuit Design • Implement design by selecting specific types and reactions – say from “toolkit”.
DNA Strand Displacement X1 X2 + X3 Erik Winfree’s group at Caltech: “DNA as a Universal Substrate for Chemical Kinetics.”
Methods and CAD tools for generating nearly rate independent biochemical netlists for: nearly any memoryless function (e.g., curve-fitting). Discussion Where are we? • Methods for generating any register-to-register computation (e.g., DSP functions). Where are we headed? • A technology-independent biochemical CPU.
Support MARCO (SRC/DoD) Contract 2003-NT-1107 CAREER Award 0845650 Biomedical Informatics & Computational BiologyUMN / Mayo Clinic / IBM Blue Gene DevelopmentGroup. Rochester, MN
R1 R2 R3 Playing by the Rules Stochastic Chemical Kinetics The probability that a given reaction is the next to fire is proportional to: • Its rate. • The number of ways that the reactants can combine. SeeDan Gillespie, • “Exact Stochastic Simulation of Coupled Chemical Reactions,”1977. • “Stochastic Chemical Kinetics,” 2006.
Stochastic Simulation Algorithm (SSA) R1 R2 R3 S1 = [5, 5, 5] 0 Ri Choose the next reaction according to: where