Skip to content

bbglab/deepUMIcaller

Repository files navigation

bbglab/deepUMIcaller

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

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 (fgbio CallDuplexConsensusReads)
    1. Collect duplex sequencing specific metrics (fgbio CollectDuplexSeqMetrics)
    2. In house plotting of single strand consensus reads family size distribution.
  6. Align consensus reads(bwa mem)
  7. Filter out reads with potential ambiguous mapping. (using AS-XS criteria)
  8. Filter consensus reads (fgbio FilterConsensusReads).
  9. Variant calling (VarDict).
  10. Variant calling postprocessing. Called variants are further processed to contain more information on pileup-based recounting of allele depths, proportion of Ns per position filters and optionally filtering mutations per position. All filters are annotated in the FILTER field but no variant is discarded from the VCF.
  11. Plotting of somatic variants. Plotting mutations per position in read as a QC to look for enrichment and plotting mutational profile as well.
  12. (optional) Variant annotation (Ensembl VEP).
  13. Present QC for all the metrics computed in the process (MultiQC).

Initial requirements

  1. Install Nextflow (>=25.04.2)

  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).

Credits

bbglab/deepUMIcaller was written mainly by Ferriol Calvet and Miquel L. Grau, with contributions from Raquel Blanco and Marta Huertas

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

For extensive documentation of the different running modes of the pipeline and more details on which are the requirements check the usage section of the documentation.

For information on the read structures as required in the input sample sheet, check this link.

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.

Downstream use via deepCSA

The output of deepUMIcaller that is generated with a targeted gene panel and with the goal of computing clonal selection metrics can be analyzed with deepCSA.

The repo contains a detailed explanation of the usage and outputs that it will provide, but here we list which files from deepUMIcaller need to be used for then running deepCSA.

sample,vcf,bam
sample1,.../mutations_vcf/<sample1>.vcf,.../sortbamduplexconsmed/<sample1>.bam
sample2,.../mutations_vcf/<sample2>.vcf,.../sortbamduplexconsmed/<sample2>.bam
sample3,.../mutations_vcf/<sample3>.vcf,.../sortbamduplexconsmed/<sample3>.bam