Stochastic Transient Analysis of Biochemical Systems Marc D. Riedel Assistant Professor, Electrical...

Post on 21-Dec-2015

216 views 2 download

Tags:

Transcript of Stochastic Transient Analysis of Biochemical Systems Marc D. Riedel Assistant Professor, Electrical...

Stochastic Transient AnalysisStochastic Transient Analysisof Biochemical Systemsof Biochemical Systems

Marc D. RiedelAssistant Professor, Electrical and Computer Engineering

Graduate Faculty, Biomedical Informatics and Computational Biology University of Minnesota

Brian’s Automated Modular Biochemical Instantiator (BAMBI)

[computational] Synthetic Biology[computational] Analysis

“There are known ‘knowns’; and there are unknown ‘unknowns’; but today I’ll speak of the known ‘unknowns’.”

– Donald Rumsfeld, 2004

BiologicalProcess

Molecular Inputs

Molecular Products

KnownKnown

UnknownIndependent

UnknownGiven

Gene Regulation

• Analogy with computation is apt.

• Tinkering with gene regulation is hard.

Is this the only way to implement computation with biology?

Playing by the Rules

Biochemical Reactions: how types of molecules combine.

+ +2a b c

Playing by the Rules

Biochemical Reactions

9

6

7

cellproteins count

+

8

5

9

Discrete chemical kinetics; spatial homogeneity.

Biochemical Reactions

+

+

+

slow

medium

fast

Relative rates or (reaction propensities):

Discrete chemical kinetics; spatial homogeneity.

BCA

ACB

CBA

2

3

2 3

2

k1

k2

k3

R1

R2

R3

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,” 2006.

Stochastic Chemical Kinetics

Playing by the Rules

S1 = [5, 5, 5] 0

Choose the next reaction according to:

Stochastic Simulation Algorithm (SSA)

Ri ikiiii XnXn 2,2,1,1,

jj

iiR

)Pr(

where

R1 R2 R3

2

2

1

1i n

X

n

Xki

Ri ikiiii XnXn 2,2,1,1,R1 R2 R3

Choose the time of the next reaction according to:

S1 = [5, 5, 5] 0

dettt

jj

jj

0

00 )Pr(

Stochastic Simulation Algorithm (SSA)

S1 = [5, 5, 5] 0

S2 = [4, 7, 4]

Choose R3 and t = 3 seconds.

R1 R2 R3

S3 = [2, 6, 7] 4

Choose R1 and t = 1 seconds.

S4 = [1, 8, 6] 6

Choose R3 and t = 2 seconds.

3

Choose R2 and t = 1 seconds.

Stochastic Simulation Algorithm (SSA)

S1 = [5, 5, 5] 0

S2 = [4, 7, 4]

Choose R3 and t = 3 seconds.

S3 = [2, 6, 7] 4

Choose R1 and t = 1 seconds.

S4 = [1, 8, 6] 6

Choose R3 and t = 2 seconds.

Choose R2 and t = 1 seconds.

37

Stochastic Simulation Algorithm (SSA)

Playing by the Rules

waveformscircuitnetlist

SPICE

Rules for integrated circuits:

amplifier v1 1 0 rin1 1 0 9e12 rjump 1 4 1e-12 rin2 4 0 9e12 e1 3 0 1 2 999k e2 6 0 4 5 999k e3 9 0 8 7 999k rload 9 0 10k r1 2 3 10k rgain 2 5 10k r2 5 6 10k r3 3 7 10k r4 7 9 10k r5 6 8 10k r6 8 0 10k .dc v1 0 10 1 .print dc v(9) .end

amplifier v1 1 0 rin1 1 0 9e12 rjump 1 4 1e-12 rin2 4 0 9e12 e1 3 0 1 2 999k e2 6 0 4 5 999k e3 9 0 8 7 999k rload 9 0 10k r1 2 3 10k rgain 2 5 10k r2 5 6 10k r3 3 7 10k r4 7 9 10k r5 6 8 10k r6 8 0 10k .dc v1 0 10 1 .print dc v(9) .end

Playing by the Rules

histogram: resulting quantities of proteins

biochemical reactions

Rules for biochemistry:

SPICE

X=100, Y = 30Xa = Xb = Xn= 0Y = 0

and initial quantities of proteins

Gillespie’sSSA

Where does the netlist come from?

X=100, Y = 30Xa = Xb = Xn= 0Y = 0

Playing by the RulesRules for biochemistry:

Design a system that computes output quantitiesas functions of input quantities.

Synthesizing Biological Computation

BiochemicalReactions

given obtain

Quantities of Different

Types

Quantities of Different

TypesM N = f(M)

independent

for us to design

specified

Start with no amount of types b and c.

Example: ExponentiationStart with M of type m. Produce of type n.

M2Use working types a, b, c.

Start with any non-zero amount of types a and n.

nana fast2meda

obtain 1 of n

bmslow

cbnb 2v. fast

fastb

ncmed.

obtain of n M2

Bin LadenSchool of Terrorism

Functional Dependencies

Logarithm

Linear

Raising-to-a-Power

2MN 2MN Exponentiation

)(log2 MN )(log2 MN

MN MN

PMN PMN

With “locking”, produces designs that are independent of rates.

LogicSynthesis

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 CircuitsIntegrated CircuitsDesign Automation forDesign Automation for

BiochemistryBiochemistry

LogicSynthesis

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 CircuitsIntegrated CircuitsDesign Automation forDesign Automation for

waveforms

BiochemicalSynthesis

SSA Engine

“Stochastic Transient Analysis of Biochemical Systems”

STA Engine

Brian’s Automated ModularBiochemical Instantiator

Verilog Elements ofRegister-basedBiochemical computation

S1 = [ 5, 5, 5] 0

S2 = [ 4, 7, 4]

S3 = [ 2, 6, 7] 4

S4 = [ 1, 8, 6] 6

3

Stochastic Transient Analysis (STA)

Extend SSA by allowing for:• Forced quantities.• Injected quantities.• Thresholds.

S1 = [ 5, 5, 5] 0

S2 = [ 4, 7, 4]

S3 = [ 2, 6, 7] 7

S4 = [ 1, 8, 6] 11

3

Stochastic Transient Analysis (STA)

Set A to 1 at t = 2.

Add 3 to B at t = 6.

Limit C to 5 at t = 10.9,

5]

1,

Algorithmic and mathematical details are in the paper…

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

Example: FIR Filter

Two-Tap Moving-Average Filter:

X

1/α= 1/β=

Y

Example: FIR Filter

Two-Tap Moving-Average Filter:

Biochemical Design:

But biochemistry executes asynchronously and in parallel….

Example: FIR Filter

Two-Tap Moving-Average Filter:

Biochemical Design:

Filter Clocking and Locking

Timing

thenMario

Luigi

Biochemical rules are inherently parallel.Sequentialize?

Step 1:

Step 2:

Module Locking

slow

slow

slow

+ +slow

+ slow

Sequentialize computationwith only two rates:“fast” and “slow”.

+ fast

Example: FIR Filter

Two-Tap Moving-Average Filter:

Discussion

• Synthesize a design for a precise, robust, programmable probability distribution on outcomes – for arbitrary types and reactions.

Computational Synthetic Biology 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

• 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?

• The first technology-independent biochemical ALU and CPU.

Discussion

students at the University of Minnesota

Brian Fett Adam Shea Bin Cheng

Tim MullinsSenior Technical Staff Member, HPC Life Sciences Applications, IBM Systems and Technology Group

Acknowledgements

PSB

Surfing Mauna Kea, HawaiiJan. 4, 2009

www.biodesignautomation.comBio-Design Automation

www.cctbio.comCircuits and Biology

www.cadbio.comCAD for Biology

Further Info

www.cctbio.ece.umn.eduCircuits and Biology at UMN

Communicating Ideas