a renewable, modular, and time-responsive dna circuit
TRANSCRIPT
A renewable, modular, and time-responsive DNA circuit
Ashish Goel • Morteza Ibrahimi
Published online: 2 December 2010� Springer Science+Business Media B.V. 2010
Abstract In this article, we introduce a new design for DNA logic gates based on
enzymatic restriction of DNA strands. We present a construction for a set of one and two-
input logic gates and argue that our construction can be generalized to implement any
Boolean operation. A key feature of our design is its time-responsiveness, in the presence
of appropriate fuels our circuit can operate continuously and generate a time-dependent
output in response to a time-dependent input. Moreover, modulo connectivity information,
the strand design and circuit design phases are decoupled.
Keywords DNA nanotechnology � Logic gates � DNA circuit � Time-responsive circuit �Digital circuit
1 Introduction
Over the last decade, several experimental breakthroughs have been obtained in the in-
vitro design of circuits which operate at the molecular scale and are largely composed of
(and driven by) DNA and RNA, e.g., (Stojanovic et al. 2002; Seelig et al. 2006; Qian and
Winfree 2008; Win and Smolke 2007). These approaches use circuit-elements (i.e., gates)
that are consumed during the operation of these elements, restricting the applicability of
these elements to feed-forward, use-once circuits. In this paper, we propose and analyze a
renewable, modular, and time-responsive DNA molecular circuit. Our design uses a small
fixed number of restriction enzymes, and uses a small fixed number of distinct fuel mol-
ecules to replenish all the gates in a circuit. Time-responsiveness is of particular impor-
tance in that it permits the design of feedback circuits such as random access memories.
A. Goel (&)Departments of Management Science and Engineering and (by courtesy) Computer Science,Stanford University, Stanford, CA, USAe-mail: [email protected]
M. IbrahimiDepartments of Electrical Engineering, Stanford University, Stanford, CA, USAe-mail: [email protected]
123
Nat Comput (2011) 10:467–485DOI 10.1007/s11047-010-9237-6
We will describe our results more concretely after describing related work and establishing
some notation. We would like to note that our design and analysis works in an abstract
model; we do not have any experimental evidence of the efficacy of our design.
Starting from a seminal result of Adleman (Adleman 1994), many theoretical designs
have been proposed for DNA automata and Turing machines (Rothemund 1996; Benenson
et al. 2004; Yin et al. 2006; Chen et al. 2008; Yin et al. 2004). There has also been
considerable progress on the experimental side, often focused on the implementation of
molecular circuits and gates that mimic their digital counterparts (e.g., Stojanovic et al.
2002; Seelig et al. 2006; Macdonald et al. 2006; Win and Smolke 2007; Qian and Winfree
2008). Stojanovic et al. (2002) presented a set of deoxyribozyme-based logic gates: NOT,
AND, and XOR. As the input and output of the gates are both DNA strands, different gates
can communicate with each other. Seelig et al. (2006) reported the design and experimental
implementation of DNA-based digital logic gates that can be combined to construct large,
reliable circuits. In addition to logic gates they demonstrated signal restoration and
amplification. Their gates use single stranded DNA as inputs and outputs, and the mech-
anism relies exclusively on sequence recognition and strand displacement. Qian and
Winfree (2008) presented a set of catalytic logic gates suitable for scaling up to large
circuits and developed a formalism for representing and analyzing circuits based on these
gates. Macdonald et al. (2006) reported the development of a solution-phase logic circuit
comprising over 100 molecular deoxyribozyme-based logic gates.
Engineered nucleic acid logic switches based on hybridization and conformational
changes have also been successfully demonstrated in vivo (Isaacs et al. 2004; Bayer and
Smolke 2005). These switches have been extended to more complex logical gates by Win
and Smolke (2007, 2008). Their gates are part of a single molecule of RNA which can fold
on itself into a special structure. It can detect specific chemical molecules as input and
either cleave itself or remain intact based on the input(s) and the function of the gate. On a
related note, recent advances have also been made in designing simple molecular machines
that open and close like a clamp (Yurke et al. 2000), walk along a track (Yin et al. 2004;
Sherman and Seeman 2004), or crawl a surface (Shin and Pierce 2004).
1.1 Our results
Both the enzymatic (e.g. Stojanovic et al. 2002), and sequence based (e.g. Qian and Winfree
2008) designs described above are neither renewable nor time-responsive, in the sense that
the functional elements (i.e. gates) of these circuits can be used only once, and after the
computation is performed, the state of the output cannot be changed (at least for some of the
states) unless through some other mechanism. Removing this restriction is a major open
problem, and is the main topic of study of this paper. We present an enzymatic design for
DNA gates that can implement any Boolean operation. In particular the family of gates,
AND, OR, NOT, and buffer are presented here. The inputs and outputs of these DNA gates
are themselves DNA strands. Furthermore, these gates operate continuously in the presence
of required fuel strands and energy sources for the enzymes. Operation of these gates
requires only generic fuel strands, i.e., independent of the underlying circuit, and therefore
can fully emulate an electronic circuit. Our model consists of a set of DNA strands floating
in a solution. A set of enzymes are also present and the solution meets the conditions for
their operation. The input is introduced by adding a specific DNA strand and the output can
be read from another DNA strand with the same structure as the input. For any specific
circuit, all input and output strands have similar and fixed number of bases. Furthermore,
this number is proportional to the logarithm of the number of gates in the circuit.
468 A. Goel, M. Ibrahimi
123
The key idea of our design is to achieve a modular architecture—the computational part
of the gates depends only on the logic functionality being implemented, the signaling
molecules consist of two parts, a connection identifier that depends only on the location of
the gate within the network, and a payload which depends only on the data encoded.
We analyzed the stochastic behavior of these gates, as a single unit and in a cascade, in
an idealized setting. Our analysis shows that the error probability for a cascade simplifies
to the product of error rate and interaction rate which can be represented in a closed form.
Our analysis inductively computes the Laplace transform of the error-probability and
hence applies only to feed-forward circuits.
It is useful here to explain what is meant by the three properties we claim our design
possesses and what the relation of these properties is to each other.
We call a design renewable if the functional elements, i.e., gates, are restored to their
original structure at the end of a computation.
We say a design is modular if it has two properties: it uses generic fuel, and permits
generic connectivity. By generic fuel we mean that once the circuit is in place, all that is
needed to be supplied to the system during its operation is oblivious to the underlying
circuit. In other words, for operating two different circuits of comparable size, potentially
designed and supplied by some other entity, one need not distinguish between the two. To
grasp the importance of this property one can imagine having to use different kind of
electricity based on what appliance he or she is to operate. Permitting generic connectivity
means that any two points in the circuit can be connected to each other irrespective of how
many gates’ input and output are connected to these points, what function these gates
perform, and where in the circuit these points are. One case of particular interest is
feedback loops; we believe the ability to construct circuits with feedback loops is of great
importance for providing us with the ability to design memory units and feedback systems.
We call a design time-responsive if for a time-dependent input it generates the expected
time-dependent output. In the core of time-responsiveness is the ability to update the
output from any state to any other state. It is important to note that time-responsiveness is
not equivalent to renewability; nor does either imply the other. A design can be time-
responsive without being renewable by providing a steady supply of gates as fuel. Simi-
larly, a design can be renewable without being time-responsive when it is not possible to
update the state of the output once it gets into a certain state.
Digital circuits have played a crucial role in the technological revolution of the past
decades. To a great extent, they owe this triumph to their robustness, modularity, and
existence of tools for systematic design and analysis. These are also becoming important
goals in molecular circuits design. We believe the set of properties presented here, i.e.,
renewability, modularity, and time-responsiveness, is one right first step toward achieving
these goals.
These properties ensure independent element design (device level design), circuits
design (system level design), and circuit operation, very much similar to the process of
library design, application design, and application use in programming. Once the elements
(gates, fuels, etc.) are designed, the generic connectivity property enables us to connect
them to form any circuit of the size permissible. In other words, device level design needs
to be done only once and after that they can be supplied to any circuit designer. The circuit
designer need not know anything beyond how to connect these devices, i.e., their interface.
And then any number of these circuits can be supplied to a user, who can operate all these
circuits using the same generic fuels and need neither know the underlying circuit that
performs a specific function nor be able to distinguish between different circuits in how to
operate them.
A renewable, modular, and time-responsive DNA circuit 469
123
Furthermore, a key to achieve robustness in electronic digital circuits has been the use of
feedback systems. A time-responsive design enables us to use this legacy of electronic
circuits in achieving robustness in molecular circuits. Additionally, feedback is one option
that can be tried to construct memory units and re-writable random access memory systems.
We also elaborate on two techniques that we used in our design and which we believe
can be applicable in other settings. The first technique, arity-conversion, enables us to
construct multi-input single-output binary logic gates using single-input single-output
quaternary motifs.
In electronic circuits, allowing an element to accept multiple inputs is easy, since the
electrical signal can be easily confined and conducted. In contrast, DNA has a linear
structure, making multiple inputs cumbersome. On the flip side, due to the analog nature of
an electrical signal, performing digital operations require a mapping from the analog
domain into the digital domain. In contrast, due to the combinatorial nature of DNA
strands, it is straightforward to construct distinct signal strands corresponding to different
states of a (potentially non-binary) digital variable without the need for any analog to
digital mapping. Hence, performing digital operation is very natural even in non-binary
regimes. Arity-conversion allows us to address the signal localization difficulty in DNA
circuits using their above-described advantage.
The second technique, which more precisely is a set of techniques, is used to prevent
waste strands from interfering with the normal operation of the system.
It would be interesting to either duplicate our results (renewability, time-responsiveness,
and modularity) using an enzyme-free design, or prove that it is impossible. While our
current analysis applies only to feed-forward circuits, our design can also be used to obtain
circuits with feedback (and hence allow latches, which in turn allow elements such as
random access memory cells). It would be interesting to study the temporal and equilib-
rium behavior of our design in terms of error-probability in a feedback circuit.
The rest of this article is organized as follows. Section 2 establishes the notation which
we then use in Sect. 3 to describe our design. Section 3.3 discusses the removal of waste
from a circuit. Section 4 presents our stochastic analysis of the concentration of the output
species in time, and shows the ‘‘filter-like’’ behavior of the system. We conclude with some
open problems and a brief discussion.
2 Notation, model, and assumptions
Suppose S is a sequence of nucleotides, {A, C, T, G}. We denote by S a single stranded
DNA molecule with sequence S starting from the 50 end. And by S a single stranded DNA
molecule with the complementary sequence of S starting from the 30 end (the reader
unfamiliar to the definitions and terminologies of DNA nanotechnology can consult (Reif
and LaBean 2009)). With a slight misuse of notation we use S to also represent the double
stranded DNA formed by the hybridization of S and S. We denote by Sr the sequence
obtained by reversing S. Similarly Sc represents the sequence obtained by taking the
complement of S. Sr , Sr, Sc, and S
care defined as before for the sequences Sr and Sc
respectively. In what follows, we usually represent a DNA strand by its different segments,
indicated by different letters. Each letter represents a segment of some fixed number of
nucleotides, l, which we call one unit.As a matter of convention, we use R(e) to represent the recognition site of a restriction
enzyme e. Furthermore, we use the notation ~e to refer to an enzyme with a distributed
470 A. Goel, M. Ibrahimi
123
recognition site, i.e., where the recognition site consists of two specific sequences placed
apart from each other.
As mentioned before, the model consists of a set of DNA strands floating in a solution.
We assume three types of reaction: reversible hybridization, enzymatic restriction, andenzymatic ligation. By reversible hybridization we mean the DNA strands can attach to
each other using hybridization of complementary sticky ends, but that the sticky ends are
long enough only for short-term stable bonds. However, we assume that the bonds are
stable enough to give DNA ligases the opportunity to seal the phosphodiester bond. We
further assume that the restriction enzymes do not operate if there are nicks on the DNA at
the recognition site, restriction site, or between them. In particular, restriction enzymes that
act on two DNA strands joined by sticky end hybridization and cut across the joint will not
be active until the two strands are ligated together.
It is worth noting here that we are considering an abstract model and these assumptions
do not necessarily accurately reflect what would happen in a real system.
3 Single-input and multi-input boolean operators
Our design consists of three sets of DNA strands: gate strands, messenger strands, and fuel
strands. Each gate strand has a single physical input site (sticky end) and a single physical
output site (sticky end). The specific sequence of nucleotides at each sticky end functions
as the corresponding input/output site’s connection ID. Multiple input and output sites can
have the same connection ID, i.e., sticky ends with the same sequence. We call the set of
all the input and output sites that share the same connection ID a connection point. Every
messenger strand also has a single connection ID encoded in the sequence of its single
sticky end. However, the encoding of the connection ID in the messenger strands uses the
sequence complementary to the sequence used for encoding the same connection ID in a
gate. Thus, messenger strands can attach to the input and output sites in their connection
point using reversible hybridization of their sticky ends. In this way, the messenger strands
wire all the input and output sites in a connection point.
In addition to the connection ID, a messenger strand has a separate region called the
payload that encodes data by assuming one of its multiple states, {0,1} for a binary
messenger and {0, 1, 2, 3} for a quaternary messenger. The state of the payload is
determined by its sequence. Moreover, these two parts (payload and connection ID) can be
separated by a single cut. This enables us to use a simple mechanism to update the data
encoded in a messenger strand using location oblivious fuel, i.e., fuels that are independent
of the connectivity mapping of the messenger and the underlying circuit.
All the messenger strands that share the same connection ID collectively represent the
signal at that connection ID. The value of this signal is the relative concentration of these
messengers at each state. In this sense, a binary signal’s value can be thirty percent zero
and seventy percent one; corresponding to thirty percent of the messengers being at state
zero and seventy percent at state one. An abstract gate is similarly represented by a number
of identical gate strands. In particular, all the gate strands representing an abstract gate
have the same input and output connection IDs. Each gate strand can be used to update one
messenger strands to a new state and then reused to update other messenger strands with
the same connection ID.
Each time a messenger interacts with a gate as an output, the messenger’s state, i.e.,
encoded data, will be updated according to the gate’s input(s) and function. A messenger
can drive other gates, as an input, zero or more times in the interval between successive
A renewable, modular, and time-responsive DNA circuit 471
123
updates of its state. We say a connection point is in equilibrium if the relative concentration
of messenger strands in different states at that connection point is not changing in time.
Fuel strands are necessary to facilitate the interactions between messenger and gate
strands and restore the messenger strands to their original structure after this interaction.
We start by presenting our design for the single-input single-output (SISO) gates and
binary messenger strands in Sect. 3.1. We shall then proceed by extending them into multi-
input single-output (MISO) gates and quaternary messenger strands in Sect. 3.2.
3.1 Single-input single-output gates
A non-trivial deterministic SISO Boolean operator (one in which the output depends on the
input) can have its output equal to the complement of its input, NOT gate, or equal to its
input, which we call a translator gate using the terminology of Seelig et al. (2006), since it
translates the connection ID of the signal. As mentioned before, in all of the strands below,
a letter represents a segment of some fixed number of nucleotides, l, which we call one
unit. Let ~o, d, and c be restriction enzymes which cut a DNA strand as below:
~o : Rð~oÞN6Rð~oÞrN8"N#
c : RðcÞN6"N#
d : RðdÞN8"N#
ð1Þ
where :N; indicates a restriction site that leaves a sticky end of length one unit on the upper
strand, R a recognition site, and Nk an arbitrary sequence of DNA of length k units. Enzyme
d is used to detach the input and output messengers from the gate. Enzyme c is used in the
operation of the fuel strands. We use the enzyme ~o to expose a specific sticky end on
the output messenger while the messenger is connected to the right side of a gate, based on
the gate and the state of the input messenger. The exposure of this sticky end starts a
sequence of reactions between the output messenger and the fuel strands which results in
the output messenger being updated to the desired state. For example, in the case of binary
logic there are two different sticky ends corresponding to the output being zero or one. In
the sequel we describe the mechanism through which one of the sticky ends of the output
messenger is exposed.
We denote by GðI1; I2Þ a gate with input and output connection IDs I1 and I2 respec-
tively. M(b, I) represents a messenger strand with state b and connection ID I. The strands
GnðI1; I2Þ, GtðI1; I2Þ, M(0, I) and M(1, I) below are the NOT gate, Translator gate, and
binary messengers representing zero and one.
GnðI1; I2Þ : I1Rð~oÞrRð~oÞrIr2
GtðI1; I2Þ : I1N2Rð~oÞrRð~oÞrIr2¸
Mð1; IÞ : RðdÞT0T1NRð~oÞRð~oÞNA0A1I
ð2Þ
Note that in Eq. 2, the messenger strands are presented as input messengers, placing
their sticky end at the right end, however, rotating them 180� shows that the same mes-
senger stands can act as an output by attaching to the right side of the gate strands. For
example, M(0,I) can be written as:
Mð0; IÞ : IrcArc1 Arc
0 Rð~oÞrcN2Rð~oÞrcTrc1 Trc
0 RðdÞrc: ð3Þ
Further, note that looking from left to right the top strand is from 50 end to 30 end as in
Eq. 2.
472 A. Goel, M. Ibrahimi
123
Recall that the enzyme ~o has a distributed recognition site with two segments at a specific
distance from each other. The first part of ~o’s recognition site, Rð~oÞ, is placed in the
messenger strand, and every gate includes two instances of the second part of ~o’s recog-
nition site, Rð~oÞr. A messenger strand can act either as an input or an output, however, it is
only when attached to a gate as an input that the first part of ~o’s recognition site on the
messenger strand can be matched with one of the two copies of the second part of ~o’s
recognition site which is placed on the gate. If the first instance of Rð~oÞr is completed, i.e.,
the Rð~oÞ segment of the input messenger strand is positioned such that the distance between
Rð~oÞ on the input messenger strand and the first instance of Rð~oÞr on the gate is the required
distance for the enzyme to operate, the enzyme ~o can cut the output messenger and expose
the sticky end corresponding to a one (T1 in Eq. 2). However, if the second instance of Rð~oÞris completed the cut will expose the sticky end corresponding to a zero (T0 in Eq. 2).
Using this technique, we encode the truth table for the desired Boolean operations in the
position of different instances of Rð~oÞ in a messenger strand. For example, Segments four
and five from left encode the truth table for a NOT gate; Rð~oÞN when the messenger is in
state one and, NRð~oÞ when the messenger is in state zero. Since messengers have to be
oblivious to the type of the gate they connect to, each messenger encodes the truth tables of
all the gates present in the circuit, at different locations in the messenger’s payload. The
truth table that is acted upon is then chosen by the gate through the position of the Rð~oÞrsegment on the gate strand. As an example, consider the messenger strand M(0, I) in Eq. 2.
Segment four of M(0, I) is Rð~oÞ, placed such that it completes the first instance of Rð~oÞr in
a NOT gate, exposing the sticky end corresponding to a one in the output messenger. While
in M(1, I) Rð~oÞ is placed as segment five, and therefore, it completes the second instance of
Rð~oÞr in a NOT gate, exposing the sticky end corresponding to a zero in the output
messenger. Similarly, segments six and seven on the messenger strands encode the truth
table of a translator gate.
Here, special attention should be paid to the generic connectivity requirement. Every
messenger encodes the truth tables of all the gates in the circuit, NOT, and translator for
SISO gates and AND, OR, NOT, and translator for MISO gates. Hence, all messengers can
interact with all gates as long as their connection IDs match.
Below we present a detailed description of the operation of these gates.
In addition to the gates and messenger strands, the following fuel strands are necessary
for the operation of the system.
Pð0Þ : RðdÞT0T1N2Rð~oÞN2Rð~oÞA0 Cð0Þ : RðcÞTr0
Pð1Þ : RðdÞT0T1NRð~oÞRð~oÞNA0A1 Cð1Þ : RðcÞTr1
ð4Þ
P(i) is the payload used to reconstruct the messenger with the state i. And C(i) is for
translating an exposed sticky end.
Consider a NOT gate, GnðI1; I2Þ. Figure 1 depicts the sequence of the desired reactions
for an input M(0, I1). Assume the messenger M(0, I1) attaches to GnðI1; I2Þ using the sticky
end I1 as an input, and another messenger, M(0, I2), attaches using the sticky end I2 as an
output. A messenger can detach from the gate at any time via enzyme d. While both input
and output messengers are attached to the gate, the following sequence of reactions can
occur (See Fig. 1).
1. Input and output messengers attach to the gate.
2. The first instance of Rð~oÞ (from the left) in M(0, I1) and the first instance of Rð~oÞr in
GnðI1; I2Þ constitute a valid recognition site for the enzyme ~o. Enzyme ~o cuts the
A renewable, modular, and time-responsive DNA circuit 473
123
output messenger into two parts. The first part detaches from the gate-messenger
complex and floats in the solution as waste (w1 in Fig. 1). The second part will remain
attached to the gate and now has an exposed sticky end T1rc
.
3. Enzyme d can detach the input messenger from the rest of the complex after this step
without interrupting the following reactions.
4. The fuel strand C(1) (Eq. 4) attachs to the remaining part of the output messenger
using sticky end T1rc
.
5. Enzyme c cuts the output messenger and expose sticky end Ar
1. Part of the output
messenger and the fuel strand C(1) floats in the solution as waste (w2 in Fig. 1).
6. Fuel strand P(1) attachs using the exposed sticky end Ar
1 and reconstructs the output
messenger. The output messenger is now updated to M(1, I2), the output of a NOT gate
to a zero input.
7. The enzyme d can act and detach the output messenger M(1, I2) from the gate.
If the input to the NOT gate is M(1, I1) instead, similar reactions follow. The second
Rð~oÞ in M(1, I1) and the second Rð~oÞr in GnðI1; I2Þ constitute a valid recognition site for the
enzyme ~o. This results in the consecutive exposure of the sticky ends T0rc
and Ar
0 and
attachment of strand P(0). The output messenger can now detach, being transformed into
M(0,I2). The operation of the translator gate is similar.
Observe that during the updating process two waste strands are released into the
solution. While the waste strands in our system cannot cause any incorrect computation,
their accumulation over time results in the inefficiency of the system in terms of time and
energy. We will discuss this issue in Sect. 3.3.
3.2 Multi-input single-output gates
As before, the connectivity of different elements is defined through matching sticky ends.
Each DNA strand can have two sticky ends in a straight forward way. However, for a
MISO gate at least three connections are required. To address this issue we use a simple
but potentially powerful technique for constructing a MISO gate from the SISO gates of
the previous section. The core idea is that a quaternary variable can carry as much
information as two binary variables. Therefore, a gate with two binary inputs can be
emulated by a single-input gate which accepts quaternary inputs. We only discuss two-
input gates here, it is clear that this scheme can be generalized to multi-input gates.
Based on this idea, a two-input gate can be implemented in two stages. Figure 2 depicts
this architecture. Messenger strands Mðb2b1; IiÞ, and Mðb2b1; IqÞ represent the two binary
inputs (although they are quaternary messengers, only the least significant bit (LSB) of
each is used). In the first stage two translator gates, GqðIq; IpÞ, and GiðIi; IpÞ, write the LSB
of their (binary) inputs to respectively the first and second bits of their common (quater-
nary) output, Mðb2b1; IpÞ. In the second stage, the gate strand GsðIp; IoÞ performs the
desired Boolean operation using the quaternary input Mðb2b1; IpÞ and records the result in
the LSB of its (binary) output messenger, Mðb2b1; IoÞ. Both these stages can be imple-
mented using the ideas of the previous section with minor modification.
To implement this architecture, the messenger strand should be modified to encode two
bits of information, i.e., take four different states. The set of restriction enzymes is also
needed to be modified for the operation of the new system. Let ~o, d, and c be restriction
enzymes which cut a DNA strand as below:
474 A. Goel, M. Ibrahimi
123
Fig. 1 Desired reaction chain of a SISO NOT gate
A renewable, modular, and time-responsive DNA circuit 475
123
Rð~oÞN12Rð~oÞrN16"N#
RðcÞN14"N#
RðdÞN16"N#
ð5Þ
Messenger strand: Following the same idea as in the SISO gates, the messenger strand
is modified to:
Mðij; IÞ : RðdÞTðijÞQðijÞAðIÞ: ð6Þ
where we introduced three distinct sections T(ij), Q(ij), A(I) which are as follows:
AðIÞ : A00A10A01A11IQð00Þ : NRð~oÞNRð~oÞRð~oÞN2Rð~oÞ Qð01Þ : NRð~oÞRð~oÞN2Rð~oÞRð~oÞNQð10Þ : NRð~oÞRð~oÞNRð~oÞN2Rð~oÞ Qð11Þ : Rð~oÞNRð~oÞN2Rð~oÞRð~oÞNTð00Þ : T2
00T210T1
00T101 Tð01Þ : T2
01T211T1
00T101
Tð10Þ : T200T2
10T110T1
11 Tð11Þ : T201T2
11T110T1
11
The messenger strand can now take four different forms, i.e., it encodes two bits of
information. The current state of a messenger, Mðb2b1; IÞ can be inferred from its T seg-
ment. Tis1 is a sticky end whose exposure results in the LSB, b1, of the messenger to be
updated to the value s, updating the messenger to the new state is. Therefore, the current
value of the most significant bit (MSB) is i. Similarly, Trj2 represents a messenger with the
current value of the LSB equal to j. The Q segment carries the recognition sites for the
enzymes and dictates the messenger’s interaction with different gates. There exist multiple
instances of the first part of the recognition site of the enzyme ~o, Rð~oÞ. As before, each
instance of Rð~oÞ can be completed by a specific gate, e.g., the first and second instance
(from left) of Rð~oÞ correspond to AND, and OR gates respectively. Moreover, the position
of each instance of Rð~oÞ in messengers in different states encodes the truth table of its
corresponding gate. Note that even though the messenger can encode two bits of infor-
mation we will sometimes use it for encoding binary data by ignoring its MSB. (In
particular, the only place that the quaternary messengers are needed is for the internalcommunications of the MISO gates. However, we will avoid complicating the presentation
of the design by using quaternary messengers in place of binary messengers instead of
introducing two types of messengers).
Similar to the previous section, the messenger strand consists of two separate parts. The
first part, A(I), contains the connection information of the messenger. This segment is
independent of the data encoded by the messenger and is common among all messenger
strands with the same connection ID. The second part, T(ij)Q(ij), does not depend on the
Fig. 2 The two-stage architecture of a MISO gate
476 A. Goel, M. Ibrahimi
123
connection ID and encodes only the data. Hence, this part is common among all the
messengers which encode the same data.
First stage: In our two-stage implementation of a two-input gate, the first stage consists
of two modified translator SISO gates GiðIi; IpÞ and GqðIq; IpÞ. Both GiðIi; IpÞ and GqðIq; IpÞread only the LSB of their quaternary input. But they write their output on different bits of
their common output messenger, call it Mðb2b1; IpÞ. Gate GiðIi; IpÞ writes the LSB of its
input on the MSB of Mðb2b1; IpÞ, i.e., b2, while gate GqðIq; IpÞ writes the LSB of its input
on the LSB of Mðb2b1; IpÞ, i.e., b1. Therefore, at equilibrium, Mðb2b1; IpÞ has its MSB
equal to the first input, i.e., input to GiðIi; IpÞ, and its LSB equal to the second input, i.e.,
input to GqðIq; IpÞ.The structures of GiðIi; IpÞ and GqðIq; IpÞ are essentially the same as the SISO gate
introduced in the previous section with a slight difference in their length which results in
cutting the output in different locations, i.e., T2 and T1 for gates GiðIi; IpÞ and GqðIq; IpÞrespectively.
GiðIi; IpÞ : IiN6Rð~oÞrRð~oÞrIp
GqðIq; IpÞ : IqN6Rð~oÞrRð~oÞrN2Ip
Second stage: The second stage consists of a SISO gate which can use a quaternary input
signal. Below are the gate strands for the AND, and OR operations. We have also included
the NOT and translator gates which are modified to function with the quaternary messenger
strands. Note that NOT and translator gates are single stage SISO gates and depends only
on the LSB of a quaternary messenger strand as their input.
GsaðIp; IoÞ : IpRð~oÞrRð~oÞrIo
GsoðIp; IoÞ : IpN2Rð~oÞrRð~oÞrIo
GnðIp; IoÞ : IpN4Rð~oÞrRð~oÞrIo
GtðIp; IoÞ : IiN6Rð~oÞrRð~oÞrIp
ð7Þ
Fuel strands: In addition to the messenger and gate, the following fuel strands are
required.
Pð00Þ : RðdÞTð00ÞQð00ÞA00 Pð01Þ : RðdÞTð01ÞQð01ÞA00A01
Pð10Þ : RðdÞTð10ÞQð10ÞA00A01A10 Pð11Þ : RðdÞTð11ÞQð11ÞA00A01A10A11
Cði; j; kÞ : RcN13�lði;j;kÞTkij for i; j; k 2 f0; 1g
ð8Þ
where l(i, j, k) is the number of segments between Tijk and Aij in the messenger strand.
The strand C(i, j, k) can attach to an exposed Trcij sticky end of a messenger and
consequently make a cut on the Aij part of the messenger exposing a Ar
ij sticky end. The
strands P(ij) are payload strands that can attach to an exposed Ar
ij sticky end of a messenger
and restore it to the state ij.Operation of the AND gate: As an example, we describe the operation of the AND gate
in this section. An AND gate is implemented using three sub-modules: GiðIi; IpÞ, GqðIq; IpÞ,GsaðIq; IoÞ. Consider the following four messenger strands: M(01, Ii), the input to gate
GiðIi; IpÞ, M(01, Iq), the input to gate GqðIq; IpÞ, M(00, Ip), the common output of
gates GiðIi; IpÞ and GqðIq; IpÞ and the input to gate GsaðIp; IoÞ, and M(00, Io), the output of
gate GsaðIp; IoÞ.
A renewable, modular, and time-responsive DNA circuit 477
123
1. M(01, Ii) and M(00, Ip) attach to GiðIi; IpÞ.2. GiðIi; IpÞ is designed to have the appropriate length such that the third instance of Rð~oÞ
(from left) on M(01, Ii), which corresponds to translation operation, will complete the
second instance of Rð~oÞr (from left) in GiðIi; IpÞ and result in a cut that exposes T012
sticky end in M(00, Ip).
3. Reactions similar to those described for SISO gates will follow and result in M(00, Ip)
changing to the state (1, 0) and becoming M(10, Ip).
4. The updated M(10, Ip) detaches from GiðIi; IpÞ and attaches to a GqðIq; IpÞ gate which
has M(01, Iq) attached to it as the input.
5. Note that GqðIq; IpÞ is two units longer than GiðIi; IpÞ. Therefore, similar reactions as
described for GiðIi; IpÞ results in the exposure of sticky end T111 .
6. Consequently, M(10, Ip) is transformed to the state (1,1) and becomes M(11, Ip). This
concludes the process of translating the two binary inputs of GiðIi; IpÞ and GqðIq; IpÞinto a quaternary messenger M(11, Ip).
7. M(11, Ip) attachs to a GsaðIp; IoÞ which has M(00, Io) attached to as the output.
8. The first instance of Rð~oÞ (from left) on M(11, Ip), which corresponds to the AND
operation, will complete the first instance of Rð~oÞr (from left) on GsaðIp; IoÞ and result
in a cut that exposes the T011 sticky end in M(00, Io).
9. As before, exposure of T011 results in M(00, Io) transforming to M(01, Io), with the first
bit indicating the output of an AND gate to a (1, 1) input.
3.3 Waste management
A common problem in many DNA based systems is the issue of waste accumulation. As
the system continues to operate the waste strands can accumulate, resulting in higher and
higher concentration of waste in the solution and interference with normal operation.
This issue is specially important whenever the system relies on sticky end recognition
and enzymatic restriction. Suppose an enzyme is utilized to cut a specific strand S1, resulting
in a new strand eS1 with an exposed sticky end Y . The sticky end Y will then be recognized
by another strand S2 that has the complementary sticky end Y . This operation is the basic
tool in our design. The problem is, whenever an enzymatic restriction results in a sticky end
Y it will also generate a second strand, waste strand W, with the complementary sticky end
Y . This second strand will, W, will compete with the strand S2 in attaching to sticky end Y .
If W cannot be dissociated again this can halt the consecutive operation of the system.
In cases where W can be dissociated using the same or a different restriction enzyme as the
original one, reattachment of W results in slow down of the system by taking it back to the
previous step. Moreover, enzymatic restriction of W is energy consumptive.
Here we present two techniques to alleviate this issue. Both techniques are based on the
fact that even though S2 and W share the same sticky end, the rest of their sequences need
not be the same.
In the first technique a set of detector strands that have the sticky end Y exists, and
hence can attach to both S2 and W. Let D represent one such strand. Before attaching to
either S2 or W they are indistinguishable to D since it can only interact with sticky ends in
this stage. But after the attachment, D can differentiate between S2 and W using an enzyme
with distributed recognition sites which is incorporated in S2 as an identifiers. Based on the
identity of the other strand, D will either detach using this identifier enzyme, in the case of
S2, or remain attached, in the case of W, making the waste strand W inactive by covering its
478 A. Goel, M. Ibrahimi
123
sticky end. Hence, by maintaining a constant concentration of D in the solution one can
limit the concentration of active W strands and the rate of undesired eS1/W hybridization.
Although this technique is only exchanging eS1=W hybridization and restriction with
D/W hybridization and restriction, it prevents the accumulation of active waste in the
solution that can eventually halt the normal operation of the system.
In the second technique, assume that W ¼ XY and S2 ¼ ZY where X = Z. Also
assume that the length of the sticky ends are such that the bonding energy is not enough
to attach two strands permanently if there is no ligation. Then a single stranded DNA
D ¼ XY can initially attach to both strands S2 and W using the toehold Y . In the case of
S2, D will eventually fall off since there could be no ligation. However, in the case of
W, D can invade W using three-way branch migration (Reif and LaBean 2009) and
result in a complete double stranded DNA, XY, and a single stranded DNA, X. The
strand XY is inactive not possessing any single stranded part. The single stranded X is
not been used in the intended toehold recognition process and can be absorbed by waste
collecting anchorages. Note that the D DNA strands are being used and their concen-
tration can be maintained approximately constant by continuously supplying additional
D strands to the solution. However, This technique is not applicable if our assumption
regarding difference between S2 and W is not valid, or X can interfere with other parts
of the system.
4 Stochastic analysis of the gate’s output
It has been mentioned that the messenger strands at the output of a gate move to an
equilibrium state depending on the input(s) and the function of the gate. In this section we
investigate the dynamics of this process by asking how fast the output approaches equi-
librium and what this equilibrium is. We answer these questions by considering the relative
concentration of the updated messengers as a stochastic process in time and characterizing
its first order distribution using a simple stochastic model. First we analyze a single gate
and then extend our analysis to a series of concatenated SISO gates that form a straight
chain. Although we analyze only a straight chain of SISO gates here, the intuition is that
given our construction of MISO gates from SISO gates, any two input and output points in
a circuit are connected by a straight chain of SISO gates. This intuition suggests that a tree-
like Boolean circuit with n inputs and depth log n would behave similar to that of a
collection of n chains of SISO gates of length log n working in parallel. Where working in
parallel means that at the input of a MISO gate in such tree-like circuit all the input
messengers are being updated independently, since there is no feedback, and hence, the
time that takes until all of the input messengers are in the desired state is the maximum
over n independent random variables, each representing the time that takes for a single
chain to reach the desire state.
Our goal in this section is to demonstrate using a simple model some basic charac-
teristics of the design, namely linear time to equilibrium of the output in the size of the
circuit and error propagation behavior. A more detailed and rigorous analysis of this
system, for example using the language of stochastic chemical reaction networks (Solo-
veichik et al. 2008), particularly in the case of MISO gates and circuits with feedback is
left as a future work.
We analyze the single gate problem in three cases. The analysis for each case is based
on a specific model, applicable to certain settings as will be described. We progress
A renewable, modular, and time-responsive DNA circuit 479
123
through these cases by relaxing some of our assumptions, making our analysis applicable
to more general settings.
In the first model we assume that after a messenger strand attaches to a gate as an output
it will either be updated to the desired state with some probability, or remain intact. This
model captures the phenomenon that an output messenger can detach from a gate before
being updated. However, in the first model we assume that if updated, the output mes-
senger will transition to the desired output state.
We relax this assumption in the second model where if updated, the output messenger
can transition to an incorrect state with some constant probability. The second model
describes the case where the input messenger strand to the gate can be in a set of different
states from which all but one are unintended. For example, when the input to a gate is the
output of another gate which is already in equilibrium but in this equilibrium there is a
fixed concentration of messengers in unintended states.
In the third model, the probability of a messenger strand being updated to an incorrect
state is also time-dependent. The last model captures the case when the relative concen-
trations of the input messengers with different states are changing with time, for example,
when the input to the gate is the output of another gate which has not yet reached
equilibrium.
For all the above cases, assume that the ratio of the number of messenger and gate
strands in gate-messenger complexes to the total number of messenger and gate strands is
negligible; concentrations of all gate and messenger strands are constant; the concentra-
tions of fuel strands is maintained constant by feeding these strands to the solution; and the
concentrations of waste strands is kept constant using one of the techniques of the previous
section. We also assume that the time needed for a messenger strand to attach to a gate
strand has exponential distribution with parameter k0, where k0 is a function of the gate and
the messenger concentrations and other conditions of the solution and does not change
during the operation of the circuit. Furthermore, we consider the worst case scenario where
the at time zero the concentration of output messengers with the desired state is zero.
Given these assumptions, the number of times a messenger strand attaches to any gate in
an interval (0, t], call it M, has a Poisson distribution with parameter k0t.
4.1 Single gate
For any messenger strand, let x(t) be the indicator function for the correctness of the
current state of the messenger strand, i.e., x(t) = 1 if messenger strand is in the desired
state at time t and x(t) = 0 otherwise. Consider a messenger strand Mðbi2bi
1; IoÞ which is the
output messenger for a gate GðIi; IoÞ. Assume that the input for the gate GðIi; IoÞ is
introduced at time t = 0 and the desired output is Mðbf2bf
1; IoÞ where ðbf2bf
1Þ 6¼ ðbi2; b
i1Þ. Our
goal in this section is to calculate the probability of the messenger strand Mðb2b1; IoÞ being
in the desired state Mðbf2bf
1; IoÞ at time t, i.e., P xðtÞ ¼ 1f g. Assuming that the state of each
messenger strands is independent of the states of other messenger strands in the same
connection point, P xðtÞ ¼ 1f g is the expected relative concentration of the messenger
strands in the desired state.
First case: Assume that after attaching to a gate, the messenger strand will be updated
to the desired state with probability p or detach without any change with probability
1 - p. Recall that m is the number of times the messenger strand attaches to a gate in the
time interval (0,t] and has a Poisson distribution with parameter k0t. If by time t the output
480 A. Goel, M. Ibrahimi
123
messenger is not updated, it has not been updated in any of the m times it has attached to a
gate. Let P xðtÞjMf g denotes the conditional distribution of x(t) given M, we then have
P xðtÞ ¼ 1f g ¼ 1�X
1
m¼0
P xðtÞ ¼ 0jM ¼ mf gP M¼ mf g
¼ 1� e�k0pt
Note that P xðtÞ ¼ 1f g would be equal to the probability that the messenger strand attaches
to a gate at least once by the time t if k0 were to be replaced by pk0. Therefore, we define
k = pk0 to be the effective rate and assume that an output messenger will always be
updated if it attaches to a gate. Using this notation the expected relative concentration of
the updated messenger strands is 1 - e-kt.
Second case: Now assume that if updated the output messenger transitions to a desired
state with probability q and to an undesired state with probability (1 - q). Then
P xðtÞ ¼ 1f g ¼ P xðtÞ ¼ 1jmessenger updatedf gP updatef g¼ qð1� e�ktÞ
ð9Þ
Third case: Further, assume that if updated the output messenger transitions to a desired
state with probability q(t) and to an undesired state with probability (1 - q(t)). Consider
the time instances that the messenger strand attaches to a gate ð0� t1� t2� . . .Þ. As
mentioned before, Dti ¼ ti � ti�1 (with Dt1 defined as t1 - 0) are assumed to be inde-
pendently and identically distributed exponential random variables and hence ðt1; t2; . . .Þare distributed in time according to a Poisson point process. Consider the interval [0,t). As
a characteristic of the Poisson point process, the points ð0� t1� t2� . . .tm\tÞ can be
thought of as being m uniformly and independently selected points in this interval [0,t),where m has a Poisson distribution. Therefore, since Dt1 ¼ t1 � 0 has exponential distri-
bution, by symmetry, s = t - tm has exponential distribution. Furthermore, the messenger
is in the desired state if and only if it transitioned to the desired state when it was last
updated and hence we have:
P xðtÞ ¼ 1f g ¼Z t
s¼0
ke�ksqðt � sÞds ð10Þ
Note that P xðtÞ ¼ 1f g is the convolution of q(t) with the probability density function of
an exponential random variable, f(t) = ke-kt. We will use the notation
P xðtÞ ¼ 1f g ¼ qðtÞ � f ðtÞ ð11Þ
to represent this relation. It is long established that the output of a linear time-invariant
system (for example most electronic filters) is the convolution of the input signal with the
impulse response of the system. This shows that under our simple model, these gates
behave as a linear time-invariant filters. We shall see one importance of this point presently
when we utilize some of the techniques from signals and systems theory in the analysis of a
cascades of gates.
4.2 Multiple gates in a cascade
Consider a cascade of SISO gates, GðI0; I1Þ;GðI1; I2Þ;GðI2; I3Þ; . . .;GðIn�1; InÞ and number
them from one to n. Let xj(t) be defined as before for the messengers Mðb1b2; IjÞ, i.e., the
messengers that communicate between gates j - 1 and j. Also assume that kj, as defined
A renewable, modular, and time-responsive DNA circuit 481
123
before, is the effective rate of the Poisson process according to which messenger
Mðb1b2; IjÞ is being updated. Denote by qj(t) the probability of gate j resulting in a correct
output given an interaction. The following relation between qj(t) and xj(t) is assumed:
qjðtÞ ¼ fE½xjðtÞ� ð12Þ
where 0\f\1 is a constant factor accounting for random errors in the system.
In this section we calculate, for all j [ {2, 3, ..., n}, P xjðtÞ ¼ 1� �
, the expected relative
concentration of the messengers Mðb1b2; IjÞ in the desired state, given an arbitrary but
known P x1ðtÞ ¼ 1f g. As before, we assume that all the messengers except Mðb1b2; I1Þ are
in an undesired state at time zero.
Given the observation that these gates behave as linear time-invariant systems, we use
the Laplace transformation technique to obtain the relation between qi(t) and qj(t) for any
i, j [ {1, 2, 3, ..., n}. The Laplace transform of a function qðtÞ : ½0;1Þ ! R is a function
QðsÞ ¼ L qðtÞf g:
QðsÞ ¼ L qðtÞf g ¼Z
1
0�
e�stqðtÞdt ð13Þ
The function q(t) can be retrieved from its Laplace transform Q(s) by taking the inverse
Laplace transform qðtÞ ¼ L�1 QðsÞf g.1 An interesting property of the Laplace transform is
the following:
L f ðtÞ � qðtÞf g ¼ FðsÞQðsÞ ð14Þ
where * is the convolution operator and F(s) and Q(s) are the Laplace transforms of f(t) and
q(t) respectively. Using the above property and Eq. 12, Eq. 10 can be rewritten as:
Qjþ1ðsÞ ¼ f1
kjþ1 þ sQjðsÞ ð15Þ
By iteratively applying the relation in Eq. 15 and using Eq. 12 and linearity of the
Laplace transform, the following equation can be obtained:
XjðsÞ ¼Y
j
i¼1
fki þ s
X0ðsÞ ð16Þ
where Xj(s) is the Laplace transform of the expected relative concentration of the correct
messenger strands at stage j, L E½xjðtÞ�� �
. Given an input to the first stage in the cascade
E[xj(t)] can be calculated using Eq. 16. For example, for an input applied at time t = 0
which does not change with time, i.e., x0ðtÞ ¼ f�1q0uðtÞ with u(t) the step function, and for
k1 ¼ k2 ¼ � � � ¼ kn ¼ k
XjðsÞ ¼ q0f�1 1
s
fksþ k
� �j
¼ q0fj�1 1
s�X
j
i¼1
ki�1
ðsþ ktÞi
! ð17Þ
Taking the inverse Laplace transform:
1 Laplace transform is a one-to-one mapping when defined on a set of well-behaved functions.
482 A. Goel, M. Ibrahimi
123
E½xjðtÞ� ¼ q0fj�1 1�
X
j
i¼1
ðktÞi�1
ði� 1Þ! e�kt
!
¼ q0fj�1Poissonkt W � jf g
¼ q0fj�1cðkt; jÞ
ð18Þ
E½xjðtÞ� ¼ q0fj�1cðkt; jÞ ð19Þ
where c(x, j) is the upper gamma function. Figure 3 shows the expected relative concen-
tration of the correct messenger strands at different depth (level) in the cascade for
parameters q0 =1, f = 0.95, and k = 1. As expected, the messengers deeper in the cascade
needs more time to reach equilibrium and they converge to a lower concentration of
messengers in the intended state. However, the time that takes for a messenger to reach a
constant fraction of its equilibrium concentration scales linearly with the depth of the
messenger in the cascade.
5 Conclusion and open problems
Our goal in this paper was to develop a set of logic gates that can be used to construct
renewable, modular, and time-responsive digital circuits. Moreover, we required a modular
design, one in which the design of DNA strands would be as independent of the underlying
circuit as possible. We developed a set of concepts that formalize these requirements and
used them as our guideline in designing the system. We also performed a stochastic
0 5 10 150
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Time
Relative concentration of the correct messengers vs time
Depth = 1Depth = 2Depth = 4Depth = 6Depth = 8Depth = 10
Fig. 3 Concentration of the correct messengers versus time for different stage
A renewable, modular, and time-responsive DNA circuit 483
123
analysis of the system based on a simple model. Our analysis shows that under the
assumptions of the model the time that required for a signal to propagate in a cascade of
gates scales linearly with the length of the cascade.
Our design is based on enzymatic restriction of DNA strands. While we use a small
number of different enzymes in our design, namely three enzymes for each circuit, a non-
enzymatic implementation with the above properties or a formal proof of impossibility
would be of interest. In particular, one common drawback of many enzymatic systems
shared by our design is that they require restriction enzymes that can reach at longer
distances as the size of the system increases.
While our analysis only works for feed-forward circuits, our design can also be used to
obtain circuits with feedback (and hence allow latches, which in turn allow elements such
as random access memory cells). It would be interesting to study the temporal and equi-
librium behavior of our design in a feedback circuit.
Acknowledgment The authors would like to acknowledge the anonymous reviewer of this paper whosecomments were instrumental in improving the presentation of our work.
References
Adleman L (1994) Molecular computation of solutions to combinatorial problems. Science 266:1021–1024Bayer TS, Smolke CD (2005) Programmable ligand-controlled riboregulators of eukaryotic gene expression.
Nat Biotechnol 23:337–343Benenson Y, Gil B, Ben-Dor U, Adar R, Shapiro E (2004) An autonomous molecular computer for logical
control of gene expression. Nature 429(6990):423–429Chen H, Anindya D, Goel A (2008) Towards programmable molecular machines. In: Proceedings of the 5th
conference on foundation of nanoscience, Snowbird, Utah, pp 137–139Isaacs FJ, Dwyer DJ, Ding C, Pervouchine DD, Cantor CR, Collins JJ (2004) Engineered riboregulators
enable post-transcriptional control of gene expression. Nat Biotechnol 22:841–847Macdonald J, Li Y, Sutovic M, Lederman H, Pendri K, Lu W, Andrews BL, Stefanovic D, Stojanovic MN
(2006) Medium scale integration of molecular logic gates in an automaton. Nano Lett 6(11):2598–2603Qian L, Winfree E (2008) A simple DNA gate motif for synthesizing large-scale circuits. In: Proceedings of
the 14th international meeting on DNA based computers. Springer, Prague, Czech RepublicReif JH, LaBean TH (2009) DNA nanotechnology and its biological applications. In: Bio-inspired and
nanoscale integrated computing, Wiley, Hoboken, NJ, pp 349–375Rothemund P (1996) A DNA and restriction enzyme implementation of turing machines. In: DNA based
computers: proceedings of a DIMACS workshop, April 4, 1995, Princeton University, AmericanMathematical Society
Seelig G, Soloveichik D, Zhang DY, Winfree E (2006) Enzyme-free nucleic acid logic circuits. Science314(5805):1585
Sherman WB, Seeman NC (2004) A precisely controlled DNA bipedal walking device. Nano Lett4:1203–1207
Shin J-S, Pierce NA (2004) A synthetic DNA walker for molecular transport. J Am Chem Soc126:10834–10835
Soloveichik D, Cook M, Winfree E, Bruck J (2008) Computation with finite stochastic chemical reactionnetworks. Nat Comput 7(4):615–633
Stojanovic MN, Mitchell TE, Stefanovic D (2002) Deoxyribozyme-based logic gates. J Am Chem Soc124(14):3555–3561
Win MN, Smolke CD (2007) From the cover: a modular and extensible RNA-based gene-regulatory plat-form for engineering cellular function. Proc Natl Acad Sci USA 104(36):14283–14288
Win MN, Smolke CD (2008) Higher-order cellular information processing with synthetic RNA devices.Science 322(5900):456–460
Yin P, Turberfield AJ, Sahu S, Reif JH (2004a) Design of an autonomous DNA nanomechanical devicecapable of universal computation and universal translational motion. In: Proceedings of the 10thinternational meeting on DNA computing, Springer, Berlin, pp 344–356
484 A. Goel, M. Ibrahimi
123
Yin P, Yan H, Daniell XG, Turberfield AJ, Reif JH (2004b) A unidirectional DNA walker movingautonomously along a linear track. Angew Chem Int Ed 43:4906–4911
Yin P, Sahu S, Turberfield AJ, Reif JH (2006) Design of autonomous DNA cellular automata. Lect NotesComput Sci 3892:399–416
Yurke B, Turberfield A, Mills A Jr, Simmel F, Neumann J (2000) A DNA-fuelled molecular machine madeof DNA. Nature 406:605–608
A renewable, modular, and time-responsive DNA circuit 485
123