automated)design)of)synthe3c) biology)feedbackcircuits) · • dead code elimination •...

38
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

Upload: others

Post on 18-Aug-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:

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:

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:

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:

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:

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:

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:

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:

Transcriptional Logic

8  

Page 9: Automated)Design)of)Synthe3c) Biology)FeedbackCircuits) · • Dead Code Elimination • Double-Negative Elimination • Constant Eliminator • CSE: Output Consolidation • CSE:

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:

  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:

  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:

  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:

  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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

(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:

(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:

(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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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:

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