Dispensing to different plate setups

Hello! I have a problem I’d like to see if anyone has solved before I go at it. The machine is an EVO with DiTis and 4 tips. Lovingly nicknamed Nandor the Relentless :vampire:

We’re dispensing blood serum from tubes into two box/plate setups, one for analysis and one for biobanking. We’re leaving some wells empty at the request of the lab, for control groups. Right now, it’s just two identical operations within a loop, but ideally we don’t want to leave any wells empty in the biobank collection to save valuable freezer space.

This is easily remedied by making it two separate loops with different well_offsets etc… But then I have to use twice as many pipette tips! The current setup with one loop allows us to use the same DiTis for both tasks, saving us money and time, and the environment.

Anyone knows of a way to pipette into two different plate setups, while allowing it to continue to the next plate when previous is full? I cant seem to solve it with loop behaviour, as it won’t accept variables as input and our starting point is dynamic (where previous task left off). Currently, I’m looping the pipette operations inside a “box x” loop, where rack_offsett=1 kicks in whenever the box x loops. But this won’t sync up when the boxes ain’t identical, methinks?

Is there some way to count to a variable how many pipetting operations has been conducted, for example? Then I guess I could skip the box x loop and just update rack_offset when each counter reaches a certain point. I’d like to solve this without resorting to worklists if possible!

Thanks for any bright ideas!

If I’m reading this right, you’re looking to move sample from one tube to two plates, with two different well destinations?

Is it possible to just create variables for each well_offset and iterate them separately?

loop i=[# of samples]
tube_offset = LOOP_i
Aspirate from tube
well_offset = AnalysisOffset
Dispense into plate 1
Dispense into plate 2
AnalysisOffset = AnalysisOffset+1+[# of empty wells]
BiobankingOffset = BiobankingOffset + 1
end loop

As long as the plates are named differently but sequentially (plate_analysis1…2…3…) I believe EVO is smart enough to move to next plate. May need to create a duplicate labware worst-case scenario so there’s 96well_analysis and 96well_bank, or similar.

Thanks for the input. You can indeed have different variables for the two offsets, but as far as I’ve observed, there is no in-built behaviour for moving on to the next plate. I’ve had to handle it in a pretty round-about way with the rack-offset function (well offset for labware). There is a loop behaviour option for dispense/aspirate steps, where you do action y (move on to next labware) after x loops, but x must be an integer for some reason, not a variable. Which is problematic when we have a different starting point every time.

Could be there is a built on behaviour for jumping to next labware, which is disfunctional because of some other part of the script. I started out trying to do a lot of things at once. I’m gonna try it with a bare-bones script when I get to the lab next week, so I can be certain!

And relying on a continuously updating well offset to determine the dispense could be a solution, might be able to do something like : if analysisOffset=>97 → rack_offset=1 , instead of the loop_counter reliant rack offset i use now.

Cheers! Have a nice weekend, soon!

Pretty sure this was a feature added in FluentControl. I’ve never seen this functionality in Evoware.

I could have sworn EVOware had logic where WELL_OFFSET=97 automatically swapped to the next labware of the same type, but in my testing I could only get it to work with the same logic you’re talking about.

Pretty sure you and I have the same solution - works but it’s not very elegant.

Printout of test script for anyone interested

Edit: I just thought of this - but you might be able to make a double-wide plate custom labware and trick the system into using the next plate, similar to how sample tubes are sometimes set up as a single super-labware rather than individual racks. I feel like EVOware works best when you sometimes lie to it :sweat_smile:

1 Like

@jnecr I think that’s correct, our tecan reseller said the Fluent had this functionality when I asked him last week, but evoware has some limitations.

@evwolfson Thanks a lot, very kind of you to test it out. The logic and setup you’ve got in the test script is a bit more elegant than what i had in mind actually, so this helps a lot!

I’ve been using the “super labware” trick for the primary tubes, which solved a lot of issues. So that’s a fun idea, I’d assume you’d get stuck when teaching, but maybe not. I’ll have a look at it :slight_smile: