DNA-Computing Search
DNA-Computing Search
1. Introduction
Evolution is a concept of obtaining adaptation through the interplay
of selection and diversity. Analogies from evolution have been used in
both computing and molecular biology. These two areas are called
"evolutionary computation”. From the beginning of DNA based
computing to the present there have been calls to consider carrying out
evolutionary computations using genetic materials in vitro [1].
Some details are obtained in reviewing the field of evolutionary
computation, which consists of machine learning optimization and
classification paradigms that are roughly based on evolution mechanism
such as biological genetics, natural selection, DNA (Deoxyribonucleic
Acid) and emergent adaptive behaviour. DNA computation paradigms
provide tools to build intelligent systems that model intelligent behaviour.
The evolutionary computation field has been considered by many
researchers to include:
genetic algorithms
evolutionary programming
evolution strategies (DNA)
genetic programming
Chromosomes in nature are formed of twisted strands of DNA,
composed of the four proteins adenine, cytosine, guanine, and thymine.
These strands are presently understood as a kind of computer program
that gives instructions to the cells that comprise the organism; the DNA
sequence contains instructions about how to develop and what to do.
While our digital computers use the base-two or binary number system to
encode program instructions and data, chromosomes use a base-four
method, encoded in the ordering of the four proteins [2].
1
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
Also during the same time Charles Bennet's has done some work on DNA
computing. Adleman, now considered the father of DNA computing, (he
is a professor at the University of Southern California) and started the
field with the research, "Molecular Computation of Solutions of
Combinatorial Problems" [6]. 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, such as the government's supposedly
uncrackable DES [7]. In DNA computing, information is stored in
molecules that are linear polymers composed of nucleotides. Adleman's
ground-breaking work demonstrated the way to use molecules for
computational purposes. The extreme compactness of DNA as data
storage is nothing short of incredible. Baum first proposed the idea of
using DNA annealing to do parallel associative search in large databases
encoded as DNA strands. The idea is very appealing since it represents a
natural way to execute a computational task in massively parallel fashion.
Arita suggests encoded data and report his experimental results of
performing concatenation and rotation of DNA. His work also shows the
possibility of joint operations in relational database with molecules.
However, these models regarding the associative memory or database are
not based on knowledge representation for artificial intelligence. It is
important to purpose a new model to new type computers like DNA-
based computers for further development of artificial intelligence [8].
3
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
strands of DNA are used to represent bit streams and biological processes
allow these strands to be manipulated in parallel. In general, all of the
possible solutions are represented in a tube and operations are performed
to weed out invalid ones.
There are only a small number of elementary operations which are
possible in the sticker model, but these operations can be combined to
form a fairly robust set of bit string manipulations. However, one of the
major problems that must be dealt with in DNA algorithm design is the
lossy nature of biological computation.Therefore, any DNA algorithm
designer must be concerned with two major problems: how to synthesize
complex algorithms out of only a few basic operations, and how to
evaluate the performance of those algorithms in the presence of errors to
assure that an acceptable solution will be found in most executions [9].
4
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
5
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
6
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
7
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
5‟-ACCTGC-3‟
3‟-TGGACG-5‟
4.4 The Fundamental Schema of DNA
The fundamental schema of a DNA algorithm, for solving an instance
of a combinatorial problem, is the following:
i) Generation of a pool DNA strands encoding all possible solutions
(the solution space).
ii) Extraction of those that are the true solutions of the given instance.
The second step is performed by a sequence of elementary extraction sub-
steps, where at each sub-step all the strands where a specific sub-strands
occurs are selected from the pool and constitute the input for the next
extraction sub-step. These two steps are usually of complexity that is
linear in time with respect to the size of the given instance. This is the
conceptual strength of DNA computing, because the pools that are
8
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
9
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
10
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
Q M
1. Watson-Crick pairing
CITY DNA NAME DNA NAME COMPLEMENT
K ATCGTCGA TAGCAGCT
M GTACACTA CATGTGAT
D TCAGACGA AGTCTGCT
Q CGATCGAT GCTAGCTA
11
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
2. Polymerases
CITY DNA NAME DNA NAME COMPLEMENT
K 5„ATCGTCGA3‟ 3„TAGCAGCT5‟
M 5‟GTACACTA3‟ 3‟CATGTGAT5‟
D 5‟TCAGACGA3‟ 3‟AGTCTGCT5‟
Q 5‟CGATCGAT3‟ 3‟GCTAGCTA5‟
3. Ligase (with complement)
FLIGHT DNA FLIGHT COMPLEMENT NUMBER
K-M 3„TAGCAGCT CATGTGAT5‟
K-D 3„TAGCAGCT AGTCTGCT5‟
M-D 3‟CATGTGAT AGTCTGCT5‟
Q-D 3‟GCTAGCTA AGTCTGCT5‟
M-Q 3‟CATGTGAT GCTAGCTA5‟
M-K 3‟CATGTGAT TAGCAGCT5‟
4. Restriction Enzymes
FLIGHT DNA FLIGHT NUMBER
K-M 5„TCGAGTAC3‟
K-D 5„TCGATCAG3‟
M-D 5‟ACTATCAG3‟
Q-D 5‟CGATTCAG3‟
M-Q 5‟ACTACGAT3‟
M-K 5‟ACTAATCG3‟
12
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
KMD
3‟TAGCAGCTCATGTGATGCTAGCTAAGTCTGCT5‟
5‟TCGAGTACACTACGATCGATTCAG3‟
MQ
3‟CATGTGATGCTAGCTA5‟
5‟ACTACGAT3‟
KMQ
3‟TAGCAGCTCATGTGATGCTAGCTA5‟
5‟TCGAGTACACTACGAT3‟
QD
3‟GCTAGCTAAGTCTGCT5‟
5‟CGATTCAG3‟
KMKMD
3‟TAGCAGCTCATGTGATTAGCAGCTCATGTGATAGTCTGCT5‟
5‟TCGAGTACACTAATCGTCGAGTACACTATCAG3‟
KMQD
3‟TAGCAGCTCATGTGATGCTAGCTAAGTCTGCT5‟
5‟TCGAGTACACTACGATCGATTCAG3‟
PCR (Polymerase Chain Reaction)
For each path in the set:
Check whether that path starts at the start vertex and ends with the end
vertex. If not remove the path from the set. (here start=K & end=D)
KD
3‟TAGCAGCTCATGTGATAGTCTGCT5‟
5‟TCGAGTACACTATCAGA3‟
KMD
3‟TAGCAGCTCATGTGATGCTAGCTAAGTCTGCT5‟
5‟TCGAGTACACTACGATCGATTCAG3‟
13
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
KMKMD
3‟TAGCAGCTCATGTGATTAGCAGCTCATGTGATAGTCTGCT5‟
5‟TCGAGTACACTAATCGTCGAGTACACTATCAG3‟
KMQD
3‟TAGCAGCTCATGTGATGCTAGCTAAGTCTGCT5‟
5‟TCGAGTACACTACGATCGATTCAG3‟
6. GEL electrophoresis & DNA synthesis
a. Check whether that path passes through exactly n vertices (here n=4).
If not, remove that path from the set.
b. For each vertex, check whether that path passes through that vertex. If
not, remove that path from the set.
If the set is non empty, then report that there is a Hamiltonian path. If the
set is empty, report that there is no Hamiltonian path.
KMQD
5'TCGAGTACACTACGATCGATTCAG3'
Note that there are no limitations to use all these steps in each DNA
computing system, thus the sequence of using these steps may change
according to the case needed.
14
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
15
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
16
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
17
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
18
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
19
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
20
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
22
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
24
Ph.D. A.I. Nature Inspired Algorithms DNA Computing Search
25