Slide1 l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 85

Microfluidic Chips PowerPoint PPT Presentation


  • 80 Views
  • Uploaded on
  • Presentation posted in: General

Bringing Programmability to Experimental Biology Bill Thies Joint work with Vaishnavi Ananthanarayanan, J.P. Urbanski , Nada Amin, David Craig, Jeremy Gunawardena , Todd Thorsen , and Saman Amarasinghe Microsoft Research India ICIP 2011. Microfluidic Chips.

Download Presentation

Microfluidic Chips

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Slide1 l.jpg

Bringing Programmability toExperimental BiologyBill ThiesJoint work with Vaishnavi Ananthanarayanan, J.P. Urbanski, Nada Amin, David Craig, Jeremy Gunawardena, Todd Thorsen, and Saman AmarasingheMicrosoft Research IndiaICIP 2011


Microfluidic chips l.jpg

Microfluidic Chips

  • Idea: a whole biology lab on a single chip

    • Input/output

    • Sensors: pH, glucose, temperature, etc.

    • Actuators: mixing, PCR, electrophoresis, cell lysis, etc.

  • Benefits:

    • Small sample volumes

    • High throughput

  • Applications:

    • Biochemistry - Cell biology

    • Biological computing

10x real-time

1 mm


Application to rural diagnostics l.jpg

Application to Rural Diagnostics

DxBox

U. Washington,Micronics, Inc.,

Nanogen, Inc.

Targets:

- malaria (done)

- dengue, influenza,Rickettsial diseases,

typhoid, measles (under development)

Disposable

EntericCard

PATH,Washington U.Micronics, Inc.,

U. Washington

Targets:

- E. coli, Shigella,

Salmonella, C. jejuni

CARD

Rheonix, Inc.

Targets:

- HPV diagnosis

- Detection of specific gene sequences


Moore s law of microfluidics valve density doubles every 4 months l.jpg

Moore’s Law of Microfluidics:Valve Density Doubles Every 4 Months

Source: Fluidigm Corporation (http://www.fluidigm.com/images/mlaw_lg.jpg)


Moore s law of microfluidics valve density doubles every 4 months5 l.jpg

Moore’s Law of Microfluidics:Valve Density Doubles Every 4 Months

Source: Fluidigm Corporation (http://www.fluidigm.com/didIFC.htm)


Current practice manage gate level details from design to operation l.jpg

Current Practice: Manage Gate-Level Details from Design to Operation

  • For every change in the experiment or the chip design:

fabricate

chip

2. Operate each gate from LabView

1. Manually draw in AutoCAD


Abstraction layers for microfluidics l.jpg

Abstraction Layers for Microfluidics

Silicon Analog

Protocol Description Language

- architecture-independent protocol description

C

Fluidic Instruction Set Architecture (ISA)

- primitives for I/O, storage, transport, mixing

x86

Pentium III,Pentium IV

chip 1

chip 2

chip 3

transistors, registers, …

Fluidic Hardware Primitives

- valves, multiplexers, mixers, latches


Abstraction layers for microfluidics8 l.jpg

Abstraction Layers for Microfluidics

Contributions

Protocol Description Language

- architecture-independent protocol description

BioCoder Language

[J.Bio.Eng. 2010]

Optimized Compilation

[Natural Computing 2007]

Fluidic Instruction Set Architecture (ISA)

- primitives for I/O, storage, transport, mixing

Demonstrate Portability

[DNA 2006]

Micado AutoCAD Plugin

[MIT 2008, ICCD 2009]

chip 1

chip 2

chip 3

Digital Sample Control Using Soft Lithography

[Lab on a Chip ‘06]

Fluidic Hardware Primitives

- valves, multiplexers, mixers, latches


Primitive 1 a valve quake et al l.jpg

Primitive 1: A Valve (Quake et al.)

Control Layer

Flow Layer


Primitive 1 a valve quake et al10 l.jpg

Primitive 1: A Valve (Quake et al.)

Control Layer

Flow Layer


Primitive 1 a valve quake et al11 l.jpg

Primitive 1: A Valve (Quake et al.)

Control Layer

Thick layer (poured)

Thin layer (spin-coated)

Flow Layer


Primitive 1 a valve quake et al12 l.jpg

Primitive 1: A Valve (Quake et al.)

Control Layer

Flow Layer


Primitive 1 a valve quake et al13 l.jpg

Primitive 1: A Valve (Quake et al.)

Control Layer

Flow Layer


Primitive 1 a valve quake et al14 l.jpg

Primitive 1: A Valve (Quake et al.)

Control Layer

Flow Layer


Primitive 1 a valve quake et al15 l.jpg

Primitive 1: A Valve (Quake et al.)

Control Layer

Flow Layer


Primitive 1 a valve quake et al16 l.jpg

Primitive 1: A Valve (Quake et al.)

Control Layer

pressure actuator

Flow Layer


Primitive 2 a multiplexer thorsen et al l.jpg

Primitive 2: A Multiplexer (Thorsen et al.)

flow layer

control layer

Bit 2

Bit 1

Bit 0

1

1

1

0

0

0

Output 7

Output 6

Output 5

Input

Output 4

Output 3

Output 2

Output 1

Output 0


Primitive 2 a multiplexer thorsen et al18 l.jpg

Primitive 2: A Multiplexer (Thorsen et al.)

flow layer

control layer

Bit 2

Bit 1

Bit 0

1

1

1

0

0

0

Output 7

Output 6

Output 5

Input

Output 4

Output 3

Output 2

Output 1

Output 0

Example: select 3 = 011


Primitive 2 a multiplexer thorsen et al19 l.jpg

Primitive 2: A Multiplexer (Thorsen et al.)

flow layer

control layer

Bit 2

Bit 1

Bit 0

1

1

1

0

0

0

Output 7

Output 6

Output 5

Input

Output 4

Output 3

Output 2

Output 1

Output 0

Example: select 3 = 011


Primitive 2 a multiplexer thorsen et al20 l.jpg

Primitive 2: A Multiplexer (Thorsen et al.)

flow layer

control layer

Bit 2

Bit 1

Bit 0

1

1

1

0

0

0

Output 7

Output 6

Output 5

Input

Output 4

Output 3

Output 2

Output 1

Output 0

Example: select 3 = 011


Primitive 3 a mixer quake et al l.jpg

Primitive 3: A Mixer (Quake et al.)

1. Load sample on bottom

2. Load sample on top

3. Peristaltic pumping

Rotary Mixing


Abstraction layers for microfluidics22 l.jpg

Abstraction Layers for Microfluidics

Protocol Description Language

- architecture-independent protocol description

Fluidic Instruction Set Architecture (ISA)

- primitives for I/O, storage, transport, mixing

chip 1

chip 2

chip 3

Fluidic Hardware Primitives

- valves, multiplexers, mixers, latches


Driving applications l.jpg

Driving Applications

1. What are the best indicators for oocyte viability?

  • With Mark Johnson’s andTodd Thorsen’s groups

  • During in-vitro fertilization, monitor cell metabolites and select healthiest embryo for implantation

    2. How do mammalian signal transduction pathways respond to complex inputs?

  • With Jeremy Gunawardena’sand Todd Thorsen’s groups

  • Isolate cells and stimulate with square wave, sine wave, etc.


Cad tools for microfluidic chips l.jpg

CAD Tools for Microfluidic Chips

  • Goal: automate placement, routing, control of microfluidic features

  • Why is this different than electronic CAD?


Cad tools for microfluidic chips25 l.jpg

CAD Tools for Microfluidic Chips

  • Goal: automate placement, routing, control of microfluidic features

  • Why is this different than electronic CAD? 1. Control ports (I/O pins) are bottleneck to scalability

    • Pressurized control signals cannot yet be generated on-chip

    • Thus, each logical set of valves requires its own I/O port

      2. Control signals correlated due to continuous flows

       Demand & opportunity for minimizing control logic

pipelined flow

continuous flow


Our technique automatic generation of control layer l.jpg

Our Technique:Automatic Generation of Control Layer


Our technique automatic generation of control layer27 l.jpg

Our Technique:Automatic Generation of Control Layer

1. Describe Fluidic ISA


Our technique automatic generation of control layer28 l.jpg

Our Technique:Automatic Generation of Control Layer

1. Describe Fluidic ISA


Our technique automatic generation of control layer29 l.jpg

Our Technique:Automatic Generation of Control Layer

1. Describe Fluidic ISA


Our technique automatic generation of control layer30 l.jpg

Our Technique:Automatic Generation of Control Layer

1. Describe Fluidic ISA

2. Infer control valves


Our technique automatic generation of control layer31 l.jpg

Our Technique:Automatic Generation of Control Layer

1. Describe Fluidic ISA

2. Infer control valves


Our technique automatic generation of control layer32 l.jpg

Our Technique:Automatic Generation of Control Layer

1. Describe Fluidic ISA

2. Infer control valves

3. Infer control sharing


Our technique automatic generation of control layer33 l.jpg

Our Technique:Automatic Generation of Control Layer

1. Describe Fluidic ISA

2. Infer control valves

3. Infer control sharing


Our technique automatic generation of control layer34 l.jpg

Our Technique:Automatic Generation of Control Layer

1. Describe Fluidic ISA

2. Infer control valves

3. Infer control sharing

4. Route valves to control ports


Our technique automatic generation of control layer35 l.jpg

Our Technique:Automatic Generation of Control Layer

1. Describe Fluidic ISA

2. Infer control valves

3. Infer control sharing

4. Route valves to control ports


Our technique automatic generation of control layer36 l.jpg

Our Technique:Automatic Generation of Control Layer

1. Describe Fluidic ISA

2. Infer control valves

3. Infer control sharing

4. Route valves to control ports


Our technique automatic generation of control layer37 l.jpg

Our Technique:Automatic Generation of Control Layer

1. Describe Fluidic ISA

2. Infer control valves

3. Infer control sharing

4. Route valves to control ports

5. Generate an interactive GUI


Our technique automatic generation of control layer38 l.jpg

Our Technique:Automatic Generation of Control Layer

1. Describe Fluidic ISA

2. Infer control valves

3. Infer control sharing

4. Route valves to control ports

5. Generate an interactive GUI


Our technique automatic generation of control layer39 l.jpg

Our Technique:Automatic Generation of Control Layer

1. Describe Fluidic ISA

2. Infer control valves

3. Infer control sharing

4. Route valves to control ports

5. Generate an interactive GUI


Our technique automatic generation of control layer40 l.jpg

Our Technique:Automatic Generation of Control Layer

1. Describe Fluidic ISA

2. Infer control valves

3. Infer control sharing

4. Route valves to control ports

5. Generate an interactive GUI


Routing algorithm l.jpg

Routing Algorithm

  • Build on recent algorithmfor simultaneous pin

  • assignment & routing

  • [Xiang et al., 2001]

  • Idea: min cost - max flow

  • from valves to ports

  • Our contribution: extend algorithm to allow sharing

    • – Previous capacity constraint on each edge:

    • – Modified capacity constraint on each edge:

    • Solve with linear programming, allowing sharing where beneficial

f1 + f2 + f3 + f4 + f5 + f6 ≤ 1

max(f1, f4) + max(f2 , f3) + f5 + f6 ≤ 1


Routing algorithm42 l.jpg

Routing Algorithm

  • Build on recent algorithmfor simultaneous pin

  • assignment & routing

  • [Xiang et al., 2001]

  • Idea: min cost - max flow

  • from valves to ports

  • Our contribution: extend algorithm to allow sharing

    • – Previous capacity constraint on each edge:

    • – Modified capacity constraint on each edge:

    • Solve with linear programming, allowing sharing where beneficial

f1 + f2 + f3 + f4 + f5 + f6 ≤ 1

max(f1, f4) + max(f2 , f3) + f5 + f6 ≤ 1


Embryonic cell culture l.jpg

Embryonic Cell Culture

Courtesy J.P. Urbanski


Embryonic cell culture44 l.jpg

Embryonic Cell Culture

Courtesy J.P. Urbanski


Cell culture with waveform generator l.jpg

Cell Culture with Waveform Generator

Courtesy David Craig


Cell culture with waveform generator46 l.jpg

Cell Culture with Waveform Generator

Courtesy David Craig


Metabolite detector l.jpg

Metabolite Detector

Courtesy J.P. Urbanski


Metabolite detector48 l.jpg

Metabolite Detector

Courtesy J.P. Urbanski


Micado an autocad plugin l.jpg

Micado: An AutoCAD Plugin

  • Implements ISA, control inference, routing, GUI export

    • Using slightly older algorithms than presented here [Amin ‘08]

    • Parameterized design rules

    • Incremental construction of chips

  • Realistic use by at least 3 microfluidic researchers

  • Freely available at:http://groups.csail.mit.edu/cag/micado/


Open problems l.jpg

Open Problems

  • Automate the design of the flow layer

    • Hardware description language for microfluidics

    • Define parameterized and reusable modules

  • Replicate and pack a primitive as densely as possible

    • How many cell cultures can you fit on a chip?

  • Support additional primitives and functionality

    • Metering volumes

    • Sieve valves

    • Alternate mixers

    • Separation primitives


Abstraction layers for microfluidics51 l.jpg

Abstraction Layers for Microfluidics

Protocol Description Language

- architecture-independent protocol description

Fluidic Instruction Set Architecture (ISA)

- primitives for I/O, storage, transport, mixing

chip 1

chip 2

chip 3

Fluidic Hardware Primitives

- valves, multiplexers, mixers, latches


Toward general purpose microfluidic chips l.jpg

Toward “General Purpose” MicrofluidicChips


Towards a fluidic isa l.jpg

Towards a Fluidic ISA

  • Microfluidic chips have various mixing technologies

    • Electrokinetic mixing

    • Droplet mixing

    • Rotary mixing

  • Common attributes:

    • Ability to mix two samples in equal proportions, store result

  • Fluidic ISA: mix(int src1, int src2, intdst)

    • Ex: mix(1, 2, 3)

    • To allow for lossy transport, only 1 unit of mixture retained

  • [Levitan et al.]

  • [Fair et al.]

  • [Quake et al.]


Implementation oil driven chip l.jpg

Implementation: Oil-Driven Chip


Implementation oil driven chip55 l.jpg

Implementation: Oil-Driven Chip

mix (S1, S2, D) {

1. Load S1

2. Load S2

3. Rotary mixing

4. Store into D

}

50x real-time


Implementation 2 air driven chip l.jpg

Implementation 2: Air-Driven Chip


Implementation 2 air driven chip57 l.jpg

Implementation 2: Air-Driven Chip

mix (S1, S2, D) {

1. Load S1

2. Load S2

3. Mix / Store into D

4. Wash S1

5. Wash S2

}

50x real-time


Write once run anywhere l.jpg

“Write Once, Run Anywhere”

  • Example: Gradient generation

  • Hidden from programmer:

    • Location of fluids

    • Details of mixing, I/O

    • Logic of valve control

    • Timing of chip operations

Fluid yellow = input (0);

Fluid blue = input(1);

for (inti=0; i<=4; i++) {

mix(yellow, 1-i/4, blue, i/4);

}

450 Valve Operations


Algorithms for efficient mixing l.jpg

Algorithms for Efficient Mixing

  • Mixing is fundamental operation of microfluidics

    • Prepare samples for analysis

    • Dilute concentrated substances

    • Control reagantvolumes

  • How to synthesize complex mixture using simple steps?

    • Many systems support only 50/50 mixers

    • Should minimize number of mixes, reagent usage

    • Note: some mixtures only reachable within error tolerance 

  • N

  • Analogous to ALU operations on microprocessors

  • Interesting scheduling and optimization problem


Why not binary search l.jpg

Why Not Binary Search?

0

3/8

1

1/2

1/4

1/2

3/8

5 inputs, 4 mixes


Why not binary search61 l.jpg

Why Not Binary Search?

0

3/8

1

1/2

3/4

3/8

4 inputs, 3 mixes

1/2

1/4

1/2

3/8

5 inputs, 4 mixes


Min mix algorithm l.jpg

Min-Mix Algorithm

  • Simple algorithm yields minimal number of mixes

    • For any number of reagents, to any reachable concentration

    • Also minimizes reagent usage on certain chips


Min mix algorithm key insights l.jpg

Min-Mix Algorithm: Key Insights

  • The mixing process can be represented by a tree.

A

B

B

A

5/8 A, 3/8 B


Min mix algorithm key insights64 l.jpg

Min-Mix Algorithm: Key Insights

  • The mixing process can be represented by a tree.

  • The contribution of an input sample to the overall mixture is 2-d, where d is the depth of the sample in the tree

d

2-d

A

B

3

1/8

2

1/4

B

1

A

1/2

5/8 A, 3/8 B


Min mix algorithm key insights65 l.jpg

Min-Mix Algorithm: Key Insights

1

1

1

0

0

1

5 = 101

3 = 011

  • The mixing process can be represented by a tree.

  • The contribution of an input sample to the overall mixture is 2-d, where d is the depth of the sample in the tree

  • In the optimal mixing tree, a reagent appears at depths corresponding to the binary representation of its overall concentration.

d

2-d

A

B

3

1/8

2

1/4

B

1

A

1/2

5/8 A, 3/8 B


Min mix algorithm66 l.jpg

Min-Mix Algorithm

  • Example: mix 5/16 A, 7/16 B, 4/16 C

  • To mix k fluids with precision 1/n:

    • Min-mix algorithm: O(k log n) mixes

    • Binary search: O(k n) mixes

4

3

2

1

1/16

1/8

1/4

1/2

2-d

d

B

A

B

A

B

B

C

A

B

A

B

C

A=5 B=7 C=4

=0101 =0111 =0100

  • [Natural Computing 2007]


Abstraction layers for microfluidics67 l.jpg

Abstraction Layers for Microfluidics

Protocol Description Language

- architecture-independent protocol description

Fluidic Instruction Set Architecture (ISA)

- primitives for I/O, storage, transport, mixing

chip 1

chip 2

chip 3

Fluidic Hardware Primitives

- valves, multiplexers, mixers, latches


Slide69 l.jpg

“Immunological detection ... was carried out as described in the Boehringerdigoxigenin-nucleic acid detection kit with some modifications.”


Slide70 l.jpg

- Main paper

- References

- Ref. papers


Biocoder a high level programming language for biology protocols l.jpg

BioCoder: A High-Level Programming Language for Biology Protocols

In biology publications, can we replace the textual description of the methods used with a computer program?

1. Enable automation

via microfluidic chips

2. Improve reproducibility

of manual experiments


Example plasmid dna extraction l.jpg

Example: Plasmid DNA Extraction

I. Original protocol (Source: Klavins Lab)

Add 100 ulof 7X Lysis Buffer (Blue) and mix by inverting the tube 4-6 times. Proceed to step 3 within 2 minutes.

II. BioCodercode

FluidSample f1 = measure_and_add(f0, lysis_buffer, 100*uL);

FluidSample f2 = mix(f1, INVERT, 4, 6);

time_constraint(f1, 2*MINUTES, next_step);

III. Auto-generated text output

Add 100 ulof 7X Lysis Buffer (Blue).

Invert the tube 4-6 times.

NOTE: Proceed to the next step within 2 mins.


Example plasmid dna extraction73 l.jpg

Example: Plasmid DNA Extraction

Auto-GeneratedDependence Graph


Biocoder language primitives l.jpg

BioCoder Language Primitives

  • Declaration / measurement / disposal

    • declare_fluid

    • declare_column

    • measure_sample

    • measure_fluid

    • volume

    • discard

    • transfer

    • transfer_column

    • declare_tissue

  • Combination / mixing

    • - combine

    • - mix

    • combine_and_mix

    • addto_column

    • mixing_table

  • Centrifugation

    • - centrifuge_pellet

    • centrifuge_phases

    • centrifuge_column

  • Temperature

  • - set_temp

    • use_or_store

    • autoclave

  • Timing

  • - wait

    • time_constraint

    • store_until

    • inoculation

    • invert_dry

  • Detection

    • - ce_detect

    • gas_chromatography

    • nanodrop

    • electrophoresis

    • mount_observe_slide

    • sequencing


Standardizing ad hoc language l.jpg

Standardizing Ad-Hoc Language

  • Need to convert qualitative words to quantitative scale

  • Example: a common scale for mixing

    • When a protocol says “mix”, it could mean many things

    • Level 1: tap

    • Level 2: stir

    • Level 3: invert

    • Level 4: vortex / resuspend / dissolve

  • Similar issues with temperature, timing, opacity, …


Separating instructions from hints l.jpg

Separating Instructions from Hints

  • How to translate abstract directions?

    • “Remove the medium by aspiration, leaving the bacterial pellet as dry as possible.”

  • Hints provide tutorial or self-check information

    • Can be ignored if rest of protocol is executed correctly

  • centrifuge(&medium, ...);

    hint(pellet_dry)

    Aspirate and remove medium.

    Leave the pellet as dry as possible.


    Benchmark suite l.jpg

    Benchmark Suite

    65 protocols

    5800 LOC


    Example pcr l.jpg

    Example: PCR

    repeat

    thermocycling


    Example molecular barcodes l.jpg

    Example: Molecular Barcodes

    Preparation

    + PCR (2)


    Example dna sequencing l.jpg

    Example: DNA Sequencing

    Preparation

    PCR

    PCR

    PCR

    PCR

    Analysis


    Validating the language l.jpg

    Validating the Language

    • Eventual validation: automatic execution

      • But BioCoder more capable than most chips today

      • Need to decouple language research from microfluidics research

    • Initial validation: human execution

      • In collaboration with Prof. UtpalNath’s lab at IISc

      • Target Plant DNA Isolation, common task for summer intern

        Biologist is never exposed to original lab notes

    • To the best of our knowledge, first execution of a real biology protocol from a portable programming language

    Original Lab Notes

    BioCoder

    Code

    Auto-Generated Protocol

    Executionin Lab


    Growing a community l.jpg

    Growing a Community


    Growing a community83 l.jpg

    Growing a Community


    Growing a community84 l.jpg

    Growing a Community


    Conclusions l.jpg

    Conclusions

    • Abstraction layers fora programmable biology

      • CAD tools for microfluidics

      • Fluidic ISA

      • BioCoderlanguage

    • Vision for microfluidics:everyone uses standard chip

    • Vision for software:a de-facto language for protocols

      • Download a colleague’s code, run it on your chip

      • Compose modules and libraries to enable complex experimentsthat are impossible to perform today


  • Login