GMS-Artic

A nextflow pipeline with a GMS touch for running the ARTIC network’s fieldbioinformatics tools

Jyotirmoy Das
Sofia Stamouli
Henning Onsbring
Tanja Normark
Isak Sylvin

Why it requires?

  • analyse whole genome sequence data from SARS-CoV-2.
  • requires pangolin typing information.
  • requires a semi/automated workflow (NextFlow).
  • development of production level, clinical data analysis tool
  • container-packed (Conda, Docker, Singularity) reproducible package

What it does?

62.2%31.3%3.3%2.8%0.4%
NextflowPythonDockerfileSingularityShellLanguages used
plotly-logomark

Architecture of GMS-Artic

GMS-ArticworkflowsenvironmentsNanoporeIlluminaCondaDockerSingularity
plotly-logomark

GitHub page

Major updates-v2.0.0

  • Docker container separated for Pangolin typing
    • Illumina container: gms-artic-illumina
    • Nanopore container: gms-artic-nanopore
    • Pangolin container: gms-artic-pangolin - bi-weekly updated with GitHub action
  • Added separate package version files for each workflow
    • versions: for Illumina and Nanopore
    • pangoversion: for pangolin typing
    • extra features for Illumina, flagstat, depth, VEP annotation
  • Illumina results works for sc2reporter visualization
  • additional QC features for Nanopore: fastqc, multiqc, pycoQC

How to run?

  • Illumina
  • Nanopolish
  • Medaka
  nextflow run main.nf 
      -profile singularity \
      --illumina \
      --prefix "test_illumina" \
      --directory .github/data/fastqs/ \
      --outdir illumina_test  nextflow run main.nf 
      -profile singularity \
      --illumina \
      --prefix "test_illumina" \
      --directory .github/data/fastqs/ \
      --outdir illumina_test  nextflow run main.nf 
      -profile singularity \
      --illumina \
      --prefix "test_illumina" \
      --directory .github/data/fastqs/ \
      --outdir illumina_test  nextflow run main.nf 
      -profile singularity \
      --illumina \
      --prefix "test_illumina" \
      --directory .github/data/fastqs/ \
      --outdir illumina_test  nextflow run main.nf 
      -profile singularity \
      --illumina \
      --prefix "test_illumina" \
      --directory .github/data/fastqs/ \
      --outdir illumina_test  nextflow run main.nf 
      -profile singularity \
      --illumina \
      --prefix "test_illumina" \
      --directory .github/data/fastqs/ \
      --outdir illumina_test  nextflow run main.nf 
      -profile singularity \
      --illumina \
      --prefix "test_illumina" \
      --directory .github/data/fastqs/ \
      --outdir illumina_test
  nextflow run main.nf \
      -profile singularity \
      --nanopolish \
      --prefix "test_nanopore_nanopolish" \
      --basecalled_fastq /fastq_pass/ \
      --fast5_pass /fast5_pass/ \
      --sequencing_summary sequencing_summary_FAK72834_298b7829.txt \
      --outdir nanopore_nanopolish  nextflow run main.nf \
      -profile singularity \
      --nanopolish \
      --prefix "test_nanopore_nanopolish" \
      --basecalled_fastq /fastq_pass/ \
      --fast5_pass /fast5_pass/ \
      --sequencing_summary sequencing_summary_FAK72834_298b7829.txt \
      --outdir nanopore_nanopolish  nextflow run main.nf \
      -profile singularity \
      --nanopolish \
      --prefix "test_nanopore_nanopolish" \
      --basecalled_fastq /fastq_pass/ \
      --fast5_pass /fast5_pass/ \
      --sequencing_summary sequencing_summary_FAK72834_298b7829.txt \
      --outdir nanopore_nanopolish  nextflow run main.nf \
      -profile singularity \
      --nanopolish \
      --prefix "test_nanopore_nanopolish" \
      --basecalled_fastq /fastq_pass/ \
      --fast5_pass /fast5_pass/ \
      --sequencing_summary sequencing_summary_FAK72834_298b7829.txt \
      --outdir nanopore_nanopolish  nextflow run main.nf \
      -profile singularity \
      --nanopolish \
      --prefix "test_nanopore_nanopolish" \
      --basecalled_fastq /fastq_pass/ \
      --fast5_pass /fast5_pass/ \
      --sequencing_summary sequencing_summary_FAK72834_298b7829.txt \
      --outdir nanopore_nanopolish  nextflow run main.nf \
      -profile singularity \
      --nanopolish \
      --prefix "test_nanopore_nanopolish" \
      --basecalled_fastq /fastq_pass/ \
      --fast5_pass /fast5_pass/ \
      --sequencing_summary sequencing_summary_FAK72834_298b7829.txt \
      --outdir nanopore_nanopolish  nextflow run main.nf \
      -profile singularity \
      --nanopolish \
      --prefix "test_nanopore_nanopolish" \
      --basecalled_fastq /fastq_pass/ \
      --fast5_pass /fast5_pass/ \
      --sequencing_summary sequencing_summary_FAK72834_298b7829.txt \
      --outdir nanopore_nanopolish  nextflow run main.nf \
      -profile singularity \
      --nanopolish \
      --prefix "test_nanopore_nanopolish" \
      --basecalled_fastq /fastq_pass/ \
      --fast5_pass /fast5_pass/ \
      --sequencing_summary sequencing_summary_FAK72834_298b7829.txt \
      --outdir nanopore_nanopolish  nextflow run main.nf \
      -profile singularity \
      --nanopolish \
      --prefix "test_nanopore_nanopolish" \
      --basecalled_fastq /fastq_pass/ \
      --fast5_pass /fast5_pass/ \
      --sequencing_summary sequencing_summary_FAK72834_298b7829.txt \
      --outdir nanopore_nanopolish
  nextflow run main.nf 
      -profile singularity \
      --medaka 
      --prefix "test_nanopore_medaka" \
      --basecalled_fastq /fastq_pass/ \
      --outdir nanopore_medaka  nextflow run main.nf 
      -profile singularity \
      --medaka 
      --prefix "test_nanopore_medaka" \
      --basecalled_fastq /fastq_pass/ \
      --outdir nanopore_medaka  nextflow run main.nf 
      -profile singularity \
      --medaka 
      --prefix "test_nanopore_medaka" \
      --basecalled_fastq /fastq_pass/ \
      --outdir nanopore_medaka

NOTE: -profile should be defined with sge, if run on NGP-server

-profile singularity,sge

Pipeline processes

Illumina processes Nanopore medaka processes Nanopore nanopolish processes
articDownloadScheme articDownloadScheme articDownloadScheme
indexReference - -
versions versions versions
pangoversions pangoversions pangoversions
fastqc fastqcNanopore fastqcNanopore
- - pycoqc
readTrimming articRemoveUnmappedReads articRemoveUnmappedReads
- articGuppyPlex articGuppyPlex
- articMinIONMedaka articMinIONNanopolish
readMapping - -
flagStat - -
trimPrimerSequences - -
depth - -
callConsensusFreebayes - -
annotationVEP - -
callVariants - -
makeConsensus - -
makeQCCSV makeQCCSV makeQCCSV
writeQCSummaryCSV writeQCSummaryCSV writeQCSummaryCSV
statsCoverage - -
statsInsert - -
statsAlignment - -
multiqc multiqcNanopore multiqcNanopore
collateSamples collateSamples collateSamples
pangolinTyping pangolinTyping pangolinTyping
nextclade nextclade nextclade
getVariantDefinitions getVariantDefinitions getVariantDefinitions
makeReport makeReport makeReport

Let’s have a quick one minute demo

Video

How the results look?

example: Output of Illumina workflow run

Interactive Result

Where to run?

NGP-server @ Gothenburg University
- SGE cluster
- supports MPI

Notes: 1. Singularity container available @ NGP-server.
2. Modified Nextflow configuration file.

Local run?

local-server
- Singularity/Conda, Nextflow installation
- AMD64 OS arch (only AMD64 supported container)

Acknowledgements

  • Genomic Medicine, Sweden
  • Clinical Genomics:
    • Gothenburg
    • Linköping
    • Lund
    • Örebro
    • Stockholm
    • Umeå
    • Uppsala
  • all USERS of the pipeline!

Find us @ https://github.com/genomic-medicine-sweden/gms-artic
@ slack channel: genomicmedicinesweden.slack.com

presenter: Jyotirmoy Das

1 / 13
GMS-Artic A nextflow pipeline with a GMS touch for running the ARTIC network’s fieldbioinformatics tools Jyotirmoy Das Sofia Stamouli Henning Onsbring Tanja Normark Isak Sylvin

  1. Slides

  2. Tools

  3. Close
  • GMS-Artic
  • Why it requires?
  • What it does?
  • Architecture of GMS-Artic
  • GitHub page
  • How to run?
  • Pipeline processes
  • Let’s have a quick one minute demo
  • How the results look?
  • Interactive Result
  • Where to run?
  • Local run?
  • Acknowledgements
  • f Fullscreen
  • s Speaker View
  • o Slide Overview
  • e PDF Export Mode
  • ? Keyboard Help