DNA computing and self- -assembly assembly DNA computing and self - - PowerPoint PPT Presentation

dna computing and self assembly assembly dna computing
SMART_READER_LITE
LIVE PREVIEW

DNA computing and self- -assembly assembly DNA computing and self - - PowerPoint PPT Presentation

DNA computing and self- -assembly assembly DNA computing and self Jie Gao References: Erik Winfree and Ashish Goel Computing Computing Human technology Electronic circuits. Biological systems Biochemical circuits.


slide-1
SLIDE 1

DNA computing and self DNA computing and self-

  • assembly

assembly

Jie Gao

References: Erik Winfree and Ashish Goel

slide-2
SLIDE 2

Computing Computing

Human technology

Electronic circuits.

Biological systems

Biochemical circuits.

Motivation for DNA computing

what biochemical algorithms are capable of. How to program biochemical circuits.

State of the art

Theory: design algorithms Experiments: synthetic DNA molecules

slide-3
SLIDE 3

A little bit history on tiling A little bit history on tiling

  • Tile the infinite plane.
  • Periodic tiling.
  • Aperiodic tiling.
slide-4
SLIDE 4

Question Question

  • Given a set of tiles, can we decide

whether there is a way to tile the entire plane?

  • Answer: not solvable (Wang 1963).
  • Hint: it is equivalent to a Turing machine.

– If the Turing machine halts, then no way to tile. – If the Turing machine computes forever, then a global tiling is possible.

  • Then, can we use this for computing?
slide-5
SLIDE 5

A counter by tiling A counter by tiling

slide-6
SLIDE 6

Using tiling for computing Using tiling for computing

  • Two immediate questions:

– Implement Wang tiles. – Rules to have the tiles grow reliably.

  • DNA nanotechnology (Seeman 1982)

– Implement the tiles by synthetic DNA molecules.

slide-7
SLIDE 7

DNA Tiles DNA Tiles

Glues = sticky ends Tiles = molecules

[Winfree]

slide-8
SLIDE 8

Tile System: Tile System:

Temperature: A positive integer. A set of tile types: Each tile is an oriented square with glues on its

  • edges. Each glue has a non-negative strength.

Infinite supply of tiles. An initial assembly (seed).

A tile can attach to an assembly iff the combined strength of the “matchings glues” is greater or equal than the temperature τ.

[Rothemund, Winfree, ’2000]

slide-9
SLIDE 9

Example of a tile system Example of a tile system

Temperature: 2 Set of tile types: Seed:

slide-10
SLIDE 10

Example of a SA process Example of a SA process

Temperature: 2 Set of tile types: Seed:

slide-11
SLIDE 11

Example of a SA process Example of a SA process

Temperature: 2 Set of tile types: Seed:

slide-12
SLIDE 12

Example of a SA process Example of a SA process

Temperature: 2 Set of tile types: Seed:

slide-13
SLIDE 13

Tile Assembly: a counter Tile Assembly: a counter

  • Oriented tiles with glue on each side.
  • Each side: a label, and a strength.
  • To assemble, total strength τ =2.

1 2 No glue

slide-14
SLIDE 14

The counter tiles The counter tiles

  • Input: bottom and right.
  • Output: top and left.

input carry

  • utput

Output carry

slide-15
SLIDE 15

The counter tiles The counter tiles

  • Final tiling is unique
  • Parallel computing
slide-16
SLIDE 16

Another example: parity check Another example: parity check

  • Four parity check tiles.
slide-17
SLIDE 17

Why DNA assembly? Why DNA assembly?

  • Practical reasons: it is small & just some

molecule.

  • Potentially can be injected into human body to

cure diseases.

  • Fabrication: automatically generate certain

nano-scale patterns (say, a CPU – a long-term goal).

  • Solve NP-hard problems (due to inherent

parallelism).

slide-18
SLIDE 18

Analysis of DNA self Analysis of DNA self-

  • assembly

assembly

  • The program size:

– the number of tiles with different type. – Infinite supply of each tile type.

  • Time complexity:

– How long it takes to finish the self-assembly. – We will talk about this later.

  • How does the strength for binding matter here?
  • First question: grow something manageable.

– given a desired shape, how to design tiles to implement it?

slide-19
SLIDE 19

A few easy things A few easy things

  • Assemble an N-bit long line

– Program size =Θ(N), why? – Strength for binding, τ>0. – Not very efficient.

  • Counter tiles.

– Program size = Θ(1) – Strength for binding, τ =2.

  • Harder: Assemble an N by N square.
slide-20
SLIDE 20

Assemble an N by N square Assemble an N by N square

  • τ=1, Naïve program.

– Number of tiles = N2.

slide-21
SLIDE 21

Assemble an N by N square Assemble an N by N square

  • τ=1, Naïve program is the optimal.

– Number of tiles = N2.

slide-22
SLIDE 22

Assemble an N by N square Assemble an N by N square

  • τ=2, things are remarkably different.

– Think about the counter. – How to stop it from growing to infinity? – We know how to assemble a 1D line. – Program size = O(N). – Can you do better?

slide-23
SLIDE 23

Assemble an N by N square Assemble an N by N square

  • τ=2, program size=O(N). Slightly better.

A counter in unary. Replace by a counter in binary.

slide-24
SLIDE 24

Assemble an N by N square Assemble an N by N square

  • τ=2,
  • program

size=O(logN).

slide-25
SLIDE 25

Assemble an N by N square Assemble an N by N square

  • Can you do even better?
  • Program size =

O(log*N)

N by N

logN by logN loglogN by loglogN

This, however, depends

  • n what N is.
slide-26
SLIDE 26

Assemble an N by N square Assemble an N by N square

  • You can still do better! --- for some N.
  • Good news: There is a sequence of N,

s.t. the program size is O(f(N)), for any increasing function f(N) that goes to infinity.

  • Bad news: There is a sequence of N,

s.t. the program size is Ω(logN/loglogN).

slide-27
SLIDE 27

Summary of computability Summary of computability

  • 1D self-assembly: not much you can do.
  • Strength τ=2, 2D self-assembly is universal.
  • 3D self-assembly: likely nothing interesting

either. A DNA “rug”, 500 nm

wide, and is assembled using DNA tiles roughly 12nm by 4nm. (Erik Winfree, Caltech)

slide-28
SLIDE 28

Tile Systems and Running Time Tile Systems and Running Time Seed

A B C

τ = 2

slide-29
SLIDE 29

Tile Systems and Running Time Tile Systems and Running Time

Seed Seed

A B C

Seed

A

Seed

B

Seed

A B

A: 50%, B:30%, C: 20% 0.5 0.3 0.2 0.3 0.5

slide-30
SLIDE 30

Tile Systems and Running Time Tile Systems and Running Time

  • Define a continuous time Markov chain

– State space : set of all structures that a tile system can assemble into – Tiles of type have concentration

  • Σ = 1

– Unique terminal structure => unique sink in – Seed tile is the unique source state

  • Assembly time: the hitting time for the sink state

from the source state in the Markov Chain

slide-31
SLIDE 31

Old Example: Assembling Lines Old Example: Assembling Lines

  • Very simple Markov Chain. Average time

for the th tile to attach is 1/

– Assembly time = 1/

  • For fastest assembly, all tiles must have

the same concentration of 1/(-1)

– Expected assembly time is – Can assemble thicker rectangles much faster and with much fewer different tiles

slide-32
SLIDE 32

Assemble a square, running time Assemble a square, running time

  • O(logN) tiles,

each tile has density 1/logN.

  • Intuition: grow

some linear lines.

  • Fill out the

blanket in parallel.

slide-33
SLIDE 33

Robustness Robustness

  • In practice, self-assembly is a

thermodynamic process. When T=2, tiles with 0 or 1 matches also attach; tiles held by total strength 2 also fall off at a small rate.

  • Currently, there are 1-10% errors observed in

experimental self-assembly.

[Winfree, Bekbolatov, ’03]

  • Possible schemes for error correction

– Biochemistry tricks – Coding theory and error correction

slide-34
SLIDE 34
slide-35
SLIDE 35
slide-36
SLIDE 36
slide-37
SLIDE 37
slide-38
SLIDE 38
slide-39
SLIDE 39
slide-40
SLIDE 40
slide-41
SLIDE 41
slide-42
SLIDE 42
slide-43
SLIDE 43
slide-44
SLIDE 44
slide-45
SLIDE 45
slide-46
SLIDE 46
slide-47
SLIDE 47
slide-48
SLIDE 48
slide-49
SLIDE 49
slide-50
SLIDE 50
slide-51
SLIDE 51
slide-52
SLIDE 52
slide-53
SLIDE 53
slide-54
SLIDE 54

Strand Invasion (cont)

slide-55
SLIDE 55
slide-56
SLIDE 56

Example Example

T=2

slide-57
SLIDE 57

Example Example

T=2

slide-58
SLIDE 58

Example Example

T=2

slide-59
SLIDE 59

What can go wrong? What can go wrong?

T=2

slide-60
SLIDE 60

What can go wrong? What can go wrong?

T=2

slide-61
SLIDE 61

Why it may not matter: Why it may not matter:

T=2

slide-62
SLIDE 62

Why it may not matter: Why it may not matter:

T=2

slide-63
SLIDE 63

What can go What can go really really wrong? wrong?

T=2

slide-64
SLIDE 64

What can go What can go really really wrong? wrong?

T=2

slide-65
SLIDE 65

What can go What can go really really wrong wrong? ?

T=2

slide-66
SLIDE 66

Safe attachments and invadable systems Safe attachments and invadable systems

Definition: A tile system is an invadable system iff for all assemblies that can be grown from the initial assembly, all possible attachments are safe.

Safe Unsafe

slide-67
SLIDE 67

Error Correcting Tile Sets Error Correcting Tile Sets

  • Do not change the tile model
  • Tile systems are designed to have error

correction mechanisms.

  • Two most common errors

– Crystallization error – Nucleation error

slide-68
SLIDE 68

Example: Sierpinski Tile System Example: Sierpinski Tile System

1 1 1 1 1 1 1 1

slide-69
SLIDE 69

Example: Sierpinski Tile System Example: Sierpinski Tile System

1 1 1 1 1 1 1 1

slide-70
SLIDE 70

Example: Sierpinski Tile System Example: Sierpinski Tile System

1 1 1 1 1 1 1 1

slide-71
SLIDE 71

Example: Sierpinski Tile System Example: Sierpinski Tile System

1 1 1 1 1 1 1 1

slide-72
SLIDE 72

Crystallization Error Crystallization Error

1 1 1 1 1 1 1 1 1 1

slide-73
SLIDE 73

Crystallization Error Crystallization Error

1 1 1 1 1 1 1 1

mismatch

1 1

slide-74
SLIDE 74

Crystallization Error Crystallization Error

1 1 1 1 1 1 1 1 1

slide-75
SLIDE 75

Crystallization Error Crystallization Error

1 1 1 1 1 1 1 1

slide-76
SLIDE 76

Crystallization Error Crystallization Error

1 1 1 1 1 1 1 1

slide-77
SLIDE 77

Proofreading Tiles Proofreading Tiles

  • Each tile in the original

system corresponds to four tiles in the new system

  • The internal glues are

unique to this block G1 G4 G3 G2 G1b X4 X3 G2a X2 G3b G2b G1a G4a X1 G4b G3a [Winfree, Bekbolatov, ’03]

slide-78
SLIDE 78

How does this help? How does this help?

1 1 1 1 1 1 1 1

slide-79
SLIDE 79

How does this help? How does this help?

1 1 1 1 1 1 1 1

mismatch

slide-80
SLIDE 80

How does this help? How does this help?

1 1 1 1 1 1 1 1

slide-81
SLIDE 81

How does this help? How does this help?

1 1 1 1 1 1 1 1

No tile can attach at this location

slide-82
SLIDE 82

How does this help? How does this help?

1 1 1 1 1 1 1 1

slide-83
SLIDE 83

How does this help? How does this help?

1 1 1 1 1 1 1 1

slide-84
SLIDE 84

How does this help? How does this help?

1 1 1 1 1 1 1 1

slide-85
SLIDE 85

Nucleation Error Nucleation Error

slide-86
SLIDE 86

Nucleation Error Nucleation Error

  • First tile attaches with a weak binding strength
slide-87
SLIDE 87

Nucleation Error Nucleation Error

  • First tile attaches with a weak binding strength
  • Second tile attaches and secures the first tile
slide-88
SLIDE 88

Nucleation Error Nucleation Error

  • First tile attaches with a weak binding strength
  • Second tile attaches and secures the first tile
  • Other tiles can attach and forms a layer of (possibly incorrect) tiles.
slide-89
SLIDE 89

Snake Tiles Snake Tiles

  • Each tile in the original

system corresponds to four tiles in the new system

  • The internal glues are

unique to this block G1 G4 G3 G2 G1b X1 X2 G2a X3 G3b G2b G1a G4a G4b G3a

slide-90
SLIDE 90

How does this help? How does this help?

  • First tile attaches with a weak binding strength
slide-91
SLIDE 91

How does this help? How does this help?

  • First tile attaches with a weak binding strength
  • Second tile attaches and secures the first tile
slide-92
SLIDE 92

How does this help? How does this help?

  • First tile attaches with a weak binding strength
  • Second tile attaches and secures the first tile
  • No Other tiles can attach without another nucleation error
slide-93
SLIDE 93

Summary Summary

  • Distributed growth of tiles can be used for

computing.

  • New definition of how to compute, running

time, program size.

slide-94
SLIDE 94

Plans Plans

  • Next class: presentations.
  • Those who do not have a chance to

present: write a critique for one paper in the list.

  • Next week: final project presentation.
  • Show your results.
slide-95
SLIDE 95

Final report Final report

  • Due Dec 22nd.
  • 80% grade based on report.
  • What to put in the report?

– Your problem, motivation. – Related work. – Your results. – Future work. – Who did what? (for group projects).