Seurat v5 adds support for ragged arrays, where not every X layer has exactly the same cells and features. To handle this, ragged X layers need to be re-indexed and re-shaped on ingestion to resize down to only the data present
Modified SOMA methods:
SOMAExperimentAxisQuery$to_seurat() and SOMAExperimentAxisQuery$to_seurat_assay(): now read in as v5 assays
New SOMA methods:
SOMAExperimentAxisQuery$private$.to_seurat_assay_v5(): helper method to read in ragged and non-ragged arrays into a v5 assay; note this method only handles expression layers, all other assay-level information is handled by parent $to_seurat_assay() to share code with v3 assay outgestion
Seurat v5 adds support for ragged arrays, where not every
X
layer has exactly the same cells and features. To handle this, raggedX
layers need to be re-indexed and re-shaped on ingestion to resize down to only the data presentModified SOMA methods:
SOMAExperimentAxisQuery$to_seurat()
andSOMAExperimentAxisQuery$to_seurat_assay()
: now read in as v5 assaysNew SOMA methods:
SOMAExperimentAxisQuery$private$.to_seurat_assay_v5()
: helper method to read in ragged and non-ragged arrays into a v5 assay; note this method only handles expression layers, all other assay-level information is handled by parent$to_seurat_assay()
to share code with v3 assay outgestionRequires #2523 and #3007
SC-52261