Worklist Commands - Mixing?

Hello!

I’m looking for alternative ways to mix samples instead of issuing the Mix commands that are built into FC.

I don’t want to use FC’s Mix command because I have a dynamic number of samples. I found the Reagent Distribution and Sample Transfer commands are able to take in variables for dynamic parameters, and I’m looking for something very similar, but for Mixing. See nHitpick variable in Sample Transfer command below:

Is it possible to issue a Mix command using worklists? I did not see any mention of this in the FC Help menu.

I considered making a custom worklist that would cycle aspiration and dispense commands to replicate “mix” cycles. This feels like brute force though, so I’m curious if someone has a more elegant solution.

Thank you!

Here are some options in order of difficulty…

  1. Build the mix into the Liquid Class Microscript (allows you to use all SMART Commands with Mixing)
  2. Create a VB that constructs an asop/disp worklist with mixing and execute it (total control but lose some ability to recover plus may be more difficult if you don’t code)
  3. Dynamically build the steps with variables in a Variable Pipetting Loop or normal plate loop with the Mix command (native, powerful, don’t end up doing step #1 which is a huge no-no for some)

Third is the most difficult because you can end up with a hearty number of dynamic variables once you figure out how to use Tip Selection and Well Offset in ways that allow you to map the plate however you want.

2 Likes

The third idea is very interesting! I think you’re right about the difficulty… it may be too complex for me at this time.

I learned how to code VB this week (thanks to some of your other examples around the forum), so I will go with the 2nd option.

Really great feedback!

1 Like

That’s great! Learning to create a worklist in VB is a nice way to flex those programming muscles.

You can also execute SMART commands from a worklist.

There is also a 4th option that I forgot to mention but it’s tricky, you can always mix with a shaker. Not the ideal but it’s an option’

2 Likes

Great options @luisvillaautomata. Personally I would build a mix into your liquid class microscript. As there is a bit of a hidden feature where you can also dynamically feed in an inbuilt mixing liquid class or non-mixing as a variable into commands.

For example, in your smart command image where you input the liquid class if you click the grey box next to it, you can now input a function or a declared variable. The user can then pre-define if the want to use a mixing or non-mixing liquid class for the command.

SystemSW_d58hEGx54e

with Predefined variable “LiquidClass”
SystemSW_4JCaT616sz

This is also true if you feed Liquid Class into worklist commands so it’s the best way to centralize actions for multiple scripts. You just have to be good at managing your Liquid Class library.

2 Likes

Thank you both for your suggestions!

I explored the worklist option, but it seems I may need to build out Tip Selection to make the worklists run quicker. In the arrangement below, the worklist aspirated and dispensed samples one at a time. I think it is possible to aspirate/dispense multiple samples at once if I specify the tip in each command, but haven’t tried yet.

GWL A/D cycles to replicate mixing:
A;Hitpick[001];;;1;;50;Water Free Multi;;;
D;Hitpick[001];;;1;;50;Water Free Multi;;;
A;Hitpick[001];;;2;;50;Water Free Multi;;;
D;Hitpick[001];;;2;;50;Water Free Multi;;;
A;Hitpick[001];;;3;;50;Water Free Multi;;;
D;Hitpick[001];;;3;;50;Water Free Multi;;;
A;Hitpick[001];;;4;;50;Water Free Multi;;;
D;Hitpick[001];;;4;;50;Water Free Multi;;;
A;Hitpick[001];;;5;;50;Water Free Multi;;;
D;Hitpick[001];;;5;;50;Water Free Multi;;;
A;Hitpick[001];;;6;;50;Water Free Multi;;;
D;Hitpick[001];;;6;;50;Water Free Multi;;;
A;Hitpick[001];;;7;;50;Water Free Multi;;;
D;Hitpick[001];;;7;;50;Water Free Multi;;;
A;Hitpick[001];;;8;;50;Water Free Multi;;;
D;Hitpick[001];;;8;;50;Water Free Multi;;;
W;

I also built the mixing microscript into my liquid class. I simply copy-pasted another Mixing liquid class’s microscript to the end of my Dispense liquid class’s microscript. It seemed to work pretty well. It’s good enough for my purpose, so I think I will use this for now.

2 Likes

If they’re in a column maybe you can also try,

2 Likes

Hi Luis! Thanks for your suggestion.

I tried this on my TECAN. You can see the A/D commands generated below. Still 1 tip at a time.

I suspected the problem may be due to Hitpick[001] being a 384-well microplate (not 96-well), which might be messing with the worklist’s logic during tip selection. So I changed the worklist to:

GWL A/D cycles to replicate mixing:
A;Hitpick[001];;;1;;50;Water Free Multi;;;
A;Hitpick[001];;;3;;50;Water Free Multi;;;
A;Hitpick[001];;;5;;50;Water Free Multi;;;
A;Hitpick[001];;;7;;50;Water Free Multi;;;
A;Hitpick[001];;;9;;50;Water Free Multi;;;
A;Hitpick[001];;;11;;50;Water Free Multi;;;
A;Hitpick[001];;;13;;50;Water Free Multi;;;
A;Hitpick[001];;;15;;50;Water Free Multi;;;
D;Hitpick[001];;;1;;50;Water Free Multi;;;
D;Hitpick[001];;;3;;50;Water Free Multi;;;
D;Hitpick[001];;;5;;50;Water Free Multi;;;
D;Hitpick[001];;;7;;50;Water Free Multi;;;
D;Hitpick[001];;;9;;50;Water Free Multi;;;
D;Hitpick[001];;;11;;50;Water Free Multi;;;
D;Hitpick[001];;;13;;50;Water Free Multi;;;
D;Hitpick[001];;;15;;50;Water Free Multi;;;
W;

However, I continued to see single tip selection throughout the generated A/D commands.

In any case, I’ve resolved the mixing issue from the original post, so I won’t need follow up on this further.

In the future, I may create a tip selection algorithm for worklist generations similar to above. I’ll be sure to post here and share if I do. Thank you again for the support!

You need to specify a tip mask just as an fyi.

Other wise it will just use the same tip for everything.

1 Like

if you break up the gwl into:
A;
D;
W;
A;
D;
W;

FluentControl will identify the first A for the first tip selected in the “load worklist” command, and second “A” for second tip
so a gwl with 8 x ADW groups will use 8 tips in parallel
if you want more specific tip use, each A; & D; can be assigned a tipmask value to force a specific tip for that action

2 Likes

Also if you want to reuse the same tip replace W with F. This forces a tip flush wash and keeps any mounted tips for the next pippetting action. Unfortunately there is no standard WL command to set tips back or not flush tips but reuse. You will need to look into advanced worklist commands with tip masking for this.

2 Likes

To resolve this issue, I added a mixing microscript to my liquid class after the dispense microscript. My LC is shown below:

Posting this in case someone wants an example. I’m able to mix samples within my worklists nicely now. :smiley:

I made additional changes to the LC that are not related to the mixing microscript. For unrelated changes, refer to lines: 050, 053, 055, 063, 072, 085.

The unrelated changes were put in after I observed this LC diluting buffers during mixing. I also observed the default Water Mix LC had dilution issues as well. The addition of the leading airgap (line 050 & 073) significantly helped reduce dilution. A minor amount of dilution is still present (2-5% dilution), but much better as opposed to 10-20% dilution that was there previously.

(I believe the dilution may be due to the STAG not properly separating my buffer from the system liquid, causing them to mix and dilute effectively. If anyone has experience solving/troubleshooting this “dilution” issue, please let me know!)

4 Likes

AWESOME! And this is why the microscript is the Fluent’s greatest superpower.

2 Likes

It is possible to multi-dispense from the worklist, if you setup the .gwl file correctly. For example, you could aspirate 300 uL and dispense 6 sets of 50 uL, if you have use the appropriate liquid class for multi-dispense. You would not use the CSV → GWL because that will set up your .gwl for single-dispense. However, you could either write a program to directly write the .gwl, or you could have the CSV → GWL generate the GWL and then write a program to modify the .gwl for multi-dispense. I have successfully implemented this for some projects.

Mike Mueller
Nucleus Automation Partners LLC
www.nucleus-automation.com