Well offset cannot be calculated

I am getting an error on a script I am building and I feel like i’m stuck. I think it has to do with the liquid class settings and/or variables needing to be defined, but I am not 100% sure.

Tecan Fluent 480 with Fluent Control 2.5. Worktable image attached.

Basically I am setting up a script that allow me to import a csv file, convert it to a GWL, load the GWL, and execute the method. The csv script just tells the program to aspirate a specific volume from a certain well on one plate and dispense it into another plate. There is one destination plate involved and there can be up to 9 source plates involved.

Here is a preview of the .gwl file that it generates.
A;;PCR Plate 2;;A1;;2;;;;
D;;PCR Plate 1;;B1;;2;;;;
W;
A;;PCR Plate 2;;B1;;2;;;;
D;;PCR Plate 1;;C1;;2;;;;
W;
A;;PCR Plate 2;;C1;;2;;;;
D;;PCR Plate 1;;D1;;2;;;;
W;
A;;PCR Plate 2;;D1;;2;;;;
D;;PCR Plate 1;;E1;;2;;;;
W;
A;;PCR Plate 2;;E1;;2;;;;
D;;PCR Plate 1;;F1;;2;;;;
W;
A;;PCR Plate 2;;F1;;2;;;;
D;;PCR Plate 1;;G1;;2;;;;
W;

I am getting an error that states:

Errors in script generated from worklist: Well offset cannot be calculated for labware outside of pipettable worktable area.
Missing in Tip: Tip-4 8.000µl, Tip-5 11.000µl, Tip-6 4.000µl, Tip-7 2.000µl, Tip-8 2.000µl. Aspiration volume must be at least dispense volume.

There are multiple other errors for other tips and volumes. All of the volumes in the gwl seem to line up between aspirate and dispense, so I am wondering if this has something to do with the airgaps in the liquid class or something else. Also, confused if the script is using the volumes from the csv or from the liquid class since the liquid class requires you to select a volume. Also not sure what to put as the volume on the liquid class since these volumes are variable. Do I need to add information in the script to tell it to get new tips after each aspiration/dispense, or does it know to do that automatically. I have seen online where you could put a F; after every 8 tips in the worklist and it is supposed to make it discard the tips, but that didn’t seem to fix the issue here.

This script is being tested in simulation mode. Please let me know if more information is needed.

I appreciate any feedback. Thanks!

Could the script be creating a scenario where tip 1 of the LiHa is attempting to access well H1 of a plate near the front of the deck?

Is this in microscript?

I believe there are different key letters for different types of arms, air vs liquid, but I don’t recall the specifics. There are a ton of worklisting topics on the forum that may be applicable, such as this one: https://forums.pylabrobot.org/t/worklist-pipetting-pattern-logic/2629/2?u=evwolfson

2 Likes

if you avoid putting plates on the front most nests, this should remove the error,
the worklist you have does not explicitly dictate which tip goes to which well,
so the worklist handler is trying to move tip 1 to wells 2 through 8 on the front most labware - which is outside of range of FCA

1 Like

@Optimize
Thank you for the input! I did wonder if that would cause an issue because I noticed that the robot was not able to move finger 1 into positions 2-8 when I was teaching the labware. I bet you are right. I will give this a go and see if that resolves the issue.

@evwolfson
Thank you for the reply! Yes, I do believe that is what it is doing.

The volume I am referring to is the “Sample Volume” that is required to define under “Easy Control” for the aspiration and dispense settings of the liquid class. There are also variables in the microscript that define aspiration volume, though those were already set and I didn’t mess with those. I made a copy of the Water Free Single liquid class and used that for my liquid class. I am just unsure if it will use the volume specified in my CSV for the script, or if I also need to set parameters for the volume in the liquid class. I defaulted to defining them in my script since the volumes may vary on each set of aspirate/dispense.

1 Like

The easy control volume is only for visualization of the aspiration/dispense parameters and tip contents, so it will not affect the actual pipetting carried out in scripts.

However, the actual microscript uses the variable “volume” which is passed to the microscript by pipetting commands within the main script/method. Be weary not to change this variable and your liquid classes will work just fine. In general, liquid classes are solid and will handle pretty much everything you run into.

1 Like

@evwolfson @Optimize

Thank you both for the help! This fixed my issue.