Closed KatyTaylor closed 1 year ago
Can we have multiple destination plates (sequencing and contingency)?
This might have to be more than a standard bed verification story - Because both source plates have the same purpose, and the racks don't have any printed labels and therefore can't have purposes visible to the user, I think we will have to tell the user which beds to put the plates / racks on.
e.g. User scans each labware, bed verification screen tells them which bed to put it on. They can then scan the bed to double-check they put it on the right one!
The logic for determining which labware goes on which bed should be the same as the robot method uses when it interprets the driver file. A simple rule could be to use the numerical order of the barcodes to determine which bed to map the source plates and destination racks to.
Update on last comment: Robot software will prompt user with which barcode goes in which bed. See https://github.com/sanger/limber/issues/1362#issuecomment-1680501001 for summary
For bed verification, see: config > robots.rb app > models > robots
See Andrew's comment - https://github.com/sanger/limber/issues/1360#issuecomment-1673007667
There's a decision still to be made as to how we store the tube rack barcode. It could be:
a) Using the proper tube rack model in Sequencescape. Tube rack support has never been fully fleshed out, although some work did happen on it during the Heron Tapestation work: Issues:
PRs:
b) Saving the tube rack barcode against the tube in some way - e.g. using custom metadata (key-value pair table in database, linked to labware)
I think I would go with b), because I feel a) is going to throw up a lot of additional complexity. Either way, I think we will need a new Robot class that knows how to handle the relationship between tube racks and tubes. It will need to do the following: When the user scans in the tube rack barcode, it will need to search for that, and find the associated tubes, and find the tube purposes, and check that the appropriate tube purpose is in the scanned bed.
N.B. the robot to be used for this doesn't yet have barcodes stuck on it, so that will have to be done before bed verification can happen.
Updated to remove reference to multiple source plates, as there will now only be one.
Happy with this story. We can print the bed labels, but would you be able to provide us with a robot label?
The tubes now have 2 values stored in their custom_metadata: tube_rack_barcode -> the barcode of the rack the tube was in at the point of transfer from the PBMC Bank plate tube_rack_position -> the position of the tube within the rack at the point of transfer from the PBMC Bank plate
So you can fetch the rack barcode from the tube custom_metadata
DPL-829 LRC PBMBC Bank to LRC Bank Seq/Spare Bed Verification Lucid document.
About the first two acceptance criteria. We are not doing the verification of the robot barcode at the moment as it would require having created_with_robot => ROBOT_BARCODE
in the metadata of parent PBMC Bank plate, which was not written. Therefore, we do not have require_robot
option in the robot configuration for 'Hamilton LRC PBMC Bank => LRC Bank Seq and LRC Bank Spare'.
There is a merge request for the integration suite related to this story on GitLab and already approved. It needs to be merged into its parent branch there after we merge the PR of this story to develop.
User story As a user of the scRNA Core Cell Extraction pipeline, I would like to have bed verification support in Limber for the "LRC PBMC Bank" plate to the "LRC Bank Seq" / "LRC Bank Spare" transfer, to try to avoid lab mistakes.
Who are the primary contacts for this story Lesley, Katy
Who is the nominated tester for UAT Lesley
Acceptance criteria To be considered successful the solution must allow:
Dependencies This story is blocked by the following dependencies: