I am working on a method that will take source plate and well ID input and destination plate and well ID, build sequences in batches, sort those sequences for channel usage, and then pipette/mix in the source wells and transfer a designated volume over to the destination plate/well.
I used TwoSeq_Channels of SequenceTools_V4 for the sorting and everything checks out. Below are the first 8 sequence positions I trace before pipetting, showing it correctly pulls in things in column 1 across three different 24-deep well plates:
I then use PIP_BuildChannelPatternFromSequence of STAR Pipetting Tools to generate the channel pattern, which always is correct. In this particular case “11111111”, and then I want to mix by cycling back and forth between PIP_AspirateFromFixedHeight of STAR Pipetting Tools and PIP_DispenseToFixedHeight.
All checks out in simulation (though these libraries don’t trace the seq pos. being consumed)
When running on an instrument, however, I see my channel pattern direct tip pickup correctly (here still “11111111”), but when it starts aspirating, it uses channels 1-4 first, and only aspirates from fixed height for the first 4 sequence positions. Then channels 5-8 aspirate from the same four sequence positions, followed by channels 1-4 dispensing to fixed height back to those same seq pos, then channels 5-8. I didn’t let it go further than that before aborting, but any idea what is going on here?
The final sampling aspirate/dispense uses the normal 1000uL Channel Aspirate/Dispense steps, and these correctly (according to the trace) access the sequence positions they should. Of course the issue here is the cross contamination that would’ve happened from the weird mixing part.
I added in the Get Current Pos traces and nothing unusual is happening there. The Fixed Height Aspirate/Dispense don’t consume seq positions themselves (current pos is 1 before and after the mixing loop), but the standard aspirate does (changes to 9 after that transfer and before beginning next tip pickup cycle).

