Nature does not hurry, yet everything is accomplished. ~Lao Tzu.
HOW DOES NATURE COMPUTE?
Transcript of HOW DOES NATURE COMPUTE?
HOW DOES NATURE COMPUTE?
Lila KariDepartment of Computer Science
University of Western OntarioLondon, ON, Canada
http://www.csd.uwo.ca/~lila/[email protected]
Computing
• Computing ≠ Electronic computers• Need for computing:
count months, seasons, trading, construction
Lila Kari, University of Western Ontario
Computing
• Computing ≠ Electronic computers• Need for computing:
count months, seasons, trading, construction• Means for computing:
Whatever was available !!!
Lila Kari, University of Western Ontario
Lila Kari, University of Western Ontario
History of Hardware
• Abacus• Pascal• Jacquard• Babbage• Hollerith• ENIAC• Chip
Abacus
Lila Kari, University of Western Ontario
History of Hardware
• Abacus• Pascal• Jacquard• Babbage• Hollerith• ENIAC• Chip
Mechanical adding machine (1642)
Lila Kari, University of Western Ontario
History of Hardware
• Abacus• Pascal• Jacquard• Babbage• Hollerith• ENIAC• Chip
Jacquard’s punch card loom (1801)
Lila Kari, University of Western Ontario
History of Hardware
• Abacus• Pascal• Jacquard• Babbage • Hollerith• ENIAC• Chip
Babbage’s difference engine (1833)
Lila Kari, University of Western Ontario
History of Hardware
• Abacus• Pascal• Jacquard• Babbage• Hollerith • ENIAC• Chip
Hollerith punch card system (1890)
Lila Kari, University of Western Ontario
History of Hardware
• Abacus• Pascal• Jacquard• Babbage• Hollerith• ENIAC• Chip
ENIAC (1939-45) -167 sq.m.- 18,000 vacuum tubes- not programmable
Lila Kari, University of Western Ontario
History of Hardware
• Abacus• Pascal• Jacquard• Babbage• Hollerith• ENIAC• Chip
Modern computer chip
• Transistors
• Integrated circuit
Computing Technology• Manual• Mechanical• Electronic• Biological “The tools of molecular biology were used
to solve an instance of the Directed Hamiltonian Path Problem” (Adleman, Science,94)
Lila Kari, University of Western Ontario
What is DNA?
• DNA = Set of instructions telling each cell what job it will do
• It is like a computer program telling the computer what to do!
• It is written in a special alphabet that has only 4 letters !
Languages and alphabets
• Latin alphabet : A, B, C, D, E, F, G, ..., • Korean alphabet :
• Computer alphabet: 0, 1
• DNA alphabet: A, C, G, T
“You will have brown hair” in DNA language
• CTTACTTCGAAGGCTGTGCTCCGCTCACCATCCAGAGCGGAGGTGCGGACCTTAAACTCACTCCTGGAGA AAGATCTGCAAGTGCGCAGGTAAAGTGCACGTGCTCCGCGGTCGGGAGGAAGGAGGCGAGGAGCCAGACT AGCCTGGGAACAGGCAGGGAGGGTTTACACAGCCCCGGCTGAGTCGCGGCTTAGGAAGCAAGGCAAGTTC CCCTAAAGGTTAGTGTGCACAGACGGGTGCGACGGAGCCGACCTAGCGCGGCTGAGTCCGCCTGGGCCTG CAGCAGCTGCCCCCTGAGCACCCCCTCCGGCTCTCTGCCAGGCGACCCAGGAAAAAGTCGCCCCCTGGTG GGCCATGAGGTCATGGGTGGGGGGAGTTTGGAAAGGTTCAGACAGCAAATGTTCCACTTGAACTCCAGGG CAGCATCTGGCACTGCGGGGCCTCCTAGCCATGAGCCGTGGTCAGGCGTTTCCTTAGAATGGAATGCACT GGAGTGAAAACACTAAATCCCTCAAAGCTGCTTCTCTTTACTGTGGTCACACACAGTGAAATCAATGGGC ATTAGTGCAGCTAGCTCTTTTCAAGGACACAATGTTAAGCACAGGAAGCCTGGTATGTGGACGCTCTGGG TTTGCAGAACCAGGCAGGGGCCAGGGGCTCAGGACAAGTGCCCGGTGCTCCCTTCCCATTGGGCGAATCA GAGCCTGGGGCCCGGCGGTGAAGCTCCCCAGGTGACTCTAATGTGCAGTGCACTTTGAGGAGCACTACTT AGACCAATGTGACAGTCTACAATGTGTAGATTTAGGGTGAGTGATTCTGAGGAAAAGAAACCCGAGGCTG TTAGCAGTTGTGGGCAGCTGCTGTCTACCTAAACCAGCTGCGGTTTGCTTGCTTGGTGAGCCTGAGCTTC GCGGGGCGGGCATGGCATCTGCCATCCAGGACCCTGGGACGGGGCCTGCCAGGGCAAGGAGCTGAGCATT GAACGCATCTGGGGATAACTATCTCTCATAGAAGAACTAATGAGGATTGAACCTGAACACAGAGATGAAA GAGCTGAGTAGACTGCAAAGAATTGCACAAAAACTGCTTGTTCTGCAAATTTAGTTTACAACAATTTGAG TGCAGTTCACATTGGTGTAATGTGATTTAGGATCATAAGTCCCTAAAGTTTCATTACACTGATGAAAAGC AAATGCCTATACTGTTCTTGTTTTATGAGAAGAACGCAACCTCCAGCCCCTGGAGCAGCTGAGATCTGAG GATATCAGGAATACCAGGAATGGGGAGGTCCTGGCTGTCCCTGGAAACCCAGCGGCATGACACCTGTGTC ACCTGGGTCCCCGTTTCTATGCTGGAGTGGCAGGCAGCAAGGAAATATTTTGAGTTTGAGGCCATATGCA
DNA• Unlike a book, which is flat...• Unlike a computer screen, which is flat...• DNA is like a beautiful curved ladder
DNA helix
• The letters of the DNA make up the rungs• Other chemicals make up the rail (backbone)
• A pairs with T• G pairs with C
• Fit like jigsaw puzzle pieces
DNA activity
• Pick a DNA letter• Form DNA String 1 • Find a “DNA friend” to form DNA String 2
A is friend with T (both sharp)G is friend with C (both round)
AA A T T CCCGG ß String 1| | | | | | | | | | T T T A A GGGCC ß String 2
“1 + 1 = 2” in DNA language?• GTGATGGGTGATGGATGGTGGGATCAGTGGGCCCCTGGGAAAGGCCAGGTGTGGCTTCAGCACTCTGGGA
GTTTTGGGTACCTTTATGTCTAGGGACACAAAGAGGTAGATGGACACAGTGGTTTGAGCTGCAGAAGAGA GTTGGGCGGCCACCTGTCCACAGGTGAGGATGAGGTTTCTTGGGAGAGTAGAGAGAAAGGGGAGGCTTTT AACTGTTAGTAGTGGAAAGATGGCTTGCAATGGAGATAAAGGCTACCACAGAGGGGAGGAAAGCCCAGAG CCTGGAGGCCAGGGGGCAGGATCTGGGGCAGGGGCTGACCCAGTGTGGCATTCTCCATATGCTGGAAATG TGAGAAGAGACTCCACAAGCCGGAGCTCCCTCAGCTCCTTGGGGCCGCTGGCTCTACCAGCTCACTCGCT GGTTGTTGGGTTTCCGCAGTTTCCATTTGGGGTTCTGTCACTGACCTGCAGGCAGCCGGCTTGTCGCGGG CTGTGGCTCTTGCGCCGGCCACCCGCGGGACCCGCGCAGTTTCGGCGGAGCGCGGCGGGGTCCGTGTGGG TCCGACCCGTGGGGAGGTGTGGCTGGCGCGCCTGTGCTCTCGGCCCGGCCACCCACTGAGGCGCCAGGAG GCGCATTCCGCAGGGCGGCGGGGAGCAGGTCCGGTGTTTCGAGGAGCATGGGACACAGTTTCCAAGCTGG CCTGCAGGATGGGCGAAGGGACACCGAACTACAGCGGCACAGCGCCGGGCCAAACTGCCCGCAGCTGGGG TAGCAGAGGAGGCTTGCGGCAGCGGCGCCGCGGGGAGGGGTCCTGGCCCCGGGCTGGGAGCGGGGCTGGG CGGCCGCGTGCCCGGCTGCGCGTTTGCTGGCGCTGCTCGTTTCTCCCCGAGAGGTGCGCCTGGCCTGCCG CGGGGCCGCCAGTCCCGGGGGGCCCTGCGAACGCGGCCCTCGGCAGAGCCCACCCGCGGCCTCCCGAGGC CCTCTCCCGGGCCCCGCCCCTCCTCCCAGGCTGGAAGGAGGCGTACTCTTTCAAACAAGAACAGAAAACG GATGGAAAGCCACGATGTTTGGCTTAACGTTCTAGAAGCTTTTAACCAAGTTCACATGTTGAAAAATCCA CCTGAAGGGATATACGGTCACACTCGCGGTCTCGGTCCAGGCCCGAAGTGGGGTGGGGGCACCGCACCCT ACACTGCCCTCAGCGGGACACCCCTGTCTCAGCCCAGGACCGGCTGAGGAGGAGGCTGACCCCTGGACGG GCTTCTTCAGGCCTTCTTGGCCGCAGGGCTTCTCCTGCCCCCTCCCTGGGATCCGGGAACTAGAAGGAAT GCTTCAAATGCAACGGTCACAGCATCGCTCCTGCGGACACCGCCAGGCTCCCGAGACACGGCTACGCCTC CGGCTCACAGTCACGCCCGACACAGACAGACCACCTCCAACGAAAAGCCACGCCCCCGGAGACACGACCA CACCTCGGAGACAGGCCATGCCCCCGGAGACACTACCAAGCCCCAGAGACACGACCACGCCCCAGGAGAC ACAACCACGCCCCGGAGACAAGCCATGCCCCCAGAGACACGGCCACGCCTTGGAGACAAGCCACGCCCCC GAGACCAGCCACCTCCCGGAGACACGACCACGCCCCGGAGACAAGCTACGCCCCCGGAGACACATTGACG CCTTTGCAGACGCAGCCAGGCCCCCGGAGAGAAGGGCCGTGCTCCGAGAGACACAGCCATGCCCTGTGGA CCCAGCCAGGCCCCTGCAAGCATAGCCAGGGGCGGTTTCTCGCTCAGAGGGACGCCTTGGGGCTGAGCAG
(Any kind of) Computer
• Encode data
• Electronic computers
bits 0 and 1
• Perform operations
• Electronic computers
bit flip, test a bit, zero a bit
Lila Kari, University of Western Ontario
EbEEncode data PerformPerfPerform operations
Lila Kari, University of Western Ontario
DNA Computer
• Input / Output (DNA)§ Data encoded using the DNA
alphabet {A, C, G, T} and synthesized as DNA strands
• Bio-operations§ Cut§ Paste§ Copy§ Anneal§ Recombination
Hamiltonian Path Problem
• Hamiltonian Path:* Starts at “Start”* End at “End”* Enters every node exactly once
Hamiltonian Path Problem (HPP): “Does a given graph have a Hamiltonian Path?”
Lila Kari, University of Western Ontario
Algorithm for solving HPP• Generate random paths in the graph• Keep only those paths that begin with start
and end with end• If the graph has N nodes, keep only those
paths that enter exactly N nodes• Keep only those paths that enter each node
at least once• If any paths remain, say YES, otherwise NO
Lila Kari, University of Western Ontario
Example
1) Generate random paths2) Eliminate paths that do not start with 0 or
do not end with 6, like3-4-5-2 and 2-3-4-5-6
3) Keep only paths that enter exactly 7 nodesthat is, eliminate too short or to long paths like0-6 and 0-3-4-5-6 and 0-3-4-5-2-3-4-5-6
Lila Kari, University of Western Ontario
Example continued
4) Keep only paths that enter every node at least once, that is, eliminate paths like
0-3-2-3-4-5-65) If there is any path left, say YES, else NO
The only path left is 0-1-2-3-4-5-6The answer is YES.
Lila Kari, University of Western Ontario
Encoding the input as DNA: Nodes
• For each node, a 20-letter DNA strand was generated, for example
O2 = TATCGGATCG GTATATCCGA
O3 = GTTATTCGAG CTTAAAGCTAO4 = GGCTAGGTACCAGCATGCTT
Lila Kari, University of Western Ontario
Encoding the input as DNA: Arrows
• For each arrow, a DNA sequence was created consisting of
* the second half of the source node * the first half of the target node
O2-3 = GTATATCCGA GCTATTCGAG
o3-4 = CTTAAAGCTA GGCTAGGTAC
Lila Kari, University of Western Ontario
Step 1: Generating paths
• By using complements of nodes as splints, compatible edges were ligated
O2-3 O3-4GTATATCCGAGCTATTCGAGCTTAAAGCTAGGCTAGGTAC
| | | | | | | | | | | | | | | | | | | |
CGATAAGCTCGAAT TTCGAT
O3
Lila Kari, University of Western Ontario
DNA Paths
• The DNA nodes and DNA arrows fit together like two layers of bricks
Lila Kari, University of Western Ontario
Step 2• Keep only those paths with correct start and
end• To implement Step 2, the product of Step 1
was amplified by Polymerase Chain Reaction (PCR) with primers O0 and O6
• Thus only molecules that begin with node 0and end with node 6 were amplified
Lila Kari, University of Western Ontario
Step 3
• Keep only paths of correct length• To implement Step 3, the product of Step 2
was run on an agarose gel• The band corresponding to the path entering
exactly 7 nodes was excised and soaked in water to extract DNA
Lila Kari, University of Western Ontario
Step 4• Keep only those paths that pass through
each node at least once• The product of Step 3 was affinity-purified
with a biotin-avidin magnetic beads system• Generate single-stranded DNA from the
double-stranded DNA product of Step 3• Incubate the single stranded DNA with O1
conjugated to magnetic beads• Repeat the process successively: O2... O5
Lila Kari, University of Western Ontario
Step 5
• Is there anything left in the test tube?• The product of Step 4 was amplified by
PCR followed by determining the DNA sequence of the amplified process.
• The result was sequenced and the Hamiltonian Path was read out
Lila Kari, University of Western Ontario
Note!
• Adleman’s DNA algorithm not only gives a solution to a mathematical problem
• The solved problem is a
Hard Computational Problem!!!
Lila Kari, University of Western Ontario
Lila Kari, University of Western Ontario
Biomolecular (DNA) Computing• Hamiltonian Path Problem [Adleman, Science, 1994]• DNA-based addition [Guarnieri et al, Science, 1996]• Maximal Clique Problem [Ouyang et al, Science, 1997]• DNA computing by self-assembly [Winfree et al, Nature 1998]• Computations by circular insertions, deletions [Daley et al,1999]• DNA computing on surfaces [Liu et al, Nature, 2000]• Molecular computation by DNA hairpin formation[Sakamoto, Science, 2000]• Programmable and autonomous computing machines made of biomolecules
[Benenson et al, Nature, 2001]• 20-variable Satisfiability [Braich et al., Science 2002]• An autonomous molecular computer for logical control of gene expression
[Benenson et al, Nature, 2004]• 12-tooth DNA gear [Dietz, Douglas, Shih, Science, 2009]• DNA nanotechnology: origami circuit boards [Rothemund, Nature
Nanotechnology, 2009]• DNA nanobots carrying gold particles [Chao et al., Nature 2010]
Lila Kari, University of Western Ontario
How Does Nature Compute?
• Technical difficulties encountered in experimental DNA computations (error-detection, error-correction) are routinely solved by biological systems in nature
• Idea: study and utilize the information-storing and computational abilities of unicellular organisms
DNA-encoded information
“ORGANIC DATA MEMORY Using the DNA Approach” – [Wong et al, CACM ’03]•For very long-term storage and retrieval, encode information as artificial DNA strands and insert into living hosts.• Bacteria, even some bugs and weeds,might be good for hundreds of millions of years.
• The DNA-encoded English text was inserted into bacteria: Deinococcus Radiodurans –which survive extreme conditions, desiccation, partial vacuum, high doses of radiation
Computer files stored accurately on DNA
Lila Kari, University of Western Ontario
Scientists have recorded data such as Shakespearean sonnets and an MP3 file on strands of DNA, in a breakthrough which could see millions of records stored on a handful of molecules rather than computer drives. (N.Goldman, Nature 2013)
Lila Kari, University of Western Ontario
• Guided Recombination System = A formal computational model based on contextual circular insertions and deletions
• Such systems have the computational power of Turing Machines (Landweber, Kari, ’99)
• The model is consistent with the limited knowledge of this biological process
Ciliate Computing
Multicellular computing (Tamsir, Tabor, Voigt, Nature 2010)
Lila Kari, University of Western Ontario
NOR gates implemented by bacteria and chemical wires
Lila Kari, University of Western Ontario
Computation by DNA Self-Assembly(Mao, LaBean, Reif, , Seeman - Nature, 2000)
Lila Kari, University of Western Ontario
Nanoscale DNA Tetrahedra(Goodman, Turberfield - Science, 2005)
Fast DNA origami opens way for nanomachines
Lila Kari, University of Western Ontario
DNA strands can be coaxed to fold up into shapes in a matter of minutes.The finding could radically speed up progress in the field of DNA origami and nanomachines. (H.Dietz, Science,2012)
Sierpinsky Triangles(Fujibayashi, Hariadi, Park, Winfree, Murata ’07)
• Cellular automaton pattern self-assembled starting from a seed built by DNA origami
Lila Kari, University of Western Ontario
Lila Kari, University of Western Ontario
Twisted and Curved Shapes(Dietz, Douglas, Shih-Science 2009)
DNA Nanobots Carry Gold (Gu, Chao, Xiao, Seeman, Nature 2010)(G, Chao,
Xiao, Seeman, Nature 2010)
Lila Kari, University of Western Ontario
Lila Kari, University of Western Ontario
Potential Advantages of DNA Computing
• Information density1 gram of DNA (1 cm3 when dry) = 1 trillion CDs1 lb DNA – more memory then all computers together.
• SpeedThousand to million times faster than an electronic
computer due to massive parallelism• Energy consumption
thousand times more energy efficient
DNA is tiny• The human body has 100 trillion cells• One human cell has 2 meters of DNA• A human body has enough DNA to reach
from Earth to Sun and back, 300 times
Lila Kari, University of Western Ontario
IMPACT OF DNA COMPUTING
• Sheds new light into the nature of computation• Opens prospects of radically different
computers• Could lend new insights into the information
processing abilities of cells