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.
Build the mix into the Liquid Class Microscript (allows you to use all SMART Commands with Mixing)
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)
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.
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.
with Predefined variable “LiquidClass”
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.
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.
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.
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:
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!
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
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.
Posting this in case someone wants an example. I’m able to mix samples within my worklists nicely now.
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!)
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.