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

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

Open
3 tasks
KatyTaylor opened this issue Oct 15, 2024 · 6 comments
Open
3 tasks
Assignees
Labels
scRNA - cDNA prep scRNA Size: M Medium - medium effort & risk

Comments

@KatyTaylor
Copy link
Contributor

KatyTaylor commented Oct 15, 2024

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
@psd-issuer psd-issuer bot changed the title Feasibility check - at point of pooling Y24-384 - Feasibility check - at point of pooling Oct 15, 2024
@KatyTaylor KatyTaylor changed the title Y24-384 - Feasibility check - at point of pooling Y24-384 - Feasibility check - at point of pooling [DRAFT] Oct 15, 2024
@KatyTaylor KatyTaylor added scRNA scRNA - cDNA prep Size: L Large - large effort & risk labels Oct 16, 2024
@KatyTaylor
Copy link
Contributor Author

Old acceptance criteria here - incorrect - but saved for reference in case useful in future. These values don't need to be checked because if the 'number of samples/pool' and 'cells on chip well' are within their bounds (checked elsewhere), these values should also be within their bounds.

  • For each pool, the following are checked:
    • Cells/sample chip input (calculated) must be between 0 and "Number of cells to pool per sample" (inclusive).
    • Chip loading volume (calculated) must be between 5 and 37.5 (inclusive).
    • Final resuspension volume (calculated) must be between 59 and 248 (inclusive).
    • Final resuspension volume (calculated) must be at least ‘chip loading volume’ + 10.
  • If any of the above checks fail, lower the "Total number of cells/pool to load on GEM-X chip" so that they pass (see 'backwards calculation' in 'additional context' for how). (Break this out into a separate story)
  • If final resuspension volume is less than the full allowance (2* chip loading volume + 15):
    • Plate is created successfully
    • Warning message is displayed saying there is not enough material for the full allowance.
    • Warning message is saved in a comment against the pools plate, for future reference.
  • Value of "Total number of cells/pool to load on GEM-X chip" that was used is saved for use by a driver file (TBC where).

@ac38
Copy link

ac38 commented Oct 18, 2024

Hi Katy,
Just wanted to update on the TBCs.
Dropping no. cells on chip in the event of failures if calculation no longer meets full allowance
• We would like all instances of this to drop to full allowance
• Again this could refer to a hardcoded table instead of a calculator
• This is MVP (unless we need to reprioritise to meet the 18th deadline)
Decreasing the no. of pools if no. samples/well <5 due to failures
• We would like LIMS to accommodate this somehow but will need to discuss with Faculty at a later date. Whatever the solution it will be an enhancement so can be put on hold

Thank you and hope you have a nice weekend!

@KatyTaylor KatyTaylor changed the title Y24-384 - Feasibility check - at point of pooling [DRAFT] Y24-384 - Adjust requested pooling strategy to enable two full runs Oct 21, 2024
@KatyTaylor KatyTaylor changed the title Y24-384 - Adjust requested pooling strategy to enable two full runs Y24-384 - Adjust requested pooling strategy to enable two full runs [DRAFT] Oct 21, 2024
@KatyTaylor KatyTaylor added Size: M Medium - medium effort & risk and removed Size: L Large - large effort & risk labels Oct 21, 2024
@KatyTaylor KatyTaylor changed the title Y24-384 - Adjust requested pooling strategy to enable two full runs [DRAFT] Y24-384 - Adjust requested pooling strategy to enable two full runs Oct 21, 2024
@StephenHulme
Copy link
Contributor

@KatyTaylor @TWJW-SANGER This story is highly-prioritised in todo, but is dependent on this open large story: #1985.
Is this correct?

@seenanair seenanair assigned seenanair and unassigned seenanair Nov 5, 2024
@andrewsparkes
Copy link
Member

Edited description to add info about where number_of_cells_per_chip_well is stored.

@andrewsparkes
Copy link
Member

andrewsparkes commented Nov 11, 2024

@KatyTaylor For the table in the second acceptance criteria, I just see the image with 5-8 samples per pool. Is there a full table spreadsheet somewhere or is that TBC?
Ah, is that it, because we're just doing this calculation for range 5-8 samples per pool and nothing else....

@andrewsparkes andrewsparkes self-assigned this Nov 11, 2024
@KatyTaylor
Copy link
Contributor Author

@KatyTaylor For the table in the second acceptance criteria, I just see the image with 5-8 samples per pool. Is there a full table spreadsheet somewhere or is that TBC? Ah, is that it, because we're just doing this calculation for range 5-8 samples per pool and nothing else....

Yes, it's only relevant for that range because 5 is the minimum pool size and 8 is the point at which it's possible there might not be enough for the 'full allowance' (not sure of the exact calcs - as determined by Abby).

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

No branches or pull requests

5 participants