Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DPL-829 PBMC plate --> tube rack bed verification #1333

Closed
9 tasks done
KatyTaylor opened this issue Jul 13, 2023 · 11 comments · Fixed by #1415
Closed
9 tasks done

DPL-829 PBMC plate --> tube rack bed verification #1333

KatyTaylor opened this issue Jul 13, 2023 · 11 comments · Fixed by #1415
Assignees
Labels
scRNA MVP - cell banking scRNA Size: M Medium - medium effort & risk

Comments

@KatyTaylor
Copy link
Contributor

KatyTaylor commented Jul 13, 2023

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:

  • Robot name: Hamilton Cell Banking [not doing robot barcode verification at the moment]
  • Robot type: Hamilton STAR [not doing robot barcode verification at the moment]
  • Source plate scanned into bed 12
  • For source plate, verify that it is of purpose "LRC PBMC Bank"
  • Destination tube rack barcodes scanned into beds 15 and 14
  • For destination racks, verify that they are in the correct beds by looking at the purposes of the tubes they contain:
    • Purpose "LRC Bank Seq" should be in bed 15
    • Purpose "LRC Bank Spare" should be in bed 14
  • Validate that destination tube rack barcodes are the same as those uploaded in the tube rack scan files (see DPL-811 Transfer PBMC isolations into FluidX tube racks #1314)

Dependencies
This story is blocked by the following dependencies:

@Lesley84
Copy link

Lesley84 commented Aug 2, 2023

Can we have multiple destination plates (sequencing and contingency)?

@KatyTaylor
Copy link
Contributor Author

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.

@KatyTaylor
Copy link
Contributor Author

Update on last comment:
Robot software will prompt user with which barcode goes in which bed. See #1362 (comment) for summary

@KatyTaylor
Copy link
Contributor Author

KatyTaylor commented Aug 17, 2023

For bed verification, see:
config > robots.rb
app > models > robots

See Andrew's comment - #1360 (comment)

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.

@KatyTaylor
Copy link
Contributor Author

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.

@KatyTaylor
Copy link
Contributor Author

Updated to remove reference to multiple source plates, as there will now only be one.

@Lesley84
Copy link

Happy with this story. We can print the bed labels, but would you be able to provide us with a robot label?

@andrewsparkes
Copy link
Member

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

@yoldas yoldas linked a pull request Oct 12, 2023 that will close this issue
@yoldas
Copy link
Member

yoldas commented Oct 20, 2023

@yoldas
Copy link
Member

yoldas commented Nov 2, 2023

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'.

@yoldas
Copy link
Member

yoldas commented Nov 10, 2023

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scRNA MVP - cell banking scRNA Size: M Medium - medium effort & risk
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants