1.53k likes | 1.79k Vues
DNA Self-Assembly. Robert Schweller Northwestern University. Speaking of Science talk Buena Vista University February 28, 2005. Outline. Importance of DNA Self-Assembly Synthesis of Nanostructures DNA Computing Tile Self-Assembly DNA Word Design. Smart Bricks. TILE. Wang Tiles. TILE.
E N D
DNA Self-Assembly Robert Schweller Northwestern University Speaking of Science talk Buena Vista University February 28, 2005
Outline • Importance of DNA Self-Assembly • Synthesis of Nanostructures • DNA Computing • Tile Self-Assembly • DNA Word Design
TILE Wang Tiles
TILE G C A T C G C G T A G C
TILE G C A T C G C G T A G C
Molecular-scale pattern for a RAM memory with demultiplexed addressing (Winfree, 2003)
DNA Computers + Output! Computer Program Input
DNA Computers + Output! Computer Program Input Program
DNA Computers + Output! Computer Program Input + Input Program
DNA Computers + Output! Computer Program Input + Output! Input Program
Outline • Importance of DNA Self-Assembly • Tile Self-Assembly (Generalized Models) • Tile Complexity • Shape Verification • Error Resistance • DNA Word Design
Tile Model of Self-Assembly (Rothemund, Winfree STOC 2000) Tile System: t : temperature, positive integer G: glue function T: tileset s: seed tile
How a tile system self assembles G(y,y) = 2 G(g,g) = 2 G(r, r) = 2 G(b,b) = 2 G(p,p) = 1 G(w,w) = 1 t = 2 T =
How a tile system self assembles G(y,y) = 2 G(g,g) = 2 G(r, r) = 2 G(b,b) = 2 G(p,p) = 1 G(w,w) = 1 t = 2 T =
How a tile system self assembles G(y,y) = 2 G(g,g) = 2 G(r, r) = 2 G(b,b) = 2 G(p,p) = 1 G(w,w) = 1 t = 2 T =
How a tile system self assembles G(y,y) = 2 G(g,g) = 2 G(r, r) = 2 G(b,b) = 2 G(p,p) = 1 G(w,w) = 1 t = 2 T =
How a tile system self assembles G(y,y) = 2 G(g,g) = 2 G(r, r) = 2 G(b,b) = 2 G(p,p) = 1 G(w,w) = 1 t = 2 T =
How a tile system self assembles G(y,y) = 2 G(g,g) = 2 G(r, r) = 2 G(b,b) = 2 G(p,p) = 1 G(w,w) = 1 t = 2 T =
How a tile system self assembles G(y,y) = 2 G(g,g) = 2 G(r, r) = 2 G(b,b) = 2 G(p,p) = 1 G(w,w) = 1 t = 2 T =
How a tile system self assembles G(y,y) = 2 G(g,g) = 2 G(r, r) = 2 G(b,b) = 2 G(p,p) = 1 G(w,w) = 1 t = 2 T =
How a tile system self assembles G(y,y) = 2 G(g,g) = 2 G(r, r) = 2 G(b,b) = 2 G(p,p) = 1 G(w,w) = 1 t = 2 T =
New Models • Multiple Temperature Model • temperature may go up and down • Flexible Glue Model • Remove the restriction that G(x, y) = 0 for x!=y • Multiple Tile Model • tiles may cluster together before being added • Unique Shape Model • unique shape vs. unique supertile
New Models • Multiple Temperature Model • temperature may go up and down • Flexible Glue Model • Remove the restriction that G(x, y) = 0 for x!=y • Multiple Tile Model • tiles may cluster together before being added • Unique Shape Model • unique shape vs. unique supertile
New Models • Multiple Temperature Model • temperature may go up and down • Flexible Glue Model • Remove the restriction that G(x, y) = 0 for x!=y • Multiple Tile Model • tiles may cluster together before being added • Unique Shape Model • unique shape vs. unique supertile
New Models • Multiple Temperature Model • temperature may go up and down • Flexible Glue Model • Remove the restriction that G(x, y) = 0 for x!=y • Multiple Tile Model • tiles may cluster together before being added • Unique Shape Model • unique shape vs. unique supertile
Focus • Multiple Temperature Model • Adjust temperature during assembly • Flexible Glue Model • Remove the restriction that G(x, y) = 0 for x!=y Goal: Reduce Tile Complexity
Our Tile Complexity Results Multiple temperature model: (our paper) k x N rectangles: beats standard model: (our paper) Flexible Glue: N x N squares: (our paper) (Adleman, Cheng, Goel, Huang STOC 2001) beats standard model:
Building k x N Rectangles k-digit, base N(1/k) counter: k N
Building k x N Rectangles k-digit, base N(1/k) counter: k N Tile Complexity:
Build a 4 x 256 rectangle: t = 2 S3 0 S2 0 S1 0 S g g g p C0 C1 C2 C3 S
Build a 4 x 256 rectangle: t = 2 S3 0 g S2 0 0 1 2 3 0 0 g S1 0 S g g g p C0 C1 C2 C3 0 S3 0 S2 0 0 S1 g g p S C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 g S1 0 S g g g p C0 C1 C2 C3 S3 0 0 S2 0 0 S1 0 0 p S C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 g S1 0 S g g g p C0 C1 C2 C3 S3 0 0 S2 0 0 g g S1 0 0 0 1 S C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 g S1 0 S g g g p C0 C1 C2 C3 S3 0 0 0 0 S2 0 0 0 0 S1 0 0 0 1 p S C1 C2 C3 C0 C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 S g g g p 2 3 C0 C1 C2 C3 S3 0 0 0 0 0 0 S2 0 0 0 0 0 0 S1 0 0 0 1 1 1 p S C1 C2 C3 C0 C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 p r S P R g g g p 3 0 2 3 p r C0 C1 C2 C3 S3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S1 0 0 0 1 1 1 1 2 2 2 2 3 3 3 p S C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 p r S P R g g g p 3 0 2 3 p r C0 C1 C2 C3 S3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S1 0 0 0 1 1 1 1 2 2 2 2 3 3 3 P S C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 p r S P R g g g p 3 0 2 3 p r C0 C1 C2 C3 S3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 S1 0 0 0 1 1 1 1 2 2 2 2 3 3 3 P S C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 p r S P R g g g p 3 0 2 3 p r C0 C1 C2 C3 S3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 S1 0 0 0 1 1 1 1 2 2 2 2 3 3 3 P R S C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 p r S P R g g g p 3 0 2 3 p r C0 C1 C2 C3 S3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 S1 0 0 0 1 1 1 1 2 2 2 2 3 3 3 P R … S C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 p r S P R g g g p 3 0 2 3 p r C0 C1 C2 C3 S3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 S2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 … S1 0 0 0 1 1 1 1 2 2 2 2 3 3 3 P R 0 0 S C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2
Build a 4 x 256 rectangle: t = 2 g g 0 1 0 1 S3 0 p r g S2 0 0 1 2 3 0 0 1 2 g S1 0 p r S P R g g g p 3 0 2 3 p r C0 C1 C2 C3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 P 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 P 3 3 P R 0 0 0 1 1 1 1 2 2 2 2 3 3 3 P C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3