View
257
Download
0
Embed Size (px)
Citation preview
DNA Computing by Self Assembly
Erik Winfree, Caltech
Self Assembly of a Box
Information and Algorithms
Electronic microprocessors control electro-mechanical devices
Biochemical circuits control molecular/chemical events
General Goal: design biochemical algorithms/circuits that are programmable and can perform functions
Self Assembly Model
Model we will investigate: molecular self assembly of heterogeneous crystals
Idea: use periodic order of crystals to perform arbitrarily complex computation
What are purposes of self assembly?
2 main schools of thought
Purposes
1. Use massive parallelism of chemistry and lots of DNA at a time to solve difficult combinatorial optimization problems, such as SAT/TSP
2. Use self assembly algorithms to fabricate exact shapes / circuits/ patterns etc..
Precursors
Idea of self assembly arose from 3 ideas 1. DNA computing (Adleman 1994) 2. Tiling theory (Grun. & Shep. 1986) 3. DNA nanotechnology (Seeman 1982)
DNA Computing
Adleman 1994 – Solved 6 node Hamiltonian Path Problem
Nodes labeled with random 20mer
Edge(u, v) = last 10 BP of u + first 10 BP of v
Hamiltonian Path
Used DNA hybridization to generate random paths through graph
Added programmable binding to impose conditions (start city, end city, num cities, no repeats..)
1st meaningful computation by DNA
Heralded as a landmark achievement
Steps of process
Generate random paths (DNA molecules) through graph
Use PCR to amplify all paths that start at first city and end at last city (use primers)
Test if path contains city 1. Amplify paths that pass test. Repeat tests for cities 2 through n.
If anything left, return YES. Else return NO.
Tiling Theory
Tiling – arrangement of basic shapes to cover infinite plane
Wang 1963 – Showed infinite num of square tiles with 4 colored sides can create Turing machine history
Wang Tiles are very powerful. Use DNA molecules to simulate Wang tiles in self assembly
DNA Nanotechnology
Seeman 1982 – use DNA as a building block for nanostructures
Block: Four armed DNA double-crossover molecules (DX)
Label 4 arms of DX molecules with labels like Wang tiles
DX Molecule = Wang tile
Adjacent tiles = sequences at sticky ends of 2 molecules go together
Upper Right A = CATAC
Lower Left B = GTATG
Simplified Tile Assembly Model
Given a set of possible tiles and possible bonds
4 sides of tile have bonds, bond has strength (0, 1,2)
2 tiles can bond together if their bonds fit, and if total strength (sums of bond strengths on common sides) is > threshold
Growth starts with a seed tile
Binary Counter
Using 3 border tiles, 2 ‘0-bit’ tiles, 2 ‘1-bit’ tiles, can simulate a binary counter
Power: only 7 tiles required
Experimental Demonstrations
1d array – Adleman DNA Computing1994
2d array – Winfree 1998
3d array – Open
Next: Example of Winfree construction
XOR Practice
Everyone try this out.Start with a 1 in a sea of 0’s. To generate next row, each tile checks its two
neighbors, performs XOR and places the result below it in the next row
XOR 00 = 0 11=001 = 1 10=1
XORing
000000000010000000000
000000000101000000000
000000001000100000000
000000010101010000000
000000100000001000000
000001010000010100000
000010001000100010000
000101010101010101000
001000000000000000100
……..
Sierpinski Triangle
1st 2d process to be experimentally demonstrated = Sierpinski Gasket
Best result so far: 8 by 16 error-free triangle
Poor results due to 1-10% tile binding error
Sample Tile Solution
Slight variant of Sierpinski Triangle
Application 1: Solve NP hard problems
NP-complete problems: exponential number of solutions, hard to find correct solution, but easy to verify
Idea: Chemistry can generate all possible solutions and filter solutions quickly
Hack: Push exponential dimension of problem into volume of DNA needed
1 mL DNA = 260 bits of information
Apply self assembly
Let massive parallelism solve problem
In self assembly, generate input as initial set of tiles
See if Yes or No tile is produced at end
Current results
Problems solved –Hamiltonian Path, Satisfiability, etc..
Assuming no errors, 40-variable SAT needs 30 mL DNA and several hours
1012 operations/second, inferior to computers
Winfree: No “low hanging fruit” for self assembly here
Application 2: Programmable Nanofabrication
Fabricate molecular electronic circuits
Current technology hitting the limit soon
Solution: create molecular structures like carbon nanotubes.
How to arrange tiny chemical components into fixed patterns?
Nanocircuits
Solution: Use self assembly to create molecular components
Small pieces such as NAND/OR gates can be created Hard to create large microprocessors Self assembly good to make circuits that have “concise”
descriptions, eg recursive formulations
DNA Circuit Picture
RAM Demultiplexer
2 bands = earlier bit counter example
Summary – Achievements
Robust, readily programmable Dozens of crystals have been successfully
used as DNA tiles Self assembly has concrete experimental
results, unlike other molecular computing technologies
Summary – Current Problems
Current DNA tiles distorted, 1% positioning error in experiments.
Size of tile is limited – all crystals < 10 microns.
1 – 10 % step error. eg tiles bond incorrectly quite often. Very big problem. => New model: error correcting tiles in
self assembly
Yet more problems
Undesired nucleation – self assembly starts by itself
Problem occurs because biological system starts when it wants to minimize energy
Solution: Have programmable control of nucleation. Add energy barriers to force assembly to start with seed tile.
Future Questions
Natural question: What shapes can be made by self assembly?
Has parallels to Computability / Chomsky Language Theory
Minimum number of steps to make a shape? Minimum number of tiles to make shape?
Final Thoughts
Although bio systems are like “circuits,” remember they: Contain large amounts of randomness Have very high error rates Contain hidden biological processes that cannot
be described So CS people don’t be surprised if experimental
results are different from theoretical predictions
More thoughts
Winfree: We have already harnessed the electron to create electronic computers
No real progress has been made on chemical or nano computers
So: Algorithmic self assembly systems may be best best at next generation computers
Interested?
Winfree, E. 2003. DNA Computing by Self-Assembly. NAE's The Bridge, 33(4):31-38
dna.caltech.edu Contains a plethora of papers about
numerous aspects of self assembly