The tool cellranger-snakemake is a Snakemake wrapper for 10x Cell Ranger workflows supporting GEX, ATAC, and ARC single-cell data processing.
Reproducibility and scalability are essential components of contemporary FAIR (Findable, Accessible, Interoperable, and Reproducible) single-cell ‘omics data analysis, yet preprocessing steps lack workflow infrastructure needed to standardize large-scale and collaborative studies. 10x Genomics’ Cell Ranger is critical software for preprocessing raw single-cell ‘omics modalities, but executing it reproducibly across hundreds or thousands of samples remains cumbersome, error-prone, and computationally inefficient. We present cellranger-snakemake, a Snakemake workflow wrapper that automates, scales, and standardizes Cell Ranger preprocessing for Gene Expression (GEX), Chromatin accessibility (ATAC), and multiome (ARC) data. The workflow supports flexible input specifications, integrated logging, and portable configuration files, making it straightforward
to deploy in high-performance computing or cloud environments. By combining Snakemake's reproducible workflow management with Cell Ranger, cellranger-snakemake improves reproducibility, reduces user error, and accelerates downstream single-cell 'omics.
- Per-capture objects: AnnData/MuData objects created immediately after Cell Ranger count (one per capture), then aggregated into batch-level objects
- Traceability: All objects include
batch_id,capture_id, and globally uniquecell_idmetadata - Python-only tools: Doublet detection (Scrublet, SOLO), cell type annotation (celltypist, scANVI, decoupler), demultiplexing (Vireo, demuxalot)
- Metadata enrichment: Analysis results automatically merged into final batch objects
- Multi-modality: Supports GEX, ATAC, and ARC (multiome) workflows
For full documentation, visit cellranger-snakemake.readthedocs.io.
See CLAUDE.md for project architecture, coding conventions, and development guidelines. Key topics include:
- Per-capture object creation patterns
- Traceability metadata requirements
- Modality-specific rules (GEX, ATAC, ARC)
- Import ordering conventions
If you add or update any Conda dependency, re-export the environment files:
# Full environment (exact pins, Linux only)
conda env export | grep -v "^prefix:" > environment.yaml
# Portable environment (no build hashes)
conda env export --no-builds | grep -v "^prefix:" > environment_portable.yamlImportant: After exporting, manually remove the
cellranger-snakemakeline from thepip:section in both files. The package should be installed separately viapip install -e ., not pinned in the environment.