Presentation is loading. Please wait.

Presentation is loading. Please wait.

DNA Self-Assembly The complexity of self-assembled shapes.

Similar presentations


Presentation on theme: "DNA Self-Assembly The complexity of self-assembled shapes."— Presentation transcript:

1 DNA Self-Assembly The complexity of self-assembled shapes

2 Self-Assembly “The process by which an organized structure can spontaneously form from simple parts” Tile Assembly Model  2-D self-assembly of square units called tiles. Promising applications  Nanofabrication

3 Self-Assembly & Computation Self-assembled “shape” = Output of computational process. We are interested in shape complexity (defined later on):  Kolmogorov Complexity  Tile Complexity

4 Tile Assembly Model

5 Grid of unit square locations i  Z j  Z (i, j)

6 Directions: d  D = {N,E,S,W} i  Z j  Z N S EW N (i, j) = (i, j+1) W (i, j) = (i-1, j) S (i, j) = (i, j-1) E (i, j) = (i+1, j) N = S -1, S = N -1 W = E -1, E = W -1

7 Bond types: σ  Σ A bond type describes a ‘side’ of a tile (in terms of interaction with adjacent). Special bond type for no interaction: σ 1 :σ 2 :σ 3 : null:

8 Tile types: t = (σ N, σ Ε, σ S, σ W )  Σ 4 Defined by its four bonds Special tile: t 1 = (σ 1, null, σ 1, null) = t 2 = (null, null, σ 2, σ 3 ) = empty = (null, null, null, null) t  Tt  T

9 Tile (instance) t = (t, (i, j))  T  Z 2 A tile t is defined by its type t and its position (i, j) in the grid. j Example: t = (t 2, (2, 2)) u = (t 2, (3, 1)) v = (t 1, (1, 1)) t uv i

10 Helper functions Let t = (t, (i, j)) = ((σ N, σ E, σ S, σ W ), (i, j)) type(t) = t pos(t) = (i, j) bond d (t) = bond d (t) = σ d adj(t,u) = true if  d  D: pos(t) = d(pos(u))

11 Helper functions (example) type(t) = t 2, pos(t) = (2, 2), bond S (t) = σ 2 S(W(pos(t)) = pos(v) = (1,1) j t uv t = (t 2, (2, 2)) u = (t 2, (3, 1)) v = (t 1, (1, 1)) σ 1 :σ 2 :σ 3 : i

12 Configuration A configuration is a set of tiles, with exactly one tile in every location (i, j) For any configuration A, notation A(i, j) indicates the tile at location (i, j) Practically, specify a set of non-empty tiles; all other tiles are implicitly empty.

13 Strength functions (definition) Bond strength function: g(σ, σ´) : Σ 2 → Z  Defined for all pairs of bonds (including null) Tile strength function: Γ(t, u)  Defined for adjacent tiles t and u  Equals to g(σ, σ´) where σ and σ´ are the bond types of the adjacent sides of t and u respectively

14 Strength functions (example) σ1σ1 σ2σ2 σ3σ3 null σ1σ1 σ2σ2 σ3σ3 1 0 0 0 0 7 0 0 0 0 2 0 0 0 0 0 Example of g tu v Γ(t, u) = g(σ 1, σ 1 ) = 1 Γ(u, v) = g(σ 2, σ 2 ) = 7 Formally:

15 Strength function properties g is symmetric g(σ, null) = 0 g is non-negative g is diagonal  Diagonal means that only matching bond types can interact!

16 Tile system T = (T, t s, g, τ) A tile system T is defined by:  A set Τ of tile types  A seed tile t s, with type(t s )  T  A strength function g  A threshold τ t1t1 t2t2...

17 Self-Assembly (definition) Self assembly is defined by a relation between configurations Suppose A and B are identical configs, except for t, which exists in B but not in A:  A(pos(t)) = empty, B(pos(t)) = t Self assembly:  A→B if Σ d  D Γ(t, A(d(pos(t)))) ≥ τ

18 Self-Assembly (example) σ1σ1 σ2σ2 σ3σ3 null σ1σ1 σ2σ2 σ3σ3 1 0 0 0 0 7 0 0 0 0 2 0 0 0 0 0 Contents of g x y xt y Configuration AConfiguration B A→B only if Γ(t,x) + Γ(t,y) = 1 + 7 ≥ τ

19 Transitive Closure The reflexive transitive closure of → is denoted as . (That is, we say that A  B if we can keep adding tiles to A and reach B: A → A 2 → A 3 →... → B). We are interested in self-assemblies from a single seed tile t s !

20 Assemblies for a tile system T Prod(T) = {A, such that {t s }  A)  All the configurations reachable from t s in T. Term(T) = {A  Prod(T),  B≠A: A  B}  All the terminal assemblies reachable from t s T uniquely produces A if Term(T) = {A}.

21 Threshold τ A common choice is τ = 2, where the strength function ranges over {0, 1, 2}. Systems with τ = 1 and a strength function ranging over {0, 1} are rather limited.

22 Example of T = (T, t s, g, τ) Set T of tile types: t s = (t s, (2, 4)) g = I = diag{1} τ = 1 NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ 10 -- tsts σ1σ1 t1t1 σ2σ2 σ1σ1 t2t2 σ2σ2 σ3σ3

23 What does it assemble to? NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ 10 -- tsts σ1σ1

24 What does it assemble to? NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ 10 -- tsts σ1σ1 t1t1 σ2σ2 σ1σ1

25 What does it assemble to? NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ 10 -- tsts σ1σ1 t1t1 σ2σ2 σ1σ1 t2t2 σ2σ2 σ3σ3

26 What does it assemble to? NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ 10 --

27 Shape scaling Coordinated* shape of assembly A:  S A = {(i, j) such that A(i, j) ≠ empty}  (This is a single connected component) For a set of locations S, and c  Z +, define a c-scaling of S:  S c = {(i, j) such that }  (This is a magnification of S by a factor of c) *shape within a fixed coordinate system

28 Shape equivalence Coordinated shapes S 1 and S 2 are scale- equivalent if  c,d  Z + such that S 1 c = S 2 d Coordinated shapes S 1 and S 2 are translation-equivalent if they can be made equivalent by translation. We write S 1  S 2 if  c,d  Z + such that S 1 c is translation-equivalent to S 2 d

29 Shape equivalence (example) S1S1 S2S2 S3S3 S 1 is translation-equivalent to S 2 S 2 is scale-equivalent to S 3 S 1  S 3

30 Equivalence class Scale-equivalence, translation-equivalence and  are equivalence relations. The equivalence class of coordinated shapes under the relation “  ” is called the shape Ŝ. We say that Ŝ is the shape of assembly A if S A  Ŝ.

31 Tile complexity The tile complexity of a coordinated shape S is the minimum number n of tile types needed by a tile system T to uniquely produce that shape.  K sa (S) = min{n:  T with |T|=n, {t s }  S*} Definition directly extended for a shape Ŝ *Formally, {t s }  A, and S is the coordinated shape of A

32 Tile complexity (examples) Let’s examine Stanford’s initials tsts tsts

33 Tile complexity (“S”) Minimum Solution: K sa =11 tsts NESW tsts ---σ1σ1 t1t1 -σ1σ1 -σ2σ2 t2t2 -σ2σ2 σ3σ3 - t3t3 σ3σ3 -σ4σ4 - t4t4 σ4σ4 σ5σ5 -- t5t5 -σ6σ6 -σ5σ5 t6t6 --σ7σ7 σ6σ6 t7t7 σ7σ7 -σ8σ8 - t8t8 σ8σ8 --σ9σ9 t9t9 -σ9σ9 -σ 10 t 10 -σ 10 -- As complex as it can get (need as many tile types as tiles)!

34 Tile complexity (“U”) Possible solution: n=11 t9t9 t5t5 t2t2 t4t4 t3t3 t8t8 t 10 t7t7 t1t1 t6t6 tsts NESW tsts -σ6σ6 -σ1σ1 t1t1 σ2σ2 σ1σ1 -- t2t2 σ3σ3 -σ2σ2 - t3t3 σ4σ4 -σ3σ3 - t4t4 σ5σ5 -σ4σ4 - t5t5 --σ5σ5 - t6t6 σ7σ7 --σ6σ6 t7t7 σ8σ8 -σ7σ7 - t8t8 σ9σ9 -σ8σ8 - t9t9 σ 10 -σ9σ9 - t 10 --σ 10 - Can we do better?

35 Tile complexity (“U”) Optimal solution: K sa =7 t4t4 t5t5 t2t2 t4t4 t3t3 t3t3 t5t5 t2t2 t1t1 t6t6 tsts NESW tsts -σ6σ6 -σ1σ1 t1t1 σ2σ2 σ1σ1 -- t2t2 σ3σ3 -σ2σ2 - t3t3 σ4σ4 -σ3σ3 - t4t4 σ5σ5 -σ4σ4 - t5t5 --σ5σ5 - t6t6 σ72σ72 --σ6σ6 t7t7 σ8σ8 -σ7σ7 - t8t8 σ9σ9 -σ8σ8 - t9t9 σ 10 -σ9σ9 - t 10 --σ 10 - Notice that the leg formed by t 2 to t 5 is the same as t 7 to t 10. Modify t 6 by placing bond type σ 2 north (instead of σ 7 ). The assembly will reuse t 2 to t 5 !

36 Binary Counter K sa =? 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000

37 Binary Counter tsts L U 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000

38 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000

39 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 Assembly grows in this direction Matching “inputs” “Outputs” Type of tile can be determined by two input conditions, and can forward two outputs

40 Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 I am the same as my SOUTH, unless it’s time to FLIP! But how to determine if it’s time to FLIP?

41 Time to flip? 0 0 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 Black = Same as SOUTH Red = Different than south, cause it’s time to flip! FLIP up to the first 1 from the right, therefore nice property to propagate EAST-to-WEST

42 Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 FLIP input FLIP output NUM input NUM output

43 Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 Flip OFFFlip ON NUM = 0 NUM = 1

44 Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 Flip OFFFlip ON NUM = 0 NUM = 1 0

45 Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 Flip OFFFlip ON NUM = 0 NUM = 1 01

46 Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 Flip OFFFlip ON NUM = 0 NUM = 1 0 1 1

47 Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000 Flip OFFFlip ON NUM = 0 NUM = 1 0 01 1

48 Binary Counter K sa =7 tsts L U 1 00 1 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000

49 Binary Counter 0 0 0 1 1 10 1 1 0 0 1 11 0 1 1 1 1 0 0 0 0 0 0 0 0 0 1000

50 Variant of Sierpinski Triangle K sa =7 1 11 11 11 0 11 01001 111001 01010 11 00

51 Compute the tile complexity? Given a coordinated shape S, can I compute its complexity K sa (S)?  (Combinatorial optimization problem)  Yes, but it’s hard (NP-complete)!

52 Turing Machine A Turing Machine is a simple computation model which can be used to compute any function. Most common form:  1-dimensional infinite tape with 0s and 1s  Head located at some position on the tape  Internal state, program  Can read/write tape, move head

53 Kolmogorov Complexity The Kolmogorov complexity of a binary string x with respect to a universal Turing machine U is the smallest program p that outputs x:  K U (x) = min{|p|: U(p) = x} The Kolmogorov complexity of a shape S is the smallest program that can output it as a list of locations encoded in some binary form :  K(S) = min{|s|: U(s) = } (directly extended for Ŝ)

54 Complexity theorem  a 0, b 0, a 1, b 1, such that  Ŝ: a 0 K(Ŝ)+b 0 ≤ K sa (Ŝ)logK sa (Ŝ) ≤ a 1 K(Ŝ)+b 1 Therefore K = Θ(nlogn)

55 Proof for first part Create a Turing machine that simulates self-assembly.  Write a fixed-size program p 0 to do the assembly of a tile system T that reproduces Ŝ.  Final program p = p 0 + is binary encoding of tile system T. What is the size of ?  In other words, how many bits are needed to describe T?

56 Size of = T contains n = K sa (Ŝ) tile types.  Each tile type is specified by four bonds  At most 4n different bond types  For every tile type, 4log(4n) bits Therefore, T is specified in 4nlog(4n) bits  Note: t s is included in T. g, τ are not directly needed; for each tile type, specify which of the 16 subsets of D it can bind  Needs 16n bits

57 Proof (cont) Therefore final size of program: cnlogn+d K(Ŝ) = min{programs} ≤ cnlogn+d Thus: a 0 K(Ŝ)+b 0 ≤ K sa (Ŝ)logK sa (Ŝ)

58 Compute the tile complexity? (v2) Given a shape class Ŝ, can I compute its complexity K sa (Ŝ)?  No, K sa (Ŝ) is uncomputable! In other words, language L is undecidable: L = { (ℓ, n) s.t. ℓ = for some S  Ŝ and K sa (Ŝ)≤n }


Download ppt "DNA Self-Assembly The complexity of self-assembled shapes."

Similar presentations


Ads by Google