Computing with DNA

Toby Howard

This article first appeared in Personal Computer World magazine, April 2000.

IT WAS IN 1996 that Leonard Adleman, a computer scientist at the University of Southern California, devised a completely new kind of computer. As reported previously in Futures (December 1996), Adleman used DNA -- the molecule of life -- to compute a solution to a particular mathematical problem. His approach kick-started a brand new field of research -- biological computation.

Adleman showed how it was possible to use specially-prepared pieces of DNA in a test-tube to encode the input data of a computation. He then left the molecules to their natural interactions, which included linking up to form sequences of DNA which could be chemically decoded to give the result of the computation. In effect, because Adleman's "computer" contained vast numbers of identical pieces of DNA, it was performing a million million calculations in parallel.

Although Adleman's technique is revolutionary, it turns out to be suitable only for a few limited types of problem. Now there's a new approach, pioneered by Profesor Ehud Shapiro of the Weizmann Institute of Science. Shapiro has found a way to use DNA as a truly general-purpose computer, suitable for solving any kind of problem.

The idea is to use DNA to operate as a "Turing Machine". This hypothetical computer design was devised by the British mathematician Alan Turing in 1935. Turing's machine is a computer boiled down to the barest of essentials. It consists of an infinitely long tape, which passes through a read/write head. The head can read back a symbol stored on the tape, or write a symbol to the tape. At any time, the machine is in a certain state, and it uses the symbol it reads from the tape, and a set of internal rules (its "program") to change its state. This might involve winding the tape forwards or backwards a number of symbols, or rewriting the symbols on the tape, and so on.

To start the machine, you load the tape up with symbols, and start the program. When the machine halts, the symbols remaining on the tape are the solution to the problem. If you want to see what a Turing machine looks like in action, try one of the various Java simulation applets on the Web, such as Suzanne Britton's (her palindrome detector is nice).

Of course, Turing never meant his machine to be actually built -- it's actually just a mathematical model of the fundamentals of computing: reading data, making decisions, and writing data. But Professor Shapiro is proposing that a real Turing machine can actually be efficiently built using the biochemistry of living cells.

Shapiro's machine will exist in a sea of organic molecules in a test-tube. The tape will be made from a huge polymer of linked-up molecules -- where each individual molecule represents a symbol on the tape. The read/write head will be a kind of molecular "reaction vessel" which fits over the part of the polymer corresponding to the current symbol being processed. The overall state of the machine will be encoded by "transition" molecules, which bind to the current symbol molecule. There'll be a unique transition molecule for every possible state the machine can be in. As for programming the "machine", this will be done by determining the possible chemical reactions between transition molecule and symbol pairings.

Like Turing's original machine, Shapiro's, for now at least, remains only theoretical. But he's confident that given time the biochemists will be able to really build it: "Logically, the device is not more complicated than the biomolecular machines of the living cell," he says.

If the Shapiro machine could ever be made to work, its implications would be astounding. A cell could be programmed to monitor its environment for abnormalities and synthesise and dispense the appropriate drugs. Such cells could be sent off around the body as trouble-shooters, checking that specific organs are working properly, sending back data or doing on-the-spot repairs.

Because a Shapiro machine is a Turing machine, it could in principle be programmed to solve any problem you like. You could have a computer in every cell of your body, and no-one would ever know.

Toby Howard teaches at the University of Manchester.