Scientists have studied the behavior of complex biological molecules such as DNA for decades. Now they are moving to being able to control that behavior in test tubes and inside cells.

Last month, a team led at the University of Washington announced they had devised and successfully tested a programming language that can guide the assembly of synthetic DNA molecules into a circuit that can perform a task, just as a software developer would write code to send commands to a computer.





Chemists have always used mathematical models to study how molecules behave in mixtures. “Instead of thinking of this as a descriptive language that allows you to understand the chemistry, we said, we’re going to create a prescriptive language that allows you to program something,” says Georg Seelig, an assistant professor of electrical engineering and computer science at the school.

Editor’s Note Read about the more immediate future of what we can do with genetics in our story on 23andMe.

While there’s no killer app anywhere near ready yet, possible future uses for being able to design and assemble DNA to perform a specified function are wide-ranging. Seelig imagines programming molecules to act as embedded sensors inside cells that could respond to changing conditions, just as internal electronics guide the operation of automobiles or home appliances. For example, he says DNA systems could be instructed to release a drug every certain number of hours or in response to an abnormality detected in a cell. “Cells do things like that all the time. They sense their environment, they respond to it,” he notes.

In a paper published in Nature Nanotechnology, the researchers describe a basic experiment they used to test their theoretical work. They mixed two types of DNA strands (“A” and “C”) in a test tube. If there were more A than C, the system was instructed to convert all of C into A. If there were more C than A, all of the A type would become C.

A lot of work remains, but the broader field of synthetic biology is growing. “It’s nice and well to do this computation in test tubes, but really where this kind of implementation is useful is when you want to control cell behavior.”