Platform: 10x Xenium (--platform 10x_xenium)¶
Built-in profile. Ingest runs sge_convert. Point --in-dir at a Xenium Ranger output directory and the profile auto-detects everything below.
Expected inputs (under --in-dir)¶
First match wins where several paths are listed; optional files are skipped when absent.
| Purpose | Path under --in-dir |
|---|---|
| Transcripts | transcripts.csv.gz, or transcripts.parquet, or transcripts/transcripts.parquet |
| Cell boundaries | cell_boundaries.csv.gz |
| Cell centroids | cells.csv.gz (columns x_centroid, y_centroid) |
| Cluster labels | analysis/clustering/gene_expression_graphclust/clusters.csv → the xeniumranger factor |
| Morphology images | morphology_focus/morphology_focus_000{0,1,2,3}.ome.tif → dapi/boundary/rna/protein; or a single morphology_focus.ome.tif / morphology.ome.tif → dapi |
Defaults: FICTURE width=12, n_factor=12,24,48, single-molecule mode; packaging with --use-pmpoint --bin-count 500. Two cell analyses are wired: cartloader (jointly-decoded factors from boundaries + xy) and xeniumranger (the Ranger clusters.csv).
1. Single sample (direct CLI)¶
1 2 3 | |
Morphology images are auto-detected — nothing to list. Everything (transcripts, boundaries, centroids, clusters, images) comes from the directory.
2. Multi-sample (sample sheet)¶
One joint FICTURE model across sections sharing --out-dir. For standard Ranger directories you only need id + in_dir:
1 2 | |
1 2 3 | |
GEO-style layouts (non-standard filenames / scattered paths) — name each file per role with sheet columns. The raw transcript goes in raw_transcript (it still needs ingest; the transcript column is for an already-ingested TSV and skips ingest). Role paths are forwarded to the per-sample cell import as --csv-* overrides:
1 2 3 | |
- Parquet is fine.
transcripts.parquet,cells.parquetandcell_boundaries.parquetare converted to.csv.gz(OUT/tsv/<id>/parquet2csv/) as the first ingest step, with aNOTE:at planning time; the run aborts if a conversion fails. - No clusters? The
xeniumrangerimport (Ranger's own clusters) needsclusters; a sample without it — as a column, or asanalysis/clustering/gene_expression_graphclust/clusters.csvunderin_dir— simply skips that import (aNOTE:says so). Thecartloaderanalysis (clustering recomputed on the shared SGE) needs onlyxy+boundariesand still runs. - DAPI. A per-sample
dapicolumn takes the image directly. a file ending inmorphology.ome.tif(any prefix) is the multi-page z-stack and is imported with--use-middle-page --high-memoryautomatically;morphology_focus.ome.tifis the 2D projection and needs nothing special. See Image Modalities.
3. Full config (JSON)¶
Use --config when samples differ or to add analyses/images. Example: de-novo base on the CLI, plus a projection model and an extra protein image.
1 2 | |
1 2 3 4 5 | |
Notes¶
- Xenium Ranger clusters on joint runs. The
xeniumrangeranalysis relies on sample-specific cluster labels, so it cannot be jointly decoded: a single-sample run decodes it viarun_ficture2_multi_cells, but a joint run imports each sample's clusters per-sample viaimport_xenium_cell(appended to that sample's catalog). Thecartloaderfactor, whose clustering is recomputed on the shared SGE, is decoded jointly in both cases. - Images: the
morphology_focus_000{0..3}channels map todapi/boundary/rna/protein. To recolor or add channels, see Image Modalities.
See also¶
- Specifying Inputs · Image Modalities · Overview
- Step-by-step (manual modules): Xenium end-to-end tutorial