Self-Assembly Ho-Lin Chen Nov
2 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 Self-Assembly
3 Applications of Self-Assembly Building blocks of nano-machines. DNA computing. Small electrical devices such as FLASH memory. [Black et. Al. ’03] Nanostructures which “steer” light in the same way computer chips steer electrons. [Percec et. Al. ’03]
4 Self-Assembly of DNA [Winfree]
Abstract System Model
DNA Tiles Glues = sticky ends Tiles = molecules [Fu and Seeman, ’ 93] G1G1 G2G2 G3G3 G4G4 =
7 abstract Tile Assembly Model: Temperature: A positive integer. (Usually 1 or 2) A set of tile types: Each tile is an oriented rectangle with glues on its corners. Each glue has a non-negative strength (0, 1 or 2). An initial assembly (seed). A tile can attach to an assembly iff the combined strength of the “matched glues” is greater or equal than the temperature. [Rothemund, Winfree, ’2000] xy xz
8 Example: Sierpinski System T= [Winfree, ’ 96]
9 Example: Sierpinski System T=
10 Example: Sierpinski System T=
11 Example: Sierpinski System T=
12 Example: Sierpinski System T=
13 Example: Sierpinski System T=
DAO-E Sierpinski triangle experiments Paul Rothemund, Nick Papadakis, Erik Winfree, PLoS Biology 2: e424 (2004) 340nm
15 Theoretical Results Efficiently assembling basic shapes with precisely controlled size and pattern. Constructing N X N squares with O(log n/log log n) tiles. [Adleman, Cheng, Goel, Huang, ’01] Perform universal computation by simulating BCA. [Winfree ’99] Assemble arbitrary shape by O( Kolmogorov complexity) tiles with scaling. [Soloveichik, Winfree ’04]
16 Block Cellular Automata X Y f(X, Y) g(X, Y)
17 Simulating BCA XY g(X,Y) T=2 f(X,Y) A series of tiles with format: Growth direction seed
18 Assemble Arbitrary Shapes computation Replace each tile by a block. Size of block = O(computation time)
19 Tile System Design Library of primitives to use in designing nano-scale structures [Adleman, Cheng, Goel, Huang, ’01] Automate the design process [Adleman, Cheng, Goel, Huang, Kempe, Moisset de espanes, Rothemund ’01]
Kinetic System Model
21 kinetic Tile Assembly Model: A tile can attach at any location. The rate of attachment r f = constant. The rate of detachment r r,b = c e -bG [Winfree, 1998]
22 We set the temperature and concentration to r r,T+1 << r r,T < r f << r r,T-1 If a tile attaches with strength < T-1, it is likely to fall off very fast. If a tile is held by strength at least T+1, it is unlikely to fall off Kinetic model => Abstract model
Error Correction
24 Robustness Designs Use biological mechanisms in the process. Add extra structure/modification on the process of DNA self-assembly. Add combinatorial structures to tile systems. Use the original erroneous process, but add more structure to the tile system to do error correction.
25 Using Biological Mechanisms Use strand invasion [Chen, Cheng, Goel, Huang, Moisset de espanes, ’04] Add protecting tiles [Fujibayashi and Murata, ’04]
Strand Invasion
Strand Invasion (cont) Strand Invasion
49 Example T=2
50 Example T=2
51 Example T=2
52 What can go wrong? T=2
53 What can go wrong? T=2
54 Why it may not matter: T=2
55 Why it may not matter: T=2
56 What can go really wrong? T=2
57 What can go really wrong? T=2
58 What can go really wrong? T=2
59 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
60 Using Combinatorial Systems Proofreading tiles [Winfree and Bekbolatov, ’02] Snaked tiles [Chen and Goel, ’04] Self healing tiles [Erik Winfree, ’05]
61 Nucleation Error (T=2) Starting from an initial assembly
62 Nucleation Error (T=2) The first tile attaches with strength 1. (usually falls off fast)
63 Nucleation Error (T=2) The second tile attaches and now both tiles are held by strength 2.
64 Nucleation Error (T=2) Error propagates.
65 Modelling Errors Temperature: A positive integer. (Usually 1 or 2) A set of tile types: Each tile is an oriented rectangle with glues on its corners. Each glue has a non-negative strength (0, 1 or 2). An initial assembly (seed). Rules: A tile can attach to an assembly iff the combined strength of the “matched glues” is greater or equal than the temperature. Tiles with combined strength equal to temperature can fall off. Errors: Once a while, there will be two tiles attach at the same time and both are held by strength at least two after the attachment. We call this an “insufficient attachment”. Our goal: minimize the impact of insufficient attachments
66 Snaked Tile System Replace a tile by a block of 4 tiles Internal glues are unique [Chen, Goel, 2004] G1G1 G4G4 G3G3 G2G2 G 1b X4X4 X3X3 G 2a X2X2 G 3b G 2b G 1a G 4a G 4b G 3a Blunt end (inert)
67 Nucleation Error (T=2) Starting from an initial assembly
68 Nucleation Error (T=2) Two tiles attach and both tiles are held by strength 2.
69 Nucleation Error (T=2) No other tiles can attach. Inert edge
70 Generalization G1G1 G4G4 G3G3 G2G2
71 Theoretical Analysis The snake tile design can be extended to 2k by 2k blocks. Prevents tile propagation even after k-1 insufficient attachments happen.
72 Why it works? bad : insufficient attachments : erroneous tiles falling off
73 Why it works? bad : happens with rate O(e -G ) * r f : erroneous tiles falling off
74 Theoretical Analysis The snake tile design can be extended to 2k by 2k blocks. Prevents tile propagation even after k-1 insufficient attachments happen. When < k insufficient attachments happened locally, all the erroneous tiles are expected to fall off in time poly(k).
75 Why it works? bad : happens with rate O(e -G ) * r f : happens with rate 1/poly(k)
76 Why it works? bad : happens with rate O(e -kG ) if backward rate >> forward rate bad
77 Theoretical Analysis If we want to assemble a structure with size N, we can use Snaked Tile System with block size k=O(log N). The assembly process is expected to finish within time Õ(N) and be error free with high probability.
Experimental Verification Joint work with Ashish Goel Rebecca Schulman Erik Winfree
79 Snaked Tile System Replace a tile by a block of 4 tiles Internal glues are unique [Chen, Goel, 2004] G1G1 G4G4 G3G3 G2G2 G 1b X4X4 X3X3 G 2a X2X2 G 3b G 2b G 1a G 4a G 4b G 3a Blunt end
c4c 1c1c 2c2c 1 3 1c1c 3c3c 2c2c 4c4c 2 4
81 Tile sets used in experiments 4c4c 4c4c 1 3 1c1c 3c3c 2c2c 2 4 Snaked block 1 3 1c1c 3c3c 2c2c 2 4 Proofreading block
82 Width-4 Zig-Zag Ribbon [Schulman, Winfree, DNA 10, 2004] 6 tile types
83 AFM of Zig-Zag Ribbons
ZZ + Snake Tiles 10 tile types Side A Side B (no glue) 1 4c4c 1c1c 2c2c 1 3 1c1c 3c3c 2c2c 4c4c 2 4
10 tile types Side A Side B (no glue) 1 3 1c1c 3c3c 2c2c 4c4c c1c 3c3c 2c2c 4c4c c1c 3c3c 2c2c 4c4c 2 4 Slow nucleation and growth! ZZ + Snake Tiles
10 tile types Side A Side B (no glue) 2 4 2c2c 4c4c 1c1c 3c3c c3c 3 2c2c 1c1c 4c4c 1 Fast nucleation and growth! 2 4 2c2c 4c4c 1c1c 3c3c 1 3 ZZf + Snake Tiles
87 Zig-Zag ribbons used in experiments namedescription Normal Zig-Zag (ZZ) Side A: Glues 2, 4 Side B: blunt Flipped (ZZf) Side A: Glues 1, 3 Side B: blunt Double_sided (ZZ_DS) Side A: Glues 2, 4 Side B: Glues 1, 3 Flipped + double_sided (ZZ_DSf) Side A: Glues 1, 3 Side B: Glues 2, 4 slow fast slow fast snake tiles
Experiment Results
89 ZZf nM Snaked block
90 Zig-Zag nM Snaked block
91 Zig-Zag nM Proofreading
92 ZZf nM Proofreading
93 ZZ_DS + 10 nM Proofreading
94 ZZ_DS + 10 nM Snaked block
95 Statistics Ratio of chunks on each side Zig-Zag Side A: glues 2, 4 Side B: glues 1, 3 Zig-Zag Side A: glues 1, 3 Side B: glues 2, 4 Snaked block Proofreading block
96 Statistics Ratio of tiles on each side Zig-Zag Side A: glues 2, 4 Side B: glues 1, 3 Zig-Zag Side A: glues 1, 3 Side B: glues 2, 4 Snaked block Proofreading block
97 Self-healing Tile System Goal: When a big portion of the lattice is removed, it should be able to grow back correctly. Method: For each tile in the original system, we create a unique block in the new system. Idea: Use the block to prevent tile from growing backwards. [Winfree, ’ 05]
98 Assumption Use abstract tile assembly model. Requires a fix set of incoming and outgoing edges for each tile in the original system.
99 Example: Sierpinski System T=
100 Example: Sierpinski System T=
101 Example: Sierpinski System T=
102 Example: Sierpinski System T= destroyed
103 Example: Sierpinski System T=
104 Example: Sierpinski System T=
105 Example: Sierpinski System T= ? ?
106 Example (T=2) Replace a tile by a block of 4 tiles Internal glues are unique G1G1 G4G4 G3G3 G2G2 X1X1 X4X4 G2G2 X2X2 G1G1 G4G4 G3G3 X3X3
107 Poly-amino safe The system is save even when several tiles can form a bigger block before attach to the assembly.
108 Example (T=2) Replace a tile by a block of 4 tiles Internal glues are unique G1G1 G4G4 G3G3 G2G2 X1X1 X4X4 G2G2 X2X2 G1G1 G4G4 G3G3 X3X3
109 Poly-amino safe The system is save even when several tiles can form a bigger block before attach to the assembly. X1X1 G2G2 G1G1 X3X3
110 Poly-amino safe The system is save even when several tiles can form a bigger block before attach to the assembly. X1X1 X4X4 G2G2 G1G1 G3G3 X3X3
111 Poly-amino safe The system is save even when several tiles can form a bigger block before attach to the assembly. X1X1 X4X4 G2G2 X2X2 G1G1 G4G4 G3G3 X3X3
112 Poly-amino safe The system is save even when several tiles can form a bigger block before attach to the assembly. X1X1 X4X4 G2G2 X2X2 G1G1 G4G4 G3G3 X3X3
113 Poly-amino Safe The system is save even when several tiles can form a bigger block before attach to the assembly. X1X1 X4X4 G2G2 X2X2 G1G1 G4G4 G3G3 X3X3 Attach to assembly
114 Not Poly-amino Safe Replace a tile by a block of 4 tiles Internal glues are unique G1G1 G4G4 G3G3 G2G2 X1X1 X4X4 G2G2 X2X2 G1G1 G4G4 G3G3 X3X3
115 Self-Healing System Use blocks of size 7. Poly-amino safe. Arbitrary growth directions.
116 Future Work Optimum tile system design Theories apply to general self-assembly systems Some other error correction designs More experimental verification
Thanks!