Skip to content

Nextflow Parameters

Complete reference for all pipeline parameters.

Required Parameters

Parameter Description
--input Path to samplesheet CSV
--variants Path to VCF/MAF variants file
--fasta Reference FASTA (with .fai index). Also used for CRAM decoding.

Mode

Parameter Default Description
--mode dna Analysis mode: dna (cfDNA/somatic) or rna (RNA-seq with transcriptome-aware filtering)

Output Options

Parameter Default Description
--outdir results Output directory
--format vcf Output format (vcf or maf)
--suffix '' Suffix for output filenames
--column_prefix '' Prefix for gbcms count columns in MAF output
--preserve_barcode false Keep original Tumor_Sample_Barcode from input MAF
--publish_dir_mode copy How Nextflow stages results into --outdir (publishDir mode: copy, symlink, link, move, ...)
--tracedir ${params.outdir}/pipeline_info Directory for the execution trace, report, timeline and DAG files

mFSD Options (DNA only)

Parameter Default Description
--mfsd false Enable mFSD analysis — adds 41 mFSD columns to MAF and 13 MFSD_* INFO fields to VCF. See mFSD metrics.
--mfsd_parquet false Write a companion <sample>.fsd.parquet with raw per-variant fragment size arrays. Requires --mfsd.
--mfsd_report false Generate an interactive HTML report with per-variant fragment size distributions. Implies --mfsd and --mfsd_parquet; requires --format maf (the pipeline stops at launch otherwise). See mFSD Report.
--observations_parquet false Write a companion <sample>.observations.parquet recording which molecule carried which allele at each variant. Enables read-backed phasing and allelic-imbalance analyses. Counts output is unchanged. See Per-Molecule Observations.
--mfsd_report_min_alt 3 Minimum ALT fragment count to include a variant in the HTML report.
--mfsd_report_max_variants 20 Maximum variants in the HTML report. Use -1 for no limit.

Quality & Filtering Options

Parameter Default Description
--min_mapq 20 Minimum mapping quality for DNA counting
--rna_min_mapq 1 Minimum mapping quality for RNA counting. Defaults to 1 to match the gbcms rna CLI: STAR gives uniquely-mapped reads MAPQ 255 but 2–4-locus multi-mappers MAPQ 3/1, so a DNA-style floor of 20 silently drops those primaries (~16% of reads genome-wide on a FORTE sample; up to ~6% of depth at an individual locus). Raise it to 20 for unique-only RNA counting.
--min_baseq 20 Minimum base quality, passed to --min-baseq: a base below it is read as unknown, like N; reads still count toward depth (see Read Filters → Quality Thresholds)
--fragment_qual_threshold 10 Quality margin for fragment consensus — when R1/R2 disagree on a non-INDEL variant, the higher-quality allele wins only if the difference exceeds this. INDEL conflicts with structural CIGAR evidence bypass this threshold.
--context_padding 5 Minimum flanking bases for Phase 3 alignment (auto-increased in repeats)
--adaptive_context true Dynamically increase context padding in tandem repeat regions
--filter_duplicates true Filter duplicate reads
--filter_secondary true Filter secondary alignments
--filter_supplementary true Filter supplementary alignments
--filter_qc_failed true Filter QC failed reads
--filter_improper_pair false Filter improperly paired reads
--filter_indel false Filter reads with indels
--filter_by_sample false Filter multi-sample MAF by Tumor_Sample_Barcode (details)
--show_normalization false Add norm_* columns showing left-aligned coordinates in output
--rescue_mnp false Enable MNP rescue pass — for MNPs whose partial evidence dominates (partial_alt > alt_count), reports the best-supported component SNV's counts
--rescue_homopolymer false Deprecated. Deprecated in 6.7.0; removed in 6.8.0. Still accepted and ignored, with a warning; it did nothing useful the diagnostics do not (OBSERVED_ALLELE and COEXISTING_ALLELE). The row counts the given allele.
--rescue_mnp_threshold 1.0 Maximum disc/len ratio for MNP rescue eligibility (0.0–1.0). 1.0 = all MNPs eligible (C++ compatible). 0.5 = conservative sparse-only mode. 0.0 = disable rescue eligibility (diagnostics still emitted).

UMI & BAQ Options

Parameter Default Description
--umi_tag '' UMI BAM tag for deduplication (e.g., XM, RX). When set, reads sharing the same UMI are grouped as a single observation.
--apply_baq false DNA Base Alignment Quality downgrade (matches gbcms dna, off). Reduces false positives near indels. See BAQ Options.
--rna_apply_baq true RNA Base Alignment Quality downgrade (matches gbcms rna, on): RNA BAMs typically lack BQSR. The penalty applies near a read's indels only; a splice junction (CIGAR N) lowers no base's quality. Set false to pass --no-baq.

RNA-Specific Options

These parameters are only used when --mode rna is specified.

Parameter Default Description
--gtf '' Path to an Ensembl/GENCODE GTF, plain or .gtf.gz. Enables exon-boundary distance, per-transcript counts and ASJD, and supplies each variant's gene strand, which --enforce_strandedness needs (without it every read counts as sense). See GTF loading.
--rna_editing_db '' Path to REDIportal editing database file (e.g., TABLE1_hg38_v3.txt). Flags ALT sites that overlap known A→I RNA editing positions.
--enforce_strandedness true Filter reads by orientation relative to the gene strand (needs --gtf for the strand). false passes --no-strandedness, which only stops the filtering. For an unstranded RNA-seq library set --strandedness unstranded instead.
--strandedness 'reverse' RNA library strand protocol: 'reverse' (dUTP/fr-firststrand, featureCounts -s 2 — the FORTE default), 'forward' (fr-secondstrand, -s 1), or 'unstranded' (-s 0). Sets the read→transcript-strand fold used by --enforce_strandedness and ASJD strand-discordance; 'unstranded' disables both.
--library_type 'capture' 'capture' (default) or 'amplicon'. Amplicon mode treats R1 and R2 as independent observations (no fragment-level consensus) and auto-disables strandedness — use it for amplicon/primer-based RNA panels where mates aren't independent fragments.

RNA mode defaults

RNA mode uses its own PairHMM gap penalties (--rna_gap_open_prob 5e-3, --rna_gap_extend_prob 0.25, the gbcms rna defaults) to tolerate RT-induced stutter at homopolymers, and its own BAQ switch (--rna_apply_baq, on). The --gap_* and --apply_baq params are DNA's and do not reach RNA tasks. See the alignment backend parameters below.

GTF loading (RNA)

Each GBCMS_RNA task loads the GTF (plain or .gtf.gz) in a few seconds (2 s for a whole Ensembl GTF). There is no index cache: --gtf_cache and the GBCMS_BUILD_GTF_CACHE step were deprecated in 6.6.0 and removed in 6.7.0.

Cohorts on shared storage: pass the .gtf.gz

Every task reads the GTF. The Ensembl GRCh38 GTF is 1.46 GB plain and 61 MB gzipped, so --gtf Homo_sapiens.GRCh38.111.gtf.gz keeps per-task reads below what the old cache file was (96–125 MB) for about 0.4 s more decoding.

Alignment Backend (Advanced)

Parameter Default Description
--alignment_backend pairhmm Phase 3 alignment backend: pairhmm (WFA2 + PairHMM, default) or sw (Smith-Waterman). See CLI Reference.
--read_judge rules DNA read judgment, passed as --read-judge: rules (the size-specific rules, the default) or sequence (the sequence judge, opt-in; haplotype is its former name). The RNA module does not pass it: the sequence judge refuses RNA mode. See CLI Reference.
--llr_threshold 2.3 PairHMM log-likelihood ratio threshold for confident calls
--gap_open_prob 1e-4 DNA PairHMM gap-open probability for non-repeat regions
--gap_extend_prob 0.1 DNA PairHMM gap-extend probability for non-repeat regions
--gap_open_prob_repeat 1e-2 DNA PairHMM gap-open probability for tandem repeat regions
--gap_extend_prob_repeat 0.5 DNA PairHMM gap-extend probability for tandem repeat regions
--rna_gap_open_prob 5e-3 RNA PairHMM gap-open probability for non-repeat regions (the gbcms rna default; the --gap_* params above are DNA's)
--rna_gap_extend_prob 0.25 RNA PairHMM gap-extend probability for non-repeat regions
--rna_gap_open_prob_repeat 1e-2 RNA PairHMM gap-open probability for tandem repeat regions
--rna_gap_extend_prob_repeat 0.5 RNA PairHMM gap-extend probability for tandem repeat regions

Merge Options

These parameters control the multi-BAM merge step. Requires a bam_type column in the samplesheet.

Parameter Default Description
--merge_counts false Enable multi-BAM merge — combine per-type MAFs into a single output with type-prefixed count columns. Requires bam_type in samplesheet.
--merge_add_combined true When both duplex and simplex inputs are present, compute additive simplex_duplex_* combined columns (20 columns including strand bias).
--merge_legacy_naming false Use t_{metric}_{type} naming (genotype_variants compatible).

QC Summary Options

Each gbcms dna / gbcms rna task already ends its log with a QC summary. This parameter adds one for the whole run.

Parameter Default Description
--qc_summary false After all samples finish, run gbcms summarize over every output (merged MAFs included) and publish to ${params.outdir}/gbcms/qc_summary/: MultiQC custom content (gbcms_qc_summary_mqc.json, and gbcms_qc_warning_mqc.json only when a row needs a look) and one <name>.qc_summary.json per output. Nothing else changes.

Resource Limits

Parameter Default Description
--max_cpus 16 Maximum CPUs per job
--max_memory 128.GB Maximum memory per job
--max_time 240.h Maximum runtime per job

Performance Benchmarks

Representative metrics from cfDNA duplex BAM samples:

Sample Type BAM Size Variants Runtime CPUs
ctDNA (plasma) 1.3 GB 608 ~25s 4
Plasma control 776 MB 608 ~20s 4

Execution Profiles

Profile Description
docker Local with Docker containers
singularity HPC with Singularity
slurm SLURM cluster with Singularity
local No container (requires local install)

Advanced

task.ext.args — Arbitrary CLI Arguments

Any CLI option not exposed as a Nextflow parameter can be passed via task.ext.args in your config:

process {
    withName: GBCMS_DNA {
        ext.args = '--verbose'
    }
}

See DNA CLI Reference or RNA CLI Reference for all available options.