Bio-Molecular Computing

advertisement
Bio-Molecular Computing
Molecular computing is an emerging field to which chemistry,
biophysics, molecular biology, electronic engineering, solid
state physics and computer science contribute to a large
extent. It involves the encoding, manipulation and retrieval of
information at a macromolecular level in contrast to the
current techniques, which accomplish the above functions via
IC miniaturization of bulk devices. The biological systems
have unique abilities such as pattern recognition, learning,
self-assembly and self-reproduction as well as high speed
and parallel information processing. The aim of this article is
to exploit these characteristics to build computing systems,
which have many advantages over their inorganic (Si,Ge)
counterparts.
DNA computing began in 1994 when Leonard Adleman proved
thatDNA computing was possible by finding a solution to a
real- problem, a Hamiltonian Path Problem, known to us as
the Traveling Salesman Problem,with a molecular computer.
In theoretical terms, some scientists say the actual
beginnings of DNA computation should be attributed to
Charles Bennett's work. Adleman, now considered the father
of DNA computing, is a professor at the University of
Southern California and spawned the field with his paper,
"Molecular Computation of Solutions of Combinatorial
Problems." Since then, Adleman has demonstrated how the
massive parallelism of a trillion DNA strands can
simultaneously attack different aspects of a computation to
crack even the toughest combinatorial problems.
Adleman's Traveling Salesman Problem:
The objective is to find a path from start to end going through
all the points only once. This problem is difficult for
conventional computers to solve because it is a "nondeterministic polynomial time problem" . These problems,
when they involve large numbers, are intractable with
conventional computers, but can be solved using massively
parallel computers like DNA computers. The Hamiltonian Path
problem was chosen by Adleman because it is known
problem.
The following algorithm solves the Hamiltonian Path problem:
1.Generate random paths through the graph.
2.Keep only those paths that begin with the start city (A) and
conclude with the
end city (G).
3.If the graph has n cities, keep only those paths with n cities.
(n=7)
4.Keep only those paths that enter all cities at least once.
5.Any remaining paths are solutions.
The key was using DNA to perform the five steps in the above
algorithm. Adleman's first step was to synthesize DNA
strands of known sequences, each strand 20 nucleotides long.
He represented each of the six vertices of the path by a
separate strand, and further represented each edge between
two consecutive vertices, such as 1 to 2, by a DNA strand
which consisted of the last ten nucleotides of the strand
representing vertex 1 plus the first 10 nucleotides of the
vertex 2 strand. Then, through the sheer amount of DNA
molecules (3x1013 copies for each edge in this experiment!)
joining together in all possible combinations, many random
paths were generated. Adleman used well-established
techniques of molecular biology to weed out the Hamiltonian
path, the one that entered all vertices, starting at one and
ending at six. After generating the numerous random paths in
the first step, he used polymerase chain reaction (PCR) to
amplify and keep only the paths that began on vertex 1 and
ended at vertex 6. The next two steps kept only those strands
that passed through six vertices, entering each vertex at least
once. At this point, any paths that remained would code for a
Hamiltonian path, thus solving the problem.
Download