Molecular Nanocomputers

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 differentsoftware.”

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 findings have been reported in the journal Nature.

Source: https://www.caltech.edu/

Leave a Reply

Your email address will not be published. Required fields are marked *