Error Correction Assembly: Goel PPT

advertisement
Algorithms for Robust Self-Assembly
1
1
1
1
1
1
1
1
1
0
0
0
1
0
0
1
1
0
Ho-Lin Chen
holin@stanford.edu
Ashish Goel
Qi Cheng
Counter made by self-assembly [Adleman, Cheng, Goel, Huang ’01]
(Chen, Goel, Cheng)
Self-Assembly

Self-Assembly is the process by which
simple objects autonomously assemble into
complexes.




Geometry, dynamics, combinatorics are all
important
Inorganic: Crystals, supramolecules
Organic: Proteins, DNA, cells, organisms
Goals: Understand self-assembly, design
self-assembling systems

A key problem in nano-technology, molecular
robotics, molecular computation
(Chen, Goel, Cheng)
Applications of Self-Assembly



Self-assembly can be used to create small
electrical devices such as FLASH memory.
[Black et. Al. ’03]
Self-assembly can create nanostructures which
“steer” light in the same way computer chips
steer electrons. [Percec et. Al. ’03]
DNA strands can self-assemble
into tiles and those tiles can further
self-assemble into larger structures.
This has many potential
applications. [Winfree ’96]
(Chen, Goel, Cheng)
DNA “rug” by Winfre
DNA Tiles
[Winfree]
Glues = sticky ends
Tiles = molecules
(Chen, Goel, Cheng)
Tile System:
[Rothemund, Winfree, ’2000]
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.
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.
(Chen, Goel, Cheng)
Example of a tile system
Temperature: 2
Set of tile types:
Seed:
(Cheng, Goel, Cheng)
Example of a SA process
Temperature: 2
Set of tile types:
Seed:
(Cheng, Goel, Cheng)
Example of a SA process
Temperature: 2
Set of tile types:
Seed:
(Cheng, Goel, Cheng)
Example of a SA process
Temperature: 2
Set of tile types:
Seed:
(Cheng, Goel, Cheng)
Theoretical and Algorithmic Issues

Efficiently assembling basic shapes with
precisely controlled size and pattern

Constructing N X N squares with Ω(log n/log log n) tiles
[Adleman, Cheng, Goel, Huang, ’01]

Perform universal computation by simulating BCA
[Winfree ’99]


Library of primitives to use in designing nanoscale structures [Adleman, Cheng, Goel, Huang, ’01]
Automate the design process
[Adleman, Cheng, Goel, Huang, Kempe, Moisset de espanes,
Rothemund ’01]

Robustness
(Cheng, Goel, Cheng)
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
(Cheng, Goel, Cheng)
Error-Reducing Designs

Biochemistry tricks

Strand Invasion mechanism
[Chen, Cheng, Goel, Huang, Moisset de
espanes, ’04]

Coding theory and error correction

Proofreading tiles
[Winfree, Bekbolatov,’03]

Snake tiles
[Chen, Goel 05]
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Strand
Invasion
Strand
Invasion
(cont)
(Cheng, Goel, Cheng)
Strand Invasion
(Cheng, Goel, Cheng)
Example
T=2
(Cheng, Goel, Cheng)
Example
T=2
(Cheng, Goel, Cheng)
Example
T=2
(Cheng, Goel, Cheng)
What can go wrong?
T=2
(Cheng, Goel, Cheng)
What can go wrong?
T=2
(Cheng, Goel, Cheng)
Why it may not matter:
T=2
(Cheng, Goel, Cheng)
Why it may not matter:
T=2
(Cheng, Goel, Cheng)
What can go really wrong?
T=2
(Cheng, Goel, Cheng)
What can go really wrong?
T=2
(Cheng, Goel, Cheng)
What can go really wrong?
T=2
(Cheng, Goel, Cheng)
Safe attachments and invadable systems
Safe
Unsafe
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.
(Cheng, Goel, Cheng)
Can we create efficient counters?
(Cheng, Goel, Cheng)
Can we create efficient counters?
Yes! Using “Chinese remaindering”
T=2
(Cheng, Goel, Cheng)
Can we create efficient counters?
Yes! Using “Chinese remaindering”
T=2
(Cheng, Goel, Cheng)
Can we create efficient counters?
Yes! Using “Chinese remaindering”
T=2
(Cheng, Goel, Cheng)
Can we create efficient counters?
Yes! Using “Chinese remaindering”
T=2
(Cheng, Goel, Cheng)
Can we create efficient counters?
Yes! Using “Chinese remaindering”
T=2
(Cheng, Goel, Cheng)
Can we create efficient counters?
Yes! Using “Chinese remaindering”
T=2
Generalizing:
Say p1 , p2 ,... , pk
are distinct primes.
We can use
pi tile
types to construct a
pi
rectangle.
(Cheng, Goel, Cheng)
k
Invadable System

The restriction posed by invadable systems does
not reduce the computational power of the
model

For the problems we have considered, the loss
in efficiency is limited to poly-logarithmic factors

This approach has not been tested in the lab

A complete solution is likely to include both
coding/error correction and molecular biology
tricks
(Cheng, Goel, Cheng)
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
(Cheng, Goel, Cheng)
Example: Sierpinski Tile System
0
1
0
0
0
1
1
0
(Cheng, Goel, Cheng)
0
0
1
1
1
0
0
0
1
1
Example: Sierpinski Tile System
0
1
0
0
1
0
0
0
0
1
1
1
1
0
(Cheng, Goel, Cheng)
0
0
0
0
1
1
Example: Sierpinski Tile System
0
1
0
0
1
0
0
0
0
1
1
0
(Cheng, Goel, Cheng)
0
0
1
1
0
0
0
1
1
Example: Sierpinski Tile System
0
1
0
0
0
1
1
0
(Cheng, Goel, Cheng)
0
1
1
1
0
0
1
1
Crystallization Error
0
1
0
0
1
0
0
1
0
1
1
1
1
0
(Cheng, Goel, Cheng)
1
0
0
0
1
1
Crystallization Error
0
1
0
0
mismatch
1
0
0
1
0
1
1
1
1
0
(Cheng, Goel, Cheng)
1
0
0
0
1
1
Crystallization Error
0
1
0
0
0
1
1
0
(Cheng, Goel, Cheng)
1
0
1
1
1
0
0
0
1
1
Crystallization Error
0
1
0
0
0
1
1
0
(Cheng, Goel, Cheng)
0
1
1
1
0
0
1
1
Crystallization Error
0
1
0
0
0
1
1
0
(Cheng, Goel, Cheng)
0
1
1
1
0
0
1
1
Proofreading Tiles
[Winfree, Bekbolatov, ’03]
G2
G3
G1
G2a
G4
G2b
X3
G1b
X4
• Each tile in the original
G1a
system corresponds to
four tiles in the new system
• The internal glues are
unique to this block
(Cheng, Goel, Cheng)
G3b
X2
X1
G4a
G3a
G4b
How does this help?
0
1
0
0
0
1
1
0
1
1
0
(Cheng, Goel, Cheng)
1
0
0
1
1
How does this help?
0
1
0
0
1
1
0
1
1
0
(Cheng, Goel, Cheng)
1
0
0
mismatch
0
1
1
How does this help?
0
1
0
0
0
1
1
0
1
1
0
(Cheng, Goel, Cheng)
1
0
0
1
1
How does this help?
0
No tile can attach
at this location
1
0
0
0
1
1
0
1
1
0
(Cheng, Goel, Cheng)
1
0
0
1
1
How does this help?
0
1
0
0
0
1
1
0
1
1
0
(Cheng, Goel, Cheng)
1
0
0
1
1
How does this help?
0
1
0
0
0
1
1
0
1
1
0
(Cheng, Goel, Cheng)
1
0
0
1
1
How does this help?
0
1
0
0
0
1
1
0
1
1
0
(Cheng, Goel, Cheng)
1
0
0
1
1
Nucleation Error
(Cheng, Goel, Cheng)
Nucleation Error
•First tile attaches with a weak binding strength
(Cheng, Goel, Cheng)
Nucleation Error
•First tile attaches with a weak binding strength
•Second tile attaches and secures the first tile
(Cheng, Goel, Cheng)
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) til
(Cheng, Goel, Cheng)
Snake Tiles
G2
G3
G1
G2a
G4
X2
G1b
• Each tile in the original
system corresponds to four G
1a
tiles in the new system
• The internal glues are
unique to this block
(Cheng, Goel, Cheng)
G2b
X1
G3b
X3
G3a
G4a
G4b
How does this help?
•First tile attaches with a weak binding strength
(Cheng, Goel, Cheng)
How does this help?
•First tile attaches with a weak binding strength
•Second tile attaches and secures the first tile
(Cheng, Goel, Cheng)
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
(Cheng, Goel, Cheng)
Triangulation System
•Takes a row of tiles and
complete into a triangle
1
1
1
0
1
0
Seed row
0
0
0
0
(Cheng, Goel, Cheng)
Triangulation System
1
1
1
0
1
0
0
0
0
0
(Cheng, Goel, Cheng)
Triangulation System
1
1
1
0
1
0
0
0
0
0
(Cheng, Goel, Cheng)
Triangulation System
1
1
1
0
1
0
0
0
0
0
(Cheng, Goel, Cheng)
Triangulation System
1
1
1
0
1
0
0
0
0
0
(Cheng, Goel, Cheng)
Triangulation System
1
1
1
0
1
0
0
0
0
0
(Cheng, Goel, Cheng)
Four by Four Snake Tiles
G2a
G2
G2b
G2c
G2d
G1d
G3d
G1c
G3c
G1b
G3b
G1a
G3a
G3
G1
G4
G4a
(Cheng, Goel, Cheng)
G4b
G4c
G4d
Four by Four Snake Tiles
(Cheng, Goel, Cheng)
Four by Four Snake Tiles
(Cheng, Goel, Cheng)
Four by Four Snake Tiles
(Cheng, Goel, Cheng)
Four by Four Snake Tiles
(Cheng, Goel, Cheng)
Four by Four Snake Tiles
(Cheng, Goel, Cheng)
Four by Four Snake Tiles
(Cheng, Goel, Cheng)
Four by Four Snake Tiles
(Cheng, Goel, Cheng)
Four by Four Snake Tiles
(Cheng, Goel, Cheng)
Four by Four Snake Tiles
(Cheng, Goel, Cheng)
Four by Four Snake Tiles
(Cheng, Goel, Cheng)
Four by Four Snake Tiles
(Cheng, Goel, Cheng)
Four by Four Snake Tiles
(Cheng, Goel, Cheng)
Theoretical Analysis

The snake tile design can be extended to
2k by 2k blocks.


Prevents tile propagation even after k+1
nucleation error happen.
With 2k by 2k snake tile system, we can
assemble an N by N square of blocks with
time Õ(N1+4/k+1) and (with high probability)
remain stable for time Õ(N1+4/k+1).


Assuming tiles held by strength 3 does not fall off
The error probability at each location changes from p
to pk
(Cheng, Goel, Cheng)
Conclusion and Future Work

Robustness is one of the most important
issues in DNA tile self-assembly
(Cheng, Goel, Cheng)
Conclusion and Future Work


Robustness is one of the most important
issues in DNA tile self-assembly
Future work on robustness


Some other error correction designs
Experimental verification
(Cheng, Goel, Cheng)
Conclusion and Future Work


Robustness is one of the most important
issues in DNA tile self-assembly
Future work on robustness



Some other error correction designs
Experimental verification
Open problems in self-assembly


Optimum design of tile system
Formal analysis of reversible tile systems
(Cheng, Goel, Cheng)
Download