Skip to content

Quantification of isoform usage and alternative polyadenylation (APA) from single-cell RNA-seq using a Nextflow-based pipeline.

License

Notifications You must be signed in to change notification settings

plasslab/SCALPEL

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SCALPEL: A Nextflow-based Pipeline for Isoform Quantification at Single-Cell Resolution

SCALPEL

About the Project

SCALPEL is a robust pipeline designed for transcript isoform quantification and alternative polyadenylation (APA) characterization using 3'-tagged single-cell RNA-seq (scRNA-seq) data. Built with Nextflow, it integrates multiple processing steps including read quantification, APA annotation, and isoform usage analysis.

Installation Options

Prerequisite:

Nextflow>=v24.10.6 : Official page / CONDA

SCALPEL can be installed and run using one of the following options:

Option 1: Using Conda environment

  1. Clone the repository
> git clone https://github.com/p-CMRC-LAB/SCALPEL.git
  1. Run SCALPEL using CONDA yml file
> nextflow run -resume SCALPEL/main.nf \
  --sequencing chromium \
  --samplesheet path/to/samplesheet.csv \
  --transcriptome path/to/gencode.transcripts.fa \
  --gtf path/to/gencode.annotation.gtf \
  --ipdb path/to/mm10.polyA.track \
  --cpus 40 \
  -with-conda SCALPEL/requirements.yml

or create CONDA environment and activate

> conda env create --file SCALPEL/requirements.yml
> conda activate scalpelEnv
> nextflow run -resume main.nf \
  --sequencing chromium \
  --samplesheet path/to/samplesheet.csv \
  --transcriptome path/to/gencode.transcripts.fa \
  --gtf path/to/gencode.annotation.gtf \
  --cpus 40 \
  --ipdb path/to/mm10.polyA.track

Option 2: Using Apptainer container

You can download a prebuilt Apptainer container with all SCALPEL dependencies from the following link:
Download SCALPEL Container

  1. Download the container and clone the repository
wget https://data.cyverse.org/dav-anon/iplant/home/franzx5/SCALPEL.container.sif
git clone https://github.com/p-CMRC-LAB/SCALPEL.git
  1. Run SCALPEL using the container
nextflow run SCALPEL/main.nf \
  -with-apptainer SCALPEL.container.sif \
  --sequencing chromium \
  --samplesheet path/to/samplesheet.csv \
  --transcriptome path/to/gencode.transcripts.fa \
  --gtf path/to/gencode.annotation.gtf \
  --ipdb path/to/mm10.polyA.track

Required Input Files

Parameter Description
--samplesheet CSV with sample names and paths to FASTQ/BAM/CellRanger output
--transcriptome FASTA of reference transcriptome
--gtf GTF annotation file
--ipdb Internal priming annotation file
--barcodes (Optional) Barcode whitelist per sample
--clusters (Optional) Tab-delimited file with cell-to-cluster mappings
--sequencing Must be chromium or dropseq

Reference files:

Output Files and Execution Notes

After execution, SCALPEL generates a results/ directory containing key outputs for downstream analysis.

Key Output Files

File / Pattern Description
*_filtered.bam BAM files with deduplicated reads excluding internal priming artifacts.
*_filtered.bam.bai BAM index files.
*_APADGE.txt APA-aware isoform-level expression matrix per sample.
*_seurat.RDS Seurat object per sample.
iDGE_seurat.RDS Merged Seurat object across all samples.
DIU_table.csv Differential isoform usage table.
Runfiles/ Execution logs and process metadata.

Notes

  • Output filenames are prefixed by the sample name.
  • Seurat .RDS files are ready for downstream visualization and clustering in R.
  • *_APADGE.txt matrices are compatible with other statistical environments.

For downstream analysis tutorials, visit:


Customizing Execution with nextflow.config

To modify resource usage and process settings, optionally, you can edit the nextflow.config file. For example:

/* Define Nextflow configuration settings for SCALPEL pipeline execution */
/* ===================================================================== */

/* -> Processes */

/* Enter here the desired Nextflow parameters for execution (see https://www.nextflow.io/docs/latest/index.html)*/

params {
    // General parameters
    workDir = './work'          // Directory for Nextflow work files
    process.executor = 'local'  // Default executor, can be overridden in the executor block
    process.queue = 'default'   // Default queue, can be overridden in the executor block

    //=====1. Specific parameters for SCALPEL pipeline====
    outputDir = "./results" // Directory for output files

    // 1a. Reads:
    samplesheet = null
    sequencing = null
    barcodes = null
    clusters = null

    // 1b. Annotation:
    transcriptome = null
    gtf = null
    ipdb = null

    // 1c. Thresholds:
    dt_threshold = 600
    de_threshold = 30
    ip_threshold = 60
    gene_fraction = "98%"
    binsize = 20
    subsample = 1
    help = null

    //=====2. Running parameters=====
    params.cpus = 16           /* Adjust as needed */
    params.memory = 40.GB     /* Adjust as needed */
}

Apptainer Users: Configure runOptions

If using Apptainer, make sure to bind your local SCALPEL repository path inside the container by editing the following block in nextflow.config:

apptainer {
    enabled = true
    autoMounts = true
    runOptions = "--bind /path/to/SCALPEL:/path/to/SCALPEL"
}

Adjust /path/to/SCALPEL to the full absolute path where the SCALPEL repository is located on your system.


Reference

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

Contact

Franz AKE – @aerodx5franzarnold.ake@gmail.com
GitHub: https://github.com/p-CMRC-LAB/SCALPEL

Back to top

About

Quantification of isoform usage and alternative polyadenylation (APA) from single-cell RNA-seq using a Nextflow-based pipeline.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •