HPInc / HP-Digital-Microfluidics

HP Digital Microfluidics Software Platform and Libraries
MIT License
3 stars 1 forks source link

OSU ESElog test macros #290

Open EvanKirshenbaum opened 9 months ago

EvanKirshenbaum commented 9 months ago

From Mike:

Ok, so, here is the macro that OSU would like to run for ESELog. I think I can figure this out given what you did for us last time (with the updates you are making), but thought I would put here for you as well.

  1. The drop A (reagent) will move to the ESELog path for blank measurements (527 nm).

  2. Second step Drop A will move out from the measuring region.

  3. A drop from another well, B (DNA), will mix with drop A in a circular path for 1 minute, forming Drop AB, then rest for 3 minutes, and then move in a circular path again for 1 minute.

  4. Next Step Drop AB will move to ESELog for measurement of fluorescence at 527 nm.

  5. In the final step Drop AB will move out to waste.

This is relatively straightforward, but I'm running into compiler issues writing it out, so I figured I'd open an issue here.

Migrated from internal repository. Originally created by @EvanKirshenbaum on Jul 27, 2023 at 6:23 PM PDT.
EvanKirshenbaum commented 9 months ago

This issue was referenced by the following commits before migration:

EvanKirshenbaum commented 9 months ago

The "compiler issues" turned out to be me not noticing that I had spelled initial_fill as initial_file in its declaration, so of course it was undeclared, as was the function that used it. Sigh.

A couple of other things I tweaked in doing the example:

In my example code (checked in as inputs/eselog-test.dml), I had to define a function for walking in a circle (square):

define circle(drop) {
  drop : right 4 : up 4 : left 4 : down 4;
}

because you can't (pedagogically clearly) define the path in the protocol function itself. What I wanted to be able to say was

   circle = right 4 : up 4 left 4 : down 4;

but if you do that, you get an undeclared variable warning. You can do it as

  local circle = right 4 : up 4 : left 4 : down 4;

but I didn't want to have to explain that. What I really want is (#282)

  path circle = right 4 : up 4 : left 4 : down 4;

but that's not in yet.

Migrated from internal repository. Originally created by @EvanKirshenbaum on Jul 28, 2023 at 11:29 AM PDT.
EvanKirshenbaum commented 9 months ago

Requested tweaks:

Macro Update request:

A = Fluorescent recorder molecule (syber green)

B = Sample (Plasma, pcr product, etc)

C = Buffer

  1. Dispense drop from A and drop from C to form 2X drop AC
  2. Mix AC in a circular path for 1 minute, then rest for 3 minutes, and then move in a circular path again for 1 minute.
  3. Move AC to ESELog for measurement of fluorescence at 527 nm.
  4. Move AC from the measuring region to waste well
  5. Repeat steps 1-4 above with Reagent A and B instead of A and C.
    Migrated from internal repository. Originally created by @EvanKirshenbaum on Jul 28, 2023 at 5:22 PM PDT.