module locking in biochemical synthesis brian fett and marc d. riedel electrical and computer...

50
Module Locking in Biochemical Module Locking in Biochemical Synthesis Synthesis Brian Fett and Marc D. Riedel Electrical and Computer Engineering University of Minnesota Brian’s Automated Modular Biochemical Instantiator (BAMBI)

Post on 19-Dec-2015

217 views

Category:

Documents


0 download

TRANSCRIPT

Module Locking in Biochemical SynthesisModule Locking in Biochemical Synthesis

Brian Fett and Marc D. RiedelElectrical and Computer Engineering

University of Minnesota

Brian’s Automated Modular Biochemical Instantiator (BAMBI)

students at the University of Minnesota

Brian Fett Adam Shea Weikang Qian

Matt Cook

Institute of Neuroinformatics,

ETH Zürich

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

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 …

Building Bridges

"Think of how engineers build bridges. They design quantitative models to help them understand what sorts of pressure and weight the bridge can withstand, and then use these equations to improve the actual physical model. [In our work on memory in yeast cells] we really did the same thing.”

– Pam Silver, Harvard 2007

• Quantitative modeling.• Mathematical analysis.• Incremental and iterative design changes.

Engineering Design

Synthetic Biology

• Cellulosic ethanol (Nancy Ho, Purdue, ’04)• Anti-malarial drugs (Jay Keasling, UC Berkeley, ‘06) • Tumor detection (Chris Voigt, UCSF ‘06)

Feats of synthetic bio-engineering:

Strategy: apply experimental expertise; formulate ad-hoc designs; perform extensive simulations.

From ad hoc to Systematic…

Claude E. Shannon1916 –2001

“A Mathematical Theory of Communication,” Bell System Technical Journal, 1948.

Basis of information theory, coding theoryand all communication systems.Basis of all digital computation.

“A Symbolic Analysis of Relay and Switching Circuits,”

M.S. Thesis, MIT, 1937

inputs outputs

• Design is driven by the input/output specification.• CAD tools are not part of the design process; they are

the design process.

Building Digital Circuits

),,( 11 mxxf a

),,( 12 mxxf a

),,( 1 mn xxf a

1x

2x

mx

digital circuit...

[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

UnknownKnown /Unknown

UnknownGiven

Artificial Life

US Patent 20070122826 (pending):“The present invention relates to a minimal set of protein-coding genes which provides the information required for replication of a free-living organism in a rich bacterial culture medium.” – J. Craig Venter Institute

Going from reading genetic codes to write them.

Artificial Life

Going from reading genetic codes to write them.

Moderator: “Some people have accused you of playing God.”

J. Craig Venter:“Oh no, we’re not playing.

Biochemistry in a Nutshell

DNA: string of n nucleotides (n ≈ 109)

... ACCGTTGAATGACG...

},,{},,,{ 2013 aaGTCA

Nucleotides:

Amino acid: coded by a sequence of 3 nucleotides.

Proteins: produced from a sequence of m amino

acids (m ≈ 103).

},,,{ GTCA

protein},,{ 201 maa

Logic Gates: how digital values are computed.

Biochemical Reactions: how types of molecules combine.

“XOR” gate

0011

0101

0110

1x 2x g

Basic Mechanisms

+

1x

2x

g

+2a b c

Biochemical Reactions

9

6

7

cellspecies count

+

8

5

9

Discrete chemical kinetics; spatial homogeneity.

Biochemical Reactions

+

+

+

slow

medium

fast

Relative rates or (reaction propensities):

Discrete chemical kinetics; spatial homogeneity.

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 NM2

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

Functional Dependencies

Logarithm

Linear

Raising-to-a-Power

2MN 2MN Exponentiation

)(log2 MN )(log2 MN

MN MN

PMN PMN

BiochemicalReactions

computationinputs outputs

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

productwith Prob. 0.7

Synthesizing Stochasticity

Obtain a fractional response.

Biological Computation at the Populational Level

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

Stochastic Kinetics

+

+

+

k1

k2

k3

Jargon vs.Terminology

“Now this end is called the thagomizer, after the late Thag Simmons.”

Design a system that produces a probability distribution on the production of output types as a function of input quantities.

Synthesizing Stochasticity

BiochemicalReactions

given obtain

Quantities of Different

Types

Quantities of Different

Types

Probability Distribution on Different Types

independent

for us to design

specified

Design a system that produces a probability distribution on the production of output types as a function of input quantities.

Synthesizing Stochasticity

cell

A with Prob. 0.3

B with Prob. 0.2

C with Prob. 0.5

Synthesizing Stochasticity

cell

Generalization: engineer a probability distribution on logical combinations of different outcomes.

A and B with Prob. 0.3

B and C with Prob. 0.7

Further: program probability distribution with (relative) quantity of input compounds.

)/()Pr( 1 YXfA

)/()Pr( 2 YXfB

)/()Pr( 3 YXfC

X

Y

Design a system that produces a probability distribution on the production of output types as a function of input quantities.

Generalization: engineer a probability distribution with a functional dependence on input quantities.

Synthesizing Stochasticity

StochasticModule

x

y

m n e

MN 2NXX 0

NYY 0

)Pr(eYX

X

YX,

00

0

YX

NX

00

0 2

YX

X M

Synthesizing Stochasticity

• Structure computation to obtain initial choice probabilistically.

• Then amplify this choice and inhibit other choices.

Method is:

• Precise.• Robust.• Programmable.

Strategy:

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

Timing

+

+

+

slow

medium

fast

Synthesis schemes dependent on relative reaction rates.

CompositionRate separation increases with composition/modularity.

..

..

........

Module 2......

Module 1

slow1 fast1 slow2 fast2

fast1 slow2< ?

Timing

thenMario

Luigi

Biochemical rules are inherently parallel.Sequentialize?

Step 1:

Step 2:

Module Locking

slow

slow

slow

+ +slow

+ slow

+ fast

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

Module Locking

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

A Comparison of the Accuracy of the Locked and Unlocked Versions of Three Modules: Multiplication, Exponentiation, and Logarithm.

Unlockedfastestfast,slow,slowest,,,,1 32

Lockedfastslow,,1

“Accuracy”:

1000at error

10at error

Locking the Linear Stochastic Module

CAD Tool

• Library of biochemical models.

• Designated input and output types.

• Specific quantities (or ranges) of input types.

• Target functional dependencies.

• Target probability distribution.

Brian’s Automated Modular Biochemical Instantiator (BAMBI)

Given:

Outputs:• Reactions/parameters implementing specification.• Detailed measures of accuracy and robustness.

Targets can be nearly any analytic function or data set.

Computational Infrastructure• Implementing a “front-end” database of biochemical models in

Structured Query Language (SQL) from online repositories: BioBricks, SBML.org, …

• Implementing “back-end” number crunching algorithms for analysis and synthesis on a high performance computing platform.

IBM System Z Mainframe IBM’s Blue Gene/L

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

circuit

computationinputs outputs

Probability Distributions on Boolean

output streams

Stochastic Logic

Probability Distributions on Boolean

input streams

DAC 08, “The Synthesis of Robust Polynomial Arithmetic with Stochastic Logic”

circuit

inputs outputs

0,1,1,0,1,0,1,1,0,1,…

1,0,0,0,1,0,0,0,0,0,…

p1 = Prob(one)

p2 = Prob(one)

Stochastic Logic

Consider a probabilistic interpretation:

circuit

inputs outputs

51

52

Consider a probabilistic interpretation:

Stochastic Logic

circuitcircuit

01001

01000

p1 = Prob(one)

p2 = Prob(one)

parallel bit streams

Consider a probabilistic interpretation:

Stochastic Logic

inputs outputs

circuit

parallel bit streams

51

52

Consider a probabilistic interpretation:

Stochastic Logic

01001

01000

p1 = Prob(one)

p2 = Prob(one)

A real value x in [0, 1] is encoded as a stream of bits X.For each bit, the probability that it is one is: P(X=1) = x.

Probabilistic Bundles

01001

xX

Communicating Ideas