metaval

nf-core/taxprofiler post-processing; verification of classification results; consensus maps

https://github.com/genomic-medicine-sweden/metaval

Science Score: 67.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 7 DOI reference(s) in README
  • Academic publication links
    Links to: ncbi.nlm.nih.gov, nature.com
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.2%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

nf-core/taxprofiler post-processing; verification of classification results; consensus maps

Basic Info
  • Host: GitHub
  • Owner: genomic-medicine-sweden
  • License: mit
  • Language: Nextflow
  • Default Branch: dev
  • Homepage:
  • Size: 186 MB
Statistics
  • Stars: 7
  • Watchers: 6
  • Forks: 2
  • Open Issues: 15
  • Releases: 0
Created over 2 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Codeowners

README.md

genomic-medicine-sweden/metaval

GitHub Actions CI Status GitHub Actions Linting Status nf-test

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

Introduction

genomic-medicine-sweden/metaval is a bioinformatics pipeline for post-processing the results of nf-core/taxprofiler. It verifies the taxa classified by the nf-core/taxprofiler pipeline using Nanopore and Illumina shotgun metagenomic sequencing data. At the moment, genomic-medicine-sweden/metaval only verifies the classification results from three taxonomic classifiers Kraken2, Centrifuge and DIAMOND.

The pipeline, constructed using the nf-core template, utilizing Docker/Singularity containers for easy installation and reproducible results. The implementation follows Nextflow DSL2, employing one container per process for simplified maintenance and dependency management. Processes are sourced from nf-core/modules for broader accessibility within the Nextflow community.

Pipeline summary

Green Workflow - Pathogen Screening

This workflow is activated by enabling the --perform_screen_pathogens option.

  1. Map reads to pathogen genomes

    • Map reads to a predefined list of viral pathogen genomes using Bowtie2 for Illumina reads or minimap2 for Nanopore reads. This step checks for the presence of known pathogens in the sample.
  2. Call consensus

    • This step calls consensus sequences for reads mapped to pathogen genomes using either samtools or medaka, depending on the read type. samtools can be used to generate consensus sequences for both Illumina and Nanopore reads, while medaka is typically used for Nanopore reads. The generated consensus sequence will be used as input for BLAST.
  3. BLAST for pathogen identification

    • Use BLAST to identify the closest reference genomes for the target reads. There are two options: BLASTx using DIAMOND based on the protein database, and BLASTn based on the nucleotide database.
  4. Extract target reads

    • From the mapped reads, extract the target reads that match the predefined viral pathogens based on the result of BLAST.
  5. Visualisation using IGV

    • Visualize the extracted reads using IGV (Integrative Genomics Viewer) to provide a graphical representation for detailed analysis.
  6. Perform quality check

    • Conduct quality checks on the target reads using FastQC and MultiQC to ensure data quality and reliability.

Orange Workflow - Verify Identified Viruses

This workflow is activated by enabling the --perform_extract_reads option and disabling the --taxid.

  1. Decontamination

    • Filter the output files from metagenomics classifiers like Kraken2, Centrifuge, or DIAMOND to remove false positives and background contaminations. This step compares results to the negative control and identifies likely present species based on user-defined thresholds.
  2. Extract viral TaxIDs

    • Extract viral TaxIDs predicted by taxonomic classification tools such as Kraken2, Centrifuge, and DIAMOND.
  3. Extract reads

    • Extract the reads classified as viruses based on a list of identified TaxIDs.
  4. de-novo assembly

    • This step performs de novo assembly for TaxIDs with a number of reads exceeding params.min_read_counts. Spades is used for Illumina reads, and Flye is used for Nanopore reads. The resulting contig files will be used as input for BLAST.
  5. BLAST

    • Use BLAST to identify the closest reference genomes for the target reads. There are two options: BLASTx using DIAMOND based on the protein database, and BLASTn based on the nucleotide database.
  6. Mapping

    • Map the reads of TaxIDs to the closest reference genomes identified by BLAST. Use Bowtie2 for Illumina reads and minimap2 for Nanopore reads.
  7. Visualisation using IGV

    • Visualize the mapped reads using IGV.
  8. Perform quality check

    • Conduct quality checks on the classified reads using FastQC and MultiQC to ensure the accuracy of the data.

Blue Workflow - Verify User-Defined TaxIDs

This workflow is activated by enabling the --perform_extract_reads option and the --taxid option, allowing users to define a list of TaxIDs. It is not limited to viral TaxIDs and can include bacteria, fungi, archaea, parasites, or plasmids.

All steps are the same as the Orange Workflow except using user-defined TaxIDs instead of extracting predefined viral TaxIDs.

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:

samplesheet.csv:

csv sample,run_accession,instrument_platform,fastq_1,fastq_2,kraken2_report,kraken2_result,kraken2_taxpasta,centrifuge_report,centrifuge_result,centrifuge_taxpasta,diamond,diamond_taxpasta sample1,run1,ILLUMINA,sample1.unmapped_1.fastq.gz,sample1.unmapped_2.fastq.gz,sample1.kraken2.kraken2.report.txt,sample1.kraken2.kraken2.classifiedreads.txt,kraken2_kraken2-db.tsv,sample1.centrifuge.txt,sample1.centrifuge.results.txt,centrifuge_centrifuge-db.tsv,sample1.diamond.tsv,diamond_diamond-db.tsv sample2,run1,ILLUMINA,sample2.unmapped_1.fastq.gz,sample2.unmapped_2.fastq.gz,sample2.kraken2.kraken2.report.txt,sample2.kraken2.kraken2.classifiedreads.txt,kraken2_kraken2-db.tsv,sample2.centrifuge.txt,sample2.centrifuge.results.txt,centrifuge_centrifuge-db.tsv,sample2.diamond.tsv,diamond_diamond-db.tsv

Each row represents a fastq file (single-end) or a pair of fastq files (paired end).

Now, you can run the pipeline using:

bash nextflow run genomic-medicine-sweden/metaval \ -profile <docker/singularity/.../institute> \ --input samplesheet.csv \ --outdir <OUTDIR> \ --perform_extract_reads --extract_kraken2_reads

[!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.

For more details and further functionality, please refer to the usage documentation.

Test data

There are three test datasets within assets/test_data/, produced by the nf-core/taxprofiler pipeline

  • taxprofiler_test_data: produced by executing the test.config file within the pipeline nf-core/taxprofiler.
  • taxprofiler_test_full_data: produced by executing the test_full.config file within the pipeline nf-core/taxprofiler.
  • test_data_version2_subset: produced by running the data downloaded from https://www.nature.com/articles/s41598-021-83812-x

The corresponding input samplesheets are stored in assets/

  • samplesheet_v1.csv:results of taxprofiler test data; limited classification results; no viruses; single-end (perform_runmerging).
  • samplesheet_v2.csv:results of taxprofiler full test data; no viruses; single-end (perform_runmerging).
  • samplesheet_v3.csv: with viruses; subset data from test_data_version2_subset (sample 20% of pair-end reads).

Headlines of input files

kraken2_report & centrifuge_report

csv 4.62 167021 167021 U 0 unclassified 95.38 3445908 335 R 1 root 95.36 3445179 323 R1 131567 cellular organisms 93.28 3369988 622 D 2759 Eukaryota 93.26 3369247 30 D1 33154 Opisthokonta

kraken2_result

csv C SRR13439790.3 9606 150|150 9606:4 0:18 9606:7 0:5 9606:15 0:19 9606:9 0:2 9606:13 33154:1 9606:9 0:9 9606:5 |:| 9606:26 0:1 9606:3 0:32 9606:2 0:10 9606:3 0:21 9606:17 0:1 C SRR13439790.5 9606 103|103 9606:5 0:38 9606:5 0:3 9606:8 0:2 9606:8 |:| 9606:13 0:56 C SRR13439790.7 9606 150|150 9606:60 0:4 9606:1 0:1 9606:6 0:26 9606:2 0:7 9606:9 |:| 0:5 9606:1 0:44 9606:4 0:7 9606:1 0:21 9606:20 2759:4 9606:9 C SRR13439790.8 9606 107|107 0:3 9606:23 0:3 9606:14 0:16 9606:14 |:| 9606:3 0:51 9606:11 0:8 C SRR13439790.9 9606 101|150 0:48 9606:1 0:18 |:| 0:8 9606:5 0:103

centrifuge_result

csv readID seqID taxID score 2ndBestScore hitLength queryLength numMatches SRR13439790.3 NT_187391.1 9606 1624 557 109 300 1 SRR13439790.5 NC_000022.11 9606 905 169 96 206 1 SRR13439790.7 NC_000007.14 9606 6025 961 125 300 1 SRR13439790.9 unclassified 0 0 0 0 251 1

diamond

csv SRR13439790.3 0 0 SRR13439790.3 0 0 SRR13439790.5 0 0 SRR13439790.5 0 0 SRR13439790.7 0 0

Pipeline output

For more details about the output files and reports, please refer to the output documentation.

Credits

genomic-medicine-sweden/metaval was originally written by LilyAnderssonLee.All PRs were reviewed by sofstam, with additional contributions from lokeshbio.

We thank the following people for their extensive assistance in the development of this pipeline:

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: Genomic Medicine Sweden
  • Login: genomic-medicine-sweden
  • Kind: organization
  • Location: Sweden

Citation (CITATIONS.md)

# genomic-medicine-sweden/metaval: 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

- [BLAST](https://www.ncbi.nlm.nih.gov/pubmed/20003500/)

  > Camacho, C., Coulouris, G., Avagyan, V., Ma, N., Papadopoulos, J., Bealer, K., & Madden, T. L. (2009). BLAST+: architecture and applications. BMC Bioinformatics, 10, 421. https://doi.org/10.1186/1471-2105-10-421

- [Bowtie2](https://doi.org/10.1038/nmeth.1923)

  > Langmead, B., & Salzberg, S. L. (2012). Fast gapped-read alignment with Bowtie 2. Nature Methods, 9(4), 357–359. https://doi.org/10.1038/nmeth.1923

- [DIAMOND](https://doi.org/10.1038/nmeth.3176)

  > Buchfink, B., Xie, C., & Huson, D. H. (2015). Fast and sensitive protein alignment using DIAMOND. Nature Methods, 12(1), 59–60. https://doi.org/10.1038/nmeth.3176

- [FastQC](https://www.bioinformatics.babraham.ac.uk/projects/fastqc/)

  > Andrews, S. (2010). FastQC: A Quality Control Tool for High Throughput Sequence Data [Online].

- [Flye](https://doi.org/10.1038/s41592-020-00971-x)

  > Kolmogorov, M., Bickhart, D. M., Behsaz, B., Gurevich, A., Rayko, M., Shin, S. B., Kuhn, K., Yuan, J., Polevikov, E., Smith, T. P. L., & Pevzner, P. A. (2020). metaFlye: Scalable long-read metagenome assembly using repeat graphs. Nature Methods, 17(11), 1103–1110. https://doi.org/10.1038/s41592-020-00971-x

- [KrakenTools](https://www.nature.com/articles/s41596-022-00738-y)

  > Lu J, Rincon N, Wood DE, et al. Metagenome analysis using the Kraken software suite. Nat Protoc. 2022;17(12). https://doi:10.1038/s41596-022-00738-y.

- [Medaka](https://github.com/nanoporetech/medaka)

- [minimap2](https://doi.org/10.1093/bioinformatics/bty191)

  > Li, H. (2018). Minimap2: pairwise alignment for nucleotide sequences. Bioinformatics , 34(18), 3094–3100. https://doi.org/10.1093/bioinformatics/bty191.

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

- [SAMTools](https://doi.org/10.1093/gigascience/giab008)

  > Danecek, P., Bonfield, J. K., Liddle, J., Marshall, J., Ohan, V., Pollard, M. O., Whitwham, A., Keane, T., McCarthy, S. A., Davies, R. M., & Li, H. (2021). Twelve years of SAMtools and BCFtools. GigaScience, 10(2). https://doi.org/10.1093/gigascience/giab008.

- [SeqKit](https://bioinf.shenwei.me/seqkit/)

  > Shen, W., Sipos, B., & Zhao, L. (2024). SeqKit2: A Swiss army knife for sequence and alignment processing. iMeta, e191. https://doi.org/10.1002/imt2.191.

- [SPAdes](https://www.ncbi.nlm.nih.gov/pubmed/24093227/)

  > Nurk S, Bankevich A, Antipov D, Gurevich AA, Korobeynikov A, Lapidus A, Prjibelski AD, Pyshkin A, Sirotkin A, Sirotkin Y, Stepanauskas R, Clingenpeel SR, Woyke T, McLean JS, Lasken R, Tesler G, Alekseyev MA, Pevzner PA. Assembling single-cell genomes and mini-metagenomes from chimeric MDA products. J Comput Biol. 2013 Oct;20(10):714-37. https://doi: 10.1089/cmb.2013.0084.

## 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
  • Issues event: 18
  • Watch event: 3
  • Issue comment event: 22
  • Push event: 122
  • Pull request review event: 75
  • Pull request review comment event: 86
  • Pull request event: 12
  • Create event: 3
Last Year
  • Issues event: 18
  • Watch event: 3
  • Issue comment event: 22
  • Push event: 122
  • Pull request review event: 75
  • Pull request review comment event: 86
  • Pull request event: 12
  • Create event: 3

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 13
  • Total pull requests: 8
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 7 days
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 0.31
  • Average comments per pull request: 0.88
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 13
  • Pull requests: 8
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 7 days
  • Issue authors: 2
  • Pull request authors: 1
  • Average comments per issue: 0.31
  • Average comments per pull request: 0.88
  • Merged pull requests: 5
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • LilyAnderssonLee (11)
  • sofstam (1)
Pull Request Authors
  • LilyAnderssonLee (8)
Top Labels
Issue Labels
enhancement (10) bug (2)
Pull Request Labels

Dependencies

.github/workflows/awsfulltest.yml actions
  • actions/upload-artifact v3 composite
  • seqeralabs/action-tower-launch v2 composite
.github/workflows/awstest.yml actions
  • actions/upload-artifact v3 composite
  • seqeralabs/action-tower-launch v2 composite
.github/workflows/branch.yml actions
  • mshick/add-pr-comment v1 composite
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • nf-core/setup-nextflow v1 composite
.github/workflows/clean-up.yml actions
  • actions/stale v7 composite
.github/workflows/fix-linting.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
.github/workflows/linting.yml actions
  • actions/checkout v3 composite
  • actions/setup-node v3 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v3 composite
  • mshick/add-pr-comment v1 composite
  • nf-core/setup-nextflow v1 composite
  • psf/black stable composite
.github/workflows/linting_comment.yml actions
  • dawidd6/action-download-artifact v2 composite
  • marocchino/sticky-pull-request-comment v2 composite
.github/workflows/release-announcments.yml actions
  • actions/setup-python v4 composite
  • rzr/fediverse-action master composite
  • zentered/bluesky-post-action v0.0.2 composite
modules/nf-core/custom/dumpsoftwareversions/meta.yml cpan
modules/nf-core/fastqc/meta.yml cpan
modules/nf-core/multiqc/meta.yml cpan
pyproject.toml pypi