nf-core/scalpel is a bioinformatics pipeline for transcript isoform quantification and alternative polyadenylation (APA) characterization from 3'-tagged single-cell RNA-seq data. It takes paired-end FASTQ files together with pre-computed Cell Ranger outputs, a genome FASTA, a transcriptome FASTA, a GTF annotation, and an internal priming reference track. The pipeline selects representative transcript isoforms, maps reads to them, filters internal priming artifacts, and produces single-cell isoform-resolved digital gene expression (DGE) matrices.
The pipeline is built using Nextflow DSL2 and consists of three main subworkflows:
- Annotation Processing — Builds a Salmon index, quantifies transcript abundance across samples, averages TPM values, and selects/collapses representative isoforms based on 3'-end profiles.
- Reads Processing — Converts Cell Ranger BAM files to BED format, maps reads to annotated transcripts, and filters internal priming events using a reference track.
- Isoform Quantification — Computes read-to-isoform probability distributions, runs an Expectation-Maximization (EM) algorithm per cell, and generates final DGE count matrices.
\
Note
If you are new to Nextflow and nf-core, please refer to this page on how to set-up Nextflow. Make sure to test your setup with -profile test before running the workflow on actual data.
First, prepare a samplesheet with your input data that looks as follows:
samplesheet.csv:
sample,fastq_1,fastq_2,cranger_path
SRR6129050,/path/to/SRR6129050_S1_L001_R1_001.fastq.gz,/path/to/SRR6129050_S1_L001_R2_001.fastq.gz,/path/to/cellranger/SRR6129050
SRR6129051,/path/to/SRR6129051_S1_L001_R1_001.fastq.gz,/path/to/SRR6129051_S1_L001_R2_001.fastq.gz,/path/to/cellranger/SRR6129051| Column | Description |
|---|---|
sample |
Unique sample identifier (no spaces). |
fastq_1 |
Path to R1 FASTQ file (.fastq.gz). |
fastq_2 |
Path to R2 FASTQ file (.fastq.gz). |
cranger_path |
Path to the Cell Ranger output directory for the corresponding sample. |
nextflow run nf-core/scalpel \
-profile <docker/singularity/.../institute> \
--samplesheet samplesheet.csv \
--genome /path/to/genome.fa \
--transcriptome /path/to/transcriptome.fa \
--gtf /path/to/annotation.gtf \
--ip_reference /path/to/ip_reference.track.gz \
--outdir <OUTDIR>| Parameter | Default | Description |
|---|---|---|
--sequencing_platform |
chromium |
Sequencing platform (chromium or dropseq). |
--barcodes_whitelist |
null |
CSV file mapping samples to custom barcode whitelist files. |
--distance_profile |
600 |
Distance threshold for 3'-end profile-based isoform collapsing. |
--distance_3end |
50 |
Distance threshold for 3'-end merging. |
--distance_ip |
60 |
Distance threshold for internal priming filtering. |
--gene_fraction |
98% |
Gene fraction threshold for isoform quantification. |
--binsize |
20 |
Bin size for probability distribution computation. |
--libtype |
A |
Salmon library type (automatic detection by default). |
SCALPEL requires an internal priming (IP) annotation file. Pre-built references are available:
- Mouse IP annotation (mm10)
- Human IP annotation (GRCh38)
- GENCODE annotations — for genome FASTA, transcriptome FASTA, and GTF files
Warning
Please provide pipeline parameters via the CLI or Nextflow -params-file option. Custom config files including those provided by the -c Nextflow option can be used to provide any configuration except for parameters; see docs.
For more details and further functionality, please refer to the usage documentation and the parameter documentation.
The pipeline produces the following output directories:
| Directory | Description |
|---|---|
salmon/ |
Salmon quantification results (transcript-level TPM). |
transcript/ |
Selected and collapsed transcript annotations. |
bed/ |
BED files from BAM-to-BED conversion. |
reads/ |
Transcript-mapped and filtered reads. |
ip/ |
Internal priming filtering results. |
probability/ |
Read-to-isoform probability distributions. |
fragment/ |
Fragment-level probability assignments. |
cell/ |
Per-cell grouped fragment probabilities. |
em/ |
EM algorithm output (isoform quantification per cell). |
dge/ |
Digital gene expression count matrices per sample. |
isoform/ |
Isoform selection summary statistics. |
pipeline_info/ |
Execution reports, timelines, and software versions. |
For more details about the output files and reports, please refer to the output documentation.
For tutorials on working with SCALPEL output:
- 10X Chromium scRNA-seq example
- Drop-seq scRNA-seq example
- 10X Chromium downstream analysis
- Drop-seq downstream analysis
nf-core/scalpel was originally written by Franz AKE.
We thank the following people for their extensive assistance in the development of this pipeline:
- Marcel Schilling
- Sandra M. Fernández-Moya
- Akshay Jaya Ganesh
- Ana Gutiérrez-Franco
- Lei Li
- Mireya Plass
If you would like to contribute to this pipeline, please see the contributing guidelines.
For further information or help, don't hesitate to get in touch on the Slack #scalpel channel (you can join with this invite).
If you use nf-core/scalpel for your analysis, please cite:
Franz Ake, Marcel Schilling, Sandra M. Fernández-Moya, Akshay Jaya Ganesh, Ana Gutiérrez-Franco, Lei Li, Mireya Plass. Quantification of transcript isoforms at the single-cell level using SCALPEL. Nat Commun 16, 6402 (2025). doi: 10.1038/s41467-025-61118-0
An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.
