Biological systems have caught the attention of computer scientists, who have been turning everything from RNA molecules to entire bacterial colonies into logic gates. So far, however, these systems have been relatively small-scale, with only a handful of gates linked up in a series. Today's issue of Science leapfrogs past the small-scale demonstrations, and shows that a form of DNA computing can perform a calculation with up to 130 different types of DNA molecules involved. The system is so flexible that it's also possible to use compilers and include debugging circuitry.

Before you have visions of DNA controlling Skynet, it's worth taking a second to consider the system's limitations: all those molecules were used to simply perform square roots on four-bit numbers, and each calculation took over five hours. Although they're not especially useful for general purpose calculations, these DNA-based logic gates do have the advantage of being able to integrate into biological systems, taking their input from a cell and feeding the output into biochemical processes.

The authors of the Science paper (one biologist and one computer scientist, both from Caltech) had described their general approach in an open access publication. It relies on what they term "seesaw" logic gates, which we've diagrammed below. The central feature of these gates is a stretch of DNA that can base-pair with many different molecules, allowing them to compete for binding. Even once a molecule is base-paired, it can be displaced; short "landing" sequences on either side allow a different molecule to attach, after which it can displace the resident one.

This system lets the authors preload gates with a molecule, add a bunch of input molecules, and wait for statistics to do their thing—the more of a given input molecule that is around to start with, the greater the chances are that it will displace the molecule at the gate, which can then be read as an output.

On its own, this sort of gate/input/output system is pretty simple, but it's possible to make molecules that extend past the portion that base pairs with the gate. For example, you can stick a tail on an output molecule that acts as an input molecule for another gate. You can also make sinks for different outputs (the authors call these molecules "fuel"). They can base-pair with an output in such a way that it is eliminated from further interactions, thus changing the dynamics of the situation. Multiple inputs and outputs can also interact at the same gate at once.

Pairs of gates can be used to create AND and OR logic based on the levels of output observed. When a pair of gates are both off, output is low; it's higher for a one-on/one-off situation (OR) and reaches high levels when both gates are on (AND). Output is read using a DNA molecule carrying a fluorescent tag; output molecules carry a separate tag that quenches the fluorescence, allowing a signal to be detected.

Because the logical operations are so simple and the rules of DNA base pairing are so straightforward, the authors were able to generate a computerized "compiler" that told them what DNA molecules to purchase, as well as the order and concentrations needed to get the reaction to work. They added debugging abilities by watching the levels of some intermediate output molecules as the reaction proceeded.

To demonstrate that it worked, the authors constructed a system that calculated the floor of the square root of a four-bit binary number. This required 74 different single-stranded molecules of DNA (not counting the inputs). While the calculation was running, up to 130 different double stranded molecules existed in the same test tube.

Despite the presence of a compiler and a simulator, the authors still had to hand-tune a few of the base pairing reactions in order to get the whole operation to complete. Then there was the eight hours involved in waiting for that completion to take place (presumably, the simulator would have gotten the answer faster than the DNA did). So, although impressive, this technique isn't going to revolutionize computation

Still, it does have its appeal. Various biomolecules, including DNA, RNA, enzymes, and small molecules, could all potentially be used as inputs. And it should be possible to link the outputs into relevant biological functions, including gene expression. Finally, the authors have a rather clever idea to speed things up. Instead of having all the gates floating loose in a test tube, they suggest that it might be possible to use large DNA scaffolds to assemble gates in close proximity to each other, ensuring that reactions take place quickly and require far less DNA to be used.

Science, 2011. DOI: 10.1126/science.1200520 (About DOIs).