Parse Biosciences split-pipe
split-pipe writes, for the combined run and for each sample it was given,
DGE_filtered/ (cells) and DGE_unfiltered/ (every barcode), each holding
count_matrix.mtx (cells x genes), all_genes.csv and
cell_metadata.csv:
run/all-sample/DGE_filtered/ (all-well/ in older versions)
run/all-sample/DGE_unfiltered/
run/<sample>/DGE_filtered/ ...
Give the run folder, a sample folder or a DGE_* folder:
adata convert run -o parse.h5ad
adata convert run -o s1.h5ad --sample s1
adata convert run -o parse.h5ad --all-samples --unfiltered
adata convert run -o mouse.h5ad --genome mm10
adata convert run/all-sample/DGE_filtered -o parse.zarr
| Flag | Meaning |
|---|---|
--sample |
The sample folder to read; the combined all-sample by default |
--all-samples |
Write one output per sample, OUT.<sample>.h5ad |
--unfiltered |
Read DGE_unfiltered/ rather than DGE_filtered/ |
--genome |
Keep that genome’s genes, and the cells split-pipe called as that species |
Reading gives what Parse’s scanpy recipe gives (read_mtx, then both tables
with pandas, indexed by bc_wells and gene_name), checked against it in
CI, except that integer counts stay integers and features are named by gene
id unless --var-names gene_symbols is given. obs holds every
cell_metadata.csv column, typed as pandas reads it and stored as anndata
writes it: a text column that repeats a value is a categorical. var holds
gene_symbols (or gene_ids) and genome. --var-names and
--make-unique apply as for 10x input.
--genome works on runs made with a reference of several genomes built by
split-pipe, where each gene and cell names its own. A combined reference
built for Cell Ranger (GRCh38-mm10-2020A) is one genome to split-pipe, so
every gene and cell names it, and the species shows only in the gene ids’
prefixes.
Both files are read in two streaming passes, as for 10x MTX folders, so a run’s size is not a limit: the first checks the matrix against both tables before any output exists, and the second writes obs and X.