3Are Humans Machines?Up to recently it was possible to avoid the questionDescartes and others were the first to propose that organisms are complicated machines“But have you ever have seen a machine procreate?”Machines were/are quite simple compared to organisms, so it’s easy to weasle out of that question …
4A car is simpler than a plant … Today there are machines that can produce other machinesBut the products seem simpler than the plantA car plant is a lot more complex than the plantMust a product always be simpler than its producer?Does the description of a factory need more bits of information than the description of the things it turns out?This would be somewhat reminiscent of the second law of thermodynamics
5John von Neumann Father of modern computer architecture Did not believe in such lawThought experiment:‘haunted warehouse’Robot can walk through a warehouse with robot components
6Robot building robot Do not accept trivial solutions What is a component?Some form of prefabrication is allowedBut a robot switching on another robot is not an interesting solutionTrivial self-production. Putting two robots halves together is also trivial self-productionComponents must be simpler than original robot in some sense
7Copying of Information The essential problem is copying of informationNot only must a new automaton be constructedIts program must also be copiedIf the program is already present in the new parts, we have trivial self-replication
8DualityVon Neumann decided to create an automaton constructed from two parts:A construction unit – able to build components from smaller parts, given the right instructionsAn instruction unit - telling the machine how to create a copy of itselfDualityComputer – programCell - genome
9Paradox?The instruction has to contain – one way or another – a full description of the automaton: construction unit and instructionInfinite regress: the instruction needs to contain a copy of the instruction, which needs to contain a copy of the instruction, etc.
10PreformationismThis problem was recognised in biology in Descartes timePreformationism vs epigenesisPreformationism holds that an embryo or miniature pre-exists in the egg or semenEmbryos would develop in true adults, which are somehow encased to each otherIndividuals formed by God at creationAlso here: infinite regress
11Solving the Paradox The instruction does not need to contain itself! The construction unit creates a copy machine, which can copy the instructionConstruction of a new robots:Create a copy of the instruction in the old robot in a copy machine provided by the construction unitHand it over to the construction unit of the new robots
12Duality The program is used in two different ways: TranslatedCopiedIn one role it’s in command, directing the construction, in the other role it is just data being passively copiedInterpreted vs. uninterpreted
13Correspondence in living cell The genome runs the cellPrescribes which proteins must be producedMessage, code gets translated into sequences of aminoacids, resulting enzymes are machine tools of construction unitSome enzymes are replicases, corresponding to the copying unitA virus replicates itself, not by specifying the construction of its own copying unit, but by commandeering the unit built by another programCan show that there will never be a universal system to detect all computer viruses
14DNA computers "the smallest biological computing device" (Guinness World Records)Biochemical "nanocomputers" already exist in nature; they are manifest in all living things. But they're largely uncontrollable by humans. We cannot, for example, program a tree to calculate the digits of pi!The idea of using DNA to store and process information started in 1994 when a California computer scientist, Leonard Adleman, used DNA in a test tube to solve a simple mathematical problem: (a variant of) the travelling salesman problem.
15The problem: Directed Hamiltonian Path Given a graph with directed edges, find a Hamiltonian Path, i.e. a path which starts at one node, finishes at another, and goes through all other nodes exactly once.Variant of the travelling salesman problem where all roads are the same length:A salesman wants to travel over a fixed set of roads between N different towns without ever coming back to a town he has already visited.Find a sequence of fights which goes from Fresno to Boston landing at all other airports exactly once.
16How hard is it?A P problem is one which can be solved in polynomial time, basically at a rate which is some fixed power of N, where N is the size of the problem. An NP hard problem is one for which no one knows an algorithm which does not take exponential time (2 or some other power of a number > 1).Methods taking exponential operations can work out whether or not such a route exists and report it if it does, but even for small problems they take too much time to be practical.Any NP problem can be transformed to another in P time – so solve one efficiently and can solve any NP problem efficiently!
17So how did Adleman do it?he had 3x1013 copies of each of 20 or so molecules, so about six hundred million million molecules at his service. This was like having six hundred million million (albeit very rudimentary) computers working on the problem at the same timeParallel approachLike using lots of passengers to find Hamiltonian path in flight networkingenious set of steps, using recombinant DNA technology, to filter out all except the strands representing a Hamiltonian path.Adleman uses DNA molecules for their computational ability alone. As a part of DNA's replication mechanism, a strand can recognize complementary strands or parts of strands by bonding to them. This is the only computation these molecules can perform, but it turns out to be enough.Doesn’t replicate/use much of the way DNA works in living organisms (e.g. involving amino acids/proteins)
18Bluffer’s guide to DNADNA (Deoxyribonucleic acid) is the molecular basis of genetics. For our purposes, the following features are important.A DNA molecule is made of two intertwined, parallel strands (the “double helix'‘”.Each strand has the following structure:p p p p = phosphate.. \ / \ / \ / \ / ...s s s s s = sugar| | |b b b b b = basewhere each b can be any one of four bases:= adenine, = thymine, = cytosine, = guanine.Two consecutive s-p bonds must occur at distinct places on the s molecule: one at the 3' (``three-prime'') position and one at the 5', so each strand has a 3'-end and a 5'-end, and so strands can be systematically oriented. We will writewhen the strand is being read from the 3'-end to the 5'-end, and when the strand is being read the opposite way, that is, from the 5'-end to the 3'-end.
19Bluffer’s guide contd.The two intertwined strands in a DNA molecule have opposite orientations, and complementary base sequences. This means that opposite every on one strand is a on the other, and opposite every is an . Likewise opposite every on one strand is a on the other, and opposite every is a . A typical stretch of the DNA molecule looks like:Usually abbreviated to
20Encoding vertices and edges with DNA strands Adleman assigned to each vertex, and to each link, a single DNA strand 20 bases long.E.g.Vertex 2 TATCGGATCGGTATATCCGAVertex 3 GCTATTCGAGCTTAAAGCTAVertex 4 GGCTAGGTACCAGCATGCTTLink 2! 3 GTATATCCGAGCTATTCGAG- Note that Link 2 ! 3 is made of the last half of 2 plus the first half of 3.Link 3!4 CTTAAAGCTAGGCTAGGTACHe used a slightly different representation for start and finish nodes, which we will ignore here.We will use a simplified representation with just 8 bases in rest of these slides
21The simplified representation Note: Chi->Dal would be a completely different string
22Using complementarity to link connecting flights In the experiment, strands representing the flights are mixed in a test tube with the complements to the strands representing the airports. If Atlanta* represents the complementary strand, etc., this givesThe test-tube then holds
23Shake the test-tube: generate all possible routes complementary sections of strand will bond, yielding products of reaction like:DNA synthesizer with 1013 copies of each city* and flight to ensure all routes are generated. Still fits in a test-tube!
24Using recombinant chemistry to extract the solution In Adleman's Hamiltonian path experiment (involving seven ``airports'' and fifteen ``flights'') the yield of the first mixing included molecules likeBut also like:in which an airport is visited more than once. Also the sequences shown here visit only three of the seven airports, and none of them start with Fresno or end with Boston.
25DNA manipulations Transcription and translation Sequence of DNA is transcribed: nRNAPolymerase recognizes the region to be transcribedmRNA copy translated into protein
28DNA manipulations Addition of an oligo with a magnetic bead Removal of ‘strings’ containing specific ‘substrings’GCTACGATN/S
29DNA manipulations Gel electrophoresis Apply voltage over gel The longer the strand, the more difficult it movesStain with fluorescent dyeMarket lanes
30Using recombinant chemistry to extract the solution (contd) A sequence of steps (the chemical details are given in Adleman's article) uses recombinant DNA technology to eliminateAll molecules which do not start with Fresno* and do not end with Boston*.Polymerase chain reactionAll molecules which do not contain exactly 7 airports (i.e. all molecules which do not have a certain exact length).Gel ElectrophoresisAll molecules which contain a repeated airport.Affinity purificationIf there is anything left, it must be molecules encoding a path that goes from Fresno to Boston visiting each of the other airports exactly once: the graph has a Hamiltonian path.In our example there is exactly one such path, which can be read off by analysis of the yield of the complete experimentGraduated PCRIt is interesting that even though this whole procedure is completely artificial, the ``technology'' which permits the various steps comes from the harnessing of the enzymes used by cells themselves to replicate, to transcribe and when necessary to destroy DNA.
31CommentsThe initial calculation took approximately one second but Adleman’s extrapolation was performed over a period of a week.Method scales in time, but not space – needs exponential amount of DNA – for 200 cities DNA would weigh more than the earth!Stochastic, so possible problems of compounding errorsThere are many advantages of DNA Computing such as performing millions of operations simultaneously, generating a complete set of potential solutions, conducting large parallel searches, efficiently handling massive amounts of working memory.None of the researchers have been able to redo the experiment done by Adleman in the wet lab. The problem is because of the underlying assumption that the biological operations are error-free. Adleman talked of a week of work in lab, but tuning such an experiment could take one month work.Many researchers thought of implementing the idea on DNA Computing in actual computers but there are advantages and disadvantages and because of the technological issues DNA Computers are not in use yet.DNA Computers have amazing property of parallel computing, incredibly light weight, consumes low power and solves complex problems quickly.DNA Computers have a great disadvantage of time, they are occasionally slower and are not reliable.
32Current status DNA computers can perform rudimentary functions. DNA computers are programmable, but not universal.Speed and size:DNA computers surpass conventional computers: The DNA molecule found in the nucleus of all cells can hold more information in a cubic centimeter than a trillion music CDs. A spoonful of DNA "computer soup" contains 15,000 trillion computers.
33Current status (2) Parallelism: DNA strands produce billions of potential answers simultaneously.Energy efficiency:A biological system such as a cell can perform 2x1019 power operations using one joule of energy (the amount of energy needed to burn a 100-watt light bulb for a second), while a supercomputer only manages 1010 operations, making it 1010 less energy efficient!
34Formalization: filtering models AdlemanSeparate(T,S). Given a set T and a subset S, create two new sets +(T,S), -(T,s)Merge (T1, T2, …, Tn), Given set T1, T2, .. Tn, create their unionDetect(T). Given a set T, return true if T is nonempty, otherwise return false
35Example: 3-vertex colouring problem Some graphs can be coloured using three colours, such that no adjacent vertices have the same colour:
36Example: 3-vertex colouring problem Others can’t
37‘Algorithm’ Input(T) for I = 1 to n do begin Tr <- +(T, ri) and Tbg <- -(T,ri)Tb <- +(T, ri) and Tg <- -(T,ri)for all j such that <i,j> ε E do beginTr <- -(Tr, rj)Tg <- -(Tg, gj)Tb<- -(Tb, bj)end forT <- merge (Tr, Tg, Tb)Output(detect(T))
38DNA solution of the maximal clique problem. The maximal clique problem has been solved by means of molecular biology techniques. A pool of DNA molecules corresponding to the total ensemble of six-vertex cliques was built, followed by a series of selection processes. The algorithm is highly parallel and has satisfactory fidelity. This work represents further evidence for the ability of DNA computing to solve NP-complete search problems. (Science 1997)
39Solution of a 20-Variable 3-SAT Problem on a DNA Computer A 20-variable instance of the NP-complete three-satisfiability (3-SAT) problem was solved on a simple DNA computer. The unique answer was found after an exhaustive search of more than 1 million (220) possibilities. This computational problem may be the largest yet solved by nonelectronic means. Problems of this size appear to be beyond the normal range of unaided human computation. (Science 2002)3SAT: given a set of triples of propositional variables, each representing a disjunction, find whether there is an assignment of T/F to the variables to make all the disjunctions true.
40Satisfiability problems Φ = (~x1 or ~ x16 or x18 ) and (~x3 or ~ x7 or x12 ) ….For which combination of xi is Φ true?Since i = 1 , … , 20 and a combination of three variables is tested, this is called the 20 variable 3SAT problem
41“The smallest biological computing device" (Guinness World Records 2003) “Think of DNA as software, and enzymes as hardware. Put them together in a test tube. The way in which these molecules undergo chemical reactions with each other allows simple operations to be performed as a byproduct of the reactions. The scientists tell the devices what to do by controlling the composition of the DNA software molecules. It's a completely different approach to pushing electrons around a dry circuit in a conventional computer.” (National Geographic)330 trillion operations per second,the single DNA molecule that provides the computer with the input data also provides all the necessary fuel.programmable, but not universalcan only answer yes or noE.g. can check whether a list of zeros and ones has an even number of ones. The computer cannot count how many ones are in a list