Post on 21-Dec-2015
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