320 likes | 623 Views
Erik Winfree, Caltech. DNA Computing by Self Assembly. Self Assembly of a Box. Information and Algorithms. Electronic microprocessors control electro-mechanical devices Biochemical circuits control molecular/chemical events
E N D
Erik Winfree, Caltech DNA Computing by Self Assembly
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 – 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 Tiling Theory
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=0 01 = 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
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 Apply self assembly
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