PUSHDOWN MEMORY BUILT ON DNA ROBERT NOWAK Institute of Electronic Systems, Nowowiejska 15/19, 00-665 Warsaw, Poland, e-mail:
[email protected]
Abstract The primary objective of this paper is to propose the realization of the pushdown memory built on DNA. This memory in its operation uses the cutting by FokI restriction enzyme and typical reactions from molecular biology. Presented device is useful in building the pushdown automaton. Keywords: molecular computing, pushdown automaton
a. Introduction Symbolic computing based on DNA strings will be considered. We assume that an alphabet is a non-empty set of symbols (for example: letters, Arabic numerals, set {0,1}). Here the symbol is represented by DNA molecule. The symbol is denoted by the sequence of nucleotides, for example “ATCCA", "GAACT", or by small letter, for example a, b. A string over given alphabet is any sequence of symbols from alphabet, for example for = {a, b} the sequence ε, a, b, ab, aab, bbb, are the strings. As a grammar we assume a device generating the set of strings. The Chomsky grammar is a quadruple G = (N, T, S, P) where N is called non-terminal alphabet, T is the terminal alphabet, S is the starting symbol, SN, and P is the set of production rules. The grammars are classified as: recursively enumerable, context-sensitive, context-free and regular [1]. As an automaton we understand a device, which analyze strings over given alphabet and decide whether or not this string is generated by specified grammar. The automata work in opposite direction to grammars. The finite state automaton recognizes the regular grammars, the pushdown automaton recognizes the context-free grammars, and the Turing machine recognizes the recursively enumerable grammars. The molecular computing uses the DNA molecules to carry out the computation. By using automaton many advantages are achieved [1]. There are many papers [4, 5, 6] describing the implementation of finite state automaton on DNA. In this work the pushdown memory, a part of pushdown automaton is described.
b. Representation the pushdown memory on DNA The pushdown automaton is a device, which analyzes strings over given alphabet and decides whether or not this string is described by specified context-free grammar. These devices make use of the pushdown memories called stacks.
The pushdown memory is the list of symbols. Two operations are available with such memories: the write operation called push or put and the read operation called pop or get. The push operation writes the symbol to the top of the stack. The read operation returns the symbol from the top of the pushdown memory, thus the other symbols stored in this memory (for example from the bottom) are available after reading all symbols from the top. The pushdown memory is denoted as the list of symbols from the top to the bottom. Assume that the top of the pushdown memory is preceded by $. For example the $bba pushdown memory is the memory containing three symbols, the symbol b is on the top; such memory is obtained by writing to the empty memory symbols: a and b and again b. After writing the symbol a to the pushdown memory $bba the memory $abba is achieved. The reading from memory $bba gives the symbol b, and the memory is $ba. 5’ GGATGNNNNNNNNN 3’ CCTACNNNNNNNNNNNNN Fig. 1. Cutting by FokI restriction enzyme.
In this approach the implementation of the pushdown memory is implemented on DNA strands and uses typical reactions from molecular biology such as: hybridization, denaturation, ligation and cutting by restriction enzyme [2, 3]. The restriction enzyme, which cut the DNA molecule away from the recognizable sequence, is used. The restriction enzyme FokI has this property. It cuts the molecule as is explained in Fig. 1.
a)
c)
5’ 3’
5’ 3’
id
s s
id
3’ 5’
CCGAATCCA
3’ TAGGTGGCT 5’
d) 5’ 3’
CCGAGAACT
3’ CTTGAGGCT 5’
b)
e) f)
5’ 3’
id
s3
id
s2
id
s1
id
s3
id
s2
id
s1
id
3’ 5’
5 ’CCGAATCCACCGAGAACTCCGAATCCACCGA 3 ’ 3’ TAGGTGGCTCTTGAGGCTTAGGTGGCT 5 ’ 5’ CCGAGAACTCCGAATCCACCGA 3’ 3’ CTTGAGGCTTAGGTGGCT 5’
Fig. 2. The molecules represented the pushdown memory and symbols; a) the symbol s; b) the stack $s 3s2s1; c) the example of symbol, symbol a used in examples; d) the symbol b used in examples; c) the example of pushdown memory, here $aba; d) the example of pushdown memory, here $ba
In this paper we assume that the symbol is represented by double stranded molecule as shown in Fig. 2a. The molecule has the sticky ends, which sequence denoted by id depends on the stack (if there is one stack in the vessel, the every symbols have these sequences identical). The sequence of middle part of molecule, denoted by s, is the sequence dependable on the symbol. Every symbol has the same length.
The examples of symbols, when the FokI enzyme is used are provided in Fig. 2c and Fig. 2d respectively. The sequence dependable on the stack is 4 nucleotides length, thus the 44=256 independent pushdown memories can be put in the same vessel. The sequence dependable on the symbol is 5 nucleotides length; therefore 1022 different symbols can be used (because the sequences GGATG and CATCC are forbidden, they are recognize by Fok I). It should be noted, that in this molecule the sequence GGATG or CATCC must not appear. In examples the two-letter alphabet = {a, b} is considered. The a symbol is represented by the string ATCCA as shown in Fig. 2c, the b symbol is represent by the sequence GAACT as shown in Fig. 2d. The stack has CCGA as the id sequence. The pushdown memory is represented by double stranded DNA molecule. Such molecule includes the sequences representing symbols written to the pushdown memory. The sticky end is included to the string for the symbol on the top of the stack. The length of this molecule depends on the number of symbols written to the memory. The molecule representing stack $s3s2s1 is depicted in Fig. 2b. There are three symbols written in the memory. The symbol s3 is on the top; the symbol s1 is on the bottom. The examples of pushdown memory over alphabet = {a, b} and symbols represented as before are shown in Fig. 2e, where the stack $aba is illustrated, and in Fig. 2f - with pushdown memory $ba.
c. The implementation of the push operation The writing process adds the specified symbol on the top of pushdown memory. Thus, the number of symbols stored in memory increases. In memories described in this paper the length of molecule representing the stack is unlimited, therefore this operation is always successful.
a)
b)
c)
5’ 3’
id
s s
5’ 3’
5’ 3’
id
id
id
3’ 5’
5’ 3’
id
s3
id
s2
id
s1
id
s3
id
s2
id
s1
id
s
id
s3
id
s2
id
s1
id
s
id
s3
id
s2
id
s1
id
s
id
s3
id
s2
id
s1
id
s
id
s3
id
s2
id
s1
id
3’ 5’
3’ 5’ 3’ 5’
Fig. 3. The writing symbol s to pushdown memory $s 3s2s1; a) molecules before the writing; b) hybridization and ligation; c) molecule after writing, the pushdown memory $ss3s2s1.
The writing process is depicted in Fig. 3. After writing symbol s to pushdown memory $s3s2s1, the memory is $ss3s2s1 (the written symbol is on the top of the stack). The algorithm to write is following:
1. Put the molecule represented symbol and the pushdown memory to the vessel, 2. Perform the hybridization; 3. Perform the ligation. Only the symbols with specified id sequence can be written to the pushdown memory. The first point of the algorithm is depicted in Fig. 3a. The second, when the molecule representing the symbol and molecule representing the stack hybridize (they both have the sticky ends and the sequences are complementary) is shown in Fig. 3b. After hybridization the ligation is performed, and the double stranded DNA molecule, shown in Fig. 3c is created. This molecule represents the pushdown memory after writing. The part of this molecule includes the sequence represents the written symbol. The Fig. 3 shows the writing the s symbol to the $s3s2s1 pushdown memory is depicted. The output molecule represents the $ss3s2s1 stack.
a)
b)
c)
5’ 3’
CCGAATCCA TAGGTGGCT
3’ 5’
5’ 3’
CCGAGAACTCCGAATCCACCGA 3’ CTTGAGGCTTAGGTGGCT 5’
5 ’CCGAATCCA CCGAGAACTCCGAATCCACCGA 3 ’ 3’ TAGGTGGCT CTTGAGGCTTAGGTGGCT 5 ’ 5’ 3’
CCGAATCCACCGAGAACTCCGAATCCACCGA 3 ’ TAGGTGGCTCTTGAGGCTTAGGTGGCT 5 ’
Fig. 4. Example of the writing process for a symbol and $ba pushdown memory; a) molecules before writing; b) hybridization and ligation; c) the pushdown memory $aba, after writing.
The example of writing the symbol a to the $ba pushdown memory is shown in Fig. 4. As a result the pushdown memory $aba is achieved.
d. The implementation of the pop operation The reading process, called pop or get operation, returns the symbol from the top of the pushdown memory. This operation decreases the number of symbols stored in stack (of one symbol). When the pushdown memory is empty, the reading process fails, and the read symbol does not appear in the vessel. The algorithm describes this process: 1. Hybridization with the molecule contains the sequence for restriction enzyme, 2. Cutting by restriction enzyme, 3. Perform denaturation.
a)
id
5’ 3’
b)
5’ 3’
c)
d)
s3
id
s2
id
s1
id
s
id
s3
id
s2
id
s1
id
3’ 5’
id
s
id
s3
id
s2
id
s1
id
R
id
s
id
s3
id
s2
id
s1
id
id
s3
id
s2
id
s1
id
s3
id
s2
id
s1
id
id
s3
id
s2
id
s1
id
s3
id
s2
id
s1
id
R
5’ 3’
id
R
R
5’ 3’
s
id
id id
s s
s s
id
id 3’ 5’
5’ 3’
3’ 5’ 3’ 5’ 3’ 5’
Fig. 5. The reading process from the pushdown memory $ss 3s2s1; a) the molecule represents the input pushdown memory; b) hybridization with molecule contains the R sequence (the R is recognizable by restriction enzyme) and the cutting; c) molecule after cutting; d) the result of denaturation: the molecule represents symbol s and the pushdown memory $s3s2s1.
The reading process for memory $ss3s2s1 returns the symbol s and the pushdown memory $s3s2s1 (Fig. 5). The DNA molecule represents the input stack $ss3s2s1 is shown in Fig. 5a. The first step, hybridization with temporary molecule containing the sequence recognizable by restriction enzyme, is depicted in Fig. 5b. Next, the restriction enzyme cuts this molecule as shown in Fig. 5b, thus molecule depicted in Fig. 5c is created. The denaturation break down Watson-Crick bonds, and in the vessel appears the molecule represents the read symbol s. The molecules after reading are shown in Fig. 5d. CCGAATCCACCGAGAACTCCGAATCCACCGA 3 ’ TAGGTGGCTCTTGAGGCTTAGGTGGCT 5 ’
a)
5’ 3’
b)
GGATG CCGAATCCACCGAGAACTCCGAATCCACCGA 3 ’ 5’ 3 ’ CCTACGGCT TAGGTGGCTCTTGAGGCTTAGGTGGCT 5 ’
c)
3’ 5 ’CCGAATCCA 3’ TAGGTGGCT 5 ’
5’ 3’
CCGAGAACTCCGAATCCACCGA 3 ’ CTTGAGGCTTAGGTGGCT 5 ’
Fig. 6. Example of the reading process for pushdown memory $aba; a) input stack $aba; b) hybridization with temporary molecule and cutting by FokI restriction enzyme; c) output molecules, the a symbol and the $ba pushdown memory.
The implementation of pop operation with FokI enzyme is depicted in Fig. 6. This example uses the symbols described before. The input stack $aba is illustrated in Fig. 6a. The FokI enzyme recognizes the GGATG sequence, thus the temporary molecule shown in Fig. 6b is used. This molecule hybridizes to the pushdown memory.
The restriction enzyme cuts DNA strand as depicted in Fig. 6b. After denaturation, the molecules illustrated in Fig. 6c are created. The first represents read symbol a, the second - the pushdown memory $ba.
e. Conclusions The main advantage of presented pushdown memory is very high density of storage information (1 bit on 1 nm3). Presented pushdown memory is the part of pushdown automaton. In a number of biochemical reactions it is important to undertake decision whether or not given DNA molecule has sub-sequences described by specified contextfree expression without reading sequence. The pushdown automaton built on DNA can undertake this decision without read sequence of DNA molecule.
f. Acknowledgments This work was supported by the KBN grant number 8T11F00816 and the MolCoNet project IST-2001-32008.
g. Literature [1] G. Paun, G. Rozenberg, A. Saloma, DNA Computing, Springer, 1998. [2] J. Sambrook, E. F. Fritsch, T. Maniatis, Molecular cloning, a laboratory manual. Cold Spring Harbor Laboratory Press, 1989. [3] B. Alberts, D. Bray, J. Lewis, M. Raff, K. Roberts, J. D. Watson, Molecular Biology of the Cell. Garland Publishing, New York, 1994. [4] E. Winfree, Algorithmic Self-Assembly of DNA. PhD thesis, California Institute of Technology, Pasadena, California, 1998. [5] Y. Benenson, T. Paz-Elizur, R. Adar, E. Keinan, Z. Livneh, E. Shapiro, Programmable and autonomous computing machine made of biomolecules. Nature 414, 430-434, 2001. [6] R. Nowak, A. Płucienniczak, Non-deteriministic finite state automaton built on DNA, submitted.