Programmable Microfluidics William Thies*, J.P. Urbanski , Mats - - PowerPoint PPT Presentation
Programmable Microfluidics William Thies*, J.P. Urbanski , Mats - - PowerPoint PPT Presentation
Programmable Microfluidics William Thies*, J.P. Urbanski , Mats Cooper , David Wentzlaff*, Todd Thorsen , and Saman Amarasinghe * * Computer Science and Artificial Intelligence Laboratory Hatsopoulos Microfluids Laboratory
Microfluidic Microfluidic Chips Chips
- Idea: a whole biological lab on a single chip
– Input/output – Actuators: Actuators: temperature, light/dark, cell lysis, etc. – Sensors: Sensors: luminescence, pH, glucose, etc.
- Benefits:
– Small sample volumes – High throughput – Geometrical manipulation
1 mm
- Current interface: gate-level control (Labview)
- New abstraction layers will enable:
– Scalability
- Portability
– Adaptivity
- Optimization
- NOT our goal: replace silicon computation
Our Goal: Our Goal: Provide Abstraction Layers for this Domain Provide Abstraction Layers for this Domain
A General-Purpose Microfluidic A General-Purpose Microfluidic Chip Chip
Control layer Flow layer 5 mm
A General-Purpose Microfluidic A General-Purpose Microfluidic Chip Chip
Control layer Flow layer Control Control ports ports Wash In Wash In Wash Wash Out Out Sample In Sample In Mixer Mixer Storage Cells Storage Cells 5 mm
A General-Purpose Microfluidic A General-Purpose Microfluidic Chip Chip
Control layer Flow layer Control Control ports ports Wash In Wash In Wash Wash Out Out Multiplexor Multiplexor Sample In Sample In Mixer Mixer Storage Cells Storage Cells Latch Latch 5 mm
Providing a Digital Abstraction Providing a Digital Abstraction
- All fluid operations are lossy
- How to control the error?
Providing a Digital Abstraction Providing a Digital Abstraction
- All fluid operations are lossy
- How to control the error?
- Solution: discrete samples
– throw out half of sample on each mix
Providing a Digital Abstraction Providing a Digital Abstraction
- All fluid operations are lossy
- How to control the error?
- Solution: discrete samples
– throw out half of sample on each mix
Providing a Digital Abstraction Providing a Digital Abstraction
- All fluid operations are lossy
- How to control the error?
- Solution: discrete samples
– throw out half of sample on each mix
Providing a Digital Abstraction Providing a Digital Abstraction
- All fluid operations are lossy
- How to control the error?
- Solution: discrete samples
– throw out half of sample on each mix
Providing a Digital Abstraction Providing a Digital Abstraction
- All fluid operations are lossy
- How to control the error?
- Solution: discrete samples
– throw out half of sample on each mix
Programming Model Programming Model
Fluid Fluid blue = inp input (0); Fluid Fluid yellow = input input(1); for (int i=0; i<=4; i++) { mix mix(blue, i/4, yellow, 1-i/4); }
New abstractions: New abstractions:
- Regenerating fluids
- Efficient mixing algorithms
450 Valve Operation 450 Valve Operations
Fluid Fluid sample = input input (0); Fluid Fluid acid = inp input(1); Fluid Fluid base = inp input(2); do { // test pH of sample Fluid Fluid pH_test = mix mix(sample, 0.9, indicator, 0.1); double pH = test_luminescence _luminescence(pH_test); // if pH is out of range, adjust sample if (pH > 7.5) { sample = mix mix (sample, 0.9, acid, 0.1); } else if (pH < 6.5) { sample = mix mix (sample, 0.9, base, 0.1); } wait wait(5); } while (detect_act detect_activity vity(sample));
Example: Fixed pH Reaction Example: Fixed pH Reaction
Fluid Fluid sample = input input (0); Fluid Fluid acid = inp input(1); Fluid Fluid base = inp input(2); do { // test pH of sample Fluid Fluid pH_test = mix mix(sample, 0.9, indicator, 0.1); double pH = tes test_luminescence _luminescence(pH_test); // if pH is out of range, adjust sample if (pH > 7.5) { sample = mix mix (sample, 0.9, acid, 0.1); } else if (pH < 6.5) { sample = mix mix (sample, 0.9, base, 0.1); } wait wait(5); } while (det detect_act ect_activity vity(sample));
Feedback-Intensive Feedback-Intensive Applications: Applications:
- Cell isolation
and manipulation
- Dose-response
curves
- High-throughput
screening
- Long, complex
protocols
Example: Fixed pH Reaction Example: Fixed pH Reaction
Opportunities for Computer Scientists Opportunities for Computer Scientists
- Experimental biology is becoming a digital science
– What are the right abstraction layers? – We can have a large impact
- Vision: A defacto
A defacto language for experimental science anguage for experimental science
Hardware: Hardware:
- parallelism
- error tolerance
- reducing design complexity
- minimizing control overhead
Software: Software:
- scheduling
- programming abstractions
- verifying safety properties
- optimizing throughput, cost