From 4e4c124d2c6f93ec40f7edac7efa0a81593d924e Mon Sep 17 00:00:00 2001 From: d4straub Date: Tue, 12 Nov 2024 15:23:31 +0100 Subject: [PATCH 1/2] update nf-core modules and picrust --- CHANGELOG.md | 1 + modules.json | 10 +- modules/local/picrust.nf | 6 +- modules/nf-core/cutadapt/environment.yml | 2 - modules/nf-core/cutadapt/meta.yml | 57 +++--- modules/nf-core/cutadapt/tests/main.nf.test | 6 +- .../nf-core/kraken2/kraken2/environment.yml | 7 +- .../kraken2/kraken2/kraken2-kraken2.diff | 6 + modules/nf-core/kraken2/kraken2/main.nf | 4 +- modules/nf-core/kraken2/kraken2/meta.yml | 121 +++++++----- .../kraken2/kraken2/tests/main.nf.test | 12 +- .../kraken2/kraken2/tests/main.nf.test.snap | 24 ++- .../nf-core/vsearch/cluster/environment.yml | 5 +- modules/nf-core/vsearch/cluster/meta.yml | 175 ++++++++++++++---- .../vsearch/cluster/tests/main.nf.test | 10 +- .../nf-core/vsearch/sintax/environment.yml | 2 - modules/nf-core/vsearch/sintax/meta.yml | 51 +++-- .../nf-core/vsearch/sintax/tests/main.nf.test | 33 ++++ .../vsearch/sintax/tests/main.nf.test.snap | 35 ++++ .../vsearch/usearchglobal/environment.yml | 2 - .../nf-core/vsearch/usearchglobal/meta.yml | 171 +++++++++++------ .../vsearch/usearchglobal/tests/main.nf.test | 64 +++++++ .../usearchglobal/tests/main.nf.test.snap | 96 ++++++++++ 23 files changed, 669 insertions(+), 231 deletions(-) create mode 100644 modules/nf-core/vsearch/sintax/tests/main.nf.test create mode 100644 modules/nf-core/vsearch/sintax/tests/main.nf.test.snap create mode 100644 modules/nf-core/vsearch/usearchglobal/tests/main.nf.test create mode 100644 modules/nf-core/vsearch/usearchglobal/tests/main.nf.test.snap diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b48a9da4..9a59f85ed 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 | software | previously | now | | -------- | ---------- | ------ | | MultiQC | 1.21 | 1.25.1 | +| Picrust2 | 2.5.2 | 2.5.3 | ### `Removed` diff --git a/modules.json b/modules.json index 69d29b25b..ea99de766 100644 --- a/modules.json +++ b/modules.json @@ -7,7 +7,7 @@ "nf-core": { "cutadapt": { "branch": "master", - "git_sha": "6618151ed69274863dc6fe6d2920afa90abaca1f", + "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", "installed_by": ["modules"] }, "epang/place": { @@ -62,7 +62,7 @@ }, "kraken2/kraken2": { "branch": "master", - "git_sha": "653218e79ffa76fde20319e9062f8b8da5cf7555", + "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", "installed_by": ["modules"], "patch": "modules/nf-core/kraken2/kraken2/kraken2-kraken2.diff" }, @@ -89,17 +89,17 @@ }, "vsearch/cluster": { "branch": "master", - "git_sha": "d97b335eb448073c1b680710303c02a55f40c77c", + "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", "installed_by": ["modules"] }, "vsearch/sintax": { "branch": "master", - "git_sha": "3f5420aa22e00bd030a2556dfdffc9e164ec0ec5", + "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", "installed_by": ["modules"] }, "vsearch/usearchglobal": { "branch": "master", - "git_sha": "3f5420aa22e00bd030a2556dfdffc9e164ec0ec5", + "git_sha": "666652151335353eef2fcd58880bcef5bc2928e1", "installed_by": ["modules"] } } diff --git a/modules/local/picrust.nf b/modules/local/picrust.nf index 0f09a899c..720a800dc 100644 --- a/modules/local/picrust.nf +++ b/modules/local/picrust.nf @@ -2,10 +2,10 @@ process PICRUST { tag "${seq},${abund}" label 'process_medium' - conda "bioconda::picrust2=2.5.2" + conda "bioconda::picrust2=2.5.3" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/picrust2:2.5.2--pyhdfd78af_0' : - 'biocontainers/picrust2:2.5.2--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/picrust2:2.5.3--pyhdfd78af_0' : + 'biocontainers/picrust2:2.5.3--pyhdfd78af_0' }" input: path(seq) diff --git a/modules/nf-core/cutadapt/environment.yml b/modules/nf-core/cutadapt/environment.yml index 288ea6f06..dfdbd1c2a 100644 --- a/modules/nf-core/cutadapt/environment.yml +++ b/modules/nf-core/cutadapt/environment.yml @@ -1,7 +1,5 @@ -name: cutadapt channels: - conda-forge - bioconda - - defaults dependencies: - bioconda::cutadapt=4.6 diff --git a/modules/nf-core/cutadapt/meta.yml b/modules/nf-core/cutadapt/meta.yml index 5ecfe27a9..8844d86c8 100644 --- a/modules/nf-core/cutadapt/meta.yml +++ b/modules/nf-core/cutadapt/meta.yml @@ -12,35 +12,44 @@ tools: documentation: https://cutadapt.readthedocs.io/en/stable/index.html doi: 10.14806/ej.17.1.200 licence: ["MIT"] + identifier: biotools:cutadapt input: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - reads: - type: file - description: | - List of input FastQ files of size 1 and 2 for single-end and paired-end data, - respectively. + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - reads: + type: file + description: | + List of input FastQ files of size 1 and 2 for single-end and paired-end data, + respectively. output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - reads: - type: file - description: The trimmed/modified fastq reads - pattern: "*fastq.gz" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.trim.fastq.gz": + type: file + description: The trimmed/modified fastq reads + pattern: "*fastq.gz" - log: - type: file - description: cuatadapt log file - pattern: "*cutadapt.log" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.log": + type: file + description: cuatadapt log file + pattern: "*cutadapt.log" - versions: - type: file - description: File containing software versions - pattern: "versions.yml" + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" authors: - "@drpatelh" - "@kevinmenden" diff --git a/modules/nf-core/cutadapt/tests/main.nf.test b/modules/nf-core/cutadapt/tests/main.nf.test index b7ea6ef9f..36927bd7f 100644 --- a/modules/nf-core/cutadapt/tests/main.nf.test +++ b/modules/nf-core/cutadapt/tests/main.nf.test @@ -18,7 +18,7 @@ nextflow_process { input[0] = [ [ id: 'test', single_end:true ], [ - file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true) + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ] ] """ @@ -47,8 +47,8 @@ nextflow_process { input[0] = [ [ id: 'test', single_end:false ], [ - file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true), - file(params.test_data['sarscov2']['illumina']['test_2_fastq_gz'], checkIfExists: true) + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_2.fastq.gz', checkIfExists: true) ] ] """ diff --git a/modules/nf-core/kraken2/kraken2/environment.yml b/modules/nf-core/kraken2/kraken2/environment.yml index 63be419bd..ba776d315 100644 --- a/modules/nf-core/kraken2/kraken2/environment.yml +++ b/modules/nf-core/kraken2/kraken2/environment.yml @@ -1,8 +1,7 @@ -name: kraken2_kraken2 channels: - conda-forge - bioconda - - defaults dependencies: - - bioconda::kraken2=2.1.2 - - conda-forge::pigz=2.6 + - "bioconda::kraken2=2.1.3" + - "coreutils=9.4" + - "pigz=2.8" diff --git a/modules/nf-core/kraken2/kraken2/kraken2-kraken2.diff b/modules/nf-core/kraken2/kraken2/kraken2-kraken2.diff index 4ad9339ee..c6c57ad4c 100644 --- a/modules/nf-core/kraken2/kraken2/kraken2-kraken2.diff +++ b/modules/nf-core/kraken2/kraken2/kraken2-kraken2.diff @@ -1,4 +1,6 @@ Changes in module 'nf-core/kraken2/kraken2' +'modules/nf-core/kraken2/kraken2/meta.yml' is unchanged +Changes in 'kraken2/kraken2/main.nf': --- modules/nf-core/kraken2/kraken2/main.nf +++ modules/nf-core/kraken2/kraken2/main.nf @@ -39,7 +39,6 @@ @@ -10,4 +12,8 @@ Changes in module 'nf-core/kraken2/kraken2' $classified_option \\ $readclassification_option \\ +'modules/nf-core/kraken2/kraken2/environment.yml' is unchanged +'modules/nf-core/kraken2/kraken2/tests/main.nf.test' is unchanged +'modules/nf-core/kraken2/kraken2/tests/main.nf.test.snap' is unchanged +'modules/nf-core/kraken2/kraken2/tests/tags.yml' is unchanged ************************************************************ diff --git a/modules/nf-core/kraken2/kraken2/main.nf b/modules/nf-core/kraken2/kraken2/main.nf index 1c97f9bab..6978e3dc7 100644 --- a/modules/nf-core/kraken2/kraken2/main.nf +++ b/modules/nf-core/kraken2/kraken2/main.nf @@ -4,8 +4,8 @@ process KRAKEN2_KRAKEN2 { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/mulled-v2-5799ab18b5fc681e75923b2450abaa969907ec98:87fc08d11968d081f3e8a37131c1f1f6715b6542-0' : - 'biocontainers/mulled-v2-5799ab18b5fc681e75923b2450abaa969907ec98:87fc08d11968d081f3e8a37131c1f1f6715b6542-0' }" + 'https://depot.galaxyproject.org/singularity/mulled-v2-8706a1dd73c6cc426e12dd4dd33a5e917b3989ae:c8cbdc8ff4101e6745f8ede6eb5261ef98bdaff4-0' : + 'biocontainers/mulled-v2-8706a1dd73c6cc426e12dd4dd33a5e917b3989ae:c8cbdc8ff4101e6745f8ede6eb5261ef98bdaff4-0' }" input: tuple val(meta), path(reads) diff --git a/modules/nf-core/kraken2/kraken2/meta.yml b/modules/nf-core/kraken2/kraken2/meta.yml index 7909ffe7e..869376467 100644 --- a/modules/nf-core/kraken2/kraken2/meta.yml +++ b/modules/nf-core/kraken2/kraken2/meta.yml @@ -13,63 +13,84 @@ tools: documentation: https://github.com/DerrickWood/kraken2/wiki/Manual doi: 10.1186/s13059-019-1891-0 licence: ["MIT"] + identifier: biotools:kraken2 input: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - reads: - type: file - description: | - List of input FastQ files of size 1 and 2 for single-end and paired-end data, - respectively. - - db: - type: directory - description: Kraken2 database - - save_output_fastqs: - type: string - description: | - If true, optional commands are added to save classified and unclassified reads - as fastq files - - save_reads_assignment: - type: string - description: | - If true, an optional command is added to save a file reporting the taxonomic - classification of each input read + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - reads: + type: file + description: | + List of input FastQ files of size 1 and 2 for single-end and paired-end data, + respectively. + - - db: + type: directory + description: Kraken2 database + - - save_output_fastqs: + type: string + description: | + If true, optional commands are added to save classified and unclassified reads + as fastq files + - - save_reads_assignment: + type: string + description: | + If true, an optional command is added to save a file reporting the taxonomic + classification of each input read output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - classified_reads_fastq: - type: file - description: | - Reads classified as belonging to any of the taxa - on the Kraken2 database. - pattern: "*{fastq.gz}" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.classified{.,_}*": + type: file + description: | + Reads classified as belonging to any of the taxa + on the Kraken2 database. + pattern: "*{fastq.gz}" - unclassified_reads_fastq: - type: file - description: | - Reads not classified to any of the taxa - on the Kraken2 database. - pattern: "*{fastq.gz}" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*.unclassified{.,_}*": + type: file + description: | + Reads not classified to any of the taxa + on the Kraken2 database. + pattern: "*{fastq.gz}" - classified_reads_assignment: - type: file - description: | - Kraken2 output file indicating the taxonomic assignment of - each input read + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*classifiedreads.txt": + type: file + description: | + Kraken2 output file indicating the taxonomic assignment of + each input read - report: - type: file - description: | - Kraken2 report containing stats about classified - and not classifed reads. - pattern: "*.{report.txt}" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - "*report.txt": + type: file + description: | + Kraken2 report containing stats about classified + and not classifed reads. + pattern: "*.{report.txt}" - versions: - type: file - description: File containing software versions - pattern: "versions.yml" + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" authors: - "@joseespinosa" - "@drpatelh" diff --git a/modules/nf-core/kraken2/kraken2/tests/main.nf.test b/modules/nf-core/kraken2/kraken2/tests/main.nf.test index 4c5130217..c0843df29 100644 --- a/modules/nf-core/kraken2/kraken2/tests/main.nf.test +++ b/modules/nf-core/kraken2/kraken2/tests/main.nf.test @@ -16,7 +16,7 @@ nextflow_process { input[0] = Channel.of([ [], file( - params.test_data['sarscov2']['genome']['kraken2_tar_gz'], + params.modules_testdata_base_path + "genomics/sarscov2/genome/db/kraken2.tar.gz", checkIfExists: true ) ]) @@ -32,7 +32,7 @@ nextflow_process { input[0] = [ [ id:'test', single_end:true ], // meta map [ file( - params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], + params.modules_testdata_base_path + "genomics/sarscov2/illumina/fastq/test_1.fastq.gz", checkIfExists: true )] ] @@ -69,16 +69,16 @@ nextflow_process { [ id:'test', single_end:false ], // meta map [ file( - params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], + params.modules_testdata_base_path + "genomics/sarscov2/illumina/fastq/test_1.fastq.gz", checkIfExists: true ), file( - params.test_data['sarscov2']['illumina']['test_2_fastq_gz'], + params.modules_testdata_base_path + "genomics/sarscov2/illumina/fastq/test_2.fastq.gz", checkIfExists: true ) + ] ] - ] input[1] = UNTAR.out.untar.map{ it[1] } input[2] = true input[3] = false @@ -117,7 +117,7 @@ nextflow_process { input[0] = [ [ id:'test', single_end:true ], // meta map [ file( - params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], + params.modules_testdata_base_path + "genomics/sarscov2/illumina/fastq/test_1.fastq.gz", checkIfExists: true )] ] diff --git a/modules/nf-core/kraken2/kraken2/tests/main.nf.test.snap b/modules/nf-core/kraken2/kraken2/tests/main.nf.test.snap index c1bdd0c61..b432f878f 100644 --- a/modules/nf-core/kraken2/kraken2/tests/main.nf.test.snap +++ b/modules/nf-core/kraken2/kraken2/tests/main.nf.test.snap @@ -11,10 +11,14 @@ ] ], [ - "versions.yml:md5,bcb3e2520685846df02bb27cc6b1794b" + "versions.yml:md5,79adf2ca1cfc625cb77e391b27142c43" ] ], - "timestamp": "2023-10-25T09:01:29.775797" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-04-04T18:47:03.745692" }, "sarscov2 illumina paired end [fastq]": { "content": [ @@ -28,10 +32,14 @@ ] ], [ - "versions.yml:md5,bcb3e2520685846df02bb27cc6b1794b" + "versions.yml:md5,79adf2ca1cfc625cb77e391b27142c43" ] ], - "timestamp": "2023-10-25T09:01:37.025389" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-04-04T18:47:13.75649" }, "sarscov2 illumina single end [fastq] + save_reads_assignment": { "content": [ @@ -54,9 +62,13 @@ ] ], [ - "versions.yml:md5,bcb3e2520685846df02bb27cc6b1794b" + "versions.yml:md5,79adf2ca1cfc625cb77e391b27142c43" ] ], - "timestamp": "2023-10-25T09:01:45.775262" + "meta": { + "nf-test": "0.8.4", + "nextflow": "23.10.1" + }, + "timestamp": "2024-04-04T18:47:22.459465" } } \ No newline at end of file diff --git a/modules/nf-core/vsearch/cluster/environment.yml b/modules/nf-core/vsearch/cluster/environment.yml index 965a7fab4..e9b4c9dc6 100644 --- a/modules/nf-core/vsearch/cluster/environment.yml +++ b/modules/nf-core/vsearch/cluster/environment.yml @@ -1,8 +1,7 @@ -name: vsearch_cluster channels: - conda-forge - bioconda - - defaults + dependencies: - - bioconda::vsearch=2.21.1 - bioconda::samtools=1.16.1 + - bioconda::vsearch=2.21.1 diff --git a/modules/nf-core/vsearch/cluster/meta.yml b/modules/nf-core/vsearch/cluster/meta.yml index 60d64347c..5013feb55 100644 --- a/modules/nf-core/vsearch/cluster/meta.yml +++ b/modules/nf-core/vsearch/cluster/meta.yml @@ -1,67 +1,160 @@ name: "vsearch_cluster" -description: Cluster sequences using a single-pass, greedy centroid-based clustering algorithm. +description: Cluster sequences using a single-pass, greedy centroid-based clustering + algorithm. keywords: - vsearch - clustering - microbiome tools: - vsearch: - description: VSEARCH is a versatile open-source tool for microbiome analysis, including chimera detection, clustering, dereplication and rereplication, extraction, FASTA/FASTQ/SFF file processing, masking, orienting, pair-wise alignment, restriction site cutting, searching, shuffling, sorting, subsampling, and taxonomic classification of amplicon sequences for metagenomics, genomics, and population genetics. (USEARCH alternative) + description: VSEARCH is a versatile open-source tool for microbiome analysis, + including chimera detection, clustering, dereplication and rereplication, extraction, + FASTA/FASTQ/SFF file processing, masking, orienting, pair-wise alignment, restriction + site cutting, searching, shuffling, sorting, subsampling, and taxonomic classification + of amplicon sequences for metagenomics, genomics, and population genetics. (USEARCH + alternative) homepage: https://github.com/torognes/vsearch documentation: https://github.com/torognes/vsearch/releases/download/v2.21.1/vsearch_manual.pdf tool_dev_url: https://github.com/torognes/vsearch doi: 10.7717/peerj.2584 licence: ["GPL v3-or-later OR BSD-2-clause"] + identifier: biotools:vsearch input: - - meta: - type: map - description: Groovy Map containing sample information e.g. [ id:'test' ] - - fasta: - type: file - description: Sequences to cluster in FASTA format - pattern: "*.{fasta,fa,fasta.gz,fa.gz}" + - - meta: + type: map + description: Groovy Map containing sample information e.g. [ id:'test' ] + - fasta: + type: file + description: Sequences to cluster in FASTA format + pattern: "*.{fasta,fa,fasta.gz,fa.gz}" output: - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test' ] - aln: - type: file - description: Results in pairwise alignment format - pattern: "*.aln.gz" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "*.aln.gz": + type: file + description: Results in pairwise alignment format + pattern: "*.aln.gz" - biom: - type: file - description: Results in an OTU table in the biom version 1.0 file format - pattern: "*.biom.gz" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "*.biom.gz": + type: file + description: Results in an OTU table in the biom version 1.0 file format + pattern: "*.biom.gz" - mothur: - type: file - description: Results in an OTU table in the mothur ’shared’ tab-separated plain text file format - pattern: "*.mothur.tsv.gz" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "*.mothur.tsv.gz": + type: file + description: Results in an OTU table in the mothur ’shared’ tab-separated plain + text file format + pattern: "*.mothur.tsv.gz" - otu: - type: file - description: Results in an OTU table in the classic tab-separated plain text format - pattern: "*.otu.tsv.gz" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "*.otu.tsv.gz": + type: file + description: Results in an OTU table in the classic tab-separated plain text + format + pattern: "*.otu.tsv.gz" - bam: - type: file - description: Results written in bam format - pattern: "*.bam" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "*.bam": + type: file + description: Results written in bam format + pattern: "*.bam" - out: - type: file - description: Results in tab-separated output, columns defined by user - pattern: "*.out.tsv.gz" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "*.out.tsv.gz": + type: file + description: Results in tab-separated output, columns defined by user + pattern: "*.out.tsv.gz" - blast: - type: file - description: Tab delimited results in blast-like tabular format - pattern: "*.blast.tsv.gz" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "*.blast.tsv.gz": + type: file + description: Tab delimited results in blast-like tabular format + pattern: "*.blast.tsv.gz" - uc: - type: file - description: Tab delimited results in a uclust-like format with 10 columns - pattern: "*.uc.gz" + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "*.uc.tsv.gz": + type: file + description: Tab delimited results in a uclust-like format with 10 columns + pattern: "*.uc.gz" + - centroids: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "*.centroids.fasta.gz": + type: file + description: Centroid sequences in FASTA format + pattern: "*.centroids.fasta.gz" + - clusters: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "*.clusters.fasta*.gz": + type: file + description: Clustered sequences in FASTA format + pattern: "*.clusters.fasta*.gz" + - profile: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "*.profile.txt.gz": + type: file + description: Profile of the clustering results + pattern: "*.profile.txt.gz" + - msa: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "*.msa.fasta.gz": + type: file + description: Multiple sequence alignment of the centroids + pattern: "*.msa.fasta.gz" - versions: - type: file - description: File containing software versions - pattern: "versions.yml" + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" authors: - "@mirpedrol" maintainers: diff --git a/modules/nf-core/vsearch/cluster/tests/main.nf.test b/modules/nf-core/vsearch/cluster/tests/main.nf.test index 1a3767933..155a949d1 100644 --- a/modules/nf-core/vsearch/cluster/tests/main.nf.test +++ b/modules/nf-core/vsearch/cluster/tests/main.nf.test @@ -18,7 +18,7 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], // meta map - file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true) + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ] """ } @@ -42,7 +42,7 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], // meta map - file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true) + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ] """ } @@ -66,7 +66,7 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], // meta map - file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true) + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ] """ } @@ -90,7 +90,7 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], // meta map - file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true) + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ] """ } @@ -114,7 +114,7 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], // meta map - file(params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true) + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) ] """ } diff --git a/modules/nf-core/vsearch/sintax/environment.yml b/modules/nf-core/vsearch/sintax/environment.yml index 16e8d3004..acba2f679 100644 --- a/modules/nf-core/vsearch/sintax/environment.yml +++ b/modules/nf-core/vsearch/sintax/environment.yml @@ -1,7 +1,5 @@ -name: vsearch_sintax channels: - conda-forge - bioconda - - defaults dependencies: - bioconda::vsearch=2.21.1 diff --git a/modules/nf-core/vsearch/sintax/meta.yml b/modules/nf-core/vsearch/sintax/meta.yml index 6346260ef..7b387b903 100644 --- a/modules/nf-core/vsearch/sintax/meta.yml +++ b/modules/nf-core/vsearch/sintax/meta.yml @@ -3,34 +3,47 @@ description: Taxonomic classification using the sintax algorithm. keywords: - vsearch - sintax + - taxonomy tools: - "vsearch": - description: "VSEARCH is a versatile open-source tool for microbiome analysis, including chimera detection, clustering, dereplication and rereplication, extraction, FASTA/FASTQ/SFF file processing, masking, orienting, pair-wise alignment, restriction site cutting, searching, shuffling, sorting, subsampling, and taxonomic classification of amplicon sequences for metagenomics, genomics, and population genetics. (USEARCH alternative)" + description: "VSEARCH is a versatile open-source tool for microbiome analysis, + including chimera detection, clustering, dereplication and rereplication, extraction, + FASTA/FASTQ/SFF file processing, masking, orienting, pair-wise alignment, restriction + site cutting, searching, shuffling, sorting, subsampling, and taxonomic classification + of amplicon sequences for metagenomics, genomics, and population genetics. (USEARCH + alternative)" homepage: "https://github.com/torognes/vsearch" tool_dev_url: "https://github.com/torognes/vsearch" doi: "10.7717/peerj.2584" - licence: "['GPL v3-or-later OR BSD-2-clause']" + licence: ["GPL v3-or-later OR BSD-2-clause"] + identifier: biotools:vsearch input: - - meta: - type: map - description: Groovy Map containing query file information e.g. [ id:'test' ] - - queryfasta: - type: file - description: Query sequences in FASTA or FASTQ format - pattern: "*.{fasta,fa,fna,faa,fastq,fq}" - - db: - type: file - description: Reference database file in FASTA or UDB format - pattern: "*" + - - meta: + type: map + description: Groovy Map containing query file information e.g. [ id:'test' ] + - queryfasta: + type: file + description: Query sequences in FASTA or FASTQ format + pattern: "*.{fasta,fa,fna,faa,fastq,fq}" + - - db: + type: file + description: Reference database file in FASTA or UDB format + pattern: "*" output: - tsv: - type: file - description: Results written to tab-delimited file - pattern: "*.{tsv}" + - meta: + type: file + description: Results written to tab-delimited file + pattern: "*.{tsv}" + - "*.tsv": + type: file + description: Results written to tab-delimited file + pattern: "*.{tsv}" - versions: - type: file - description: File containing software versions - pattern: "versions.yml" + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" authors: - "@jtangrot" maintainers: diff --git a/modules/nf-core/vsearch/sintax/tests/main.nf.test b/modules/nf-core/vsearch/sintax/tests/main.nf.test new file mode 100644 index 000000000..ebad65cbb --- /dev/null +++ b/modules/nf-core/vsearch/sintax/tests/main.nf.test @@ -0,0 +1,33 @@ + +nextflow_process { + + name "Test Process VSEARCH_SINTAX" + script "../main.nf" + process "VSEARCH_SINTAX" + + tag "modules" + tag "modules_nfcore" + tag "vsearch" + tag "vsearch/sintax" + + test("test-vsearch-sintax") { + + when { + process { + """ + input[0] = [[id:'test'], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true)] + input[1] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/transcriptome.fasta', checkIfExists: true) + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + +} diff --git a/modules/nf-core/vsearch/sintax/tests/main.nf.test.snap b/modules/nf-core/vsearch/sintax/tests/main.nf.test.snap new file mode 100644 index 000000000..769bf051d --- /dev/null +++ b/modules/nf-core/vsearch/sintax/tests/main.nf.test.snap @@ -0,0 +1,35 @@ +{ + "test-vsearch-sintax": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.tsv:md5,93bc75fb89343e23fbae971df157b14a" + ] + ], + "1": [ + "versions.yml:md5,6584e256329124c6abe9e76715edfe92" + ], + "tsv": [ + [ + { + "id": "test" + }, + "test.tsv:md5,93bc75fb89343e23fbae971df157b14a" + ] + ], + "versions": [ + "versions.yml:md5,6584e256329124c6abe9e76715edfe92" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-27T11:46:06.901625" + } +} \ No newline at end of file diff --git a/modules/nf-core/vsearch/usearchglobal/environment.yml b/modules/nf-core/vsearch/usearchglobal/environment.yml index a4f4e8625..acba2f679 100644 --- a/modules/nf-core/vsearch/usearchglobal/environment.yml +++ b/modules/nf-core/vsearch/usearchglobal/environment.yml @@ -1,7 +1,5 @@ -name: vsearch_usearchglobal channels: - conda-forge - bioconda - - defaults dependencies: - bioconda::vsearch=2.21.1 diff --git a/modules/nf-core/vsearch/usearchglobal/meta.yml b/modules/nf-core/vsearch/usearchglobal/meta.yml index dc953946a..9f4b4203e 100644 --- a/modules/nf-core/vsearch/usearchglobal/meta.yml +++ b/modules/nf-core/vsearch/usearchglobal/meta.yml @@ -1,5 +1,6 @@ name: "vsearch_usearchglobal" -description: Compare target sequences to fasta-formatted query sequences using global pairwise alignment. +description: Compare target sequences to fasta-formatted query sequences using global + pairwise alignment. keywords: - vsearch - usearch @@ -7,74 +8,136 @@ keywords: - fasta tools: - "vsearch": - description: "VSEARCH is a versatile open-source tool for microbiome analysis, including chimera detection, clustering, dereplication and rereplication, extraction, FASTA/FASTQ/SFF file processing, masking, orienting, pair-wise alignment, restriction site cutting, searching, shuffling, sorting, subsampling, and taxonomic classification of amplicon sequences for metagenomics, genomics, and population genetics. (USEARCH alternative)" + description: "VSEARCH is a versatile open-source tool for microbiome analysis, + including chimera detection, clustering, dereplication and rereplication, extraction, + FASTA/FASTQ/SFF file processing, masking, orienting, pair-wise alignment, restriction + site cutting, searching, shuffling, sorting, subsampling, and taxonomic classification + of amplicon sequences for metagenomics, genomics, and population genetics. (USEARCH + alternative)" homepage: "https://github.com/torognes/vsearch" tool_dev_url: "https://github.com/torognes/vsearch" doi: "10.7717/peerj.2584" - licence: "['GPL v3-or-later OR BSD-2-clause']" + licence: ["GPL v3-or-later OR BSD-2-clause"] + identifier: biotools:vsearch input: - - meta: - type: map - description: Groovy Map containing sample information e.g. [ id:'test' ] - - queryfasta: - type: file - description: Query sequences in FASTA format - pattern: "*.{fasta,fa,fna,faa}" - - db: - type: file - description: Reference database file in FASTA or UDB format - pattern: "*" - - idcutoff: - type: real - description: Reject the sequence match if the pairwise identity is lower than the given id cutoff value (value ranging from 0.0 to 1.0 included) - - outoption: - type: string - description: Specify the type of output file to be generated by selecting one of the vsearch output file options - pattern: "alnout|biomout|blast6out|mothur_shared_out|otutabout|samout|uc|userout|lcaout" - - user_columns: - type: string - description: If using the `userout` option, specify which columns to include in output, with fields separated with `+` (e.g. query+target+id). See USEARCH manual for valid options. For other output options, use an empty string. + - - meta: + type: map + description: Groovy Map containing sample information e.g. [ id:'test' ] + - queryfasta: + type: file + description: Query sequences in FASTA format + pattern: "*.{fasta,fa,fna,faa}" + - - db: + type: file + description: Reference database file in FASTA or UDB format + pattern: "*" + - - idcutoff: + type: float + description: Reject the sequence match if the pairwise identity is lower than + the given id cutoff value (value ranging from 0.0 to 1.0 included) + - - outoption: + type: string + description: Specify the type of output file to be generated by selecting one + of the vsearch output file options + pattern: "alnout|biomout|blast6out|mothur_shared_out|otutabout|samout|uc|userout|lcaout" + - - user_columns: + type: string + description: If using the `userout` option, specify which columns to include + in output, with fields separated with `+` (e.g. query+target+id). See USEARCH + manual for valid options. For other output options, use an empty string. output: - aln: - type: file - description: Results in pairwise alignment format - pattern: "*.{aln}" + - meta: + type: file + description: Results in pairwise alignment format + pattern: "*.{aln}" + - "*.aln": + type: file + description: Results in pairwise alignment format + pattern: "*.{aln}" - biom: - type: file - description: Results in an OTU table in the biom version 1.0 file format - pattern: "*.{biom}" + - meta: + type: file + description: Results in an OTU table in the biom version 1.0 file format + pattern: "*.{biom}" + - "*.biom": + type: file + description: Results in an OTU table in the biom version 1.0 file format + pattern: "*.{biom}" - lca: - type: file - description: Last common ancestor (LCA) information about the hits of each query in tab-separated format - pattern: "*.{lca}" + - meta: + type: file + description: Last common ancestor (LCA) information about the hits of each query + in tab-separated format + pattern: "*.{lca}" + - "*.lca": + type: file + description: Last common ancestor (LCA) information about the hits of each query + in tab-separated format + pattern: "*.{lca}" - mothur: - type: file - description: Results in an OTU table in the mothur ’shared’ tab-separated plain text file format - pattern: "*.{mothur}" + - meta: + type: file + description: Results in an OTU table in the mothur ’shared’ tab-separated plain + text file format + pattern: "*.{mothur}" + - "*.mothur": + type: file + description: Results in an OTU table in the mothur ’shared’ tab-separated plain + text file format + pattern: "*.{mothur}" - otu: - type: file - description: Results in an OTU table in the classic tab-separated plain text format - pattern: "*.{otu}" + - meta: + type: file + description: Results in an OTU table in the classic tab-separated plain text + format + pattern: "*.{otu}" + - "*.otu": + type: file + description: Results in an OTU table in the classic tab-separated plain text + format + pattern: "*.{otu}" - sam: - type: file - description: Results written in sam format - pattern: "*.{sam}" + - meta: + type: file + description: Results written in sam format + pattern: "*.{sam}" + - "*.sam": + type: file + description: Results written in sam format + pattern: "*.{sam}" - tsv: - type: file - description: Results in tab-separated output, columns defined by user - pattern: "*.{tsv}" + - meta: + type: file + description: Results in tab-separated output, columns defined by user + pattern: "*.{tsv}" + - "*.tsv": + type: file + description: Results in tab-separated output, columns defined by user + pattern: "*.{tsv}" - txt: - type: file - description: Tab delimited results in blast-like tabular format - pattern: "*.{txt}" + - meta: + type: file + description: Tab delimited results in blast-like tabular format + pattern: "*.{txt}" + - "*.txt": + type: file + description: Tab delimited results in blast-like tabular format + pattern: "*.{txt}" - uc: - type: file - description: Tab delimited results in a uclust-like format with 10 columns - pattern: "*.{uc}" + - meta: + type: file + description: Tab delimited results in a uclust-like format with 10 columns + pattern: "*.{uc}" + - "*.uc": + type: file + description: Tab delimited results in a uclust-like format with 10 columns + pattern: "*.{uc}" - versions: - type: file - description: File containing software versions - pattern: "versions.yml" + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" authors: - "@jtangrot" maintainers: diff --git a/modules/nf-core/vsearch/usearchglobal/tests/main.nf.test b/modules/nf-core/vsearch/usearchglobal/tests/main.nf.test new file mode 100644 index 000000000..756895b41 --- /dev/null +++ b/modules/nf-core/vsearch/usearchglobal/tests/main.nf.test @@ -0,0 +1,64 @@ + +nextflow_process { + + name "Test Process VSEARCH_USEARCHGLOBAL" + script "../main.nf" + process "VSEARCH_USEARCHGLOBAL" + + tag "modules" + tag "modules_nfcore" + tag "vsearch" + tag "vsearch/usearchglobal" + + test("test-vsearch-usearchglobal") { + + when { + process { + """ + input[0] = [[id:'test'], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/transcriptome.fasta', checkIfExists: true)] + input[1] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + input[2] = 0.985 + input[3] = "xcfert" + input[4] = "" + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert file(process.out.aln[0][1]).text.contains('Query >lcl|MT192765.1_cds_QIK50427.1_2') }, + { assert snapshot( + file(process.out.aln[0][1]).name, + process.out.versions + ).match() + } + ) + } + } + + test("test-vsearch-usearchglobal-userout") { + + when { + process { + """ + input[0] = [[id:'test'], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/transcriptome.fasta', checkIfExists: true)] + input[1] = file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + input[2] = 0.985 + input[3] = "userout" + input[4] = "query+target+id" + + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + +} diff --git a/modules/nf-core/vsearch/usearchglobal/tests/main.nf.test.snap b/modules/nf-core/vsearch/usearchglobal/tests/main.nf.test.snap new file mode 100644 index 000000000..5b1b348a1 --- /dev/null +++ b/modules/nf-core/vsearch/usearchglobal/tests/main.nf.test.snap @@ -0,0 +1,96 @@ +{ + "test-vsearch-usearchglobal": { + "content": [ + "test.aln", + [ + "versions.yml:md5,12310613a8f7129bab978fdfb8ac8bc4" + ] + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-22T17:11:19.035984" + }, + "test-vsearch-usearchglobal-userout": { + "content": [ + { + "0": [ + + ], + "1": [ + + ], + "2": [ + + ], + "3": [ + + ], + "4": [ + + ], + "5": [ + + ], + "6": [ + [ + { + "id": "test" + }, + "test.tsv:md5,b6cc50f7c8d18cb82e74dab70ed4baab" + ] + ], + "7": [ + + ], + "8": [ + + ], + "9": [ + "versions.yml:md5,12310613a8f7129bab978fdfb8ac8bc4" + ], + "aln": [ + + ], + "biom": [ + + ], + "lca": [ + + ], + "mothur": [ + + ], + "otu": [ + + ], + "sam": [ + + ], + "tsv": [ + [ + { + "id": "test" + }, + "test.tsv:md5,b6cc50f7c8d18cb82e74dab70ed4baab" + ] + ], + "txt": [ + + ], + "uc": [ + + ], + "versions": [ + "versions.yml:md5,12310613a8f7129bab978fdfb8ac8bc4" + ] + } + ], + "meta": { + "nf-test": "0.8.4", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-22T16:33:20.01829" + } +} \ No newline at end of file From 2c22f747a378932c2088d6774ed6ce5eeeb79dc5 Mon Sep 17 00:00:00 2001 From: d4straub Date: Tue, 12 Nov 2024 15:24:54 +0100 Subject: [PATCH 2/2] update changelog --- CHANGELOG.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a59f85ed..af0c42393 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,13 +15,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### `Fixed` -- [#792](https://github.com/nf-core/ampliseq/pull/792) - Remove white spaces in process tags to avoid errors on some systems - [#785](https://github.com/nf-core/ampliseq/pull/785) - Template update for nf-core/tools version 3.0.2 - [#786](https://github.com/nf-core/ampliseq/pull/786) - Creation of the summary report was failing with `--dada_ref_taxonomy silva=132` +- [#792](https://github.com/nf-core/ampliseq/pull/792) - Remove white spaces in process tags to avoid errors on some systems ### `Dependencies` - [#785](https://github.com/nf-core/ampliseq/pull/785) - Update MultiQC +- [#793](https://github.com/nf-core/ampliseq/pull/793) - Update Picrust2 and nf-core modules | software | previously | now | | -------- | ---------- | ------ |