Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination •...
Transcript of Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination •...
![Page 1: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/1.jpg)
Automated Design of Synthe3c Biology Feedback Circuits
Jacob Beal, Aaron Adler
IBE Conference March, 2012
Work partially sponsored by DARPA; the views and conclusions contained in this document are those of the authors and not DARPA or the U.S. Government. 1
![Page 2: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/2.jpg)
Vision: WYSIWYG Synthetic Biology
Bioengineering should be like document preparation:
2
![Page 3: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/3.jpg)
Why is this important?
• Breaking the complexity barrier:
• Multiplication of research impact • Reduction of barriers to entry
*Sampling of systems in publica?ons with experimental circuits
207
2,100 2,700
7,500 14,600
32,000
583,000 1,080,000
100
1,000
10,000
100,000
1,000,000
1975 1980 1985 1990 1995 2000 2005 2010
Length in base pa
irs
Year
DNA synthesis Circuit size ?
3
[Purnick & Weiss, ‘09]
![Page 4: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/4.jpg)
Why a tool-chain?
Organism Level Descrip3on
Cells
This gap is too big to cross with a single method!
4
![Page 5: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/5.jpg)
The TASBE architecture:
Organism Level Descrip3on
Abstract Gene3c Regulatory Network
DNA Parts Sequence
Assembly Instruc3ons
Cells
High level simulator
Coarse chemical simulator
Testing
High Level Descrip3on If detect explosives: emit signal If signal > threshold: glow red
Detailed chemical simulator
Modular architecture also open for flexible choice of organisms, protocols, methods, …
5
Ron Weiss
Douglas Densmore
Collaborators:
![Page 6: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/6.jpg)
A Tool-Chain Example
(yellow (not (cyan (Dox))))!
Dox cyan not yellow
rtTA CFP B EYFP
Dox
pHef1a rtTA pTre CFP pTre LacI pHef1a-‐LacO1Oid
EYFP mirff4 4xff4
6
![Page 7: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/7.jpg)
Today’s focus: BioCompiler
Organism Level Descrip3on
Abstract Gene3c Regulatory Network
DNA Parts Sequence
Assembly Instruc3ons
Cells
High level simulator
Coarse chemical simulator
Testing
High Level Descrip3on If detect explosives: emit signal If signal > threshold: glow red
Detailed chemical simulator
Compila3on & Op3miza3on
7
![Page 8: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/8.jpg)
Transcriptional Logic
8
![Page 9: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/9.jpg)
Motif-Based Compilation
• High-level primitives map to GRN design motifs – e.g. logical operators:
(primitive not (boolean) boolean :grn-motif ((P high R- arg0 value T)))
arg0 value
9
![Page 10: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/10.jpg)
High-level primitives map to GRN design motifs e.g. logical operators, actuators:
(primitive green (boolean) boolean :side-effect :type-constraints ((= value arg0)) :grn-motif ((P R+ arg0 GFP|arg0 value T)))
GFP value arg0
Motif-Based Compilation
10
![Page 11: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/11.jpg)
High-level primitives map to GRN design motifs e.g. logical operators, actuators, sensors:
(primitive IPTG () boolean :grn-motif ((P high LacI|boolean T) (RXN (IPTG|boolean) represses LacI) (P high R- LacI value T)))
value LacI
IPTG
Motif-Based Compilation
11
![Page 12: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/12.jpg)
Functional program gives dataflow computation:
(green (not (IPTG)))
IPTG not green
Motif-Based Compilation
12
![Page 13: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/13.jpg)
Operators translated to motifs:
IPTG not green
LacI
A IPTG
B
GFP outputs outputs outputs arg0 arg0
LacI A
IPTG
B GFP
Motif-Based Compilation
13
![Page 14: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/14.jpg)
LacI A
IPTG
B GFP
LacI A
IPTG
B GFP
Copy Propaga<on
LacI A
IPTG
GFP
Dead Code Elimina<on
LacI A
IPTG
GFP
Dead Code Elimina<on
Optimization
14
![Page 15: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/15.jpg)
GRN Optimization Library
• Copy Propagation • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE: Merge Duplicate Inputs • NOR Compression
15
![Page 16: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/16.jpg)
GRN Optimization Library
• Copy Propagation • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE: Input Merge • NOR Compression
16
A
B
A
B
![Page 17: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/17.jpg)
GRN Optimization Library
• Copy Propagation • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE: Input Merge • NOR Compression
17
A
![Page 18: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/18.jpg)
GRN Optimization Library
• Copy Propagation • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE: Input Merge • NOR Compression
18
A
B
C
C
![Page 19: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/19.jpg)
GRN Optimization Library
• Copy Propagation • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE: Input Merge • NOR Compression
19
A
B
B
![Page 20: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/20.jpg)
GRN Optimization Library
• Copy Propagation • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE: Input Merge • NOR Compression
GRN-specific 20
A
B
C
A
A
C
![Page 21: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/21.jpg)
GRN Optimization Library
• Copy Propagation • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE: Input Merge • NOR Compression
GRN-specific 21
B C
D
A
C D A
![Page 22: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/22.jpg)
GRN Optimization Library
• Copy Propagation • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE: Input Merge • NOR Compression
GRN-specific 22
C D
A
A
D
A
A
![Page 23: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/23.jpg)
(def sr-latch (s r) (letfed+ ((o boolean (not (or r o-bar))) (o-bar boolean (not (or s o)))) o))
(green (sr-latch (aTc) (IPTG)))
Feedback System: SR-Latch
23
IPTG not green
aTc not or
or
![Page 24: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/24.jpg)
(def sr-latch (s r) (letfed+ ((o boolean (not (or r o-bar))) (o-bar boolean (not (or s o)))) o))
(green (sr-latch (aTc) (IPTG)))
Feedback System: SR-Latch
LacI B
IPTG
I
G
I F
GFP
D E1 E2
A
aTc J
H C
J TetR
Unop<mized: 15 func<onal units, 13 transcrip<on factors 24
![Page 25: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/25.jpg)
(def sr-latch (s r) (letfed+ ((o boolean (not (or r o-bar))) (o-bar boolean (not (or s o)))) o))
(green (sr-latch (aTc) (IPTG)))
Optimization of Complex Designs
LacI B
IPTG
Unop<mized: 15 func<onal units, 13 transcrip<on factors
I
G
I F
GFP
D E1 E2
A
aTc J
H C
J TetR Copy Propaga<on 25
![Page 26: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/26.jpg)
E1
(def sr-latch (s r) (letfed+ ((o boolean (not (or r o-bar))) (o-bar boolean (not (or s o)))) o))
(green (sr-latch (aTc) (IPTG)))
Optimization of Complex Designs
LacI
B
IPTG
Unop<mized: 15 func<onal units, 13 transcrip<on factors
I
G
I F
GFP
D
A
aTc J
H C
J
TetR
Common Subexp. Elim. 26
![Page 27: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/27.jpg)
E1
(def sr-latch (s r) (letfed+ ((o boolean (not (or r o-bar))) (o-bar boolean (not (or s o)))) o))
(green (sr-latch (aTc) (IPTG)))
Optimization of Complex Designs
LacI
B
IPTG
Unop<mized: 15 func<onal units, 13 transcrip<on factors
I
G
I F
GFP
D
A
aTc H J C
J
TetR
NOR Compression H
27
![Page 28: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/28.jpg)
E1
(def sr-latch (s r) (letfed+ ((o boolean (not (or r o-bar))) (o-bar boolean (not (or s o)))) o))
(green (sr-latch (aTc) (IPTG)))
Optimization of Complex Designs
LacI
IPTG
Unop<mized: 15 func<onal units, 13 transcrip<on factors
I
G
I F
GFP
aTc H
TetR
Dead Code Elimina<on H
28
![Page 29: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/29.jpg)
E1
(def sr-latch (s r) (letfed+ ((o boolean (not (or r o-bar))) (o-bar boolean (not (or s o)))) o))
(green (sr-latch (aTc) (IPTG)))
Optimization of Complex Designs
LacI
IPTG
Unop<mized: 15 func<onal units, 13 transcrip<on factors
I
G
I F
GFP
aTc H
TetR
Copy Propaga<on H
29
![Page 30: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/30.jpg)
H E1
(def sr-latch (s r) (letfed+ ((o boolean (not (or r o-bar))) (o-bar boolean (not (or s o)))) o))
(green (sr-latch (aTc) (IPTG)))
Optimization of Complex Designs
LacI
IPTG
Unop<mized: 15 func<onal units, 13 transcrip<on factors
I G
I F
GFP
aTc
TetR
Common Subexp. Elim. H
30
![Page 31: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/31.jpg)
H
(def sr-latch (s r) (letfed+ ((o boolean (not (or r o-bar))) (o-bar boolean (not (or s o)))) o))
(green (sr-latch (aTc) (IPTG)))
Optimization of Complex Designs
LacI
IPTG
Unop<mized: 15 func<onal units, 13 transcrip<on factors
I
I F
GFP
aTc
TetR
Dead Code Elimina<on H
31
![Page 32: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/32.jpg)
H
(def sr-latch (s r) (letfed+ ((o boolean (not (or r o-bar))) (o-bar boolean (not (or s o)))) o))
(green (sr-latch (aTc) (IPTG)))
Optimization of Complex Designs
Unop<mized: 15 func<onal units, 13 transcrip<on factors
I F GFP
H
LacI
IPTG
TetR aTc
I
32
![Page 33: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/33.jpg)
H
(def sr-latch (s r) (letfed+ ((o boolean (not (or r o-bar))) (o-bar boolean (not (or s o)))) o))
(green (sr-latch (aTc) (IPTG)))
Optimization of Complex Designs
Unop<mized: 15 func<onal units, 13 transcrip<on factors
F GFP
H
LacI
IPTG
TetR aTc
F
NOR Compression
I
I
33
![Page 34: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/34.jpg)
H
(def sr-latch (s r) (letfed+ ((o boolean (not (or r o-bar))) (o-bar boolean (not (or s o)))) o))
(green (sr-latch (aTc) (IPTG)))
Optimization of Complex Designs
Unop<mized: 15 func<onal units, 13 transcrip<on factors
F GFP
H
LacI
IPTG
TetR aTc
F
Dead Code Elimina<on 34
![Page 35: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/35.jpg)
GFP
Optimization of Complex Designs
LacI F
IPTG
TetR
H
aTc
F
Final Op<mized: 5 func<onal units 4 transcrip<on factors
(def sr-latch (s r) (letfed+ ((o boolean (not (or r o-bar))) (o-bar boolean (not (or s o)))) o))
(green (sr-latch (aTc) (IPTG)))
Unop<mized: 15 func<onal units, 13 transcrip<on factors
H
35
![Page 36: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/36.jpg)
Compilation & Optimization Results:
• Automated GRN design for arbitrary boolean logic and feedback systems – Verification in ODE simulation
• Optimization competitive with human experts: – Test systems have 25% to 71% complexity reduction – Optimized systems are often homologous with hand
designed networks • Routine use within team
36
![Page 37: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/37.jpg)
Onward Through the Tool-Chain…
(yellow (not (cyan (Dox))))!
Dox cyan not yellow
rtTA CFP B EYFP
Dox
pHef1a rtTA pTre CFP pTre LacI pHef1a-‐LacO1Oid
EYFP mirff4 4xff4
37
![Page 38: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:](https://reader036.fdocuments.in/reader036/viewer/2022071004/5fc0cbdc3c807626a05b529f/html5/thumbnails/38.jpg)
Contributions
• Boolean & feedback logic circuits can be expressed in high-level language.
• GRN-specific optimizations allow dramatic optimization of circuit size.
• Automatically generated circuits are competitive with hand-designs created by experts.
Next steps: automatic verification, numerical computation, intercellular communication
38