Join Us

Inaugural Workshop
December 13-15, 2013
Information: MPP wiki
Contact: Lucinda Acosta

The National Science Foundation's Expeditions in Computing program has awarded $10 million for research into "Molecular Programming Architectures, Abstractions, Algorithms, and Applications" by a collaboration of researchers at the California Institute of Technology, the University of Washington, Harvard University, and the University of California San Francisco to establish a fundamental approach to the design of complex molecular and chemical systems based on the principles of computer science.
Caltech Press Release September 17, 2013
UW Press Release September 18, 2013
UCSF Press Release September 17, 2013

Related Links at Caltech
Computation + Mathematical Sciences
Information Science and Technology

Related Links at UW
Computer Science and Engineering
Electrical Engineering
UW Center for Synthetic Biology

Related Links at Harvard
Systems Biology
Computer Science
The Wyss Institute

Related Links at UCSF

Undergraduate Competitions

Presentations, News, Media Coverage
...on the MPP Wiki

...on the MPP Wiki

Welcome to the 2nd-generation
Molecular Programming Project!

Underneath the computer revolution that has changed our lives are the fundamental principles of computer science—these principles have allowed us to master electronic systems with billions of components and software with millions of lines of code to do amazingly complex tasks.

The Molecular Programming Project (MPP) began in 2008 as an NSF Expedition in Computing—a collaboration of 6 faculty developing computer science principles for programming information-bearing molecules like DNA and RNA to create artificial biomolecular programs of similar complexity. In 2013, the team grew to 11 faculty and was awarded a second Expedition with the mandate to develop molecular programming into a sophisticated, user-friendly, and widely-used technology for creating nanoscale devices and systems.

The biomolecular programs of life serve as inspiration for our work, from the low-level operating system controlling cell metabolism, to the high-level code for biological development, the process by which a single cell becomes an entire organism. Molecular programming involves the specification of structures, circuits, and behaviors both within living and non-living systems—systems in which computing and decision-making will carried out by chemical processes themselves.

Our work involves four themes. (1) The establishment of powerful architectures for programmable molecular systems—standardized molecular components and methods for combining them into larger systems. (2) The refinement of abstractions for describing molecular systems, including programming languages, compilers, and computer-aided design tools. (3) The theoretical study of algorithms excecuted by molecular systems, identifying the best ways to carry out molecular tasks and the fundamental principles governing what can and cannot be done. And (4) the application of molecular programming to real-world problems such as the fabrication of complex molecularly-defined electronic and optical materials, the integration of molecular-scale recognition and amplification circuits within analytical techniques for studying biology, and `smart' therapeutics with programmable control over drug delivery.

Our long-term vision is to establish molecular programming as a subdiscipline of computer science—one that will enable a yet-to-be imagined array of applications from chemical circuitry for interacting with biological molecules to nanoscale computing and molecular robotics.

More information is available at the MPP Wiki.

©2013 California Institute of Technology. All Rights Reserved.