Part of #20. Depends on the streaming MTX reader in #24. ## Format split-pipe writes `DGE_filtered/` and `DGE_unfiltered/`, for the combined run and for each sample: - `count_matrix.mtx` — **cells × genes** (unlike 10x) - `all_genes.csv` — `gene_id,gene_name,genome` - `cell_metadata.csv` — `bc_wells,sample,species,gene_count,tscp_count,mread_count,…` ## Mapping - `X` ← `count_matrix.mtx` through the #24 reader, no transpose - `obs` ← `cell_metadata.csv`, `bc_wells` as `obs_names`; `sample`, `species` as categoricals - `var` ← `all_genes.csv`; `var_names` via `--var-names gene_symbols|gene_ids` ## Options - Accept either a `DGE_*` folder or the whole split-pipe output directory (find `DGE_filtered` automatically; `--unfiltered` to switch) - `--sample NAME` selects a per-sample subfolder; `--all-samples` writes one output per sample - Handle mixed-species runs (`genome` column; optional `--species` filter) ## To check - Confirm the layout on current split-pipe output. - Recent split-pipe versions (≥ 1.1) may already write an `.h5ad` — if so, document it and focus this converter on older runs and the per-sample folders. A minimal CSV reader without pandas is needed; share it with #25. ## Tests Small fixture folder; compare with the `scanpy.read_mtx` + pandas recipe from Parse's docs.
Activity
adata convertto and from h5ad/zarr #20convert: Parse Biosciences split-pipe output