Molecular programming: self-replicating molecules and a theory of simulation for self-assembly
The goal of my research is to use theoretical computer science and experimental wet-lab techniques to control the structure and dynamics of molecular systems at the nanoscale. In the long term, we wish to engineer molecular-scale systems that consist of millions of simple interacting components and yet are robust to erroneous interactions, fluctuations in temperature, fluid flows and other uncontrolled factors. DNA is a versatile material that can meet these daunting criteria and be programed to create complicated shapes and patterns, or have intricate, even algorithmic, chemical dynamics, all at nanometer spatial resolution. The theory of computation will be a necessity to design and analyze the capabilities of such systems.
The talk will highlight some of our recent work on the theory and practice of programming molecules.
Ongoing experimental work in the wet-lab includes building a DNA-based self-replicator capable of multiple generations of replication. Theoretical work involves developing a framework, or a complexity theory, for comparing the computational power asynchronous self-assembly systems. The talk will show how computer science and biology can inspire our molecular designs, and how we can use mathematical and algorithmic tools to control a cacophony of interacting molecules by simply letting them interact in a hands-off self-assembling fashion.