1 SODA January 23, 2011 Temperature 1 Self-Assembly: Deterministic Assembly in 3D and Probabilistic...

Post on 14-Dec-2015

214 views 0 download

Tags:

Transcript of 1 SODA January 23, 2011 Temperature 1 Self-Assembly: Deterministic Assembly in 3D and Probabilistic...

1

SODA January 23, 2011

Temperature 1 Self-Assembly: Deterministic Assembly in 3D and Probabilistic Assembly in 2D

Matthew Cook University of Zurich and ETH ZurichYunhui Fu Clemson UniversityRobert Schweller University of Texas Pan American

2

Outline

• Background Information• Model• Results

3

A C

G C

T G C G

Molecular Building Blocks

4

Molecular Building Blocks

A T A G CT A T C G

T G A T C G G AA C T A G C C T

A C T A G C C TA C T A G C C T

C T A G C C G TG A T C G G C A

G C T T G A C CC G A A C T G G

A G A

T C G

A C

T C T

A G C

T G

T A C

C G

C A

TA T

G G

C G

T A

T G A

A T A

G C

A C T

T A T

C G

A C T

A G C

C T

A C T

A G C

C T

A T A G CT A T C G

A T A G CT A T C G

G T A C AC A T G T

A T A

G C

T A T

C G

A T A

G C

T A T

C G

A T A

G C

T A T

C G

A T A

G C

T A T

C G

C G G T C

T T C C A

G A C

A G

T T A

G T

[Reif’s Group, Duke University]

5

DNA Scaffolding

[Sung Ha Park, Constantin Pistol, Sang Jung Ahn, John H. Reif, Alvin R. Lebeck, Chris Dwyer, and Thomas H. LaBean, 2006]

6

Paul Rothemund, Nick Papadakis, Erik Winfree, PLoS Biology 2: e424 (2004)

340nm

Simulation of Cellular Automata

7

Example of 3D Self-Assembly[Shaw, University of Southern California]

8

3D DNA Cube

[Seeman, New York University]

9

3D DNA Truncated Octahedron

[Seeman, New York University]

10

Outline

• Background Information• Model• Results

11

Tile Assembly Model(Rothemund, Winfree, Adleman)

T = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1

t = 2

Tile Set:

Glue Function:

Temperature:

S

Seed Tile:

x dc

baS

12

How a tile system self assembles

x dc

baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1

t = 2

S

13

S a

How a tile system self assembles

x dc

baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1

t = 2

14

S a

c

How a tile system self assembles

x dc

baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1

t = 2

15

S a

c

d

How a tile system self assembles

x dc

baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1

t = 2

16

S a b

c

d

How a tile system self assembles

x dc

baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1

t = 2

17

S a b

c

d

x

How a tile system self assembles

x dc

baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1

t = 2

18

S a b

c

d

x x

How a tile system self assembles

x dc

baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1

t = 2

19

S a b

c

d

x x

x

How a tile system self assembles

x dc

baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1

t = 2

20

S a b

c

d

x x

x x

How a tile system self assembles

x dc

baST = G(y) = 2G(g) = 2G(r) = 2G(b) = 2G(p) = 1G(w) = 1

t = 2

21

How efficiently can you build an n x n square?

n

22

How efficiently can you build an n x n square?

x

Tile Complexity:2n

n

How efficiently can you build an n x n square?

0 0 00

log n

-Use log n tile types to seedcounter:

How efficiently can you build an n x n square?

0 0 00

log n

-Use 8 additional tile types capable of binary counting:

-Use log n tile types capable ofBinary counting:

How efficiently can you build an n x n square?

0 0 00

log n

000

00

0 00

1 0 10

1 1 00

1 1 10

0 0 0

0 1

1 0

1

1

11

1

000 1

-Use 8 additional tile types capable of binary counting:

-Use log n tile types capable ofBinary counting:

How efficiently can you build an n x n square?

0 0 00

000

000

00

0 00

1 0 10

1 1 00

1 1 10

0 0 01

0 0 11

0 1 01

0 1 11

1 0 01

1 0 11

1 1 11

1 1 01

1

1

11

1

-Use 8 additional tile types capable of binary counting:

-Use log n tile types capable ofBinary counting:

log n

How efficiently can you build an n x n square?

0 0 00

000

000

00

0 00

1 0 10

1 1 00

1 1 10

0 0 01

0 0 11

0 1 01

0 1 11

1 0 01

1 0 11

1 1 11

1 1 01

1

1

11

1

0

0

0

0

1

0

0

0

0

1

0

0

1

1

0

0

0

0

1

0

1

0

1

0

0

1

1

0

1

1

1

0

0

0

0

1

1

0

0

1

0

1

0

1

1

1

0

1

0

0

1

1

1

0

1

1

0

1

1

1

1

1

1

1

-Use 8 additional tile types capable of binary counting:

-Use log n tile types capable ofBinary counting:

How efficiently can you build an n x n square?

0 0 00

000

000

00

0 00

1 0 10

1 1 00

1 1 10

0 0 01

0 0 11

0 1 01

0 1 11

1 0 01

1 0 11

1 1 11

1 1 01

1

1

11

1

0

0

0

0

1

0

0

0

0

1

0

0

1

1

0

0

0

0

1

0

1

0

1

0

0

1

1

0

1

1

1

0

0

0

0

1

1

0

0

1

0

1

0

1

1

1

0

1

0

0

1

1

1

0

1

1

0

1

1

1

1

1

1

1

n – log n

log n

x

y

Tile Complexity:O(log n)

(Rothemund, Winfree 2000)

How efficiently can you build an n x n square?

0 0 00

000

000

00

0 00

1 0 10

1 1 00

1 1 10

0 0 01

0 0 11

0 1 01

0 1 11

1 0 01

1 0 11

1 1 11

1 1 01

1

1

11

1

0

0

0

0

1

0

0

0

0

1

0

0

1

1

0

0

0

0

1

0

1

0

1

0

0

1

1

0

1

1

1

0

0

0

0

1

1

0

0

1

0

1

0

1

1

1

0

1

0

0

1

1

1

0

1

1

0

1

1

1

1

1

1

1

n – log n

log n

x

y

Tile Complexity:O(log n)

With optimalcounter:Tile Complexity:O(log n / loglog n)

Meets lower bound:W(log n / loglog n)

(Rothemund, Winfree 2000)

(Adleman, Cheng, Goel, Huang 2001)

(Rothemund, Winfree 2000)

30Barish, Shulman, Rothemund, Winfree, 2009

Why is Temperature 1 Theory Important?

• Temperature 2 self-assembly is powerful

• Efficient assembly of squares and more general shapes

• Universal Computation

• But….• Precise laboratory settings required

• High error rates

xy

Why is Temperature 1 Theory Important?

• Temperature 2 self-assembly is powerful

• Efficient assembly of squares and more general shapes

• Universal Computation

• But….• Precise laboratory settings required

• High error rates

xy

Why is Temperature 1 Theory Important?

• Temperature 2 self-assembly is powerful

• Efficient assembly of squares and more general shapes

• Universal Computation

• But….• Precise laboratory settings required

• High error rates

Error locked in place

Why is Temperature 1 Theory Important?

• Temperature 2 self-assembly is powerful

• Efficient assembly of squares and more general shapes

• Universal Computation

• But….• Precise laboratory settings required

• High error rates Error locked in place

Question:• Is temperature 1 substantially less

powerful than temperature 2?• Is temperature 1 powerful enough

to warrant consideration considering it’s potential experimental advantages?

Build an n x n square at Temperature 1

sa1

Build an n x n square at Temperature 1

s A1 A2 A3 A4 A5a1 a2 a3 a4 a5

Build an n x n square at Temperature 1

s A1 A2 A3 A4 A5a1 a2 a3 a4 a5

B1

B2

B3

B4

B5

b1

b1

b1

b1

b1

b1 b1 b1 b1 b1 b1

Build an n x n square at Temperature 1

s A1 A2 A3 A4 A5

B1

B2

B3

B4

B5

B1

B2

B3

B4

B5

B1

B2

B3

B4

B5

B1

B2

B3

B4

B5

B1

B2

B3

B4

B5

B1

B2

B3

B4

B5

Build an n x n square at Temperature 1

s A1 A2 A3 A4 A5

B1

B2

B3

B4

B5

B1

B2

B3

B4

B5

B1

B2

B3

B4

B5

B1

B2

B3

B4

B5

B1

B2

B3

B4

B5

B1

B2

B3

B4

B5

• Distinct tile types: 2n-1

• Probably optimal, but no substantial lower boundproof has been given.

Build an n x n square at Temperature 1

s A1 A2 A3 A4 A5

B1

B2

B3

B4

B5

B1

B2

B3

B4

B5

B1

B2

B3

B4

B5

B1

B2

B3

B4

B5

B1

B2

B3

B4

B5

B1

B2

B3

B4

B5

• Distinct tile types: 2n-1

• Probably optimal, but no substantial lower boundproof has been given.

Two directions to consider

• Can we do better if consider 3D assembly? (3D deterministic assembly)

• Can we do better if we permit a small chance of error? (2D probabilistic assembly)

Our Temperature 1 Results

42

Outline

• Background Information• Model• Results

– Temperature 1 in 3D– Temperature 1 in 2D, probabilistic

Simulating Temp 2 Systems at Temp 1

0 0 00

000

000

00

0

0

0

1

1

11

1

*

*

*

*

c

0

1

x

0

100*

c

1

c

c

0

1x x

10

0

x x

1

Simulating Temp 2 Systems at Temp 1

0 0 00

000

000

00

0

0

0

1

1

11

1

*

*

*

*

c

0

1

x

0

100*

c

1

c

c

0

1x x

10

0

x x

1

0 c

1

c

0

Simulating Temp 2 Systems at Temp 1

0 0 00

000

000

00

0

0

0

1

1

11

1

*

*

*

*

c

0

1

x

0

00*

c

1

c

0

1x x

10

0

x x

1

0

0c

0

Simulating Temp 2 Systems at Temp 1

0 0 00

000

000

00

0

0

0

1

1

11

1

*

*

*

*

c

0

1

x

0

00*

c

1

c

0

1x x

10

0

x x

1

0

0c

01 c

0

1

x

Simulating Temp 2 Systems at Temp 1

0 0 00

000

000

00

0

0

0

1

1

11

1

*

*

*

*

c

0

1

x

0

0*

c

1

c

0

1x x

10

0

x x

1

0

0

01

x 1

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting of a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

2 inputs

2 outputs

Key idea: • Map each single temperature 2 tile to a collection

of tiles constituting a “macro” tile• Use 3D geometry to encode north outputs.

(X,Y)A

B“0” “1”

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

(X,Y)A

B“0” “1”

YX

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

W

VYX

V

W

Simulating Temperature 2 Systems at Temperature 1

Y

Geometry decoding tiles:Y

X

A

B

W

VYX

Simulating Temp 2 Systems at Temp 1

Y

Simulating Temp 2 Systems at Temp 1

Y

Simulating Temp 2 Systems at Temp 1

Y

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

W

VYX

(X,Y)

Simulating Temp 2 Systems at Temp 1

Y

X

A

B

W

VYX

A

B“0” “1”

81

82

83

Outline

• Background Information• Model• Results

– Temperature 1 in 3D– Temperature 1 in 2D, probabilistic

Simulating Temperature 2 Systems at Temperature 1:2D with high probability

85

Summary• 3D temperature 1 and 2D probabilistic

temperature 1 offer much of the power of temperature 2.

• Temperature 1 self-assembly may have important experimental motivation.

• The use of steric hindrance and steric protection seems inline with nature:– Steric hindrance is a common mechansim

in nature.– The physical shape of proteins in biology is

closely related to function.

86

Future Work– Lower bound for nxn squares for

temperature 1, 2D, deterministic.– Multiple nucleation.– Can the nxn 3D result be improve to O(log

n / loglog n)?– Combine ideas from this work with other

techniques for robustness and error correction.

– Improve sturdiness or connectivity of constructions.