Upload
tom
View
49
Download
0
Tags:
Embed Size (px)
DESCRIPTION
Temperature 1 Self-Assembly: Deterministic Assembly in 3D and Probabilistic Assembly in 2D. SODA January 23, 2011. Matthew Cook University of Zurich and ETH Zurich Yunhui Fu Clemson University Robert Schweller University of Texas Pan American. Outline. Background Information Model - PowerPoint PPT Presentation
Citation preview
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
CT 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
CT A
T C G
A T A G
CT A
T C G
A T A G
CT A
T C G
A T A G
CT 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
00000
0 001 0 101 1 001 1 100 0 0
0 11 0
1
111
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 00000
00000
0 001 0 101 1 001 1 100 0 010 0 110 1 010 1 111 0 011 0 11
1 1 111 1 01
11
111
-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 00000
00000
0 001 0 101 1 001 1 100 0 010 0 110 1 010 1 111 0 011 0 11
1 1 111 1 01
11
111
0000
1000
0100
1100
0010
1010
0110
1110
0001
1001
0101
1101
0011
1011
0111
1111
-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 00000
00000
0 001 0 101 1 001 1 100 0 010 0 110 1 010 1 111 0 011 0 11
1 1 111 1 01
11
111
0000
1000
0100
1100
0010
1010
0110
1110
0001
1001
0101
1101
0011
1011
0111
1111
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 00000
00000
0 001 0 101 1 001 1 100 0 010 0 110 1 010 1 111 0 011 0 11
1 1 111 1 01
11
111
0000
1000
0100
1100
0010
1010
0110
1110
0001
1001
0101
1101
0011
1011
0111
1111
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
1x
0
100*
c
1
c
c
0
1x x
10
0x x
1
Simulating Temp 2 Systems at Temp 1
0 0 00000
000
00
0
0
0
1
1
11
1
***
*
c
0
1x
0
100*
c
1
c
c
0
1x x
10
0x 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
1x
0
00*
c
1
c
0
1x x
10
0x x
1
0
0c0
Simulating Temp 2 Systems at Temp 1
0 0 00
000
000
00
0
0
0
1
1
11
1
***
*
c
0
1x
0
00*
c
1
c
0
1x x
10
0x x
1
0
0c0
1 c
0
1x
Simulating Temp 2 Systems at Temp 1
0 0 00
000
000
00
0
0
0
1
1
11
1
***
*
c
0
1x
0
0*
c
1
c
0
1x x
10
0x x
1
0
001
x 1
Simulating Temp 2 Systems at Temp 1
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
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
YX
AB
(X,Y)A
B“0” “1”
YX
Simulating Temp 2 Systems at Temp 1
YX
AB
WVY
X
V
W
Simulating Temperature 2 Systems at Temperature 1
Y
Geometry decoding tiles:Y
XA
B
WVY
X
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
YX
AB
WVY
X
(X,Y)
Simulating Temp 2 Systems at Temp 1
YX
AB
WVY
X
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.