SLIDE 1 DNA computing and self DNA computing and self-
assembly
Jie Gao
References: Erik Winfree and Ashish Goel
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 A little bit history on tiling A little bit history on tiling
- Tile the infinite plane.
- Periodic tiling.
- Aperiodic tiling.
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
A counter by tiling A counter by tiling
SLIDE 6 Using tiling for computing Using tiling for computing
– Implement Wang tiles. – Rules to have the tiles grow reliably.
- DNA nanotechnology (Seeman 1982)
– Implement the tiles by synthetic DNA molecules.
SLIDE 7 DNA Tiles DNA Tiles
Glues = sticky ends Tiles = molecules
[Winfree]
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 Example of a tile system Example of a tile system
Temperature: 2 Set of tile types: Seed:
SLIDE 10 Example of a SA process Example of a SA process
Temperature: 2 Set of tile types: Seed:
SLIDE 11 Example of a SA process Example of a SA process
Temperature: 2 Set of tile types: Seed:
SLIDE 12 Example of a SA process Example of a SA process
Temperature: 2 Set of tile types: Seed:
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 The counter tiles The counter tiles
- Input: bottom and right.
- Output: top and left.
input carry
Output carry
SLIDE 15 The counter tiles The counter tiles
- Final tiling is unique
- Parallel computing
SLIDE 16 Another example: parity check Another example: parity check
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 Analysis of DNA self Analysis of DNA self-
assembly
– the number of tiles with different type. – Infinite supply of each tile type.
– 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 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.
– Program size = Θ(1) – Strength for binding, τ =2.
- Harder: Assemble an N by N square.
SLIDE 20 Assemble an N by N square Assemble an N by N square
– Number of tiles = N2.
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 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 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 Assemble an N by N square Assemble an N by N square
size=O(logN).
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
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 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
Tile Systems and Running Time Tile Systems and Running Time Seed
A B C
τ = 2
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 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
– 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 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 Assemble a square, running time Assemble a square, running time
each tile has density 1/logN.
some linear lines.
blanket in parallel.
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 35
SLIDE 36
SLIDE 37
SLIDE 38
SLIDE 39
SLIDE 40
SLIDE 41
SLIDE 42
SLIDE 43
SLIDE 44
SLIDE 45
SLIDE 46
SLIDE 47
SLIDE 48
SLIDE 49
SLIDE 50
SLIDE 51
SLIDE 52
SLIDE 53
SLIDE 54
Strand Invasion (cont)
SLIDE 55
SLIDE 56
Example Example
T=2
SLIDE 57
Example Example
T=2
SLIDE 58
Example Example
T=2
SLIDE 59
What can go wrong? What can go wrong?
T=2
SLIDE 60
What can go wrong? What can go wrong?
T=2
SLIDE 61
Why it may not matter: Why it may not matter:
T=2
SLIDE 62
Why it may not matter: Why it may not matter:
T=2
SLIDE 63
What can go What can go really really wrong? wrong?
T=2
SLIDE 64
What can go What can go really really wrong? wrong?
T=2
SLIDE 65
What can go What can go really really wrong wrong? ?
T=2
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 Error Correcting Tile Sets Error Correcting Tile Sets
- Do not change the tile model
- Tile systems are designed to have error
correction mechanisms.
– Crystallization error – Nucleation error
SLIDE 68 Example: Sierpinski Tile System Example: Sierpinski Tile System
1 1 1 1 1 1 1 1
SLIDE 69 Example: Sierpinski Tile System Example: Sierpinski Tile System
1 1 1 1 1 1 1 1
SLIDE 70 Example: Sierpinski Tile System Example: Sierpinski Tile System
1 1 1 1 1 1 1 1
SLIDE 71 Example: Sierpinski Tile System Example: Sierpinski Tile System
1 1 1 1 1 1 1 1
SLIDE 72 Crystallization Error Crystallization Error
1 1 1 1 1 1 1 1 1 1
SLIDE 73 Crystallization Error Crystallization Error
1 1 1 1 1 1 1 1
mismatch
1 1
SLIDE 74 Crystallization Error Crystallization Error
1 1 1 1 1 1 1 1 1
SLIDE 75 Crystallization Error Crystallization Error
1 1 1 1 1 1 1 1
SLIDE 76 Crystallization Error Crystallization Error
1 1 1 1 1 1 1 1
SLIDE 77 Proofreading Tiles Proofreading Tiles
- Each tile in the original
system corresponds to four tiles in the new system
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 How does this help? How does this help?
1 1 1 1 1 1 1 1
SLIDE 79 How does this help? How does this help?
1 1 1 1 1 1 1 1
mismatch
SLIDE 80 How does this help? How does this help?
1 1 1 1 1 1 1 1
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 How does this help? How does this help?
1 1 1 1 1 1 1 1
SLIDE 83 How does this help? How does this help?
1 1 1 1 1 1 1 1
SLIDE 84 How does this help? How does this help?
1 1 1 1 1 1 1 1
SLIDE 85
Nucleation Error Nucleation Error
SLIDE 86 Nucleation Error Nucleation Error
- First tile attaches with a weak binding strength
SLIDE 87 Nucleation Error Nucleation Error
- First tile attaches with a weak binding strength
- Second tile attaches and secures the first tile
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 Snake Tiles Snake Tiles
- Each tile in the original
system corresponds to four tiles in the new system
unique to this block G1 G4 G3 G2 G1b X1 X2 G2a X3 G3b G2b G1a G4a G4b G3a
SLIDE 90 How does this help? How does this help?
- First tile attaches with a weak binding strength
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 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 Summary Summary
- Distributed growth of tiles can be used for
computing.
- New definition of how to compute, running
time, program size.
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 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).