april 4, 2007

233
1 Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: [email protected] http://www.cs.northwestern.edu/~schwellerr/ April 4, 2007 Programmable Self- Assembly: How to Harness (Enslave) DNA

Upload: baker-avila

Post on 30-Dec-2015

33 views

Category:

Documents


0 download

DESCRIPTION

Programmable Self-Assembly: How to Harness (Enslave) DNA. April 4, 2007. Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: [email protected] http://www.cs.northwestern.edu/~schwellerr/. Molecular Building Blocks. T G C G. - PowerPoint PPT Presentation

TRANSCRIPT

1

Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: [email protected]

http://www.cs.northwestern.edu/~schwellerr/

April 4, 2007

Programmable Self-Assembly: How to Harness (Enslave) DNA

2

A C

G C

T G C G

Molecular Building Blocks

3

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

CA

C T

T A T

C G

A C

T A G

C C

TA

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]

4

DNA Scaffolding

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

5

Self-Assembly for Circuit Patterns

[Cook, Rothemund, and Winfree, 2003]

6

More Examples of DNA Tiles

[Winfree’s Group, Cal Tech]

7

2D Self-Assembly for Turing Machines

[Winfree, Yang, and Seeman, 1998]

8

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

340nm

Simulation of Cellular Automata

9

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

10

3D DNA Cube

[Seeman, New York University]

11

3D DNA Truncated Octahedron

[Seeman, New York University]

12

Clonable DNA Octahedron

[Shih, Quispe, Joyce, 2004]

13

Outline

• Background, Motivation

• Model

• Temperature Programming

• Probabilistic Programming

14

},...,1,0{: tG

},,,{ sTGt

Tile Model of Self-Assembly(Rothemund, Winfree STOC 2000)

Tile System:

t : temperature, positive integer

G: glue function

T: tileset , , ... { }r

r

w

g

p

y yb

r

b

r

b,

s: seed tile

15

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

16

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

17

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

18

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

19

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

20

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

21

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

22

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

23

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

24

Each Shape Requires a Distinct Tile Set

25

Programmable, General Purpose Tile Set?

26

Programmable, General Purpose Tile Set?

. . .

27

Outline

• Background, Motivation

• Model

• Temperature Programming

• Probabilistic Programming

28

Multiple Temperature Model

Multiple Temperature Model

- temperature may go up and down

29

Multiple Temperature Model

Multiple Temperature Model

- temperature may go up and down

},,,{ sTGtt

< t1 , t2 , ... , tr-1 , tr >

30

Multiple Temperature Model

Multiple Temperature Model

- temperature may go up and down

},,,{ sTGtt

< t1 , t2 , ... , tr-1 , tr >

Tile Complexity: Number of Tiles

Temperature Complexity: Number of Temperatures

31

Building k x n Rectangles

k-digit, base n(1/k) counter:0

0

0

S0

0

0

0

1 2

0

0

0

0

0

1

0

0

0

1

1

2

2

2

2

2

2

2

1

2

2

2

0

. . .k

N

k

n

32

Building k x n Rectangles

k-digit, base n(1/k) counter:0

0

0

S0

0

0

0

1 2

0

0

0

0

0

1

0

0

0

1

1

2

2

2

2

2

2

2

1

2

2

2

0

. . .k

N

0

0

0

S0

0

0

0

1 2

0

0

0

0

0

1

0

0

0

1

1

2

2

2

2

2

2

2

1

2

2

2

0

. . .k

N

)( /1 knkO Tile Complexity:

n

k

33

S

C1 C2 C3

0

g g p

Build a 4 x 256 rectangle: t = 2

C0

g

S3

S2 0

0

S

S1

34

S

C1 C2 C3

0 1 2 30

g g p

Build a 4 x 256 rectangle: t = 2

C0

g

S3

S2 0

0

0 0

g

g

S C1 C2 C3

S1

S2

S3

S1

00

0

0g g p

35

S

C1 C2 C3

0 1 2 30

g g p

Build a 4 x 256 rectangle: t = 2

C0

g

g g

S3

S2 0

0 1

0 0

g

g

p r0

S C1 C2 C3

S1 0 0

S2

S3

0 0

0 0

0 1

S1

p

36

S

C1 C2 C3

0 1 2 30

g g p

Build a 4 x 256 rectangle: t = 2

C0

g

g g

S3

S2 0

0 1

0 0

g

g

p r0

S C1 C2 C3

S1 0 0 0 1

S2

S3

0 0

0 0

0 1

S1

g g

37

S

C1 C2 C3

0 1 2 30

g g p

Build a 4 x 256 rectangle: t = 2

C0

g

g g

S3

S2 0

0 1

0 0

g

g

p r0

S C1 C2 C3

S1 0 0 0 1

S2

S3

0 0

0 0

0 1

S1

C0 C1 C2 C3

0 0

0 0

p

38

S

C1 C2 C3

0 1 2 30

g g p

Build a 4 x 256 rectangle: t = 2

C0

g

g g

S3

S2 0

0 1

0 0

g

g

p r0

S C1 C2 C3

S1 0 0 0 1

S2

S3

0 0

0 0

0 1

S1

C0 C1 C2 C3

0 0

0 0

p1 1

0 0

0 0

1 2

2 3

39

S

C1 C2 C3

0 1 2 30

g g p

1 2

Pp

3

Build a 4 x 256 rectangle: t = 2

C0

g

g g

R 0

p r

r

S3

S2 0

0 1

2 3

0 0

g

g

p r0

S C0C1 C2 C3

S1 0 0 0 1

C1 C2 C3

1 1 2 2 3 31 2 2 3

S2

S3

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

C0 C1 C2 C3 C0 C1 C2 C3

0 1

S1

p

40

S

C1 C2 C3

0 1 2 30

g g p

1 2

Pp

3

Build a 4 x 256 rectangle: t = 2

C0

g

g g

R 0

p r

r

S3

S2 0

0 1

2 3

0 0

g

g

p r0

S C0C1 C2 C3

S1 0 0 0 1

C1 C2 C3

1 1 2 2 3 31 2 2 3

S2

S3

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

P

C0 C1 C2 C3 C0 C1 C2 C3

0 1

S1

41

S

C1 C2 C3

0 1 2 30

g g p

1 2

Pp

3

Build a 4 x 256 rectangle: t = 2

C0

g

g g

R 0

p r

r

S3

S2 0

0 1

2 3

0 0

g

g

p r0

S C0C1 C2 C3

S1 0 0 0 1

C1 C2 C3

1 1 2 2 3 31 2 2 3

S2

S3

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

P

0 1

C0 C1 C2 C3 C0 C1 C2 C3

0 1

S1

42

S

C1 C2 C3

0 1 2 30

g g p

1 2

Pp

3

Build a 4 x 256 rectangle: t = 2

C0

g

g g

R 0

p r

r

S3

S2 0

0 1

2 3

0 0

g

g

p r0

S C0C1 C2 C3

S1 0 0 0 1

C1 C2 C3

1 1 2 2 3 31 2 2 3

S2

S3

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

P

0 1

C0 C1 C2 C3 C0 C1 C2 C3

0 1

S1

R

43

S

C1 C2 C3

0 1 2 30

g g p

1 2

Pp

3

Build a 4 x 256 rectangle: t = 2

C0

g

g g

R 0

p r

r

S3

S2 0

0 1

2 3

0 0

g

g

p r0

S C0C1 C2 C3

S1 0 0 0 1

C1 C2 C3

1 1 2 2 3 31 2 2 3

S2

S3

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

P

0 1

C0 C1 C2 C3 C0 C1 C2 C3

0 1

S1

R

C0 C1 C2…

44

S

C1 C2 C3

0 1 2 30

g g p

1 2

Pp

3

Build a 4 x 256 rectangle: t = 2

C0

g

g g

R 0

p r

r

S3

S2 0

0 1

2 3

0 0

g

g

p r0

S C0C1 C2 C3

S1 0 0 0 1

C1 C2 C3

1 1 2 2 3 31 2 2 3

S2

S3

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

0 0

P

0 1

R…

0 0

1 1

0 0 0 0

C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2

0 1

S1

45

S

C1 C2 C3

0 1 2 30

g g p

1 2

Pp

3

Build a 4 x 256 rectangle: t = 2

C0

g

g g

R 0

p r

r

S3

S2 0

0 1

2 3

0 0

g

g

p r00 1

2 2 3 P

P

P

3 3

3 3

3 3

3 3

3 3

21 2

3 3

3 3

3 3

3 3

110 1

3 3

3 3

3 3

3 3

00

3 3

3 3

32

RP

33 3

2

3

3

2

3

C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3 C0 C1 C2 C3C0C1 C2 C3

S1

46

Building k x n Rectangles

k-digit, base n(1/k) counter:0

0

0

S0

0

0

0

1 2

0

0

0

0

0

1

0

0

0

1

1

2

2

2

2

2

2

2

1

2

2

2

0

. . .k

N

0

0

0

S0

0

0

0

1 2

0

0

0

0

0

1

0

0

0

1

1

2

2

2

2

2

2

2

1

2

2

2

0

. . .k

N

)( /1 knkO Tile Complexity:

n

k

47

two temperatures

3

3

3

1

t = 4

k

N

j

k

N

j

n

48

t = 4 6

k

N

j

two temperatures

n

49

)nO(j 1/j )n loglog

n logO(

k

N

j

n

Tile Complexity:

two temperaturest = 4 6

j = log n / (log log n – log log log n)

50

two temperatures

k

N

j

n

t = 4 6

j = log n / (log log n – log log log n)

[Aggarwal, Goldwasser, Kao, Schweller, SODA 2004]

Kolmogorov Complexity[Rothemund, Winfree STOC 2000]

Standard Model

[Aggarwal, Goldwasser, Kao, Schweller, SODA 2004]

)(/1

k

N k

)loglog

log(

N

N

)( /1 jnjO )loglog

log(

n

nO

51

Programmable, General Purpose Tile Set?

. . .

52

Given: n 1011001

log n

High Level Approach

53

Given: n 1011001

log nte

mp

High Level Approach

1

54

Given: n 1011001

log nte

mp

High Level Approach

1

1

55

Given: n 1011001

log nte

mp

High Level Approach

1 0

1 0

56

Given: n 1011001

log nte

mp

High Level Approach

1 0 1 1 . . .

. . .

0

1 0 1 1 0 10

57

tem

pHigh Level Approach

0 1. . .

. . .

1 0 1 1 0 10

0

58

tem

pHigh Level Approach

0 1. . .

. . .

1 0 1 1 0 10

0

59

tem

pHigh Level Approach

0 1. . .

. . .

1 0 1 1 0 10

0

60

Assembly of n x n Squares

N - k

k

61

Assembly of n x n Squares

n - k

k

62

Assembly of n x n Squares

n - k

k

63

Assembly of n x n Squares

n - k

k

)( /1 knkO

Complexity:

64

Assembly of n x n Squares

n – log n

log n)(log)(

2

log

/1

/1

nOnkO

n

nk

k

k

Complexity:

65

Assembly of n x n Squares

n – log n

log n)(log)(

2

log

/1

/1

nOnkO

n

nk

k

k

Complexity:

seed row

66

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

67

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2 >

68

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2 >

69

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2 >

70

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2 >

71

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2 >

72

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2 >

1

73

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2 >

0

1

74

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2 >

0

75

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2 >

0

0’z

76

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2 >

0

0’

Z

77

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2 >

0

0’

Z

78

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2 >

0

0’

Z

79

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2 >

0

0’

Z

80

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2 >

0

0’

Z

81

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2, 5 >

0

0’

Z

82

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2, 5 >

0

0’

Z

x

83

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2, 5 >0

0’

Z

1

84

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2, 5 >

Z

1

1’

z

85

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2, 5 >

Z

1’

86

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2, 5 >

Z

1’

1

87

a

Encoding a Single Bit

0

a

Z

g

z

g

g

g

g

g

g

g

g

g

0 1

0’ 1’zz

10

1

t = < 2, 5 >

Z

1’

1

a

Z

t = < 2 >

0

0’

88

Goal: 1 0 1 0 0

89

a

0

s

Goal: 1 0 1 0 0

b

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

90

a

1

s

b

Goal: 1 0 1 0 0

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

91

a

1

s

Goal: 1 0 1 0 0

b

X

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

92

a

1

s

Goal: 1 0 1 0 0

b

Y

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

93

a

1

s

Goal: 1 0 1 0 0

b

Y

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

a

b

94

a

1

s

Goal: 1 0 1 0 0

b

Y

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

a

b

0

95

a

1

s

Goal: 1 0 1 0 0

b

Y

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

a

b

0

X

96

a

1

s

Goal: 1 0 1 0 0

b

Y

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

a

b

0

Y

a

b

97

a

1

s

Goal: 1 0 1 0 0

b

Y

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

a

b

0

Y

a

b

0

98

a

1

s

Goal: 1 0 1 0 0

b

Y

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

a

b

0

Y

a

b

1

99

a

1

s

Goal: 1 0 1 0 0

b

Y

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

a

b

0

Y

a

b

1

X

100

a

1

s

Goal: 1 0 1 0 0

b

Y

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

a

b

0

Y

a

b

1

Y

a

b

101

a

1

s

Goal: 1 0 1 0 0

b

Y

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

a

b

0

Y

a

b

1

Y

a

b

0

102

a

1

s

Goal: 1 0 1 0 0

b

Y

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

a

b

0

Y

a

b

1

Y

a

b

0

X

103

a

1

s

Goal: 1 0 1 0 0

b

Y

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

a

b

0

Y

a

b

1

Y

a

b

0

Y

a

b

104

a

1

s

Goal: 1 0 1 0 0

b

Y

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

a

b

0

Y

a

b

1

Y

a

b

0

Y

a

b

0

105

a

1

s

Goal: 1 0 1 0 0

b

Y

temp: < 4,9, 3,7, 4, 3,7, 4,9, 3,7, 4, 3,7, 4, 3 >

a

b

0

Y

a

b

1

Y

a

b

0

Y

a

b

0

X

106

1 1 0 0 1 0 0 0 1 1 1 0 1 1

107

1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 1 0 0 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0 0 0 1 1 1 1 0 1 1 1 0 0 1 0 0 0 1 1 1 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 1 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0

108

Assembly of n x n Squares

n – log n

log n

109

Assembly of n x n Squares

O(log n)

110

Assembly of n x n Squares

O(log n)

111

Results

tile complexity temperature complexity

O(1) O(log n)

O(1))loglog

log(

n

nO

(Adleman, Cheng,Goel, Huang STOC 2001)

n x n squares

TemperatureProgramming

112

Results

tile complexity temperature complexity

O(1) O(log n)

O(1))loglog

log(

n

nO

(Adleman, Cheng,Goel, Huang STOC 2001)

? < log nSmooth Trade off? n

n

loglog

log? <

n x n squares

TemperatureProgramming

113

Results

tile complexity temperature complexity

O(1) O(log n)

O(1))loglog

log(

n

nO

(Adleman, Cheng,Goel, Huang STOC 2001)

? < log nSmooth Trade off? n

n

loglog

log? <

For almost all n, no tileset can achieve both o(log n/ loglog n) tile complexity and o(log n) temperature complexity simultaneously

n x n squares

TemperatureProgramming

114

General Shapes?

• General Scaled Shapes [Soloveichik, Winfree 2004]

– O(Ks*) Tile complexity, single temperature

• Combined with Temperature Programming:– O(1) Tile Complexity– O(Ks) Temperature Complexity

• General, Constant Scaled Shapes?– O(1) Tile Complexity– O(|S|) Temperature Complexity

115

Outline

• Background, Motivation

• Model

• Temperature Programming

• Probabilistic Programming

116

aS

Assign Relative Concentrations:

Probabilistic Assembly Model

b c

xd %5

%5

%5

%60

%20

%5

117

Probabilistic Assembly Model

S

aS

Tileset =

b c

xd

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

t = 2

%5 %5

%5

%5

%60

%20

118

Probabilistic Assembly Model

S

d

aS

Tileset =

b c

xd

%5 %5

%5

%5

%60

%20

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

t = 2

119

Probabilistic Assembly Model

aS

d

aS

Tileset =

b c

xd

%5 %5

%5

%5

%60

%20

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

t = 2

120

Probabilistic Assembly Model

aS

xd

aS

Tileset =

b c

xd

%5 %5

%5

%5

%60

%20

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

t = 2

121

Probabilistic Assembly Model

aS

xd

S

d

aS

Tileset =

b c

xd

%5 %5

%5

%5

%60

%20

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

t = 2

122

Probabilistic Assembly Model

aS b

xd

S

d

aS

Tileset =

b c

xd

%5 %5

%5

%5

%60

%20

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

t = 2

123

Probabilistic Assembly Model

aS b c

xd

S

d

Two Terminal Shapes Produced

aS

Tileset =

b c

xd

%5 %5

%5

%5

%60

%20

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

t = 2

124

aS

Tileset =

Probabilistic Assembly Model

b c

xd

%5 %5

%5

%5

%60

%20

S

S

d

S S ba

.20/.85 = %23.5.60/.85 = %70.6

.05/.85 = %5.9

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

t = 2

125

aS

Tileset =

Probabilistic Assembly Model

b c

xd

%5 %5

%5

%5

%60

%20

S

S

d

S

S

d

a S

d

b

S ba

S

d

a S

d

b c

x

%23.5%70.6 %5.9

%75 %25

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

t = 2

126

Generic Tileset for all Squares

127

Generic Tileset for Approximate Squares

n(1-n (1+n

128

Generic Tileset for Approximate Squares

n(1-n (1+n

() – Approximate Square Assembly

Given:

- , - integer n

Design:A probabilistic tile system that will assemble an n’ x n’ square with:

(1-)n < n’ < (1+)n

With probability at least:

1 -

129

X

S

Line Estimation of n

130

X

S

S

Line Estimation of n

131

X

S

S

Line Estimation of n

132

X

S

S

Line Estimation of n

133

X

S

S

Line Estimation of n

134

X

S

S

Line Estimation of n

135

X

S

S

Line Estimation of n

136

X

S

S

Line Estimation of n

137

X

S

S

Line Estimation of n

138

X

S

S

Line Estimation of n

139

X

S

S

Line Estimation of n

140

X

S

XS

Line Estimation of n

141

X

S

XS

% c

% c/n

% c(n-1)/n

Line Estimation of n

142

X

S

XS

% c

% c/n

% c(n-1)/n

Line Estimation of n

E[ Length ] = n

Length has Geometric distributionwith p = 1/n

143

X

S

XS

% c

% c/n

% c(n-1)/n

Line Estimation of n[Becker, Rapaport Remila, 2006]

E[ Length ] = n

144

X

S

XS

% c

% c/n

% c(n-1)/n

Line Estimation of n

- Assembles all n x n squares.

-Expected dimension specified by percentages.

-Geometric distribution:

Huge variance

[Becker, Rapaport Remila, 2006]

E[ Length ] = n

145

X

S

Improved Estimation of n: Binomial Distribution

S X

146

X

S % c

% c/L

% c(L+1)(n-1)/Ln

Improved Estimation of n: Binomial Distribution

% c(L+1)/Ln

S X

Probability of placing a red tile given either a red or green tile is placed:

1/n

147

X

S % c

% c/L

% c(L+1)(n-1)/Ln

Improved Estimation of n: Binomial Distribution

% c(L+1)/Ln

S X

Probability of placing a red tile given either a red or green tile is placed:

1/n

To compute estimation of n:Compute LENGTH / REDS

148

X

S % c

% c/L

% c(L+1)(n-1)/Ln

Improved Estimation of n: Binomial Distribution

% c(L+1)/Ln

S X

1 0 0 1

1 0

1 1

1 0

0 1

0 0

1 0

1 1

0 0

1 0

0 0

1 1

1 0

1 0

1 1

1 0

0 1

0 1

0 0

1 1

0 1

0 0

1 0

0 1

1 1

0 0

1 0

1 1

1 1

0 0

1 0

0 1

0 1

1 0

1 0

1 0

0 0

1 1

1 0

0 0

1 0

1 1

1 0

Binary Counter Length: 10000Reds: 100

1 0

1 0

1 0

1 1

1 0

0 0

0 0

0 1

0 0

0 0

0 0

0 1

0 0

1 0 1 0

149

X

S % c

% c/L

% c(L+1)(n-1)/Ln

Improved Estimation of n: Binomial Distribution

% c(L+1)/Ln

S X

1 0 0 1

1 0

1 1

1 0

0 1

0 0

1 0

1 1

0 0

1 0

0 0

1 1

1 0

1 0

1 1

1 0

0 1

0 1

0 0

1 1

0 1

0 0

1 0

0 1

1 1

0 0

1 0

1 1

1 1

0 0

1 0

0 1

0 1

1 0

1 0

1 0

0 0

1 1

1 0

0 0

1 0

1 1

1 01 0

1 0

1 0

1 1

1 0

0 0

0 0

0 1

0 0

0 0 1 0

0 0

0 0

0 1

0 0

1 0 1 0

0

Length: 10000Reds: 100

Compute Length / Reds: 100

Division tiles

Estimate for n

150

Problem: Estimation Line too Long

S X

Length >> n :Too long for an n x n square…

Chernoff Bounds only yield high accuracy for Length >> n

151

S

Multiple lines = HEIGHT: Determined by Geometric Distribution

WIDTH: Determined by Geometric Distribution

Solution: Estimation Frame

Phase 1: Build dimensions of frame.

152

S

Multiple lines = HEIGHT: Determined by Geometric Distribution

WIDTH: Determined by Geometric Distribution

Solution: Estimation Frame

Phase 1: Build dimensions of frame.

Phase 2:Build Sampling Lines

153

S

01

01

1

Sum Reds

Sum Reds

Sum Reds

01Sum Reds

Multiple lines = HEIGHT: Determined by Geometric Distribution

WIDTH: Determined by Geometric Distribution

Solution: Estimation Frame

Phase 1: Build dimensions of frame.

Phase 2:Build Sampling Lines

Phase 3: Sum Reds and Length for each Line

154

S

01

01

1

Sum Reds

Sum Reds

Sum Reds

01Sum Reds

1 1 1

Su

m S

ub

tota

ls

Multiple lines = HEIGHT: Determined by Geometric Distribution

WIDTH: Determined by Geometric Distribution

Solution: Estimation Frame

Phase 1: Build dimensions of frame.

Phase 2:Build Sampling Lines

Phase 3: Sum Reds and Length for each Line

Phase 4: Sum subtotals

155

S

01

01

1

Sum Reds

Sum Reds

Sum Reds

01Sum Reds

1 1 1

Su

m S

ub

tota

ls

Divide: Length / Reds

1001

Multiple lines = HEIGHT: Determined by Geometric Distribution

WIDTH: Determined by Geometric Distribution

Solution: Estimation Frame

Phase 1: Build dimensions of frame.

Phase 2:Build Sampling Lines

Phase 3: Sum Reds and Length for each Line

Phase 4: Sum subtotals

Phase 5: Compute Length to Reds ratio

OUTPUTEstimation

156

HEIGHT

WIDTH

Solution: Estimation Frame

With high probability: HEIGHT < nWIDTH < n

Frame fits within n x n square

With high probability: HEIGHT x WIDTH >> n Chernoff Bounds imply:

Estimation is accurate with high probability:(1-epsilon)n’ < n < (1+ epsilon) n’

157

10110110

Finish off SquareOutput n approximation

158

Binary Counter

Bin

ary Co

un

ter

10110110

n

n

Finish off SquareOutput n approximation

159

We have a fixed size O(1) tileset that:

-For any given - n > C( )

We can assign percentages such that:

With probability at least 1- , a size n’ x n’

square is assembled with

( 1- )n < n’ < ( 1+ )n

Binary Counter

Bin

ary Co

un

ter

10110110

n

n

Result:

160

Probabilistic Results

• Generic size O(1) tileset that builds ()-approximate squares.

• Approximation Frame has many potential applications– Encode arbitrary programs

• General shapes• Encode input of computational problems

• Extension to 3 dimensions– Approximation accuracy increases for n x n x n cubes,

possibly exact assembly of cubes with high probability

161

Thanks for Listening

Questions?

Robert Schweller Electrical Engineering and Computer Science Department Northwestern University Email: [email protected]

http://www.cs.northwestern.edu/~schwellerr/

162

Outline

• Background, Motivation

• Model

• Temperature Programming

• Probabilistic Programming

• Staged Assembly

• Overview of Additonal Work

• Future Work

163

Staged Assembly• Assembly occurs in a sequence of stages, and

assemblies can be separated into separate bins

164

Staged Assembly• Assembly occurs in a sequence of stages, and

assemblies can be separated into separate bins

165

Staged Assembly• Assembly occurs in a sequence of stages, and

assemblies can be separated into separate bins

Bin Complexity: 4

Stage Complexity: 3

Mix pattern:

166

Staged Assembly• Assembly occurs in a sequence of stages, and

assemblies can be separated into separate bins

Bins = Space ComplexityStages = Time Complexity

Bin Complexity: 4

Stage Complexity: 3

167

Staged Assembly• Assembly occurs in a sequence of stages, and

assemblies can be separated into separate bins

Bin Complexity: 4

Stage Complexity: 3

• Results: – Use O(1) tiles to build arbitrary

shapes.– Complexity tradeoffs: Bins vs.

Stages– Close to information theoretic

optimal tradeoffs– Models laboratory and biology

• Cells act as bins

Work in collaboration with:Eric Demaine MITMartin Demaine MITSandor Fekete TU-BS

Diane Souvaine TuftsMashood Ishaque TuftsEynat Rafalin Google

168

1

a

0

A

11

a Aa A

b B b Bb B

1 1 10

0

1

Staged Assembly

Fixed size particle set:

b B b Bb B

1 1 10

c

C

1

c

C

1

c

C

0

a

0

A

1

a Aa A

d

D

d

D

d

D

0

1

1

0

b B b Bb B

10

a A a Aa A

d

D

d

D

d

D

0

1

0

0

0

1

0 1000

c

C

1

c

C

1

c

C

0

0

00

Macro Tile 1 Macro Tile 2

Large Alphabetof Macro Glues:

Large MacroTileset:

169

Staged Assembly

Fixed size particle set:

Large Alphabetof Macro Glues:

Complex Shapes:

1

a

0

A

11

a Aa A

b B b Bb B

1 1 10

0

1

b B b Bb B

1 1 10

c

C

1

c

C

1

c

C

0

a

0

A

1

a Aa A

d

D

d

D

d

D

0

1

1

0

b B b Bb B

10

a A a Aa A

d

D

d

D

d

D

0

1

0

0

0

1

0 1000

c

C

1

c

C

1

c

C

0

0

00

Macro Tile 1 Macro Tile 2Large MacroTileset:

170

Laboratory Assembly

Fixed size particle set:

Large Alphabetof Macro Glues:

Complex Shapes:

Large MacroTileset:

A G CT

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

CA

C T

T A T

C G

A C

T A G

C C

TA

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

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

CA

C T

T A T

C G

A C

T A G

C C

TA

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

1

a

0

A

11

a Aa A

b B b Bb B

1 1 10

0

1

b B b Bb B

1 1 10

c

C

1

c

C

1

c

C

0

a

0

A

1

a Aa A

d

D

d

D

d

D

0

1

1

0

b B b Bb B

10

a A a Aa A

d

D

d

D

d

D

0

1

0

0

0

1

0 1000

c

C

1

c

C

1

c

C

0

0

00

Macro Tile 1 Macro Tile 2

171

Outline

• Background, Motivation• Model• Temperature Programming• Probabilistic Programming• Staged Assembly• Overview of Additonal Work

– DNA Strand Design– Shape Verification

• Future Work

172

Glue Design

ACGGT TGCCA

GGGAT

GTTGG

CGTAC

GACTC

CCCTA

CAACC

GCATG

CTGAG

173

Glue Design- Standard

ACGGT TGCCA

GGGAT

GTTGG

CGTAC

GACTC

CCCTA

CAACC

GCATG

CTGAG

174

Glue Design- Standard

ACGGT TGCCA

GGGAT

GTTGG

CGTAC

GACTC

CCCTA

CAACC

GCATG

CTGAG

175

Glue Design- Standard

ACGGT

GGGAT

GTTGG

CGTAC

GACTC

Design n strings such that each pair of strings has Hamming distance

at least .

-Include more biologically motivated constraints.

-Lot’s of work done here, including ours:

[Kao, Sanghi, SchwellerICALP 2006]

176

Flexible Glue Design

177

Flexible Glue Design

178

Flexible Glue Design

Tile Complexity for n x n squares

)n loglog

n log(

[Adleman, Cheng, Goel, Huang]

)n log(Flexible Glue:

Standard:

[Aggarwal, Kao, Goldwasser, Schweller, SODA 2004]

Our paper on Flexible Codeword Design:[Kao, Sanghi, Schweller,ISAAC 2006]

179

Outline

• Background, Motivation• Model• Temperature Programming• Probabilistic Programming• Staged Assembly• Overview of Additonal Work

– DNA Strand Design– Staged Assembly– Shape Verification

• Future Work

180

Shape Verification

Shape Verification Problem

Input: T, a tile system S, a shape

Question: Does T uniquely assemble S.

Standard: P (Adleman, Cheng, Goel, Huang, Kempe,

Flexible glue: P Espanes, Rothemund, STOC 2002)

Unique Shape: Co-NPC Multiple Temperature: NP-hard, Co-NP-hard Multiple Tile: NP-hard, Co-NP-hard

181

*

Shape Verification: Unique-Shape Model

)(

)(

)(

321

321

321

xxx

xxx

xxx

182

*

x1

x2

x3

*

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

183

*

x1

x2

x3

*

* c2c1 c3 *

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

184

*

x1

x2

x3

*

* c2c1 c3 *

x

x

x

1

0

x

x

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

185

*

x1

x2

x3

*

* c2c1 c3 *

0

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

186

*

x1

x2

x3

*

* c2c1 c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

187

*

x1

x2

x3

*

*

ok

c2c1 c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

188

*

x1

x2

x3

*

*

ok

ok

c2c1 c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

189

*

x1

x2

x3

*

*

ok

ok

c2c1

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

190

*

x1

x2

x3

*

*

ok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

191

*

x1

x2

x3

*

*

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

192

*

x1

x2

x3

*

*

ok

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

193

*

x1

x2

x3

*

*

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

Shape Verification: Unique-Shape Model

194

*

x1

x2

x3

*

*

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

*

*

*

*

Shape Verification: Unique-Shape Model

195

*

x1

x2

x3

*

*

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

*

*

*

* T

Shape Verification: Unique-Shape Model

196

*

x1

x2

x3

*

*

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

*

*

*

* T T

Shape Verification: Unique-Shape Model

197

*

x1

x2

x3

*

*

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

*

*

*

* T T T

Shape Verification: Unique-Shape Model

198

*

x1

x2

x3

*

*

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

c10

1

1

)(

)(

)(

321

321

321

xxx

xxx

xxx

*

*

*

* T T T SAT

Satisfied

(LaBean and Lagoudakis, 1999)

Shape Verification: Unique-Shape Model

199

x1

* *

x2

x3

* * T T T

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

1

1

SAT

x1

* *

x2

x3

* *

ok

ok

ok

c2ok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

0

1

Satisfied

(LaBean and Lagoudakis, 1999)

Shape Verification: Unique-Shape Model

200

x1

* *

x2

x3

* * T T T

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

1

1

SAT

x1

* *

x2

x3

* * T

ok

ok

ok

c2ok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

0

1

Satisfied

(LaBean and Lagoudakis, 1999)

Shape Verification: Unique-Shape Model

201

x1

* *

x2

x3

* * T T T

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

1

1

SAT

x1

* *

x2

x3

* * T F

ok

ok

ok

c2ok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

0

1

Satisfied

(LaBean and Lagoudakis, 1999)

Shape Verification: Unique-Shape Model

202

x1

* *

x2

x3

* * T T T

ok

ok

ok

okok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

1

1

SAT

x1

* *

x2

x3

* * T F F

ok

ok

ok

c2ok

ok

c2c1

c2

c2

c3 *

*

*

*

c10

0

1

Satisfied Not Satisfied

(LaBean and Lagoudakis, 1999)

Shape Verification: Unique-Shape Model

203

T T

ok ok ok

c2

SAT

*

*

T

ok

* T

x3

x2

x1

1

1

0

ok

c1

c1* *

c2 ok

*c2 c3

*

T F

ok c2 ok

c2

NO

*

*

T

ok

* T

x3

x2

x1

0

1

0

ok

c1

c1* *

c2 ok

*c2 c3

*

Satisfied Not Satisfied

Shape Verification: Multiple Temperature Model

204

T T

ok ok ok

c2

SAT

*

*

T

ok

* T

x3

x2

x1

1

1

0

ok

c1

c1* *

c2 ok

*c2 c3

*

T T

ok ok ok

c2

NO

*

*

T

ok

* T

x3

x2

x1

1

1

0

ok

c1

c1* *

c2 ok

*c2 c3

*

Satisfied Not Satisfied

Shape Verification: Multiple Temperature Model

205

T T

ok ok ok

c2

SAT

*

*

T

ok

* T

x3

x2

x1

1

1

0

ok

c1

c1* *

c2 ok

*c2 c3

*

T T

ok ok ok

c2

NO

*

*

T

ok

* T

x3

x2

x1

1

1

0

ok

c1

c1* *

c2 ok

*c2 c3

*

Satisfied Not Satisfied

Shape Verification: Multiple Temperature Model

206

*

x3

x2

x1

*

*

x3

x2

x1

*

Satisfied Not Satisfied

Shape Verification: Multiple Temperature Model

207

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

* c1 c2 c3 *

FFT NO*

Shape Verification: Multiple Temperature Model

208

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

* c1 c2 c3 * *

FFT NO **

Shape Verification: Multiple Temperature Model

209

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

* c1 c1c2 c2c3 c3* * *

FFT NO ** FF F NO

Shape Verification: Multiple Temperature Model

210

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

FFT NO ** FF F NO * NO * FTT NO

...

Shape Verification: Multiple Temperature Model

211

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

FFT NO ** FF F NO * NO * FTT NO

...

Shape Verification: Multiple Temperature Model

212

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

FFT NO ** FF F NO * NO * FTT NO

...

Shape Verification: Multiple Temperature Model

213

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

FFT NO ** FF F NO * NO * FTT NO

...

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

ok

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

TTT SAT ** FF F NO * NO * FTT NO

...

Shape Verification: Multiple Temperature Model

214

*

x1

x2

x3

*

*

x1

x2

x3

*

Satisfiable

Not Satisfiable

Shape Verification: Multiple Temperature Model

215

Input Shape:

Shape Verification: Multiple Temperature Model

216

Input Shape:

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

FFT NO ** FF F NO * NO * FTT NO

...

Shape Verification: Multiple Temperature Model

217

Input Shape:

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

c2

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

FFT NO ** FF F NO * NO * FTT NO

...

Equivalent to Co-SAT Co-NP-hard

Shape Verification: Multiple Temperature Model

218

Input Shape:

Shape Verification: Multiple Temperature Model

219

Input Shape:

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

ok

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

TTT SAT ** FF F NO * NO * FTT NO

...

Shape Verification: Multiple Temperature Model

220

Input Shape:

Equivalent to SAT NP-hard

*

x1

x2

x3

*

0

0

0

c1

ok

ok

c2

c2

ok

ok

ok

ok *

*

*

1

0

0

c1

c1

c1

c2

c2

c2

ok

ok

ok *

*

*

0

1

0

* c1 c1c2 c2c3 c3* * * *

*

*

*

1

1

1

* *

c1

ok

ok

c2

c2

ok

*

*

*

c1 c2 c3 *

c3

c3

c3

TTT SAT ** FF F NO * NO * FTT NO

...

Shape Verification: Multiple Temperature Model

221

Shape Verification Results

Standard P

Flexible Glue P Multiple Temperature NP-hard

Co-NP-hard

Unique Shape Co-NPC

Multiple Tile NP-hard Co-NP-hard

(Adleman, Cheng, Goel, Huang, Kempe,Espanes, Rothemund, STOC 2002)

222

Outline

• Background, Motivation

• Model

• Temperature Programming

• Probabilistic Programming

• Overview of Additonal Work

• Future Work

223

• Shape Replicaton• Exact Assembly for Probabilistic Programming• Lab Work

– Experimental tests for Temperature Programming– Experiments for Probabilistic Programming

• Flexible Glue Design– Tighten bounds– More biological constraints

Future Work

224

Shape Replication

225

Shape Replication

drop temperature

226

Shape Replication

drop temperature

227

Shape Replication

drop temperature

raise temperature

228

Shape Replication

drop temperature

raise temperature

drop temperature

229

Shape Replication

2

1 1

1 1

1 1

1 1

1 1

1 1

2 2

2 2

2 2

2 2

2 2

2 2

1 . . .

230

Shape Replication

8 9765 4 3 2 1

10 11

12

13 14

1515

15

15

231

Shape Replication

8 9765 4 3 2 1

10 11

12

13 14

1515

15

15

54 3 2 1

89

10

11

7

6

15

17

16

18

19

2021

22

raise temperature

232

Shape Replication

8 9765 4 3 2 1

10 11

12

13 14

1515

15

15

54 3 2 1

89

10

11

7

6

15

17

16

18

19

2021

22

8 9765 4 3 2 1

10 11

12

13 14 15 16

17

18

19

20

21

8 9765 4 3 2 1

10 11

12

13 14

1515

15

15

raise temperature

drop temperature

233

• Shape Replicaton• Exact Assembly for Probabilistic Programming• Lab Work

– Experimental tests for Temperature Programming– Experiments for Probabilistic Programming

• Flexible Glue Design– Tighten bounds– More biological constraints

Future Work