Skip to content

Y24-384 - Adjust requested pooling strategy to enable two full runs #1992

Closed
@KatyTaylor

Description

@KatyTaylor

User story
As a user of the scRNA Core pipeline, I would like the LIMS to check whether there is enough material for two full runs on the chip, just prior to pooling (into the LRC PBMC Pools plate), in case some samples have been failed and therefore numbers changed since the point of submission - so that the parameters can be adjusted if necessary to allow for two full runs.

Who are the primary contacts for this story
Katy, Abby

Who is the nominated tester for UAT
Abby

Acceptance criteria
When creating LRC PBMC Pools plate, after calculating the number and size of pools (covered in #1985)...

  • For any pools with 5-8 samples, calculate whether there is enough material for two full runs on the chip - is 'final resuspension volume' >= 'full allowance'? (see additional context for the calculations)
  • If not, the 'number of cells per chip well' to be used going forward (for each pool) is not taken from the value requested in the submission, but instead selected from the table below:
    image (3)
  • The selected 'number of cells per chip well' is saved for each pool for future reference by driver files (and for audit / troubleshooting purposes) - this is necessary even if we are using the requested value from the submission. Think this would make sense to save against each well on the destination plate? Maybe as polymetadata?
    EDIT: Andrew: As part of story Y24-375 I have added an expectation for that information to be stored in the pool well as poly-metadata. The key is stored in a config file config/initializers/scrna_config.rb and is set to this (key and value): number_of_cells_per_chip_well_key: 'scrna_core_pbmc_donor_pooling_number_of_cells_per_chip_well' and is accessed with Rails.application.config.scrna_config[:number_of_cells_per_chip_well_key]. NB. Values in poly-metadata are stored as strings even when numbers.

Dependencies
This story is blocked by the following dependencies:

This story uses the same calculations as sanger/sequencescape#4460 - consider whether to share code.

Additional Context
Common constants / variables:
* "Chip loading concentration" = 2,400

Calculating "final resuspension volume":

  • "Total cells in 300ul" = ("Number of samples in the pool" * 30,000) * 0.95
    • "Number of samples in the pool" is the actual number of samples in this pool - can vary between pools - count them
    • 30,000 is the fixed number of cells taken for each sample into the pool
    • 0.95 is due to wastage when transferring between labware
  • "Final resuspension volume" = "Total cells in 300ul" / "Chip loading concentration"

Calculating "full allowance":

  • "Chip loading volume" = "Number of cells per chip well" / "Chip loading concentration"

    • "Number of cells per chip well" comes from the submission / request
  • "Full allowance" = ( "Chip loading volume" * 2) + 25

    • 2 is because this is for 2 runs
    • 25 is 2 lots of 10ul for cell counting, and 5ul for wastage when transferring between labware

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions