Skip to content

About

Nextflow pipeline for consensus-based variant calling

Topics

Resources

Contributing

Stars

4 stars

Watchers

1 watching

Forks

Repository files navigation

ChoCallate 🍫

GitHub Release Changelog GitHub License Wiki

ChoCallate (Chorus of Callers) is a Nextflow pipeline for consensus-based variant calling. It maps FASTQ reads or accepts aligned BAMs, calls variants with bcftools, FreeBayes and GATK, and applies a configurable consensus rule to produce high-confidence SNVs and indels.

Quick start

Requirements: Linux, Conda/Mamba and Git. Nextflow and all analysis tools are installed by the environment. The first run resolves the nf-schema and nf-boost plugins; an offline Conda setup must install the pinned versions once, while the Docker image bundles them.

git clone --depth 1 https://github.com/alermol/ChoCallate.git
cd ChoCallate
conda env create -y -f environment.yaml --no-default-packages
conda activate ChoCallate
cp assets/templates/config.yaml my_run.yaml

Minimal my_run.yaml:

input:
  samples_tsv: /absolute/path/samples.tsv
  reference_genome: /absolute/path/reference.fa.gz
  reference_index_dir: /absolute/path/indexes

output:
  directory: ChoCallate_output

reference_genome must be plain FASTA or BGZF-compressed FASTA; plain gzip is rejected. For FASTQ input, reference_index_dir must contain the index files for the selected mapping.mapper (Bowtie2 by default).

samples.tsv is tab-separated:

sample1	/path/sample1_R1.fq.gz	/path/sample1_R2.fq.gz

Supported layouts are paired-end (sample_id, R1, R2), single-end (sample_id, R1), mixed (sample_id, R1, R2, unpaired; Bowtie2 only) and BAM (sample_id, BAM). reference_index_dir is required for FASTQ input and unused for BAM input. Index files must match the selected mapper.

Run:

nextflow run main.nf -params-file my_run.yaml

Docker

docker pull alermol/chocallate:latest
docker run --rm \
  -u "$(id -u):$(id -g)" \
  -v "${PWD}/input_data:/workspace" \
  -w /workspace \
  alermol/chocallate:latest \
  -params-file config.yaml

The image bundles the Nextflow plugins and works offline and under an arbitrary UID. Paths in config.yaml and samples.tsv must refer to files inside the mounted /workspace.

Outputs

By default, a run publishes one merged multi-sample consensus.bcf. Set output.type: "sample" for one file per sample, and output.format: "vcf" for bgzip-compressed VCF. All covered sites are kept by default, including monomorphic positions; set output.remove_invariant: true to drop them. Mapping statistics, dropped_samples.txt and standard Nextflow reports are also published.

Documentation

Detailed documentation is in the Wiki:

The full configuration template is assets/templates/config.yaml.

Contributing

See CONTRIBUTING.md.

License

MIT

Development roadmap

See ROADMAP.md.

About

Nextflow pipeline for consensus-based variant calling

Topics

Resources

Contributing

Stars

4 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages