lr_somatic

Workflow for somatic variant calling of long read data

https://github.com/intgenomicslab/lr_somatic

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.7%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Workflow for somatic variant calling of long read data

Basic Info
  • Host: GitHub
  • Owner: IntGenomicsLab
  • License: mit
  • Language: Nextflow
  • Default Branch: dev
  • Size: 586 KB
Statistics
  • Stars: 6
  • Watchers: 1
  • Forks: 1
  • Open Issues: 8
  • Releases: 0
Created about 1 year ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Citation

README.md

IntGenomicsLab/lr_somatic

GitHub Actions CI Status GitHub Actions Linting StatusCite with Zenodo nf-test

Nextflow nf-core template version run with conda run with docker run with singularity Launch on Seqera Platform

Introduction

IntGenomicsLab/lr_somatic is a robust bioinformatics pipeline designed for processing and analyzing somatic DNA sequencing data for long-read sequencing technologies from Oxford Nanopore and PacBio. It supports both canonical base DNA and modified base calling, including specialized applications such as Fiber-seq.

This end-to-end pipeline handles the entire workflow — from raw read processing and alignment, to comprehensive somatic variant calling, including single nucleotide variants, indels, structural variants, copy number alterations, and modified bases.

It can be run in both matched tumour-normal and tumour-only mode, offering flexibility depending on the users study design.

Developed using Nextflow DSL2, it offers high portability and scalability across diverse computing environments. By leveraging Docker or Singularity containers, installation is streamlined and results are highly reproducible. Each process runs in an isolated container, simplifying dependency management and updates. Where applicable, pipeline components are sourced from nf-core/modules, promoting reuse, interoperability, and consistency within the broader Nextflow and nf-core ecosystems.

Pipeline summary

1) Pre-processing:

a. Raw read QC (cramino)

b. Alignment to the reference genome (minimap2)

c. Post alignment QC (cramino, samtools idxstats, samtools flagstats, samtools stats)

d. Specific for calling modified base calling (Modkit, Fibertools)

2i) Matched mode: small variant calling:

a. Calling Germline SNPs (Clair3)

b. Phasing and Haplotagging the SNPs in the normal and tumour BAM (LongPhase)

c. Calling somatic SNVs (ClairS)

2ii) Tumour only mode: small variant calling:

a. Calling Germline SNPs and somatic SNVs (ClairS-TO)

b. Phasing and Haplotagging germline SNPs in tumour BAM (LongPhase)

3) Large variant calling:

a. Somatic structural variant calling (Severus)

b. Copy number alterion calling; long read version of (ASCAT)

<!-- TODO nf-core: Fill in short bullet-pointed list of the default steps in the pipeline -->2. Present QC for raw reads (MultiQC)

Usage

[!NOTE] If you are new to Nextflow and nf-core, please refer to this page on how to set-up Nextflow. Make sure to test your setup with -profile test before running the workflow on actual data.

First prepare a samplesheet with your input data that looks as follows:

csv sample,bam_tumor,bam_normal,platform,sex,fiber sample1,tumour.bam,normal.bam,ont,female,n sample2,tumour.bam,,ont,female,y sample3,tumour.bam,,pb,male,n sample4,tumour.bam,normal.bam,pb,male,y

Each row represents a sample. The bam files should always be unaligned bam files. All fields except for bam_normal are required. If bam_normal is empty, the pipeline will run in tumour only mode. platform should be either ont or pb for Oxford Nanopore Sequencing or PacBio sequencing, respectively. sex refers to the biological sex of the sample and should be either female or male. Finally, fiber specifies whether your sample is Fiber-seq data or not and should have either y for Yes or n for No.

Now, you can run the pipeline using:

bash nextflow run IntGenomicsLab/lr_somatic \ -profile <docker/singularity/.../institute> \ --input samplesheet.csv \ --outdir <OUTDIR>

[!WARNING] Please provide pipeline parameters via the CLI or Nextflow -params-file option. Custom config files including those provided by the -c Nextflow option can be used to provide any configuration except for parameters; see docs.

Credits

IntGenomicsLab/lr_somatic was originally written by Luuk Harbers, Alexandra Pančíková, Robert Forsyth, Marios Eftychiou, Ruben Cools, and Jonas Demeulemeester.

Pipeline output

This pipeline produces a series of different output files. The main output is an aligned and phased tumour bam file. This bam file can be used by any typical downstream tool that uses bam files as input. Furthermore, we have sample-specific QC outputs from cramino (fastq), cramino (bam), mosdepth, samtools (stats/flagstat/idxstats), and optionally fibertools. Finally, we have a multiqc report from that combines the output from mosdepth and samtools into one html report.

Besides QC and the aligned and phased bam file, we have output from (structural) variant and copy number callers, of which some are optional. The output from these variant callers can be found in their respective folders. For small and structural variant callers (clairS, clairS-TO, and severus) these will contain, among others, vcf files with called variants. For ascat these contain files with final copy number information and plots of the copy number profiles.

Example output directory structure:

results | ├── multiqc │ ├── sample1 │ ├── bamfiles │ ├── qc │ │ ├── tumour │ │ └── normal │ ├── variants │ │ ├── severus │ │ └── clairs │ └── ascat │ └── sample2 ├── bamfiles ├── qc │ ├── tumour │ └── normal ├── variants │ ├── severus │ └── clairs └── ascat

Contributions and Support

If you would like to contribute to this pipeline, please see the contributing guidelines.

Citations

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

This pipeline uses code and infrastructure developed and maintained by the nf-core community, reused here under the MIT license.

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.

Owner

  • Name: IntGenomicsLab
  • Login: IntGenomicsLab
  • Kind: organization

Citation (CITATIONS.md)

# IntGenomicsLab/lr_somatic: Citations

## [nf-core](https://pubmed.ncbi.nlm.nih.gov/32055031/)

> Ewels PA, Peltzer A, Fillinger S, Patel H, Alneberg J, Wilm A, Garcia MU, Di Tommaso P, Nahnsen S. The nf-core framework for community-curated bioinformatics pipelines. Nat Biotechnol. 2020 Mar;38(3):276-278. doi: 10.1038/s41587-020-0439-x. PubMed PMID: 32055031.

## [Nextflow](https://pubmed.ncbi.nlm.nih.gov/28398311/)

> Di Tommaso P, Chatzou M, Floden EW, Barja PP, Palumbo E, Notredame C. Nextflow enables reproducible computational workflows. Nat Biotechnol. 2017 Apr 11;35(4):316-319. doi: 10.1038/nbt.3820. PubMed PMID: 28398311.

## Pipeline tools

- [MultiQC](https://pubmed.ncbi.nlm.nih.gov/27312411/)

> Ewels P, Magnusson M, Lundin S, Käller M. MultiQC: summarize analysis results for multiple tools and samples in a single report. Bioinformatics. 2016 Oct 1;32(19):3047-8. doi: 10.1093/bioinformatics/btw354. Epub 2016 Jun 16. PubMed PMID: 27312411; PubMed Central PMCID: PMC5039924.

## Software packaging/containerisation tools

- [Anaconda](https://anaconda.com)

  > Anaconda Software Distribution. Computer software. Vers. 2-2.4.0. Anaconda, Nov. 2016. Web.

- [Bioconda](https://pubmed.ncbi.nlm.nih.gov/29967506/)

  > Grüning B, Dale R, Sjödin A, Chapman BA, Rowe J, Tomkins-Tinch CH, Valieris R, Köster J; Bioconda Team. Bioconda: sustainable and comprehensive software distribution for the life sciences. Nat Methods. 2018 Jul;15(7):475-476. doi: 10.1038/s41592-018-0046-7. PubMed PMID: 29967506.

- [BioContainers](https://pubmed.ncbi.nlm.nih.gov/28379341/)

  > da Veiga Leprevost F, Grüning B, Aflitos SA, Röst HL, Uszkoreit J, Barsnes H, Vaudel M, Moreno P, Gatto L, Weber J, Bai M, Jimenez RC, Sachsenberg T, Pfeuffer J, Alvarez RV, Griss J, Nesvizhskii AI, Perez-Riverol Y. BioContainers: an open-source and community-driven framework for software standardization. Bioinformatics. 2017 Aug 15;33(16):2580-2582. doi: 10.1093/bioinformatics/btx192. PubMed PMID: 28379341; PubMed Central PMCID: PMC5870671.

- [Docker](https://dl.acm.org/doi/10.5555/2600239.2600241)

  > Merkel, D. (2014). Docker: lightweight linux containers for consistent development and deployment. Linux Journal, 2014(239), 2. doi: 10.5555/2600239.2600241.

- [Singularity](https://pubmed.ncbi.nlm.nih.gov/28494014/)

  > Kurtzer GM, Sochat V, Bauer MW. Singularity: Scientific containers for mobility of compute. PLoS One. 2017 May 11;12(5):e0177459. doi: 10.1371/journal.pone.0177459. eCollection 2017. PubMed PMID: 28494014; PubMed Central PMCID: PMC5426675.

GitHub Events

Total
  • Create event: 69
  • Issues event: 24
  • Watch event: 3
  • Delete event: 47
  • Issue comment event: 16
  • Member event: 1
  • Push event: 228
  • Pull request review comment event: 35
  • Pull request review event: 101
  • Pull request event: 99
  • Fork event: 1
Last Year
  • Create event: 69
  • Issues event: 24
  • Watch event: 3
  • Delete event: 47
  • Issue comment event: 16
  • Member event: 1
  • Push event: 228
  • Pull request review comment event: 35
  • Pull request review event: 101
  • Pull request event: 99
  • Fork event: 1

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 16
  • Total pull requests: 55
  • Average time to close issues: 28 days
  • Average time to close pull requests: about 10 hours
  • Total issue authors: 3
  • Total pull request authors: 7
  • Average comments per issue: 0.19
  • Average comments per pull request: 0.09
  • Merged pull requests: 33
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 16
  • Pull requests: 55
  • Average time to close issues: 28 days
  • Average time to close pull requests: about 10 hours
  • Issue authors: 3
  • Pull request authors: 7
  • Average comments per issue: 0.19
  • Average comments per pull request: 0.09
  • Merged pull requests: 33
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • ljwharbers (12)
  • robert-a-forsyth (3)
  • Tim-Yu (1)
Pull Request Authors
  • robert-a-forsyth (20)
  • ljwharbers (19)
  • AlexanRNA (10)
  • rcools (3)
  • MariosEft97 (1)
  • Tim-Yu (1)
  • laulambr (1)
Top Labels
Issue Labels
enhancement (6) bug (3)
Pull Request Labels
enhancement (3)

Dependencies

.github/workflows/branch.yml actions
  • mshick/add-pr-comment b8f338c590a895d50bcbfa6c5859251edc8952fc composite
.github/workflows/ci.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • conda-incubator/setup-miniconda a4260408e20b96e80095f42ff7f1a15b27dd94ca composite
  • eWaterCycle/setup-apptainer main composite
  • jlumbroso/free-disk-space 54081f138730dfa15788a46383842cd2f914a1be composite
  • nf-core/setup-nextflow v2 composite
.github/workflows/clean-up.yml actions
  • actions/stale 28ca1036281a5e5922ead5184a1bbf96e5fc984e composite
.github/workflows/download_pipeline.yml actions
  • actions/setup-python 0b93645e9fea7318ecaed2b359559ac225c90a2b composite
  • eWaterCycle/setup-apptainer 4bb22c52d4f63406c49e94c804632975787312b3 composite
  • jlumbroso/free-disk-space 54081f138730dfa15788a46383842cd2f914a1be composite
  • nf-core/setup-nextflow v2 composite
.github/workflows/fix-linting.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • actions/setup-python 0b93645e9fea7318ecaed2b359559ac225c90a2b composite
  • peter-evans/create-or-update-comment 71345be0265236311c031f5c7866368bd1eff043 composite
.github/workflows/linting.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • actions/setup-python 0b93645e9fea7318ecaed2b359559ac225c90a2b composite
  • actions/upload-artifact b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 composite
  • nf-core/setup-nextflow v2 composite
  • pietrobolcato/action-read-yaml 1.1.0 composite
.github/workflows/linting_comment.yml actions
  • dawidd6/action-download-artifact 80620a5d27ce0ae443b965134db88467fc607b43 composite
  • marocchino/sticky-pull-request-comment 331f8f5b4215f0445d3c07b4967662a32a2d3e31 composite
.github/workflows/template_version_comment.yml actions
  • actions/checkout 11bd71901bbe5b1630ceea73d27597364c9af683 composite
  • mshick/add-pr-comment b8f338c590a895d50bcbfa6c5859251edc8952fc composite
  • nichmor/minimal-read-yaml v0.0.2 composite
modules/nf-core/multiqc/meta.yml cpan
subworkflows/nf-core/utils_nextflow_pipeline/meta.yml cpan
subworkflows/nf-core/utils_nfcore_pipeline/meta.yml cpan
subworkflows/nf-core/utils_nfschema_plugin/meta.yml cpan
modules/local/clair3/meta.yml cpan
modules/local/clairsto/meta.yml cpan
modules/local/cramino/meta.yml cpan
modules/local/fibertoolsrs/fire/meta.yml cpan
modules/local/fibertoolsrs/predictm6a/meta.yml cpan
modules/local/fibertoolsrs/qc/meta.yml cpan
modules/local/metaextract/meta.yml cpan
modules/local/wakhan/meta.yml cpan
modules/nf-core/ascat/meta.yml cpan
modules/nf-core/longphase/haplotag/meta.yml cpan
modules/nf-core/longphase/phase/meta.yml cpan
modules/nf-core/minimap2/align/meta.yml cpan
modules/nf-core/minimap2/index/meta.yml cpan
modules/nf-core/modkit/pileup/meta.yml cpan
modules/nf-core/mosdepth/meta.yml cpan
modules/nf-core/pigz/uncompress/meta.yml cpan
modules/nf-core/samtools/cat/meta.yml cpan
modules/nf-core/samtools/faidx/meta.yml cpan
modules/nf-core/samtools/flagstat/meta.yml cpan
modules/nf-core/samtools/idxstats/meta.yml cpan
modules/nf-core/samtools/index/meta.yml cpan
modules/nf-core/samtools/stats/meta.yml cpan
modules/nf-core/severus/meta.yml cpan
modules/nf-core/unzip/meta.yml cpan
subworkflows/nf-core/bam_stats_samtools/meta.yml cpan
modules/local/clairs/meta.yml cpan
modules/local/vcfsplit/meta.yml cpan
modules/local/fibertoolsrs/nucleosomes/meta.yml cpan
modules/local/clair3/environment.yml conda
  • clair3 1.0.10.*
modules/local/cramino/environment.yml conda
  • cramino 1.0.0.*
modules/local/fibertoolsrs/fire/environment.yml conda
  • fibertools-rs 0.6.2.*
modules/local/fibertoolsrs/nucleosomes/environment.yml conda
  • fibertools-rs 0.6.2.*
modules/local/fibertoolsrs/predictm6a/environment.yml conda
  • fibertools-rs 0.6.2.*
modules/local/fibertoolsrs/qc/environment.yml conda
  • fibertools-rs 0.6.2.*
modules/local/metaextract/environment.yml conda
  • your-tool-here
modules/local/wakhan/environment.yml conda
  • wakhan 0.1.1.*
modules/nf-core/ascat/environment.yml conda
  • ascat 3.1.1.*
  • cancerit-allelecount 4.3.0.*
modules/nf-core/longphase/haplotag/environment.yml conda
  • longphase 1.7.3.*
modules/nf-core/longphase/phase/environment.yml conda
  • htslib 1.20.*
  • longphase 1.7.3.*
modules/nf-core/minimap2/align/environment.yml conda
  • htslib 1.20.*
  • minimap2 2.28.*
  • samtools 1.20.*
modules/nf-core/minimap2/index/environment.yml conda
  • minimap2 2.28.*
modules/nf-core/modkit/pileup/environment.yml conda
  • ont-modkit 0.3.0.*
modules/nf-core/mosdepth/environment.yml conda
  • mosdepth 0.3.10.*
modules/nf-core/samtools/cat/environment.yml conda
  • htslib 1.21.*
  • samtools 1.21.*
modules/nf-core/samtools/faidx/environment.yml conda
  • htslib 1.21.*
  • samtools 1.21.*
modules/nf-core/samtools/flagstat/environment.yml conda
  • htslib 1.21.*
  • samtools 1.21.*
modules/nf-core/samtools/idxstats/environment.yml conda
  • htslib 1.21.*
  • samtools 1.21.*
modules/nf-core/samtools/index/environment.yml conda
  • htslib 1.21.*
  • samtools 1.21.*
modules/nf-core/samtools/stats/environment.yml conda
  • htslib 1.21.*
  • samtools 1.21.*
modules/nf-core/severus/environment.yml conda
  • severus 1.3.*
modules/nf-core/unzip/environment.yml conda
  • p7zip 16.02.*
modules/local/vcfsplit/environment.yml pypi
modules/nf-core/multiqc/environment.yml pypi