DNA computing and self- -assembly assembly DNA computing and self Jie Gao References: Erik Winfree and Ashish Goel
Computing Computing � Human technology � Electronic circuits. � Biological systems � Biochemical circuits. � Motivation for DNA computing � what biochemical algorithms are capable of. � How to program biochemical circuits. � State of the art � Theory: design algorithms � Experiments: synthetic DNA molecules
A little bit history on tiling A little bit history on tiling • Tile the infinite plane. • Periodic tiling. • Aperiodic tiling.
Question Question • Given a set of tiles, can we decide whether there is a way to tile the entire plane? • Answer: not solvable (Wang 1963). • Hint: it is equivalent to a Turing machine. – If the Turing machine halts, then no way to tile. – If the Turing machine computes forever, then a global tiling is possible. • Then, can we use this for computing?
A counter by tiling A counter by tiling
Using tiling for computing Using tiling for computing • Two immediate questions: – Implement Wang tiles. – Rules to have the tiles grow reliably. • DNA nanotechnology (Seeman 1982) – Implement the tiles by synthetic DNA molecules.
DNA Tiles DNA Tiles [Winfree] Glues = sticky ends Tiles = molecules
Tile System: 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. Infinite supply of tiles. 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 τ .
Example of a tile system Example of a tile system Temperature: 2 Set of tile types : Seed:
Example of a SA process Example of a SA process Temperature: 2 Set of tile types : Seed:
Example of a SA process Example of a SA process Temperature: 2 Set of tile types : Seed:
Example of a SA process Example of a SA process Temperature: 2 Set of tile types : Seed:
Tile Assembly: a counter Tile Assembly: a counter • Oriented tiles with glue on each side. • Each side: a label, and a strength. • To assemble, total strength � τ = 2 . 1 2 No glue
The counter tiles The counter tiles • Input: bottom and right. • Output: top and left. output Output carry carry input
The counter tiles The counter tiles • Final tiling is unique • Parallel computing
Another example: parity check Another example: parity check • Four parity check tiles.
Why DNA assembly? Why DNA assembly? • Practical reasons: it is small & just some molecule. • Potentially can be injected into human body to cure diseases. • Fabrication: automatically generate certain nano-scale patterns (say, a CPU – a long-term goal). • Solve NP-hard problems (due to inherent parallelism).
Analysis of DNA self- -assembly assembly Analysis of DNA self • The program size: – the number of tiles with different type. – Infinite supply of each tile type. • Time complexity: – How long it takes to finish the self-assembly. – We will talk about this later. • How does the strength for binding matter here? • First question: grow something manageable. – given a desired shape, how to design tiles to implement it?
A few easy things A few easy things • Assemble an N-bit long line – Program size = Θ (N), why? – Strength for binding, τ >0. – Not very efficient. • Counter tiles. – Program size = Θ (1) – Strength for binding, τ =2. • Harder: Assemble an N by N square.
Assemble an N by N square Assemble an N by N square • τ =1, Naïve program. – Number of tiles = N 2 .
Assemble an N by N square Assemble an N by N square • τ =1, Naïve program is the optimal. – Number of tiles = N 2 .
Assemble an N by N square Assemble an N by N square • τ =2, things are remarkably different. – Think about the counter. – How to stop it from growing to infinity? – We know how to assemble a 1D line. – Program size = O(N). – Can you do better?
Assemble an N by N square Assemble an N by N square • τ =2, program size=O(N). Slightly better. A counter in unary. Replace by a counter in binary.
Assemble an N by N square Assemble an N by N square • τ =2, • program size=O(logN).
Assemble an N by N square Assemble an N by N square • Can you do even better? • Program size = N by N O(log*N) This, however, depends on what N is. logN by logN loglogN by loglogN
Assemble an N by N square Assemble an N by N square • You can still do better! --- for some N. • Good news: There is a sequence of N � � , s.t. the program size is O(f(N)), for any increasing function f(N) that goes to infinity. • Bad news: There is a sequence of N � � , s.t. the program size is Ω (logN/loglogN).
Summary of computability Summary of computability • 1D self-assembly: not much you can do. • Strength τ =2, 2D self-assembly is universal. • 3D self-assembly: likely nothing interesting either. A DNA “rug”, 500 nm wide, and is assembled using DNA tiles roughly 12nm by 4nm. (Erik Winfree, Caltech)
Tile Systems and Running Time Tile Systems and Running Time τ = 2 B C A Seed
Tile Systems and Running Time Tile Systems and Running Time A: 50%, B:30%, C: 20% B Seed 0.5 0.3 B 0.2 B C Seed A Seed A Seed 0.5 0.3 A Seed
Tile Systems and Running Time Tile Systems and Running Time • Define a continuous time Markov chain � – State space � : set of all structures that a tile system can assemble into – Tiles of type � � have concentration � � • Σ � � � = 1 – Unique terminal structure => unique sink in � – Seed tile is the unique source state • Assembly time: the hitting time for the sink state from the source state in the Markov Chain
Old Example: Assembling Lines Old Example: Assembling Lines • Very simple Markov Chain. Average time for the � th tile to attach is 1/ � � – Assembly time = � � 1/ � � • For fastest assembly, all tiles must have the same concentration of 1/( � -1) – Expected assembly time is � � � – Can assemble thicker rectangles much faster and with much fewer different tiles
Assemble a square, running time Assemble a square, running time • O(logN) tiles, each tile has density � 1/logN. • Intuition: grow some linear lines. • Fill out the blanket in parallel.
Robustness 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
���������������
���������������
���������������
���������������
���������������
���������������
���������������
���������������
���������������
���������������
���������������
���������������
���������������
���������������
���������������
���������������
���������������
���������������
���������������
���������������
��������������� Strand Invasion (cont)
���������������
Example Example T=2
Example Example T=2
Example Example T=2
What can go wrong? What can go wrong? T=2
What can go wrong? What can go wrong? T=2
Why it may not matter: Why it may not matter: T=2
Why it may not matter: Why it may not matter: T=2
What can go really really wrong? wrong? What can go T=2
What can go really really wrong? wrong? What can go T=2
What can go really really wrong wrong? ? What can go T=2
Safe attachments and invadable systems 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.
Error Correcting Tile Sets 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
Recommend
More recommend