Molecular biology provides an inspiring proof-of-principle that chemical systems can store and process information to direct molecular activities such as the fabrication of complex structures from molecular components. To develop information-based chemistry as a technology for programming matter to function in ways not seen in biological systems, it is necessary to understand how molecular interactions can encode and execute algorithms. The self-assembly of relatively simple units into complex products1 is particularly well suited for such investigations. Theory that combines mathematical tiling and statistical–mechanical models of molecular crystallization has shown that algorithmic behaviour can be embedded within molecular self-assembly processes2,3, and this has been experimentally demonstrated using DNA nanotechnology4 with up to 22 tile types5,6,7,8,9,10,11. However, many information technologies exhibit a complexity threshold—such as the minimum transistor count needed for a general-purpose computer—beyond which the power of a reprogrammable system increases qualitatively, and it has been unclear whether the biophysics of DNA self-assembly allows that threshold to be exceeded. Here we report the design and experimental validation of a DNA tile set that contains 355 single-stranded tiles and can, through simple tile selection, be reprogrammed to implement a wide variety of 6-bit algorithms. We use this set to construct 21 circuits that execute algorithms including copying, sorting, recognizing palindromes and multiples of 3, random walking, obtaining an unbiased choice from a biased random source, electing a leader, simulating cellular automata, generating deterministic and randomized patterns, and counting to 63, with an overall per-tile error rate of less than 1 in 3,000. These findings suggest that molecular self-assembly could be a reliable algorithmic component within programmable chemical systems. The development of molecular machines that are reprogrammable—at a high level of abstraction and thus without requiring knowledge of the underlying physics—will establish a creative space in which molecular programmers can flourish.
Access optionsAccess options
Subscribe to Journal
Get full journal access for 1 year
only $3.90 per issue
All prices are NET prices.
VAT will be added later in the checkout.
Rent or Buy article
Get time limited or full article access on ReadCube.
All prices are NET prices.
The AFM data generated and analysed here are available from the authors’ website (http://www.dna.caltech.edu/SupplementaryMaterial/Algorithmic_SST/), as is the Python code for data analysis and DNA sequence design.
Publisher’s note: Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
We thank C. Evans, A. Gopinath, B. Wei, C. Geary, S. Woo, P. Rothemund and Y. Rondelez for experimental advice; R. Barish for contributing to preliminary designs for algorithmic self-assembly by SST; C. Moore, T. Stérin, C. Thachuk, P.-É. Meunier and C. Geary for discussions on theory; and L. Qian, G. Tikhomirov and P. Petersen for AFM usage. This work was supported by National Science Foundation (NSF) grants CCF-1162589 (to E.W., D.D. and D.W.), CCF-1162459 (to P.Y.), CCF-1219274 (to D.W. and D.D.), CCF-1619343 (to D.D.), CCF-0832824 and CCF-1317694 (Expeditions in Computing, to E.W.) and CCF-1317291 (Expeditions in Computing, to P.Y.), and by NASA grant NNX13AJ56G (to D.W.). C.M. was funded by the Fannie and John Hertz Foundation. F.Z. and J.H. received support from the Caltech Summer Undergraduate Research Fellowship program.