slow - The Circuits and Biology Lab at UMN

Download Report

Transcript slow - The Circuits and Biology Lab at UMN

Module Locking in Biochemical Synthesis
Brian Fett and Marc D. Riedel
Electrical and Computer Engineering
University of Minnesota
Brian’s Automated Modular Biochemical Instantiator (BAMBI)
Acknowledgements
students at the University of Minnesota
Brian Fett
Matt Cook
Institute of
Neuroinformatics,
ETH Zürich
Adam Shea
Weikang Qian
Tim Mullins
Senior Technical Staff
Member, HPC Life Sciences
Applications, IBM Systems
and Technology Group
Who
is this guy?
Acknowledgements
• 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!
“Minnesota Farmer”
Who is this guy?
He’s a human-bacteria hybrid:
[like all of us]
• 100 trillion bacterial cells of
at least 500 different types
inhabit his body.
vs.
• only 1 trillion human cells of
210 different types.
“Minnesota Farmer”
Who
What’s
is in
this
hisguy?
gut?
He’s a human-bacteria hybrid:
[like all of us]
• 100 trillion bacterial cells of
at least 500 different types
inhabit his body.
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 …
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
Engineering Design
• Quantitative modeling.
• Mathematical analysis.
• Incremental and iterative design changes.
Synthetic Biology
Feats of synthetic bio-engineering:
• Cellulosic ethanol (Nancy Ho, Purdue, ’04)
• Anti-malarial drugs (Jay Keasling, UC Berkeley, ‘06)
• Tumor detection (Chris Voigt, UCSF ‘06)
Strategy: apply experimental expertise; formulate ad-hoc
designs; perform extensive simulations.
From ad hoc to Systematic…
“A Symbolic Analysis of Relay and
Switching
Circuits,”
“A Mathematical
Theory of
Communication,”
M.S.Technical
Thesis, MIT,
19371948.
Bell System
Journal,
Claude E. Shannon
1916 –2001
of all digital
computation.
BasisBasis
of information
theory,
coding theory
and all communication systems.
Building Digital Circuits
inputs
outputs
x1
a
x2
..
.
xm
digital circuit
f1 ( x1 ,  , xm )
a f 2 ( x1 ,  , xm )
a
f n ( x1 ,  , xm )
• Design is driven by the input/output specification.
• CAD tools are not part of the design process; they are
the design process.
[computational]
[computational]
Synthetic
Analysis
Biology
“There are known ‘knowns’; and there are unknown
‘unknowns’; but today I’ll speak of the known ‘unknowns’.”
– Donald Rumsfeld, 2004
Molecular
Inputs
Known /
Known
Unknown
Biological
Process
Molecular
Products
Given
Unknown
Unknown
Known
Artificial Life
Going from reading genetic codes to write them.
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
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
Nucleotides:
{ A, C , T , G}
DNA: string of n nucleotides (n ≈ 109)
... ACCGTTGAATGACG...
Amino acid: coded by a sequence of 3 nucleotides.
{ A, C , T , G }3  {a1 , , a20 }
Proteins: produced from a sequence of m amino
acids (m ≈ 103).
{a1 , , a20 } m  protein
Basic Mechanisms
Logic Gates: how digital values are computed.
x1 x2 g
0 0 0
0 1 1
1 0 1
1 1 0
x1
g
x2
“XOR” gate
Biochemical Reactions: how types of molecules combine.
2a +
+
b
c
Biochemical Reactions
+
species count
cell
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.
Synthesizing Biological
Computation
Design a system that computes output quantities
as functions of input quantities.
given
obtain
Quantities
ofMDifferent
Types
Quantities
M
N
2
of Different
Types
Biochemical
Reactions
independent
specified
for us to design
Example: Exponentiation
M
Start with M of type m. Produce 2 of type n.
Use working types a, b, c.
Start with any non-zero amount of types a and n.
a + 2n
fast
a+n
med
obtain 1 of n
Start with no
a amount of types b and c.
m
slow
b+n
b
fast
c
med.
b
v. fast
n
b + 2c
M
obtain 2 of n
Functional Dependencies
Exponentiation
Logarithm
N  2M
N  log2 ( M )
Linear
N  M
Raising-to-a-Power
N  MP
Synthesizing Biological
Computation
inputs
computation
outputs
Molecular
Triggers
Biochemical
Reactions
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.
Stochastic Kinetics
The probability that a given
reaction is the next to fire is
proportional to:
• Its rate.
• The quantities of its reactants.
+
k1
k2
+
+
k3
See D. Gillespie, “Stochastic Chemical Kinetics”, 2006.
Jargon vs.Terminology
“Now this end is called the thagomizer, after
the late Thag Simmons.”
Synthesizing Stochasticity
Design a system that produces a probability distribution on the
production of output types as a function of input quantities.
given
Quantities
of Different
Types
obtain
Biochemical
Reactions
independent
Quantities
Probability
Distribution
of Different on
Different
TypesTypes
specified
for us to design
Synthesizing Stochasticity
Design a system that produces a probability distribution on the
production of output types as a function of input quantities.
A with Prob. 0.3
B with Prob. 0.2
cell
C with Prob. 0.5
Synthesizing Stochasticity
Design
a system thatengineer
produces
a probability
distribution
Generalization:
a probability
distribution
onon the
production
output typesofas
a function
of input quantities.
logical of
combinations
different
outcomes.
Pr( A)  f1 ( X / Y )
X
A and B with Prob. 0.3
Pr(B)  f2 ( X / Y )
Y
cell
B and C with Prob. 0.7
Pr(C )  f3 ( X / Y )
Further: program probability distribution with (relative)
quantity of input compounds.
Synthesizing Stochasticity
Generalization: engineer a probability distribution with
a functional dependence on input quantities.
x
m
n
e
Stochastic
Module
y
N2
M
X  X0 + N
X, Y
Y  Y0  N
XX0X0++N2M
Pr(e) 
XX0 +
Y0 0
0++YY
Synthesizing Stochasticity
Strategy:
• Structure computation to obtain
initial choice probabilistically.
• Then amplify this choice and
inhibit other choices.
Method is:
• Precise.
• Robust.
• Programmable.
With “locking”, produces designs
that are independent of rates.
Timing
Synthesis schemes dependent on relative reaction rates.
slow
+
medium
+
fast
+
Composition
Rate separation increases with composition/modularity.
slow1
.
.
.
slow2
fast1
Module 1
.
.
.
fast1 < slow2 ?
fast2
Module 2
.
.
.
Timing
Biochemical rules are inherently parallel.
Sequentialize?
Step 1:
Mario
then
Step 2:
Luigi
slow
Module
Locking
slow
+
Sequentialize
computation
with only two rates:
“fast” and “slow”.
slow
slow
+
slow
+
fast
+
Module
Locking
Sequentialize
computation
with only two rates:
“fast” and “slow”.
A Comparison of the Accuracy
of the Locked and Unlocked
Versions of Three Modules:
Multiplication, Exponentiation,
and Logarithm.
Unlocked
1,  , 2 , 3  slowest, slow, fast, fastest
Locked
1,   slow, fast
“Accuracy”:
error at   10
error at   1000
Locking the Linear Stochastic Module
CAD Tool
Brian’s Automated Modular Biochemical Instantiator (BAMBI)
Given:
• Library of biochemical models.
• Designated input and output types.
• Specific quantities (or ranges) of input types.
• Target functional dependencies.
• Target probability distribution.
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
Computational Synthetic Biology
vis-a-vis
Technology-Independent Logic Synthesis
• Synthesize a design for a precise, robust, programmable
probability distribution on outcomes – for arbitrary types
and reactions.
Experimental Design
vis-a-vis
Technology Mapping in Circuit Design
• Implement design by selecting specific types and
reactions – say from “toolkit”.
Stochastic Logic
inputs
computation
Probability
Distributions
on Boolean
input streams
circuit
outputs
Probability
Distributions
on Boolean
output
streams
DAC 08, “The Synthesis of Robust Polynomial
Arithmetic with Stochastic Logic”
Stochastic Logic
Consider a probabilistic interpretation:
inputs
outputs
p1 = Prob(one)
0,1,1,0,1,0,1,1,0,1,…
circuit
1,0,0,0,1,0,0,0,0,0,…
p2 = Prob(one)
Stochastic Logic
Consider a probabilistic interpretation:
inputs
outputs
2
circuit
1
5
5
Stochastic Logic
Consider a probabilistic interpretation:
inputs
outputs
0
1
0
0
1
p1 = Prob(one)
0
1
0
0
0
p2 = Prob(one)
circuit
parallel bit streams
Stochastic Logic
Consider a probabilistic interpretation:
0
12
0
0 5
1
p1 = Prob(one)
0
11
0 5
0
0
p2 = Prob(one)
circuit
parallel bit streams
Probabilistic Bundles
0
1
0
0
1
X
x
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.
Communicating Ideas