Fluent tracking pipetting errors/insufficient volume

Hi all, I’m hoping someone could shine some light on whether there is a better solution to my problem

We run long worklists, and often the instrument will encounter wells with insufficient volume. I have set the liquid class to handle the clld error with “aspirate anyway” to keep the worklist moving.

However, we do want to record which plates and wells resulted in those clld errors.

My current solution is as follows:

  1. User specifies number of plates in worklist at beginning of run
  2. Execute the worklist
  3. Create the array of well data
    3a) Loop over the defined number of plates:
    3b) Loop over all the wells in the plate:
    3c) store barcode, well, pipetting_error_code, in an array of [[barcode, well, error_code]…]
  4. Create arrays of each line of the worklist file [[‘barcode’, ‘well’, ‘id’]…] because I need the unique id in the export file associated with the sample transferred
  5. Export a file that has each plate-well with any error_code that occurred and its associated unique_id

This seems to work fine, however there are some issues I’ve encountered making it less than ideal:

  1. I can’t find a way to get the number of lines from the worklist or gwl file, only a txt or xlsx file. In order to extract all the unique ids from the worklist, I need to loop over the rows but that requires me to know how many rows there are.
    So I’m manually creating an extra copy of the gwl as a txt file and calculating the rows from that. This is not ideal because to find the right txt file it needs to be named the same as the imported worklist file and users change the names of the worklists

  2. If the same well is sourced from multiple times, only the error_code of the last pipetting event will be stored in the well attribute, so I lose any ability to determine at what point the well volume ran out

Basically what I want to determine is for each line of the worklist whether a pipetting error occurred

Any insight is appreciated thanks

  1. Maybe I’m misunderstanding but does FileLineCount() not work for your use case?
  2. Do you build one giant worklist file for all plates? Meaning that if you have 12 plates. Do you include the pipetting actions for all 12 into 1 massive gwl instead of 12 individual files?

this sounds like Sample Tracking could be of use,
it offers real time tracking of each pipette action, logging source, destination, barcodes, volume etc & errors

reports/output files can be generated for each piece of labware

Yes, FileLineCount() did wind up working for my worklist csv.

And yes there’s one large worklist file for all plates.

Sample tracking is an additional cost to the base fluentcontrol software correct?

I don’t know much about how your infrastructure is setup but I tend to break up my worklists by plate.

By breaking up large worklists you can then query them for errors. You can also potentially use the microscript in the liquid class to flag when you have an issue.

You can check at the About window or at bottom left corner of FluentControl main window which licenses you already have. It lists something like Base,GX,ST,UM . If ST is listed there, you have the license for Sample Tracking (As far as I’m aware, you get the ST license automatically in case you already have the GX license)