Legacy Orchestrators¶
Superseded by run_together
run_xenium and run_visiumhd are the original single-sample, single-platform orchestrators. They are superseded by run_together, kept for reference only, and not part of the recommended workflow. New runs should use run_together, or the individual commands for step-by-step control.
Overview¶
run_xeniumruns one 10x Xenium sample through asset detection (load_xenium_ranger), SGE conversion, FICTURE, cell and image import, packaging, and upload.run_visiumhddoes the same for one 10x Visium HD sample (load_space_ranger), plus square-bin import.
Each action is a flag, and each flag calls one of the individual commands.
What run_together covers¶
run_together runs the same steps as one resumable Makefile, for one sample or many (with a joint FICTURE model), on every supported platform, including Xenium and Visium HD.
| Legacy action | run_together equivalent |
|---|---|
--load-xenium-ranger / --load-space-ranger |
The platform profile detects inputs under --in-dir |
--sge-convert |
ingest stage |
--run-ficture2 |
ficture stage |
--import-cells |
cells stage (and per-platform cell import) |
--import-squares (Visium HD) |
Square-bin import in the Visium HD profile |
--import-images |
images stage (Image Modalities) |
--run-cartload2 |
cartload stage |
--upload-aws |
--s3-upload (Publishing) |
--upload-zenodo |
None; run upload_zenodo separately |
Remaining gaps¶
Functions the legacy orchestrators have that run_together does not:
- Zenodo upload (
--upload-zenodo). Runupload_zenodoon the packaged directory instead. - Asset manifests and archive extraction.
load_xenium_rangerandload_space_rangerwrite a JSON manifest of detected files and extract.tar.gzarchives (Xeniumanalysis.tar.gzandcell_feature_matrix.tar.gz; Space Ranger*_binned_outputs.tar.gzand*_segmented_outputs.tar.gz).run_togetherexpects an unpacked--in-dir; the loaders can still be run on their own to unpack archives (see Xenium Add-ons and Visium HD Add-ons). - Catalog title and description (
--title,--desc, forwarded torun_cartload2).run_togethersets only the catalogid, so the title defaults to the id. - Arbitrary S3 destination (
--s3-dir, viaupload_aws).run_togetheruploads to<s3-prefix>/batch=<YYYY_MM>/<collection>/<dir>.
Known issues¶
The following problems were confirmed in the current code. In each case, running the individual command directly works around it.
--run-ficture2with--run-cartload2fails. The packaging step waits for decode outputs namedt<w>_f<k>_p<w>_a6.done,..._summary.done, and.png(define_ficture_flagsincartloader/utils/pipeline_helper.py), butrun_ficture2now names themt<w>_f<k>_pixel.done,t<w>_f<k>_pixel_summary.done, andt<w>_f<k>_pixel.png, so the run stops withFound missing prerequisite. (--dry-rundoes not check prerequisites, so it does not show the problem.) Workaround: after FICTURE finishes, runcartloader run_cartload2 --fic-dir <out-dir>/ficture2 --out-dir <out-dir>/cartload2 --id <id>(add--cell-assets/--background-assetsas needed).--import-ext-ficture2fails. It passes--ext-fic-dirtorun_cartload2, which does not accept that option. Workaround: runrun_cartload2 --fic-dir <external FICTURE dir>.--run-cartload2without FICTURE fails. It packages throughrun_cartload2 --sge-dir, which needs a tiled transcript thatsge_convertdoes not produce (seerun_cartload2). Workaround: run FICTURE first and package with--fic-dir, or userun_together.run_xenium --import-cellsin manual mode (--csv-*) fails.import_xenium_cellregenerates pseudobulk and DE by default and needs a cell-feature MEX or a transcript TSV, whichrun_xeniumdoes not pass in manual mode. Auto-detect mode works when the manifest includesCELL_FEATURE_MEX. Workaround: runimport_xenium_celldirectly with--mex-dir cell_feature_matrix.run_xenium --import-imageswith the default image IDs fails unless all five default images (DAPI_OME,BOUNDARY_OME,INTERIOR_RNA_OME,INTERIOR_PROTEIN_OME,DAPI_MIP_OME) are in the manifest. Pass--image-idsfor the images you have, or--all-images.run_visiumhd --import-squareswith--square-inputdoes not pass the bin-level MEX directory, soimport_visiumhd_squarelooks for<space-ranger-dir>/filtered_feature_bc_matrix; it also requires the UMAP CSV. Use auto-detect mode, or runimport_visiumhd_squaredirectly with--in-dir <space-ranger-dir>/binned_outputs/square_008um.run_visiumhd --use-parquet-tools --parquet-tools <path>passes--parquet-toolswithout its value toimport_visiumhd_square, which then fails to parse its arguments.