Self-assembly is the process by which small ``components'' spontaneously form intricate aggregate structures. DNA self-assembly is a key tool for nano-technology, nano-robotics, and molecular computation. More generally, biological organisms are self-organized chemical systems that carry out algorithms encoded in the genetic material, DNA. Biology thus provides clear proof that autonomous chemical systems can be programmed, and that they can function reliably on a grand scale -- biological organisms can be composed of as many as 1024 molecular components!
Recent experimental advances in the synthesis of artificial molecular systems have demonstrated that it is possible to program molecular self-assembly to carry out rudimentary logic. These experiments also suggested that the occurrence of errors is a major obstacle to scaling up DNA self-assembly and biologically inspired computation. This project will devise algorithmic tools and analysis techniques for error-correction and error-suppression in biologically inspired self-assembling and computational systems. It is our hope that our research will facilitate sophisticated tasks such as counting, growing molecular assemblies of pre-specified sizes (no larger, no smaller), and pattern recognition of complex chemical signals using inherently error-prone biomolecular operations at the nano-scale.
In order to design and analyze our error-correction mechanisms, we will use high level models which are both sufficiently realistic to be useful and sufficiently abstract to be amenable to analysis. The basic elements of our models will be DNA tiles, transcriptional circuits, and DNA hybridization catalysts. Thus, our research will target assembly of and computation with large molecules such as long chains of DNA rather than smaller molecules such as proteins and amino acids.
We will also develop course material on the basis of our research which will be taught at Caltech and at Stanford.