Skip to content

CNAG-Biomedical-Informatics/cbicall

Repository files navigation

CBIcall

CNAG Biomedical Informatics framework for variant calling

Build PyPI Coverage Status Docker Build Docker Image Size Docker Pulls Documentation Status License


CBIcall (CNAG Biomedical Informatics framework for variant calling) is a configuration-driven framework for reproducible variant calling in large sequencing cohorts. It validates analysis intent, resolves approved workflow backends and resource definitions, and records structured run reports for auditable production runs and run-to-run comparison.

Documentation: https://cnag-biomedical-informatics.github.io/cbicall/

CBIcall orchestrates germline variant calling workflows for Illumina sequencing data. It does not implement variant calling algorithms itself. Instead, it validates parameters, resolves workflows from a versioned registry, checks resource compatibility, launches native CBIcall workflows through Bash, Snakemake, Nextflow, or Cromwell backends, and captures audit artifacts for traceability. Selected external nf-core workflows can also run through the same validation and provenance layer.

CBIcall uses a three-part execution contract:

Contract layer Purpose
Parameters YAML User analysis intent: inputs, pipeline, mode, genome, backend, and runtime options.
Workflow registry Approved workflow implementations and backend-specific entrypoints.
Resource catalog External references, tool/resource bundles, compatibility rules, and resource identity.

Key points:

  • Configuration-driven execution from a YAML parameter file
  • Native CBIcall workflow support through Bash, Snakemake, Nextflow, and Cromwell backends
  • Support for WES, WGS, and mtDNA analysis modes
  • Registry-backed support for selected external nf-core/Nextflow workflows
  • Structured audit artifacts: log.json, run-report.json, optional run-report.html, workflow fingerprints, resource identity, output inventories, and normalized VCF hashes
  • Programmatic run comparison with cbicall compare-runs
  • Optional partial workflow starts for supported backends

Workflow sources:

Source Role
Native CBIcall workflows Packaged WES/WGS/mtDNA pipelines with CBIcall validation, logging, and output structure.
External nf-core workflows Selected registry-backed Nextflow workflows executed with CBIcall validation and provenance.

Installation

Install the released command from PyPI (recommended):

python3 -m pip install --upgrade cbicall

Install all optional Python integrations when needed:

python3 -m pip install --upgrade "cbicall[all]"

Use an editable source checkout only for development:

git clone https://github.com/CNAG-Biomedical-Informatics/cbicall.git
cd cbicall
python3 -m pip install -e ".[all,test]"

Native workflows also require the separately distributed resource bundle. See the documentation for Python, Docker, Apptainer, cloud, and HPC installation instructions.

Point all native backends to an installed bundle with:

export CBICALL_DATA=/absolute/path/to/cbicall-data
cbicall doctor

Quick Start

Generate a self-contained tour of the WES audit report and interactive mtDNA browser without installing the external resource bundle:

cbicall demo

This uses precomputed outputs from the packaged integration fixture. It does not execute BWA, GATK, or MToolBox. For a real analysis, use a parameters YAML:

cbicall run -p params.yaml -t 8

Runnable examples and sample inputs are available under examples/.

Citation

CBIcall: a configuration-driven framework for variant calling in large sequencing cohorts. Preprint DOI.

Author

Written by Manuel Rueda (mrueda). GitHub repository: https://github.com/CNAG-Biomedical-Informatics/cbicall.

Copyright and license

Please see the GPLv3 license for distribution and usage terms.

About

CBIcall is a configuration-driven framework for reproducible variant calling in large sequencing cohorts, enabling standardized pipelines from FASTQ to analysis-ready VCFs across heterogeneous computing environments.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages