Skip to content

bbglab/deepUMIcaller

Repository files navigation

bbglab/deepUMIcaller

Nextflow run with conda run with docker run with singularity Launch on Nextflow Tower

Get help on Slack Follow on Twitter Watch on YouTube

Introduction

bbglab/deepUMIcaller is a bioinformatics best-practice analysis pipeline to produce duplex consensus reads and call mutations.

The pipeline was developed from the nf-core/fasquorum pipeline that implemented the fgbio Best Practices FASTQ to Consensus Pipeline.

The pipeline is built using Nextflow, a workflow tool to run tasks across multiple compute infrastructures in a very portable manner. It uses Docker/Singularity containers making installation trivial and results highly reproducible. The Nextflow DSL2 implementation of this pipeline uses one container per process which makes it much easier to maintain and update software dependencies. Where possible, these processes have been submitted to and installed from nf-core/modules in order to make them available to all nf-core pipelines, and to everyone within the Nextflow community!

Pipeline summary

deepUMIcaller_diagram

  1. Read QC (FastQC)
  2. Fastq to BAM, extracting UMIs (fgbio FastqToBam)
  3. Align (bwa mem), reformat (fgbio ZipperBam), and template-coordinate sort (samtools sort)
  4. Group reads by UMI (fgbio GroupReadsByUmi)
  5. Call duplex consensus reads Duplex-Sequencing data
    1. Call duplex consensus reads (fgbio CallDuplexConsensusReads)
    2. Collect duplex sequencing specific metrics (fgbio CollectDuplexSeqMetrics)
  6. Align (bwa mem)
  7. Filter consensus reads (fgbio FilterConsensusReads), from very stringent (HIGH) to very permissive (LOW).
  8. Variant calling (VarDict).
  9. Variant annotation (Ensembl VEP).
  10. Present QC for all the metrics computed in the process (MultiQC).

Initial requirements

  1. Install Nextflow (>=24.04.3)

  2. Install any of Docker, Singularity (you can follow this tutorial), Podman, Shifter or Charliecloud for full pipeline reproducibility (you can use Conda both to install Nextflow itself and also to manage software within pipelines. Please only use it within pipelines as a last resort; see docs).

Running the pipeline

deepUMIcaller allows to start the pipeline from a specific step among the following options:

mapping, groupreadsbyumi, calling

Start with FASTQC-Fastq-to_BAM (default)

nextflow run deepUMIcaller/main.nf \
  -profile singularity --input input.csv \
  --ref_fasta refs/dnaNexus/hs38DH.fa \
  --targetsfile file.bed \
  --outdir results/ 

The input.csv samplesheet must contain the following columns:

sample, fastq_1, fastq_2, read_structure
patient1, patient1_R1.fastq.gz, patient1_R2.fastq.gz, 8M1S+T 8M1S+T

The read structure can change depending your configuration.

Start with GroupByUMI (groupreadsbyumi)

nextflow run deepUMIcaller/main.nf \
  -profile singularity --input input.csv \
  --ref_fasta  refs/dnaNexus/hs38DH.fa \
  --targetsfile file.bed \
  --outdir results/ \
  --step groupreadsbyumi

In this case, the input.csv samplesheet must contain the following columns:

sample, bam, csi, read_structure
patient1, patient.bam, patient.bam.csi, 8M1S+T 8M1S+T

Start with VarDict variant calling (calling)

By default, it will execute the variant calling for HIGH/MEDIUM/LOW configuration, using the input declared:

nextflow run deepUMIcaller/main.nf \
  -profile singularity --input input.csv \
  --ref_fasta refs/dnaNexus/hs38DH.fa \
  --targetsfile file.bed \
  --outdir results/ \
  --step calling

If you prefer to do it only for HIGH e.g.:

nextflow run deepUMIcaller/main.nf \
  -profile singularity --input input.csv \
  --ref_fasta refs/dnaNexus/hs38DH.fa \
  --targetsfile file.bed \
  --outdir results/ \
  --step calling \
  --duplex_med_conf false \
  --duplex_low_conf false

The input.csv samplesheet must contain the following columns:

sample, bam, csi, read_structure
patient1, patient.bam, patient.bam.csi, 8M1S+T 8M1S+T

Credits

bbglab/deepUMIcaller was written by Ferriol Calvet and Miquel L. Grau.

Starting from the nf-core/fastquorum pipeline at commit 09a6ae27ce917f2a4b15d2c5396acb562f9047aa. This was originally written by Nils Homer. This original pipeline implemented the fgbio Best Practices FASTQ to Consensus Pipeline.

Documentation

NOTE THAT: the reference fasta must contain it's own bwa index in the same directory.

  1. Read structures as required in the input sample sheet.

Acknowledgements

Fulcrum Genomics

nf-core

Citations

An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.

You can cite the nf-core publication as follows:

The nf-core framework for community-curated bioinformatics pipelines.

Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.

Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x.