dna computing: implementation of data flow logical...

18
Future Generation Computer Systems 17 (2001) 361–378 DNA computing: implementation of data flow logical operations Piotr W¸ asiewicz a,* , Artur Malinowski b , Robert Nowak b , Jan J. Mulawka a , Piotr Borsuk c , Piotr W¸ egle´ nski c , Andrzej Plucienniczak d a Institute of Electronic Systems, Warsaw University of Technology, Nowowiejska 15/19, 00-665 Warsaw, Poland b Institute of Computer Science, Warsaw University of Technology, Nowowiejska 15/19, 00-665 Warsaw, Poland c Institute of Genetics, University of Warsaw, Pawi´ nskiego 5A, 02-106 Warsaw, Poland d Institute of Biotechnology and Antibiotics, Staro´ sci´ nska 5, 02-516 Warsaw, Poland Abstract Self-assembly of DNA is considered a fundamental operation in realization of molecular logic circuits. We propose a new approach to implementation of data flow logical operations based on manipulating DNA strands. In our method the logic gates, input, and output signals are represented by DNA molecules. Each logical operation is carried out as soon as the operands are ready. This technique employs standard operations of genetic engineering including radioactive labeling as well as digestion by the second class restriction nuclease and polymerase chain reaction (PCR). To check practical utility of the method a series of genetic engineering experiments have been performed. The obtained information confirms interesting properties of the DNA-based molecular data flow logic gates. Some experimental results demonstrating implementation of a single logic NAND gate and only in one vessel calculation of a tree-like Boolean function with the help of the PCR are provided. These techniques may be utilized in massively parallel computers and on DNA chips. © 2001 Elsevier Science B.V. All rights reserved. Keywords: DNA computing; Molecular logic gates; Data flow computers; Boolean functions; One vessel PCR solution; Class 2 restriction nuclease; FokI; DNA chips 1. Introduction Digital logic circuits create the base of computer ar- chitecture [1,2,28]. In constructing computer hardware different types of logic gates, e.g., OR, AND, XOR, NAND are utilized. In conventional von Neumann ma- chines, a program counter is used to perform in se- quence the execution of instructions. These machines are based on a control-flow mechanism by which the * Corresponding author. E-mail addresses: [email protected] (P. asiewicz), amali- [email protected] (A. Malinowski), [email protected] (R. Nowak), [email protected] (J.J. Mulawka), [email protected] (P. egle´ nski), [email protected] (A. Plucienniczak). order of program execution is explicitly stated in the user program. In a data flow machine the flow of the program is not determined sequentially, but rather each op- eration is carried out as soon as the operands are ready. This data-driven mechanism allows the execu- tion of any instruction depending on data availabil- ity. This permits a high degree of parallelism at the instruction level and can be used in recent super- scalar microprocessor architectures [31]. However, in the field of parallel computing, data flow techniques are still in the research stage and industry has not yet adopted these techniques [3]. One of the approaches suitable for massively parallel operations seems to be DNA-based molecular computing [4], of course with the help of DNA chips. These high density oligonu- 0167-739X/01/$ – see front matter © 2001 Elsevier Science B.V. All rights reserved. PII:S0167-739X(99)00117-X

Upload: others

Post on 23-Aug-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

Future Generation Computer Systems 17 (2001) 361–378

DNA computing: implementation of data flow logical operations

Piotr Wasiewicza,∗, Artur Malinowskib, Robert Nowakb, Jan J. Mulawkaa,Piotr Borsukc, Piotr Weglenskic, Andrzej Płucienniczakd

a Institute of Electronic Systems, Warsaw University of Technology, Nowowiejska 15/19, 00-665 Warsaw, Polandb Institute of Computer Science, Warsaw University of Technology, Nowowiejska 15/19, 00-665 Warsaw, Poland

c Institute of Genetics, University of Warsaw, Pawinskiego 5A, 02-106 Warsaw, Polandd Institute of Biotechnology and Antibiotics, Staroscinska 5, 02-516 Warsaw, Poland

Abstract

Self-assembly of DNA is considered a fundamental operation in realization of molecular logic circuits. We propose a newapproach to implementation of data flow logical operations based on manipulating DNA strands. In our method the logic gates,input, and output signals are represented by DNA molecules. Each logical operation is carried out as soon as the operands areready. This technique employs standard operations of genetic engineering including radioactive labeling as well as digestionby the second class restriction nuclease and polymerase chain reaction (PCR). To check practical utility of the method aseries of genetic engineering experiments have been performed. The obtained information confirms interesting properties ofthe DNA-based molecular data flow logic gates. Some experimental results demonstrating implementation of a single logicNAND gate and only in one vessel calculation of a tree-like Boolean function with the help of the PCR are provided. Thesetechniques may be utilized in massively parallel computers and on DNA chips. © 2001 Elsevier Science B.V. All rightsreserved.

Keywords:DNA computing; Molecular logic gates; Data flow computers; Boolean functions; One vessel PCR solution; Class 2 restrictionnuclease; FokI; DNA chips

1. Introduction

Digital logic circuits create the base of computer ar-chitecture [1,2,28]. In constructing computer hardwaredifferent types of logic gates, e.g., OR, AND, XOR,NAND are utilized. In conventional von Neumann ma-chines, a program counter is used to perform in se-quence the execution of instructions. These machinesare based on a control-flow mechanism by which the

∗ Corresponding author.E-mail addresses:[email protected] (P. W¸asiewicz), [email protected] (A. Malinowski), [email protected] (R.Nowak), [email protected] (J.J. Mulawka), [email protected] (P.Weglenski), [email protected] (A. Płucienniczak).

order of program execution is explicitly stated in theuser program.

In a data flow machine the flow of the programis not determined sequentially, but rather each op-eration is carried out as soon as the operands areready. This data-driven mechanism allows the execu-tion of any instruction depending on data availabil-ity. This permits a high degree of parallelism at theinstruction level and can be used in recent super-scalar microprocessor architectures [31]. However, inthe field of parallel computing, data flow techniquesare still in the research stage and industry has not yetadopted these techniques [3]. One of the approachessuitable for massively parallel operations seems to beDNA-based molecular computing [4], of course withthe help of DNA chips. These high density oligonu-

0167-739X/01/$ – see front matter © 2001 Elsevier Science B.V. All rights reserved.PII: S0167-739X(99)00117-X

Page 2: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

362 P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378

cleotide DNA arrays were developed as tools for se-quencing by hybridization (SBH) [22,24]. Now it ispossible to design and synthesize in situ on the supportusing light-directed solid phase combinatorial chem-istry [23,25] square inch high-density oligonucleotidesarrays for monitoring the expression levels of nearlyall (about 6500) yeast genes equaling no more than14 MB of information [17].

The primary objective of this contribution is toshow striking adequacy of molecular computing fordata flow techniques. Logical operations consideredhere are based on self-assembly of DNA strands[6–8,18]. By self-assembly operation we understandputting together fragments of DNA during the pro-cess of hybridization [5]. We present a new approachto implementation of logical operations suitable fordata flow architectures and report first experimentswith the second class enzyme and calculation of theBoolean function with PCR in one vessel.

2. Computing properties of DNA molecules

A number of papers have appeared on generalconcept of molecular computers [9–12]. In such anapproach computations are performed on molecularlevel and different chemical compounds can be uti-lized [32]. Deoxyribonucleic acid (DNA) is usuallyused in molecular computing because this compoundserves as a carrier of information in living matter andis easy to manipulate in genetic engineering labora-tory.

The DNA molecule is composed of definite se-quence of nucleotides. There are four different nu-cleotides in such molecule depending on purine andpyrimidine bases present in the given nucleotides,which we denote by the letter: A, T, C, G (ade-nine, thymine, cytosine, guanine). Thus, the DNAmolecule can be considered as a polynucleotide ora strand or a string of letters. Since the strands maybe very long, they can carry an immense numberof bits. Therefore, particular molecules may serveas information carriers. Another interesting propertyof DNA is that particular bases may connect witheach other together forming pairs: A with T and Cwith G [33]. This process known as hybridization orannealing causes self-assembly of DNA fragments.It occurs when two DNA strands are composed of

matching (complementary) nucleotide sequences.Due to favored intermolecular interactions particularmolecules can recognize each other. As a result a kindof key–lock decoding of information is possible. Theself-assembly property may be utilized to implementthe memory of an associate type [27,29]. Accordingto Baum [13] this memory may be of greater capacitythan that of human brain. The other important featureof self-assembling is that particular molecules maybe considered as processing units performing somecomputing [30,31]. The following techniques of thegenetic engineering will be utilized in our approach:synthesis of DNA strands, labeling, hybridization,analysis by DNA electrophoresis, digestion of dou-ble strands by restriction enzymes, synthesis of DNAstrands by polymerase chain reaction (PCR) [14,15].

Examples given below show our DNA notation cre-ated in order to simplify descriptions of our experi-ments. One letter marks one strand as is seen in Fig. 1a.In our systems the upper strand usually presents dataand lower (underlined) — logic devices, rules and soon. Therefore, they cannot be exchanged. Symbolsdandc denote position of single strands in space. A cor-ner of such symbol represents 5’ end, while an openedge represents 3’ end. An underlined one is alwaysin the same position (3’ on the left, 5’ on the right)even in other double-stranded oligos.

In Fig. 1b a sign+ at the right side ofb describes asticky end ofb shorter than the nearest complementarystranda. In Fig. 1c a sign− at the right side ofbdescribes a sticky end ofb longer than the nearestcomplementary stranda. In Fig.1d the same signs−at the same sides of complementary strandsa andb

mean that these strands form a double strand with bluntends. As is seen signs can be omitted or exchange bythe pair of+. If complementary strands have the sameletter, e.g.,a, then in order to distinguish them, a signtilde (∼) is added to the one.

In Figs. 2–6 examples of notation in different casesare explained. Note that the sign+ may be addition-ally applied to mark a symbolic disjunction betweentwo ligated strands and the sign− to lengthen a strand&, of course only in the equations, not in real exper-iments. PCR may be used to lengthen an oligo by alength of a sticky end of a primer. A DNA oligo hasits length. In our experiments its length will be writ-ten in an upper right index of an oligo letter, e.g.,a345

and ligated DNA strands with letters in brackets(and)

Page 3: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378 363

Fig. 1. Analytical representation of DNA strands.

Fig. 2. The exemplary double strands described in the aboveequation.

Fig. 3. The exemplary double strands described in the aboveequation.

Fig. 5. The exemplary double strands described in the above equation.

Fig. 4. The exemplary double strands described in the aboveequation.

or | and |, e.g.,(bcd)123 = |bcd|123, |ab|67 = (ab)67.In Figs. 4–6 PCR process description is presented. 5’ends of both primers are like [ and ] brackets and anunknown (or not so important to be written) numberof PCR cycles is defined by a symbol $. In Fig. 5 both5’ ends of primers terminates exactly above 3’ ends ofstrandsa andd. Thus, brackets [ and ] are just betweenstrand letters. Now the number of amplification cyclesis equal to 35. After PCR reaction in a vessel there aremillions of amplified oligos and very small amountsof others. Therefore, a sign' is also utilized in Fig. 5.

Page 4: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

364 P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378

Fig. 6. The exemplary double strands described in the aboveequation.

3. Data flow parallel processing units

In a data flow machine [16], data availability ratherthan a program counter is used to drive the executionof instructions. It means that every instruction that hasall of its operands available can be executed in par-allel. Such an evaluation of instructions permits theinstructions to be unordered in a data-driven program[3]. Instead of being stored in a shared memory, dataare directly hold inside instructions. Computational re-sults are passed directly between instructions via datatokens. In a data flow processor the stored program isrepresented as a directed graph. Such the graph maybe reduced by evaluation of branches or subgraphs.Different parts of a graph or subgraph can be reducedor evaluated in parallel upon demand. Nodes labeledwith particular operations calculate a result wheneverthe inputs are valid, and pass that result on to othernodes as soon as it is valid which is known as firinga node. To illustrate this operation some process ofcomputation is described in Fig. 7. As is seen a noderepresenting a performed process has two incomingbranches, which represent inputs. The flow of data isshown in these pictures by introducing data tokens de-noted by black dots. In Fig. 7a there is a moment whendata on a single input has appeared and the processoris waiting for a second data token while in Fig. 7b

Fig. 7. Successive phases of firing a node: (a) waiting for a seconddata token, (b) ready to execute an operation, and (c) after firinga new token is generated.

the processor is ready to execute its function and fi-nally in Fig. 7c there is a situation after firing thenode. The data flow graphs usually are more compli-cated and there are different types of operations ap-plied.

Generally, molecular logic gates may be utilized inconstructing computer architecture based on data flowgraphs. Such graphs consisting of DNA strands canexchange tokens as DNA single strings representinggate inputs and outputs. Some sectors of strands cantransport values of variables or special constants. Insuch a solution a number of gates–nodes (processingunits) and a number of data and control tokens may betheoretically unlimitable. In Section 4 we demonstratehow to realize data flow logical processing units usingDNA molecules.

4. A new concept of data flow logic gates

In classical computer any logic gate is an electroniccircuit that has one or more inputs and one output. Insuch a circuit the electrical condition of the output atany time is dependent on those of the inputs at thattime [1,2,28]. An alternative approach to implementlogic operations may be performed on molecular levelby self-assembly of DNA strands. In such methodsDNA molecules as is depicted in Fig. 8, respectively,may represent the logic gates, input and output signals.

Assume that strands representing gates con-sist of three sectors belonging to the follow-ing groups: X = {x1, x2, x3, . . . , xN }, Z ={z1, z2, z3, . . . , z

N}, Y = {y

1, y

2, y

3, . . . , y

N}.

Representing inputs strands are composed of twosectors from groups:X = x1, x2, x3, . . . , xN , Y =y1, y2, y3, . . . , yN . Representing outputs strandsconsist of three sectors belonging to groups:X =x1, x2, x3, . . . , xN , Z = z1, z2, z3, . . . , zN , Y =y1, y2, y3, . . . , yN . The composition of DNA strandsfrom Fig. 8 are depicted in Fig. 9. To enable hybridiza-tion process, input and output signal sectors fromthe groupsX, Z, Y are complementary to adequatesectors in logic gates strands:X, Z, Y . This meansthat two DNA strands can be connected together withthe two sequences in the following way:xi with xi orzi with z

ior yi with y

i. There must be one sequence:

xi or zi or yi in the first string and another comple-mentary sequence:xi or z

ior y

iin the second string.

Page 5: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378 365

Fig. 8. Data flow molecular logic gate AND: a scheme of the gate, oligonucleotides representing the AND gate, input signalsI1, I2 anda part of an outputI3.

Fig. 9. Data flow molecular logic gate AND execution: hybridizedoligos; A∗ — regions adding labeled radioactive adenine.

The mentioned two sequences hybridize each otherforming a double-strand fragment.

Thus the sectorsx1 andx2 of inputI1 andI2 strandspair with matching sections (x1 and x2) in the ANDstrand. Output signals are composed of input strandsand other DNA fragments. These fragments (z

i) are

reserved to accomplish special tasks. For example,they can transport additional information about logicalgates, nodes in a computer program, etc. The completemolecule after annealing is shown in Fig. 9. In Eq. (1)there is a symbolic description of the whole process.⌈

I1⌋

,

⌈I2

⌋,

⌈z⌋

,

⌈− & −

=⌈

I1 z I2

⌋(1)

⌈I1 z I2+ & +

⌋(2)

Note that the upper strand is labeled. Labeling of thisstrand can be achieved by introducing radioactive,

biotinylated or fluorescent nucleotide. In our exper-iments (see Section 6) in order to detect oligos wehave employed the technique of filling the gap (A∗)made of several free tymine nucleotides in the areabetweenz1 and I2 by addition to a 3’ end ofz1 la-beled radioactive adenine32PdATP using the Klenowpolymerase. All strands are ligated with T4 DNA lig-ase and then the output strands are disconnected fromgate strands as is shown in Fig. 10 and then analyzedusing standard method of the DNA electrophoresisin polyacrylamide gel. Single stranded radioactiveoligonucleotides representing output of the logic gateare detected by autoradiography. Fragments of properlength could be isolated from mentioned gel and usedas signal and data tokens in the next layer of moleculargates. Both AND and OR gates have similar construc-tion, but when OR gates have two or more inputs, thentwo or more different molecules each with one input

Fig. 10. Data flow molecular logic gate AND detection: discon-necting of the AND gate and an outputI3.

Page 6: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

366 P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378

Fig. 11. Ogihara’s molecular logic gate AND.

are created.⌈I1

⌋,

⌈I2

⌋,

⌈&

⌋,

⌈s1

=⌈

I1 + &

⌋,

⌈s2

⌋=

⌈& + I2

⌋(3)

⌈I1 + & + I2+ s1 + s2 +

⌋(4)

Let us compare now our implementations with that ofOgihara’s proposals [6,7]. Ogihara’s logic gate strandsfrom Fig. 11 and Eqs. (3) and (4) do not anneal to theinput strands and are bound to these input strands byadditional synthesized on-line splints as depicted inFig. 12, strands complementary in first half to an in-put strand and in second half to a gate strand. Outputstrands shown in Fig. 13 consist of ligated input andgate strands. They are detected in a gel electrophore-sis. In the case of an AND gate an output strand iscomposed of two input strands and a gate strand sup-ported in the middle. In the case of an OR gate anoutput strand is made from one of two input strands

Fig. 12. Ogihara’s molecular logic gate AND: execution.

Fig. 13. Ogihara’s molecular logic gate AND: detection.

and a gate strand. Thus, logic gate strands are not sep-arated. Therefore, it is not possible to use those gateswith DNA chips without problems.

5. DNA-based implementation of simple logicnetwork

A Boolean function is composed of binary vari-ables, operation symbols, brackets and a symbol ofequivalence relation. The Boolean function describesusually more complicated logic networks composedof logic gates. Some number of connected logic gateswith sets of inputs and outputs is called a combina-tional network. However, in a sequential network thereare not only logic gates, but also flip-flops with mem-ory [1,28].

We have considered to implement simple com-binational network by operations on DNA strands.An example of a simple combinational network andits implementation in DNA as well as its perfor-

Page 7: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378 367

Fig. 14. Data flow molecular logic gate AND combinational net-work: a scheme of the logic system, oligonucleotides representinglogic gates.

Fig. 15. Data flow molecular logic gate AND system first levelexecution: hybridized oligonucleotides of gates AND1, AND2 witholigos of inputs signals and parts of output signals; A∗ regions ofadding labeled radioactive adenine.

mance are shown in Figs. 14–17. The logic gates areDNA oligonucleotides. Two gates AND1, AND2 areself-assembling molecules. These two molecules an-neal to DNA strand of the AND3 gate. The regionsnamed A∗ are for adding labeled radioactive adenineby the Klenow polymerase to a 3’ end of oligonu-cleotides as described in Section 4. It should be notedthat E1,2 restriction sites are ready for digestion ifthere is a double DNA strand there. After hybridiza-tion and ligation a process of digestion a double strandmolecule by restriction enzymes is performed. The

Fig. 16. Data flow molecular logic gate AND system second level execution: hybridized an oligonucleotide of the AND3 gate withhybridized earlier oligos of gates AND1 and AND2; E1,2 restriction sites ready for digestion if there is a double DNA strand there.

Fig. 17. Data flow molecular logic gate AND system detection:digestion by restriction enzyme of the restriction sitesE1, E2,disconnecting of the AND gates and outputsI7 and I8.

enzymes cut the double strand in areasE1 and E2yielding three fragments from which output strandscould be potentially rescued after strand separation. Itis necessary to remove enzymes and redundant stringsbefore further computation. The redundant strings areremoved in a process of electrophoresis.

Neighboring logic gates layers could be connectedwith each other to form the combinational network.A number of layers may be theoretically unlimitableif the oligonucleotides are recycled during computingafter the execution of some number of layers. For con-struction of our molecular gate layers one can envisageuse of solid support. These gates can be for exampleattached to DNA chips. If the AND3 gate strand wasattached to the DNA chip and the AND1 and AND2gate strands to the magnetic beads with biotin, thenoutput strings could be easily separated.

6. Initial results of experiments

To confirm oligonucleotide self-assembling as atechnique useful in data flow logical operations twoexperiments were performed. Ten oligonucleotideswere designed for self-assembling. The lower strands

Page 8: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

368 P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378

are composed of longest oligonucleotides namedAND(30 bp), AND2(36 bp), AND3(42 bp) and theupper strand of three other:I1(16 bp), SR(12 bp),SR2(20 bp), SR3(24 bp) andI2(16 bp).

In the first experimentI1 and/orI2 were hybridizedto AND in presence of SR oligonucleotide. Typically5–10 pM of each oligonucleotide were used and hy-bridization was performed in T4 DNA bacteriophageligase buffer for 5–30 min in 40◦C. Under these condi-tions formation of the SR/AND hybrid was preferred.In the next step 5mCi of 32PdATP (3000 Ci mM−1,Amersham-USB), 100 pM dGTP and 10ml of Klenowpolymerase (Amersham-USB) were added, and sam-ples were incubated for 30 min at 37◦C. Afterwardsthe temperature was lowered to 25◦C (to hybridizeI1 and/or I2 to AND) and samples were incubatedfor 30 min. 5ml of T4 DNA ligase (Promega) wereadded. Ligations were performed at 25◦C for 2 h,and at 14◦C for 2–24 h. Ligation reactions were ter-minated by addition of the equal volume of the stopmixture (formamide with 0.05% bromophenol blueand 0.05% xylene cyanol). Samples were denaturedby 5 min incubation in 80◦C and loaded onto poly-acrylamide (8 or 20%) denaturing (8 M urea) gel.Electrophoresis was performed under standard con-ditions [14]. Radioactive single stranded DNA weredetected in electrophoretograms by autoradiogra-phy (Figs. 18 and 19). Typically only proper singlestranded DNA fragments were detected as depictedin Fig. 18. In the lane A the oligonucleotide SR was

Fig. 18. The first autoradiogram of ligation products and sequences of used DNA strands. Ligation products single stranded DNA wereanalyzed by electophoresis in denaturing 8% polyacrylamide gel.

hybridized to oligonucleotide AND and radioactivenucleotides (A∗) was added to 3’ end of oligonu-cleotide SR by Klenow polymerase; in the lane B,self-assembly of oligonucleotidesI1 and SR witholigonucleotide AND; in the lane C, self-assemblyof oligonucleotides SR andI2 with oligonucleotideAND. Oligonucleotide self-assembling was not dis-turbed by addition of the random oligonucleotide(100 pM per reaction) (in Fig. 19 A1, B1 and C1).

In the second experimentI1 and/or I2 were hy-bridized to AND in presence of SR oligonucleotideand to AND2 in presence of SR2 oligonucleotide.Further steps were the same as during the first ex-periment, but radioactive32 PdATP (3000 Ci/mM,Amersham-USB) labeling adenine was exchange for32γ ATP (7000 Ci/mM, New England BioLabs) addedto 3’ end of SR, SR2, SR3 by the same Klenow poly-merase. Oligos, T4 DNA ligase (Promega) and ligasebuffer was incubated for 3 h in 14◦C, then for 12 hin 4◦C. Results are depicted in Fig. 20. Experimentswith AND3 have not been so successful. Thereforeour logic system is incomplete, but there are enoughresults to confirm our expectations.

7. Construction of logic NAND gate using geneticmethods

In theory of logic design [1] a simple NAND (¬&)gate with two inputsI1, I2 and one output is describedby the truth table as shown in Table 1.

Page 9: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378 369

Fig. 19. The second autoradiogram of ligation products and sequences of used DNA strands. Ligation products single stranded DNA wereanalyzed by electrophoresis in denaturing 20% polyacrylamide gel.

Fig. 20. The sequences of two next logic gates AND2, AND3 and the third autoradiogram of ligation products made from AND1, AND2.Ligation product single stranded DNA were analyzed by electrophoresis in denaturing 10% polyacrylamide gel.

Page 10: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

370 P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378

Table 1Logic gate¬& inputs and outputs

I1 I2 I1¬&I2

0 0 10 1 11 0 11 1 0

In further described experiments all combinationsof inputs are implemented. In molecular computinglogic gates inputs and outputs are represented by DNAmolecules, strands. To enable hybridization process,input signals are complementary to adequate sectorsin logic gates strands. Two strands, which are comple-mentary, anneal to each other. This means stick or bindtogether forming a double-stranded fragment. Imple-mentation of the¬& gate is provided in Fig. 21. Asfollows from this figure, it consists of three strands. Afirst input strand is complementary to a sector of the¬& gate. A second input strand is complementary tothe another¬& gate strand sector. If an input signal isequal to 0, an adequate input strand is absent. If bothinput signals are equal to 1 this means they are presentin a reaction, so an output of an¬& gate is equal to0. Thus, a final molecule after annealing is illustratedin Fig. 21. Equations of creation of the logic gate¬&are the following:

Fig. 21. Implementation of a logic¬& gate: its scheme, its DNA strands representing the gate and input signals:I1, I2, its hybridized anddigested by the second class enzyme strands; if both input signals are present, the gate and the second input are destroyed.

When both input strands are present then appropriatestrands can be cut, digested by the second class re-striction enzyme. An area closed in a rectangle is justthe restriction site of the second class enzyme, at theends of arrows — the digestion site of the second classenzyme. The symbol # has a very important way indescribing enzyme restriction and digestion sites. Thefirst class enzymes have both sites in the same placeand two cuts only for double-stranded oligos, e.g., foran enzyme with no 1 are two cuts: 1 from top and1from bottom . Thus, their cuts are marked by lowerindices of the symbol #. The second class enzymeshave different restriction and digestion sites. There-fore, they cut sometimes far from their restriction site,where they connect to and their cuts at the restrictionsite are marked by upper indices of # in order to iden-tify enzymes, but at the digestion site — by lower in-dices of # as in the case of the first class enzymes.

Annealing is the opposite process of melting tak-ing place during heating, where a test tube is cooled,permitting complementary strands to hybridize. If

Page 11: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378 371

double-stranded DNA has no links between nu-cleotides then a unified strand may be created byDNA ligase, but in this experiment ligase is not uti-lized. After hybridization a digestion process by asecond class restriction enzyme is performed. Theenzyme destroys¬& gate and inputI2 strand as isshown in Fig. 21 only on that condition that two in-put and one gate strands are present in the reactionso a result of operation equals logic zero. Resultingfrom molecular computation logic ones are the whole¬& strands, and are extracted in the process of elec-trophoresis. In future it will be possible to protect¬&gate strands against the digestion and synthesize on aDNA chip. Thus logic ones will be in this case whenthe second input strand is cut.

In another implementation of NAND gate we ap-ply a concept of a fluorogenic probe. A new idea inthe area of DNA sequence detection emerged in 1991[26]. It employs the fluorogenic probe, which consistsof a strand with both a reporter (R) and a quencherdye (Q) attached and separated. A fluorogenic probeanneals specifically if and only if the target sequenceis present. Subsequently, not hybridized parts of theprobe are cleaved by special nucleases. Cleavage of theprobe destroys free single-stranded parts and causescontacting of the quencher dye with the reporter dye.In this case it generates an increase in the fluorescenceintensity of the reporter dye. It is possible to imple-ment this methodology in the field of molecular gates.In our case the fluorogenic probe will be connectedwith the second strand and the second class enzymewill destroy this strand causing an increase in the flu-orescence. Of course, an image of a DNA chip withsuch¬& gates can be obtained with a specially de-signed scanning confocal fluorescence microscope.

It is a well-known fact that double-stranded DNAmay be dissolved into single strands (or denatured) byheating to a temperature determined by the composi-tion of the strand. Heating breaks the hydrogen bondsbetween complementary strands. By the way sinceG–C pair is joined by three hydrogen bonds, the tem-perature required to break it is slightly higher than thatfor an A–T pair, joined by only two hydrogen bonds.This factor must be considered during designing se-quences to represent computational elements [5,15].In described below experiments sequences of strandsare balanced. This means about 50% for G–C pairsand 50% for A–T pairs.

Fig. 22. The gate AND with overflow after adding two input logicones.

After digestion remained double-stranded DNA ismelted to single strands, because input signals areattached to the gate strands with some sectors (Fig.21). The output or gate strands may be then sep-arated and extracted. For example the NAND gatestrands may have a 5’ end biotinylated and attached tostreptavidin-coated microplates, polystyrene, or mag-netic beads or synthesized on a DNA chip. The notbonded, cut input strands then may be washed andthe NAND gates used in next molecular computation.Of course, the¬& strand have to be synthesized in aspecial way in order not to be digested by the restric-tion enzyme. In Fig. 22 the adding two inputs ANDgate with possibility of sending overflow (adding twoones generates else another one during ordinary binarycomputation) is presented.

8. Further laboratory verifications

To check our concept experimentally a simple logicNAND gate (denoted by¬&) was designed and testedin the laboratory of genetic engineering. The FokI en-zyme was selected as the second class restriction nu-clease.

According to Fig. 21 particular oligonucleotideswere chosen as shown in Fig. 23. Synthetic oligonu-cleotides INF1 (I1, 16 bp), INF2 (I2, 19 bp) and

Page 12: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

372 P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378

Fig. 23. Sequences of experiment oligonucleotides together withtheir appropriate lanes in the autoradiogram: in the lanes A withboth inputs equal to 1; in the lanes B with the first input equal to0; in the lanes C with the second input equal to 0.

INF5 (¬& , 35 bp) were mixed in equimolar amounts,60 pM each, in 20ml solution (10 mM Tris–HCl pH7.5, 10 mM MgCl2, 50 mM NaCl, 1 mM dithioery-thritol). The oligonucleotides were placed in 50◦C for1 min and after that transferred to 37◦C. Half of thesample was digested with 17 units FokI (Amersham)restriction nuclease for 1 h at 37◦C. After digestion5ml formamide was added to the digested and controlsamples, denatured at 80◦C during 1 min and appliedon 15% polyacrylamide gel containing 7 M urea andTBE buffer. The gel was run until bromophenol bluepassed 15 cm. After that the gel was soaked in SYBRGreen II RNA gel strain (Molecular Probes) andphotographed. The strands were cut by the secondclass enzyme in such a way as described in Fig. 23.The photographs of electrophoretic gel are shown inFig. 24.

In the provided experiment the NAND gate was con-structed from the strand INF5 complementary to twoinput strands INF1 and INF2. The first input strandINF1 created with the strand INF5 a restriction sitefor the second class enzyme FokI: GGATG N9/13 (theeight position in the strand INF1 from the 5’ end). Thesecond input strand INF2 bonded to the strand INF5enabled cutting by the enzyme. Thus, it demonstratesthat our biochemical reaction is equivalent to the logic¬& gate operation under a condition that if both input

Fig. 24. The first electrophoretic pattern of synthetic oligonu-cleotidesI1, I2 and ¬& hybridized and digested with the FokIrestriction nuclease.

signals are equal to logic one then a respective outputof the logic NAND gate is equal to logic zero. In or-der to check whether lack of either one or both inputstrands stopped digestion of the INF5 by the secondclass enzyme, two successive experiments were per-formed.

In the experiment as shown in Fig. 24 all combi-nations of inputs (except that with two absent inputs)were put in reactions. In the lane A both input strandswere present and in the lanes B reactions — the firstinput strand was absent, during the C reactions —the second input strand was absent. In the mentionedfigure it is placed a photograph of a gel used in theprocess of electrophoresis. Lanes with the symbol —were made of DNA taken from vessels before diges-tion by the second class enzyme FokI: GGATG N9/13,but after hybridization, and lanes with the symbol+after hybridization and digestion. Results show thatthe FokI enzyme may be useful for implementationof the logic gate. The all states from the truth tableplaced in Table 1 can be implemented. We have notdecreased the amount of strands in order to optimizethe reaction conditions. Thus gate and second inputstrands did remain after digestion.

9. A new concept of calculating Boolean functions

After the first ideas and experiments [5–8,19–21]we show a new method of calculating a Boolean(logic) function interpreted as a graph or a tree whichis executed with the help of self-assembly DNAmolecules. The virtue of this method is to use auto-

Page 13: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378 373

Fig. 25. The exemplary trees (a)x = f (a, b) = a ∧ b, (b)x = f (a, b) = a ∨ b and (c)x = f (a, b, c) = a ∨ (b ∧ c) withthe predefined rootx.

mated DNA amplification process (PCR) in only onevessel and check the experiment’s result only withDNA length comparison process (electrophoresis)during only few hours. Specially prepared DNA frag-ments can be obtained from data flow machines or arespecially prepared. The exemplary Boolean functionis defined below as

f : {a, b, . . . } ⇒ x, where a, b, . . . , x

can be TRUE or FALSE.

Thus, each Boolean function can be formed onlywith its arguments and three operations: negation(NOT ¬), conjunction (AND∧) and disjunction(OR∨). Each arithmetic or logical expression (in-cluding the Boolean one or a rule with two premisesand one conclusion from a knowledge base) may bepresented as a tree. The construction of the tree startswith creating nodes, which are related to function ar-guments plus one node — root of the tree — namedx. Edges reflect the layout of operations in the ex-pression, where each disjunction operation separatesengaged arguments (nodes) and each conjunction op-eration lengthens participating ones. There are threeexamples depicted in Fig. 25. The above model ofthe logic function’s graph does not use the negationoperation (NOT) by now. The¬x and x are treatedas separated arguments and negative operations haveto be transformed to normal operations with nega-tive arguments. Thus, the method cannot calculate allBoolean functions and requires further research. Thefunction’s result is equal to TRUE when at least oneleaf of the tree can be reached from the root throughthe successive nodes set only to TRUE. The newmethod of calculating logic functions relies on theabove concept.

To explain this idea consider the implemented inour laboratory logic function with four arguments asfollows:

x = f (a, b, c, d) = a ∧ (b ∨ (c ∧ d)).

The relating tree is depicted in Fig. 27a. If the pre-defined nodex is connected by the operation ANDonly with one node (a), it can be bypassed and re-placed with the next one (a). The same mechanismcould be applied to the exemplary tree presented inFig. 25a — the nodex would be removed. After cre-ating the function tree, it is necessary to design DNAsequences with DNA molecules. The node oligos haveto be unique and meet the criteria of being not simi-lar. Unwanted hybridization is not allowed here. Bothhalves of an edge oligo ought to be complementarywith appropriate oligo halves of both nodes, which areconnected with this edge. The design is similar to thatone of Adleman [9] and ensures, that edges will an-neal only with appropriate nodes as is seen in Fig. 26.These neighboring DNA strands aresingleand theirpresentation is not standard. The DNA fragmenta isassumed as a sequence to be amplified, and the restof fragments(b, c, d, xp, a � b, a � c, a � d)˙— asprimers. Primers partially (in their halves) have iden-tical sequences of nucleotides. An additional DNAfragment (xp) will serve as a primer for PCR methodat the second end of (xa). TheTaq DNA polymeraseadds nucleotides to the 3’ end of primers annealed tosingle DNA strands.

In Fig. 26 there are depicted nine double strands,if we connect neighboring, completely complemen-tary oligos. However, a number of internal reactionson double-stranded oligos may be equal to five. Forone-time amplification reaction they may be written as⌈

xp− a1

⌋=

⌈[xp− a1

]$⌋

=⌈

a1a1

⌈ − a1a >> c +

⌋=

⌈[ − a1a >> c +

]$⌋

=⌈

a2a2

⌈ − a2c +

⌋=

⌈[ − a2c +

]$⌋

=⌈

a3a3

⌈ − a3c >> d +

⌋=

⌈[ − a3c >> d +

]$⌋

=⌈

a4a4

Page 14: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

374 P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378

Fig. 26. The way of creating the longest DNA strand with one vessel PCR reaction (strands above aresingle).

⌈ − a4d +

⌋=

⌈[ − a4d +

]$⌋

=⌈

a5a5

⌋,

wherea1 < a2 < a3 < a4 < a5.These single strands are created during PCR cycles

of lengthening primers annealed to DNA fragments.Thus, white parts of single strands from Fig. 26 aremade byTaqDNA polymerase, but also with the helpof lengthened oligosxa or a. The successive cycles ofPCR process will create new DNA fragments, whichwill be the lengthened sequences ofa. These newcopies are the possible ways from the rootxa to anypoint in the graph expression (a node or an edge). Itis easy to see, that the lack of any primer (relative ar-gument is set to FALSE) will not allow to build thefinal solution — the lowest strandxd, only possiblesolutions will be amplified.

Fig. 27b reveals the possibilities of getting TRUEas a result. In this case, at least one of two sequencesmust be realized: with a length of 376 or 418 (lengthsof hybridized fragments are written in upper indices).

Fig. 27. The exemplary tree ofx = f (a, b, c, d) = a∧(b∨(c∧d));(a) and (b) without the bypassedx (a instead of xa); in (b)additional information about lengths of DNA node and edge strandscreated during PCR cycle.

No other combination of primers will create similarsolution. DNA fragments with the same number of nu-cleotides cannot be obtained. All possible lengths ofcreated byTaq polymerase strands (from root to anynode in the tree) are shown in Fig. 27b. It is clear thatthis coding is correct, because no other fragment com-bination gives the length of 376 or 418. With the DNAchips technology further obstacles will disappear. Thefirst halves of the oligosd from their 5’ end may besynthesized on DNA chips, labeled with fluorescentmaterials and detected on the microscope photographamong many thousand other ones.

10. Implementation and verification of themethod from Section 9

To verify the concept presented in previous point weperformed the following experiments. It is the first stepto collect all required DNA fragments as described inFig. 28. The function’s arguments have the followingvalues:

a = TRUE, b = FALSE, c = TRUE, d = TRUE.

In this situation, the solution is naturally TRUE, be-cause going from the root of the tree (a) it is pos-sible to reach one of its leaves (d) through the nodec. The second solution (with the leaf-argumentb setto FALSE) cannot be realized. The aim of the pro-posed method is to show, whether it is possible to gofrom the root of the tree to one of its leaves. In or-der to prefer longer sequences in PCR process, twoparameters were tuned. The first method’s efficiencydepends on regulation of primer’s concentration, e.g.,the whole experiment may be divided into five parts.Table 2 presents all five parts and participating primers

Page 15: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378 375

Fig. 28. Sequences of oligonucleotides used in the experiment.

Table 2Subsets of oligos with their concentration

Part No. Used primers (concentrations are put in brackets (pM))

1 a � b (50)2 a � b (5); a � c (50)3 a � b (5); a � c (1); c (50)4 a � b (5); a � c (1); c (1); c � d (50)5 a � b (5); a � c (1); c (1); c � d (1); d (50)

with their concentrations. The last fifth subset wasused during this experiment, because the presence ofits primers satisfies assumptions described above anddepends on the results of previous experiments withPCR [14]. As is shown, always the furthest primerfrom the tree root has larger concentration. This en-sures that when the competitive hybridization processof PCR is taking place then the furthest primer is al-ways preferred (the longest sequence will be ampli-fied). It is the second method to increase the amount ofnucleotides of type G or C in primers. DNA fragments,which mainly consist of G or C show better stabilityof annealing and their hybridization performs faster.In this experiment, the 18 bp part of primera � c,which anneals toa consists of 6 G or C. The 18 bp partof ci, which hybridizes toc�d consists of 6 too, but

the second half ofc � d: 8 and the half ofd: 10. Theimplementation started with preparing the followingreaction mixture (7×50ml): 10×TaqDNA polymerasebuffer (500 mM KCl, 25 mM MgCil2, Tris–HCl pH9.0) (35ml), primer xp (7 ml), dNTP(14ml, 2.5 mM),fragmenta (2ml), H2O (up to 50ml), TaqDNA poly-merase (7ml, 7 units). Five samples of successive taskparts consisted of 46ml of MIX, 1 ml of each par-ticipating primer shown in Table 2 and TE (10 mMTris–HCl, 1 mM EDTA, pH 8.0) till 50ml. It was thenext step to design a program of sequences for PCRprocess presented in Table 3.

As is shown, this experiment does not only revealthe Boolean function’s result (TRUE, because a leafd was reached; look at Fig. 27b), but it also confirms

Table 3A sequence of operations with their appropriate times

PCR’s part Phase’s name Temperature (◦C) Time (s)

First part (12 cycles) Denaturation 94 60Hybridization 50 60Polymerization 72 30

Second part (18 cycles) Denaturation 94 30Hybridization 60 30Polymerization 72 30

Page 16: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

376 P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378

Fig. 29. DNA electrophoretogram of one-time PCR reaction.

all phases of lengthening (designed five parts of thetask). It confirms that presented method works.

The second part of amplification was performedwith increased hybridization temperature and less timefor reaction. It forced more stable DNA fragments toparticipate more actively in the amplification process.The result proved that the parameters of the stepwiseamplification leading to Boolean functions solution,were correctly chosen. It was important to take care ofthe amount of amplified sequences, because too manycopies would make a photo illegible. The further aprimer is from the root the later it participates in am-plification. So, first samples (from Table 2) should beremoved from PCR machine earlier. Samples 1 and2 (reachinga � b and a � c) were removed afterthe 15th cycle of PCR, sample 3 (reachingc) after the20th cycle, sample 4 after the 25th cycle and the lastsubset at the end, i.e., after the 30th cycle.

When the whole PCR was finished 15ml of0.05% bromophenol blue was added to each sample.Then 7.5ml of each sample was put into the stan-dard polyacrylamid gel and the electrophoresis wasstarted (170 V, 12 W). After 1.5 h the gel was soakedfor 10 min in ethidium bromide solution and pho-tographed. The obtained result is depicted in Fig. 29.It is worth considering, that the whole demonstrationwith prepared oligos was done only during 4 h.

11. Conclusions

We have explored the possibility of implementa-tion of data flow logical operations by DNA manip-ulations. We have demonstrated that self-assembly of

DNA can be utilized to provide the flow of data. In ourapproaches standard genetic operations are employedamong others digestion by the second class restrictionnuclease FokI. An appropriate DNA reactions havebeen performed and their results confirmed our as-sumptions. We think that our methodology has severaladvantages when compared with that proposed by Ogi-hara and Amos [6–8] and can be further improved bythe use of DNA chips in order to obtain their fluores-cent images. Last described method in Sections 9 and10 presents a new way of calculating logic functionswith an usage of DNA computing. The major virtue ofthis method is to use one-time PCR in only one vesseland electrophoresis. It practically shows the possibilityof quick implementation. Most significant fragmentsare taken into consideration through the lengtheningprocess. Then the identification is performed with anordinary electrophoresis. Unfortunately, this methoddoes not include the negation operation. Implement-ing logic circuits on DNA chips allows building moresophisticated data flow devices. This would permit foreasy separation of output and input strands and wouldprovide an important step towards massively parallelmolecular computer. However, further research is re-quired to gain better understanding of this area.

Acknowledgements

The work was supported by the Polish State Com-mittee for Scientific Research, through the KBN grantno. 8T11F00816. The paper was processed with theLATEX 2ε macros package.

References

[1] N.N. Biswas, Logic Design Theory, Prentice-Hall, EnglewoodCliffs, NJ, 1993.

[2] F.J. Hill, G.P. Peterson, Switching Theory and Logical Design,Wiley, New York, 1974.

[3] E. Landry, Y. Kishida, A survey of data flow architectures,http://www.sparc.spb.su/ans/project/master/, Internet mirror.

[4] J.J. Mulawka, P. W¸asiewicz, Molecular computing (in Polish),Informatyka 7/8 (1998) 36–39.

[5] J.J. Mulawka, P. Borsuk, P. W¸eglenski, Implementation of theinference engine based on molecular computing technique,in: Proceedings of the IEEE International Conference onEvolutionary Computation (ICEC’98), Anchorage, 1998,pp. 493–498.

Page 17: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378 377

[6] M. Ogihara, A. Ray, Simulating Boolean circuits on aDNA computer, Computer Science Department, University ofRochester, Singapore, Technical Report TR 631, 1996.

[7] M. Ogihara, A. Ray, The minimum DNA computationmodel and its computational power, University of Rochester,Singapore, Technical Report TR 672, 1998.

[8] M. Amos, P. E. Dunne, DNA simulation of Boolean circuits,Department of Computer Science, University of Liverpool,UK, Technical Report CTAG-97009, 1997.

[9] L.M Adleman, Molecular computation of solutions tocombinatorial problems, Science 266 (1994) 1021–1024.

[10] L.M. Adleman, On Constructing a Molecular Computer. In:E.B. Baum, R.J. Lipton (Eds.), DNA Based Computers,DIMACS 27, American Mathematical Society, 1996.

[11] S. Kurtz, S. Mahaney, J.S. Royer, J. Simon, BiologicalComputer, Internet.

[12] A Bibliography of Molecular Computation and SplicingSystems, http://liinwww.ira.uka.de/bibliography/misc/dna.html

[13] E.B. Baum, Building an associative memory vastly largerthan the brain, Science 268 (1995) 583–585.

[14] J. Sambrook, E.F. Fritsch, T. Maniatis, Molecular Cloning, ALaboratory Manual, 2nd ed., Cold Spring Harbor LaboratoryPress, New York, 1989.

[15] M. Amos, DNA computation, Department of ComputerScience, University of Warwick, UK, Ph.D. Thesis, 1997.

[16] G.M. Papadopoulos, Implementation of a general purpose dataflow mulitprocessor, MIT Laboratory for Computer Science,Cambridge, Ph.D. Thesis, 1988.

[17] L. Wodicka et al. Genome-wide expression monitoring insaccharomyces cerevisiae, Nature Biotechnol. 15 (1997)1359–1367.

[18] R.J. Lipton, DNA solution of hard computational problems,Science 268 (1995) 542–545.

[19] P. Wasiewicz, P. Borsuk, J.J. Mulawka, P. W¸eglenski,Implementation of data flow logical operations viaself-assembly of DNA, Lecture Notes in Computer Science1586 (1999) 174–182.

[20] J.J. Mulawka, P. W¸asiewicz, A. Płucienniczak, Anotherlogical molecular NAND gate system, in: Proceedings ofthe Seventh International Conference on Microelectronics forNeural, Fuzzy, and Bio-Inspired Systems (MicroNeuro’99),7–9 April 1999, Granada, Spain, pp. 340–345.

[21] T. Leete, J. Klein, H. Rubin, Bit operations using a DNAtemplate, in: Proceedings of the Third DIMACS Workshop onDNA-based Computers, June 1997, Philadelphia, PA, USA,pp. 159–166.

[22] G.G. Lennon et al. Hybridization analyses of arrayed cDNAlibraries, Trends Gen. 7 (1991) 314–317.

[23] S.P.A. Fodor et al., International Patent ApplicationPCT/US91/09226, 1991.

[24] M. Schena et al. Quantitative monitoring of gene expressionpatterns with a complementary DNA microarray, Science 270(1995) 467–470.

[25] S.P.A. Fodor et al. Light-directed, spatially addressableparallel chemical synthesis, Science 251 (1991) 767–773.

[26] P.M. Holland et al. Detection of specific polymerase chainreaction product by utilizing the 5’→3’ exonuclease activityof thermus aquaticus DNA polymerase, Proc. Natl. Acad. Sci.USA 88 (1991) 7276–7280.

[27] J.J. Mulawka, Expert Systems (in Polish), WNT, Warsaw,1996.

[28] K. Pederson, Expert System Programming, Wiley, New York,1989.

[29] J.J. Mulawka, T. Janczak, P. Borsuk, P. W¸eglenski, Reasoningvia DNA based decision trees, in: Proceedings of the FirstInternational Conference on Rough Sets and Current Trendsin Computing (RSCTC’98), Warsaw, 17–26 April 1998.

[30] R.C. Murphy et al., A new algorithm for DNA basedcomputation, in: Proceedings of the IEEE InternationalConference on Evolutionary Computation (ICEC’97),Indianapolis, IA, USA, 1997, pp. 207–212.

[31] M.S. Malone, Beyond semiconductors, The Microprocessor:A Biography, Springer, Berlin, 1995.

[32] J.J. Mulawka, M.J. Ocwieja, Molecular inference viaunidirectional chemical reactions, in: Proceedings of theSecond International Conference on Evolvable Systems(ICES’98), Lausanna, Switzerland, 1998, pp. 372–379.

[33] P. Weglenski, Molecular Genetics (in Polish), PWN, Warsaw,1995.

Piotr W asiewiczgraduated from the War-saw University of Technology in auto-matics in 1996. Now, he is a Ph.D. stu-dent in the area of molecular DNA com-puting. He is a member of IEEE andparticipated in many international confer-ences. This is an address of his web site:http://www.ise.pw.edu.pl/∼pwas.

Artur Malinowski graduated in 1999from the Faculty of Informatics at the War-saw University of Technology. He wrotehis Master Thesis in the area of DNAcomputing.

Robert Nowak graduated in 1999 fromthe Faculty of Informatics at the WarsawUniversity of Technology. He wrote hisMaster Thesis in the area of DNA com-puting.

Page 18: DNA computing: implementation of data flow logical operationsstaff.elka.pw.edu.pl/~pwasiewi/q/wmwp01.pdfgate inputs and outputs. Some sectors of strands can transport values of variables

378 P. Wasiewicz et al. / Future Generation Computer Systems 17 (2001) 361–378

Prof. Jan J. Mulawka got his M.Sc. de-gree with honors in 1971, doctor degreein 1976, and the title of Professor in 1995.Since 1973 he has been working at WarsawUniversity of Technology formerly as Re-search Fellow, obtaining the successive po-sitions of Senior Assistant (1975), Assis-tant Professor (1976), Associate Professor(1987) and Professor (since 1996). Duringhis employment at the Warsaw University

of Technology he lectured many courses on Electronics and Ar-tificial Intelligence. His recent research field is molecular DNAcomputing. Look at http://www.ise.pw.edu.pl/∼mole.

Dr. Piotr Borsuk graduated in biology from University of Warsaw.For many years he has been employed at University of Warsaw inFaculty of Biology. His teaching, research and development activ-ities have been in the area of genetics. He is a recipient of manyawards for leading research activities and teaching excellence. Re-cently, he has been interested in molecular DNA computing.

Prof. Piotr W eglenski graduated in biol-ogy. For many years he has been the Di-rector of Genetics Division in Faculty ofBiology at University of Warsaw. He lec-tured a number of courses on Biology andGenetics. He holds the position of Profes-sor in the Institute of Biochemistry andBiophysics of Polish Academy of Science.He is the author of many papers and bookson Genetics. Recently (in 1999) he has

been elected the Rector of University of Warsaw.

Prof. Andrzej Płucienniczak is consid-ered as one of the best experimentatorsin genetic engineering. For many years hewas the Director of Biochemistry Divisionat Medical University in Lodz. He was em-ployed as a Professor in Center of Micro-biology and Virology of Polish Academyof Science. He was the Head of GeneticEngineering Division ofPP. TERPOLinSieradz. He is the author of many patents

and papers. Presently, he is the Vice-director of the Institute ofBiotechnology and Antibiotics in Warsaw.