filtered_feature_bc_matrix/cellranger mkfastq from cellranger countweb_summary.html QC report criticallyBCL (Illumina raw intensities)
│ cellranger mkfastq (wraps bcl2fastq / BCL Convert)
▼
FASTQ (per lane, per sample)
│ cellranger count (the heavy lifting)
▼
outs/
├── web_summary.html QC at a glance
├── metrics_summary.csv QC numbers
├── filtered_feature_bc_matrix/ feeds Module 01 (Read10X)
├── raw_feature_bc_matrix/ feeds SoupX
├── possorted_genome_bam.bam aligned reads
└── molecule_info.h5 per-UMI info, used by aggrmkfastq and hands you FASTQscellranger count# Check the cluster module first
module avail cellranger # e.g. cellranger/9.0.0
# If not provided, install manually into /projects (NOT $HOME)
cd /projects/<PIRG>/<user>/software
wget -O cellranger-9.0.0.tar.gz "https://cf.10xgenomics.com/releases/cell-exp/cellranger-9.0.0.tar.gz?<token>"
tar -xzf cellranger-9.0.0.tar.gz
export PATH=/projects/<PIRG>/<user>/software/cellranger-9.0.0:$PATHmodule avail cellranger first — saves 3 GB of manual installexport PATH= line to ~/.bashrc so batch jobs find itcellranger mkfastq<SAMPLE>_S<num>_L<lane>_<R1/R2/I1>_001.fastq.gzcount parses sample and lane from it. Never rename.cellranger countouts/ directory, including the matrix Module 01 consumescount actually does insiderefdata-gex-GRCh38-... (human), refdata-gex-GRCm39-... (mouse)cellranger mkrefgex tag: this is the gene-expression reference (distinct from the ATAC one)$HOME — small per-user quota on Talapas/projects/<PIRG>/...; everyone shares itmodule avail cellranger first — the cluster may already provide itcount parameters--id — names the output folder; pick something stable and traceable--transcriptome — the reference directory (not the tarball)--fastqs / --sample — where the reads are and which sample prefix to use--create-bam — keep the aligned BAM (needed for some QC / re-analysis)--localcores / --localmem — the internal compute budget--mem=128G is the hard ceiling; exceed it and the job is OOM-killed--localmem=120 is Cell Ranger’s self-imposed budget--localmem slightly below the SLURM allocation--cpus-per-task=16--ntasks=16 — that requests MPI processes Cell Ranger never uses--localcores to --cpus-per-taskweb_summary.html is the single best QC docmetrics_summary.csv has the same numbers in machine-readable form| Metric | Worry threshold |
|---|---|
| Estimated number of cells | Far off your target (over-loading / mis-call) |
| Mean reads per cell | < ~20,000 → undersequenced |
| Median genes per cell | < ~1,000 → poor capture or dying cells |
| Q30 in barcode | < 90% → poor sequencing |
| Q30 in RNA read | < 70% → poor sequencing |
| Reads mapped to transcriptome | < 60% → wrong reference / contamination |
Read10X() loads in Module 01:raw_feature_bc_matrix/ (all barcodes, pre-calling) is what SoupX needs#SBATCH --array=1-8 # one sub-job per sample
# samples.txt: one sample ID per line
SAMPLE=$(sed -n "${SLURM_ARRAY_TASK_ID}p" samples.txt)
cellranger count \
--id="$SAMPLE" \
--transcriptome=/projects/<PIRG>/<user>/refs/refdata-gex-GRCh38-2024-A \
--fastqs=/projects/<PIRG>/<user>/raw_fastqs/"$SAMPLE" \
--sample="$SAMPLE" \
--create-bam=true --localcores=16 --localmem=120samples.txt per sample; SLURM fans them out in parallelcellranger aggr is a separate, rarely-needed depth-normalized merge — prefer Seurat merge() + integration_S_L_R_001 pattern; symlink if renamed--fastqs folder — Cell Ranger refuses; separate them--mem and --localmemcellranger aggr vs Seurat merge — aggr depth-normalizes before combining; Seurat merge() + integration gives finer control for most workshop-style analyses. Prefer the Seurat path unless you specifically need aggr’s normalization.<SAMPLE>_S<n>_L<lane>_<R/I>_001.fastq.gz pattern is parsed by count; symlink if your core handed you renamed files.raw_feature_bc_matrix/ is what ambient-RNA tools like SoupX need; keep it alongside filtered_.mkfastq) → counts (count) — you usually own the last step/projects--localmem < SLURM --mem; cores not tasksweb_summary.html first; trust the knee plotfiltered_feature_bc_matrix/ is the hand-off to Module 01count on TalapasSingle Cell RNA-seq Workshop · Lecture 11 — Cell Ranger: Raw Reads to Counts