We have Cellario 4.0 and have a need to change tasks on a plate by whether it’s the first plate or not. We’ve tried using a C# script that deletes tasks if the plate number == 1 but are having some troubles with deadlocks. I thought the decision task might be an easier way to accomplish what we want but can’t find a way to have the plate number dynamically assigned to a parameter…
Anybody successfully used the Decision task in Cellario?
You’ll want to make sure your parameter level is “SAMPLE” and not “ORDER”. Then, you’ll probably want to do a loop or LINQ query for “RunOrderParameters” to find the one that matches your “ParameterName” (if you have multiple parameters) and the “OrderSampleId” of your desired plate (this is the key). Once you have the parameter isolated, you can set its “ParameterValue” to match at the decision node for the plate. Hope that makes sense. I’d give a code example, but I’m not sure how much we can share about their API.
I myself still prefer having all the possible operations and deleting the unnecessary ones based on scripts. If you’re getting deadlocks, you probably wanna make sure that you’re deleting the associated Move steps correctly as well, and use Incubate steps as needed to re-assign resources for logic operations.
if your first plate has a unique workflow versus all your other plates, would it be worthwhile to create it’s own “plate” and have it run first and have all your other plates follow afterward in their own “plate”?
Our backup plan was to create a protocol specifically for the first plate and then all subsequent plates would be in a second protocol that runs concurrently. We wanted to make it one protocol for simplicity of the setup and sharing other common labware (tips, etc). We ended up figuring it out by using scripting to remove steps that aren’t required for the first plate (and other plates involved with the first plate).
We invoked a “SendToStorage” command in a C# script which seems to end all subsequent steps for that plate.