Quick question, is it possible to make an aspirate command use multiple plates.
For example I have a 8 channel STAR and want to aspirate from the A1 of 3 separate plates, all in one aspiration command. I’ve mostly seen examples of singular resources being aspirated from:
await lh.aspirate(plate_1["A2"], vols=[200])
I know this is possible to do in Venus as the Hamilton is sent a C0AS command that holds the x, y, z of all the positions of all the wells.
Are these two interchangeable? I guess I’m confused on how lh.aspirate is working with just: await lh.aspirate(wells_plate_1 + wells_plate_2, vols=[200])
aspirate96 is for the 96 head. The screenshot form the docs is actually just one object that LiquidHandlerBackend.aspirate96 takes, it can also take AspirationContainer in case you’re aspirating from big container with all 96 channels at the same time (should probably be renamed to AspirationContainer96 to avoid confusion with Aspiration, for single-channel aspirations).
Excuse the confusing names, I shall rename:
Aspiration → SingleChannelAspiration: single channel aspiration, like PIP on Hamilton
AspirationPlate → MultiHeadAspirationPlate: aspirate from wells with 96 (or 384) head
AspirationContainer → MultiHeadAspirationContainer: aspirate from wells with 96 (or 384) head
idem ditto for Dispense
you’re right, vols should be a list of as many volumes as there are wells
Ok I’m getting it, I think but for this documentation of lh.aspirate the docs say it wants a sequence of containers? Though in the examples aren’t you passing it a list of wells?
Can I suggest that:
AspirationPlate → MultiHeadAspirationPlate: aspirate from wells with 96 (or 384) head
Could be:
AspirationPlate → MultiHeadAspirationStamp: aspirate from wells with 96 (or 384) head
yes, because there are multiple channels that may operate simultaneously on the pip head. List[SingleChannelAspiration] is clearer.
i thought Stamp typically refers to aspirate + dispense with the 96/384 head, but I could be wrong. Also if we have Stamp for Plate, does that mean aspirating from a Container with the 96 head is not part of stamping? i’m not a biologist, so please enlighten me
also i’m thinking we can use above terminology for fixed-interval 8-channel heads like those on OT or the ML Prep. lh.aspirate8 (cc @CamilloMoschner). That could use the same standard class, but is almost certainly not stamping? just planning, happy to discuss
My bad, just realized my assumption was wrong, I’m too ingrained in Hamilton Venus, I was thinking “A1, B1, C1 etc…” was a string and a file was the actual container object…
We’re too integrated in Venus at this point unfortunately. Only thing would be PyLabRobot to be operational 4.5 years ago. With over 40 methods on 10 different robots porting over the technical debt would be too much of a risk and time drain.
On this note, input ['A12', 'A11', 'A10', 'A9', 'A8', 'A7'] as the “sources” for aspirate and got the error that channel 0 and channel 1 were too close together because the y position was the same. Wondering if this is a me problem or a different problem. Using a 12-channel trough for this btw