Where a single global cell’s nonzeros come from in one of the
underlying SparseIo backends. Under
ColumnAlignment::Disjoint each global column has exactly one
BackendLocation. Under ColumnAlignment::Union a global column
can carry one entry per backend that observed the cell.
The data_nameSparseIoVec::push takes for a backend read from
file, one of n_files stacked side by side
(ColumnAlignment::Disjoint): the file’s stem (a/pbmc.zarr.zip →
pbmc) when there are several, so cells sharing a barcode across files
stay apart, and none for a single file. read_data_on_shared_rows and
the CLI’s readers name cells by this rule.
Optional canonicalizer applied to every backend column (barcode)
name during push under ColumnAlignment::Union. Mirror of
RowNameCanonicalizer. Two raw barcodes whose canonical forms
match are treated as the same biological cell — backends share a
single global column id, and read_columns_* merges their nonzeros
into one output column. Default = None preserves exact-match
behavior.
Optional canonicalizer applied to every backend row name during
push. Two raw names that produce the same canonical form are
treated as the same row. The displayed row_names_by_global stores
the canonical form, so downstream readers see a single consistent
label for each row across all backends. Default = None preserves
exact-match behavior.