Keywords

1 Introduction

DNA nanotechnology has become a reliable way to control matter in the nanoscale because of the specific of Watson-Crick base pairs [1,2,3]. DNA is an ideal nanoscale engineering material and has been applied widely in molecular device [4], logic circuit [5], nano-network [6], autonomous molecular walk [7, 8], nano-medicine [9] and so on. DNA strand displacement is a kind of new DNA self-assembly method and has a series of the advantages.

AND gate, OR gate, and NOT gate were designed by the single strand nucleic acids, and the signal restoration function was demonstrated [10]. Three-input logic gate was developed by deoxyribozyme, and molecular full adder which consists of a seven logic gate array was constructed [11]. In 2010, Boolean circuits [12] were proposed to achieve a lot of functions, in which a latch circuit and a D flip-flop are designed. A simple and universal method was invented to establish logic gates by Qian and Winfree [13]. A 74L85 standard 4-bit magnitude comparator was simulated to prove its correctness [10]. The logic circuit [14] of the square root of a four-bit binary number was designed, which is useful for the next study. The implementation of logic AND gate by two grades strand displacement reaction was described to design circuits [15]. The patterns of logic AND gate and OR gate was put forward and confirmed by experiment [16].

DNA computing has been widely applied in DNA self-assembly technology [17], DNA strand displacement technology [18, 19] and probe machine [20] and so on. Compared with the past work [21, 22], in this paper, the two-digit full subtractor is constructed for the first time. The circuit can achieve the two-digit subtraction function, which is different from the previous circuit. Many more complex circuits could be designed on the basis of this circuit. And these circuits could be applied to the biological computer in the future.

Based on DNA strand displacement molecular logic gates, a logical circuit of implementing binary two-digit subtractor is presented, which could be simulated in the programming language software. The paper is arranged as follows: the background of DSD and the seesaw motif of basic gates are described in the Sect. 2. The algorithm principle of binary two-digit subtractor and its dual-rail circuit are shown in the Sect. 3. The seesaw circuit and the simulation in the Visual DSD are shown in the Sect. 4. Finally, the conclusion about two-digit calculation is discussed in Sect. 5.

2 DSD and Seesaw Motif of Basic Gates

DNA strand displacement reaction is a process, which means that one single strand replaces another bounding single strand from complex. The single strand serves as the input signal and another bounding single strand from complex serves as output signal. The process of strand displacement and branch migration is shown in Fig. 1. Firstly, the process is initialed in a toehold which is short and usually consists of 4–6 base sequences [23,24,25, 28,29,30,31,32]. Then branch migration is processed in the process. Finally, the output strand is released. T represent a short toehold domain and T* is the Watson-Crick complement pair of T. The strand S4L-S4-S4R-T-S5L-S5-S5R and S5L-S5-S5R-T-S6L-S6-S6R indicate input signal and output signal, respectively. S5L-S5-S5R is recognition domain. If the input strand and output strand have the same toehold domain, then the previous output could serve as the input of the next logic operation. This favorable condition is provided to construct cascade between front gates and back gates.

Fig. 1.
figure 1

The process of branch migration and strand displacement. T represents a short toehold domain and T* is the Watson-Crick complement pair of T. The strand S4L-S4-S4R-T-S5L-S5-S5R denotes input signal. The strand S5L-S5-S5R-t-S6L-S6-S6R indicates output signal. S5L-S5-S5R is recognition domain.

Boolean logic concerns the relationship of two numbers, which is a computing method. Two states are defined: digit “0” and digit “1”, which often represent that the event is false and true, respectively. There are the basic logical operation, such as logic “AND”, logic “OR” and logic “NOT”.

The electronically logic gate can be transformed into an equivalent biochemical logic gate through the certain corresponding rules. The seesaw DNA motif of basic logic gates are shown in Fig. 2. An amplifying gate of one-input-three-outputs is shown in Fig. 2(a). Two-input-one-output molecular “OR” gate and “AND” gate are constructed (as shown in Fig. 2(c, d)) on the basis of the integrating gate (as shown in Fig. 2(b)). In the DNA gates, logic “0” and logic “1” are distinguished by high or low concentration.

Fig. 2.
figure 2

The seesaw DNA motif of basic logic gates. (a) One-input-three-output amplifying gate. (b) Two-input-one-output integrating gate. (c, d) Abstract diagram of a seesaw OR and AND gate.

3 Binary Two-Digit Subtractor and Dual-Rail Circuit

One-bit half subtractor and one-bit full subtractor have been constructed, but they are unlikely to meet the needs of complying complex computations of bio-computer. Therefore, it is necessary strongly to design the complicated logic operation. Here, two-bit full subtractor (as shown in Fig. 3) is given to act as an example, two-digit are taken as the input signal and two outputs are produced in two-digit full subtractor. The truth table of two-digit full subtractor is given in Table 1. According to the calculating principle of two-digit subtractor operation, the corresponding logic circuit can be designed, as shown in Fig. 3. The logic circuit works from the left to the right. In the Fig. 3, the number \(x_{\mathrm {2}}x_{\mathrm {1}}\) and \(y_{\mathrm {2}}y_{\mathrm {1}}\) which are located at the left side are the input single, the number \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) which are located at the right side are the output single. The number \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) indicate the difference-bit and the borrow-bit, respectively.

Table 1. Truth table of two-digit full subtractor
Fig. 3.
figure 3

The logic circuit of two-digit full subtractor operation. \(x_{\mathrm {2}}x_{\mathrm {1}}\) and \(y_{\mathrm {2}}y_{\mathrm {1}}\) are input signal. \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) are output signal. \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) indicate the difference-bit and the borrow-bit, respectively.

If the input is absent in the response, the uncertain computation result will be produced. Here, the dual-rail logic operation is adopted to avoid the false output. In the dual-rail logic circuit, the original input is expressed by a pair of inputs, which can be represented by logic ON and logic OFF, respectively. Taking the input \(x_{\mathrm {1}}\) as an example, if input \(x_{\mathrm {1}}\) doesnt take part in the reaction, then the input \(x_{\mathrm {1}}^{\mathrm {0}}\) shows logic ON, meanwhile, the input \(x_{\mathrm {1}}^{\mathrm {1}}\) shows logic OFF in the dual-rail logic circuit. In the dual-rail logic circuit, the AND, OR, or NOT logic function should be achieved by a pair of AND gate and OR gate. The dual-rail logic circuits of AND gate, OR gate, NAND gate and NOR gate are shown in Fig. 4(a–d), respectively. The dual-rail logic has been widely used to design DNA seesaw circuits. In this article, the two-bit full subtractor dual-rail logic circuit is designed in Fig. 4(e).

Fig. 4.
figure 4

The dual-rail logic circuits of basic gates. (a–d) The dual-rail logic circuits of AND gate, OR gate, NAND gate and NOR gate. (e) The two-bit full subtractor dual-rail logic circuit.

Fig. 5.
figure 5

The seesaw logic of two-digit full subtractor operation.

4 Seesaw Circuit and Simulation in Visual DSD

The dual-rail logic circuit should be transformed into an equivalent biochemical circuit through the certain corresponding rules. Two-inputs molecular logic OR gate and AND gate have been fabricated to design the DNA biochemical seesaw logic circuits. Then the seesaw biochemical logic circuit of two-digit full subtractor operation is shown in Fig. 5.

Visual DSD is a design and analysis tool for DNA strand displacement systems [26, 27]. Here, based on DNA strand displacement, the reaction process of the two-digit full subtractor operation is simulated in visual DSD. Along with the input of the sixteen kinds of combinations we mainly discussed, there are sixteen kinds of the simulation results for two-digit full subtractor operation in the simulation of Visual DSD. The simulation results of the two-digit full subtractor operation from 00-00 to 11-11 are shown in Fig. 6(a–p). In the Fig. 6(a–p), the light blue line and purple lines represent the value of \(s_{\mathrm {1}}^{\mathrm {0}}\) and \(s_{\mathrm {1}}^{\mathrm {1}}\), respectively; the red line and green line represent the value of \(s_{\mathrm {2}}^{\mathrm {0}}\) and \(s_{\mathrm {2}}^{\mathrm {1}}\), respectively; the blue line and yellow line indicate the value of \(b_{\mathrm {2}}^{\mathrm {0}}\) and \(b_{\mathrm {2}}^{\mathrm {1}}\), respectively. The total concentration is 1000 nm. The concentration of the output is less than 100 nm which indicates logic 0, and the output concentration range is 900–1000 nm which indicates logic 1.

In the Fig. 6, if the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 00-00, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 00 and 0, respectively, as shown in Fig. 6(a). If the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 00-01, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 11 and 1 in Fig. 6(b), respectively. If the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 00-10, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 10 and 1 in Fig. 6(c), respectively. If the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 00-11, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 01 and 1 in Fig. 6(d), respectively. If the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 01-00, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 01 and 0 in Fig. 6(e), respectively. If the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 01-01, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 00 and 0 in Fig. 6(f), respectively. If the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 01-10, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 11 and 1 in Fig. 6(g), respectively. If the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 01-11, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 10 and 1 in Fig. 6(h), respectively. If the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 10-00, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 10 and 0 in Fig. 6(i), respectively. If the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 10-01, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 01 and 0 in Fig. 6(j), respectively. If the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 10-10, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 00 and 0 in Fig. 6(k), respectively. If the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 10-11, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 11 and 1 in Fig. 6(l), respectively. If the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 11-00, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 11 and 0 in Fig. 6(m), respectively. If the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 11-01, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 10 and 0 in Fig. 6(n), respectively. If the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 11-10, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 01 and 0 in Fig. 6(o), respectively. If the input \(x_{\mathrm {2}}x_{\mathrm {1}}\)-\(y_{\mathrm {2}}x_{\mathrm {1}}\) is 11-11, then the output \(s_{\mathrm {2}}s_{\mathrm {1}}\) and \(b_{\mathrm {2}}\) is 00 and 0 in Fig. 6(p), respectively. According to the simulation results of the two-digit full subtractor, the following conclusions can be obtained. (1) The output strand through fewer logic gates will sooner tend to steady state in the logic circuit. Thus, the output signal \(s_{\mathrm {1}}\), \(b_{\mathrm {2}}\) and \(s_{\mathrm {2}}\) in the same reaction time concentration are successively reduced. (2) In Fig. 6(c, e, h, g, o), two curves of logic ON occur overlap, which show that they have the same reaction rate. (3) The logic ON and logic OFF curves correctly express the stable state of logic 1 and logic 0, respectively. All simulation results show the high quality correctness.

Fig. 6.
figure 6

The simulation in Visual DSD. (Color figure online)

5 Conclusion

Based on DNA strand displacement reaction, two-digit logic computing circuit has been constructed, which dedicates an approach of dynamic nanotechnology. Here, we have designed and acquired correct simulation result of two-digit full subtractor. Two-digit full subtractor can be applied to the biological computer. Although the dynamic nanotechnology currently faces tremendous challenges, this method of strand displacement still has a broad development prospect, which could be applied in the construction of logic circuits, molecular automata and nanomedicine and so on.