The first DNA computer
Leonard M. Adleman, a researcher at the
University of Southern California, invented the first DNA computer in
1994. His device looked nothing like a conventional computer. It
consisted of a test tube filled with clear liquid, and required the
performance of several chemical processes to complete its task: a
demonstration that solved a math problem.
This problem, called the Hamiltonian
Path Problem, is a special case of the “traveling salesman
problem.” To solve the Hamiltonian Path Problem, the DNA had to
find the a path that passed through each of seven cities exactly
once, with the constraints that only certain routes between cities
In this case, the DNA used the “shotgun
approach”: that is, it generated all possible paths and discarded
all but those which passed through each city exactly once.
The cities were encoded in short
segments of DNA. Each path between two cities was also coded in a
short segment of DNA These codes were connected to the city codes in
an ingenious way.
Say each city code was made of six
bases. London might be ACGGTT, and New York might be CTCAAG. The
complements of these codes are TGCCAA and GAGTTC, respectively. The
code representing the path between two cities is made from the first
half of one city code's complement and the second half of the
other's. Thus, the path from London to New York would be represented
by CAAGAG, and the path from New York to London by TTCTGC.
The short strands of DNA making up the
city codes and the codes for the possible paths were synthesized
using existing technology, then mixed together. Because of DNA's
natural tendencies to link together and to hybridize, double strands
of DNA were generated which represented, on one strand, a sequence of
cities in order, and on the other, the sequence of paths between
Existing technology called gel
electrophoresis allowed researchers at the time to separate DNA
strands by size. Strands containing exactly seven cities were
separated from the rest using this method. Next, another technique
called affinity purification was used to check each strand for the
city codes it contained. The strands were run through the affinity
purification process once for each city. The result allowed the
selection of only those strands containing all seven cities.
This DNA computer was quite
unsophisticated compared to conventional computers. For example, it
did not use logic gates, which make modern computing possible. That
advance took another three years. It was not self-contained, as
required a great deal of human intervention to do the chemistry at
each step. The DNA was only the “software.” More modern DNA
computers, such as the computational gene, contain both the software
and the hardware and are essentially self-contained computers.