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)