Programming Self-Assembly of DNA Tiles

The paper considers molecular programming in the abstract Tile Assembly Model, aTAM. Using simple constructions, an interpreter for the full Combinatory Logic, CL, is formally defined in aTAM. It provides an approach for sequential programming in aTAM, and produces a DNA molecular machine. This machine lives in a suitable solution and when receives a seed that linearly encodes a CL program and an input for the program, produces a grid which encodes a computation of the program on its input. The paper considers the construction cost and some alternative approaches. Finally, as a case study in distributed programming in aTAM, the paper considers the consensus problem and shows how an aTAM program for it can be formally derived by using π-calculus. Keywords: DNA Tile self assembly, aTAM model, Combinatory Logic, π−calculus, Consensus problem 1. Computing with DNA tiles The aTAM [1] is, together with its variants [2, 3], the basic formalism of molecular computing in which self-assembly [4] applies to DNA tiles. DNA tiles are molecules of DNA that have a fixed, 4-sticky ends connection, 3D structure, as in Figure 1.a2, according to which self-assemble to form structures which grow even, indefinitely, as sketched in Figure 1.b. Various geometries [5, 6] have been studied for tiles however our considerations are not affected from the tile shape. The aTAM is an extension of the Wang formalism [7] of the plan tiling where the tiles are 4-sides connection, 2D structures that can be graphically represented by unit squares, as in Figure 1.a1. The aTAM self-assembly matches the Wang tiling laws [1]: tiles cover a (plan) grid and adjacent tiles have same values on the abutting sides. The ∗Address for correspondence: Dipartimento di Informatica, University of Pisa, Italy 36 M. Bellia and M.E. Occhiuto / Programming Self-Assembly of DNA Tiles correspondence between the Wang formalism and the Turing Machine formalism, TM, [8], shown in Figure 4, leads to a same notion of program and of computation in both Wang formalism and aTAM: A program is a finite set of tiles. A computation is a grid tiling, i.e. a cover, without holes, of the (infinite) plan, using (infinitely) many copies of the tiles of the program. The program input is the tile (structure) that is initially put on the grid: It is called computation seed and is changed in order to obtain different computations of the program. A tile that needs to be replicated in a grid, is called prototile in aTAM. Figure 3 shows a fragment of a grid where each rectangle represents a sub(program)-computation of the (main) program. The molecular nature of tiles makes each aTAM program one concrete computing machine. The intermolecular force of the Watson-Crick double helix supplies each aTAM program tile of the energy source to replicate and to self-assemble in an autonomous and spontaneous way. The aTAM is indeed a formalism for the design, at the molecular level, of autonomous nano-machines that live in solutions with controlled temperature and salt concentration [4, 9, 1]. For this reason aTAM and the Wang formalism differ in the self-assembly process: D1) In aTAM, the tiling proceeds self-assembling a tile at a time and produces a sequence of grid growths, without holes, that starts from the seed tile. In the Wang formalism, how tilings are obtained is ignored. D2) When more than one is possible, in aTAM the choice of the tile that self-assembles is non-deterministic. In contrast, in the Wang formalism the choice is determinate and under system control. D3) In aTAM, the tiles have in addition, a binding strength value that allows a tile to self-assemble even if some adjacent sides are mismatched or are not yet in the grid. The Wang formalism forbids that adjacent sides have mismatching values. D4) An aTAM program has two additional parameters (the binding strength function and the threshold temperature) in order to describe the biochemical conditions of the system (phisical structure of the tiles plus solution) in which self-assembly is assumed to be operated. D5) The amount of the different proto-tiles that are involved in an aTAM program has been shown to be critical in experimental physical reproductions of the program, leading to grid growths that lose planarity and finally collapse into meaningless aggregations of molecules. Obviously, the formalism of Wang, where the tiles are geometric abstractions, is in no way affected by the aspects in D4 and D5. Even the notion of programming in aTAM should overlook the strongly physical aspects mentioned in D4 and consider instead, the limits posed by D5 as a recommendation on containing the size of the aTAM programs. Hence, Programming in aTAM means providing, given any computable problem, a solution which can be effectively formulated in aTAM. The formulation must consist of a ‘small’ finite set of aTAM proto-tiles that, given each seed (which encodes an instance of the problem), self-assemble generating a grid which encodes a computation of the instance solution. Although the literature [10] shows examples of problems that have elegant formulations as aTAM programs, aTAM remains awkward to be used as a programming language and even worst for program development. For this reason, other formalisms and techniques have been studied to provide languages and tool for program development in aTAM [11, 10, 12]. [12] discussed some of them and proposed a methodology for programming sequential algorithms in aTAM. The methodology introduced two languages, SKI# and SKI-Tile. SKI# is a programming language based on combinator reduction and SKI-Tile is a language especially designed for compiling SKI# in aTAM. The programs of SKI-Tile are aTAM programs which generate tilings that can be interpreted as sequences of combinator reductions. A transformation from SKI# in SKI-Tile completes the approach. The next Section provides an overview of SKI#, SKI-Tile, the principles of the translation into aTAM programs, the properties and the limits of the approach. To overcome some limits and as a complementary approach to sequential programming in aTAM, Section 3 shows the construction of an aTAM program which defines an interpreter for SKI# and the full CL. The M. Bellia and M.E. Occhiuto / Programming Self-Assembly of DNA Tiles 37 (a1) (l’,r’,l,r)