Chemical ‘program’ controls synthetic DNA

"If you want a computer to do something else, you just reprogram it. This project is very similar in that we can tell chemistry what to do," says Georg Seelig. An artist’s rendering shows DNA structures and a chemical reaction “program” on the screen. A “chemical computer” executes the molecular program. (Credit: Yan Liang,

Soon chemists could use a structured set of instructions—like using Python or Java—to “program” how DNA molecules interact in a test tube or cell.

A team has developed a programming language for chemistry that it hopes will streamline efforts to design a network that can guide the behavior of chemical-reaction mixtures in the same way that embedded electronic controllers guide cars, robots, and other devices.

"a chemical program"
An example of a chemical program. Here, A, B, and C are different chemical species. (Credit: Yan Liang,

In medicine, such networks could serve as “smart” drug deliverers or disease detectors at the cellular level.

The findings are published in Nature Nanotechnology.


Chemists and educators teach and use chemical reaction networks, a century-old language of equations that describes how mixtures of chemicals behave. The engineers take this language a step further and use it to write programs that direct the movement of tailor-made molecules.

“We start from an abstract, mathematical description of a chemical system, and then use DNA to build the molecules that realize the desired dynamics,” says corresponding author Georg Seelig, am assistant professor of electrical engineering and of computer science and engineering at the University of Washington.

“The vision is that eventually you can use this technology to build general-purpose tools.”

Currently, when a biologist or chemist makes a certain type of molecular network, the engineering process is complex, cumbersome, and hard to repurpose for building other systems. The engineers wanted to create a framework that gives scientists more flexibility. Seelig likens this new approach to programming languages that tell a computer what to do.

“I think this is appealing because it allows you to solve more than one problem,” Seelig says. “If you want a computer to do something else, you just reprogram it. This project is very similar in that we can tell chemistry what to do.”

Humans and other organisms already have complex networks of nano-sized molecules that help to regulate cells and keep the body in check. Scientists now are finding ways to design synthetic systems that behave like biological ones with the hope that synthetic molecules could support the body’s natural functions. To that end, a system is needed to create synthetic DNA molecules that vary according to their specific functions.

The new approach isn’t ready to be applied in the medical field, but future uses could include using this framework to make molecules that self-assemble within cells and serve as “smart” sensors. These could be embedded in a cell, then programmed to detect abnormalities and respond as needed, perhaps by delivering drugs directly to those cells.

Additional co-authors of the paper contributed from University of Washington; University of California, San Francisco; California Institute of Technology; and Microsoft Research.

The National Science Foundation, the Burroughs Wellcome Fund, and the National Centers for Systems Biology supported the research.

Source: University of Washington