32
Programming DNA sequences to engineer multi-component chemical systems Neil Dalchau Computational Science Laboratory Biological Computation Group Synthetic Biology and Control Workshop Worcester College, University of Oxford 10 - 12 th September 2014

Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Programming DNA sequences to engineer multi-component chemical systems

Neil Dalchau

Computational Science Laboratory

Biological Computation Group

Synthetic Biology and Control WorkshopWorcester College, University of Oxford

10 - 12th September 2014

Page 2: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

2050: Doctor in a cell (Udi Shapiro)

Programmable molecular computer

computational

science

laboratory

Page 3: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Programming biological systems

Molecules Cells Colonies

Computer Aided Design software

computational

science

laboratory

Page 4: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Computational DNA Drugs

• Perform logical computation before releasing drug

• Uses restriction enzymes

Simplified (omitting the “no” pathway)

An automaton sequentially reading the string PPAP2B, GSTP1, PIM1, HPS (known cancer indicators) and sequentially cutting the DNA hairpin until a ssDNA drug (Vitravene) is released.

Vitravene (GCGTTTGCTCTTCTTCTTGCG)

(Restriction Enzymes)

Page 5: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Building stuff with DNA…

computational

science

laboratory

Page 6: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Using DNA to implement algorithms

Page 7: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

DNA Strand Displacement

Microsoft Research Outreach

computational

science

laboratory

VIDEO

Page 8: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

DNA structure abstraction

8

computational

science

laboratory

Page 9: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

DNA domains

Short complementary domains bind reversibly

Long complementary domains bind irreversibly

9

computational

science

laboratory

Page 10: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Strand displacement logic circuit

Output = Input1 AND Input2

10

Input 1 Input 2

Output

Substrate

computational

science

laboratory

Page 11: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Strand displacement logic circuit

Output = Input1 AND Input2

11

Input 2

Output

Substrate

Input 1

computational

science

laboratory

Page 12: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Strand displacement logic circuit

Output = Input1 AND Input2

12

Input 2

Output

Substrate

Input 1

computational

science

laboratory

Page 13: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Strand displacement logic circuit

Output = Input1 AND Input2

13

Input 2

Output

Substrate

Input 1

computational

science

laboratory

Page 14: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Strand displacement logic circuit

Output = Input1 AND Input2

14

Output

Substrate

Input 1

Input 2

computational

science

laboratory

Page 15: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Strand displacement logic circuit

Output = Input1 AND Input2

15

Substrate

Input 1 Input 2

Output

computational

science

laboratory

Page 16: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Strand displacement logic circuit

Output = Input1 AND Input2

16

Substrate

Input 1 Input 2

Output

computational

science

laboratory

Page 17: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Domain abstraction

17

tb --> (5') TACCAA (3')tx --> (5') TATTCC (3')to --> (5') GTCA (3')b --> (5') CCCTTTTCTAAACTAAACAA (3')x --> (5') CCCAAAACAAAACAAAACAA (3')

computational

science

laboratory

DNA strand displacement (DSD) language

Page 18: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Programming DNA circuits

Step 1: Program circuit design Step 2: Compile circuit behaviour Step 3: Simulate circuit

computational

science

laboratory

Page 19: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Approximate Majority algorithm

X + Y 2BX + B 2XY + B 2Y

Y (Minority)

X (Majority)

X (Majority)

computational

science

laboratory

Page 20: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Autocatalytic component

X + B 2X + PX

BX

N.B. Two-Domain DNA Strand Displacement was proposed by Luca Cardelli (DCM 2010)

X XPX

High-level specification

DNA-level implementation

computational

science

laboratory

Join gate Fork gate

Page 21: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Autocatalytic component

X + B 2X + PXHigh-level specification

DNA-level implementation

computational

science

laboratory

Page 22: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Component characterisation

X + B 2X + PX

computational

science

laboratory

Data - - - Model fitting+ + Model fitting

Page 23: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Component characterisation

X + B 2X + PX

Data - - - Model fitting+ + Model fitting

computational

science

laboratory

X + Y 2B + PB

Y + B 2Y + PY

Page 24: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Predicting dynamics of the full circuit

X + Y 2B X + B 2X Y + B 2Y

Experimental Data - - - Model prediction

computational

science

laboratory

Page 25: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Predicting dynamics of the full circuit

X + Y 2B X + B 2X Y + B 2Y

Experimental Data - - - Model prediction

computational

science

laboratory

Page 26: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Speeding up with higher concentrations

X + Y 2B X + B 2X Y + B 2Y

Experimental Data - - - Model prediction

computational

science

laboratory

Page 27: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Consensus over the initial majority

computational

science

laboratory

Page 28: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Summary

• DNA is an excellent programmable material

• CRNs offer a rich set of behaviours that can be recapitulated using DNA-based strategies

• Detailed molecular models can be programmed using Visual DSD

– Bayesian parameter inference enables characterisation of the detailed models

– Predictions can be very good

computational

science

laboratory

Page 29: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Consensus in space

Dalchau, Seelig, Phillips (DNA 2014)

computational

science

laboratory

Page 30: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Conclusions

• Manipulating DNA sequences enables the creation of complex circuits

– Implement algorithms using DNA strand displacement

– Fine-tune and sometimes completely change sensitivity to input signals

• Detailed mathematical modelling, in combination with parameter inference, enables quantification of specific biochemical processes

– Where are the bottlenecks? Where is there interference?

– How do we optimally modify the system to improve performance?

Page 31: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

Acknowledgements

Yuan-Jyue ChenGeorg Seelig

David Soloveichik

Andrew PhillipsBoyan YordanovLuca CardelliStephen EmmottMatt LakinFilippo PoloColin GravillRasmus Petersen

University of Washington

UCSF

Microsoft Research Cambridge

Paul GrantJames BrownJim HaseloffJim Ajioka

University of Cambridge

computational

science

laboratory

Page 32: Programming DNA sequences to engineer multi-component ...sysos.eng.ox.ac.uk/wiki/images/2/2a/Dalchau.pdf · Programming DNA sequences to engineer multi-component chemical systems

http://research.microsoft.com/science/tools