Emerging Technologies of Computation
description
Transcript of Emerging Technologies of Computation
Emerging Technologies of Computation
Montek SinghCOMP790-084Nov 15, 2011
Two different technologies
◦ TODAY: DNA as biochemical computer DNA molecules encode data enzymes, probes etc. manipulate data
◦ Thurs: DNA used to assemble electronic computer DNA molecules used as scaffolding nanoscale electronic components piggyback DNA assembles the computer
Today: Computing using DNA
“I was fascinated. With my own hands, I was creating DNA that did not exist in nature.”
Leonard M. AdlemanScientific American, August 1998
What is a DNA computer?◦ A system that manipulates DNA to solve
mathematical problems
◦ How is information represented? In DNA molecules
◦ How is information manipulated? Using enzymes and ligases
◦ How do you obtain gain/amplification? DNA replication
◦ How do you read output? mechanical isolation, separation, probes
Computing with DNA
4 types of molecular building blocks◦ Adenine, Thymine, Guanine, Cytosine◦ Shortened to 4 symbols: A, T, G, C
Double-helix structure◦ complementary strands◦ A and T bond with each other◦ G and C bond with each other
Basics of DNA
Watson-Crick pairing◦ each strand has its complement◦ the two will “anneal” (twist around each other)
weak hydrogen bonds break easily with heat
◦ non-complementary strands will not anneal
Basics of DNA
Polymerases◦ copy information◦ from a strand template, make its complement◦ need a “start signal”
a short DNA fragment, or primer starts adding symbols to the primer zips it up!
Basics of DNA
Ligases◦ covalently bonds DNA molecules together◦ joins two pieces into single strand◦ nature’s repair mechanism!
Basics of DNA
Nucleases◦ scissors to cut DNA strands◦ some nucleases will search for, and cut at, only
specific sequences◦ e.g.: EcoRI (from E. coli) cuts after the G in GAATTC
Basics of DNA
Technique to separate molecules in a slab of gel◦ current applied to
gel◦ DNA is –vely
charged◦ shorter strands
move faster than longer ones
◦ one can also weigh down specific strands by attaching metal balls to them
Basics of DNA: Gel electrophoresis
Mail order!◦ Write down the sequence on a piece of paper◦ Send to a synthesis facility◦ Wait 10 days◦ Receive 1018 molecules in a test tube
Today’s price [from www.genscript.com]
DNA Synthesis
To build a computer, only two things are really needed◦ a method of storing information◦ a few simple operations for acting on that
informationTuring machine
Is DNA good enough?◦ great way to store the “blueprint of life”◦ enzymes (polymerases and ligases) can operate◦ Is this enough? YES!
How do we make DNA compute?
Hamiltonian Path Problem◦ given: a directed graph, G◦ given: specified start and end nodes, s and t◦ definition: Hamiltonian path is one that goes from
start node to end node, passing through each remaining node exactly once
◦ decide: whether a Hamiltonian path exists for <G,s,t>
Like all good problems, this one is NP-complete
Let’s choose a problem!
Given graph with n vertices,1. Generate a set of random paths through th
graph2. For each path:
a. check if path has correct start and end nodesb. check if path passes through exactly n nodesc. check if each vertex is visitedRemove path if it fails any of these checks
3. If set is not empty, report that a Hamiltonian path exists.
An algorithm
Hamiltonian Path Problem◦ 7 cities, 14 nonstop flights◦ takes about a min for most of us
Smaller problem◦ 4 cities◦ for illustration
Adleman’s DNA computer
Use DNA fragments to code cities and flights◦ each city X has two
parts to its name (X1X2) and complement
(X’1X’2)◦ a flight also has 2 parts
flight from X1X2 to Y1Y2 has sequence: (X2Y1)
Coding the problem
Synthesize:◦ complements of city
names (X’1X’2)◦ flights (X2Y1)
A pinch of each has 1014 molecules◦ throw them all into a
test tube◦ add water, ligase, salt◦ one drop, one second!
Coding the problem
Each flight bonds only with complements of its start and end cities:◦ flights (X2Y1)◦ bonds with (X’1X’2) and
(Y’1Y’2)◦ ligase seals fragments
Sequences grow:◦ Atlanta-Boston◦ Atlanta-Boston-Chicago◦ …
What happened?
1014 or so parallel computations!
All paths created at once
Enormous parallelism!
How to weed out the paths that were not Hamiltonian?
Answer:◦ clever use of probes, polymerization, gel
electrophoresis, etc.
Challenge
Gain:◦ Want to weed out the incorrect paths◦ Want to amplify correct paths
Strategy:◦ Add 2 primers
1. add last name of start city alerts polymerase to copy the right city strings complements of sequences with the right start city
2. add complement of the first name of the end city alerts polymerase to copy the right flight sequences with the right end city
◦ Exponential growth!
Gain/Amplification
Use gel electrophoresis◦ short solutions do not go through all cities
move faster◦ keep long ones (length 24)
Discard the short ones
Use metal probes◦ e.g., specific probe for Boston◦ sticks to only those paths that contain Boston◦ electrophoresis to weed out others◦ heat and repeat
Discard the ones that skip cities
If there is any DNA left, there is a Hamiltonian Path!
Also possible to “read out” the path [see refs.]
Final step
highly parallel◦ 1014 solutions simultaneously explored in about 1
second highly energy efficient
◦ 2 1019 ligation operations per joule◦ theoretical max is 34 1019 joule◦ today’s computers? ~ 109 – 1010 ops/joule
Final comments