Skip to main content

Native Backends

CBIcall separates what analysis is run from how it is executed. Included Pipelines describes the shipped WES, WGS, and mtDNA analyses. This page describes backends used by CBIcall-native workflows. A workflow is native when it produces the CBIcall output contract, regardless of whether it is written in Bash, Snakemake, Nextflow, or WDL/Cromwell.

The workflow backend controls how the selected pipeline is launched.

Native backendRoleTypical use
BashRuns CBIcall-maintained shell workflows directlyProduction runs with the bundled WES, WGS, and mtDNA scripts
SnakemakeRuns CBIcall-maintained Snakemake workflowsRule-based execution and partial workflow targets
NextflowRuns CBIcall-maintained Nextflow workflowsAlternative workflow-backend implementation for WES/WGS
CromwellRuns CBIcall-maintained WDL workflowsWES/WGS single-sample and cohort execution with Cromwell/WDL while preserving CBIcall audit outputs

Bash

The Bash backend runs CBIcall-maintained shell scripts from the workflows/bash directory. It is the broadest backend in CBIcall and includes WES, WGS, and mtDNA workflows.

Snakemake

The Snakemake backend runs CBIcall-maintained Snakefiles from workflows/snakemake. It supports WES/WGS workflows and is useful when rule selection or partial execution is needed.

Nextflow

The native Nextflow backend runs CBIcall-maintained Nextflow workflows from workflows/nextflow. It supports WES/WGS workflows and follows CBIcall's run directory and provenance model.

Cromwell

The Cromwell backend runs CBIcall-maintained WDL workflows from workflows/cromwell. Native support covers GATK 4.6 WES/WGS single-sample and cohort workflows. CBIcall generates Cromwell inputs/options JSON files, launches the registered WDL, and promotes final outputs into the standard 01_bam/, 02_varcall/, 03_stats/, and logs/ layout.

Use CROMWELL_JAR=/path/to/cromwell.jar or put a cromwell launcher on PATH before launching this backend. Optionally set WOMTOOL_JAR=/path/to/womtool.jar so validate-registry can run static WDL syntax checks.

CBIcall can also launch registered external nf-core workflows through Nextflow. Those workflows are documented separately because they keep their upstream output layout and runtime assumptions. See nf-core.

Backend-native validation

CBIcall validates the parameters YAML against the workflow registry and resource catalog, then writes a cbicall-execution-contract.json for the concrete command it launches. Syntax or semantic validation inside each workflow language remains backend-native: use bash -n for shell scripts, Snakemake lint/dry-run checks for Snakefiles, Nextflow's own validation for native Nextflow workflows, and womtool validate for WDL/Cromwell workflows.

Backend Selection

For CBIcall-native workflows, select the backend with workflow_backend:

pipeline: wes
workflow_backend: bash
software_stack: gatk-4.6
pipeline: wes
workflow_backend: snakemake
software_stack: gatk-4.6
pipeline: wgs
workflow_backend: nextflow
software_stack: gatk-4.6
pipeline: wes
workflow_backend: cromwell
software_stack: gatk-4.6
GoalPage
Run WES/WGS single-sample workflowsWES/WGS Single-Sample
Run WES/WGS cohort workflowsWES/WGS Cohort
Run mtDNA workflowsmtDNA
Run registered external nf-core workflowsnf-core
Add a new workflow entryAdding a Pipeline