Running Molecular Algorithms on DNA Computers
Running Molecular Algorithms on DNA Computers
Complete the form below and we will email you a PDF version of "Running Molecular Algorithms on DNA Computers"
Computer scientists at Caltech have designed DNA molecules that can carry out reprogrammable computations, for the first time creating so-called algorithmic self-assembly in which the same "hardware" can be configured to run different "software."
In a paper publishing in Nature on March 21, a team headed by Caltech's Erik Winfree (PhD '98), professor of computer science, computation and neural systems, and bioengineering, showed how the DNA computations could execute six-bit algorithms that perform simple tasks. The system is analogous to a computer, but instead of using transistors and diodes, it uses molecules to represent a six-bit binary number (for example, 011001) as input, during computation, and as output. One such algorithm determines whether the number of 1-bits in the input is odd or even, (the example above would be odd, since it has three 1-bits); while another determines whether the input is a palindrome; and yet another generates random numbers.
"Think of them as nano apps," says Damien Woods, professor of computer science at Maynooth University near Dublin, Ireland, and one of two lead authors of the study. "The ability to run any type of software program without having to change the hardware is what allowed computers to become so useful. We are implementing that idea in molecules, essentially embedding an algorithm within chemistry to control chemical processes."
The system works by self-assembly: small, specially designed DNA strands stick together to build a logic circuit while simultaneously executing the circuit algorithm. Starting with the original six bits that represent the input, the system adds row after row of molecules—progressively running the algorithm. Modern digital electronic computers use electricity flowing through circuits to manipulate information; here, the rows of DNA strands sticking together perform the computation. The end result is a test tube filled with billions of completed algorithms, each one resembling a knitted scarf of DNA, representing a readout of the computation. The pattern on each "scarf" gives you the solution to the algorithm that you were running. The system can be reprogrammed to run a different algorithm by simply selecting a different subset of strands from the roughly 700 that constitute the system.
"We were surprised by the versatility of programs we were able to design, despite being limited to six-bit inputs," says David Doty, fellow lead author and assistant professor of computer science at the University of California, Davis. "When we began experiments, we had only designed three programs. But once we started using the system, we realized just how much potential it has. It was the same excitement we felt the first time we programmed a computer, and we became intensely curious about what else these strands could do. By the end, we had designed and run a total of 21 circuits."
The researchers were able to experimentally demonstrate six-bit molecular algorithms for a diverse set of tasks. In mathematics, their circuits tested inputs to assess if they were multiples of three, performed equality checks, and counted to 63. Other circuits drew "pictures" on the DNA "scarves," such as a zigzag, a double helix, and irregularly spaced diamonds. Probabilistic behaviors were also demonstrated, including random walks, as well as a clever algorithm (originally developed by computer pioneer John von Neumann) for obtaining a fair 50/50 random choice from a biased coin.
Both Woods and Doty were theoretical computer scientists when beginning this research, so they had to learn a new set of "wet lab" skills that are typically more in the wheelhouse of bioengineers and biophysicists. "When engineering requires crossing disciplines, there is a significant barrier to entry," says Winfree. "Computer engineering overcame this barrier by designing machines that are reprogrammable at a high level—so today's programmers don't need to know transistor physics. Our goal in this work was to show that molecular systems similarly can be programmed at a high level, so that in the future, tomorrow's molecular programmers can unleash their creativity without having to master multiple disciplines."
"Unlike previous experiments on molecules specially designed to execute a single computation, reprogramming our system to solve these different problems was as simple as choosing different test tubes to mix together," Woods says. "We were programming at the lab bench."
Although DNA computers have the potential to perform more complex computations than the ones featured in the Nature paper, Winfree cautions that one should not expect them to start replacing the standard silicon microchip computers. That is not the point of this research. "These are rudimentary computations, but they have the power to teach us more about how simple molecular processes like self-assembly can encode information and carry out algorithms. Biology is proof that chemistry is inherently information-based and can store information that can direct algorithmic behavior at the molecular level," he says.
This article has been republished from materials provided by Caltech. Note: material may have been edited for length and content. For further information, please contact the cited source.
Reference: Woods, D., Doty, D., Myhrvold, C., Hui, J., Zhou, F., Yin, P., & Winfree, E. (2019). Diverse and robust molecular algorithms using reprogrammable DNA self-assembly. Nature, 567, 366–372.