Writing and Compiling Code into Biochemistry Marc Riedel Assistant Professor, Electrical and Computer Engineering Graduate Faculty, Biomedical Informatics.

Slides:



Advertisements
Similar presentations
CSE 341 Verilog HDL An Introduction. Hardware Specification Languages Verilog  Similar syntax to C  Commonly used in  Industry (USA & Japan) VHDL 
Advertisements

1 Verilog Digital Computer Logic Kashif Bashir WWW: http//:
University Of Vaasa Telecommunications Engineering Automation Seminar Signal Generator By Tibebu Sime 13 th December 2011.
Multiscale Stochastic Simulation Algorithm with Stochastic Partial Equilibrium Assumption for Chemically Reacting Systems Linda Petzold and Yang Cao University.
Systems Biology Existing and future genome sequencing projects and the follow-on structural and functional analysis of complete genomes will produce an.
Marc Riedel Synthesizing Stochasticity in Biochemical Systems Electrical & Computer Engineering Jehoshua (Shuki) Bruck Caltech joint work with Brian Fett.
Digital Signal Processing with Biomolecular Reactions Hua Jiang, Aleksandra Kharam, Marc Riedel, and Keshab Parhi Electrical and Computer Engineering University.
Synchronous Sequential Computation with Molecular Reactions Hua Jiang, Marc Riedel, and Keshab Parhi Electrical and Computer Engineering University of.
Phillip Senum University of Minnesota. Motivation Much effort has been spent developing techniques for analyzing existing chemical systems. Comparatively.
Stochasticity in molecular systems biology
Module Locking in Biochemical Synthesis Brian Fett and Marc D. Riedel Electrical and Computer Engineering University of Minnesota Brian’s Automated Modular.
Xin Li, Weikang Qian, Marc Riedel, Kia Bazargan & David Lilja A Reconfigurable Stochastic Architecture for Highly Reliable Computing Electrical & Computer.
Introduction to Bioinformatics Spring 2008 Yana Kortsarts, Computer Science Department Bob Morris, Biology Department.
Binary Counting with Chemical Reactions Aleksandra Kharam, Hua Jiang, Marc Riedel, and Keshab Parhi Electrical and Computer Engineering University of Minnesota.
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Marc Riedel The Synthesis of Stochastic Logic for Nanoscale Computation IWLS 2007, San Diego May 31, 2007 Weikang Qian and John Backes Circuits & Biology.
ECE 353 Computer Systems Lab I Verilog Hardware Description Language.
Pathway databases Goto S, Bono H, Ogata H, Fujibuchi W, Nishioka T, Sato K, Kanehisa M. (1997) Organizing and computing metabolic pathway data in terms.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
Stochastic Transient Analysis of Biochemical Systems Marc D. Riedel Assistant Professor, Electrical and Computer Engineering Graduate Faculty, Biomedical.
Weikang Qian The Synthesis of Stochastic Logic to Perform Multivariate Polynomial Arithmetic Abstract Ph.D. Student, University of Minnesota Marc D. Riedel.
Marc Riedel A Discourse on Cycles Assistant Professor, ECE, Univ. Minnesota (in circuits and in computational biology) “In a good system, even evil men.
Circuit Engineers Doing Biology Marc D. Riedel Assistant Professor, Electrical and Computer Engineering University of Minnesota Café Scientifique A Discourse.
Pathways Database System: An Integrated System For Biological Pathways L. Krishnamurthy, J. Nadeau, G. Ozsoyoglu, M. Ozsoyoglu, G. Schaeffer, M. Tasan.
Simulation of Biochemical Reactions for Modeling of Cell DNA Repair Systems Dr. Moustafa Mohamed Salama Laboratory of Radiation Biology, JINR Supervisor.
Overview Logistics Last lecture Today HW5 due today
Stochastic models of chemical kinetics 5. Poisson process.
ECE 2372 Modern Digital System Design
Synthetic biology: New engineering rules for emerging discipline Andrianantoandro E; Basu S; Karig D K; Weiss R. Molecular Systems Biology 2006.
EE1301: Intro. to Computer Science Browsing the “World Wide Web” with Microsoft Explorer™ File management Microsoft XP Operating System™ Writing documents.
Metabolic pathway alteration, regulation and control (5) -- Simulation of metabolic network Xi Wang 02/07/2013 Spring 2013 BsysE 595 Biosystems Engineering.
Converting Macromolecular Regulatory Models from Deterministic to Stochastic Formulation Pengyuan Wang, Ranjit Randhawa, Clifford A. Shaffer, Yang Cao,
Genetic Engineering for Engineers: A Brief Introduction to Molecular Biology for Non-Biologist Patricia Ayoubi, Ph.D. OSU Microarray Core Facility Department.
1 H ardware D escription L anguages Modeling Digital Systems.
Marc D. Riedel Associate Professor, ECE University of Minnesota EE 5393: Circuits, Computation and Biology ORAND.
EE 5393: Circuits, Computation and Biology
Tutor: Prof. Lucia Pomello Supervisors: Prof. Giancarlo Mauri Dr. Luciano Milanesi PhD Thesis Proposal Membrane systems: a framework for stochastic processes.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Module 1.2 Introduction to Verilog
Marc D. Riedel Associate Professor, ECE University of Minnesota EE 5393: Circuits, Computation and Biology ORAND.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
Marc Riedel – EE5393 The Synthesis of Robust Polynomial Arithmetic with Stochastic Logic Electrical & Computer Engineering University of Minnesota.
Synthesizing Stochasticity in Biochemical Systems In partial fulfillment of the requirements for a master of electrical engineering degree Brian Fett Marc.
ELEN 468 Lecture 131 ELEN 468 Advanced Logic Design Lecture 13 Synthesis of Combinational Logic II.
Introduction to biological molecular networks
ELE 523E COMPUTATIONAL NANOELECTRONICS
Biochemical Reactions: how types of molecules combine. Playing by the Rules + + 2a2a b c.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
Introduction to ASIC flow and Verilog HDL
M.Mohajjel. Objectives Learn How to write synthesizable Verilog code Common mistakes and how to avoid them What is synthesized for what we code Digital.
Sayed Ahmad Salehi Marc D. Riedel Keshab K. Parhi University of Minnesota, USA Markov Chain Computations using Molecular Reactions 1.
Multiplexers Section Topics Multiplexers – Definition – Examples – Verilog Modeling.
Bio-Design Automation EE5393 – University of Minnesota Brian’s Automated Modular Biochemical Instantiator.
Contribution: Timing then Mario Luigi Biochemical rules are inherently parallel. Sequentialize? Step 1: Step 2:
Biochemical Reactions computationinputsoutputs Molecular Triggers Molecular Products Synthesizing Biological Computation Protein-Protein Chemistry at the.
Computing with Chemical Reaction Networks Nikhil Gopalkrishnan.
Compiling code and Computation into Biochemical Reactions Presenter : Chi-Yun Cheng.
Event-Leaping in the Stochastic Simulation of Biochemistry State Space AnalysisThe Goddess Durga Marc Riedel, EE5393, Univ. of Minnesota.
1 (c) , W. J. Dally Digital Design: A Systems Approach Lecture 1: The Digital Abstraction Combinational Logic Verilog.
Bacteria are engineered to produce an anti-cancer drug: Design Scenario drug triggering compound E. Coli.
… … Sequential Computation (e.g., filtering) Chemical Reactions Time-varying changes in concentrations of an input molecular type. Time-varying changes.
1 Deterministic Function Computation with Chemical Reaction Networks Ho-Lin Chen 1, David Doty 2, David Soloveichik 3 1 National Taiwan University 2 Caltech.
1 Deterministic Function Computation with Chemical Reaction Networks David Doty (joint work with Ho-Lin Chen and David Soloveichik) University of British.
Bacteria are engineered to produce an anti-cancer drug: Design Scenario drug triggering compound E. Coli.
Discussion 2: More to discuss
Modeling Biological Systems
ELE 523E COMPUTATIONAL NANOELECTRONICS
Example: Verification
Computational Biology
Presentation transcript:

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

Students Electrical & Computer Engineering University of Minnesota Brian FettAdam Shea Keshab Parhi Distinguished McKnight University Professor; Edgar F. Johnson Professor; Electrical & Computer Engineering University of Minnesota Acknowledgements

“Minnesota Farmer” 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 is alien! Who is this guy? Acknowledgements

“Minnesota Farmer” 100 trillion bacterial cells of at least 500 different types inhabit his body. Who is this guy? He’s a human-bacteria hybrid: vs. only 1 trillion human cells of 210 different types. [like all of us]

“Minnesota Farmer” Who is this guy?What’s in his gut? 100 trillion bacterial cells of at least 500 different types inhabit his body. He’s a human-bacteria hybrid: vs. only 1 trillion human cells of 210 different types. [like all of us]

About 3 pounds of bacteria! 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

“Stimulus, response! Stimulus response! Don’t you ever think!” We should put these critters to work…

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 DNA: string of n nucleotides ( n ≈ 10 9 )... ACCGTTGAATGACG... Nucleotides: Amino acid: coded by a sequence of 3 nucleotides. Proteins: produced from a sequence of m amino acids ( m ≈ 10 3 ) called a “gene”.

Biochemical Reactions: how types of molecules combine a2a b c Playing by the Rules

Biochemical Reactions cell proteinscount Discrete chemical kinetics; spatial homogeneity.

Biochemical Reactions slow medium fast Relative rates or (reaction propensities): Discrete chemical kinetics; spatial homogeneity.

Protein-Protein Chemistry [computational] Biochemistry y x quantities z Biochemical [computation] quantity

Multiplication pseudo-code biochemical code

Exponentiation biochemical code pseudo-code

Raising-to-a-Power pseudo-code biochemical code

then Mario Luigi Biochemical rules are inherently parallel. Sequentialize? Step 1: Step 2: [nearly] Rate Independent Biochemical Computation )( 1 rfg  )( 2 gfb  M1M1 M2M2

Module Locking slow Sequentialize computation with only two rates: “ fast ” and “ slow ”. + fast

Lock phases or modules with keys. Keys are generated by keysmiths; but indicators consume keysmiths. Example: Multiplication

Key Generation Two-phase protocol to ensure only one type of key is present.

Logic Synthesis SPICE Register Level Design 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 Integrated Circuits Design Automation for

Biochemistry Logic Synthesis SPICE Register Level Design Behavioral Specification (e.g., DSP function) Structural Description (e.g., memory and functional units) Biochemical Netlist (e.g., Proteins, Enzymes) Integrated Circuits Design Automation for waveforms Biochemical Synthesis SSA Engine “Stochastic Transient Analysis of Biochemical Systems” STA Engine Brian’s Automated Modular Biochemical Instantiator Verilog Elements of Register-based Biochemical computation

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 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 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 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 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 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 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 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:

Example: IIR Filter

The probability that a given reaction is the next to fire is proportional to: Its rate. The quantities of its reactants. See D. Gillespie, “Stochastic Chemical Kinetics”, Stochastic Kinetics k1k1 k2k2 k3k3

It’s not a bug, it’s a feature.

Biochemical Reactions computationinputsoutputs Molecular Triggers Molecular Products Synthesizing Biological Computation

How can we control the quantity of molecular product at the populational level? Biological Computation at the Populational Level

product trigger Engineer a probabilistic response in each cell. with Prob. 0.3 product with Prob. 0.7 Synthesizing Stochasticity

Obtain a fractional response. Biological Computation at the Populational Level

Z        YX X Prwith Y X fixed Biochemical Reactions [stochastic] Biological Computation

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 Implement design by selecting specific types and reactions – say from “toolkit”. Experimental Design vis-a-vis Technology Mapping in Circuit Design

DNA Strand Displacement X1X1 X2X2 X3X3 + 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). Where are we? Methods for generating any register-to-register computation (e.g., DSP functions). Where are we headed? A technology-independent biochemical CPU. Discussion

Support CAREER Award MARCO (SRC/DoD) Contract 2003-NT-1107 Blue Gene Development Group. Rochester, MN Biomedical Informatics & Computational Biology UMN / Mayo Clinic / IBM

R1R1 R2R2 R3R3 See Dan Gillespie, 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. “Exact Stochastic Simulation of Coupled Chemical Reactions,”1977. “Stochastic Chemical Kinetics,” Stochastic Chemical Kinetics Playing by the Rules

S 1 = [5, 5, 5] 0 Choose the next reaction according to: Stochastic Simulation Algorithm (SSA) RiRi where R1R1 R2R2 R3R3

RiRi R1R1 R2R2 R3R3 Choose the time of the next reaction according to: S 1 = [5, 5, 5] 0 Stochastic Simulation Algorithm (SSA)

S 1 = [5, 5, 5] 0 S 2 = [4, 7, 4] Choose R 3 and t = 3 seconds. R1R1 R2R2 R3R3 S 3 = [2, 6, 7] 4 Choose R 1 and t = 1 seconds. S 4 = [1, 8, 6] 6 Choose R 3 and t = 2 seconds. 3 Choose R 2 and t = 1 seconds. Stochastic Simulation Algorithm (SSA)

S 1 = [5, 5, 5] 0 S 2 = [4, 7, 4] Choose R 3 and t = 3 seconds. S 3 = [2, 6, 7] 4 Choose R 1 and t = 1 seconds. S 4 = [1, 8, 6] 6 Choose R 3 and t = 2 seconds. Choose R 2 and t = 1 seconds. 37 Stochastic Simulation Algorithm (SSA)