Results from scRNA-seq
Upon completion of the single-cell RNA-seq workflow, several output folders are generated. These capture each step of the pipeline, from raw quality checks and alignments to gene-level quantification and downstream-ready data objects.
This section describes the content and purpose of each output folder to help you understand what was generated and how to use it. Below is the file structure if CellRanger is chosen as the aligner.
results/
├── fastqc/
├── fq_lint/
├── trimgalore/
├── cellranger/
├── counts/
├── qc/
├── scanpy/
├── multiqc/
└── pipeline_info/
The table below describes the contents of each folder -
Folder |
Contents |
Description |
|---|---|---|
fastqc/ |
FastQC .html, .zip |
Raw read quality reports |
fq_lint/ |
fastq-lint .txt, .json |
FASTQ integrity and formatting checks |
trimgalore/ |
Trimmed reads and reports |
Adapter removal and quality trimming |
cellranger/ |
Count matrices and QC reports |
Primary Cell Ranger output (see below) |
counts/ |
Processed matrices (.tsv, .h5) |
Unified or filtered count matrices |
qc/ |
Doublet detection & cell filtering |
DoubletFinder, Scrublet, etc. |
scanpy/ |
.h5ad AnnData objects |
Downstream-ready files for analysis |
multiqc/ |
Aggregated QC report |
Combines reports from FastQC, Trim Galore, etc. |
pipeline_info/ |
Logs, software versions, config |
For reproducibility and debugging |
Exploring CellRanger output
Each sample under cellranger/ contains:
cellranger/
└── sample1/
└── outs/
├── filtered_feature_bc_matrix/
│ ├── matrix.mtx.gz
│ ├── barcodes.tsv.gz
│ └── features.tsv.gz
├── metrics_summary.csv
├── web_summary.html
└── ... (optional: BAM files, clustering outputs)
You can:
Open web_summary.html for key stats (e.g., # of cells, reads per cell, UMI counts).
Load the filtered matrix into Scanpy or Seurat.
Use metrics_summary.csv for structured QC across samples.
Output Differences with Other Pipelines
STARsolo
If you run the workflow using STARsolo, you’ll find:
star_solo/
└── sample1/
└── Solo.out/
└── Gene/
├── matrix.mtx
├── features.tsv
└── barcodes.tsv
Outputs are similar in structure to Cell Ranger.
You can load directly into Scanpy or convert as needed.
Kallisto + BUStools
If using Kallisto + BUStools, the structure is:
kallisto/
└── sample1/
├── counts_unfiltered/
│ ├── matrix.mtx
│ ├── features.tsv
│ └── barcodes.tsv
└── counts_filtered/
├── matrix.mtx
├── features.tsv
└── barcodes.tsv
Filtering may be done via bustools correct and bustools count.
Compatible with standard analysis pipelines after conversion.
SimpleAF (Alevin-Fry) + AlevinQC
With SimpleAF, the outputs live in:
alevin/
└── sample1/
├── quant.json
├── featureDump.txt
├── filtered_mtx/
│ ├── matrix.mtx
│ ├── features.tsv
│ └── barcodes.tsv
└── alevinqc/
└── alevinqc_report.html
filtered_mtx/ is analogous to the filtered Cell Ranger output.
alevinQC_report.html provides detailed QC like gene diversity, knee plots, and barcode filtering.
Output Validation Checklist
Checkpoint |
Expected outcome |
|---|---|
Read quality (FastQC) |
Q30+ average per base |
Adapter trimming |
Minimal residual adapter content |
Cell Ranger / STARsolo matrix |
Non-empty filtered_feature_bc_matrix or Gene/ matrix |
UMI / gene counts |
Reasonable range of cells and detected genes |
QC summary (MultiQC, HTML) |
No major warnings |