VIEWS: 23 PAGES: 64 POSTED ON: 11/23/2011
Robust Self-Assembly of DNA Eduardo Abeliuk Dept. of Electrical Engineering Stanford University November 30, 2006 Agenda for today Robust Self-Assembly: definitions and motivation Basic assembly model and examples “Complexity of Self-Assembled Shapes” D. Soloveichik, E.Winfree. DNA Computers 10, LNCS v.3384, 2005 “Error Free Self-Assembly using Error Prone Tiles”, H. Chen, A. Goel. 10th Int. Meeting on DNA Based Computers, 2004. “Self-Healing Tile Sets” E. Winfree, Nanotechnolgy: Science and computation, p.55-78, 2006 Self-Assembly Theory Self-assembly: no precise general definition But roughly speaking: “ process by which an organized structure can spontaneously form from simpler parts” Programming Complexity Fault-tolerance Self-healing Self-reproduction and evolution Schulman R., Winfree E., “Self-replication and evolution of DNA crystals” 2005. Self-assembly Already present in nature Inside cells Robust self-assembly of organisms over 18 orders of magnitude in volume! Bottom-up fabrication of complex structures: Arbitrary shapes can be self-assembled (2D) Enabled by DNA nanotechnology Rothemund PWK, “Folding DNA to create nanoscale shapes and patterns”, Nature 2006 Rothemund PWK, “Folding DNA to create nanoscale shapes and patterns”, Nature 2006 Rothemund PWK, “Folding DNA to create nanoscale shapes and patterns”, Nature 2006 Another Motivation Compute “along the way” The self-assembly of a crystal can resemble a program that leaves the traces of its operations embedded in it. output: input: output: input: 01001101011 01001101011 The assembly of a 2D crystal can simulate a universal Turing machine! Robust self-assembly of DNA Do we need robustness? "In theory, there is no difference between theory and practice. But, in practice, there is." -Jan L.A. van de Snepscheut Computing with DNA, and not transistors?? DNA Current computer Information density (bits/nm3) ~1 ~10-11 Parallelism (operations/sec) ~1018 ~1012 Energy expediture (J/operation) ~10-19 ~10-9 The tile assembly model Infinite lattice: ZxZ Every position in N the grid has a relative position associated: W E N(i,j)=(i,j+1) S S(i,j)=(i,j-1) E(i,j)=(i+1,j) W(i,j)=(i-1,j) (i,j) Bond types and Tile Types Our fundamental unit is a square tile with labelled edges, or bond types. A B D B C A B A C D D D We consider a set of bond types . (e.g., ={A,B,C,D,null}) A reflection or rotation gives a different tile. So a tile type is a quadruple: and we have unlimited supply of them Tiles types with identical edges can pair with each other. B A A B B C D D We will represent tile types with different colors. All tile types for the set T. A B D B C A B A C D D D Tiles A tile is a pair , i.e., it corresponds to a tile with certain tile type located in a certain position in our grid A configuration is a set of tiles, such that there is exactly one tile in every location Configuration 1 Configuration 2 Interaction between tiles A strength function defines the interactions between two tiles. We say a tile t1 interacts with its neighbor t2 with strength g A B C D null A 1 0 0 0 0 B A A B 0 1 0 0 0 A B B C C C C D D C 0 0 2 0 0 D 0 0 0 1 0 null 0 0 0 0 0 Usually, only diagonal strength functions are considered, and the range of g is {0,1,2} The tile assembly model (aTAM) A tile system is a quadruple i.e., it consist of a set of tile types a seed tile a strength function a binding threshold or “temperature” Self-assembly is defined as a relation between configurations: A B Example of Tile Systems Sierpinski tile set 7 types of tiles: 1 seed, 2 boundary (input) tiles, 4 rule tiles Boundary Seed tiles “Rule” tiles Sierpinski tile set Tiles Sierpinski tile set Binary counter Tyle types: Binary counter Begin with seed Tiles Continue with boundary 8 tiles 7 Then “rule” tiles 6 Count upwards (binary) 5 =1 4 3 =0 2 1 Square self-assembly Example for 9x9 square 41 Tile types More on assemblies Tile additions are non-deterministic 1. Several locations for adding tiles 2. Several possible tiles could be added in one spot Defininitions: From binary counter input sides output propagation (output) sides terminal terminal sides. input Final Assembly Theorem Definition: an assembly is locally deterministic if: every tile addition has strength 2. if tile at (i,j) and all tiles touching its propagation sides are removed, then there is only one tile type that can be added at (i,j) Theorem: “If a tile set has one locally determinist assembly sequence, then the same final assembly is produced regardless of order of tile additions”. From theory to practice (biology) Tiles are “do-able” in practice DNA Nano-technology Winfree, E. et at. Design and self-assembly of two dimensional. DNA crystals. 1998. More on the technology More tiles from DNA Hao Yan et al. “4x4 DNA Tile and Lattices: Characterization, Self- Assembly and Metallization of a Novel DNA Nanostructure Motif” 2003. Road ahead… 1. First paper (complexity): Ties (Kolmogorov) computation of a shape with complexity of tile system that self-assembles it Note: the former has nothing to do with self-assembly Robust self-assembly 2. Second paper (fault-tolerance): how to avoid nucleation and growth errors 3. Third paper (self-healing): how to avoid gross damage First paper D. Soloveichik, E.Winfree, “Complexity of Self-Assembled Shapes” Coordinated shapes Let S be a finite set of locations in Z2. S is a coordinated shape if it’s connected Coordinated shape This is not Transforming coordinated shapes Scalings: Translations: Shapes Scale and translation equivalence relations on coordinated shapes define class of shapes coordinated shape 1 coordinated coordinated shape 3 shape 2 All belong to the same class of shapes = Computer Science Concepts Kolmogorov complexity: = size of the smallest program outputting the coordinated shape as a list of locations Similarly Tile Complexity The tile-complexity of a coordinated shape S is: n s.t. exists a tile system T of n tile types Ksa(S)= min that uniquely produces assembly A and S is the coordinated shape of A. n s.t. exists a tile system T of n tile types Ksa( )= min that uniquely produces assembly A and is the shape of A. Main Theorem There exist constants such that for any shape , To show the right inequality, the paper explicitly shows how to find an optimum tile system that assembles a given shape! (proof in paper) The minimun number of bits required to store n tile types is i.e., same complexity as Kolmogorov complexity of shape! Corollary (tile complexity) of shapes is uncomputable. i.e., given a shape, the minimun number of tiles required to assemble it cannot be computed Formally, the following language is undecidable: Second paper H. Chen, A. Goel, “Error Free Self-Assembly using Error Prone Tiles” Kinetic Tile Assembly Model (kTAM) Stochastic model. Add and remove tiles Kinetics: Two parameter: Snake proof reading A simple one dimensional example will be used to illustrate the algorithm. We will consider four tile types, with two bond types + null bond: Snake proof reading (2) The input will consist of a structure of n+2 tiles Our 1-D crystal will output the parity of the input. input=“1111” (n=4) 0 0 1 1 0 0 1 1 0 1 1 1 1 1 1 1 1 Definition Insufficient attachment (at ) is: A process where a tile attaches with strength one but before it falls, another tile attaches next to it (and now both are held by strength ). They can cause two type of errors: growth errors nucleation errors. Growth Errors A growth error is an invalid tile attachment to a “valid” position 0 0 1 1 1 1 0 0 1 1 0 1 1 1 1 1 1 Incorrect pairing Nucleation Errors When a tile attaches to an incorrect position (small binding strength) 0 0 1 1 0 0 1 1 1 1 1 1 1 1 Correct pairing, but weak bonding..that then stabilizes Winfree-Bekbolatov proofreading system Replace each tile with 2x2 blocks. The internal glues are all unique to the 2x2 block Corrects for growth but not nucleation errors. Snake proofreading Replace each tile with 2x2 blocks. The internal glues are all unique to the 2x2 block Corrects for growth and nucleation errors. Robust parity check Replace tiles with 2x2 blocks Note location of strong bonds and null bonds 0 T 0B X3 X3 1T 1T X7 X7 0T 0B X3 X3 1T 1T X7 X7 0T X2 X4 X6 X8 X2 X4 X6 X8 X2 X4 X6 X8 X2 X4 X6 X8 0 B 0B 1B 1B X5 0B 0B 1B 1B 0B 1L 1R 1L 1R 1L 1R 1L 1R 1L 1R 1L 1R 1L 1R 1L 1R Insufficient attachments 0 T 0B X3 X3 1T Insufficient Attachment X2 X4 X2 X4 X8 X2 0 B 0B 1B X5 0B 0B 1L 1R 1R 1L 1L 1R 1L 1R 1L 1R 1L 1R Continuous No Weak tile Insufficient Markov Chain error attaches attachment Model Insufficient attachments No Insufficient error attachment 1 insufficient attachment is very unlikely, but over the course of n attachments, the probability of getting at least one insufficient attachment might become significant. Snake-proofreading requires two insufficient attachments in close proximity to have an error than can propagate. Nucleation error improvement Cannot propagate with tau=2 unless 0 T 0B X3 X3 1T another insufficient attachment occurs X2 X4 X2 X4 X8 X2 0B 0B 1B X5 0B 0B 1L 1R 1R 1L 1L 1R 1L 1R 1L 1R 1L 1R 1 2 No Insufficient Insufficient error attachment attachments General Snake proofreading Previous example only considered one directional growth. General method extends to: L-bounded systems (growth S N and E W) Replaces a tile by k x k block Set of rules to construct internal bonds All internal bonds are unique to the tile block Most of them have strength 1, some have strength 0, some have strength 2. Example Notice how tiles are constructed following a snake pattern. T4,1 T4,2 T4,3 T4,4 T3,1 T3,2 T3,3 T3,4 T2,1 T2,2 T2,3 T2,4 T1,1 T1,2 T1,3 T1,4 Main analytical results Theorem 1 With a 2k x 2k snaked tile system (for k sufficiently large) assuming we can set to be , an N x N square of blocks can be assembled in time and w.h.p no block errors happen for time after that. Theorem 2 With a 2k x 2k snaked tile system ( ) assuming that we can set to be , an N x N square of blocks can be assembled in time and w.h.p no block errors happen for time after that. Informally, snaked proofreading results in tile systems which assemble quickly and remain stable for long time Simulation results (1) Three systems simulated using xgrow no proofreading, WB proofreading, snaked 4x4 tile blocks Simulation results (2) Simulations relaxed idealized modeling conditions They corroborate analytical results Third paper E. Winfree, “Self-Healing Tile Sets” A new type of error: Gross damage Gross damage: removes a region containing many tiles This error is rare in kTAM model, but is not hard to imagine in practice ripping induced by fluid flow interactions with other objects in solution) Is healing possible? Under general assumptions, Yes! We formulate the answer in the framework of aTAM: “focus on the information-propagation aspects of the problem rather than on the probabilistic aspects” Self-healing tiles Definition: A tile system is self-healing (in the aTAM) if, for any produced assembly, the following holds: “If n tiles are removed such that all remaining tiles are still connected to the seed tile, then subsequent growth is guaranteed to eventual restore every removed tile without error in time O(n)” Are self-assembled patterns self-healing? Is any of our previous examples self-healing? NO! Example: BANG! Main results 3x3 block transformation: repair tile sets that grow in a quarter-plane from L- shaped boundary 5x5 transformation: more general case, work for our three examples 7x7 transformation: even more general, works for “polyomino” tile sets. 3x3 Transformations L-bounded tile sets are self-healing under these transformation Quarter plane growth from L-shape boundary is a rich class of tile sets capable of creating a variety of patterns sufficient for universal computation 3x3 Transformations For every tile type, we introduce 9 new tile types Define tile-type bonds, and bond-type bonds The 3x3 block transformation shown above produces a self-healing tile set when applied to an L-bounded tile set. 3x3 Transformations Example: 5x5 Transformation Theorem Definition: A transformable tile set is a locally deterministic tile set such that 1. each tile type always appears with the same sides as input, propagation, and terminal sides 2. Termina sides have null bonds. 5x5 Transformation Theorem Theorem: The 5x5 block transformation shown below produces a self-healing tile set when applied to a transformable tile set. 7x7 Transformation Theorem Problem: Some of the new tiles can act as “seeds”. Definition: A polyomino set is a tile set that also includes block of tiles (polyominos) that can grow from tiles that are not original seed tiles. Theorem: An 7x7 block transformation can produce a self- healing tile set, even with a polyomino set. 7x7 Transformation Theorem Transformations: Open questions There are still other type of errors that can occur e.g., when seed is removed, or continual gross damage Can we combine in a single method or transformation, a scheme that is robust under a wide class of type of errors and tile types? Are there smaller self-healing tile sets? What about errors that damage a tile itself? What about 3D assemblies (theory and practice)? THE END Thanks! Questions?