There are many similar topics but I couldn’t find a solution to this specific problem, so here we go:
I am trying to generate a dynamic sequence from a work list (shocking, I know).
This works fine for plates, but when it comes to tubes I just can’t make it happen in a simple way, just by many workarounds, and I am sure that there must be a simpler solution out there.
The work list is really simple (.csv) and consists of two columns an index (let’s say 1 to 288) and a sample name.
My problem is that the index is read as alpha numeric, plus that when the index gets bigger than 32 I get an error which says that the positionID (1) on the next carrier (32x tube carrier) is not equal 33 or does not contain this or that. So I can never pass the first sample tube carrier.
Is there a simple way to dynamically create a sequence from an incrementing index based work list on tubes with multiple sample tube carriers?
This is an interesting puzzle to solve. The main issue as you mentioned is you cannot use the numeric value from the worklist as the position on the tube carrier, as there is no position 33-96. Off the top of my head, I can think of two ways that you get around this.
You determine the carrier number from the position ID and then revert the position ID to the relevant numeric value for the carrier.
Position IDs 1-32 = Tube Rack 1
Position IDs 33 - 64 = Tube Rack 2
Position IDs 65 - 96 = Tube Rack 3
Here is the logic that you can use to make this calculation:
You use a reference deck sequence that contains all 96 positions in order, then set that sequence = to the position of the current row being read. This way you can grab the Labware and Position from your reference sequence based on the worklist.
Do note that you can optimize this with sorting the sequence.
You can do this on X and Y and it is handy to make the most use of your channels without movements that do not make any sense. Your technicians will ask for it (trust me, they do)
This particular piece of SMT only sorts on X because that is what I am looking for. Also I am not allowed to use any external files, so that’s why the usage of arrays. But you can make this easy for Y coordinates.
Do not forget to start with remove seqA and seqB. But that did not fit on the screenshot