Abstracts - 2007
William Thies, John Paul Urbanski, David Craig, Todd Thorsen & Saman Amarasinghe
Recent years have seen tremendous miniaturization of chemical and biological instrumentation that is culminating in the advent of fully integrated "lab-on-a-chip" systems. Such systems out-perform their laboratory counterparts by providing high throughput, reduced reagent consumption, low cost and automatic control. The enabler of these advances is microfluidics: an integrating technology for manipulating fluids at the picoliter scale. Microfluidic chips have integrated thousands of individually-addressable valves and storage chambers , and recent trends indicate that microfluidics is following a path similar to Moore's law .
On the software side, however, the microfluidic realm is lagging far behind its silicon counterpart. The current practice is for experimentalists to orchestrate the individual behavior of each microfluidic valve using a graphical system such as Labview. While this practice is merely tedious for today's devices, it will soon become completely intractable--akin to programming a modern microprocessor by directly toggling each of a million gates.
We are developing a set of abstraction layers to provide scalability, portability, and high-level programming for the microfluidic domain. Using novel abstractions, scientists will be able to orchestrate large, adaptive, and reusable experiments that are beyond the grasp of today's hardware-oriented user interfaces. Programmable microfluidics will also provide a powerful substrate for biological computing: using precise and automatic control of fluid samples, one can build a hybrid computer that uses microfluidics for the plumbing (the control paths) and biological primitives for the computations (the ALUs).
In collaboration with the Hatsopoulis Microfluids Laboratory at MIT, we have designed and fabricated multiple microfluidic chips that support flexible programming and control. Figure 1 depicts one such chip, supporting a mixer , an 8-cell storage array, I/O, and a general interconnection network. Figure 2 illustrates another device, with similar capabilities but a different transport mechanism (samples are driven by air, rather than by oil). As detailed in recent publications [4,5], these chips can load, store, and mix samples in an arbitrary sequence.
To control the devices, we have developed BioStream: a portable, high-level language for describing biological protocols. BioStream is currently implemented as a Java library that translates high-level operations to valve actuations on a given device. For example, the concentration gradient pictured in Figure 1 was generated using the following BioStream code:
Because this code does not depend on any details of the underlying architecture (e.g., the number of storage cells, the implementation of mixing, etc.), it can be seamlessly executed on both of the chips pictured above. It will also map naturally to future devices, even if they contain more resources or varying channel topologies.
An additional benefit offered by BioStream is a "digital abstraction" that allows the programmer to manipulate first-class fluid variables (such as "yellow" and "blue" in the example). A digital abstraction is needed because fluidic operations are lossy: once a fluid is used (for example, as the input to a mixer) it is consumed and is no longer available for future operations. Unlike with silicon computation, there is no hardware-based notion of "gain" to regenerate fluids after they have been used. To address this issue, the BioStream runtime system provides gain at the software level. BioStream tracks the sequence of mixes that were used to generate each fluid, such that if the programmer uses a fluid more than once, the sequence is repeated to regenerate the fluid of interest.
Just as programmability was the key to harnessing the power of silicon-based computers over the course of the last 50 years, we believe that a novel set of abstraction layers will be essential to harness the full power of microfluidic devices. Applications that can utilize programmability include adaptive enzymatic assays, fixed-pH reactions, automatic optimization of PCR conditions, feedback-driven directed evolution, and complex protocol sequences.
We are currently pursuing several collaborations to apply programmable microfluidics in practice. Together with researchers from the Colorado Center for Reproductive Medicine, we are assessing oocyte viability by programmable monitoring of metabolites. We are also collaborating with systems biology researchers at Harvard Medical School to study how mammalian signal transduction pathways respond to complex input signals. In the long run, we believe that the language used to describe experiments will even become a standard in the scientific community, appearing in the literature as a precise account of the methods employed. Multiple researchers will be able to replicate a procedure (or use it as a subroutine) by running the high-level description on their own microfluidic chip.
This work is supported by the National Science Foundation (#CCF-0541319).
 T. Thorsen, S.J. Maerkl and S.R. Quake. Microfluidic large scale integration. In Science, vol. 298, pp. 580--584, 2002.
 J.W. Hong and S.R. Quake. Integrated nanoliter systems. In Nature BioTechnology, vol. 21, pp. 1179--1183, 2003.
 H.P. Chou, M.A. Unger and S.R. Quake. A Microfabricated rotary pump. In Biomedical Microdevices, vol. 3, pp. 323--330, 2001.
 J.P. Urbanski, W. Thies, C. Rhodes, S. Amarasinghe, and T. Thorsen. Digital microfluidics using soft lithography. In Lab on a Chip, vol. 6, pp. 96--104, 2006.
 W. Thies, J.P. Urbanski, T. Thorsen, and S. Amarasinghe. Abstraction Layers for Scalable Microfluidic Biocomputers. In 12th International Meeting on DNA Computing, June, 2006.