diff --git a/.github/actions/nf-test-action/action.yml b/.github/actions/nf-test-action/action.yml index a6f2532f926..a2539a6ba2f 100644 --- a/.github/actions/nf-test-action/action.yml +++ b/.github/actions/nf-test-action/action.yml @@ -17,7 +17,7 @@ inputs: runs: using: "composite" steps: - - uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4 + - uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4 with: distribution: "temurin" java-version: "17" diff --git a/.github/workflows/gpu-tests.yml b/.github/workflows/gpu-tests.yml index ad2ae1bf6bc..2ada515c1e3 100644 --- a/.github/workflows/gpu-tests.yml +++ b/.github/workflows/gpu-tests.yml @@ -103,7 +103,7 @@ jobs: total_shards: ${{ env.TOTAL_SHARDS }} paths: "${{ join(fromJson(needs.nf-test-changes.outputs.paths), ' ') }}" - confirm-pass: + confirm-pass-gpu: runs-on: ubuntu-latest needs: [nf-test-gpu] if: always() diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index c617c10ccae..a743b62a57a 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -120,7 +120,7 @@ jobs: - name: Install pip run: python -m pip install --upgrade pip - - uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4 + - uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4 with: distribution: "temurin" java-version: "17" diff --git a/.github/workflows/pytest-workflow.yml b/.github/workflows/pytest-workflow.yml index 7c0d70c77c2..ec33e8be0dd 100644 --- a/.github/workflows/pytest-workflow.yml +++ b/.github/workflows/pytest-workflow.yml @@ -258,7 +258,7 @@ jobs: - name: Install Python dependencies run: python -m pip install --upgrade pip pytest-workflow cryptography - - uses: actions/setup-java@8df1039502a15bceb9433410b1a100fbe190c53b # v4 + - uses: actions/setup-java@7a6d8a8234af8eb26422e24e3006232cccaa061b # v4 with: distribution: "temurin" java-version: "17" @@ -308,7 +308,7 @@ jobs: - name: Upload logs on failure if: failure() - uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4 + uses: actions/upload-artifact@6f51ac03b9356f520e9adb1b1b7802705f340c2b # v4 with: name: logs-${{ matrix.profile }}-${{ steps.parsed.outputs.result }} path: | diff --git a/.github/workflows/wave.yml b/.github/workflows/wave.yml index b56ed4795d6..f4557eec329 100644 --- a/.github/workflows/wave.yml +++ b/.github/workflows/wave.yml @@ -31,7 +31,7 @@ jobs: - name: Find conda differences id: conda-diff - uses: tj-actions/changed-files@bab30c2299617f6615ec02a68b9a40d10bd21366 # v45 + uses: tj-actions/changed-files@d6e91a2266cdb9d62096cebf1e8546899c6aa18f # v45 with: json: true escape_json: false @@ -40,7 +40,7 @@ jobs: - name: Find Dockerfile differences id: docker-diff - uses: tj-actions/changed-files@bab30c2299617f6615ec02a68b9a40d10bd21366 # v45 + uses: tj-actions/changed-files@d6e91a2266cdb9d62096cebf1e8546899c6aa18f # v45 with: json: true escape_json: false diff --git a/modules/nf-core/affy/justrma/templates/affy_justrma.R b/modules/nf-core/affy/justrma/templates/affy_justrma.R index 7b57dbc8f2b..5ae2dd08ca9 100755 --- a/modules/nf-core/affy/justrma/templates/affy_justrma.R +++ b/modules/nf-core/affy/justrma/templates/affy_justrma.R @@ -54,7 +54,7 @@ read_delim_flexible <- function(file, header = TRUE, row.names = NULL){ #' Install the right CDF for a given cel file #' #' @param celfile A valid path to a CEL file -#' @param annotation Boolean indication wheter to install the annotation +#' @param annotation Boolean indication whether to install the annotation #' package #' #' @return output The CDF environment or a list detailing the failed locations. diff --git a/modules/nf-core/agat/spfilterfeaturefromkilllist/meta.yml b/modules/nf-core/agat/spfilterfeaturefromkilllist/meta.yml index d6c8dbb783a..5ac8ef042ee 100644 --- a/modules/nf-core/agat/spfilterfeaturefromkilllist/meta.yml +++ b/modules/nf-core/agat/spfilterfeaturefromkilllist/meta.yml @@ -37,7 +37,7 @@ input: - - config: type: file description: | - Input agat config file. By default AGAT takes as input agat_config.yaml file from the working directory if any, otherwise it takes the orignal agat_config.yaml shipped with AGAT. To get the agat_config.yaml locally type: "agat config --expose". The --config option gives you the possibility to use your own AGAT config file (located elsewhere or named differently). + Input agat config file. By default AGAT takes as input agat_config.yaml file from the working directory if any, otherwise it takes the original agat_config.yaml shipped with AGAT. To get the agat_config.yaml locally type: "agat config --expose". The --config option gives you the possibility to use your own AGAT config file (located elsewhere or named differently). pattern: "*.yaml" output: - gff: diff --git a/modules/nf-core/agat/spmergeannotations/meta.yml b/modules/nf-core/agat/spmergeannotations/meta.yml index fd5083b70e5..b2a21e798d4 100644 --- a/modules/nf-core/agat/spmergeannotations/meta.yml +++ b/modules/nf-core/agat/spmergeannotations/meta.yml @@ -31,7 +31,7 @@ input: type: file description: | Input agat config file. By default AGAT takes as input agat_config.yaml file from the working directory if any, - otherwise it takes the orignal agat_config.yaml shipped with AGAT. To get the agat_config.yaml + otherwise it takes the original agat_config.yaml shipped with AGAT. To get the agat_config.yaml locally type: "agat config --expose". The --config option gives you the possibility to use your own AGAT config file (located elsewhere or named differently). pattern: "*.yaml" diff --git a/modules/nf-core/agrvate/meta.yml b/modules/nf-core/agrvate/meta.yml index 8b45db81914..e06820223ba 100644 --- a/modules/nf-core/agrvate/meta.yml +++ b/modules/nf-core/agrvate/meta.yml @@ -33,12 +33,12 @@ output: e.g. [ id:'test', single_end:false ] - ${fasta.baseName}-results/${fasta.baseName}-summary.tab: type: file - description: A summary of the agrvate assessement + description: A summary of the agrvate assessment pattern: "*-summary.tab" - results_dir: - ${fasta.baseName}-results: type: directory - description: Results of the agrvate assessement + description: Results of the agrvate assessment pattern: "*-results" - versions: - versions.yml: diff --git a/modules/nf-core/ampcombi/meta.yml b/modules/nf-core/ampcombi/meta.yml index 152d0b294de..0000f722493 100644 --- a/modules/nf-core/ampcombi/meta.yml +++ b/modules/nf-core/ampcombi/meta.yml @@ -155,7 +155,7 @@ output: e.g. [ id:'test', single_end:false ] - amp_ref_database/*.clean.fasta: type: file - description: AMP reference database fasta file, cleaned of diamond-uncompatible + description: AMP reference database fasta file, cleaned of diamond-incompatible characters. pattern: "/amp_ref_database/*.clean.fasta" - results_db_tsv: diff --git a/modules/nf-core/ampcombi2/parsetables/meta.yml b/modules/nf-core/ampcombi2/parsetables/meta.yml index 14a0fd0299d..a8d1a4f7c5b 100644 --- a/modules/nf-core/ampcombi2/parsetables/meta.yml +++ b/modules/nf-core/ampcombi2/parsetables/meta.yml @@ -176,7 +176,6 @@ output: - amp_${opt_amp_db}_database/*.fasta: type: file description: AMP reference database fasta file in clean format. - characters. pattern: "/amp_*_database/*.fasta" - db_mmseqs: - meta: diff --git a/modules/nf-core/annotsv/annotsv/main.nf b/modules/nf-core/annotsv/annotsv/main.nf index d6ef0cb03bc..95545b72604 100644 --- a/modules/nf-core/annotsv/annotsv/main.nf +++ b/modules/nf-core/annotsv/annotsv/main.nf @@ -4,8 +4,8 @@ process ANNOTSV_ANNOTSV { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/annotsv:3.4.2--141a0ee560de1897' : - 'community.wave.seqera.io/library/annotsv:3.4.2--010fa21247b5b64b' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/b2/b202e030802ec909556961b542f15e0b37583755cebf08e899b3042a44f93ddb/data' : + 'community.wave.seqera.io/library/annotsv:3.4.2--6e6cee83703bd24c' }" input: tuple val(meta), path(sv_vcf), path(sv_vcf_index), path(candidate_small_variants) diff --git a/modules/nf-core/annotsv/installannotations/main.nf b/modules/nf-core/annotsv/installannotations/main.nf index 371e1bbf5b9..a56bdf7c345 100644 --- a/modules/nf-core/annotsv/installannotations/main.nf +++ b/modules/nf-core/annotsv/installannotations/main.nf @@ -4,8 +4,8 @@ process ANNOTSV_INSTALLANNOTATIONS { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/annotsv:3.4.2--141a0ee560de1897' : - 'community.wave.seqera.io/library/annotsv:3.4.2--010fa21247b5b64b' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/b2/b202e030802ec909556961b542f15e0b37583755cebf08e899b3042a44f93ddb/data' : + 'community.wave.seqera.io/library/annotsv:3.4.2--6e6cee83703bd24c' }" output: path "AnnotSV_annotations", emit: annotations diff --git a/modules/nf-core/arriba/download/meta.yml b/modules/nf-core/arriba/download/meta.yml index bdf542ebce0..d9e28cc0650 100644 --- a/modules/nf-core/arriba/download/meta.yml +++ b/modules/nf-core/arriba/download/meta.yml @@ -36,13 +36,13 @@ output: - protein_domains*${genome}*.gff3: type: file description: Protein domain annotations - patter: "*.gff3" + pattern: "*.gff3" - known_fusions: - known_fusions*${genome}*.tsv.gz: type: file description: Arriba is more sensitive to those fusions to improve the detection rate of expected or highly relevant events, such as recurrent fusions - patter: "*.tsv.gz" + pattern: "*.tsv.gz" - versions: - versions.yml: type: file diff --git a/modules/nf-core/arriba/download/tests/main.nf.test.snap b/modules/nf-core/arriba/download/tests/main.nf.test.snap index fe9b18b9483..d12a38bbf70 100644 --- a/modules/nf-core/arriba/download/tests/main.nf.test.snap +++ b/modules/nf-core/arriba/download/tests/main.nf.test.snap @@ -1,5 +1,5 @@ { - "download": { + "test-arriba-download": { "content": [ { "0": [ @@ -35,9 +35,9 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-08T11:12:17.010496" + "timestamp": "2024-12-16T01:46:32.110653034" } } \ No newline at end of file diff --git a/modules/nf-core/bakta/bakta/meta.yml b/modules/nf-core/bakta/bakta/meta.yml index f947e61bcd1..7d734f28129 100644 --- a/modules/nf-core/bakta/bakta/meta.yml +++ b/modules/nf-core/bakta/bakta/meta.yml @@ -103,7 +103,7 @@ output: - ${prefix}.hypotheticals.tsv: type: file description: additional information on hypothetical protein CDS as simple human - readble tab separated values + readable tab separated values pattern: "*.hypotheticals.tsv" - hypotheticals_faa: - meta: @@ -123,7 +123,7 @@ output: e.g. [ id:'test', single_end:false ] - ${prefix}.tsv: type: file - description: annotations as simple human readble tab separated values + description: annotations as simple human readable tab separated values pattern: "*.tsv" - txt: - meta: diff --git a/modules/nf-core/bbmap/align/main.nf b/modules/nf-core/bbmap/align/main.nf index e3fee17d7a3..c4e7acf7bde 100644 --- a/modules/nf-core/bbmap/align/main.nf +++ b/modules/nf-core/bbmap/align/main.nf @@ -26,7 +26,7 @@ process BBMAP_ALIGN { input = meta.single_end ? "in=${fastq}" : "in=${fastq[0]} in2=${fastq[1]}" // Set the db variable to reflect the three possible types of reference input: 1) directory - // named 'ref', 2) directory named something else (containg a 'ref' subdir) or 3) a sequence + // named 'ref', 2) directory named something else (containing a 'ref' subdir) or 3) a sequence // file in fasta format if ( ref.isDirectory() ) { if ( ref ==~ /(.\/)?ref\/?/ ) { @@ -48,6 +48,19 @@ process BBMAP_ALIGN { -Xmx${task.memory.toGiga()}g \\ &> ${prefix}.bbmap.log + cat <<-END_VERSIONS > versions.yml + "${task.process}": + bbmap: \$(bbversion.sh | grep -v "Duplicate cpuset") + samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') + pigz: \$( pigz --version 2>&1 | sed 's/pigz //g' ) + END_VERSIONS + """ + stub: + def prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}.bam + touch ${prefix}.bbmap.log + cat <<-END_VERSIONS > versions.yml "${task.process}": bbmap: \$(bbversion.sh | grep -v "Duplicate cpuset") diff --git a/modules/nf-core/bbmap/align/meta.yml b/modules/nf-core/bbmap/align/meta.yml index 38bd8e141b4..f842a49079e 100644 --- a/modules/nf-core/bbmap/align/meta.yml +++ b/modules/nf-core/bbmap/align/meta.yml @@ -31,7 +31,7 @@ input: description: | Either "ref" a directory containing an index, the name of another directory with a "ref" subdirectory containing an index or the name of a fasta formatted - nucleotide file containg the reference to map to. + nucleotide file containing the reference to map to. output: - bam: - meta: diff --git a/modules/nf-core/bbmap/align/tests/main.nf.test b/modules/nf-core/bbmap/align/tests/main.nf.test new file mode 100644 index 00000000000..5763a584693 --- /dev/null +++ b/modules/nf-core/bbmap/align/tests/main.nf.test @@ -0,0 +1,171 @@ +nextflow_process { + + name "Test Process BBMAP_ALIGN" + script "../main.nf" + process "BBMAP_ALIGN" + + tag "modules" + tag "modules_nfcore" + tag "bbmap" + tag "bbmap/align" + tag "bbmap/index" + + setup { + run("BBMAP_INDEX") { + script "../../index/main.nf" + process { + """ + input[0] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) + """ + } + } + } + + test("paired_end - fasta") { + + when { + process { + """ + input[0] = [ [ id:'test', single_end:false ], // meta map + [ + 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) + ] + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true) + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.log[0][1]).name, + process.out.bam.collect { meta, bamfile -> bam(bamfile).getReadsMD5()}, + process.out.versions + ).match() } + ) + } + + } + + test("paired_end - index") { + + when { + process { + """ + input[0] = [ [ id:'test', single_end:false ], // meta map + [ + 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) + ] + ] + input[1] = BBMAP_INDEX.out.index + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.log[0][1]).name, + process.out.bam.collect { meta, bamfile -> bam(bamfile).getReadsMD5()}, + process.out.versions + ).match() } + ) + } + + } + + test("single_end - index") { + + when { + process { + """ + input[0] = [ [ id:'test', single_end:true ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_1.fastq.gz', checkIfExists: true) + ] + ] + input[1] = BBMAP_INDEX.out.index + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.log[0][1]).name, + process.out.bam.collect { meta, bamfile -> bam(bamfile).getReadsMD5()}, + process.out.versions + ).match() } + ) + } + + } + + test("paired_end - index - pigz") { + config "./nextflow.config" + when { + params { + module_args = 'unpigz=t' + } + process { + """ + input[0] = [ [ id:'test', single_end:false ], // meta map + [ + 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) + ] + ] + input[1] = BBMAP_INDEX.out.index + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.log[0][1]).name, + process.out.bam.collect { meta, bamfile -> bam(bamfile).getReadsMD5()}, + process.out.versions + ).match() } + ) + } + + } + + test("paired_end - index - stub") { + options "-stub" + when { + process { + """ + input[0] = [ [ id:'test', single_end:false ], // meta map + [ + 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) + ] + ] + input[1] = BBMAP_INDEX.out.index + """ + } + } + + then { + assert process.success + assertAll( + { assert snapshot( + file(process.out.log[0][1]).name, + process.out.bam.collect { meta, bamfile -> bam(bamfile).getReadsMD5()}, + process.out.versions + ).match() } + ) + } + + } + +} diff --git a/modules/nf-core/bbmap/align/tests/main.nf.test.snap b/modules/nf-core/bbmap/align/tests/main.nf.test.snap new file mode 100644 index 00000000000..2423ad444e3 --- /dev/null +++ b/modules/nf-core/bbmap/align/tests/main.nf.test.snap @@ -0,0 +1,82 @@ +{ + "single_end - index": { + "content": [ + "test.bbmap.log", + [ + "c17efa4ccc4e9018090792c71af92660" + ], + [ + "versions.yml:md5,7c9a1c72ae9ea9c54b7518e96f8f89bb" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-08T21:06:20.348251263" + }, + "paired_end - index": { + "content": [ + "test.bbmap.log", + [ + "88d78879c34214288644aec7ec3cb270" + ], + [ + "versions.yml:md5,7c9a1c72ae9ea9c54b7518e96f8f89bb" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-08T21:06:05.162378558" + }, + "paired_end - fasta": { + "content": [ + "test.bbmap.log", + [ + "88d78879c34214288644aec7ec3cb270" + ], + [ + "versions.yml:md5,7c9a1c72ae9ea9c54b7518e96f8f89bb" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-08T21:05:49.658797332" + }, + "paired_end - index - pigz": { + "content": [ + "test.bbmap.log", + [ + "88d78879c34214288644aec7ec3cb270" + ], + [ + "versions.yml:md5,7c9a1c72ae9ea9c54b7518e96f8f89bb" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-08T21:06:36.326962674" + }, + "paired_end - index - stub": { + "content": [ + "test.bbmap.log", + [ + "d41d8cd98f00b204e9800998ecf8427e" + ], + [ + "versions.yml:md5,7c9a1c72ae9ea9c54b7518e96f8f89bb" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-08T21:06:47.377762689" + } +} \ No newline at end of file diff --git a/modules/nf-core/bbmap/align/tests/nextflow.config b/modules/nf-core/bbmap/align/tests/nextflow.config new file mode 100644 index 00000000000..10088880f3b --- /dev/null +++ b/modules/nf-core/bbmap/align/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: BBMAP_ALIGN { + ext.args = params.module_args + } +} diff --git a/modules/nf-core/bbmap/index/main.nf b/modules/nf-core/bbmap/index/main.nf index 02785558dfc..e7b3eb113e5 100644 --- a/modules/nf-core/bbmap/index/main.nf +++ b/modules/nf-core/bbmap/index/main.nf @@ -26,6 +26,17 @@ process BBMAP_INDEX { threads=$task.cpus \\ -Xmx${task.memory.toGiga()}g + cat <<-END_VERSIONS > versions.yml + "${task.process}": + bbmap: \$(bbversion.sh | grep -v "Duplicate cpuset") + END_VERSIONS + """ + stub: + """ + mkdir -p ref + touch ref/info.txt + touch ref/summary.txt + cat <<-END_VERSIONS > versions.yml "${task.process}": bbmap: \$(bbversion.sh | grep -v "Duplicate cpuset") diff --git a/modules/nf-core/bbmap/repair/environment.yml b/modules/nf-core/bbmap/repair/environment.yml new file mode 100644 index 00000000000..4e65bfe6a99 --- /dev/null +++ b/modules/nf-core/bbmap/repair/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - "bioconda::bbmap=39.13" diff --git a/modules/nf-core/bbmap/repair/main.nf b/modules/nf-core/bbmap/repair/main.nf new file mode 100644 index 00000000000..9c12be2cf53 --- /dev/null +++ b/modules/nf-core/bbmap/repair/main.nf @@ -0,0 +1,57 @@ +process BBMAP_REPAIR { + tag "$meta.id" + label 'process_single' + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/bbmap:39.13--he5f24ec_1': + 'biocontainers/bbmap:39.13--he5f24ec_1' }" + + input: + tuple val(meta), path(reads) + val(interleave) + + output: + tuple val(meta), path("*_repaired.fastq.gz") , emit: repaired + tuple val(meta), path("${prefix}_singleton.fastq.gz"), emit: singleton + path "versions.yml" , emit: versions + path "*.log" , emit: log + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}" + in_reads = ( interleave ) ? "in=${reads[0]}" : "in=${reads[0]} in2=${reads[1]}" + out_reads = ( interleave ) ? "out=${prefix}_repaired.fastq.gz outs=${prefix}_singleton.fastq.gz" + : "out=${prefix}_1_repaired.fastq.gz out2=${prefix}_2_repaired.fastq.gz outs=${prefix}_singleton.fastq.gz" + """ + maxmem=\$(echo \"$task.memory\"| sed 's/ GB/g/g') + repair.sh \\ + -Xmx\$maxmem \\ + $in_reads \\ + $out_reads \\ + threads=${task.cpus} + ${args} \\ + &> ${prefix}.repair.sh.log + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + repair.sh: \$(repair.sh --version |& sed '2!d ; s/BBMap version //') + END_VERSIONS + """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}" + """ + echo "" | gzip > ${prefix}_1_repaired.fastq.gz + echo "" | gzip > ${prefix}_2_repaired.fastq.gz + echo "" | gzip > ${prefix}_singleton.fastq.gz + touch ${prefix}.repair.sh.log + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + repair.sh: \$(repair.sh --version |& sed '2!d ; s/BBMap version //') + END_VERSIONS + """ +} diff --git a/modules/nf-core/bbmap/repair/meta.yml b/modules/nf-core/bbmap/repair/meta.yml new file mode 100644 index 00000000000..9190cd99c5e --- /dev/null +++ b/modules/nf-core/bbmap/repair/meta.yml @@ -0,0 +1,67 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json +name: "bbmap_repair" +description: Re-pairs reads that became disordered or had some mates eliminated. +keywords: + - paired reads re-pairing + - fastq + - preprocessing +tools: + - repair: + description: Repair.sh is a tool that re-pairs reads that became disordered or had some mates eliminated + tools. + homepage: https://jgi.doe.gov/data-and-tools/software-tools/bbtools/ + documentation: https://jgi.doe.gov/data-and-tools/software-tools/bbtools/bb-tools-user-guide/ + licence: ["UC-LBL license (see package)"] + identifier: biotools:bbmap + +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1', single_end:false ]` + - reads: + type: file + description: | + List of input paired end fastq files + pattern: "*.{fastq,fq}.gz" + - - interleave: + type: boolean + description: | + Indicates whether the input paired reads are interleaved or not +output: + - repaired: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1', single_end:false ]` + - "*_repaired.fastq.gz": + type: file + description: re-paired reads + pattern: "*_repaired.fastq.gz" + - singleton: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1', single_end:false ]` + - "${prefix}_singleton.fastq.gz": + type: file + description: singleton reads + pattern: "*singleton.fastq.gz" + - versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + - log: + - "*.log": + type: file + description: log file containing stdout and stderr from repair.sh + pattern: "*.log" +authors: + - "@mazzalab" +maintainers: + - "@mazzalab" + - "@tm4zza" diff --git a/modules/nf-core/bbmap/repair/tests/main.nf.test b/modules/nf-core/bbmap/repair/tests/main.nf.test new file mode 100644 index 00000000000..ea6ff0f3664 --- /dev/null +++ b/modules/nf-core/bbmap/repair/tests/main.nf.test @@ -0,0 +1,115 @@ +nextflow_process { + + name "Test Process BBMAP_REPAIR" + script "../main.nf" + process "BBMAP_REPAIR" + + tag "modules" + tag "modules_nfcore" + tag "bbmap" + tag "bbmap/repair" + + test("sarscov2_illumina_paired - fastq_gz") { + config "./nextflow.config" + + when { + params { + module_args = 'qin=33' + } + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [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)] + ] + input[1] = false + """ + } + } + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.versions).match() } + ) + } + } + + test("sarscov2_illumina_interleaved - fastq_gz") { + config "./nextflow.config" + + when { + params { + module_args = 'qin=33' + } + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_interleaved.fastq.gz', checkIfExists: true)] + ] + input[1] = true + """ + } + } + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out.versions).match() } + ) + } + } + + test("sarscov2_illumina_paired - fastq_gz - stub") { + config "./nextflow.config" + options "-stub" + + when { + params { + module_args = 'qin=33' + } + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [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)] + ] + input[1] = false + """ + } + } + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("sarscov2_illumina_interleaved - fastq_gz - stub") { + config "./nextflow.config" + options "-stub" + + when { + params { + module_args = 'qin=33' + } + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + [file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fastq/test_interleaved.fastq.gz', checkIfExists: true)] + ] + input[1] = true + """ + } + } + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/bbmap/repair/tests/main.nf.test.snap b/modules/nf-core/bbmap/repair/tests/main.nf.test.snap new file mode 100644 index 00000000000..54e929b0611 --- /dev/null +++ b/modules/nf-core/bbmap/repair/tests/main.nf.test.snap @@ -0,0 +1,156 @@ +{ + "sarscov2_illumina_paired - fastq_gz": { + "content": [ + [ + "versions.yml:md5,006e8f2167df95a778b428413ed9d859" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-19T11:01:18.284624712" + }, + "sarscov2_illumina_interleaved - fastq_gz - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1_repaired.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2_repaired.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test_singleton.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "2": [ + "versions.yml:md5,006e8f2167df95a778b428413ed9d859" + ], + "3": [ + "test.repair.sh.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + "log": [ + "test.repair.sh.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + "repaired": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1_repaired.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2_repaired.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "singleton": [ + [ + { + "id": "test", + "single_end": false + }, + "test_singleton.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions": [ + "versions.yml:md5,006e8f2167df95a778b428413ed9d859" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-19T11:02:01.385727451" + }, + "sarscov2_illumina_interleaved - fastq_gz": { + "content": [ + [ + "versions.yml:md5,006e8f2167df95a778b428413ed9d859" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-19T11:01:32.752620818" + }, + "sarscov2_illumina_paired - fastq_gz - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1_repaired.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2_repaired.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test_singleton.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "2": [ + "versions.yml:md5,006e8f2167df95a778b428413ed9d859" + ], + "3": [ + "test.repair.sh.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + "log": [ + "test.repair.sh.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + "repaired": [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1_repaired.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2_repaired.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "singleton": [ + [ + { + "id": "test", + "single_end": false + }, + "test_singleton.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions": [ + "versions.yml:md5,006e8f2167df95a778b428413ed9d859" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-19T11:01:47.341193946" + } +} \ No newline at end of file diff --git a/modules/nf-core/bbmap/repair/tests/nextflow.config b/modules/nf-core/bbmap/repair/tests/nextflow.config new file mode 100644 index 00000000000..6b9f0bf755b --- /dev/null +++ b/modules/nf-core/bbmap/repair/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: BBMAP_REPAIR { + ext.args = params.module_args + } +} diff --git a/modules/nf-core/bbmap/repair/tests/tags.yml b/modules/nf-core/bbmap/repair/tests/tags.yml new file mode 100644 index 00000000000..a6e491df28f --- /dev/null +++ b/modules/nf-core/bbmap/repair/tests/tags.yml @@ -0,0 +1,2 @@ +bbmap/repair: + - "modules/nf-core/bbmap/repair/**" diff --git a/modules/nf-core/bcftools/annotate/main.nf b/modules/nf-core/bcftools/annotate/main.nf index 9ffdfdf0a49..b6b73309b89 100644 --- a/modules/nf-core/bcftools/annotate/main.nf +++ b/modules/nf-core/bcftools/annotate/main.nf @@ -10,6 +10,7 @@ process BCFTOOLS_ANNOTATE { input: tuple val(meta), path(input), path(index), path(annotations), path(annotations_index) path(header_lines) + path(rename_chrs) output: tuple val(meta), path("*.{vcf,vcf.gz,bcf,bcf.gz}"), emit: vcf @@ -25,6 +26,7 @@ process BCFTOOLS_ANNOTATE { def prefix = task.ext.prefix ?: "${meta.id}" def header_file = header_lines ? "--header-lines ${header_lines}" : '' def annotations_file = annotations ? "--annotations ${annotations}" : '' + def rename_chrs_file = rename_chrs ? "--rename-chrs ${rename_chrs}" : '' def extension = args.contains("--output-type b") || args.contains("-Ob") ? "bcf.gz" : args.contains("--output-type u") || args.contains("-Ou") ? "bcf" : args.contains("--output-type z") || args.contains("-Oz") ? "vcf.gz" : @@ -40,6 +42,7 @@ process BCFTOOLS_ANNOTATE { annotate \\ $args \\ $annotations_file \\ + $rename_chrs_file \\ $header_file \\ --output ${prefix}.${extension} \\ --threads $task.cpus \\ diff --git a/modules/nf-core/bcftools/annotate/meta.yml b/modules/nf-core/bcftools/annotate/meta.yml index 5bfccd2bd8f..fd2c91c706a 100644 --- a/modules/nf-core/bcftools/annotate/meta.yml +++ b/modules/nf-core/bcftools/annotate/meta.yml @@ -35,6 +35,9 @@ input: - - header_lines: type: file description: Contains lines to append to the output VCF header + - - rename_chrs: + type: file + description: Rename annotations according to this file containing "old_name new_name\n" pairs separated by whitespaces, each on a separate line. output: - vcf: - meta: diff --git a/modules/nf-core/bcftools/annotate/tests/main.nf.test b/modules/nf-core/bcftools/annotate/tests/main.nf.test index 3a5c493314f..fd6d2cd37f6 100644 --- a/modules/nf-core/bcftools/annotate/tests/main.nf.test +++ b/modules/nf-core/bcftools/annotate/tests/main.nf.test @@ -9,7 +9,7 @@ nextflow_process { tag "bcftools" tag "bcftools/annotate" - test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - vcf_output") { + test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - vcf_output") { config "./vcf.config" @@ -24,6 +24,7 @@ nextflow_process { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.vcf.gz.tbi', checkIfExists: true) ] input[1] = [] + input[2] = [] """ } } @@ -40,7 +41,7 @@ nextflow_process { } - test("sarscov2 - [vcf, [], annotation, annotation_tbi], [] - vcf_output") { + test("sarscov2 - [vcf, [], annotation, annotation_tbi], [], [] - vcf_output") { config "./vcf.config" @@ -55,6 +56,7 @@ nextflow_process { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.vcf.gz.tbi', checkIfExists: true) ] input[1] = [] + input[2] = [] """ } } @@ -70,7 +72,7 @@ nextflow_process { } } - test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - vcf_gz_index") { + test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - vcf_gz_index") { config "./vcf_gz_index.config" @@ -85,6 +87,7 @@ nextflow_process { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.vcf.gz.tbi', checkIfExists: true) ] input[1] = [] + input[2] = [] """ } } @@ -104,7 +107,7 @@ nextflow_process { } - test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - vcf_gz_index_csi") { + test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - vcf_gz_index_csi") { config "./vcf_gz_index_csi.config" @@ -119,6 +122,7 @@ nextflow_process { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.vcf.gz.tbi', checkIfExists: true) ] input[1] = [] + input[2] = [] """ } } @@ -138,7 +142,7 @@ nextflow_process { } - test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - vcf_gz_index_tbi") { + test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - vcf_gz_index_tbi") { config "./vcf_gz_index_tbi.config" @@ -153,6 +157,7 @@ nextflow_process { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.vcf.gz.tbi', checkIfExists: true) ] input[1] = [] + input[2] = [] """ } } @@ -171,7 +176,8 @@ nextflow_process { } } - test("sarscov2 - [vcf, [], annotation, annotation_tbi], header - bcf_output") { + + test("sarscov2 - [vcf, [], annotation, annotation_tbi], header, [] - bcf_output") { config "./bcf.config" @@ -189,6 +195,7 @@ nextflow_process { '##INFO=', '##INFO=' ).collectFile(name:"headers.vcf", newLine:true) + input[2] = [] """ } } @@ -205,7 +212,43 @@ nextflow_process { } - test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - stub") { + test("sarscov2 - [vcf, [], annotation, annotation_tbi], header, rename_chrs - vcf_gz_index") { + + config "./vcf_gz_index.config" + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test.vcf.gz', checkIfExists: true), + [], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.vcf.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.vcf.gz.tbi', checkIfExists: true) + ] + input[1] = Channel.of( + '##INFO=', + '##INFO=' + ).collectFile(name:"headers.vcf", newLine:true) + input[2] = Channel.of('MT192765.1 renamed').collectFile(name:"rename.txt", newLine:true) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert path(process.out.vcf.get(0).get(1)).LinesGzip.contains("##contig=")}, + { assert snapshot( + process.out.vcf.collect { it.collect { it instanceof Map ? it : file(it).name }}, + process.out.versions + ).match() } + ) + } + + } + + test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - stub") { config "./vcf.config" options "-stub" @@ -221,6 +264,7 @@ nextflow_process { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.vcf.gz.tbi', checkIfExists: true) ] input[1] = [] + input[2] = [] """ } } @@ -234,7 +278,7 @@ nextflow_process { } - test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - vcf_gz_index - stub") { + test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - vcf_gz_index - stub") { config "./vcf_gz_index.config" options "-stub" @@ -250,6 +294,7 @@ nextflow_process { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.vcf.gz.tbi', checkIfExists: true) ] input[1] = [] + input[2] = [] """ } } @@ -264,7 +309,7 @@ nextflow_process { } - test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - vcf_gz_index_csi - stub") { + test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - vcf_gz_index_csi - stub") { config "./vcf_gz_index_csi.config" options "-stub" @@ -280,6 +325,7 @@ nextflow_process { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.vcf.gz.tbi', checkIfExists: true) ] input[1] = [] + input[2] = [] """ } } @@ -294,7 +340,7 @@ nextflow_process { } - test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - vcf_gz_index_tbi - stub") { + test("sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - vcf_gz_index_tbi - stub") { config "./vcf_gz_index_tbi.config" options "-stub" @@ -310,6 +356,7 @@ nextflow_process { file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/vcf/test2.vcf.gz.tbi', checkIfExists: true) ] input[1] = [] + input[2] = [] """ } } diff --git a/modules/nf-core/bcftools/annotate/tests/main.nf.test.snap b/modules/nf-core/bcftools/annotate/tests/main.nf.test.snap index bac2224a3b5..16828b6ce04 100644 --- a/modules/nf-core/bcftools/annotate/tests/main.nf.test.snap +++ b/modules/nf-core/bcftools/annotate/tests/main.nf.test.snap @@ -1,4 +1,37 @@ { + "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - vcf_gz_index_tbi": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test_vcf.vcf.gz" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test_vcf.vcf.gz.tbi" + ] + ], + [ + + ], + [ + "versions.yml:md5,ea53f98610d42597cf384ff1fa3eb204" + ] + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.10.0" + }, + "timestamp": "2024-11-06T14:02:05.809043894" + }, "bcf": { "content": [ [ @@ -20,7 +53,7 @@ }, "timestamp": "2024-06-12T16:39:33.331888" }, - "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - vcf_gz_index": { + "sarscov2 - [vcf, [], annotation, annotation_tbi], [], [] - vcf_output": { "content": [ [ [ @@ -32,15 +65,24 @@ ] ], [ - - ], + "versions.yml:md5,ea53f98610d42597cf384ff1fa3eb204" + ] + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.10.0" + }, + "timestamp": "2024-11-06T14:01:32.326248064" + }, + "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - vcf_output": { + "content": [ [ [ { "id": "test", "single_end": false }, - "test_vcf.vcf.gz.csi" + "test_vcf.vcf.gz" ] ], [ @@ -48,12 +90,12 @@ ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.1", + "nextflow": "24.10.0" }, - "timestamp": "2024-08-15T10:07:59.658031137" + "timestamp": "2024-11-06T14:01:17.821142466" }, - "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - vcf_gz_index_csi - stub": { + "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - vcf_gz_index_tbi - stub": { "content": [ { "0": [ @@ -66,31 +108,31 @@ ] ], "1": [ - - ], - "2": [ [ { "id": "test", "single_end": false }, - "test_vcf.vcf.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + "test_vcf.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" ] + ], + "2": [ + ], "3": [ "versions.yml:md5,ea53f98610d42597cf384ff1fa3eb204" ], "csi": [ + + ], + "tbi": [ [ { "id": "test", "single_end": false }, - "test_vcf.vcf.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + "test_vcf.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" ] - ], - "tbi": [ - ], "vcf": [ [ @@ -107,45 +149,12 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.1", + "nextflow": "24.10.0" }, - "timestamp": "2024-08-15T10:09:05.096883418" + "timestamp": "2024-11-06T14:03:12.574479421" }, - "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - vcf_gz_index_csi": { - "content": [ - [ - [ - { - "id": "test", - "single_end": false - }, - "test_vcf.vcf.gz" - ] - ], - [ - - ], - [ - [ - { - "id": "test", - "single_end": false - }, - "test_vcf.vcf.gz.csi" - ] - ], - [ - "versions.yml:md5,ea53f98610d42597cf384ff1fa3eb204" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-08-15T10:08:10.581301219" - }, - "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - stub": { + "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - stub": { "content": [ { "0": [ @@ -187,87 +196,12 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-08-15T10:08:43.975017625" - }, - "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - vcf_gz_index_tbi": { - "content": [ - [ - [ - { - "id": "test", - "single_end": false - }, - "test_vcf.vcf.gz" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - "test_vcf.vcf.gz.tbi" - ] - ], - [ - - ], - [ - "versions.yml:md5,ea53f98610d42597cf384ff1fa3eb204" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.1", + "nextflow": "24.10.0" }, - "timestamp": "2024-08-15T10:08:21.354059092" + "timestamp": "2024-11-06T14:02:38.89910979" }, - "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - vcf_output": { - "content": [ - [ - [ - { - "id": "test", - "single_end": false - }, - "test_vcf.vcf.gz" - ] - ], - [ - "versions.yml:md5,ea53f98610d42597cf384ff1fa3eb204" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-08-15T10:07:37.788393317" - }, - "sarscov2 - [vcf, [], annotation, annotation_tbi], [] - vcf_output": { - "content": [ - [ - [ - { - "id": "test", - "single_end": false - }, - "test_vcf.vcf.gz" - ] - ], - [ - "versions.yml:md5,ea53f98610d42597cf384ff1fa3eb204" - ] - ], - "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" - }, - "timestamp": "2024-08-15T10:07:48.500746325" - }, - "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - vcf_gz_index_tbi - stub": { + "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - vcf_gz_index - stub": { "content": [ { "0": [ @@ -280,31 +214,31 @@ ] ], "1": [ + + ], + "2": [ [ { "id": "test", "single_end": false }, - "test_vcf.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + "test_vcf.vcf.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" ] - ], - "2": [ - ], "3": [ "versions.yml:md5,ea53f98610d42597cf384ff1fa3eb204" ], "csi": [ - - ], - "tbi": [ [ { "id": "test", "single_end": false }, - "test_vcf.vcf.gz.tbi:md5,d41d8cd98f00b204e9800998ecf8427e" + "test_vcf.vcf.gz.csi:md5,d41d8cd98f00b204e9800998ecf8427e" ] + ], + "tbi": [ + ], "vcf": [ [ @@ -321,12 +255,12 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.1", + "nextflow": "24.10.0" }, - "timestamp": "2024-08-15T10:09:16.094918834" + "timestamp": "2024-11-06T14:02:49.803045339" }, - "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [] - vcf_gz_index - stub": { + "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - vcf_gz_index_csi - stub": { "content": [ { "0": [ @@ -380,9 +314,96 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.2" + "nf-test": "0.9.1", + "nextflow": "24.10.0" + }, + "timestamp": "2024-11-06T14:03:00.654715777" + }, + "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - vcf_gz_index": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test_vcf.vcf.gz" + ] + ], + [ + + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test_vcf.vcf.gz.csi" + ] + ], + [ + "versions.yml:md5,ea53f98610d42597cf384ff1fa3eb204" + ] + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.10.0" + }, + "timestamp": "2024-11-06T14:01:45.446114465" + }, + "sarscov2 - [vcf, [], annotation, annotation_tbi], header, rename_chrs - vcf_gz_index": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test_vcf.vcf.gz" + ] + ], + [ + "versions.yml:md5,ea53f98610d42597cf384ff1fa3eb204" + ] + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.10.0" + }, + "timestamp": "2024-11-06T13:58:14.280394724" + }, + "sarscov2 - [vcf, tbi, annotation, annotation_tbi], [], [] - vcf_gz_index_csi": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test_vcf.vcf.gz" + ] + ], + [ + + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test_vcf.vcf.gz.csi" + ] + ], + [ + "versions.yml:md5,ea53f98610d42597cf384ff1fa3eb204" + ] + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.10.0" }, - "timestamp": "2024-08-15T10:08:54.366358502" + "timestamp": "2024-11-06T14:01:55.70445216" } } \ No newline at end of file diff --git a/modules/nf-core/bcftools/consensus/main.nf b/modules/nf-core/bcftools/consensus/main.nf index 0e693e1dfa2..303be28dbb0 100644 --- a/modules/nf-core/bcftools/consensus/main.nf +++ b/modules/nf-core/bcftools/consensus/main.nf @@ -35,4 +35,17 @@ process BCFTOOLS_CONSENSUS { bcftools: \$(bcftools --version 2>&1 | head -n1 | sed 's/^.*bcftools //; s/ .*\$//') END_VERSIONS """ + + stub: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def masking = mask ? "-m $mask" : "" + """ + touch ${prefix}.fa + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + bcftools: \$(bcftools --version 2>&1 | head -n1 | sed 's/^.*bcftools //; s/ .*\$//') + END_VERSIONS + """ } diff --git a/modules/nf-core/bcftools/consensus/tests/main.nf.test.snap b/modules/nf-core/bcftools/consensus/tests/main.nf.test.snap index 7244bbea08a..1a23bd6d22e 100644 --- a/modules/nf-core/bcftools/consensus/tests/main.nf.test.snap +++ b/modules/nf-core/bcftools/consensus/tests/main.nf.test.snap @@ -7,7 +7,7 @@ { "id": "test" }, - "test.fa:md5,313f4a657187fdaf293c4ed69d98c112" + "test.fa:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "1": [ @@ -18,7 +18,7 @@ { "id": "test" }, - "test.fa:md5,313f4a657187fdaf293c4ed69d98c112" + "test.fa:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "versions": [ @@ -27,10 +27,10 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.04.1" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-20T13:56:14.553364445" + "timestamp": "2024-12-20T15:38:55.13767915" }, "bcftools - test": { "content": [ diff --git a/modules/nf-core/bcftools/convert/meta.yml b/modules/nf-core/bcftools/convert/meta.yml index 3a1c197bb37..858362cfca3 100644 --- a/modules/nf-core/bcftools/convert/meta.yml +++ b/modules/nf-core/bcftools/convert/meta.yml @@ -28,7 +28,7 @@ input: - input: type: file description: | - The input format. Each format needs a seperate parameter to be specified in the `args`: + The input format. Each format needs a separate parameter to be specified in the `args`: - GEN/SAMPLE file: `--gensample2vcf` - gVCF file: `--gvcf2vcf` - HAP/SAMPLE file: `--hapsample2vcf` diff --git a/modules/nf-core/bcftools/query/meta.yml b/modules/nf-core/bcftools/query/meta.yml index 279b3205d6f..8fb6877817d 100644 --- a/modules/nf-core/bcftools/query/meta.yml +++ b/modules/nf-core/bcftools/query/meta.yml @@ -24,7 +24,7 @@ input: - vcf: type: file description: | - The vcf file to be qeuried. + The vcf file to be queried. pattern: "*.{vcf.gz, vcf}" - tbi: type: file diff --git a/modules/nf-core/bowtie/build/meta.yml b/modules/nf-core/bowtie/build/meta.yml index a878a5b7038..af84c5cc481 100644 --- a/modules/nf-core/bowtie/build/meta.yml +++ b/modules/nf-core/bowtie/build/meta.yml @@ -29,7 +29,7 @@ output: - meta: type: map description: | - Groovy Map containing nformation about the genome fasta + Groovy Map containing information about the genome fasta e.g. [ id:'test' ] - bowtie: type: file diff --git a/modules/nf-core/bowtie2/align/meta.yml b/modules/nf-core/bowtie2/align/meta.yml index f841f781285..7436097b831 100644 --- a/modules/nf-core/bowtie2/align/meta.yml +++ b/modules/nf-core/bowtie2/align/meta.yml @@ -104,11 +104,11 @@ output: - log: - meta: type: file - description: Aligment log + description: Alignment log pattern: "*.log" - "*.log": type: file - description: Aligment log + description: Alignment log pattern: "*.log" - fastq: - meta: diff --git a/modules/nf-core/cat/fastq/tests/main.nf.test b/modules/nf-core/cat/fastq/tests/main.nf.test index f88a78b6ca7..0de5e18536e 100644 --- a/modules/nf-core/cat/fastq/tests/main.nf.test +++ b/modules/nf-core/cat/fastq/tests/main.nf.test @@ -1,5 +1,3 @@ -// NOTE The version snaps may not be consistant -// https://github.com/nf-core/modules/pull/4087#issuecomment-1767948035 nextflow_process { name "Test Process CAT_FASTQ" diff --git a/modules/nf-core/cellranger/count/templates/cellranger_count.py b/modules/nf-core/cellranger/count/templates/cellranger_count.py index 55f93b61790..41b9bb8fe2c 100644 --- a/modules/nf-core/cellranger/count/templates/cellranger_count.py +++ b/modules/nf-core/cellranger/count/templates/cellranger_count.py @@ -21,7 +21,7 @@ def chunk_iter(seq, size): # get fastqs, ordered by path. Files are staged into # - "fastq_001/{original_name.fastq.gz}" -# - "fastq_002/{oritinal_name.fastq.gz}" +# - "fastq_002/{original_name.fastq.gz}" # - ... # Since we require fastq files in the input channel to be ordered such that a R1/R2 pair # of files follows each other, ordering will get us a sequence of [R1, R2, R1, R2, ...] diff --git a/modules/nf-core/cellsnp/modea/meta.yml b/modules/nf-core/cellsnp/modea/meta.yml index 886e5300548..1b7fac56905 100644 --- a/modules/nf-core/cellsnp/modea/meta.yml +++ b/modules/nf-core/cellsnp/modea/meta.yml @@ -50,7 +50,7 @@ output: e.g. `[ id:'sample1', single_end:false ]` - "*.base.vcf.gz": type: file - description: A VCF file listing genotyped SNPs and aggregated AD & DP infomation + description: A VCF file listing genotyped SNPs and aggregated AD & DP information (without GT). pattern: "*.base.vcf.gz" - cell: @@ -61,7 +61,7 @@ output: e.g. `[ id:'sample1', single_end:false ]` - "*.cells.vcf.gz": type: file - description: A VCF file listing genotyped SNPs and aggregated AD & DP infomation + description: A VCF file listing genotyped SNPs and aggregated AD & DP information & genotype (GT) information for each cell or sample. pattern: "*.cells.vcf.gz" - sample: diff --git a/modules/nf-core/centrifuge/build/environment.yml b/modules/nf-core/centrifuge/build/environment.yml index 42592891580..b49177e9759 100644 --- a/modules/nf-core/centrifuge/build/environment.yml +++ b/modules/nf-core/centrifuge/build/environment.yml @@ -1,5 +1,6 @@ channels: - conda-forge - bioconda + dependencies: - - bioconda::centrifuge=1.0.4.1 + - bioconda::centrifuge=1.0.4.2 diff --git a/modules/nf-core/centrifuge/build/main.nf b/modules/nf-core/centrifuge/build/main.nf index b767040de7f..02cfd8ccf92 100644 --- a/modules/nf-core/centrifuge/build/main.nf +++ b/modules/nf-core/centrifuge/build/main.nf @@ -1,11 +1,11 @@ process CENTRIFUGE_BUILD { - tag "$meta.id" + tag "${meta.id}" label 'process_high' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/centrifuge:1.0.4.1--hdcf5f25_1' : - 'biocontainers/centrifuge:1.0.4.1--hdcf5f25_1' }" + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://depot.galaxyproject.org/singularity/centrifuge:1.0.4.2--hdcf5f25_0' + : 'biocontainers/centrifuge:1.0.4.2--hdcf5f25_0'}" input: tuple val(meta), path(fasta) @@ -15,8 +15,8 @@ process CENTRIFUGE_BUILD { path size_table output: - tuple val(meta), path("${prefix}/") , emit: cf - path "versions.yml" , emit: versions + tuple val(meta), path("${prefix}/"), emit: cf + path "versions.yml", emit: versions when: task.ext.when == null || task.ext.when @@ -29,13 +29,15 @@ process CENTRIFUGE_BUILD { mkdir ${prefix} centrifuge-build \\ - -p $task.cpus \\ - $fasta \\ + -p ${task.cpus} \\ + ${fasta} \\ ${prefix}/${prefix} \\ - --conversion-table $conversion_table \\ - --taxonomy-tree $taxonomy_tree \\ - --name-table $name_table \\ - ${size_table_cmd} + --conversion-table ${conversion_table} \\ + --taxonomy-tree ${taxonomy_tree} \\ + --name-table ${name_table} \\ + ${size_table_cmd} \\ + ${args} \\ + cat <<-END_VERSIONS > versions.yml "${task.process}": @@ -44,7 +46,7 @@ process CENTRIFUGE_BUILD { """ stub: - def args = task.ext.args ?: '' + def _args = task.ext.args ?: '' prefix = task.ext.prefix ?: "${meta.id}" """ mkdir -p ${prefix}/ diff --git a/modules/nf-core/centrifuge/build/tests/main.nf.test.snap b/modules/nf-core/centrifuge/build/tests/main.nf.test.snap index fa7d1dc3682..4a7b1247d38 100644 --- a/modules/nf-core/centrifuge/build/tests/main.nf.test.snap +++ b/modules/nf-core/centrifuge/build/tests/main.nf.test.snap @@ -80,9 +80,9 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.0", + "nextflow": "24.10.2" }, - "timestamp": "2024-02-15T10:10:19.439629103" + "timestamp": "2024-12-12T10:38:44.613715625" } } \ No newline at end of file diff --git a/modules/nf-core/centrifuge/centrifuge/environment.yml b/modules/nf-core/centrifuge/centrifuge/environment.yml index 42592891580..b49177e9759 100644 --- a/modules/nf-core/centrifuge/centrifuge/environment.yml +++ b/modules/nf-core/centrifuge/centrifuge/environment.yml @@ -1,5 +1,6 @@ channels: - conda-forge - bioconda + dependencies: - - bioconda::centrifuge=1.0.4.1 + - bioconda::centrifuge=1.0.4.2 diff --git a/modules/nf-core/centrifuge/centrifuge/main.nf b/modules/nf-core/centrifuge/centrifuge/main.nf index d9a5653df56..f287dc25c23 100644 --- a/modules/nf-core/centrifuge/centrifuge/main.nf +++ b/modules/nf-core/centrifuge/centrifuge/main.nf @@ -1,11 +1,11 @@ process CENTRIFUGE_CENTRIFUGE { - tag "$meta.id" + tag "${meta.id}" label 'process_high' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/centrifuge:1.0.4.1--hdcf5f25_1' : - 'biocontainers/centrifuge:1.0.4.1--hdcf5f25_1' }" + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://depot.galaxyproject.org/singularity/centrifuge:1.0.4.2--hdcf5f25_0' + : 'biocontainers/centrifuge:1.0.4.2--hdcf5f25_0'}" input: tuple val(meta), path(reads) @@ -14,12 +14,12 @@ process CENTRIFUGE_CENTRIFUGE { val save_aligned output: - tuple val(meta), path('*report.txt') , emit: report - tuple val(meta), path('*results.txt') , emit: results - tuple val(meta), path('*.{sam,tab}') , optional: true, emit: sam - tuple val(meta), path('*.mapped.fastq{,.1,.2}.gz') , optional: true, emit: fastq_mapped - tuple val(meta), path('*.unmapped.fastq{,.1,.2}.gz') , optional: true, emit: fastq_unmapped - path "versions.yml" , emit: versions + tuple val(meta), path('*report.txt'), emit: report + tuple val(meta), path('*results.txt'), emit: results + tuple val(meta), path('*.{sam,tab}'), optional: true, emit: sam + tuple val(meta), path('*.mapped.fastq{,.1,.2}.gz'), optional: true, emit: fastq_mapped + tuple val(meta), path('*.unmapped.fastq{,.1,.2}.gz'), optional: true, emit: fastq_unmapped + path "versions.yml", emit: versions when: task.ext.when == null || task.ext.when @@ -27,13 +27,14 @@ process CENTRIFUGE_CENTRIFUGE { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - def paired = meta.single_end ? "-U ${reads}" : "-1 ${reads[0]} -2 ${reads[1]}" + def paired = meta.single_end ? "-U ${reads}" : "-1 ${reads[0]} -2 ${reads[1]}" def unaligned = '' def aligned = '' if (meta.single_end) { unaligned = save_unaligned ? "--un-gz ${prefix}.unmapped.fastq.gz" : '' aligned = save_aligned ? "--al-gz ${prefix}.mapped.fastq.gz" : '' - } else { + } + else { unaligned = save_unaligned ? "--un-conc-gz ${prefix}.unmapped.fastq.gz" : '' aligned = save_aligned ? "--al-conc-gz ${prefix}.mapped.fastq.gz" : '' } @@ -49,13 +50,13 @@ process CENTRIFUGE_CENTRIFUGE { centrifuge \\ -x \$db_name \\ --temp-directory ./temp \\ - -p $task.cpus \\ - $paired \\ + -p ${task.cpus} \\ + ${paired} \\ --report-file ${prefix}.report.txt \\ -S ${prefix}.results.txt \\ - $unaligned \\ - $aligned \\ - $args + ${unaligned} \\ + ${aligned} \\ + ${args} cat <<-END_VERSIONS > versions.yml "${task.process}": @@ -64,15 +65,16 @@ process CENTRIFUGE_CENTRIFUGE { """ stub: - def args = task.ext.args ?: '' + def _args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - def paired = meta.single_end ? "-U ${reads}" : "-1 ${reads[0]} -2 ${reads[1]}" + def _paired = meta.single_end ? "-U ${reads}" : "-1 ${reads[0]} -2 ${reads[1]}" def unaligned = '' def aligned = '' if (meta.single_end) { unaligned = save_unaligned ? "--un-gz ${prefix}.unmapped.fastq.gz" : '' aligned = save_aligned ? "--al-gz ${prefix}.mapped.fastq.gz" : '' - } else { + } + else { unaligned = save_unaligned ? "--un-conc-gz ${prefix}.unmapped.fastq.gz" : '' aligned = save_aligned ? "--al-conc-gz ${prefix}.mapped.fastq.gz" : '' } diff --git a/modules/nf-core/centrifuge/kreport/environment.yml b/modules/nf-core/centrifuge/kreport/environment.yml index 42592891580..b49177e9759 100644 --- a/modules/nf-core/centrifuge/kreport/environment.yml +++ b/modules/nf-core/centrifuge/kreport/environment.yml @@ -1,5 +1,6 @@ channels: - conda-forge - bioconda + dependencies: - - bioconda::centrifuge=1.0.4.1 + - bioconda::centrifuge=1.0.4.2 diff --git a/modules/nf-core/centrifuge/kreport/main.nf b/modules/nf-core/centrifuge/kreport/main.nf index 25eb7167b7c..b7e83604950 100644 --- a/modules/nf-core/centrifuge/kreport/main.nf +++ b/modules/nf-core/centrifuge/kreport/main.nf @@ -1,11 +1,11 @@ process CENTRIFUGE_KREPORT { - tag "$meta.id" + tag "${meta.id}" label 'process_single' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/centrifuge:1.0.4.1--hdcf5f25_1' : - 'biocontainers/centrifuge:1.0.4.1--hdcf5f25_1' }" + container "${workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container + ? 'https://depot.galaxyproject.org/singularity/centrifuge:1.0.4.2--hdcf5f25_0' + : 'biocontainers/centrifuge:1.0.4.2--hdcf5f25_0'}" input: tuple val(meta), path(report) @@ -13,7 +13,7 @@ process CENTRIFUGE_KREPORT { output: tuple val(meta), path('*.txt'), emit: kreport - path "versions.yml" , emit: versions + path "versions.yml", emit: versions when: task.ext.when == null || task.ext.when @@ -23,7 +23,10 @@ process CENTRIFUGE_KREPORT { def prefix = task.ext.prefix ?: "${meta.id}" """ db_name=`find -L ${db} -name "*.1.cf" -not -name "._*" | sed 's/\\.1.cf\$//'` - centrifuge-kreport -x \$db_name ${report} > ${prefix}.txt + centrifuge-kreport \\ + ${args} \\ + -x \$db_name \\ + ${report} > ${prefix}.txt cat <<-END_VERSIONS > versions.yml "${task.process}": @@ -32,7 +35,7 @@ process CENTRIFUGE_KREPORT { """ stub: - def args = task.ext.args ?: '' + def _args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" """ touch ${prefix}.txt diff --git a/modules/nf-core/checkm2/databasedownload/main.nf b/modules/nf-core/checkm2/databasedownload/main.nf index 6144067b27d..aaedce2aaa5 100644 --- a/modules/nf-core/checkm2/databasedownload/main.nf +++ b/modules/nf-core/checkm2/databasedownload/main.nf @@ -1,5 +1,3 @@ -import groovy.json.JsonSlurper - process CHECKM2_DATABASEDOWNLOAD { label 'process_single' @@ -21,7 +19,7 @@ process CHECKM2_DATABASEDOWNLOAD { script: def args = task.ext.args ?: '' zenodo_id = db_zenodo_id ?: 5571251 // Default to latest version if no ID provided - api_data = (new JsonSlurper()).parseText(file("https://zenodo.org/api/records/${zenodo_id}").text) + api_data = (new groovy.json.JsonSlurper()).parseText(file("https://zenodo.org/api/records/${zenodo_id}").text) db_version = api_data.metadata.version checksum = api_data.files[0].checksum.replaceFirst(/^md5:/, "md5=") meta = [id: 'checkm2_db', version: db_version] diff --git a/modules/nf-core/checkm2/predict/main.nf b/modules/nf-core/checkm2/predict/main.nf index 25271ba986a..5d1055537ad 100644 --- a/modules/nf-core/checkm2/predict/main.nf +++ b/modules/nf-core/checkm2/predict/main.nf @@ -13,7 +13,7 @@ process CHECKM2_PREDICT { output: tuple val(meta), path("${prefix}") , emit: checkm2_output - tuple val(meta), path("${prefix}/quality_report.tsv"), emit: checkm2_tsv + tuple val(meta), path("${prefix}_checkm2_report.tsv"), emit: checkm2_tsv path("versions.yml") , emit: versions when: @@ -31,6 +31,8 @@ process CHECKM2_PREDICT { --database_path ${db} \\ ${args} + cp ${prefix}/quality_report.tsv ${prefix}_checkm2_report.tsv + cat <<-END_VERSIONS > versions.yml "${task.process}": checkm2: \$(checkm2 --version) @@ -38,7 +40,6 @@ process CHECKM2_PREDICT { """ stub: - def args = task.ext.args ?: '' prefix = task.ext.prefix ?: "${meta.id}" """ mkdir -p ${prefix}/diamond_output ${prefix}/protein_files diff --git a/modules/nf-core/checkm2/predict/meta.yml b/modules/nf-core/checkm2/predict/meta.yml index 48cc9fbccaa..9b8d38df9e8 100644 --- a/modules/nf-core/checkm2/predict/meta.yml +++ b/modules/nf-core/checkm2/predict/meta.yml @@ -52,7 +52,7 @@ output: description: | Groovy Map containing sample information e.g. `[ id:'test' ]` - - ${prefix}/quality_report.tsv: + - ${prefix}_checkm2_report.tsv: type: file description: CheckM2 summary completeness statistics table pattern: "*.tsv" diff --git a/modules/nf-core/checkm2/predict/tests/main.nf.test b/modules/nf-core/checkm2/predict/tests/main.nf.test index e825f74c9a0..1e64ff4dde3 100644 --- a/modules/nf-core/checkm2/predict/tests/main.nf.test +++ b/modules/nf-core/checkm2/predict/tests/main.nf.test @@ -9,9 +9,7 @@ nextflow_process { script "modules/nf-core/checkm2/predict/main.nf" process "CHECKM2_PREDICT" - test("Test CheckM2 Predict") { - - setup { + setup { run("CHECKM2_DATABASEDOWNLOAD") { script "../../databasedownload/main.nf" process { @@ -22,13 +20,15 @@ nextflow_process { } } + test("Test CheckM2 Predict") { + when { params { outdir = "${launchDir}/tests/results" } process { """ - input[0] = [ [id: 'test'], [file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/fasta/contigs.fasta', checkIfExists: true)] ] + input[0] = [ [id: 'test'], [file(params.modules_testdata_base_path + 'genomics/prokaryotes/escherichia_coli/genome/genome.fa', checkIfExists: true)] ] input[1] = CHECKM2_DATABASEDOWNLOAD.out.database """ } @@ -40,7 +40,6 @@ nextflow_process { { assert snapshot(process.out.checkm2_tsv, process.out.versions).match() } ) } - } -} +} \ No newline at end of file diff --git a/modules/nf-core/checkm2/predict/tests/main.nf.test.snap b/modules/nf-core/checkm2/predict/tests/main.nf.test.snap index 6fd2e918975..9702543c337 100644 --- a/modules/nf-core/checkm2/predict/tests/main.nf.test.snap +++ b/modules/nf-core/checkm2/predict/tests/main.nf.test.snap @@ -1,4 +1,33 @@ { + "Test CheckM2 Predict - stub": { + "content": [ + { + "0": [ + + ], + "1": [ + + ], + "2": [ + + ], + "checkm2_output": [ + + ], + "checkm2_tsv": [ + + ], + "versions": [ + + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-07T15:20:27.358984" + }, "Test CheckM2 Predict": { "content": [ [ @@ -6,13 +35,17 @@ { "id": "test" }, - "quality_report.tsv:md5,7f05ff49d18697304575d1106a871501" + "test_checkm2_report.tsv:md5,77b04107300bcece1e0fb46beb9df970" ] ], [ "versions.yml:md5,088ec2d8a46efd530c11019328064bff" ] ], - "timestamp": "2024-09-16T22:43:50.787486798" + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-20T21:28:38.287346125" } } \ No newline at end of file diff --git a/modules/nf-core/clippy/main.nf b/modules/nf-core/clippy/main.nf index d8ce862689f..5c6a1dfda8f 100644 --- a/modules/nf-core/clippy/main.nf +++ b/modules/nf-core/clippy/main.nf @@ -37,4 +37,18 @@ process CLIPPY { clippy: \$(clippy -v) END_VERSIONS """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}" + """ + touch ${prefix}_Peaks.bed + touch ${prefix}_Summits.bed + touch ${prefix}_intergenic_regions.gtf + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + clippy: \$(clippy -v) + END_VERSIONS + """ + } diff --git a/modules/nf-core/clippy/tests/main.nf.test b/modules/nf-core/clippy/tests/main.nf.test new file mode 100644 index 00000000000..7ae795aee9c --- /dev/null +++ b/modules/nf-core/clippy/tests/main.nf.test @@ -0,0 +1,90 @@ +nextflow_process { + + name "Test Process CLIPPY" + script "../main.nf" + process "CLIPPY" + + tag "modules" + tag "modules_nfcore" + tag "clippy" + + test("non-intergenic") { + + config "./nextflow.config" + + when { + params { + module_args = '-inter 3' + } + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file("https://raw.githubusercontent.com/nf-core/test-datasets/clipseq/crosslinks/clippy.bed", checkIfExists: true) + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/chr21_gencode.gtf', checkIfExists: true) + input[2] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("intergenic") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file("https://raw.githubusercontent.com/nf-core/test-datasets/clipseq/crosslinks/clippy.bed", checkIfExists: true) + ] + input[1] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/chr21_gencode.gtf', checkIfExists: true) + input[2] = file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("non-intergenic - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + [] + ] + input[1] = [] + input[2] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + +} diff --git a/modules/nf-core/clippy/tests/main.nf.test.snap b/modules/nf-core/clippy/tests/main.nf.test.snap new file mode 100644 index 00000000000..b11068a2a23 --- /dev/null +++ b/modules/nf-core/clippy/tests/main.nf.test.snap @@ -0,0 +1,177 @@ +{ + "non-intergenic - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test_Peaks.bed:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test_Summits.bed:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "2": [ + [ + { + "id": "test" + }, + "test_intergenic_regions.gtf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + "versions.yml:md5,b9f94c70bed994e77aa7feccaa25aff5" + ], + "intergenic_gtf": [ + [ + { + "id": "test" + }, + "test_intergenic_regions.gtf:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "peaks": [ + [ + { + "id": "test" + }, + "test_Peaks.bed:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "summits": [ + [ + { + "id": "test" + }, + "test_Summits.bed:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,b9f94c70bed994e77aa7feccaa25aff5" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-08T16:59:22.78408481" + }, + "non-intergenic": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test_rollmean10_minHeightAdjust1.0_minPromAdjust1.0_minGeneCount5_Peaks.bed:md5,d793b0bafe5478207bfe80dd635a215c" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test_rollmean10_minHeightAdjust1.0_minPromAdjust1.0_minGeneCount5_Summits.bed:md5,afc2143816a8ae91329d7e557a91eeba" + ] + ], + "2": [ + + ], + "3": [ + "versions.yml:md5,b9f94c70bed994e77aa7feccaa25aff5" + ], + "intergenic_gtf": [ + + ], + "peaks": [ + [ + { + "id": "test" + }, + "test_rollmean10_minHeightAdjust1.0_minPromAdjust1.0_minGeneCount5_Peaks.bed:md5,d793b0bafe5478207bfe80dd635a215c" + ] + ], + "summits": [ + [ + { + "id": "test" + }, + "test_rollmean10_minHeightAdjust1.0_minPromAdjust1.0_minGeneCount5_Summits.bed:md5,afc2143816a8ae91329d7e557a91eeba" + ] + ], + "versions": [ + "versions.yml:md5,b9f94c70bed994e77aa7feccaa25aff5" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-08T16:58:19.283343973" + }, + "intergenic": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test_rollmean10_minHeightAdjust1.0_minPromAdjust1.0_minGeneCount5_Peaks.bed:md5,d793b0bafe5478207bfe80dd635a215c" + ] + ], + "1": [ + [ + { + "id": "test" + }, + "test_rollmean10_minHeightAdjust1.0_minPromAdjust1.0_minGeneCount5_Summits.bed:md5,afc2143816a8ae91329d7e557a91eeba" + ] + ], + "2": [ + + ], + "3": [ + "versions.yml:md5,b9f94c70bed994e77aa7feccaa25aff5" + ], + "intergenic_gtf": [ + + ], + "peaks": [ + [ + { + "id": "test" + }, + "test_rollmean10_minHeightAdjust1.0_minPromAdjust1.0_minGeneCount5_Peaks.bed:md5,d793b0bafe5478207bfe80dd635a215c" + ] + ], + "summits": [ + [ + { + "id": "test" + }, + "test_rollmean10_minHeightAdjust1.0_minPromAdjust1.0_minGeneCount5_Summits.bed:md5,afc2143816a8ae91329d7e557a91eeba" + ] + ], + "versions": [ + "versions.yml:md5,b9f94c70bed994e77aa7feccaa25aff5" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-08T16:59:13.088102108" + } +} \ No newline at end of file diff --git a/modules/nf-core/clippy/tests/nextflow.config b/modules/nf-core/clippy/tests/nextflow.config new file mode 100644 index 00000000000..1426c14deb0 --- /dev/null +++ b/modules/nf-core/clippy/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: 'CLIPPY_INTERGENIC' { + ext.args = params.module_args + } +} diff --git a/modules/nf-core/clonalframeml/meta.yml b/modules/nf-core/clonalframeml/meta.yml index 2696edd872a..fad6a863592 100644 --- a/modules/nf-core/clonalframeml/meta.yml +++ b/modules/nf-core/clonalframeml/meta.yml @@ -21,11 +21,11 @@ input: e.g. [ id:'test', single_end:false ] - newick: type: file - description: A Newick formated tree based on multiple sequence alignment + description: A Newick formatted tree based on multiple sequence alignment pattern: "*.{newick,treefile,dnd}" - msa: type: file - description: A multiple seqeunce alignmnet in FASTA format + description: A multiple sequence alignment in FASTA format pattern: "*.{fasta,fasta.gz,fa,fa.gz,fna,fna.gz}" output: - emsim: diff --git a/modules/nf-core/cnvkit/call/tests/main.nf.test b/modules/nf-core/cnvkit/call/tests/main.nf.test index 6012ef137f7..b2435e50ddd 100644 --- a/modules/nf-core/cnvkit/call/tests/main.nf.test +++ b/modules/nf-core/cnvkit/call/tests/main.nf.test @@ -17,7 +17,7 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], // meta map - file('https://raw.githubusercontent.com/etal/cnvkit/v0.9.9/test/formats/amplicon.cns', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cnr/test2.paired_end.sorted.cns', checkIfExists: true), [] ] @@ -40,7 +40,7 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], // meta map - file('https://raw.githubusercontent.com/etal/cnvkit/v0.9.9/test/formats/amplicon.cns', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cnr/test2.paired_end.sorted.cns', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gvcf/test.genome.vcf.gz', checkIfExists: true) ] @@ -64,7 +64,7 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], // meta map - file('https://raw.githubusercontent.com/etal/cnvkit/v0.9.9/test/formats/amplicon.cns', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cnr/test2.paired_end.sorted.cns', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/gvcf/test.genome.vcf.gz', checkIfExists: true) ] diff --git a/modules/nf-core/cnvkit/call/tests/main.nf.test.snap b/modules/nf-core/cnvkit/call/tests/main.nf.test.snap index 844a415ecf6..d78d39b0b0b 100644 --- a/modules/nf-core/cnvkit/call/tests/main.nf.test.snap +++ b/modules/nf-core/cnvkit/call/tests/main.nf.test.snap @@ -8,7 +8,7 @@ "id": "test", "single_end": false }, - "test.cns:md5,7746029caf9ecc134a075a2d50be269f" + "test.cns:md5,6cff57a91d0376d5d3df6cf669935a82" ] ], "1": [ @@ -20,7 +20,7 @@ "id": "test", "single_end": false }, - "test.cns:md5,7746029caf9ecc134a075a2d50be269f" + "test.cns:md5,6cff57a91d0376d5d3df6cf669935a82" ] ], "versions": [ @@ -29,10 +29,10 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-09-05T22:24:41.048386" + "timestamp": "2024-12-18T17:17:47.974482513" }, "test-cnvkit-call-with-vcf": { "content": [ @@ -43,7 +43,7 @@ "id": "test", "single_end": false }, - "test.cns:md5,2a4b3da8a8131a4ed4ae902a9f96a405" + "test.cns:md5,c9a2bac6fd2980071a499c0ede0d6274" ] ], "1": [ @@ -55,7 +55,7 @@ "id": "test", "single_end": false }, - "test.cns:md5,2a4b3da8a8131a4ed4ae902a9f96a405" + "test.cns:md5,c9a2bac6fd2980071a499c0ede0d6274" ] ], "versions": [ @@ -64,10 +64,10 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-09-05T22:24:50.134984" + "timestamp": "2024-12-18T17:18:06.750975881" }, "test-cnvkit-call-with-vcf-stub": { "content": [ diff --git a/modules/nf-core/cnvkit/export/main.nf b/modules/nf-core/cnvkit/export/main.nf index b65c10632d3..d1d7d3415be 100644 --- a/modules/nf-core/cnvkit/export/main.nf +++ b/modules/nf-core/cnvkit/export/main.nf @@ -8,7 +8,7 @@ process CNVKIT_EXPORT { 'biocontainers/cnvkit:0.9.10--pyhdfd78af_0' }" input: - tuple val(meta) , path(cns) + tuple val(meta), path(cns) output: tuple val(meta), path("${prefix}.${suffix}"), emit: output @@ -32,4 +32,16 @@ process CNVKIT_EXPORT { cnvkit: \$(cnvkit.py version | sed -e 's/cnvkit v//g') END_VERSIONS """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}" + suffix = task.ext.args.tokenize(" ")[0] + """ + touch ${prefix}.${suffix} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + cnvkit: \$(cnvkit.py version | sed -e 's/cnvkit v//g') + END_VERSIONS + """ } diff --git a/modules/nf-core/cnvkit/export/meta.yml b/modules/nf-core/cnvkit/export/meta.yml index a573e03bac5..d37e41f98fb 100644 --- a/modules/nf-core/cnvkit/export/meta.yml +++ b/modules/nf-core/cnvkit/export/meta.yml @@ -8,7 +8,10 @@ keywords: tools: - cnvkit: description: | - CNVkit is a Python library and command-line software toolkit to infer and visualize copy number from high-throughput DNA sequencing data. It is designed for use with hybrid capture, including both whole-exome and custom target panels, and short-read sequencing platforms such as Illumina and Ion Torrent. + CNVkit is a Python library and command-line software toolkit to infer and + visualize copy number from high-throughput DNA sequencing data. + It is designed for use with hybrid capture, including both whole-exome and custom + target panels, and short-read sequencing platforms such as Illumina and Ion Torrent. homepage: https://cnvkit.readthedocs.io/en/stable/index.html documentation: https://cnvkit.readthedocs.io/en/stable/index.html licence: ["Apache-2.0"] diff --git a/modules/nf-core/cnvkit/export/tests/main.nf.test b/modules/nf-core/cnvkit/export/tests/main.nf.test new file mode 100644 index 00000000000..604649287a2 --- /dev/null +++ b/modules/nf-core/cnvkit/export/tests/main.nf.test @@ -0,0 +1,191 @@ + +nextflow_process { + + name "Test Process CNVKIT_EXPORT" + script "../main.nf" + process "CNVKIT_EXPORT" + + tag "modules" + tag "modules_nfcore" + tag "cnvkit" + tag "cnvkit/export" + + config "./nextflow.config" + + test("test_cnvkit_export_bed") { + + when { + params { + cnvkit_export_args = "bed -i test --show all" + } + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cnr/test2.paired_end.sorted.cnr', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("test_cnvkit_export_vcf") { + + when { + params { + cnvkit_export_args = "vcf -i test" + } + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cnr/test2.paired_end.sorted.cns', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("test_cnvkit_export_cdt") { + + when { + params { + cnvkit_export_args = "cdt" + } + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cnr/test2.paired_end.sorted.cns', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("test_cnvkit_export_jtv") { + + when { + params { + cnvkit_export_args = "jtv" + } + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cnr/test2.paired_end.sorted.cns', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("test_cnvkit_export_seg") { + + when { + params { + cnvkit_export_args = "seg" + } + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cnr/test2.paired_end.sorted.cns', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("test_cnvkit_export_theta") { + + when { + params { + cnvkit_export_args = "theta" + } + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cnr/test2.paired_end.sorted.cns', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("test_cnvkit_export_bed - stub") { + options "-stub" + + when { + params { + cnvkit_export_args = "bed -i test" + } + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cnr/test2.paired_end.sorted.cns', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + +} diff --git a/modules/nf-core/cnvkit/export/tests/main.nf.test.snap b/modules/nf-core/cnvkit/export/tests/main.nf.test.snap new file mode 100644 index 00000000000..5ccf7759122 --- /dev/null +++ b/modules/nf-core/cnvkit/export/tests/main.nf.test.snap @@ -0,0 +1,247 @@ +{ + "test_cnvkit_export_jtv": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.jtv:md5,cfffd19614115461f25676943b9aba39" + ] + ], + "1": [ + "versions.yml:md5,27d7726ff40cbade06ae393c3600e06f" + ], + "output": [ + [ + { + "id": "test", + "single_end": false + }, + "test.jtv:md5,cfffd19614115461f25676943b9aba39" + ] + ], + "versions": [ + "versions.yml:md5,27d7726ff40cbade06ae393c3600e06f" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-18T17:14:35.903562642" + }, + "test_cnvkit_export_theta": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.theta:md5,8e914fbdb2ffb89a86c511ac482fcf4c" + ] + ], + "1": [ + "versions.yml:md5,27d7726ff40cbade06ae393c3600e06f" + ], + "output": [ + [ + { + "id": "test", + "single_end": false + }, + "test.theta:md5,8e914fbdb2ffb89a86c511ac482fcf4c" + ] + ], + "versions": [ + "versions.yml:md5,27d7726ff40cbade06ae393c3600e06f" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-18T17:15:10.840376238" + }, + "test_cnvkit_export_bed": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bed:md5,9aed33259897ab550ac9663ce0bbe52c" + ] + ], + "1": [ + "versions.yml:md5,27d7726ff40cbade06ae393c3600e06f" + ], + "output": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bed:md5,9aed33259897ab550ac9663ce0bbe52c" + ] + ], + "versions": [ + "versions.yml:md5,27d7726ff40cbade06ae393c3600e06f" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-18T17:49:08.660743128" + }, + "test_cnvkit_export_bed - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bed:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,27d7726ff40cbade06ae393c3600e06f" + ], + "output": [ + [ + { + "id": "test", + "single_end": false + }, + "test.bed:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,27d7726ff40cbade06ae393c3600e06f" + ] + } + ], + "meta": { + "nf-test": "0.9.1", + "nextflow": "24.10.1" + }, + "timestamp": "2024-12-16T15:14:16.424362905" + }, + "test_cnvkit_export_cdt": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.cdt:md5,af9a62a55f9c8f9e0662f5817ead5a11" + ] + ], + "1": [ + "versions.yml:md5,27d7726ff40cbade06ae393c3600e06f" + ], + "output": [ + [ + { + "id": "test", + "single_end": false + }, + "test.cdt:md5,af9a62a55f9c8f9e0662f5817ead5a11" + ] + ], + "versions": [ + "versions.yml:md5,27d7726ff40cbade06ae393c3600e06f" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-18T17:14:20.296270798" + }, + "test_cnvkit_export_seg": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.seg:md5,bdcc95c5dd0ad0882b5fde5f478fb09a" + ] + ], + "1": [ + "versions.yml:md5,27d7726ff40cbade06ae393c3600e06f" + ], + "output": [ + [ + { + "id": "test", + "single_end": false + }, + "test.seg:md5,bdcc95c5dd0ad0882b5fde5f478fb09a" + ] + ], + "versions": [ + "versions.yml:md5,27d7726ff40cbade06ae393c3600e06f" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-18T17:14:52.372709238" + }, + "test_cnvkit_export_vcf": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.vcf:md5,0a0b4a00192be12f67bb895888026f00" + ] + ], + "1": [ + "versions.yml:md5,27d7726ff40cbade06ae393c3600e06f" + ], + "output": [ + [ + { + "id": "test", + "single_end": false + }, + "test.vcf:md5,0a0b4a00192be12f67bb895888026f00" + ] + ], + "versions": [ + "versions.yml:md5,27d7726ff40cbade06ae393c3600e06f" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-18T17:51:27.269813231" + } +} \ No newline at end of file diff --git a/modules/nf-core/cnvkit/export/tests/nextflow.config b/modules/nf-core/cnvkit/export/tests/nextflow.config new file mode 100644 index 00000000000..0ca33b46e38 --- /dev/null +++ b/modules/nf-core/cnvkit/export/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: 'CNVKIT_EXPORT' { + ext.args = { params.cnvkit_export_args } + } +} \ No newline at end of file diff --git a/modules/nf-core/cnvkit/genemetrics/tests/main.nf.test b/modules/nf-core/cnvkit/genemetrics/tests/main.nf.test index a2d8b4580cf..2a24cbab037 100644 --- a/modules/nf-core/cnvkit/genemetrics/tests/main.nf.test +++ b/modules/nf-core/cnvkit/genemetrics/tests/main.nf.test @@ -17,8 +17,8 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], // meta map - file('https://raw.githubusercontent.com/etal/cnvkit/v0.9.9/test/formats/amplicon.cnr', checkIfExists: true), - file('https://raw.githubusercontent.com/etal/cnvkit/v0.9.9/test/formats/amplicon.cns', checkIfExists: true) + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cnr/test2.paired_end.sorted.cnr', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cnr/test2.paired_end.sorted.cns', checkIfExists: true) ] """ @@ -40,7 +40,7 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], // meta map - file('https://raw.githubusercontent.com/etal/cnvkit/v0.9.9/test/formats/amplicon.cnr', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cnr/test2.paired_end.sorted.cnr', checkIfExists: true), [] ] diff --git a/modules/nf-core/cnvkit/genemetrics/tests/main.nf.test.snap b/modules/nf-core/cnvkit/genemetrics/tests/main.nf.test.snap index 53ed81f3707..07ce4589928 100644 --- a/modules/nf-core/cnvkit/genemetrics/tests/main.nf.test.snap +++ b/modules/nf-core/cnvkit/genemetrics/tests/main.nf.test.snap @@ -8,7 +8,7 @@ "id": "test", "single_end": false }, - "test.tsv:md5,622e154a107301da6f456b4b3196b79d" + "test.tsv:md5,5ec3555520f502f00f551ae7900a3824" ] ], "1": [ @@ -20,7 +20,7 @@ "id": "test", "single_end": false }, - "test.tsv:md5,622e154a107301da6f456b4b3196b79d" + "test.tsv:md5,5ec3555520f502f00f551ae7900a3824" ] ], "versions": [ @@ -29,10 +29,10 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-28T11:17:13.604558" + "timestamp": "2024-12-18T17:21:17.917810184" }, "test-cnvkit-genemetrics-with-cns": { "content": [ @@ -43,7 +43,7 @@ "id": "test", "single_end": false }, - "test.tsv:md5,2a18eca552ea33faab1d39795d9e051c" + "test.tsv:md5,5ec3555520f502f00f551ae7900a3824" ] ], "1": [ @@ -55,7 +55,7 @@ "id": "test", "single_end": false }, - "test.tsv:md5,2a18eca552ea33faab1d39795d9e051c" + "test.tsv:md5,5ec3555520f502f00f551ae7900a3824" ] ], "versions": [ @@ -64,9 +64,9 @@ } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-28T11:17:04.195978" + "timestamp": "2024-12-18T17:21:03.855092906" } } \ No newline at end of file diff --git a/modules/nf-core/concoct/concoct/meta.yml b/modules/nf-core/concoct/concoct/meta.yml index d47d1672c3b..16f9e589efa 100644 --- a/modules/nf-core/concoct/concoct/meta.yml +++ b/modules/nf-core/concoct/concoct/meta.yml @@ -94,7 +94,7 @@ output: e.g. [ id:'test', single_end:false ] - "*_PCA_transformed_data_gt1000.csv": type: file - description: Transformed PCA compontent values + description: Transformed PCA component values pattern: "*_PCA_transformed_data_gt1000.csv" - versions: - versions.yml: diff --git a/modules/nf-core/concoct/mergecutupclustering/meta.yml b/modules/nf-core/concoct/mergecutupclustering/meta.yml index 69a839928d4..c5dd704cb25 100644 --- a/modules/nf-core/concoct/mergecutupclustering/meta.yml +++ b/modules/nf-core/concoct/mergecutupclustering/meta.yml @@ -37,7 +37,7 @@ output: e.g. [ id:'test', single_end:false ] - "*.csv": type: file - description: Cluster assignments per contig part with concensus cluster + description: Cluster assignments per contig part with consensus cluster pattern: "*.csv" - versions: - versions.yml: diff --git a/modules/nf-core/cooler/balance/meta.yml b/modules/nf-core/cooler/balance/meta.yml index ace840ec598..52d9b86d82e 100644 --- a/modules/nf-core/cooler/balance/meta.yml +++ b/modules/nf-core/cooler/balance/meta.yml @@ -36,7 +36,7 @@ output: e.g. [ id:'test', single_end:false ] - ${prefix}.${extension}: type: file - description: Output COOL file balancing weigths + description: Output COOL file balancing weights pattern: "*.cool" - versions: - versions.yml: diff --git a/modules/nf-core/coreograph/environment.yml b/modules/nf-core/coreograph/environment.yml deleted file mode 100644 index 3cebeff05bf..00000000000 --- a/modules/nf-core/coreograph/environment.yml +++ /dev/null @@ -1,3 +0,0 @@ -channels: - - conda-forge - - bioconda diff --git a/modules/nf-core/coreograph/main.nf b/modules/nf-core/coreograph/main.nf index 52a1adcf060..cd2771af425 100644 --- a/modules/nf-core/coreograph/main.nf +++ b/modules/nf-core/coreograph/main.nf @@ -8,9 +8,9 @@ process COREOGRAPH { tuple val(meta), path(image) output: - tuple val(meta), path("*[0-9]*.tif"), emit: cores - tuple val(meta), path("./masks/"), emit: masks - tuple val(meta), path("TMA_MAP.tif"), emit: tma_map + tuple val(meta), path("*[0-9]*.tif") , emit: cores + tuple val(meta), path("./masks/") , emit: masks + tuple val(meta), path("TMA_MAP.tif") , emit: tma_map tuple val(meta), path("centroidsY-X.txt"), emit: centroids path "versions.yml" , emit: versions @@ -20,8 +20,7 @@ process COREOGRAPH { script: def args = task.ext.args ?: '' - def prefix = task.ext.prefix ?: "${meta.id}" - def VERSION = '2.2.9' + def VERSION = '2.2.9' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. """ python /app/UNetCoreograph.py \\ @@ -37,7 +36,7 @@ process COREOGRAPH { """ stub: - def prefix = task.ext.prefix ?: "${meta.id}" + def VERSION = '2.2.9' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. """ touch TMA_MAP.tif cat <<-END_VERSIONS > versions.yml diff --git a/modules/nf-core/coreograph/meta.yml b/modules/nf-core/coreograph/meta.yml index 4cf3b08ef2f..fa8cf9cfff8 100644 --- a/modules/nf-core/coreograph/meta.yml +++ b/modules/nf-core/coreograph/meta.yml @@ -10,7 +10,7 @@ keywords: - Cores tools: - "coreograph": - description: "A TMA dearray porgram that uses UNet, a deep learning model, to + description: "A TMA dearray program that uses UNet, a deep learning model, to identify complete/incomplete tissue cores on a tissue microarray." homepage: "https://mcmicro.org/parameters/core.html#coreograph" documentation: "https://mcmicro.org/troubleshooting/tuning/coreograph.html" diff --git a/modules/nf-core/crisprcleanr/normalize/main.nf b/modules/nf-core/crisprcleanr/normalize/main.nf index 9b0bc7841e4..7df0c735d2f 100644 --- a/modules/nf-core/crisprcleanr/normalize/main.nf +++ b/modules/nf-core/crisprcleanr/normalize/main.nf @@ -49,4 +49,18 @@ process CRISPRCLEANR_NORMALIZE { close(f) """ + + stub: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + + """ + touch ${prefix}_norm_table.tsv + cat <<-END_VERSIONS > versions.yml + "${task.process}": + R: R --version | sed '1!d; s/.*version //; s/ .*//' + CRISPRcleanR: Rscript -e 'packageVersion("CRISPRcleanR")' + END_VERSIONS + """ + } diff --git a/modules/nf-core/crisprcleanr/normalize/tests/main.nf.test b/modules/nf-core/crisprcleanr/normalize/tests/main.nf.test new file mode 100644 index 00000000000..396e546e233 --- /dev/null +++ b/modules/nf-core/crisprcleanr/normalize/tests/main.nf.test @@ -0,0 +1,71 @@ +nextflow_process { + + name "Test Process CRISPRCLEANR_NORMALIZE" + script "../main.nf" + process "CRISPRCLEANR_NORMALIZE" + + + tag "modules" + tag "modules_nfcore" + tag "crisprcleanr" + tag "crisprcleanr/normalize" + + + test("homo_sapiens - [crispr_functional_counts, crispr_functional_library]") { + + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/tsv/functional_genomics_counts.tsv', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/tsv/library_functional_genomics.tsv', checkIfExists: true) + ] + input[1] = 30 + input[2] = 5 + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert file(process.out.norm_count_file[0][1]).text.contains("sgRNA") }, + { assert snapshot( + file(process.out.norm_count_file[0][1]).name, + process.out.versions + ).match() + } + ) + + } + + } + + test("homo_sapiens - [crispr_functional_counts, crispr_functional_library] - stub") { + options "-stub" + when { + process { + """ + input[0] = [ + [ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/tsv/functional_genomics_counts.tsv', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/tsv/library_functional_genomics.tsv', checkIfExists: true) + ] + input[1] = 30 + input[2] = 5 + """ + } + } + + then { + assertAll ( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + + } + + } + +} \ No newline at end of file diff --git a/modules/nf-core/crisprcleanr/normalize/tests/main.nf.test.snap b/modules/nf-core/crisprcleanr/normalize/tests/main.nf.test.snap new file mode 100644 index 00000000000..fe50739b184 --- /dev/null +++ b/modules/nf-core/crisprcleanr/normalize/tests/main.nf.test.snap @@ -0,0 +1,50 @@ +{ + "homo_sapiens - [crispr_functional_counts, crispr_functional_library]": { + "content": [ + "test_norm_table.tsv", + [ + "versions.yml:md5,e954dc2bfa394dae2e55be2b1c16ae31" + ] + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.4" + }, + "timestamp": "2024-09-04T07:11:43.173471859" + }, + "homo_sapiens - [crispr_functional_counts, crispr_functional_library] - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test_norm_table.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,d927535d45027d86be9f9348d5bca474" + ], + "norm_count_file": [ + [ + { + "id": "test", + "single_end": false + }, + "test_norm_table.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,d927535d45027d86be9f9348d5bca474" + ] + } + ], + "meta": { + "nf-test": "0.9.0", + "nextflow": "24.04.4" + }, + "timestamp": "2024-08-30T07:16:03.002248203" + } +} \ No newline at end of file diff --git a/modules/nf-core/crisprcleanr/normalize/tests/tags.yml b/modules/nf-core/crisprcleanr/normalize/tests/tags.yml new file mode 100644 index 00000000000..09202b7b87e --- /dev/null +++ b/modules/nf-core/crisprcleanr/normalize/tests/tags.yml @@ -0,0 +1,2 @@ +crisprcleanr/normalize: + - modules/nf-core/crisprcleanr/normalize/** diff --git a/modules/nf-core/crumble/meta.yml b/modules/nf-core/crumble/meta.yml index cc63012dd3a..20e6889ed01 100644 --- a/modules/nf-core/crumble/meta.yml +++ b/modules/nf-core/crumble/meta.yml @@ -29,7 +29,7 @@ input: description: BED file defining regions to keep quality - - bedout: type: boolean - description: set to true to ouput suspicious regions to a BED file + description: set to true to output suspicious regions to a BED file output: - bam: - meta: diff --git a/modules/nf-core/csvtk/concat/environment.yml b/modules/nf-core/csvtk/concat/environment.yml index 5b97e54e7b3..12087bebfb8 100644 --- a/modules/nf-core/csvtk/concat/environment.yml +++ b/modules/nf-core/csvtk/concat/environment.yml @@ -1,7 +1,6 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda + dependencies: - - "bioconda::csvtk=0.30.0" + - bioconda::csvtk=0.31.0 diff --git a/modules/nf-core/csvtk/concat/main.nf b/modules/nf-core/csvtk/concat/main.nf index 741ed551707..9f17a9b1b6b 100644 --- a/modules/nf-core/csvtk/concat/main.nf +++ b/modules/nf-core/csvtk/concat/main.nf @@ -4,11 +4,11 @@ process CSVTK_CONCAT { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/csvtk:0.30.0--h9ee0642_0' : - 'biocontainers/csvtk:0.30.0--h9ee0642_0' }" + 'https://depot.galaxyproject.org/singularity/csvtk:0.31.0--h9ee0642_0' : + 'biocontainers/csvtk:0.31.0--h9ee0642_0' }" input: - tuple val(meta), path(csv) + tuple val(meta), path(csv, name: 'inputs/csv*/*') val in_format val out_format diff --git a/modules/nf-core/csvtk/concat/tests/main.nf.test b/modules/nf-core/csvtk/concat/tests/main.nf.test index 13f201475c5..b6c1a581a5b 100644 --- a/modules/nf-core/csvtk/concat/tests/main.nf.test +++ b/modules/nf-core/csvtk/concat/tests/main.nf.test @@ -17,9 +17,12 @@ nextflow_process { """ input[0] = [ [ id:'test' ], // meta map - [ file("https://github.com/nf-core/test-datasets/raw/bacass/bacass_hybrid.csv", checkIfExists: true), - file("https://github.com/nf-core/test-datasets/raw/bacass/bacass_long.csv", checkIfExists: true), - file("https://github.com/nf-core/test-datasets/raw/bacass/bacass_short.csv", checkIfExists: true) ] + [ + file("https://github.com/nf-core/test-datasets/raw/bacass/bacass_hybrid.csv", checkIfExists: true), + file("https://github.com/nf-core/test-datasets/raw/bacass/bacass_long.csv", checkIfExists: true), + file("https://github.com/nf-core/test-datasets/raw/bacass/bacass_short.csv", checkIfExists: true), + file("https://github.com/nf-core/test-datasets/raw/bacass/bacass_short.csv", checkIfExists: true) + ] ] input[1] = "tsv" input[2] = "csv" @@ -45,9 +48,11 @@ nextflow_process { """ input[0] = [ [ id:'test' ], // meta map - [ file("https://github.com/nf-core/test-datasets/raw/bacass/bacass_hybrid.csv", checkIfExists: true), - file("https://github.com/nf-core/test-datasets/raw/bacass/bacass_long.csv", checkIfExists: true), - file("https://github.com/nf-core/test-datasets/raw/bacass/bacass_short.csv", checkIfExists: true) ] + [ + file("https://github.com/nf-core/test-datasets/raw/bacass/bacass_hybrid.csv", checkIfExists: true), + file("https://github.com/nf-core/test-datasets/raw/bacass/bacass_long.csv", checkIfExists: true), + file("https://github.com/nf-core/test-datasets/raw/bacass/bacass_short.csv", checkIfExists: true) + ] ] input[1] = "tsv" input[2] = "csv" @@ -64,4 +69,4 @@ nextflow_process { } -} +} \ No newline at end of file diff --git a/modules/nf-core/csvtk/concat/tests/main.nf.test.snap b/modules/nf-core/csvtk/concat/tests/main.nf.test.snap index 777114bafb2..254d34a17a2 100644 --- a/modules/nf-core/csvtk/concat/tests/main.nf.test.snap +++ b/modules/nf-core/csvtk/concat/tests/main.nf.test.snap @@ -11,7 +11,7 @@ ] ], "1": [ - "versions.yml:md5,c04e6be6df50305cd689a92aacec947b" + "versions.yml:md5,c203a84cc5b289951b70302549dcf08d" ], "csv": [ [ @@ -22,11 +22,15 @@ ] ], "versions": [ - "versions.yml:md5,c04e6be6df50305cd689a92aacec947b" + "versions.yml:md5,c203a84cc5b289951b70302549dcf08d" ] } ], - "timestamp": "2024-05-17T12:43:26.787254" + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-08T04:46:46.133640633" }, "tsv - concat - csv": { "content": [ @@ -36,25 +40,29 @@ { "id": "test" }, - "test.csv:md5,917fe5d857f04b58e0f49c384d167cec" + "test.csv:md5,bb0ed52999b6b24297bcefb3c29f0a5c" ] ], "1": [ - "versions.yml:md5,c04e6be6df50305cd689a92aacec947b" + "versions.yml:md5,c203a84cc5b289951b70302549dcf08d" ], "csv": [ [ { "id": "test" }, - "test.csv:md5,917fe5d857f04b58e0f49c384d167cec" + "test.csv:md5,bb0ed52999b6b24297bcefb3c29f0a5c" ] ], "versions": [ - "versions.yml:md5,c04e6be6df50305cd689a92aacec947b" + "versions.yml:md5,c203a84cc5b289951b70302549dcf08d" ] } ], - "timestamp": "2024-05-17T12:43:17.930902" + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-08T04:46:31.419386462" } } \ No newline at end of file diff --git a/modules/nf-core/csvtk/join/environment.yml b/modules/nf-core/csvtk/join/environment.yml index ea951bdb74c..12087bebfb8 100644 --- a/modules/nf-core/csvtk/join/environment.yml +++ b/modules/nf-core/csvtk/join/environment.yml @@ -1,5 +1,6 @@ channels: - conda-forge - bioconda + dependencies: - - bioconda::csvtk=0.30.0 + - bioconda::csvtk=0.31.0 diff --git a/modules/nf-core/csvtk/join/main.nf b/modules/nf-core/csvtk/join/main.nf index 5f3afeeae88..0bd6b2a54bc 100644 --- a/modules/nf-core/csvtk/join/main.nf +++ b/modules/nf-core/csvtk/join/main.nf @@ -4,8 +4,8 @@ process CSVTK_JOIN { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/csvtk:0.30.0--h9ee0642_0': - 'biocontainers/csvtk:0.30.0--h9ee0642_0' }" + 'https://depot.galaxyproject.org/singularity/csvtk:0.31.0--h9ee0642_0': + 'biocontainers/csvtk:0.31.0--h9ee0642_0' }" input: tuple val(meta), path(csv) diff --git a/modules/nf-core/csvtk/join/tests/main.nf.test.snap b/modules/nf-core/csvtk/join/tests/main.nf.test.snap index b124788bb68..8ba7b861227 100644 --- a/modules/nf-core/csvtk/join/tests/main.nf.test.snap +++ b/modules/nf-core/csvtk/join/tests/main.nf.test.snap @@ -11,7 +11,7 @@ ] ], "1": [ - "versions.yml:md5,e76147e4eca968d23543e7007522f1d3" + "versions.yml:md5,b80d80628bb39bba336cff32fe502aac" ], "csv": [ [ @@ -22,11 +22,15 @@ ] ], "versions": [ - "versions.yml:md5,e76147e4eca968d23543e7007522f1d3" + "versions.yml:md5,b80d80628bb39bba336cff32fe502aac" ] } ], - "timestamp": "2024-05-21T15:45:44.045434" + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-02T06:18:42.09571517" }, "join - csv - stub": { "content": [ @@ -40,7 +44,7 @@ ] ], "1": [ - "versions.yml:md5,e76147e4eca968d23543e7007522f1d3" + "versions.yml:md5,b80d80628bb39bba336cff32fe502aac" ], "csv": [ [ @@ -51,10 +55,14 @@ ] ], "versions": [ - "versions.yml:md5,e76147e4eca968d23543e7007522f1d3" + "versions.yml:md5,b80d80628bb39bba336cff32fe502aac" ] } ], - "timestamp": "2024-05-21T15:45:55.59201" + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-02T06:19:00.2453934" } } \ No newline at end of file diff --git a/modules/nf-core/csvtk/split/environment.yml b/modules/nf-core/csvtk/split/environment.yml index ea951bdb74c..12087bebfb8 100644 --- a/modules/nf-core/csvtk/split/environment.yml +++ b/modules/nf-core/csvtk/split/environment.yml @@ -1,5 +1,6 @@ channels: - conda-forge - bioconda + dependencies: - - bioconda::csvtk=0.30.0 + - bioconda::csvtk=0.31.0 diff --git a/modules/nf-core/csvtk/split/main.nf b/modules/nf-core/csvtk/split/main.nf index 1b7d5dd157d..26a9a1b6496 100644 --- a/modules/nf-core/csvtk/split/main.nf +++ b/modules/nf-core/csvtk/split/main.nf @@ -4,8 +4,8 @@ process CSVTK_SPLIT { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/csvtk:0.30.0--h9ee0642_0' : - 'biocontainers/csvtk:0.30.0--h9ee0642_0' }" + 'https://depot.galaxyproject.org/singularity/csvtk:0.31.0--h9ee0642_0' : + 'biocontainers/csvtk:0.31.0--h9ee0642_0' }" input: tuple val(meta), path(csv) diff --git a/modules/nf-core/csvtk/split/tests/main.nf.test.snap b/modules/nf-core/csvtk/split/tests/main.nf.test.snap index f0ec9def08e..bb18d6b0d13 100644 --- a/modules/nf-core/csvtk/split/tests/main.nf.test.snap +++ b/modules/nf-core/csvtk/split/tests/main.nf.test.snap @@ -11,7 +11,7 @@ ] ], "1": [ - "versions.yml:md5,b17a61b0c41b19f7df3740979d68a8a0" + "versions.yml:md5,9695b1a727446fc930c3439f7fb8d462" ], "split_csv": [ [ @@ -22,11 +22,15 @@ ] ], "versions": [ - "versions.yml:md5,b17a61b0c41b19f7df3740979d68a8a0" + "versions.yml:md5,9695b1a727446fc930c3439f7fb8d462" ] } ], - "timestamp": "2024-05-22T10:02:46.053585" + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-02T06:17:06.047247227" }, "split - csv": { "content": [ @@ -46,7 +50,7 @@ ] ], "1": [ - "versions.yml:md5,b17a61b0c41b19f7df3740979d68a8a0" + "versions.yml:md5,9695b1a727446fc930c3439f7fb8d462" ], "split_csv": [ [ @@ -63,10 +67,14 @@ ] ], "versions": [ - "versions.yml:md5,b17a61b0c41b19f7df3740979d68a8a0" + "versions.yml:md5,9695b1a727446fc930c3439f7fb8d462" ] } ], - "timestamp": "2024-05-22T10:02:35.8578" + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-02T06:16:54.62614058" } } \ No newline at end of file diff --git a/modules/nf-core/custom/matrixfilter/templates/matrixfilter.R b/modules/nf-core/custom/matrixfilter/templates/matrixfilter.R index 7e53938a7cb..a6f734eb911 100755 --- a/modules/nf-core/custom/matrixfilter/templates/matrixfilter.R +++ b/modules/nf-core/custom/matrixfilter/templates/matrixfilter.R @@ -143,7 +143,7 @@ if (opt\$sample_file != ''){ # If we're not using a sample sheet to select columns, then at least make # sure the ones we have are numeric (some upstream things like the RNA-seq - # workflow have annotation colummns as well) + # workflow have annotation columns as well) numeric_columns <- unlist(lapply(1:ncol(abundance_matrix), function(x) is.numeric(abundance_matrix[,x]))) abundance_matrix <- abundance_matrix[,numeric_columns] diff --git a/modules/nf-core/deeptools/alignmentsieve/meta.yml b/modules/nf-core/deeptools/alignmentsieve/meta.yml index 37d381ca41d..4e781c61368 100644 --- a/modules/nf-core/deeptools/alignmentsieve/meta.yml +++ b/modules/nf-core/deeptools/alignmentsieve/meta.yml @@ -7,7 +7,7 @@ keywords: - ATACshift tools: - deeptools: - description: A set of user-friendly tools for normalization and visualzation of + description: A set of user-friendly tools for normalization and visualization of deep-sequencing data homepage: https://deeptools.readthedocs.io/en/develop/content/tools/alignmentSieve.html documentation: https://deeptools.readthedocs.io/en/develop/content/tools/alignmentSieve.html diff --git a/modules/nf-core/deeptools/bamcoverage/meta.yml b/modules/nf-core/deeptools/bamcoverage/meta.yml index c349bfb9319..08d858d931e 100644 --- a/modules/nf-core/deeptools/bamcoverage/meta.yml +++ b/modules/nf-core/deeptools/bamcoverage/meta.yml @@ -7,7 +7,7 @@ keywords: - track tools: - deeptools: - description: A set of user-friendly tools for normalization and visualzation of + description: A set of user-friendly tools for normalization and visualization of deep-sequencing data homepage: https://deeptools.readthedocs.io/en/develop/content/tools/bamCoverage.html documentation: https://deeptools.readthedocs.io/en/develop/content/tools/bamCoverage.html diff --git a/modules/nf-core/deseq2/differential/templates/deseq2_differential.R b/modules/nf-core/deseq2/differential/templates/deseq2_differential.R index 532d70765a3..b10618ed81a 100755 --- a/modules/nf-core/deseq2/differential/templates/deseq2_differential.R +++ b/modules/nf-core/deseq2/differential/templates/deseq2_differential.R @@ -522,7 +522,7 @@ sink() ################################################ ################################################ -r.version <- strsplit(version[['version.string']], ' ')[[1]][3] +r.version <- paste(R.version[['major']],R.version[['minor']], sep = ".") deseq2.version <- as.character(packageVersion('DESeq2')) writeLines( diff --git a/modules/nf-core/duphold/main.nf b/modules/nf-core/duphold/main.nf index 5f64d992a40..af43991008c 100644 --- a/modules/nf-core/duphold/main.nf +++ b/modules/nf-core/duphold/main.nf @@ -8,7 +8,7 @@ process DUPHOLD { 'biocontainers/duphold:0.2.1--h516909a_1' }" input: - tuple val(meta), path(alignment_file), path(alignement_index), path(sv_variants), path(snp_variants), path(snp_variants_index) + tuple val(meta), path(alignment_file), path(alignment_index), path(sv_variants), path(snp_variants), path(snp_variants_index) path(fasta) path(fasta_fai) diff --git a/modules/nf-core/duphold/meta.yml b/modules/nf-core/duphold/meta.yml index da4d166055f..2fbcb3145c3 100644 --- a/modules/nf-core/duphold/meta.yml +++ b/modules/nf-core/duphold/meta.yml @@ -29,7 +29,7 @@ input: - alignment_file: type: file description: file containing alignments - - alignement_index: + - alignment_index: type: file description: index of alignment file - sv_variants: diff --git a/modules/nf-core/dysgu/environment.yml b/modules/nf-core/dysgu/environment.yml index f3b35f5ac4f..cbf7a7668df 100644 --- a/modules/nf-core/dysgu/environment.yml +++ b/modules/nf-core/dysgu/environment.yml @@ -2,4 +2,4 @@ channels: - conda-forge - bioconda dependencies: - - dysgu + - dysgu=1.6.5 diff --git a/modules/nf-core/dysgu/main.nf b/modules/nf-core/dysgu/main.nf index 6aa1deea958..00677d3782b 100644 --- a/modules/nf-core/dysgu/main.nf +++ b/modules/nf-core/dysgu/main.nf @@ -4,8 +4,8 @@ process DYSGU { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/dysgu:48830f55112c399e': - 'community.wave.seqera.io/library/dysgu:faf71ac972284412' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/3a/3a8406b0443d7ed75cd1ff9a687b2f7dd6d30e5ce91d79a8e3c9372bebab5e19/data': + 'community.wave.seqera.io/library/dysgu:1.6.5--69cfa1b1db5c2aec' }" input: tuple val(meta), path(input), path(index) diff --git a/modules/nf-core/eido/convert/environment.yml b/modules/nf-core/eido/convert/environment.yml index de4dc485911..11ca69f4353 100644 --- a/modules/nf-core/eido/convert/environment.yml +++ b/modules/nf-core/eido/convert/environment.yml @@ -4,3 +4,4 @@ channels: dependencies: - conda-forge::eido=0.2.2 - conda-forge::peppy=0.35.7 + - conda-forge::setuptools=72.2.0 diff --git a/modules/nf-core/eido/convert/main.nf b/modules/nf-core/eido/convert/main.nf index 1c1cb06d8bb..1ba02ece565 100644 --- a/modules/nf-core/eido/convert/main.nf +++ b/modules/nf-core/eido/convert/main.nf @@ -4,8 +4,8 @@ process EIDO_CONVERT { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/eido_peppy:7f50d6891ca1a6d9' : - 'community.wave.seqera.io/library/eido_peppy:0de9533940828c4d' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/4a/4aef51a3d75d6b950bb643ed5ebc1d7243d67bbf3de0410fcaa7d347e8fc0007/data' : + 'community.wave.seqera.io/library/eido_peppy_setuptools:53ed68799568c4fa' }" input: path samplesheet diff --git a/modules/nf-core/elprep/filter/meta.yml b/modules/nf-core/elprep/filter/meta.yml index 2af3b8b1c38..3ba0549140c 100644 --- a/modules/nf-core/elprep/filter/meta.yml +++ b/modules/nf-core/elprep/filter/meta.yml @@ -94,7 +94,7 @@ input: given file in IGV format. - - get_assembly_regions: type: boolean - description: Get the assembly regions calculated by haplotypecaller to the speficied + description: Get the assembly regions calculated by haplotypecaller to the specified file in IGV format. output: - bam: diff --git a/modules/nf-core/fcsgx/fetchdb/tests/main.nf.test b/modules/nf-core/fcsgx/fetchdb/tests/main.nf.test index 4b3fc35dcae..d2360c8d0cf 100644 --- a/modules/nf-core/fcsgx/fetchdb/tests/main.nf.test +++ b/modules/nf-core/fcsgx/fetchdb/tests/main.nf.test @@ -21,7 +21,7 @@ nextflow_process { then { assertAll( { assert process.success }, - // Some output files are too large to calcualte MD5sums, so we just list the files in the output directory. + // Some output files are too large to calculate MD5sums, so we just list the files in the output directory. { assert snapshot( file(process.out.database.get(0)).list().sort(), process.out.versions diff --git a/modules/nf-core/fgbio/groupreadsbyumi/meta.yml b/modules/nf-core/fgbio/groupreadsbyumi/meta.yml index 3e525fd647d..c6d588daf18 100644 --- a/modules/nf-core/fgbio/groupreadsbyumi/meta.yml +++ b/modules/nf-core/fgbio/groupreadsbyumi/meta.yml @@ -34,7 +34,7 @@ input: type: string enum: ["Identity", "Edit", "Adjacency", "Paired"] description: | - Reguired argument: defines the UMI assignment strategy. + Required argument: defines the UMI assignment strategy. Must be chosen among: Identity, Edit, Adjacency, Paired. output: - bam: diff --git a/modules/nf-core/flye/main.nf b/modules/nf-core/flye/main.nf index 8803655d4a9..fecab1943b8 100644 --- a/modules/nf-core/flye/main.nf +++ b/modules/nf-core/flye/main.nf @@ -4,8 +4,8 @@ process FLYE { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/flye:2.9.5--eb07d7b7094f222c' : - 'community.wave.seqera.io/library/flye:2.9.5--0221998e9c3ec606' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/fa/fa1c1e961de38d24cf36c424a8f4a9920ddd07b63fdb4cfa51c9e3a593c3c979/data' : + 'community.wave.seqera.io/library/flye:2.9.5--d577924c8416ccd8' }" input: tuple val(meta), path(reads) diff --git a/modules/nf-core/foldmason/easymsa/main.nf b/modules/nf-core/foldmason/easymsa/main.nf index b4870da0d10..ec7b86b8f59 100644 --- a/modules/nf-core/foldmason/easymsa/main.nf +++ b/modules/nf-core/foldmason/easymsa/main.nf @@ -4,7 +4,7 @@ process FOLDMASON_EASYMSA { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/foldmason_pigz:d8dfffbc768abe03': + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/06/067e6389ab95497b753ba1deabaa6acbce25b99c8cfcf39c06d5c1af42fd7751/data': 'community.wave.seqera.io/library/foldmason_pigz:88809eb5649534b0' }" diff --git a/modules/nf-core/gatk/realignertargetcreator/meta.yml b/modules/nf-core/gatk/realignertargetcreator/meta.yml index 789f0b2bf69..063a5c617fd 100644 --- a/modules/nf-core/gatk/realignertargetcreator/meta.yml +++ b/modules/nf-core/gatk/realignertargetcreator/meta.yml @@ -79,12 +79,12 @@ output: e.g. [ id:'test', single_end:false ] - "*.intervals": type: file - description: File containg intervals that represent sites of extant and potential + description: File containing intervals that represent sites of extant and potential indels. pattern: "*.intervals" - s: type: file - description: File containg intervals that represent sites of extant and potential + description: File containing intervals that represent sites of extant and potential indels. pattern: "*.intervals" - versions: diff --git a/modules/nf-core/gatk4/asereadcounter/meta.yml b/modules/nf-core/gatk4/asereadcounter/meta.yml index 799f9cbed94..81ae7f5929b 100644 --- a/modules/nf-core/gatk4/asereadcounter/meta.yml +++ b/modules/nf-core/gatk4/asereadcounter/meta.yml @@ -1,5 +1,5 @@ name: "gatk4_asereadcounter" -description: Calculates the allele-specific read counts for alle-specific expression +description: Calculates the allele-specific read counts for allele-specific expression analysis of RNAseq data keywords: - allele-specific diff --git a/modules/nf-core/gatk4/asereadcounter/main.nf.test b/modules/nf-core/gatk4/asereadcounter/tests/main.nf.test similarity index 100% rename from modules/nf-core/gatk4/asereadcounter/main.nf.test rename to modules/nf-core/gatk4/asereadcounter/tests/main.nf.test diff --git a/modules/nf-core/gatk4/asereadcounter/main.nf.test.snap b/modules/nf-core/gatk4/asereadcounter/tests/main.nf.test.snap similarity index 100% rename from modules/nf-core/gatk4/asereadcounter/main.nf.test.snap rename to modules/nf-core/gatk4/asereadcounter/tests/main.nf.test.snap diff --git a/modules/nf-core/gatk4/createsomaticpanelofnormals/meta.yml b/modules/nf-core/gatk4/createsomaticpanelofnormals/meta.yml index 45d88c16a08..707c207631f 100644 --- a/modules/nf-core/gatk4/createsomaticpanelofnormals/meta.yml +++ b/modules/nf-core/gatk4/createsomaticpanelofnormals/meta.yml @@ -1,5 +1,5 @@ name: gatk4_createsomaticpanelofnormals -description: Create a panel of normals contraining germline and artifactual sites +description: Create a panel of normals constraining germline and artifactual sites for use with mutect2. keywords: - createsomaticpanelofnormals diff --git a/modules/nf-core/gatk4/genomicsdbimport/meta.yml b/modules/nf-core/gatk4/genomicsdbimport/meta.yml index 174ae2eb0a8..ba734b288f9 100644 --- a/modules/nf-core/gatk4/genomicsdbimport/meta.yml +++ b/modules/nf-core/gatk4/genomicsdbimport/meta.yml @@ -38,7 +38,7 @@ input: pattern: "*.interval_list" - interval_value: type: string - description: if an intervals file has not been spcified, the value enetered + description: if an intervals file has not been specified, the value entered here will be used as an interval via the "-L" argument pattern: "example: chr1:1000-10000" - wspace: diff --git a/modules/nf-core/graphtyper/genotype/meta.yml b/modules/nf-core/graphtyper/genotype/meta.yml index 8e109be90a8..639ff9564fa 100644 --- a/modules/nf-core/graphtyper/genotype/meta.yml +++ b/modules/nf-core/graphtyper/genotype/meta.yml @@ -9,7 +9,7 @@ keywords: tools: - "graphtyper": description: A graph-based variant caller capable of genotyping population-scale - short read data sets while incoperating previously discovered variants. + short read data sets while incorporating previously discovered variants. homepage: "https://github.com/DecodeGenetics/graphtyper" documentation: "https://github.com/DecodeGenetics/graphtyper/wiki/User-guide" tool_dev_url: "https://github.com/DecodeGenetics/graphtyper" @@ -47,7 +47,7 @@ input: e.g. [ id:'genome' ] - ref_fai: type: file - description: Reference index file. This is automatically found based on referece + description: Reference index file. This is automatically found based on reference input file name. pattern: "*.{.fai}" - - region_file: diff --git a/modules/nf-core/graphtyper/vcfconcatenate/meta.yml b/modules/nf-core/graphtyper/vcfconcatenate/meta.yml index f2512a33616..940de616ee4 100644 --- a/modules/nf-core/graphtyper/vcfconcatenate/meta.yml +++ b/modules/nf-core/graphtyper/vcfconcatenate/meta.yml @@ -8,7 +8,7 @@ keywords: tools: - "graphtyper": description: A graph-based variant caller capable of genotyping population-scale - short read data sets while incoperating previously discovered variants. + short read data sets while incorporating previously discovered variants. homepage: "https://github.com/DecodeGenetics/graphtyper" documentation: "https://github.com/DecodeGenetics/graphtyper/wiki/User-guide" tool_dev_url: "https://github.com/DecodeGenetics/graphtyper" diff --git a/modules/nf-core/gstama/polyacleanup/meta.yml b/modules/nf-core/gstama/polyacleanup/meta.yml index 7f7284a7c6e..47c6547b50b 100644 --- a/modules/nf-core/gstama/polyacleanup/meta.yml +++ b/modules/nf-core/gstama/polyacleanup/meta.yml @@ -37,7 +37,7 @@ output: e.g. [ id:'test', single_end:false ] - "*_tama.fa.gz": type: file - description: The Full Length Non Chimeric reads clened from remaining polyA + description: The Full Length Non Chimeric reads cleaned from remaining polyA tails. The sequences are in FASTA format compressed with gzip. pattern: "*_tama.fa.gz" - report: diff --git a/modules/nf-core/gzrt/environment.yml b/modules/nf-core/gzrt/environment.yml index 7ce5686f8dc..92cec669a77 100644 --- a/modules/nf-core/gzrt/environment.yml +++ b/modules/nf-core/gzrt/environment.yml @@ -3,4 +3,4 @@ channels: - conda-forge - bioconda dependencies: - - "bioconda::gzrt=0.8" + - "bioconda::gzrt=0.9.1" diff --git a/modules/nf-core/gzrt/main.nf b/modules/nf-core/gzrt/main.nf index 3d72f9ad05a..a8c398ec652 100644 --- a/modules/nf-core/gzrt/main.nf +++ b/modules/nf-core/gzrt/main.nf @@ -4,28 +4,52 @@ process GZRT { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/gzrt:0.8--he4a0461_0': - 'biocontainers/gzrt:0.8--he4a0461_0' }" + 'https://depot.galaxyproject.org/singularity/gzrt:0.9.1--h577a1d6_1': + 'biocontainers/gzrt:0.9.1--h577a1d6_1' }" input: tuple val(meta), path(fastqgz) output: - tuple val(meta), path("*_recovered.fastq.gz"), emit: fastqrecovered - path "versions.yml" , emit: versions + tuple val(meta), path("${prefix}*.fastq.gz"), emit: recovered + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when script: - if (fastqgz.extension != "gz") { - error "GZRT works with .gz files only." + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}_recovered" + fastqgz.each { file -> + if (file.extension != "gz") { + error "GZRT works with .gz files only. Offending file: ${file}" + } + + if ((meta.single_end && "${file}" == "${prefix}.fastq.gz") || + (!meta.single_end && ("${file}" == "${prefix}_1.fastq.gz" || "${file}" == "${prefix}_2.fastq.gz"))) { + error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!" + } } - def prefix = task.ext.prefix ?: "${meta.id}" """ - gzrecover -o ${prefix}_recovered.fastq ${fastqgz} - gzip ${prefix}_recovered.fastq + if [ "$meta.single_end" == true ]; then + gzrecover ${args} -p ${fastqgz} | gzip > ${prefix}.fastq.gz + + if [ -e "${prefix}.fastq.gz" ] && [ ! -s "${prefix}.fastq.gz" ]; then + echo "" | gzip > ${prefix}.fastq.gz + fi + else + gzrecover ${args} -p ${fastqgz[0]} | gzip > ${prefix}_1.fastq.gz + gzrecover ${args} -p ${fastqgz[1]} | gzip > ${prefix}_2.fastq.gz + + if [ -e "${prefix}_1.fastq.gz" ] && [ ! -s "${prefix}_1.fastq.gz" ]; then + echo "" | gzip > ${prefix}_1.fastq.gz + fi + + if [ -e "${prefix}_2.fastq.gz" ] && [ ! -s "${prefix}_2.fastq.gz" ]; then + echo "" | gzip > ${prefix}_2.fastq.gz + fi + fi soft_line="${task.process}" ver_line="gzrt: \$(gzrecover -V |& sed '1!d ; s/gzrecover //')" @@ -36,13 +60,27 @@ process GZRT { """ stub: - def prefix = task.ext.prefix ?: "${meta.id}" + prefix = task.ext.prefix ?: "${meta.id}_recovered" + fastqgz.each { file -> + if (file.extension != "gz") { + error "GZRT works with .gz files only. Offending file: ${file}" + } + + if ((meta.single_end && "${file}" == "${prefix}.fastq.gz") || + (!meta.single_end && ("${file}" == "${prefix}_1.fastq.gz" || "${file}" == "${prefix}_2.fastq.gz"))) { + error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!" + } + } """ - echo "" | gzip > ${prefix}_recovered.fastq.gz + if [ "$meta.single_end" == true ]; then + echo "" | gzip > ${prefix}.fastq.gz + else + echo "" | gzip > ${prefix}_1.fastq.gz + echo "" | gzip > ${prefix}_2.fastq.gz + fi soft_line="${task.process}" ver_line="gzrt: \$(gzrecover -V |& sed '1!d ; s/gzrecover //')" - cat <<-END_VERSIONS > versions.yml "\${soft_line}": \${ver_line} diff --git a/modules/nf-core/gzrt/meta.yml b/modules/nf-core/gzrt/meta.yml index 9c9da273823..5bc42cf44b0 100644 --- a/modules/nf-core/gzrt/meta.yml +++ b/modules/nf-core/gzrt/meta.yml @@ -23,21 +23,21 @@ input: - fastqgz: type: file - description: FASTQ.gz file + description: FASTQ.gz files pattern: "*.{gz}" ontologies: - edam: "http://edamontology.org/format_3989" output: - - fastqrecovered: + - recovered: - meta: type: map description: | Groovy Map containing sample information e.g. `[ id:'sample1', single_end:false ]` - - "*_recovered.fastq.gz": + - "${prefix}*.fastq.gz": type: file - description: Recovered FASTQ.gz file + description: Recovered FASTQ.gz files pattern: "*.{gz}" ontologies: - edam: "http://edamontology.org/format_3989" diff --git a/modules/nf-core/gzrt/tests/main.nf.test b/modules/nf-core/gzrt/tests/main.nf.test index bd4bbb95825..71a2a9ae03b 100644 --- a/modules/nf-core/gzrt/tests/main.nf.test +++ b/modules/nf-core/gzrt/tests/main.nf.test @@ -8,42 +8,87 @@ nextflow_process { tag "modules_nfcore" tag "gzrt" - test("Run gzrt on 30 paired-end reads - fastq.gz") { - + test("Run gzrt on test2_1_corrupted single-end - fastq.gz") { when { process { """ - input[0] = [ - [ id:'test', single_end:false ], // meta map - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_corrupted_30reads_R1.fastq.gz', checkIfExists: true) + input[0] = + [ + [ id:'test-single', single_end:true ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test2_1_corrupted_10kb.fastq.gz', checkIfExists: true) ] """ } } - then { assertAll( { assert process.success }, { assert snapshot(process.out).match() } ) } + } + test("Run gzrt on test2_1_corrupted and test2_2 paired-end - fastq.gz") { + when { + process { + """ + input[0] = + [ + [ id:'test-paired', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test2_1_corrupted_10kb.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test2_2.fastq.gz', checkIfExists: true) + ] + ] + """ + } + } + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } } - test("Run gzrt on 30 paired-end reads - fastq.gz - stub") { + test("Run gzrt on test2_1_corrupted single-end - fastq.gz - stub") { options "-stub" when { process { """ input[0] = [ - [ id:'test', single_end:false ], // meta map - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_corrupted_30reads_R1.fastq.gz', checkIfExists: true) + [ id:'test-single-stub', single_end:true ], // meta map + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test2_1_corrupted_10kb.fastq.gz', checkIfExists: true) ] """ } } + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("Run gzrt on test2_1_corrupted and test2_2 paired-end - fastq.gz - stub") { + options "-stub" + when { + process { + """ + input[0] = + [ + [ id:'test-paired-stub', single_end:false ], // meta map + [ + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test2_1_corrupted_10kb.fastq.gz', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test2_2.fastq.gz', checkIfExists: true) + ] + ] + """ + } + } then { assertAll( { assert process.success }, diff --git a/modules/nf-core/gzrt/tests/main.nf.test.snap b/modules/nf-core/gzrt/tests/main.nf.test.snap index 2d57f1983c3..cd4c1c225d1 100644 --- a/modules/nf-core/gzrt/tests/main.nf.test.snap +++ b/modules/nf-core/gzrt/tests/main.nf.test.snap @@ -1,72 +1,154 @@ { - "Run gzrt on 30 paired-end reads - fastq.gz": { + "Run gzrt on test2_1_corrupted single-end - fastq.gz": { "content": [ { "0": [ [ { - "id": "test", + "id": "test-single", + "single_end": true + }, + "test-single_recovered.fastq.gz:md5,6bc7d0b6304039eadba7321d21e7b2c9" + ] + ], + "1": [ + "versions.yml:md5,6d1e28b8a8043e3cba67606c7acdc676" + ], + "recovered": [ + [ + { + "id": "test-single", + "single_end": true + }, + "test-single_recovered.fastq.gz:md5,6bc7d0b6304039eadba7321d21e7b2c9" + ] + ], + "versions": [ + "versions.yml:md5,6d1e28b8a8043e3cba67606c7acdc676" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-24T11:23:22.53088" + }, + "Run gzrt on test2_1_corrupted single-end - fastq.gz - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test-single-stub", + "single_end": true + }, + "test-single-stub_recovered.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + "versions.yml:md5,6d1e28b8a8043e3cba67606c7acdc676" + ], + "recovered": [ + [ + { + "id": "test-single-stub", + "single_end": true + }, + "test-single-stub_recovered.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions": [ + "versions.yml:md5,6d1e28b8a8043e3cba67606c7acdc676" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-24T11:24:13.88887" + }, + "Run gzrt on test2_1_corrupted and test2_2 paired-end - fastq.gz - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test-paired-stub", "single_end": false }, - "test_recovered.fastq.gz:md5,5eca10f954656478b5af96868222eec4" + [ + "test-paired-stub_recovered_1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test-paired-stub_recovered_2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] ] ], "1": [ - "versions.yml:md5,b9467d4cb860eb2941a2078a3dd3cf41" + "versions.yml:md5,6d1e28b8a8043e3cba67606c7acdc676" ], - "fastqrecovered": [ + "recovered": [ [ { - "id": "test", + "id": "test-paired-stub", "single_end": false }, - "test_recovered.fastq.gz:md5,5eca10f954656478b5af96868222eec4" + [ + "test-paired-stub_recovered_1.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test-paired-stub_recovered_2.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] ] ], "versions": [ - "versions.yml:md5,b9467d4cb860eb2941a2078a3dd3cf41" + "versions.yml:md5,6d1e28b8a8043e3cba67606c7acdc676" ] } ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.1" + "nextflow": "24.10.3" }, - "timestamp": "2024-12-15T13:49:10.174131" + "timestamp": "2024-12-24T11:24:58.632197" }, - "Run gzrt on 30 paired-end reads - fastq.gz - stub": { + "Run gzrt on test2_1_corrupted and test2_2 paired-end - fastq.gz": { "content": [ { "0": [ [ { - "id": "test", + "id": "test-paired", "single_end": false }, - "test_recovered.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + [ + "test-paired_recovered_1.fastq.gz:md5,6bc7d0b6304039eadba7321d21e7b2c9", + "test-paired_recovered_2.fastq.gz:md5,641919946a0e572ca7483f6e54476f3b" + ] ] ], "1": [ - "versions.yml:md5,b9467d4cb860eb2941a2078a3dd3cf41" + "versions.yml:md5,6d1e28b8a8043e3cba67606c7acdc676" ], - "fastqrecovered": [ + "recovered": [ [ { - "id": "test", + "id": "test-paired", "single_end": false }, - "test_recovered.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + [ + "test-paired_recovered_1.fastq.gz:md5,6bc7d0b6304039eadba7321d21e7b2c9", + "test-paired_recovered_2.fastq.gz:md5,641919946a0e572ca7483f6e54476f3b" + ] ] ], "versions": [ - "versions.yml:md5,b9467d4cb860eb2941a2078a3dd3cf41" + "versions.yml:md5,6d1e28b8a8043e3cba67606c7acdc676" ] } ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.1" + "nextflow": "24.10.3" }, - "timestamp": "2024-12-15T13:49:20.410351" + "timestamp": "2024-12-24T11:23:40.906933" } } \ No newline at end of file diff --git a/modules/nf-core/hisat2/align/meta.yml b/modules/nf-core/hisat2/align/meta.yml index d869c5d567b..3416c87aaa4 100644 --- a/modules/nf-core/hisat2/align/meta.yml +++ b/modules/nf-core/hisat2/align/meta.yml @@ -63,7 +63,7 @@ output: e.g. [ id:'test', single_end:false ] - "*.log": type: file - description: Aligment log + description: Alignment log pattern: "*.log" - fastq: - meta: diff --git a/modules/nf-core/hmmer/eslreformat/meta.yml b/modules/nf-core/hmmer/eslreformat/meta.yml index e2104034948..9aa20900133 100644 --- a/modules/nf-core/hmmer/eslreformat/meta.yml +++ b/modules/nf-core/hmmer/eslreformat/meta.yml @@ -33,7 +33,7 @@ output: e.g. [ id:'test', single_end:false ] - "*.*.gz": type: file - description: Reformated sequence file + description: Reformatted sequence file pattern: "*.*.gz" - versions: - versions.yml: diff --git a/modules/nf-core/homer/pos2bed/meta.yml b/modules/nf-core/homer/pos2bed/meta.yml index 5fc5f9b1db4..5c3fa64b5e7 100644 --- a/modules/nf-core/homer/pos2bed/meta.yml +++ b/modules/nf-core/homer/pos2bed/meta.yml @@ -1,5 +1,5 @@ name: "homer_pos2bed" -description: Coverting from HOMER peak to BED file formats +description: Converting from HOMER peak to BED file formats keywords: - peaks - bed diff --git a/modules/nf-core/humid/meta.yml b/modules/nf-core/humid/meta.yml index e5fa28df0b8..3444f5c55fe 100644 --- a/modules/nf-core/humid/meta.yml +++ b/modules/nf-core/humid/meta.yml @@ -74,7 +74,7 @@ output: e.g. `[ id:'sample1', single_end:false ]` - ${prefix}: type: directory - description: Directory containg statistics file, use for multiqc. + description: Directory containing statistics file, use for multiqc. pattern: "${prefix}/" - versions: - versions.yml: diff --git a/modules/nf-core/igv/js/meta.yml b/modules/nf-core/igv/js/meta.yml index b7f01b44c7f..b12c1f56231 100644 --- a/modules/nf-core/igv/js/meta.yml +++ b/modules/nf-core/igv/js/meta.yml @@ -9,7 +9,7 @@ tools: - "igv": description: | Create an embeddable interactive genome browser component. - Output files are expected to be present in the same directory as teh genome browser html file. + Output files are expected to be present in the same directory as the genome browser html file. To visualise it, files have to be served. Check the documentation at: https://github.com/igvteam/igv-webapp for an example and https://github.com/igvteam/igv.js/wiki/Data-Server-Requirements for server requirements diff --git a/modules/nf-core/igvreports/main.nf b/modules/nf-core/igvreports/main.nf index 30e242dcd2d..b47846e444b 100644 --- a/modules/nf-core/igvreports/main.nf +++ b/modules/nf-core/igvreports/main.nf @@ -8,7 +8,7 @@ process IGVREPORTS { 'biocontainers/igv-reports:1.12.0--pyh7cba7a3_0' }" input: - tuple val(meta), path(sites), path(tracks), path(tracks_indicies) + tuple val(meta), path(sites), path(tracks), path(tracks_indices) tuple val(meta2), path(fasta), path(fai) output: diff --git a/modules/nf-core/igvreports/meta.yml b/modules/nf-core/igvreports/meta.yml index fc1a9f84eaf..e18df544ec8 100644 --- a/modules/nf-core/igvreports/meta.yml +++ b/modules/nf-core/igvreports/meta.yml @@ -32,7 +32,7 @@ input: description: | List of any set of files of the types that IGV can display, eg BAM/CRAM, GTF/GFF, VCF, BED, etc - - tracks_indicies: + - tracks_indices: type: file description: | List of indices for the tracks diff --git a/modules/nf-core/iqtree/meta.yml b/modules/nf-core/iqtree/meta.yml index b20bdd88abf..98aa9bedc3d 100644 --- a/modules/nf-core/iqtree/meta.yml +++ b/modules/nf-core/iqtree/meta.yml @@ -1,6 +1,6 @@ name: iqtree description: Produces a Newick format phylogeny from a multiple sequence alignment - using the maxium likelihood algorithm. Capable of bacterial genome size alignments. + using the maximum likelihood algorithm. Capable of bacterial genome size alignments. keywords: - phylogeny - newick @@ -316,13 +316,13 @@ output: - meta: type: file description: | - File containing site-specific subtitution + File containing site-specific substitution rates determined by maximum likelihood (--mlrate) pattern: "*.{mlrate}" - "*.mlrate": type: file description: | - File containing site-specific subtitution + File containing site-specific substitution rates determined by maximum likelihood (--mlrate) pattern: "*.{mlrate}" - exch_matrix: diff --git a/modules/nf-core/iqtree/tests/main.nf.test.snap b/modules/nf-core/iqtree/tests/main.nf.test.snap index 723acaa7ccc..e65bcfbd7a6 100644 --- a/modules/nf-core/iqtree/tests/main.nf.test.snap +++ b/modules/nf-core/iqtree/tests/main.nf.test.snap @@ -154,10 +154,10 @@ ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "23.10.1" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-05-28T15:48:04.215824801" + "timestamp": "2025-01-08T11:19:50.409343671" }, "stub": { "content": [ diff --git a/modules/nf-core/irescue/meta.yml b/modules/nf-core/irescue/meta.yml index 81e98b011cb..72e9e7bb96d 100644 --- a/modules/nf-core/irescue/meta.yml +++ b/modules/nf-core/irescue/meta.yml @@ -74,7 +74,7 @@ output: e.g. `[ id:'sample1', single_end:false ]` - ${prefix}/irescue.log: type: file - description: Text file contianing run informations + description: Text file containing run information pattern: "${prefix}/irescue.log" - tmp: - meta: diff --git a/modules/nf-core/ivar/consensus/meta.yml b/modules/nf-core/ivar/consensus/meta.yml index afe8a3d6f2d..a9728231fd8 100644 --- a/modules/nf-core/ivar/consensus/meta.yml +++ b/modules/nf-core/ivar/consensus/meta.yml @@ -31,7 +31,7 @@ input: - - save_mpileup: type: boolean description: Save mpileup file generated by ivar consensus - patter: "*.mpileup" + pattern: "*.mpileup" output: - fasta: - meta: diff --git a/modules/nf-core/ivar/variants/meta.yml b/modules/nf-core/ivar/variants/meta.yml index 369032bef10..94dbc7841fb 100644 --- a/modules/nf-core/ivar/variants/meta.yml +++ b/modules/nf-core/ivar/variants/meta.yml @@ -38,11 +38,11 @@ input: description: A GFF file in the GFF3 format can be supplied to specify coordinates of open reading frames (ORFs). In absence of GFF file, amino acid translation will not be done. - patter: "*.gff" + pattern: "*.gff" - - save_mpileup: type: boolean description: Save mpileup file generated by ivar variants - patter: "*.mpileup" + pattern: "*.mpileup" output: - tsv: - meta: diff --git a/modules/nf-core/kma/index/environment.yml b/modules/nf-core/kma/index/environment.yml new file mode 100644 index 00000000000..c8578084115 --- /dev/null +++ b/modules/nf-core/kma/index/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - bioconda + - conda-forge +dependencies: + - bioconda::kma=1.4.15 \ No newline at end of file diff --git a/modules/nf-core/kma/index/main.nf b/modules/nf-core/kma/index/main.nf new file mode 100644 index 00000000000..ebc700a997d --- /dev/null +++ b/modules/nf-core/kma/index/main.nf @@ -0,0 +1,52 @@ +process KMA_INDEX { + tag "$meta.id" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/kma:1.4.15--h577a1d6_1' : + 'biocontainers/kma:1.4.15--h577a1d6_1' }" + + input: + tuple val(meta), path(fasta) + + output: + tuple val(meta), path("kmaindex"), emit: index + path "versions.yml", emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def prefix = task.ext.prefix ?: "${fasta.baseName}" + def args = task.ext.args ?: '' + """ + mkdir kmaindex + kma \\ + index \\ + -i ${fasta} \\ + -o kmaindex/${prefix} \\ + $args + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + kma: \$(echo \$(kma_index -v 2>&1) | sed 's/^KMA_index-\$//') + END_VERSIONS + """ + + stub: + def prefix = task.ext.prefix ?: "${fasta.baseName}" + """ + mkdir kmaindex + + touch kmaindex/${prefix}.comp.b + touch kmaindex/${prefix}.length.b + touch kmaindex/${prefix}.name + touch kmaindex/${prefix}.seq.b + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + kma: \$(echo \$(kma_index -v 2>&1) | sed 's/^KMA_index-\$//') + END_VERSIONS + """ +} diff --git a/modules/nf-core/kma/index/meta.yml b/modules/nf-core/kma/index/meta.yml new file mode 100644 index 00000000000..32f054a962e --- /dev/null +++ b/modules/nf-core/kma/index/meta.yml @@ -0,0 +1,52 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json +name: "kma_index" +description: This module wraps the index module of the KMA alignment tool. +keywords: + - alignment + - kma + - index + - database + - reads +tools: + - "kma": + description: "Rapid and precise alignment of raw reads against redundant databases with KMA" + homepage: "https://bitbucket.org/genomicepidemiology/kma/src/master/" + documentation: "https://bitbucket.org/genomicepidemiology/kma/src/master/" + tool_dev_url: "https://bitbucket.org/genomicepidemiology/kma/src/master/" + doi: "10.1186/s12859-018-2336-6" + licence: + ["http://www.apache.org/licenses/LICENSE-2.0"] + +input: + - - meta: + type: map + description: | + Groovy Map containing reference information + e.g. `[ id:'reference' ]` + - fasta: + type: file + description: (Multi-)FASTA file of your database sequences. + pattern: "*.{fa,fasta}" + +output: + - index: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'reference' ]` + - 'kmaindex': + type: directory + description: Directory of KMA index files + pattern: "*.{comp.b,length.b,name,seq.b}" + - versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + +authors: + - "@krannich479" +maintainers: + - "@krannich479" diff --git a/modules/nf-core/kma/index/tests/main.nf.test b/modules/nf-core/kma/index/tests/main.nf.test new file mode 100644 index 00000000000..04054c1789b --- /dev/null +++ b/modules/nf-core/kma/index/tests/main.nf.test @@ -0,0 +1,59 @@ + +nextflow_process { + + name "Test Process KMA_INDEX" + script "../main.nf" + process "KMA_INDEX" + + tag "modules" + tag "modules_nfcore" + tag "kma" + tag "kma/index" + + test("sarscov2 - fasta") { + + when { + process { + """ + input[0] = [ + [ id:'MT192765.1', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("sarscov2 - fasta - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'MT192765.1', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + +} diff --git a/modules/nf-core/kma/index/tests/main.nf.test.snap b/modules/nf-core/kma/index/tests/main.nf.test.snap new file mode 100644 index 00000000000..93c0510e8cc --- /dev/null +++ b/modules/nf-core/kma/index/tests/main.nf.test.snap @@ -0,0 +1,92 @@ +{ + "sarscov2 - fasta - stub": { + "content": [ + { + "0": [ + [ + { + "id": "MT192765.1", + "single_end": false + }, + [ + "genome.comp.b:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.length.b:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.name:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.seq.b:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "1": [ + "versions.yml:md5,ba9763933bdc811b1e19e466cceae9c8" + ], + "index": [ + [ + { + "id": "MT192765.1", + "single_end": false + }, + [ + "genome.comp.b:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.length.b:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.name:md5,d41d8cd98f00b204e9800998ecf8427e", + "genome.seq.b:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ] + ], + "versions": [ + "versions.yml:md5,ba9763933bdc811b1e19e466cceae9c8" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-19T17:07:30.875020727" + }, + "sarscov2 - fasta": { + "content": [ + { + "0": [ + [ + { + "id": "MT192765.1", + "single_end": false + }, + [ + "genome.comp.b:md5,2d4075cee26606cfb9b3624f8d7fe260", + "genome.length.b:md5,aaded6f5e19db3f3292e7ff9cd0157ec", + "genome.name:md5,e98cac0e614ac65bb458f77245af7d32", + "genome.seq.b:md5,48647a9697263fe218ddc728c2d01641" + ] + ] + ], + "1": [ + "versions.yml:md5,ba9763933bdc811b1e19e466cceae9c8" + ], + "index": [ + [ + { + "id": "MT192765.1", + "single_end": false + }, + [ + "genome.comp.b:md5,2d4075cee26606cfb9b3624f8d7fe260", + "genome.length.b:md5,aaded6f5e19db3f3292e7ff9cd0157ec", + "genome.name:md5,e98cac0e614ac65bb458f77245af7d32", + "genome.seq.b:md5,48647a9697263fe218ddc728c2d01641" + ] + ] + ], + "versions": [ + "versions.yml:md5,ba9763933bdc811b1e19e466cceae9c8" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-19T17:07:24.8942212" + } +} \ No newline at end of file diff --git a/modules/nf-core/kma/index/tests/tags.yml b/modules/nf-core/kma/index/tests/tags.yml new file mode 100644 index 00000000000..7e914abebfe --- /dev/null +++ b/modules/nf-core/kma/index/tests/tags.yml @@ -0,0 +1,2 @@ +kma/index: + - "modules/nf-core/kma/index/**" diff --git a/modules/nf-core/kraken2/kraken2/meta.yml b/modules/nf-core/kraken2/kraken2/meta.yml index 8693764679c..39e3601c872 100644 --- a/modules/nf-core/kraken2/kraken2/meta.yml +++ b/modules/nf-core/kraken2/kraken2/meta.yml @@ -84,7 +84,7 @@ output: type: file description: | Kraken2 report containing stats about classified - and not classifed reads. + and not classified reads. pattern: "*.{report.txt}" - versions: - versions.yml: diff --git a/modules/nf-core/krakentools/extractkrakenreads/meta.yml b/modules/nf-core/krakentools/extractkrakenreads/meta.yml index b772ba0f5be..1ef1f3c3333 100644 --- a/modules/nf-core/krakentools/extractkrakenreads/meta.yml +++ b/modules/nf-core/krakentools/extractkrakenreads/meta.yml @@ -46,7 +46,7 @@ input: - report: type: file description: Optional Kraken2 report containing stats about classified and not - classifed reads. + classified reads. pattern: "*.{report.txt}" output: - extracted_kraken2_reads: diff --git a/modules/nf-core/last/dotplot/environment.yml b/modules/nf-core/last/dotplot/environment.yml index 3ea815cd7b8..28989363674 100644 --- a/modules/nf-core/last/dotplot/environment.yml +++ b/modules/nf-core/last/dotplot/environment.yml @@ -1,7 +1,6 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda + dependencies: - - "bioconda::last=1571" + - bioconda::last=1595 diff --git a/modules/nf-core/last/dotplot/main.nf b/modules/nf-core/last/dotplot/main.nf index 1ac3c9ff980..da11ceba322 100644 --- a/modules/nf-core/last/dotplot/main.nf +++ b/modules/nf-core/last/dotplot/main.nf @@ -4,8 +4,8 @@ process LAST_DOTPLOT { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/last:1571--h43eeafb_0' : - 'biocontainers/last:1571--h43eeafb_0' }" + 'https://depot.galaxyproject.org/singularity/last:1595--h43eeafb_0' : + 'biocontainers/last:1595--h43eeafb_0' }" input: tuple val(meta), path(maf), path(annot_b) diff --git a/modules/nf-core/last/dotplot/meta.yml b/modules/nf-core/last/dotplot/meta.yml index 1bb1460cd69..58579b96a40 100644 --- a/modules/nf-core/last/dotplot/meta.yml +++ b/modules/nf-core/last/dotplot/meta.yml @@ -23,7 +23,7 @@ input: e.g. `[ id:'sample1', single_end:false ]` - maf: type: file - description: Multiple Aligment Format (MAF) file, compressed with gzip + description: Multiple Alignment Format (MAF) file, compressed with gzip pattern: "*.{maf.gz}" - annot_b: type: file diff --git a/modules/nf-core/last/dotplot/tests/main.nf.test.snap b/modules/nf-core/last/dotplot/tests/main.nf.test.snap index 41b3b7e92f7..f27ae3e6b19 100644 --- a/modules/nf-core/last/dotplot/tests/main.nf.test.snap +++ b/modules/nf-core/last/dotplot/tests/main.nf.test.snap @@ -2,37 +2,37 @@ "sarscov2 - contigs - genome - gif": { "content": [ [ - "versions.yml:md5,2b5085f9eec6d9623d34b918b66ffe58" + "versions.yml:md5,4faa6f4aecf50e689d84709648818a9f" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:39:30.517622" + "timestamp": "2024-12-17T18:22:21.508978" }, "sarscov2 - contigs - genome - png - stub": { "content": [ [ - "versions.yml:md5,2b5085f9eec6d9623d34b918b66ffe58" + "versions.yml:md5,4faa6f4aecf50e689d84709648818a9f" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:39:46.73375" + "timestamp": "2024-12-17T18:22:37.504391" }, "sarscov2 - contigs - genome - png": { "content": [ [ - "versions.yml:md5,2b5085f9eec6d9623d34b918b66ffe58" + "versions.yml:md5,4faa6f4aecf50e689d84709648818a9f" ] ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:39:14.058511" + "timestamp": "2024-12-17T18:22:05.800777" } } \ No newline at end of file diff --git a/modules/nf-core/last/lastal/environment.yml b/modules/nf-core/last/lastal/environment.yml index 3ea815cd7b8..28989363674 100644 --- a/modules/nf-core/last/lastal/environment.yml +++ b/modules/nf-core/last/lastal/environment.yml @@ -1,7 +1,6 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda + dependencies: - - "bioconda::last=1571" + - bioconda::last=1595 diff --git a/modules/nf-core/last/lastal/main.nf b/modules/nf-core/last/lastal/main.nf index 470e87ccf1e..73369a86928 100644 --- a/modules/nf-core/last/lastal/main.nf +++ b/modules/nf-core/last/lastal/main.nf @@ -4,8 +4,8 @@ process LAST_LASTAL { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/last:1571--h43eeafb_0' : - 'biocontainers/last:1571--h43eeafb_0' }" + 'https://depot.galaxyproject.org/singularity/last:1595--h43eeafb_0' : + 'biocontainers/last:1595--h43eeafb_0' }" input: tuple val(meta), path(fastx), path (param_file) diff --git a/modules/nf-core/last/lastal/tests/main.nf.test.snap b/modules/nf-core/last/lastal/tests/main.nf.test.snap index d9a09c9aef6..23705f7d04c 100644 --- a/modules/nf-core/last/lastal/tests/main.nf.test.snap +++ b/modules/nf-core/last/lastal/tests/main.nf.test.snap @@ -8,7 +8,7 @@ "id": "contigs", "single_end": false }, - "contigs.maf.gz:md5,dd02b4855c49bb3d46106177f5a08955" + "contigs.maf.gz:md5,fac3fd9e98f2fac019e09d434634e542" ] ], "1": [ @@ -21,7 +21,7 @@ ] ], "2": [ - "versions.yml:md5,12f5da2547baed9f5b15b31b1cd22951" + "versions.yml:md5,defd389a6cc838d0cc9c6ec1dcea81c5" ], "maf": [ [ @@ -29,7 +29,7 @@ "id": "contigs", "single_end": false }, - "contigs.maf.gz:md5,dd02b4855c49bb3d46106177f5a08955" + "contigs.maf.gz:md5,fac3fd9e98f2fac019e09d434634e542" ] ], "multiqc": [ @@ -42,15 +42,15 @@ ] ], "versions": [ - "versions.yml:md5,12f5da2547baed9f5b15b31b1cd22951" + "versions.yml:md5,defd389a6cc838d0cc9c6ec1dcea81c5" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:23:20.411461" + "timestamp": "2024-12-17T18:27:20.528278" }, "sarscov2 - contigs - genome - stub": { "content": [ @@ -74,7 +74,7 @@ ] ], "2": [ - "versions.yml:md5,12f5da2547baed9f5b15b31b1cd22951" + "versions.yml:md5,defd389a6cc838d0cc9c6ec1dcea81c5" ], "maf": [ [ @@ -95,15 +95,15 @@ ] ], "versions": [ - "versions.yml:md5,12f5da2547baed9f5b15b31b1cd22951" + "versions.yml:md5,defd389a6cc838d0cc9c6ec1dcea81c5" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:24:03.533878" + "timestamp": "2024-12-17T18:28:03.933791" }, "sarscov2 - contigs - genome - withparams": { "content": [ @@ -114,7 +114,7 @@ "id": "contigs", "single_end": false }, - "contigs.maf.gz:md5,8e4058c39c8ea92da0fa063398b6346d" + "contigs.maf.gz:md5,5c4e2c43ed5371453a88a72586577f39" ] ], "1": [ @@ -127,7 +127,7 @@ ] ], "2": [ - "versions.yml:md5,12f5da2547baed9f5b15b31b1cd22951" + "versions.yml:md5,defd389a6cc838d0cc9c6ec1dcea81c5" ], "maf": [ [ @@ -135,7 +135,7 @@ "id": "contigs", "single_end": false }, - "contigs.maf.gz:md5,8e4058c39c8ea92da0fa063398b6346d" + "contigs.maf.gz:md5,5c4e2c43ed5371453a88a72586577f39" ] ], "multiqc": [ @@ -148,14 +148,14 @@ ] ], "versions": [ - "versions.yml:md5,12f5da2547baed9f5b15b31b1cd22951" + "versions.yml:md5,defd389a6cc838d0cc9c6ec1dcea81c5" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:23:42.107503" + "timestamp": "2024-12-17T18:27:42.180309" } } \ No newline at end of file diff --git a/modules/nf-core/last/lastdb/environment.yml b/modules/nf-core/last/lastdb/environment.yml index 3ea815cd7b8..28989363674 100644 --- a/modules/nf-core/last/lastdb/environment.yml +++ b/modules/nf-core/last/lastdb/environment.yml @@ -1,7 +1,6 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda + dependencies: - - "bioconda::last=1571" + - bioconda::last=1595 diff --git a/modules/nf-core/last/lastdb/main.nf b/modules/nf-core/last/lastdb/main.nf index 916838450ae..1476dd487cc 100644 --- a/modules/nf-core/last/lastdb/main.nf +++ b/modules/nf-core/last/lastdb/main.nf @@ -4,8 +4,8 @@ process LAST_LASTDB { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/last:1571--h43eeafb_0' : - 'biocontainers/last:1571--h43eeafb_0' }" + 'https://depot.galaxyproject.org/singularity/last:1595--h43eeafb_0' : + 'biocontainers/last:1595--h43eeafb_0' }" input: tuple val(meta), path(fastx) diff --git a/modules/nf-core/last/lastdb/tests/main.nf.test.snap b/modules/nf-core/last/lastdb/tests/main.nf.test.snap index 3ff3212f6f8..5ccd1923b84 100644 --- a/modules/nf-core/last/lastdb/tests/main.nf.test.snap +++ b/modules/nf-core/last/lastdb/tests/main.nf.test.snap @@ -19,7 +19,7 @@ ] ], "1": [ - "versions.yml:md5,00a5bd5d4a9df81b83a6279cecb34701" + "versions.yml:md5,9b9adf5e1036575622de89a2183d60f1" ], "index": [ [ @@ -38,15 +38,15 @@ ] ], "versions": [ - "versions.yml:md5,00a5bd5d4a9df81b83a6279cecb34701" + "versions.yml:md5,9b9adf5e1036575622de89a2183d60f1" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:34:34.647102" + "timestamp": "2024-12-17T18:28:57.035523" }, "sarscov2 - fastq gzipped": { "content": [ @@ -59,7 +59,7 @@ [ "test.bck:md5,05b14d8ac418b3193d9cc921086cea05", "test.des:md5,26ab49015cc572172b9efa50fc5190bc", - "test.prj:md5,e668d4ee5fb0c2e9c82bd4a2fc3e7998", + "test.prj:md5,94d4c9b51136494870775837d7e7f06c", "test.sds:md5,d3deb4c985081c9f5ad6684d405bd20b", "test.ssp:md5,5c17139a9022b0cb97f007146fa1c6da", "test.suf:md5,9ac359afa86a8964d81a87a1d4f05ef0", @@ -68,7 +68,7 @@ ] ], "1": [ - "versions.yml:md5,00a5bd5d4a9df81b83a6279cecb34701" + "versions.yml:md5,9b9adf5e1036575622de89a2183d60f1" ], "index": [ [ @@ -78,7 +78,7 @@ [ "test.bck:md5,05b14d8ac418b3193d9cc921086cea05", "test.des:md5,26ab49015cc572172b9efa50fc5190bc", - "test.prj:md5,e668d4ee5fb0c2e9c82bd4a2fc3e7998", + "test.prj:md5,94d4c9b51136494870775837d7e7f06c", "test.sds:md5,d3deb4c985081c9f5ad6684d405bd20b", "test.ssp:md5,5c17139a9022b0cb97f007146fa1c6da", "test.suf:md5,9ac359afa86a8964d81a87a1d4f05ef0", @@ -87,15 +87,15 @@ ] ], "versions": [ - "versions.yml:md5,00a5bd5d4a9df81b83a6279cecb34701" + "versions.yml:md5,9b9adf5e1036575622de89a2183d60f1" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:34:18.336299" + "timestamp": "2024-12-17T18:28:40.861818" }, "sarscov2 - fasta": { "content": [ @@ -108,7 +108,7 @@ [ "test.bck:md5,157526d333b88523cb15ac4efe00738f", "test.des:md5,3a9ea6d336e113a74d7fdca5e7b623fc", - "test.prj:md5,f7e7445a3ff008efe127ca841f59fe9c", + "test.prj:md5,73136d767ab23467bd6fd80b85376369", "test.sds:md5,e7729db27ac7a5a109c9d48cfcdc9015", "test.ssp:md5,53524efdea3d8989201419a29e81ec1f", "test.suf:md5,ef7482260705bb8146acbbbdce6c0068", @@ -117,7 +117,7 @@ ] ], "1": [ - "versions.yml:md5,00a5bd5d4a9df81b83a6279cecb34701" + "versions.yml:md5,9b9adf5e1036575622de89a2183d60f1" ], "index": [ [ @@ -127,7 +127,7 @@ [ "test.bck:md5,157526d333b88523cb15ac4efe00738f", "test.des:md5,3a9ea6d336e113a74d7fdca5e7b623fc", - "test.prj:md5,f7e7445a3ff008efe127ca841f59fe9c", + "test.prj:md5,73136d767ab23467bd6fd80b85376369", "test.sds:md5,e7729db27ac7a5a109c9d48cfcdc9015", "test.ssp:md5,53524efdea3d8989201419a29e81ec1f", "test.suf:md5,ef7482260705bb8146acbbbdce6c0068", @@ -136,14 +136,14 @@ ] ], "versions": [ - "versions.yml:md5,00a5bd5d4a9df81b83a6279cecb34701" + "versions.yml:md5,9b9adf5e1036575622de89a2183d60f1" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:34:01.800286" + "timestamp": "2024-12-17T18:28:25.358778" } } \ No newline at end of file diff --git a/modules/nf-core/last/mafconvert/environment.yml b/modules/nf-core/last/mafconvert/environment.yml index 3ea815cd7b8..28989363674 100644 --- a/modules/nf-core/last/mafconvert/environment.yml +++ b/modules/nf-core/last/mafconvert/environment.yml @@ -1,7 +1,6 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda + dependencies: - - "bioconda::last=1571" + - bioconda::last=1595 diff --git a/modules/nf-core/last/mafconvert/main.nf b/modules/nf-core/last/mafconvert/main.nf index bbe6c75d9a6..4c88c36fe31 100644 --- a/modules/nf-core/last/mafconvert/main.nf +++ b/modules/nf-core/last/mafconvert/main.nf @@ -4,8 +4,8 @@ process LAST_MAFCONVERT { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/last:1571--h43eeafb_0' : - 'biocontainers/last:1571--h43eeafb_0' }" + 'https://depot.galaxyproject.org/singularity/last:1595--h43eeafb_0' : + 'biocontainers/last:1595--h43eeafb_0' }" input: tuple val(meta), path(maf) diff --git a/modules/nf-core/last/mafconvert/meta.yml b/modules/nf-core/last/mafconvert/meta.yml index 0bc690aa766..4b9d2cff8a1 100644 --- a/modules/nf-core/last/mafconvert/meta.yml +++ b/modules/nf-core/last/mafconvert/meta.yml @@ -22,7 +22,7 @@ input: e.g. `[ id:'sample1', single_end:false ]` - maf: type: file - description: Multiple Aligment Format (MAF) file, optionally compressed with + description: Multiple Alignment Format (MAF) file, optionally compressed with gzip pattern: "*.{maf.gz,maf}" - - format: diff --git a/modules/nf-core/last/mafconvert/tests/main.nf.test.snap b/modules/nf-core/last/mafconvert/tests/main.nf.test.snap index f1c41c08189..98c908fc28c 100644 --- a/modules/nf-core/last/mafconvert/tests/main.nf.test.snap +++ b/modules/nf-core/last/mafconvert/tests/main.nf.test.snap @@ -35,7 +35,7 @@ ], "9": [ - "versions.yml:md5,4e515249c766dcf398f517bb837adce5" + "versions.yml:md5,e831f54a26b0f70d8339969112cf0ad5" ], "axt_gz": [ @@ -70,15 +70,15 @@ ], "versions": [ - "versions.yml:md5,4e515249c766dcf398f517bb837adce5" + "versions.yml:md5,e831f54a26b0f70d8339969112cf0ad5" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:26:55.89707" + "timestamp": "2024-12-17T18:29:34.869839" }, "sarscov2 - bam": { "content": [ @@ -116,7 +116,7 @@ ], "9": [ - "versions.yml:md5,4e515249c766dcf398f517bb837adce5" + "versions.yml:md5,e831f54a26b0f70d8339969112cf0ad5" ], "axt_gz": [ @@ -151,14 +151,14 @@ ], "versions": [ - "versions.yml:md5,4e515249c766dcf398f517bb837adce5" + "versions.yml:md5,e831f54a26b0f70d8339969112cf0ad5" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:26:39.429173" + "timestamp": "2024-12-17T18:29:19.004671" } } \ No newline at end of file diff --git a/modules/nf-core/last/mafswap/environment.yml b/modules/nf-core/last/mafswap/environment.yml index 3ea815cd7b8..28989363674 100644 --- a/modules/nf-core/last/mafswap/environment.yml +++ b/modules/nf-core/last/mafswap/environment.yml @@ -1,7 +1,6 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda + dependencies: - - "bioconda::last=1571" + - bioconda::last=1595 diff --git a/modules/nf-core/last/mafswap/main.nf b/modules/nf-core/last/mafswap/main.nf index 4dadf391ff4..39d041d4d05 100644 --- a/modules/nf-core/last/mafswap/main.nf +++ b/modules/nf-core/last/mafswap/main.nf @@ -4,8 +4,8 @@ process LAST_MAFSWAP { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/last:1571--h43eeafb_0' : - 'biocontainers/last:1571--h43eeafb_0' }" + 'https://depot.galaxyproject.org/singularity/last:1595--h43eeafb_0' : + 'biocontainers/last:1595--h43eeafb_0' }" input: tuple val(meta), path(maf) diff --git a/modules/nf-core/last/mafswap/meta.yml b/modules/nf-core/last/mafswap/meta.yml index 4b9642a648a..40e5947c55f 100644 --- a/modules/nf-core/last/mafswap/meta.yml +++ b/modules/nf-core/last/mafswap/meta.yml @@ -22,7 +22,7 @@ input: e.g. `[ id:'sample1', single_end:false ]` - maf: type: file - description: Multiple Aligment Format (MAF) file, optionally compressed with + description: Multiple Alignment Format (MAF) file, optionally compressed with gzip pattern: "*.{maf.gz,maf}" output: @@ -34,7 +34,7 @@ output: e.g. `[ id:'sample1', single_end:false ]` - "*.maf.gz": type: file - description: Multiple Aligment Format (MAF) file, compressed with gzip + description: Multiple Alignment Format (MAF) file, compressed with gzip pattern: "*.{maf.gz}" - versions: - versions.yml: diff --git a/modules/nf-core/last/mafswap/tests/main.nf.test.snap b/modules/nf-core/last/mafswap/tests/main.nf.test.snap index 5c41a422a0b..7a6a2231ee7 100644 --- a/modules/nf-core/last/mafswap/tests/main.nf.test.snap +++ b/modules/nf-core/last/mafswap/tests/main.nf.test.snap @@ -11,7 +11,7 @@ ] ], "1": [ - "versions.yml:md5,1a6fc970e6952d90c3b560162af8fb1f" + "versions.yml:md5,85000544798e9ca3417a3f77a57c50b1" ], "maf": [ [ @@ -22,15 +22,15 @@ ] ], "versions": [ - "versions.yml:md5,1a6fc970e6952d90c3b560162af8fb1f" + "versions.yml:md5,85000544798e9ca3417a3f77a57c50b1" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:31:41.694631" + "timestamp": "2024-12-17T18:29:54.600472" }, "sarscov2 - contigs - genome - stub": { "content": [ @@ -44,7 +44,7 @@ ] ], "1": [ - "versions.yml:md5,1a6fc970e6952d90c3b560162af8fb1f" + "versions.yml:md5,85000544798e9ca3417a3f77a57c50b1" ], "maf": [ [ @@ -55,14 +55,14 @@ ] ], "versions": [ - "versions.yml:md5,1a6fc970e6952d90c3b560162af8fb1f" + "versions.yml:md5,85000544798e9ca3417a3f77a57c50b1" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:31:58.257208" + "timestamp": "2024-12-17T18:30:12.49493" } } \ No newline at end of file diff --git a/modules/nf-core/last/postmask/environment.yml b/modules/nf-core/last/postmask/environment.yml index 3ea815cd7b8..28989363674 100644 --- a/modules/nf-core/last/postmask/environment.yml +++ b/modules/nf-core/last/postmask/environment.yml @@ -1,7 +1,6 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda + dependencies: - - "bioconda::last=1571" + - bioconda::last=1595 diff --git a/modules/nf-core/last/postmask/main.nf b/modules/nf-core/last/postmask/main.nf index e9ff4878fde..e30787cf5ef 100644 --- a/modules/nf-core/last/postmask/main.nf +++ b/modules/nf-core/last/postmask/main.nf @@ -4,8 +4,8 @@ process LAST_POSTMASK { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/last:1571--h43eeafb_0' : - 'biocontainers/last:1571--h43eeafb_0' }" + 'https://depot.galaxyproject.org/singularity/last:1595--h43eeafb_0' : + 'biocontainers/last:1595--h43eeafb_0' }" input: tuple val(meta), path(maf) diff --git a/modules/nf-core/last/postmask/meta.yml b/modules/nf-core/last/postmask/meta.yml index 925e07561d2..da8f06841c5 100644 --- a/modules/nf-core/last/postmask/meta.yml +++ b/modules/nf-core/last/postmask/meta.yml @@ -23,7 +23,7 @@ input: e.g. `[ id:'sample1', single_end:false ]` - maf: type: file - description: Multiple Aligment Format (MAF) file, optionally compressed with + description: Multiple Alignment Format (MAF) file, optionally compressed with gzip pattern: "*.{maf.gz,maf}" output: @@ -35,7 +35,7 @@ output: e.g. `[ id:'sample1', single_end:false ]` - "*.maf.gz": type: file - description: Multiple Aligment Format (MAF) file, compressed with gzip + description: Multiple Alignment Format (MAF) file, compressed with gzip pattern: "*.{maf.gz}" - versions: - versions.yml: diff --git a/modules/nf-core/last/postmask/tests/main.nf.test.snap b/modules/nf-core/last/postmask/tests/main.nf.test.snap index 3af5efbc4b8..24d0dde61cd 100644 --- a/modules/nf-core/last/postmask/tests/main.nf.test.snap +++ b/modules/nf-core/last/postmask/tests/main.nf.test.snap @@ -11,7 +11,7 @@ ] ], "1": [ - "versions.yml:md5,d1f6eee514bd694a0aeead8ee815a19e" + "versions.yml:md5,04d0682aabbbcd7619e50de0cb049e62" ], "maf": [ [ @@ -22,15 +22,15 @@ ] ], "versions": [ - "versions.yml:md5,d1f6eee514bd694a0aeead8ee815a19e" + "versions.yml:md5,04d0682aabbbcd7619e50de0cb049e62" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:36:54.898194" + "timestamp": "2024-12-17T18:30:33.686959" }, "sarscov2 - contigs - genome - stub": { "content": [ @@ -44,7 +44,7 @@ ] ], "1": [ - "versions.yml:md5,d1f6eee514bd694a0aeead8ee815a19e" + "versions.yml:md5,04d0682aabbbcd7619e50de0cb049e62" ], "maf": [ [ @@ -55,14 +55,14 @@ ] ], "versions": [ - "versions.yml:md5,d1f6eee514bd694a0aeead8ee815a19e" + "versions.yml:md5,04d0682aabbbcd7619e50de0cb049e62" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:37:11.363434" + "timestamp": "2024-12-17T18:30:50.067406" } } \ No newline at end of file diff --git a/modules/nf-core/last/split/environment.yml b/modules/nf-core/last/split/environment.yml index 3ea815cd7b8..28989363674 100644 --- a/modules/nf-core/last/split/environment.yml +++ b/modules/nf-core/last/split/environment.yml @@ -1,7 +1,6 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda + dependencies: - - "bioconda::last=1571" + - bioconda::last=1595 diff --git a/modules/nf-core/last/split/main.nf b/modules/nf-core/last/split/main.nf index 9fcf3588d57..bead72b52dd 100644 --- a/modules/nf-core/last/split/main.nf +++ b/modules/nf-core/last/split/main.nf @@ -4,8 +4,8 @@ process LAST_SPLIT { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/last:1571--h43eeafb_0' : - 'biocontainers/last:1571--h43eeafb_0' }" + 'https://depot.galaxyproject.org/singularity/last:1595--h43eeafb_0' : + 'biocontainers/last:1595--h43eeafb_0' }" input: tuple val(meta), path(maf) diff --git a/modules/nf-core/last/split/meta.yml b/modules/nf-core/last/split/meta.yml index 7864d0fff32..e654b8822a7 100644 --- a/modules/nf-core/last/split/meta.yml +++ b/modules/nf-core/last/split/meta.yml @@ -23,7 +23,7 @@ input: e.g. `[ id:'sample1', single_end:false ]` - maf: type: file - description: Multiple Aligment Format (MAF) file, compressed with gzip + description: Multiple Alignment Format (MAF) file, compressed with gzip pattern: "*.{maf.gz}" output: - maf: @@ -34,7 +34,7 @@ output: e.g. `[ id:'sample1', single_end:false ]` - "*.maf.gz": type: file - description: Multiple Aligment Format (MAF) file, compressed with gzip + description: Multiple Alignment Format (MAF) file, compressed with gzip pattern: "*.{maf.gz}" - multiqc: - meta: diff --git a/modules/nf-core/last/split/tests/main.nf.test.snap b/modules/nf-core/last/split/tests/main.nf.test.snap index 603f9263f5a..ffaaf19a739 100644 --- a/modules/nf-core/last/split/tests/main.nf.test.snap +++ b/modules/nf-core/last/split/tests/main.nf.test.snap @@ -19,7 +19,7 @@ ] ], "2": [ - "versions.yml:md5,8b705a62c76f7753a51d3d387cf458f1" + "versions.yml:md5,03867913088efc724e378b633a0d75d6" ], "maf": [ [ @@ -38,15 +38,15 @@ ] ], "versions": [ - "versions.yml:md5,8b705a62c76f7753a51d3d387cf458f1" + "versions.yml:md5,03867913088efc724e378b633a0d75d6" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:20:43.307807" + "timestamp": "2024-12-17T18:31:12.936288" }, "sarscov2 - contigs_genome - stub": { "content": [ @@ -68,7 +68,7 @@ ] ], "2": [ - "versions.yml:md5,8b705a62c76f7753a51d3d387cf458f1" + "versions.yml:md5,03867913088efc724e378b633a0d75d6" ], "maf": [ [ @@ -87,14 +87,14 @@ ] ], "versions": [ - "versions.yml:md5,8b705a62c76f7753a51d3d387cf458f1" + "versions.yml:md5,03867913088efc724e378b633a0d75d6" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:20:59.963034" + "timestamp": "2024-12-17T18:31:30.192165" } } \ No newline at end of file diff --git a/modules/nf-core/last/train/environment.yml b/modules/nf-core/last/train/environment.yml index 3ea815cd7b8..28989363674 100644 --- a/modules/nf-core/last/train/environment.yml +++ b/modules/nf-core/last/train/environment.yml @@ -1,7 +1,6 @@ ---- -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json channels: - conda-forge - bioconda + dependencies: - - "bioconda::last=1571" + - bioconda::last=1595 diff --git a/modules/nf-core/last/train/main.nf b/modules/nf-core/last/train/main.nf index 0829060f4ba..3d723f0c5e9 100644 --- a/modules/nf-core/last/train/main.nf +++ b/modules/nf-core/last/train/main.nf @@ -4,8 +4,8 @@ process LAST_TRAIN { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/last:1571--h43eeafb_0' : - 'biocontainers/last:1571--h43eeafb_0' }" + 'https://depot.galaxyproject.org/singularity/last:1595--h43eeafb_0' : + 'biocontainers/last:1595--h43eeafb_0' }" input: tuple val(meta), path(fastx) @@ -30,17 +30,17 @@ process LAST_TRAIN { -P $task.cpus \\ ${index}/\$INDEX_NAME \\ $fastx \\ - > ${prefix}.\$INDEX_NAME.train + > ${prefix}.train - echo "id\tsubstitution_percent_identity\tlast -t\tlast -a\tlast -A\tlast -b\tlast -B\tlast -S" > ${prefix}.train.tsv - printf "\$(basename ${prefix}.\$INDEX_NAME.train .target.train)\t" >> ${prefix}.train.tsv - grep 'substitution percent identity' ${prefix}.\$INDEX_NAME.train | tail -n 1 | awk '{print \$5}' | tr '\n' '\t' >> ${prefix}.train.tsv - grep 'last -t' ${prefix}.\$INDEX_NAME.train | tail -n 1 | awk '{print \$2}' | sed -e 's/-t//' | tr '\n' '\t' >> ${prefix}.train.tsv - grep 'last -a' ${prefix}.\$INDEX_NAME.train | tail -n 1 | awk '{print \$3}' | tr '\n' '\t' >> ${prefix}.train.tsv - grep 'last -A' ${prefix}.\$INDEX_NAME.train | tail -n 1 | awk '{print \$3}' | tr '\n' '\t' >> ${prefix}.train.tsv - grep 'last -b' ${prefix}.\$INDEX_NAME.train | tail -n 1 | awk '{print \$3}' | tr '\n' '\t' >> ${prefix}.train.tsv - grep 'last -B' ${prefix}.\$INDEX_NAME.train | tail -n 1 | awk '{print \$3}' | tr '\n' '\t' >> ${prefix}.train.tsv - grep 'last -S' ${prefix}.\$INDEX_NAME.train | tail -n 1 | awk '{print \$3}' >> ${prefix}.train.tsv + echo "id\tsubstitution_percent_identity\tlast -t\tlast -a\tlast -A\tlast -b\tlast -B\tlast -S" > ${prefix}.train.tsv + printf "\$(basename ${prefix}.train .target.train)\t" >> ${prefix}.train.tsv + grep 'substitution percent identity' ${prefix}.train | tail -n 1 | awk '{print \$5}' | tr '\n' '\t' >> ${prefix}.train.tsv + grep 'last -t' ${prefix}.train | tail -n 1 | awk '{print \$2}' | sed -e 's/-t//' | tr '\n' '\t' >> ${prefix}.train.tsv + grep 'last -a' ${prefix}.train | tail -n 1 | awk '{print \$3}' | tr '\n' '\t' >> ${prefix}.train.tsv + grep 'last -A' ${prefix}.train | tail -n 1 | awk '{print \$3}' | tr '\n' '\t' >> ${prefix}.train.tsv + grep 'last -b' ${prefix}.train | tail -n 1 | awk '{print \$3}' | tr '\n' '\t' >> ${prefix}.train.tsv + grep 'last -B' ${prefix}.train | tail -n 1 | awk '{print \$3}' | tr '\n' '\t' >> ${prefix}.train.tsv + grep 'last -S' ${prefix}.train | tail -n 1 | awk '{print \$3}' >> ${prefix}.train.tsv cat <<-END_VERSIONS > versions.yml "${task.process}": @@ -53,7 +53,7 @@ process LAST_TRAIN { def prefix = task.ext.prefix ?: "${meta.id}" """ INDEX_NAME=\$(basename \$(ls $index/*.des) .des) - touch ${prefix}.\$INDEX_NAME.train + touch ${prefix}.train touch ${prefix}.train.tsv cat <<-END_VERSIONS > versions.yml diff --git a/modules/nf-core/last/train/tests/main.nf.test.snap b/modules/nf-core/last/train/tests/main.nf.test.snap index 0c9185d5216..4953eb75dbe 100644 --- a/modules/nf-core/last/train/tests/main.nf.test.snap +++ b/modules/nf-core/last/train/tests/main.nf.test.snap @@ -8,7 +8,7 @@ "id": "contigs", "single_end": false }, - "contigs..des.train:md5,d41d8cd98f00b204e9800998ecf8427e" + "contigs.train:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "1": [ @@ -21,7 +21,7 @@ ] ], "2": [ - "versions.yml:md5,0a9cfea9e8b841939e040ff6d45de96f" + "versions.yml:md5,9e503cefcda96d89f165ec5baee771e2" ], "multiqc": [ [ @@ -38,19 +38,19 @@ "id": "contigs", "single_end": false }, - "contigs..des.train:md5,d41d8cd98f00b204e9800998ecf8427e" + "contigs.train:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "versions": [ - "versions.yml:md5,0a9cfea9e8b841939e040ff6d45de96f" + "versions.yml:md5,9e503cefcda96d89f165ec5baee771e2" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:29:24.633162" + "timestamp": "2024-12-18T16:45:33.294693" }, "sarscov2 - genome - contigs": { "content": [ @@ -61,7 +61,7 @@ "id": "contigs", "single_end": false }, - "contigs.genome.train:md5,c269b6fee0f0b3011c4cb2764645955c" + "contigs.train:md5,08224a0abf1197d5c2c5b783ffd7bc0c" ] ], "1": [ @@ -70,11 +70,11 @@ "id": "contigs", "single_end": false }, - "contigs.train.tsv:md5,f09bcd1a111241a3439258a43c2a1a4e" + "contigs.train.tsv:md5,f52ce6c55d5f9cde24ab4f9c3b2c27ff" ] ], "2": [ - "versions.yml:md5,1d8eb88ebe5170b8a0e561f5a3491f0e" + "versions.yml:md5,69e12df6fa92e2329c90ed3df87aa068" ], "multiqc": [ [ @@ -82,7 +82,7 @@ "id": "contigs", "single_end": false }, - "contigs.train.tsv:md5,f09bcd1a111241a3439258a43c2a1a4e" + "contigs.train.tsv:md5,f52ce6c55d5f9cde24ab4f9c3b2c27ff" ] ], "param_file": [ @@ -91,18 +91,18 @@ "id": "contigs", "single_end": false }, - "contigs.genome.train:md5,c269b6fee0f0b3011c4cb2764645955c" + "contigs.train:md5,08224a0abf1197d5c2c5b783ffd7bc0c" ] ], "versions": [ - "versions.yml:md5,1d8eb88ebe5170b8a0e561f5a3491f0e" + "versions.yml:md5,69e12df6fa92e2329c90ed3df87aa068" ] } ], "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.3" }, - "timestamp": "2024-08-26T15:29:03.278235" + "timestamp": "2024-12-18T16:45:09.643714" } } \ No newline at end of file diff --git a/modules/nf-core/mafft/guidetree/main.nf b/modules/nf-core/mafft/guidetree/main.nf index b616d6fb43d..5a343e411f8 100644 --- a/modules/nf-core/mafft/guidetree/main.nf +++ b/modules/nf-core/mafft/guidetree/main.nf @@ -29,7 +29,7 @@ process MAFFT_GUIDETREE { mv *.tree ${prefix}.dnd.tmp - # remove all prefices added by mafft which make the output incompatible with other tools + # remove all prefixes added by mafft which make the output incompatible with other tools awk '{gsub(/[0-9]+_/, ""); print}' ${prefix}.dnd.tmp > ${prefix}.dnd cat <<-END_VERSIONS > versions.yml diff --git a/modules/nf-core/mapdamage2/meta.yml b/modules/nf-core/mapdamage2/meta.yml index f27fc17f131..c16423fb52e 100644 --- a/modules/nf-core/mapdamage2/meta.yml +++ b/modules/nf-core/mapdamage2/meta.yml @@ -194,7 +194,7 @@ output: ] - results_*/*.fasta: type: file - description: Allignments in a FASTA file, only if flagged by -d. + description: Alignments in a FASTA file, only if flagged by -d. pattern: "*.{fasta}" - folder: - meta: diff --git a/modules/nf-core/mash/dist/meta.yml b/modules/nf-core/mash/dist/meta.yml index 3b7ce0ad6c7..0b79769f9ba 100644 --- a/modules/nf-core/mash/dist/meta.yml +++ b/modules/nf-core/mash/dist/meta.yml @@ -1,5 +1,5 @@ name: mash_dist -description: Calculate Mash distances between reference and query seqeunces +description: Calculate Mash distances between reference and query sequences keywords: - distance - estimate diff --git a/modules/nf-core/merfin/hist/main.nf b/modules/nf-core/merfin/hist/main.nf index 76fdf6e12f7..686aa0094f3 100644 --- a/modules/nf-core/merfin/hist/main.nf +++ b/modules/nf-core/merfin/hist/main.nf @@ -9,7 +9,7 @@ process MERFIN_HIST { input: tuple val(meta), path(fasta_assembly) // Required Input -sequence files can be FASTA or FASTQ; uncompressed, gz compressed. - tuple val(meta1), path(meryl_db_reads) // Required readmers (raw reads meryl db). As it comes from another tool, it might be relevant to mantain the meta. + tuple val(meta1), path(meryl_db_reads) // Required readmers (raw reads meryl db). As it comes from another tool, it might be relevant to maintain the meta. path(lookup_table) // Optional input vector of probabilities (obtained by genomescope2 with parameter --fitted_hist). path(seqmers) // Optional input for pre-built sequence meryl db (-seqmers). val(peak) // Required input to hard set copy 1 and infer multiplicity to copy number. diff --git a/modules/nf-core/merfin/hist/meta.yml b/modules/nf-core/merfin/hist/meta.yml index ac0bf8f0d6a..2b346a6b890 100644 --- a/modules/nf-core/merfin/hist/meta.yml +++ b/modules/nf-core/merfin/hist/meta.yml @@ -67,7 +67,7 @@ output: The generated 0-centered k* histogram for sequences in . Positive k* values are expected collapsed copies. Negative k* values are expected expanded copies. Closer to 0 means the expected and found k-mers are well - balenced, 1:1. + balanced, 1:1. pattern: "*.{hist}" - log_stderr: - meta: diff --git a/modules/nf-core/merquryfk/merquryfk/meta.yml b/modules/nf-core/merquryfk/merquryfk/meta.yml index 82bfbec4653..67e680452f4 100644 --- a/modules/nf-core/merquryfk/merquryfk/meta.yml +++ b/modules/nf-core/merquryfk/merquryfk/meta.yml @@ -152,7 +152,7 @@ output: e.g. [ id:'test', single_end:false ] - ${prefix}.phased_block.bed: type: file - description: Assembly kmer positions seperated by block in bed format + description: Assembly kmer positions separated by block in bed format pattern: "*.phased.block.bed" - phased_block_stats: - meta: diff --git a/modules/nf-core/metabat2/metabat2/environment.yml b/modules/nf-core/metabat2/metabat2/environment.yml index eaa9cbe9325..e411ed8a3bd 100644 --- a/modules/nf-core/metabat2/metabat2/environment.yml +++ b/modules/nf-core/metabat2/metabat2/environment.yml @@ -2,4 +2,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::metabat2=2.15 + - bioconda::metabat2=2.17 diff --git a/modules/nf-core/metabat2/metabat2/main.nf b/modules/nf-core/metabat2/metabat2/main.nf index 89f4e7fa569..38f90f167ed 100644 --- a/modules/nf-core/metabat2/metabat2/main.nf +++ b/modules/nf-core/metabat2/metabat2/main.nf @@ -4,8 +4,8 @@ process METABAT2_METABAT2 { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/metabat2:2.15--h986a166_1' : - 'biocontainers/metabat2:2.15--h986a166_1' }" + 'https://depot.galaxyproject.org/singularity/metabat2:2.17--hd498684_0' : + 'biocontainers/metabat2:2.17--hd498684_0' }" input: tuple val(meta), path(fasta), path(depth) @@ -24,15 +24,16 @@ process METABAT2_METABAT2 { script: def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}" - def decompress_depth = depth ? "gzip -d -f $depth" : "" - def depth_file = depth ? "-a ${depth.baseName}" : "" + def clean_depth = depth.toString() - ~/\.gz$/ + def decompress_depth = (depth && depth.toString() != clean_depth) ? "gzip -d -f $depth" : "" + def depth_input = depth ? "-a ${clean_depth}" : "" """ $decompress_depth metabat2 \\ - $args \\ + ${args} \\ -i $fasta \\ - $depth_file \\ + ${depth_input} \\ -t $task.cpus \\ --saveCls \\ -o ${prefix} diff --git a/modules/nf-core/metabat2/metabat2/tests/main.nf.test b/modules/nf-core/metabat2/metabat2/tests/main.nf.test index 6b796fc09ac..72733415b60 100644 --- a/modules/nf-core/metabat2/metabat2/tests/main.nf.test +++ b/modules/nf-core/metabat2/metabat2/tests/main.nf.test @@ -7,10 +7,35 @@ nextflow_process { tag "modules" tag "modules_nfcore" + tag "gunzip" tag "metabat2" tag "metabat2/metabat2" tag "metabat2/jgisummarizebamcontigdepths" + setup { + run("METABAT2_JGISUMMARIZEBAMCONTIGDEPTHS") { + script "../../jgisummarizebamcontigdepths/main.nf" + process { + """ + input[0] = [ + [id: 'test', single_end: false], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), + ] + """ + } + } + + run("GUNZIP") { + script "../../../gunzip/main.nf" + process { + """ + input[0] = METABAT2_JGISUMMARIZEBAMCONTIGDEPTHS.out.depth + """ + } + } + } + test("sarscov2 - genome - fasta") { when { @@ -36,28 +61,35 @@ nextflow_process { test("sarscov2 - genome - fasta - depths") { - setup { - run("METABAT2_JGISUMMARIZEBAMCONTIGDEPTHS") { - script "../../jgisummarizebamcontigdepths/main.nf" - process { - """ - input[0] = [ - [id: 'test', single_end: false], - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam.bai', checkIfExists: true), - ] - """ - } + when { + process { + """ + input[0] = Channel + .fromPath(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) + .map { it -> [[ id:'test', single_end:false ], it] } + .join(METABAT2_JGISUMMARIZEBAMCONTIGDEPTHS.out.depth) + """ } } + then { + assertAll( + { assert process.success }, + { assert snapshot(file(process.out.membership[0][1]).name).match() } + ) + } + + } + + test("sarscov2 - genome - fasta - depths uncompressed") { + when { process { """ input[0] = Channel .fromPath(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) .map { it -> [[ id:'test', single_end:false ], it] } - .join(METABAT2_JGISUMMARIZEBAMCONTIGDEPTHS.out.depth) + .join(GUNZIP.out.gunzip) """ } } diff --git a/modules/nf-core/metabat2/metabat2/tests/main.nf.test.snap b/modules/nf-core/metabat2/metabat2/tests/main.nf.test.snap index 2552bca86bf..f2e51bb15b7 100644 --- a/modules/nf-core/metabat2/metabat2/tests/main.nf.test.snap +++ b/modules/nf-core/metabat2/metabat2/tests/main.nf.test.snap @@ -24,7 +24,7 @@ ], "5": [ - "versions.yml:md5,872d18278c2ba7812c62a8bc6b2120eb" + "versions.yml:md5,f5ad39cc43905d8b2c61bf04772a1bda" ], "fasta": [ @@ -48,7 +48,7 @@ ], "versions": [ - "versions.yml:md5,872d18278c2ba7812c62a8bc6b2120eb" + "versions.yml:md5,f5ad39cc43905d8b2c61bf04772a1bda" ] } ], @@ -56,7 +56,17 @@ "nf-test": "0.9.2", "nextflow": "24.10.2" }, - "timestamp": "2024-12-11T12:28:01.970872008" + "timestamp": "2024-12-16T18:47:12.382730533" + }, + "sarscov2 - genome - fasta - depths uncompressed": { + "content": [ + "test.tsv.gz" + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-16T17:07:33.15263136" }, "sarscov2 - genome - fasta - depths": { "content": [ @@ -66,7 +76,7 @@ "nf-test": "0.9.2", "nextflow": "24.10.2" }, - "timestamp": "2024-12-11T13:08:47.777561763" + "timestamp": "2024-12-16T17:07:19.028059191" }, "sarscov2 - genome - fasta - stub": { "content": [ @@ -117,7 +127,7 @@ ] ], "5": [ - "versions.yml:md5,872d18278c2ba7812c62a8bc6b2120eb" + "versions.yml:md5,f5ad39cc43905d8b2c61bf04772a1bda" ], "fasta": [ [ @@ -165,7 +175,7 @@ ] ], "versions": [ - "versions.yml:md5,872d18278c2ba7812c62a8bc6b2120eb" + "versions.yml:md5,f5ad39cc43905d8b2c61bf04772a1bda" ] } ], @@ -173,6 +183,6 @@ "nf-test": "0.9.2", "nextflow": "24.10.2" }, - "timestamp": "2024-12-11T12:28:32.122007408" + "timestamp": "2024-12-16T18:48:01.719015314" } } \ No newline at end of file diff --git a/modules/nf-core/metamaps/classify/meta.yml b/modules/nf-core/metamaps/classify/meta.yml index 844adc8adef..8131d12ade9 100644 --- a/modules/nf-core/metamaps/classify/meta.yml +++ b/modules/nf-core/metamaps/classify/meta.yml @@ -70,7 +70,7 @@ output: e.g. [ id:'test', single_end:false ] - "*classification_res.EM.reads2Taxon": type: file - description: Taxon ID assignement of reads + description: Taxon ID assignment of reads pattern: "*.{classification_res.EM.reads2Taxon}" - em: - meta: @@ -110,7 +110,7 @@ output: e.g. [ id:'test', single_end:false ] - "*classification_res.EM.reads2Taxon.krona": type: file - description: Taxon ID assignement of reads in Krona format + description: Taxon ID assignment of reads in Krona format pattern: "*.{classification_res.EM.reads2Taxon.krona}" - versions: - versions.yml: diff --git a/modules/nf-core/mmseqs/easysearch/meta.yml b/modules/nf-core/mmseqs/easysearch/meta.yml index acf1b20d4dc..bcfdde9b783 100644 --- a/modules/nf-core/mmseqs/easysearch/meta.yml +++ b/modules/nf-core/mmseqs/easysearch/meta.yml @@ -1,6 +1,6 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/yaml-schema.json name: "mmseqs_easysearch" -description: Searches for the sequences of a fasta file in a databse using MMseqs2 +description: Searches for the sequences of a fasta file in a database using MMseqs2 keywords: - protein sequence - databases diff --git a/modules/nf-core/multiqc/environment.yml b/modules/nf-core/multiqc/environment.yml index 6f5b867b768..439a7c22355 100644 --- a/modules/nf-core/multiqc/environment.yml +++ b/modules/nf-core/multiqc/environment.yml @@ -2,4 +2,4 @@ channels: - conda-forge - bioconda dependencies: - - bioconda::multiqc=1.25.1 + - bioconda::multiqc=1.26 diff --git a/modules/nf-core/multiqc/main.nf b/modules/nf-core/multiqc/main.nf index cc0643e1d58..775b3ffd6fd 100644 --- a/modules/nf-core/multiqc/main.nf +++ b/modules/nf-core/multiqc/main.nf @@ -3,8 +3,8 @@ process MULTIQC { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/multiqc:1.25.1--pyhdfd78af_0' : - 'biocontainers/multiqc:1.25.1--pyhdfd78af_0' }" + 'https://depot.galaxyproject.org/singularity/multiqc:1.26--pyhdfd78af_0' : + 'biocontainers/multiqc:1.26--pyhdfd78af_0' }" input: path multiqc_files, stageAs: "?/*" diff --git a/modules/nf-core/multiqc/tests/main.nf.test.snap b/modules/nf-core/multiqc/tests/main.nf.test.snap index 2fcbb5ff7d1..ee01208e753 100644 --- a/modules/nf-core/multiqc/tests/main.nf.test.snap +++ b/modules/nf-core/multiqc/tests/main.nf.test.snap @@ -2,7 +2,7 @@ "multiqc_versions_single": { "content": [ [ - "versions.yml:md5,41f391dcedce7f93ca188f3a3ffa0916" + "versions.yml:md5,4cab99fb04e679fd2d72e29eda1b9646" ] ], "meta": { @@ -17,7 +17,7 @@ "multiqc_report.html", "multiqc_data", "multiqc_plots", - "versions.yml:md5,41f391dcedce7f93ca188f3a3ffa0916" + "versions.yml:md5,4cab99fb04e679fd2d72e29eda1b9646" ] ], "meta": { @@ -29,7 +29,7 @@ "multiqc_versions_config": { "content": [ [ - "versions.yml:md5,41f391dcedce7f93ca188f3a3ffa0916" + "versions.yml:md5,4cab99fb04e679fd2d72e29eda1b9646" ] ], "meta": { diff --git a/modules/nf-core/mygene/templates/mygene.py b/modules/nf-core/mygene/templates/mygene.py index 83bf2175642..9947f2ab4f0 100644 --- a/modules/nf-core/mygene/templates/mygene.py +++ b/modules/nf-core/mygene/templates/mygene.py @@ -21,7 +21,7 @@ class Arguments: """ - Parses the argments, including the ones coming from $task.ext.args. + Parses the arguments, including the ones coming from $task.ext.args. """ def __init__(self) -> None: diff --git a/modules/nf-core/nacho/qc/tests/main.nf.test b/modules/nf-core/nacho/qc/tests/main.nf.test index fe4176bdaf1..c9a28ccfea4 100644 --- a/modules/nf-core/nacho/qc/tests/main.nf.test +++ b/modules/nf-core/nacho/qc/tests/main.nf.test @@ -42,8 +42,8 @@ nextflow_process { assert nacho_qc_png.get(0).get(1).size() == 16 assert nacho_qc_txt.get(0).get(1).size() == 2 assert snapshot( - nacho_qc_reports.get(0).get(1).collect { file(it).name }, //undeterministic .html mqc files - nacho_qc_png.get(0).get(1).collect { file(it).name }, //undeterministic .png mqc files + nacho_qc_reports.get(0).get(1).collect { file(it).name }, //indeterministic .html mqc files + nacho_qc_png.get(0).get(1).collect { file(it).name }, //indeterministic .png mqc files nacho_qc_txt.get(0).get(1), //stable .txt mqc files versions ).match() } @@ -85,8 +85,8 @@ nextflow_process { assert nacho_qc_png.get(0).get(1).size() == 16 assert nacho_qc_txt.get(0).get(1).size() == 2 assert snapshot( - nacho_qc_reports.get(0).get(1).collect { file(it).name }, //undeterministic .html mqc files - nacho_qc_png.get(0).get(1).collect { file(it).name }, //undeterministic .png mqc files + nacho_qc_reports.get(0).get(1).collect { file(it).name }, //indeterministic .html mqc files + nacho_qc_png.get(0).get(1).collect { file(it).name }, //indeterministic .png mqc files nacho_qc_txt.get(0).get(1), //stable .txt mqc files versions ).match() } diff --git a/modules/nf-core/nanoplot/meta.yml b/modules/nf-core/nanoplot/meta.yml index 8af83355ecd..b9be5d98ad6 100644 --- a/modules/nf-core/nanoplot/meta.yml +++ b/modules/nf-core/nanoplot/meta.yml @@ -9,7 +9,7 @@ keywords: tools: - nanoplot: description: | - NanoPlot is a tool for ploting long-read sequencing data and + NanoPlot is a tool for plotting long-read sequencing data and alignment. homepage: http://nanoplot.bioinf.be documentation: https://github.com/wdecoster/NanoPlot diff --git a/modules/nf-core/ngsbits/samplegender/meta.yml b/modules/nf-core/ngsbits/samplegender/meta.yml index fd5a55024c2..5d6bdb58186 100644 --- a/modules/nf-core/ngsbits/samplegender/meta.yml +++ b/modules/nf-core/ngsbits/samplegender/meta.yml @@ -47,7 +47,7 @@ input: pattern: "*.fai" - - method: type: string - description: The method to use to define the gender (posibilities are 'xy', + description: The method to use to define the gender (possibilities are 'xy', 'hetx' and 'sry') pattern: "(xy|hetx|sry)" output: diff --git a/modules/nf-core/ngscheckmate/vafncm/main.nf b/modules/nf-core/ngscheckmate/vafncm/main.nf index f774d0652ae..32e2187687f 100644 --- a/modules/nf-core/ngscheckmate/vafncm/main.nf +++ b/modules/nf-core/ngscheckmate/vafncm/main.nf @@ -28,7 +28,7 @@ process NGSCHECKMATE_VAFNCM { cp ${vafs[0]} zzzzzz.vaf vaf_ncm.py -I . -O . -N ${prefix} $args - # remove the existance of the dummy file + # remove the existence of the dummy file rm zzzzzz.vaf sed -i.bak "/zzzzzz/d" ${prefix}_all.txt diff --git a/modules/nf-core/parabricks/README-fq2bam.md b/modules/nf-core/parabricks/README-fq2bam.md index 61edc01908f..ad9d21921d0 100644 --- a/modules/nf-core/parabricks/README-fq2bam.md +++ b/modules/nf-core/parabricks/README-fq2bam.md @@ -1,6 +1,6 @@ # Parabricks fq2bam -`fq2bam` performs alignment, sorting, (optional) marking of duplicates, and (optional) base quality score recalibration (BQSR). There is no option to control the number of threads used with this tool - all avilable threads on the system are used by default. +`fq2bam` performs alignment, sorting, (optional) marking of duplicates, and (optional) base quality score recalibration (BQSR). There is no option to control the number of threads used with this tool - all available threads on the system are used by default. Alignment and coordinate sorting are always performed. Duplicate marking can be performed by passing the option `markdups=true`. Duplicate marking and BQSR can be performed by passing the options `markdups=true` and `known_sites=$KNOWN_SITES_FILE`. diff --git a/modules/nf-core/parabricks/fq2bam/meta.yml b/modules/nf-core/parabricks/fq2bam/meta.yml index 5a31e4e51a7..8b45cb16284 100644 --- a/modules/nf-core/parabricks/fq2bam/meta.yml +++ b/modules/nf-core/parabricks/fq2bam/meta.yml @@ -99,7 +99,7 @@ output: - duplicate_metrics: - duplicate-metrics.txt: type: file - description: (optional) metrics calculated from marking duplcates in the bam + description: (optional) metrics calculated from marking duplicates in the bam file pattern: "*-duplicate-metrics.txt" authors: diff --git a/modules/nf-core/parabricks/fq2bammeth/meta.yml b/modules/nf-core/parabricks/fq2bammeth/meta.yml index 4f295b8806e..5d1cc8df6cd 100644 --- a/modules/nf-core/parabricks/fq2bammeth/meta.yml +++ b/modules/nf-core/parabricks/fq2bammeth/meta.yml @@ -80,7 +80,7 @@ output: - duplicate_metrics: - duplicate-metrics.txt: type: file - description: (optional) metrics calculated from marking duplcates in the bam + description: (optional) metrics calculated from marking duplicates in the bam file pattern: "*-duplicate-metrics.txt" - versions: diff --git a/modules/nf-core/parabricks/mutectcaller/meta.yml b/modules/nf-core/parabricks/mutectcaller/meta.yml index e3c2a37e0ff..baa6ab3e318 100644 --- a/modules/nf-core/parabricks/mutectcaller/meta.yml +++ b/modules/nf-core/parabricks/mutectcaller/meta.yml @@ -55,11 +55,11 @@ input: pattern: "*.fasta" - - panel_of_normals: type: file - description: (Optional) pannel of normals file. + description: (Optional) panel of normals file. pattern: "*.vcf.gz" - - panel_of_normals_index: type: file - description: (Optional) tbi index corresponding to pannel of normals file. + description: (Optional) tbi index corresponding to panel of normals file. pattern: "*.tbi" output: - vcf: @@ -70,7 +70,7 @@ output: e.g. [ id:'test' ] - "*.vcf.gz": type: file - description: Compressed variants file. Will include an annoted vcf file if pannel + description: Compressed variants file. Will include an annotated vcf file if panel of normals is used. pattern: "*.vcf.gz" - stats: diff --git a/modules/nf-core/pbccs/meta.yml b/modules/nf-core/pbccs/meta.yml index 28c53ac0a1d..3d71c10bd79 100644 --- a/modules/nf-core/pbccs/meta.yml +++ b/modules/nf-core/pbccs/meta.yml @@ -1,5 +1,5 @@ name: pbccs -description: Pacbio ccs - Generate Higly Accurate Single-Molecule Consensus Reads +description: Pacbio ccs - Generate Highly Accurate Single-Molecule Consensus Reads keywords: - ccs - pacbio diff --git a/modules/nf-core/popscle/demuxlet/meta.yml b/modules/nf-core/popscle/demuxlet/meta.yml index 3ffb07b9f6e..1a8129ae9d8 100644 --- a/modules/nf-core/popscle/demuxlet/meta.yml +++ b/modules/nf-core/popscle/demuxlet/meta.yml @@ -11,7 +11,7 @@ keywords: tools: - "popscle": description: "A suite of population scale analysis tools for single-cell genomics - data including implementation of Demuxlet / Freemuxlet methods and auxilary + data including implementation of Demuxlet / Freemuxlet methods and auxiliary tools" homepage: "https://github.com/statgen/popscle" documentation: "https://github.com/statgen/popscle" diff --git a/modules/nf-core/popscle/dscpileup/meta.yml b/modules/nf-core/popscle/dscpileup/meta.yml index 70442d830f0..3c95caa5579 100644 --- a/modules/nf-core/popscle/dscpileup/meta.yml +++ b/modules/nf-core/popscle/dscpileup/meta.yml @@ -11,7 +11,7 @@ keywords: tools: - "popscle": description: "A suite of population scale analysis tools for single-cell genomics - data including implementation of Demuxlet / Freemuxlet methods and auxilary + data including implementation of Demuxlet / Freemuxlet methods and auxiliary tools" homepage: "https://github.com/statgen/popscle" documentation: "https://github.com/statgen/popscle" diff --git a/modules/nf-core/popscle/freemuxlet/meta.yml b/modules/nf-core/popscle/freemuxlet/meta.yml index dffcd3431dc..ff28e1dc5b8 100644 --- a/modules/nf-core/popscle/freemuxlet/meta.yml +++ b/modules/nf-core/popscle/freemuxlet/meta.yml @@ -11,7 +11,7 @@ keywords: tools: - "popscle": description: "A suite of population scale analysis tools for single-cell genomics - data including implementation of Demuxlet / Freemuxlet methods and auxilary + data including implementation of Demuxlet / Freemuxlet methods and auxiliary tools" homepage: "https://github.com/statgen/popscle" documentation: "https://github.com/statgen/popscle" diff --git a/modules/nf-core/popscle/freemuxlet/tests/main.nf.test b/modules/nf-core/popscle/freemuxlet/tests/main.nf.test index e8c2225c6e7..baf642e5546 100644 --- a/modules/nf-core/popscle/freemuxlet/tests/main.nf.test +++ b/modules/nf-core/popscle/freemuxlet/tests/main.nf.test @@ -50,7 +50,7 @@ nextflow_process { } - test("demultiplexing - auxilary - files") { + test("demultiplexing - auxiliary - files") { config "./nextflow.config" setup { run("POPSCLE_DSCPILEUP") { @@ -135,7 +135,7 @@ nextflow_process { } - test("demultiplexing - auxilary - files - stub") { + test("demultiplexing - auxiliary - files - stub") { options "-stub" config "./nextflow.config" diff --git a/modules/nf-core/prokka/environment.yml b/modules/nf-core/prokka/environment.yml index 7c9753fc104..1d1a019f726 100644 --- a/modules/nf-core/prokka/environment.yml +++ b/modules/nf-core/prokka/environment.yml @@ -3,3 +3,4 @@ channels: - bioconda dependencies: - bioconda::prokka=1.14.6 + - conda-forge::openjdk=8.0.412 diff --git a/modules/nf-core/prokka/main.nf b/modules/nf-core/prokka/main.nf index adfda0373b7..bf5e64fc5b1 100644 --- a/modules/nf-core/prokka/main.nf +++ b/modules/nf-core/prokka/main.nf @@ -1,11 +1,11 @@ process PROKKA { - tag "$meta.id" + tag "${meta.id}" label 'process_low' conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/prokka:1.14.6--pl5321hdfd78af_4' : - 'biocontainers/prokka:1.14.6--pl5321hdfd78af_4' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/3a/3af46b047c8fe84112adeaecf300878217c629b97f111f923ecf327656ddd141/data' : + 'community.wave.seqera.io/library/prokka_openjdk:10546cadeef11472' }" input: tuple val(meta), path(fasta) @@ -31,18 +31,49 @@ process PROKKA { task.ext.when == null || task.ext.when script: - def args = task.ext.args ?: '' - prefix = task.ext.prefix ?: "${meta.id}" - def proteins_opt = proteins ? "--proteins ${proteins[0]}" : "" - def prodigal_tf = prodigal_tf ? "--prodigaltf ${prodigal_tf[0]}" : "" + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}" + def input = fasta.toString() - ~/\.gz$/ + def decompress = fasta.getExtension() == "gz" ? "gunzip -c ${fasta} > ${input}" : "" + def cleanup = fasta.getExtension() == "gz" ? "rm ${input}" : "" + def proteins_opt = proteins ? "--proteins ${proteins}" : "" + def prodigal_tf_in = prodigal_tf ? "--prodigaltf ${prodigal_tf}" : "" """ + ${decompress} + prokka \\ - $args \\ - --cpus $task.cpus \\ - --prefix $prefix \\ - $proteins_opt \\ - $prodigal_tf \\ - $fasta + ${args} \\ + --cpus ${task.cpus} \\ + --prefix ${prefix} \\ + ${proteins_opt} \\ + ${prodigal_tf_in} \\ + ${input} + + ${cleanup} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + prokka: \$(echo \$(prokka --version 2>&1) | sed 's/^.*prokka //') + END_VERSIONS + """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}" + """ + mkdir ${prefix} + touch ${prefix}/${prefix}.gff + touch ${prefix}/${prefix}.gbk + touch ${prefix}/${prefix}.fna + touch ${prefix}/${prefix}.faa + touch ${prefix}/${prefix}.ffn + touch ${prefix}/${prefix}.sqn + touch ${prefix}/${prefix}.fsa + touch ${prefix}/${prefix}.tbl + touch ${prefix}/${prefix}.err + touch ${prefix}/${prefix}.log + touch ${prefix}/${prefix}.txt + touch ${prefix}/${prefix}.tsv + touch ${prefix}/${prefix}.gff cat <<-END_VERSIONS > versions.yml "${task.process}": diff --git a/modules/nf-core/prokka/tests/main.nf.test b/modules/nf-core/prokka/tests/main.nf.test index dca19bba717..68150b3354f 100644 --- a/modules/nf-core/prokka/tests/main.nf.test +++ b/modules/nf-core/prokka/tests/main.nf.test @@ -47,4 +47,69 @@ nextflow_process { } + test("Prokka - sarscov2 - genome.fasta.gz") { + + when { + process { + """ + input[0] = Channel.fromList([ + tuple([ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.gz', checkIfExists: true)) + ]) + input[1] = [] + input[2] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert path(process.out.gbk.get(0).get(1)).exists() }, + { assert path(process.out.log.get(0).get(1)).exists() }, + { assert path(process.out.sqn.get(0).get(1)).exists() }, + { assert snapshot( + process.out.gff, + process.out.fna, + process.out.faa, + process.out.ffn, + process.out.fsa, + process.out.tbl, + process.out.err, + process.out.txt, + process.out.tsv, + process.out.versions + ).match() + } + ) + } + + } + + test("Prokka - sarscov2 - stub") { + + options "-stub" + + when { + process { + """ + input[0] = Channel.fromList([ + tuple([ id:'test', single_end:false ], // meta map + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.gz', checkIfExists: true)) + ]) + input[1] = [] + input[2] = [] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + } diff --git a/modules/nf-core/prokka/tests/main.nf.test.snap b/modules/nf-core/prokka/tests/main.nf.test.snap index 874c989d7a6..35713a8f1d7 100644 --- a/modules/nf-core/prokka/tests/main.nf.test.snap +++ b/modules/nf-core/prokka/tests/main.nf.test.snap @@ -91,5 +91,331 @@ "nextflow": "24.04.3" }, "timestamp": "2024-07-30T12:34:20.447734" + }, + "Prokka - sarscov2 - genome.fasta.gz": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.gff:md5,5dbfb8fcf2db020564c16045976a0933" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.fna:md5,787307f29a263e5657cc276ebbf7e2b3" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.faa:md5,a4ceda83262b3c222a6b1f508fb9e24b" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.ffn:md5,80f474b5367b7ea5ed23791935f65e34" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.fsa:md5,71bbefcb7f12046bcd3263f58cfd5404" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.tbl:md5,d8f816a066ced94b62d9618b13fb8add" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.err:md5,b3daedc646fddd422824e2b3e5e9229d" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.txt:md5,b40e485ffc8eaf1feacf8d79d9751a33" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.tsv:md5,da7c720c3018c5081d6a70b517b7d450" + ] + ], + [ + "versions.yml:md5,e83a22fe02167e290d90853b45650db9" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-19T09:48:05.110188714" + }, + "Prokka - sarscov2 - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.gff:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + [ + { + "id": "test", + "single_end": false + }, + "test.gbk:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "10": [ + [ + { + "id": "test", + "single_end": false + }, + "test.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "11": [ + [ + { + "id": "test", + "single_end": false + }, + "test.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "12": [ + "versions.yml:md5,e83a22fe02167e290d90853b45650db9" + ], + "2": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fna:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "3": [ + [ + { + "id": "test", + "single_end": false + }, + "test.faa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "4": [ + [ + { + "id": "test", + "single_end": false + }, + "test.ffn:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "5": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sqn:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "6": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fsa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "7": [ + [ + { + "id": "test", + "single_end": false + }, + "test.tbl:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "8": [ + [ + { + "id": "test", + "single_end": false + }, + "test.err:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "9": [ + [ + { + "id": "test", + "single_end": false + }, + "test.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "err": [ + [ + { + "id": "test", + "single_end": false + }, + "test.err:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "faa": [ + [ + { + "id": "test", + "single_end": false + }, + "test.faa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "ffn": [ + [ + { + "id": "test", + "single_end": false + }, + "test.ffn:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fna": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fna:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fsa": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fsa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "gbk": [ + [ + { + "id": "test", + "single_end": false + }, + "test.gbk:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "gff": [ + [ + { + "id": "test", + "single_end": false + }, + "test.gff:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "log": [ + [ + { + "id": "test", + "single_end": false + }, + "test.log:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "sqn": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sqn:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tbl": [ + [ + { + "id": "test", + "single_end": false + }, + "test.tbl:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "tsv": [ + [ + { + "id": "test", + "single_end": false + }, + "test.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "txt": [ + [ + { + "id": "test", + "single_end": false + }, + "test.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,e83a22fe02167e290d90853b45650db9" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-06T10:51:57.362187225" } } \ No newline at end of file diff --git a/modules/nf-core/propr/logratio/meta.yml b/modules/nf-core/propr/logratio/meta.yml index 30f8ac887ff..3a28a53c828 100644 --- a/modules/nf-core/propr/logratio/meta.yml +++ b/modules/nf-core/propr/logratio/meta.yml @@ -28,7 +28,7 @@ input: type: file description: | Count matrix, where rows = variables or genes, columns = samples or cells. - This matrix should not contain zeros. Otherwise, they will be first replaced by the minimun value. + This matrix should not contain zeros. Otherwise, they will be first replaced by the minimum value. You may want to handle the zeros with a different method beforehand. pattern: "*.{csv,tsv}" output: diff --git a/modules/nf-core/propr/logratio/templates/logratio.R b/modules/nf-core/propr/logratio/templates/logratio.R index 9f2315da586..6d4dff0d735 100644 --- a/modules/nf-core/propr/logratio/templates/logratio.R +++ b/modules/nf-core/propr/logratio/templates/logratio.R @@ -67,7 +67,7 @@ read_delim_flexible <- function(file, header = TRUE, row.names = 1, check.names #' Check if a variable can be numeric or not #' #' @param x Input variable -#' @retur True if it can be numeric, False otherwise +#' @return True if it can be numeric, False otherwise can_be_numeric <- function(x) { stopifnot(is.atomic(x) || is.list(x)) # check if x is a vector numNAs <- sum(is.na(x)) @@ -223,7 +223,7 @@ mat <- t(mat) # check zeros # log transformation should be applied on non-zero data # otherwise Inf values are generated -if (any(mat == 0)) print("Zeros will be replaced by minimun value before logratio analysis") +if (any(mat == 0)) print("Zeros will be replaced by minimum value before logratio analysis") # compute ALR/CLR diff --git a/modules/nf-core/propr/propd/templates/propd.R b/modules/nf-core/propr/propd/templates/propd.R index f9102096b61..d75e3d2c439 100644 --- a/modules/nf-core/propr/propd/templates/propd.R +++ b/modules/nf-core/propr/propd/templates/propd.R @@ -471,7 +471,7 @@ if (opt\$permutation == 0) { window_size=1 ) - # update maximun theta value to test the FDR values for the next iteration + # update maximum theta value to test the FDR values for the next iteration part <- pd@fdr[which(pd@fdr\$truecounts > 0),] max_cutoff <- ifelse(nrow(part) > 1, min(part\$cutoff), 0) diff --git a/modules/nf-core/propr/propr/meta.yml b/modules/nf-core/propr/propr/meta.yml index cdfc5982b72..b4d7d460126 100644 --- a/modules/nf-core/propr/propr/meta.yml +++ b/modules/nf-core/propr/propr/meta.yml @@ -38,7 +38,7 @@ input: type: file description: | Count matrix, where rows = variables or genes, columns = samples or cells. - This matrix should not contain zeros. Otherwise, they will be replaced by the minimun number. + This matrix should not contain zeros. Otherwise, they will be replaced by the minimum number. It is recommended to handle the zeros beforehand with the method of preference. pattern: "*.{csv,tsv}" output: diff --git a/modules/nf-core/propr/propr/templates/propr.R b/modules/nf-core/propr/propr/templates/propr.R index a9dbd7bddca..fbd725a2a8a 100644 --- a/modules/nf-core/propr/propr/templates/propr.R +++ b/modules/nf-core/propr/propr/templates/propr.R @@ -96,7 +96,7 @@ set_reference <- function(ivar, mat){ return(ivar) } -#' Set the appropiate range for the sequence of cutoffs used in updateCutoffs. +#' Set the appropriate range for the sequence of cutoffs used in updateCutoffs. #' Adjusts the interval to the different metrics. #' #' @param object propr object. Output from propr function. @@ -140,7 +140,7 @@ valCutoff <- function(object, metric, fdrVal = 0.05){ cutoff <- fdr_df\$cutoff[which(fdr_df\$FDR == fdr_threshold)] #select the corresponding cutoff value for the FDR print(cutoff) }else{ - stop("FDR not defined. This metric is not appropiate for the given dataset") + stop("FDR not defined. This metric is not appropriate for the given dataset") } return(cutoff) } @@ -279,7 +279,7 @@ mat <- t(mat) # check zeros # log transformation should be applied on non-zero data # otherwise Inf values are generated -if (any(mat == 0)) print("Warning: Zeros will be replaced by minimun value before logratio analysis") +if (any(mat == 0)) print("Warning: Zeros will be replaced by minimum value before logratio analysis") # set logratio transformation parameter -> ivar # if alr, set the index of the reference gene as ivar diff --git a/modules/nf-core/purecn/intervalfile/main.nf b/modules/nf-core/purecn/intervalfile/main.nf index 49434776d0c..83e75cd5ff2 100644 --- a/modules/nf-core/purecn/intervalfile/main.nf +++ b/modules/nf-core/purecn/intervalfile/main.nf @@ -4,8 +4,8 @@ process PURECN_INTERVALFILE { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/bioconductor-org.hs.eg.db_bioconductor-purecn_bioconductor-txdb.hsapiens.ucsc.hg19.knowngene_bioconductor-txdb.hsapiens.ucsc.hg38.knowngene_pruned:c04754ed02eb7cd3': - 'community.wave.seqera.io/library/bioconductor-org.hs.eg.db_bioconductor-purecn_bioconductor-txdb.hsapiens.ucsc.hg19.knowngene_bioconductor-txdb.hsapiens.ucsc.hg38.knowngene_pruned:cd51f6d3c90eb24f' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/31/31bad5bbf2277cc9ea746c3c4fd440d1689dd7c8d32d0697b5077f08c084a03e/data': + 'community.wave.seqera.io/library/bioconductor-org.hs.eg.db_bioconductor-purecn_bioconductor-txdb.hsapiens.ucsc.hg19.knowngene_bioconductor-txdb.hsapiens.ucsc.hg38.knowngene_pruned:bc942848b4c78040' }" input: tuple val(meta), path(target_bed) diff --git a/modules/nf-core/purecn/normaldb/main.nf b/modules/nf-core/purecn/normaldb/main.nf index 9e92e6ae500..b545802b164 100644 --- a/modules/nf-core/purecn/normaldb/main.nf +++ b/modules/nf-core/purecn/normaldb/main.nf @@ -4,8 +4,8 @@ process PURECN_NORMALDB { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/bioconductor-org.hs.eg.db_bioconductor-purecn_bioconductor-txdb.hsapiens.ucsc.hg19.knowngene_bioconductor-txdb.hsapiens.ucsc.hg38.knowngene_pruned:c04754ed02eb7cd3': - 'community.wave.seqera.io/library/bioconductor-org.hs.eg.db_bioconductor-purecn_bioconductor-txdb.hsapiens.ucsc.hg19.knowngene_bioconductor-txdb.hsapiens.ucsc.hg38.knowngene_pruned:cd51f6d3c90eb24f' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/31/31bad5bbf2277cc9ea746c3c4fd440d1689dd7c8d32d0697b5077f08c084a03e/data': + 'community.wave.seqera.io/library/bioconductor-org.hs.eg.db_bioconductor-purecn_bioconductor-txdb.hsapiens.ucsc.hg19.knowngene_bioconductor-txdb.hsapiens.ucsc.hg38.knowngene_pruned:bc942848b4c78040' }" input: tuple val(meta), path(coverage_files), path(normal_vcf), path(normal_vcf_tbi) diff --git a/modules/nf-core/quartonotebook/main.nf b/modules/nf-core/quartonotebook/main.nf index f3f960533f9..609098e0277 100644 --- a/modules/nf-core/quartonotebook/main.nf +++ b/modules/nf-core/quartonotebook/main.nf @@ -33,7 +33,7 @@ process QUARTONOTEBOOK { script: // FIXME https://github.com/nf-core/modules/issues/7006 // Exit if running this module with -profile conda / -profile mamba on ARM64 - // This is because of issues with getting a homogenous environment across + // This is because of issues with getting a homogeneous environment across // both AMD64 and ARM64 architectures; please find more information at // https://github.com/nf-core/modules/pull/4876#discussion_r1483541037. if (workflow.profile.tokenize(',').intersect(['conda', 'mamba']).size() >= 1) { diff --git a/modules/nf-core/quilt/quilt/meta.yml b/modules/nf-core/quilt/quilt/meta.yml index 958d39cbdd4..057bc7499c5 100644 --- a/modules/nf-core/quilt/quilt/meta.yml +++ b/modules/nf-core/quilt/quilt/meta.yml @@ -83,7 +83,7 @@ input: - posfile: type: file description: (Optional) File with positions of where to impute, lining up one-to-one - with genfile. File is tab seperated with no header, one row per SNP, with + with genfile. File is tab separated with no header, one row per SNP, with col 1 = chromosome, col 2 = physical position (sorted from smallest to largest), col 3 = reference base, col 4 = alternate base. Bases are capitalized. pattern: "*.{txt}" @@ -91,7 +91,7 @@ input: type: file description: (Optional) File with truth phasing results. Supersedes genfile if both options given. File has a header row with a name for each sample, - matching what is found in the bam file. Each subject is then a tab seperated + matching what is found in the bam file. Each subject is then a tab separated column, with 0 = ref and 1 = alt, separated by a vertical bar |, e.g. 0|0 or 0|1. Note therefore this file has one more row than posfile which has no header. diff --git a/modules/nf-core/ribotish/predict/meta.yml b/modules/nf-core/ribotish/predict/meta.yml index e8016a2c9d8..672bef6b29d 100644 --- a/modules/nf-core/ribotish/predict/meta.yml +++ b/modules/nf-core/ribotish/predict/meta.yml @@ -70,7 +70,7 @@ input: - - meta5: type: map description: | - Groovy Map containing information on riboseq P-site offfset parameter + Groovy Map containing information on riboseq P-site offset parameter files - para_ribo: type: file @@ -80,7 +80,7 @@ input: - - meta6: type: map description: | - Groovy Map containing information on TI-seq P-site offfset parameter + Groovy Map containing information on TI-seq P-site offset parameter files - para_ti: type: file diff --git a/modules/nf-core/ribowaltz/meta.yml b/modules/nf-core/ribowaltz/meta.yml index 39f4d836a02..7f0aa25b7d6 100644 --- a/modules/nf-core/ribowaltz/meta.yml +++ b/modules/nf-core/ribowaltz/meta.yml @@ -78,7 +78,7 @@ output: e.g. `[ id:'sample1', single_end:false ]` - offset_plot/*: type: file - description: P-site offset plots for each read length (otional) + description: P-site offset plots for each read length (optional) pattern: "offset_plot/*" - psites: - meta: diff --git a/modules/nf-core/ribowaltz/templates/ribowaltz.r b/modules/nf-core/ribowaltz/templates/ribowaltz.r index 50d5f1719e9..e9fbc12da18 100644 --- a/modules/nf-core/ribowaltz/templates/ribowaltz.r +++ b/modules/nf-core/ribowaltz/templates/ribowaltz.r @@ -100,8 +100,8 @@ export_codon_coverage_tables <- function(sample_name, df.ls, annotation.df) { #' @param sample_name string specifying the sample name associated with the BAM file #' @param cds_coverage dataframe produced by the riboWaltz cds_coverage function with P-sites counts over the entire CDS of transcripts #' @param cds_window_coverage dataframe produced by the riboWaltz cds_coverage function with P-sites counts over the defined CDS window of transcripts using the start_nts and stop_nts params -#' @param exclude_start number of nucleotides from start codon that were excluded when defining the CDS window for counting (provide same calue as start_nts param) -#' @param exclude_stop number of nucleotides from stop codon that were excluded when defining the CDS window for counting (provide same calue as stop_nts param) +#' @param exclude_start number of nucleotides from start codon that were excluded when defining the CDS window for counting (provide same value as start_nts param) +#' @param exclude_stop number of nucleotides from stop codon that were excluded when defining the CDS window for counting (provide same value as stop_nts param) #' #' @return This function does not return a value. It creates and saves two TSV files to disk. @@ -119,7 +119,7 @@ export_cds_coverage_tables <- function(sample_name, cds_coverage, cds_window_cov #' Export plots read-length distribution of reads used for P-site offset identification produced by the `riboWaltz::rlength_distr` function #' #' @param sample_name string specifying the sample name associated with the BAM file -#' @param df_list dataframe list containig data for all samples +#' @param df_list dataframe list containing data for all samples #' #' @return This function does not return a value. It creates and saves a PDF file to disk. @@ -556,7 +556,7 @@ lapply(sample_name.ls, save_metaprofile_psite_plot, df.ls = filtered_psite.ls, a # Codon usage lapply(names(filtered_psite.ls), plot_codon_usage, psite_info_ls = filtered_psite.ls, frequency_normalization = opt\$frequency_normalization) -message("riboWaltz analysis succesfully completed!") +message("riboWaltz analysis successfully completed!") # ========= # Export versions diff --git a/modules/nf-core/ripgrep/environment.yml b/modules/nf-core/ripgrep/environment.yml new file mode 100644 index 00000000000..af129f6b150 --- /dev/null +++ b/modules/nf-core/ripgrep/environment.yml @@ -0,0 +1,7 @@ +channels: + - conda-forge + - bioconda + +dependencies: + - conda-forge::pigz=2.8 + - conda-forge::ripgrep=14.1.1 diff --git a/modules/nf-core/ripgrep/main.nf b/modules/nf-core/ripgrep/main.nf new file mode 100644 index 00000000000..c283072ed9d --- /dev/null +++ b/modules/nf-core/ripgrep/main.nf @@ -0,0 +1,55 @@ +process RIPGREP { + tag "$meta.id" + label 'process_low' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/de/deecf2e0aab3f4ba7c04eb24724f5c80550e39bec80760b18c7b52f8efa8e6b3/data': + 'community.wave.seqera.io/library/pigz_ripgrep:94e5407412b666ab' }" + + input: + tuple val(meta), path(files) + val pattern + val compress + + output: + tuple val(meta), path("*.txt{.gz,}"), emit: txt + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def write_output = compress ? " | pigz -cp ${task.cpus} > ${prefix}.txt.gz" : "> ${prefix}.txt" + if (!compress && files.contains("${prefix}.txt") || compress && files.contains("${prefix}.txt.gz")) { + error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!" + } + """ + rg \\ + $args \\ + --threads $task.cpus \\ + $pattern \\ + $files \\ + $write_output + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + ripgrep: \$(rg --version |& sed '1!d ; s/ripgrep //') + END_VERSIONS + """ + + stub: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def write_output = compress ? "touch ${prefix}.txt.gz" : "touch ${prefix}.txt" + """ + $write_output + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + ripgrep: \$(rg --version |& sed '1!d ; s/ripgrep //') + END_VERSIONS + """ +} diff --git a/modules/nf-core/ripgrep/meta.yml b/modules/nf-core/ripgrep/meta.yml new file mode 100644 index 00000000000..efb80f1747e --- /dev/null +++ b/modules/nf-core/ripgrep/meta.yml @@ -0,0 +1,59 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json +name: "ripgrep" +description: ripgrep recursively searches directories for a regex pattern +keywords: + - search + - regex + - patterns +tools: + - "ripgrep": + description: "ripgrep recursively searches directories for a regex pattern" + homepage: "https://github.com/BurntSushi/ripgrep" + documentation: "https://github.com/BurntSushi/ripgrep" + tool_dev_url: "https://github.com/BurntSushi/ripgrep" + licence: ["MIT", "UNLICENSE"] + identifier: "" + - "pigz": + description: "Parallel implementation of the gzip algorithm." + homepage: "https://zlib.net/pigz/" + documentation: "https://zlib.net/pigz/pigz.pdf" + + identifier: "" +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. `[ id:'sample1' ]` + + - files: + type: file + description: File(s) to be searched + + - - pattern: + type: string + description: Regex pattern to search for + + - - compress: + type: boolean + description: Compress the output file using pigz + default: false + +output: + - txt: + - meta: + type: map + description: Groovy map containing sample information + - "*.txt{.gz,}": + type: file + description: Output file containing the search results + pattern: "*.txt{.gz,}" + - versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" +authors: + - "@itrujnara" +maintainers: + - "@itrujnara" diff --git a/modules/nf-core/ripgrep/tests/main.nf.test b/modules/nf-core/ripgrep/tests/main.nf.test new file mode 100644 index 00000000000..2efa39875dc --- /dev/null +++ b/modules/nf-core/ripgrep/tests/main.nf.test @@ -0,0 +1,90 @@ +nextflow_process { + + name "Test Process RIPGREP" + script "../main.nf" + process "RIPGREP" + + tag "modules" + tag "modules_nfcore" + tag "ripgrep" + + test("generic - csv") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'generic/csv/test.csv', checkIfExists: true), + ] + + input[1] = 'Robert' // pattern + + input[2] = false // compress + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("generic - csv - compress") { + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'generic/csv/test.csv', checkIfExists: true), + ] + + input[1] = 'Robert' // pattern + + input[2] = true // compress + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("generic - csv - stub") { + + options "-stub" + + when { + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + 'generic/csv/test.csv', checkIfExists: true), + ] + + input[1] = 'Robert' // pattern + + input[2] = false // compress + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + +} diff --git a/modules/nf-core/ripgrep/tests/main.nf.test.snap b/modules/nf-core/ripgrep/tests/main.nf.test.snap new file mode 100644 index 00000000000..db87d9a85f8 --- /dev/null +++ b/modules/nf-core/ripgrep/tests/main.nf.test.snap @@ -0,0 +1,101 @@ +{ + "generic - csv": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.txt:md5,5f32b160f4f228e7abfda2cd988eb164" + ] + ], + "1": [ + "versions.yml:md5,d8a13e6037909fd47164f64bcdd8afa3" + ], + "txt": [ + [ + { + "id": "test" + }, + "test.txt:md5,5f32b160f4f228e7abfda2cd988eb164" + ] + ], + "versions": [ + "versions.yml:md5,d8a13e6037909fd47164f64bcdd8afa3" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-08T13:04:56.719646" + }, + "generic - csv - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,d8a13e6037909fd47164f64bcdd8afa3" + ], + "txt": [ + [ + { + "id": "test" + }, + "test.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,d8a13e6037909fd47164f64bcdd8afa3" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-08T13:05:05.816873" + }, + "generic - csv - compress": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test.txt.gz:md5,5f32b160f4f228e7abfda2cd988eb164" + ] + ], + "1": [ + "versions.yml:md5,d8a13e6037909fd47164f64bcdd8afa3" + ], + "txt": [ + [ + { + "id": "test" + }, + "test.txt.gz:md5,5f32b160f4f228e7abfda2cd988eb164" + ] + ], + "versions": [ + "versions.yml:md5,d8a13e6037909fd47164f64bcdd8afa3" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-08T13:10:17.112725" + } +} \ No newline at end of file diff --git a/modules/nf-core/rseqc/tin/meta.yml b/modules/nf-core/rseqc/tin/meta.yml index 6e363ecd83e..29fa68b32ea 100644 --- a/modules/nf-core/rseqc/tin/meta.yml +++ b/modules/nf-core/rseqc/tin/meta.yml @@ -1,5 +1,5 @@ name: rseqc_tin -description: Calculte TIN (transcript integrity number) from RNA-seq reads +description: Calculate TIN (transcript integrity number) from RNA-seq reads keywords: - rnaseq - transcript diff --git a/modules/nf-core/rtgtools/vcfeval/meta.yml b/modules/nf-core/rtgtools/vcfeval/meta.yml index 4c59bab5216..12b14df2e81 100644 --- a/modules/nf-core/rtgtools/vcfeval/meta.yml +++ b/modules/nf-core/rtgtools/vcfeval/meta.yml @@ -38,7 +38,7 @@ input: pattern: "*.{vcf.gz.tbi, vcf.tbi}" - truth_bed: type: file - description: A BED file containining the strict regions where VCFeval should + description: A BED file containing the strict regions where VCFeval should only evaluate the fully overlapping variants (optional) This input should be used to provide the golden truth BED files. pattern: "*.bed" diff --git a/modules/nf-core/sam2lca/analyze/meta.yml b/modules/nf-core/sam2lca/analyze/meta.yml index c3152c780d3..bc09b8f0ee6 100644 --- a/modules/nf-core/sam2lca/analyze/meta.yml +++ b/modules/nf-core/sam2lca/analyze/meta.yml @@ -64,7 +64,7 @@ output: - "*.bam": type: file description: Optional sorted BAM/CRAM/SAM file annotated with LCA taxonomic - informations + information pattern: "*.bam" - versions: - versions.yml: diff --git a/modules/nf-core/samshee/main.nf b/modules/nf-core/samshee/main.nf index d40885c4a84..0ec85ae35a3 100644 --- a/modules/nf-core/samshee/main.nf +++ b/modules/nf-core/samshee/main.nf @@ -4,8 +4,8 @@ process SAMSHEE { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/pip_samshee:6ef3bad21377d60e' : - 'community.wave.seqera.io/library/pip_samshee:9a11bec0d7c8df27' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/3a/3afa0f69cc7ab7e3f9a80582958b8fa33d6673cb914e0f5bdc1c883f61e16073/data' : + 'community.wave.seqera.io/library/samshee_python:96db61572eca797e' }" input: tuple val(meta), path(samplesheet) diff --git a/modules/nf-core/scoary/meta.yml b/modules/nf-core/scoary/meta.yml index 507bd22efcd..f87c9014377 100644 --- a/modules/nf-core/scoary/meta.yml +++ b/modules/nf-core/scoary/meta.yml @@ -29,7 +29,7 @@ input: pattern: "*.csv" - - tree: type: file - description: A Newick formtted tree for phylogenetic analyses + description: A Newick formatted tree for phylogenetic analyses pattern: "*.{dnd,nwk,treefile}" output: - csv: diff --git a/modules/nf-core/scvitools/scar/environment.yml b/modules/nf-core/scvitools/scar/environment.yml index 42881dd7b8f..c0df8f5baca 100644 --- a/modules/nf-core/scvitools/scar/environment.yml +++ b/modules/nf-core/scvitools/scar/environment.yml @@ -1,6 +1,8 @@ channels: - conda-forge - bioconda + dependencies: - - conda-forge::scvi-tools=1.2.0 - conda-forge::jaxlib=0.4.31 + - conda-forge::python=3.12.7 + - conda-forge::scvi-tools=1.2.0 diff --git a/modules/nf-core/scvitools/scar/main.nf b/modules/nf-core/scvitools/scar/main.nf index db9dcfc4215..6bdfcd86af6 100644 --- a/modules/nf-core/scvitools/scar/main.nf +++ b/modules/nf-core/scvitools/scar/main.nf @@ -4,7 +4,7 @@ process SCVITOOLS_SCAR { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/scvi-tools:1.2.0--adbeb4160de8b08e': + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/9b/9b999caba5a5a6bc19bd324d9f1ac28e092a750140b453071956ebc304b7c4aa/data': 'community.wave.seqera.io/library/scvi-tools:1.2.0--680d378b86801b8a' }" input: diff --git a/modules/nf-core/scvitools/solo/environment.yml b/modules/nf-core/scvitools/solo/environment.yml index 42881dd7b8f..b5a28d3c2f8 100644 --- a/modules/nf-core/scvitools/solo/environment.yml +++ b/modules/nf-core/scvitools/solo/environment.yml @@ -1,6 +1,9 @@ channels: - conda-forge - bioconda + dependencies: - - conda-forge::scvi-tools=1.2.0 + - conda-forge::anndata=0.10.9 - conda-forge::jaxlib=0.4.31 + - conda-forge::python=3.12.7 + - conda-forge::scvi-tools=1.2.0 diff --git a/modules/nf-core/scvitools/solo/main.nf b/modules/nf-core/scvitools/solo/main.nf index f4d7403087b..7e62d6afec3 100644 --- a/modules/nf-core/scvitools/solo/main.nf +++ b/modules/nf-core/scvitools/solo/main.nf @@ -6,7 +6,7 @@ process SCVITOOLS_SOLO { conda "${moduleDir}/environment.yml" container "${ task.ext.use_gpu ? 'docker.io/nicotru/scvitools-gpu:cuda-12' : workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/scvi-tools:1.2.0--adbeb4160de8b08e': + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/9b/9b999caba5a5a6bc19bd324d9f1ac28e092a750140b453071956ebc304b7c4aa/data': 'community.wave.seqera.io/library/scvi-tools:1.2.0--680d378b86801b8a' }" input: diff --git a/modules/nf-core/sentieon/datametrics/meta.yml b/modules/nf-core/sentieon/datametrics/meta.yml index 2b59da39c8a..91c60b756ac 100644 --- a/modules/nf-core/sentieon/datametrics/meta.yml +++ b/modules/nf-core/sentieon/datametrics/meta.yml @@ -122,7 +122,7 @@ output: e.g. `[ id:'test', single_end:false ]` - "*mq_metrics.pdf": type: file - description: "PDF containting plot of mean base quality scores" + description: "PDF containing plot of mean base quality scores" pattern: "*.pdf" - qd_plot: - meta: @@ -132,7 +132,7 @@ output: e.g. `[ id:'test', single_end:false ]` - "*qd_metrics.pdf": type: file - description: "PDF containting plot of specific base quality score" + description: "PDF containing plot of specific base quality score" pattern: "*.pdf" - is_plot: - meta: @@ -142,7 +142,7 @@ output: e.g. `[ id:'test', single_end:false ]` - "*is_metrics.pdf": type: file - description: "PDF containting plot of insert sizes" + description: "PDF containing plot of insert sizes" pattern: "*.pdf" - gc_plot: - meta: @@ -152,7 +152,7 @@ output: e.g. `[ id:'test', single_end:false ]` - "*gc_metrics.pdf": type: file - description: "PDF containting plot of GC bias" + description: "PDF containing plot of GC bias" pattern: "*.pdf" - versions: - versions.yml: diff --git a/modules/nf-core/sentieon/gvcftyper/tests/nextflow.config b/modules/nf-core/sentieon/gvcftyper/tests/nextflow.config index 1561a7c4d2d..0b55bb5ec25 100644 --- a/modules/nf-core/sentieon/gvcftyper/tests/nextflow.config +++ b/modules/nf-core/sentieon/gvcftyper/tests/nextflow.config @@ -4,7 +4,7 @@ env { // NOTE This should only happen in GitHub actions or nf-core MegaTests SENTIEON_AUTH_MECH = "$SENTIEON_AUTH_MECH" SENTIEON_AUTH_DATA = secrets.SENTIEON_AUTH_DATA - // NOTE This is how pipepline users will test out Sentieon with a license file + // NOTE This is how pipeline users will test out Sentieon with a license file // nextflow secrets set SENTIEON_LICENSE_BASE64 \$(cat | base64 -w 0) } diff --git a/modules/nf-core/sentieon/qualcal/tests/nextflow.config b/modules/nf-core/sentieon/qualcal/tests/nextflow.config index f168bad2d64..c1e9e48648c 100644 --- a/modules/nf-core/sentieon/qualcal/tests/nextflow.config +++ b/modules/nf-core/sentieon/qualcal/tests/nextflow.config @@ -4,6 +4,6 @@ env { // NOTE This should only happen in GitHub actions or nf-core MegaTests SENTIEON_AUTH_MECH = "$SENTIEON_AUTH_MECH" SENTIEON_AUTH_DATA = secrets.SENTIEON_AUTH_DATA - // NOTE This is how pipepline users will test out Sentieon with a license file + // NOTE This is how pipeline users will test out Sentieon with a license file // nextflow secrets set SENTIEON_LICENSE_BASE64 \$(cat | base64 -w 0) } diff --git a/modules/nf-core/seqkit/grep/meta.yml b/modules/nf-core/seqkit/grep/meta.yml index 309f8197486..8148cb88dd6 100644 --- a/modules/nf-core/seqkit/grep/meta.yml +++ b/modules/nf-core/seqkit/grep/meta.yml @@ -31,7 +31,7 @@ input: type: file description: > pattern file (one record per line). If no pattern is given, a string can be - specificied within the args using '-p pattern_string' + specified within the args using '-p pattern_string' pattern: "*.{txt,tsv}" output: - filter: diff --git a/modules/nf-core/seqsero2/meta.yml b/modules/nf-core/seqsero2/meta.yml index 9761dd7b651..a28831475a1 100644 --- a/modules/nf-core/seqsero2/meta.yml +++ b/modules/nf-core/seqsero2/meta.yml @@ -22,7 +22,7 @@ input: e.g. [ id:'test', single_end:false ] - seqs: type: file - description: FASTQ or FASTA formated sequences + description: FASTQ or FASTA formatted sequences pattern: "*.{fq.gz,fastq.gz,fna.gz,fna,fasta.gz,fasta,fa.gz,fa}" output: - log: diff --git a/modules/nf-core/sequali/main.nf b/modules/nf-core/sequali/main.nf index 718c07171c9..768b98ceab1 100644 --- a/modules/nf-core/sequali/main.nf +++ b/modules/nf-core/sequali/main.nf @@ -4,7 +4,7 @@ process SEQUALI { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/sequali:0.12.0--c288fa2befb47d0f': + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/9e/9ed3be5b0d3beb64807ec93b25a80b55abdcdffe684114d12ddef78461dd64e9/data': 'community.wave.seqera.io/library/sequali:0.12.0--07485bec824d914a' }" input: diff --git a/modules/nf-core/sgdemux/meta.yml b/modules/nf-core/sgdemux/meta.yml index 3dd52d75aaa..131d33aea08 100644 --- a/modules/nf-core/sgdemux/meta.yml +++ b/modules/nf-core/sgdemux/meta.yml @@ -21,7 +21,7 @@ input: - sample_sheet: type: file description: sample_sheet file (either a Singular Genomics sample sheet, or - a two column csv wih Sample_Barcode and Sample_ID) + a two column csv with Sample_Barcode and Sample_ID) pattern: "*.{csv}" - fastqs_dir: type: directory diff --git a/modules/nf-core/smoove/call/meta.yml b/modules/nf-core/smoove/call/meta.yml index 379ae6e2dae..ce6a0c86a85 100644 --- a/modules/nf-core/smoove/call/meta.yml +++ b/modules/nf-core/smoove/call/meta.yml @@ -1,7 +1,7 @@ name: "smoove_call" description: smoove simplifies and speeds calling and genotyping SVs for short reads. It also improves specificity by removing many spurious alignment signals that are - indicative of low-level noise and often contribute to spurious calls. Developped + indicative of low-level noise and often contribute to spurious calls. Developed by Brent Pedersen. keywords: - structural variants diff --git a/modules/nf-core/star/align/environment.yml b/modules/nf-core/star/align/environment.yml index 7c57530a39d..9ed1940faac 100644 --- a/modules/nf-core/star/align/environment.yml +++ b/modules/nf-core/star/align/environment.yml @@ -3,7 +3,7 @@ channels: - bioconda dependencies: - - bioconda::htslib=1.20 - - bioconda::samtools=1.20 + - bioconda::htslib=1.21 + - bioconda::samtools=1.21 - bioconda::star=2.7.11b - conda-forge::gawk=5.1.0 diff --git a/modules/nf-core/star/align/main.nf b/modules/nf-core/star/align/main.nf index 417071ba96f..b435f60c51d 100644 --- a/modules/nf-core/star/align/main.nf +++ b/modules/nf-core/star/align/main.nf @@ -4,8 +4,8 @@ process STAR_ALIGN { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/b4/b425bc2a95806d878993f9a66dae3ae80ac2dafff4c208c5ae01b7a90a32fa91/data' : - 'community.wave.seqera.io/library/star_samtools_htslib_gawk:10c6e8c834460019' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/10/101ea47973178f85ff66a34de6a7462aaf99d947d3924c27ce8a2d5a63009065/data' : + 'community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' }" input: tuple val(meta), path(reads, stageAs: "input*/*") @@ -41,12 +41,13 @@ process STAR_ALIGN { script: def args = task.ext.args ?: '' prefix = task.ext.prefix ?: "${meta.id}" - def reads1 = [], reads2 = [] + def reads1 = [] + def reads2 = [] meta.single_end ? [reads].flatten().each{reads1 << it} : reads.eachWithIndex{ v, ix -> ( ix & 1 ? reads2 : reads1) << v } def ignore_gtf = star_ignore_sjdbgtf ? '' : "--sjdbGTFfile $gtf" - def seq_platform = seq_platform ? "'PL:$seq_platform'" : "" - def seq_center = seq_center ? "'CN:$seq_center'" : "" - attrRG = args.contains("--outSAMattrRGline") ? "" : "--outSAMattrRGline 'ID:$prefix' $seq_center 'SM:$prefix' $seq_platform" + def seq_platform_arg = seq_platform ? "'PL:$seq_platform'" : "" + def seq_center_arg = seq_center ? "'CN:$seq_center'" : "" + attrRG = args.contains("--outSAMattrRGline") ? "" : "--outSAMattrRGline 'ID:$prefix' $seq_center_arg 'SM:$prefix' $seq_platform_arg" def out_sam_type = (args.contains('--outSAMtype')) ? '' : '--outSAMtype BAM Unsorted' mv_unsorted_bam = (args.contains('--outSAMtype BAM Unsorted SortedByCoordinate')) ? "mv ${prefix}.Aligned.out.bam ${prefix}.Aligned.unsort.out.bam" : '' """ diff --git a/modules/nf-core/star/align/tests/main.nf.test.snap b/modules/nf-core/star/align/tests/main.nf.test.snap index b533fb8b40c..a1ec3a3d028 100644 --- a/modules/nf-core/star/align/tests/main.nf.test.snap +++ b/modules/nf-core/star/align/tests/main.nf.test.snap @@ -97,7 +97,7 @@ ] ], "3": [ - "versions.yml:md5,a149bba1dbb5194560abdd813c7848e3" + "versions.yml:md5,b416145d7b5b8a080e832a7f7cde4c44" ], "4": [ [ @@ -307,7 +307,7 @@ ] ], "versions": [ - "versions.yml:md5,a149bba1dbb5194560abdd813c7848e3" + "versions.yml:md5,b416145d7b5b8a080e832a7f7cde4c44" ], "wig": [ [ @@ -321,10 +321,10 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-20T17:09:08.738074176" + "timestamp": "2024-12-11T16:28:39.242074494" }, "homo_sapiens - paired_end - arriba - stub": { "content": [ @@ -424,7 +424,7 @@ ] ], "3": [ - "versions.yml:md5,a149bba1dbb5194560abdd813c7848e3" + "versions.yml:md5,b416145d7b5b8a080e832a7f7cde4c44" ], "4": [ [ @@ -634,7 +634,7 @@ ] ], "versions": [ - "versions.yml:md5,a149bba1dbb5194560abdd813c7848e3" + "versions.yml:md5,b416145d7b5b8a080e832a7f7cde4c44" ], "wig": [ [ @@ -648,10 +648,10 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-20T17:09:36.122131869" + "timestamp": "2024-12-11T16:29:08.392620556" }, "homo_sapiens - single_end": { "content": [ @@ -703,14 +703,14 @@ ], [ - "versions.yml:md5,a149bba1dbb5194560abdd813c7848e3" + "versions.yml:md5,b416145d7b5b8a080e832a7f7cde4c44" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-20T17:01:22.197991909" + "timestamp": "2024-12-11T16:21:34.549483887" }, "homo_sapiens - paired_end": { "content": [ @@ -762,14 +762,14 @@ ], [ - "versions.yml:md5,a149bba1dbb5194560abdd813c7848e3" + "versions.yml:md5,b416145d7b5b8a080e832a7f7cde4c44" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-20T17:02:06.988663857" + "timestamp": "2024-12-11T16:22:17.011253146" }, "homo_sapiens - paired_end - multiple - stub": { "content": [ @@ -869,7 +869,7 @@ ] ], "3": [ - "versions.yml:md5,a149bba1dbb5194560abdd813c7848e3" + "versions.yml:md5,b416145d7b5b8a080e832a7f7cde4c44" ], "4": [ [ @@ -1079,7 +1079,7 @@ ] ], "versions": [ - "versions.yml:md5,a149bba1dbb5194560abdd813c7848e3" + "versions.yml:md5,b416145d7b5b8a080e832a7f7cde4c44" ], "wig": [ [ @@ -1093,10 +1093,10 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-20T17:10:12.005468781" + "timestamp": "2024-12-11T16:29:31.072104862" }, "homo_sapiens - paired_end - multiple": { "content": [ @@ -1148,14 +1148,14 @@ ], [ - "versions.yml:md5,a149bba1dbb5194560abdd813c7848e3" + "versions.yml:md5,b416145d7b5b8a080e832a7f7cde4c44" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-20T17:08:54.877286681" + "timestamp": "2024-12-11T16:28:26.645008336" }, "homo_sapiens - paired_end - stub": { "content": [ @@ -1255,7 +1255,7 @@ ] ], "3": [ - "versions.yml:md5,a149bba1dbb5194560abdd813c7848e3" + "versions.yml:md5,b416145d7b5b8a080e832a7f7cde4c44" ], "4": [ [ @@ -1465,7 +1465,7 @@ ] ], "versions": [ - "versions.yml:md5,a149bba1dbb5194560abdd813c7848e3" + "versions.yml:md5,b416145d7b5b8a080e832a7f7cde4c44" ], "wig": [ [ @@ -1479,10 +1479,10 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-20T17:09:20.911466345" + "timestamp": "2024-12-11T16:28:53.816280805" }, "homo_sapiens - paired_end - starfusion": { "content": [ @@ -1525,14 +1525,14 @@ ], [ - "versions.yml:md5,a149bba1dbb5194560abdd813c7848e3" + "versions.yml:md5,b416145d7b5b8a080e832a7f7cde4c44" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-20T17:07:25.0639914" + "timestamp": "2024-12-11T16:27:14.136111964" }, "homo_sapiens - paired_end - arriba": { "content": [ @@ -1574,14 +1574,14 @@ ], [ - "versions.yml:md5,a149bba1dbb5194560abdd813c7848e3" + "versions.yml:md5,b416145d7b5b8a080e832a7f7cde4c44" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-20T17:04:00.685784211" + "timestamp": "2024-12-11T16:24:00.829462526" }, "homo_sapiens - paired_end - starfusion - stub": { "content": [ @@ -1681,7 +1681,7 @@ ] ], "3": [ - "versions.yml:md5,a149bba1dbb5194560abdd813c7848e3" + "versions.yml:md5,b416145d7b5b8a080e832a7f7cde4c44" ], "4": [ [ @@ -1891,7 +1891,7 @@ ] ], "versions": [ - "versions.yml:md5,a149bba1dbb5194560abdd813c7848e3" + "versions.yml:md5,b416145d7b5b8a080e832a7f7cde4c44" ], "wig": [ [ @@ -1905,9 +1905,9 @@ } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-20T17:09:53.173671551" + "timestamp": "2024-12-11T16:29:20.015372487" } } \ No newline at end of file diff --git a/modules/nf-core/star/genomegenerate/environment.yml b/modules/nf-core/star/genomegenerate/environment.yml index 7c57530a39d..9ed1940faac 100644 --- a/modules/nf-core/star/genomegenerate/environment.yml +++ b/modules/nf-core/star/genomegenerate/environment.yml @@ -3,7 +3,7 @@ channels: - bioconda dependencies: - - bioconda::htslib=1.20 - - bioconda::samtools=1.20 + - bioconda::htslib=1.21 + - bioconda::samtools=1.21 - bioconda::star=2.7.11b - conda-forge::gawk=5.1.0 diff --git a/modules/nf-core/star/genomegenerate/main.nf b/modules/nf-core/star/genomegenerate/main.nf index 8f0c67e7643..d49ddfb8af4 100644 --- a/modules/nf-core/star/genomegenerate/main.nf +++ b/modules/nf-core/star/genomegenerate/main.nf @@ -4,8 +4,8 @@ process STAR_GENOMEGENERATE { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/b4/b425bc2a95806d878993f9a66dae3ae80ac2dafff4c208c5ae01b7a90a32fa91/data' : - 'community.wave.seqera.io/library/star_samtools_htslib_gawk:10c6e8c834460019' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/10/101ea47973178f85ff66a34de6a7462aaf99d947d3924c27ce8a2d5a63009065/data' : + 'community.wave.seqera.io/library/htslib_samtools_star_gawk:311d422a50e6d829' }" input: tuple val(meta), path(fasta) diff --git a/modules/nf-core/star/genomegenerate/tests/main.nf.test.snap b/modules/nf-core/star/genomegenerate/tests/main.nf.test.snap index 3db2567823a..b79da991d1d 100644 --- a/modules/nf-core/star/genomegenerate/tests/main.nf.test.snap +++ b/modules/nf-core/star/genomegenerate/tests/main.nf.test.snap @@ -3,14 +3,14 @@ "content": [ "[Genome, Log.out, SA, SAindex, chrLength.txt, chrName.txt, chrNameLength.txt, chrStart.txt, exonGeTrInfo.tab, exonInfo.tab, geneInfo.tab, genomeParameters.txt, sjdbInfo.txt, sjdbList.fromGTF.out.tab, sjdbList.out.tab, transcriptInfo.tab]", [ - "versions.yml:md5,14b05d04c9eca568e9ed4888aaf26fa6" + "versions.yml:md5,0c6c5fab50cc8601f9072268a2f49aad" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-19T20:37:47.410432728" + "timestamp": "2024-12-11T16:29:40.748676908" }, "fasta_gtf_stub": { "content": [ @@ -41,7 +41,7 @@ ] ], "1": [ - "versions.yml:md5,14b05d04c9eca568e9ed4888aaf26fa6" + "versions.yml:md5,0c6c5fab50cc8601f9072268a2f49aad" ], "index": [ [ @@ -69,15 +69,15 @@ ] ], "versions": [ - "versions.yml:md5,14b05d04c9eca568e9ed4888aaf26fa6" + "versions.yml:md5,0c6c5fab50cc8601f9072268a2f49aad" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-19T20:38:09.165234795" + "timestamp": "2024-12-11T16:30:11.024076742" }, "fasta_stub": { "content": [ @@ -101,7 +101,7 @@ ] ], "1": [ - "versions.yml:md5,14b05d04c9eca568e9ed4888aaf26fa6" + "versions.yml:md5,0c6c5fab50cc8601f9072268a2f49aad" ], "index": [ [ @@ -122,27 +122,27 @@ ] ], "versions": [ - "versions.yml:md5,14b05d04c9eca568e9ed4888aaf26fa6" + "versions.yml:md5,0c6c5fab50cc8601f9072268a2f49aad" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-19T20:38:19.530862664" + "timestamp": "2024-12-11T16:30:22.674364031" }, "fasta": { "content": [ "[Genome, Log.out, SA, SAindex, chrLength.txt, chrName.txt, chrNameLength.txt, chrStart.txt, genomeParameters.txt]", [ - "versions.yml:md5,14b05d04c9eca568e9ed4888aaf26fa6" + "versions.yml:md5,0c6c5fab50cc8601f9072268a2f49aad" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-19T20:37:58.667436398" + "timestamp": "2024-12-11T16:29:57.958812354" } } \ No newline at end of file diff --git a/modules/nf-core/survivor/bedpetovcf/meta.yml b/modules/nf-core/survivor/bedpetovcf/meta.yml index 8a1b4f941f1..04cd3011830 100644 --- a/modules/nf-core/survivor/bedpetovcf/meta.yml +++ b/modules/nf-core/survivor/bedpetovcf/meta.yml @@ -1,5 +1,5 @@ name: "survivor_bedpetovcf" -description: Converts a bedpe file ot a VCF file (beta version) +description: Converts a bedpe file to a VCF file (beta version) keywords: - bedpe - conversion diff --git a/modules/nf-core/survivor/stats/meta.yml b/modules/nf-core/survivor/stats/meta.yml index cc89f0aead6..dadd990b620 100644 --- a/modules/nf-core/survivor/stats/meta.yml +++ b/modules/nf-core/survivor/stats/meta.yml @@ -1,5 +1,5 @@ name: "survivor_stats" -description: Report multipe stats over a VCF file +description: Report multiple stats over a VCF file keywords: - survivor - statistics diff --git a/modules/nf-core/tbprofiler/profile/meta.yml b/modules/nf-core/tbprofiler/profile/meta.yml index 98989dda107..dd0e0b4a578 100644 --- a/modules/nf-core/tbprofiler/profile/meta.yml +++ b/modules/nf-core/tbprofiler/profile/meta.yml @@ -43,7 +43,7 @@ output: e.g. [ id:'test', single_end:false ] - results/*.csv: type: file - description: Optional CSV formated result file of resistance and strain type + description: Optional CSV formatted result file of resistance and strain type pattern: "*.csv" - json: - meta: @@ -53,7 +53,7 @@ output: e.g. [ id:'test', single_end:false ] - results/*.json: type: file - description: JSON formated result file of resistance and strain type + description: JSON formatted result file of resistance and strain type pattern: "*.json" - txt: - meta: @@ -73,7 +73,7 @@ output: e.g. [ id:'test', single_end:false ] - vcf/*.vcf.gz: type: file - description: VCF with variant info again refernce genomes + description: VCF with variant info again reference genomes pattern: "*.vcf" - versions: - versions.yml: diff --git a/modules/nf-core/tcoffee/align/main.nf b/modules/nf-core/tcoffee/align/main.nf index 09bb879deed..3cee8b33695 100644 --- a/modules/nf-core/tcoffee/align/main.nf +++ b/modules/nf-core/tcoffee/align/main.nf @@ -10,7 +10,7 @@ process TCOFFEE_ALIGN { input: tuple val(meta) , path(fasta) tuple val(meta2), path(tree) - tuple val(meta3), path(template), path(accessory_informations) + tuple val(meta3), path(template), path(accessory_information) val(compress) output: diff --git a/modules/nf-core/tcoffee/align/meta.yml b/modules/nf-core/tcoffee/align/meta.yml index 518be2b39d5..e5cdd82cb3e 100644 --- a/modules/nf-core/tcoffee/align/meta.yml +++ b/modules/nf-core/tcoffee/align/meta.yml @@ -48,7 +48,7 @@ input: description: T_coffee template file that maps sequences to the accessory information files to be used. pattern: "*" - - accessory_informations: + - accessory_information: type: file description: Accessory files to be used in the alignment. For example, it could be protein structures or secondary structures. diff --git a/modules/nf-core/tcoffee/consensus/main.nf b/modules/nf-core/tcoffee/consensus/main.nf index 7205db903e5..d0567b8d01b 100644 --- a/modules/nf-core/tcoffee/consensus/main.nf +++ b/modules/nf-core/tcoffee/consensus/main.nf @@ -4,8 +4,8 @@ process TCOFFEE_CONSENSUS { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/t-coffee_pigz:f47b85d70360f1a0': - 'community.wave.seqera.io/library/t-coffee_pigz:6c9b2f8b97ee55e5' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/5e/5e5c1c07cc0099dacea172348bc78f9a9baab592ce3ece89873703b9e963d269/data': + 'community.wave.seqera.io/library/t-coffee_pigz:c98a6c87c62d9df6' }" input: diff --git a/modules/nf-core/tcoffee/regressive/main.nf b/modules/nf-core/tcoffee/regressive/main.nf index baf825681b5..2c20b9aad78 100644 --- a/modules/nf-core/tcoffee/regressive/main.nf +++ b/modules/nf-core/tcoffee/regressive/main.nf @@ -10,7 +10,7 @@ process TCOFFEE_REGRESSIVE { input: tuple val(meta) , path(fasta) tuple val(meta2), path(tree) - tuple val(meta3), path(template), path(accessory_informations) + tuple val(meta3), path(template), path(accessory_information) val(compress) output: diff --git a/modules/nf-core/tcoffee/regressive/meta.yml b/modules/nf-core/tcoffee/regressive/meta.yml index 9f9c896744a..52d3719f733 100644 --- a/modules/nf-core/tcoffee/regressive/meta.yml +++ b/modules/nf-core/tcoffee/regressive/meta.yml @@ -48,7 +48,7 @@ input: description: T_coffee template file that maps sequences to the accessory information files to be used. pattern: "*" - - accessory_informations: + - accessory_information: type: file description: Accessory files to be used in the alignment. For example, it could be protein structures or secondary structures. diff --git a/modules/nf-core/trimgalore/main.nf b/modules/nf-core/trimgalore/main.nf index e55683ca549..5fe53669f76 100644 --- a/modules/nf-core/trimgalore/main.nf +++ b/modules/nf-core/trimgalore/main.nf @@ -11,12 +11,12 @@ process TRIMGALORE { tuple val(meta), path(reads) output: - tuple val(meta), path("*{3prime,5prime,trimmed,val}*.fq.gz"), emit: reads - tuple val(meta), path("*report.txt") , emit: log , optional: true - tuple val(meta), path("*unpaired*.fq.gz"), emit: unpaired, optional: true - tuple val(meta), path("*.html") , emit: html , optional: true - tuple val(meta), path("*.zip") , emit: zip , optional: true - path "versions.yml" , emit: versions + tuple val(meta), path("*{3prime,5prime,trimmed,val}{,_1,_2}.fq.gz"), emit: reads + tuple val(meta), path("*report.txt") , emit: log, optional: true + tuple val(meta), path("*unpaired{,_1,_2}.fq.gz") , emit: unpaired, optional: true + tuple val(meta), path("*.html") , emit: html, optional: true + tuple val(meta), path("*.zip") , emit: zip, optional: true + path "versions.yml" , emit: versions when: task.ext.when == null || task.ext.when diff --git a/modules/nf-core/trimgalore/meta.yml b/modules/nf-core/trimgalore/meta.yml index 576cb4c5963..bd793635fdd 100644 --- a/modules/nf-core/trimgalore/meta.yml +++ b/modules/nf-core/trimgalore/meta.yml @@ -33,21 +33,24 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - "*{3prime,5prime,trimmed,val}*.fq.gz": - type: file + - "*{3prime,5prime,trimmed,val}{,_1,_2}.fq.gz": + type: map description: | - List of input adapter trimmed FastQ files of size 1 and 2 for - single-end and paired-end data, respectively. - pattern: "*{3prime,5prime,trimmed,val}*.fq.gz" + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + pattern: "*{3prime,5prime,trimmed,val}{,_1,_2}.fq.gz" - log: - meta: type: map description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] + pattern: "*_{report.txt}" - "*report.txt": - type: file - description: Trim Galore! trimming report + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] pattern: "*_{report.txt}" - unpaired: - meta: @@ -55,10 +58,11 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - "*unpaired*.fq.gz": - type: file + - "*unpaired{,_1,_2}.fq.gz": + type: map description: | - FastQ files containing unpaired reads from read 1 or read 2 + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] pattern: "*unpaired*.fq.gz" - html: - meta: @@ -66,9 +70,12 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] + pattern: "*_{fastqc.html}" - "*.html": - type: file - description: FastQC report (optional) + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] pattern: "*_{fastqc.html}" - zip: - meta: @@ -76,9 +83,12 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] + pattern: "*_{fastqc.zip}" - "*.zip": - type: file - description: FastQC report archive (optional) + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] pattern: "*_{fastqc.zip}" - versions: - versions.yml: diff --git a/modules/nf-core/trimgalore/tests/main.nf.test b/modules/nf-core/trimgalore/tests/main.nf.test index 37b054fc020..c01672c49b9 100644 --- a/modules/nf-core/trimgalore/tests/main.nf.test +++ b/modules/nf-core/trimgalore/tests/main.nf.test @@ -126,6 +126,40 @@ nextflow_process { } } + test("test_trimgalore_paired_end_keep_unpaired") { + + config "./nextflow.config" + + when { + + params { + module_args = '--retain_unpaired --length 150' + } + + process { + """ + input[0] = [ [ id:'test', single_end:false ], // meta map + [ + 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) + ] + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot( + path(process.out.versions.get(0)).yaml, + process.out.reads, + process.out.unpaired + ).match() }, + ) + } + } + test("test_trimgalore_paired_end - stub") { options "-stub" diff --git a/modules/nf-core/trimgalore/tests/main.nf.test.snap b/modules/nf-core/trimgalore/tests/main.nf.test.snap index 4c7318061cc..c454ad521f6 100644 --- a/modules/nf-core/trimgalore/tests/main.nf.test.snap +++ b/modules/nf-core/trimgalore/tests/main.nf.test.snap @@ -11,9 +11,9 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.2" + "nextflow": "24.10.3" }, - "timestamp": "2024-12-05T22:56:18.454197" + "timestamp": "2025-01-06T12:25:01.330769598" }, "test_trimgalore_single_end - stub": { "content": [ @@ -89,9 +89,9 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.2" + "nextflow": "24.10.3" }, - "timestamp": "2024-12-05T22:56:22.085472" + "timestamp": "2025-01-06T12:25:15.582246999" }, "test_trimgalore_paired_end - stub": { "content": [ @@ -172,9 +172,9 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.2" + "nextflow": "24.10.3" }, - "timestamp": "2024-12-05T22:44:33.751013" + "timestamp": "2025-01-06T12:26:05.201562315" }, "versions": { "content": [ @@ -188,9 +188,9 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.2" + "nextflow": "24.10.3" }, - "timestamp": "2024-12-05T22:57:28.77107" + "timestamp": "2025-01-06T12:26:05.229598492" }, "test_trimgalore_paired_end": { "content": [ @@ -204,8 +204,48 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.2" + "nextflow": "24.10.3" }, - "timestamp": "2024-12-05T22:56:27.019872" + "timestamp": "2025-01-06T12:25:33.510924538" + }, + "test_trimgalore_paired_end_keep_unpaired": { + "content": [ + { + "TRIMGALORE": { + "trimgalore": "0.6.10", + "cutadapt": 4.9, + "pigz": 2.8 + } + }, + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1_val_1.fq.gz:md5,75413e85910bbc2e1556e12f6479f935", + "test_2_val_2.fq.gz:md5,d3c588c12646ebd36a0812fe02d0bda6" + ] + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1_unpaired_1.fq.gz:md5,17e0e878f6d0e93b9008a05f128660b6", + "test_2_unpaired_2.fq.gz:md5,b09a064368a867e099e66df5ef69b044" + ] + ] + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2025-01-06T12:25:46.461002981" } } \ No newline at end of file diff --git a/modules/nf-core/trimgalore/tests/nextflow.config b/modules/nf-core/trimgalore/tests/nextflow.config new file mode 100644 index 00000000000..d8e3ac13790 --- /dev/null +++ b/modules/nf-core/trimgalore/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: TRIMGALORE { + ext.args = params.module_args + } +} diff --git a/modules/nf-core/trimmomatic/main.nf b/modules/nf-core/trimmomatic/main.nf index 13fe8b6ee7a..7ec4fa0f6e3 100644 --- a/modules/nf-core/trimmomatic/main.nf +++ b/modules/nf-core/trimmomatic/main.nf @@ -52,9 +52,9 @@ process TRIMMOMATIC { if (meta.single_end) { output_command = "echo '' | gzip > ${prefix}.SE.paired.trim.fastq.gz" } else { - output_command = "echo '' | gzip > ${prefix}.paired.trim_1.fastq.gz" - output_command = "echo '' | gzip > ${prefix}.paired.trim_2.fastq.gz" - output_command += "echo '' | gzip > ${prefix}.unpaired.trim_1.fastq.gz" + output_command = "echo '' | gzip > ${prefix}.paired.trim_1.fastq.gz\n" + output_command += "echo '' | gzip > ${prefix}.paired.trim_2.fastq.gz\n" + output_command += "echo '' | gzip > ${prefix}.unpaired.trim_1.fastq.gz\n" output_command += "echo '' | gzip > ${prefix}.unpaired.trim_2.fastq.gz" } diff --git a/modules/nf-core/tsebra/meta.yml b/modules/nf-core/tsebra/meta.yml index b7808efe05e..e825d87bfd1 100644 --- a/modules/nf-core/tsebra/meta.yml +++ b/modules/nf-core/tsebra/meta.yml @@ -1,6 +1,6 @@ # yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "tsebra" -description: Transcript Selector for BRAKER TSEBRA combines gene predictions by selecing +description: Transcript Selector for BRAKER TSEBRA combines gene predictions by selecting transcripts based on their extrisic evidence support keywords: - genomics diff --git a/modules/nf-core/universc/README.md b/modules/nf-core/universc/README.md index 793f4f13795..c2ffccab6bc 100644 --- a/modules/nf-core/universc/README.md +++ b/modules/nf-core/universc/README.md @@ -27,7 +27,7 @@ To comply with licensing and respect 10X Genomics Trademarks, the 10X Genomics l has been removed from HTML reports, the tool has been renamed, and proprietary closed-source tools to build Cloupe files are disabled. -It is still suffient to generate summary reports and count matrices compatible with +It is still sufficient to generate summary reports and count matrices compatible with single-cell analysis tools available for 10X Genomics and Cell Ranger output format in Python and R packages. diff --git a/modules/nf-core/untarfiles/main.nf b/modules/nf-core/untarfiles/main.nf index bae7838c49b..117b68954bd 100644 --- a/modules/nf-core/untarfiles/main.nf +++ b/modules/nf-core/untarfiles/main.nf @@ -10,8 +10,8 @@ process UNTARFILES { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/grep_sed_tar:40b34489f8e82876' : - 'community.wave.seqera.io/library/grep_sed_tar:16f6591cd62505b3' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/88/88e03525287eaeb8bb74114aaee2c67118c1cdcfb99ee52e3ddc71a1acce35d4/data' : + 'community.wave.seqera.io/library/grep_sed_tar:db2951cd23a1ffde' }" input: tuple val(meta), path(archive) diff --git a/modules/nf-core/upp/align/main.nf b/modules/nf-core/upp/align/main.nf index 1b254ea4727..c0e4a8dac98 100644 --- a/modules/nf-core/upp/align/main.nf +++ b/modules/nf-core/upp/align/main.nf @@ -4,8 +4,8 @@ process UPP_ALIGN { conda "${moduleDir}/environment.yml" container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? - 'oras://community.wave.seqera.io/library/sepp_pigz:d72591720d0277b1': - 'community.wave.seqera.io/library/sepp_pigz:ea6dbc7704a2e251' }" + 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/80/800667a716528cc6d655da1885d38f9d10385a184e0b1165985ae12034ff5f1d/data': + 'community.wave.seqera.io/library/sepp_pigz:8f996974b960fc41' }" input: tuple val(meta) , path(fasta) diff --git a/modules/nf-core/vcftools/main.nf b/modules/nf-core/vcftools/main.nf index 24e0fc3b0e8..67bca9af0c3 100644 --- a/modules/nf-core/vcftools/main.nf +++ b/modules/nf-core/vcftools/main.nf @@ -10,7 +10,7 @@ process VCFTOOLS { input: // Owing to the nature of vcftools we here provide solutions to working with optional bed files and optional // alternative variant files, for use with the 'diff' suite of tools. - // Other optional input files can be utilised in a similar way to below but we do not exhaustively itterate through all + // Other optional input files can be utilised in a similar way to below but we do not exhaustively iterate through all // possible options. Instead we leave that to the user. tuple val(meta), path(variant_file) path bed diff --git a/modules/nf-core/vcftools/meta.yml b/modules/nf-core/vcftools/meta.yml index b4c564ecaf2..b9bae4df126 100644 --- a/modules/nf-core/vcftools/meta.yml +++ b/modules/nf-core/vcftools/meta.yml @@ -454,7 +454,7 @@ output: - "*.FORMAT": type: file description: Extracted information from the genotype fields in the VCF file - relating to a specfied FORMAT identifier (optional) + relating to a specified FORMAT identifier (optional) pattern: "*.FORMAT" - info: - meta: diff --git a/modules/nf-core/velocyto/meta.yml b/modules/nf-core/velocyto/meta.yml index 9c4a8f77486..e7d2caef027 100644 --- a/modules/nf-core/velocyto/meta.yml +++ b/modules/nf-core/velocyto/meta.yml @@ -19,7 +19,7 @@ description: | ``` Optional mask must be passed with `ext.args` and option `--mask` This is why I need to stage in the work dir 2 bam files (cellsorted and original). - See also [velocyto turorial](https://velocyto.org/velocyto.py/tutorial/cli.html#notes-on-first-runtime-and-parallelization) + See also [velocyto tutorial](https://velocyto.org/velocyto.py/tutorial/cli.html#notes-on-first-runtime-and-parallelization) keywords: - count diff --git a/modules/nf-core/vg/index/meta.yml b/modules/nf-core/vg/index/meta.yml index c929349e813..35defce18fa 100644 --- a/modules/nf-core/vg/index/meta.yml +++ b/modules/nf-core/vg/index/meta.yml @@ -33,7 +33,7 @@ output: e.g. [ id:'test', single_end:false ] - "*.xg": type: file - description: File containing a succint, queryable version of the input graph(s) + description: File containing a succinct, queryable version of the input graph(s) or read for GCSA or distance indexing pattern: "*.xg" - vg_index: diff --git a/modules/nf-core/wipertools/fastqgather/environment.yml b/modules/nf-core/wipertools/fastqgather/environment.yml new file mode 100644 index 00000000000..0b897be4941 --- /dev/null +++ b/modules/nf-core/wipertools/fastqgather/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - "bioconda::wipertools=1.1.3" diff --git a/modules/nf-core/wipertools/fastqgather/main.nf b/modules/nf-core/wipertools/fastqgather/main.nf new file mode 100644 index 00000000000..965d004df83 --- /dev/null +++ b/modules/nf-core/wipertools/fastqgather/main.nf @@ -0,0 +1,57 @@ +process WIPERTOOLS_FASTQGATHER { + tag "$meta.id" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/wipertools:1.1.3--pyhdfd78af_0': + 'biocontainers/wipertools:1.1.3--pyhdfd78af_0' }" + + input: + tuple val(meta), path(fastq_in) + + output: + tuple val(meta), path("${prefix}.fastq.gz"), emit: fastq_out + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}_gather" + + // Check if the output file name is in the list of input files + if (fastq_in.any { it.name == "${prefix}.fastq.gz" }) { + error 'Output file name "${prefix}.fastq.gz}" matches one of the input files. Use \"task.ext.prefix\" to disambiguate!.' + } + + """ + wipertools \\ + fastqgather \\ + -i $fastq_in \\ + -o ${prefix}.fastq.gz \\ + ${args} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + wipertools fastqgather: \$(wipertools fastqgather --version) + END_VERSIONS + """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}_gather" + + // Check if the output file name is in the list of input files + if (fastq_in.any { it.name == "${prefix}.fastq.gz" }) { + error 'Output file name "${prefix}.fastq.gz}" matches one of the input files. Use \"task.ext.prefix\" to disambiguate!.' + } + """ + echo "" | gzip > ${prefix}.fastq.gz + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + wipertools fastqgather: \$(wipertools fastqgather --version) + END_VERSIONS + """ +} diff --git a/modules/nf-core/wipertools/fastqgather/meta.yml b/modules/nf-core/wipertools/fastqgather/meta.yml new file mode 100644 index 00000000000..183109a04e5 --- /dev/null +++ b/modules/nf-core/wipertools/fastqgather/meta.yml @@ -0,0 +1,59 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json +name: "wipertools_fastqgather" +description: A tool of the wipertools suite that merges FASTQ chunks produced by wipertools_fastqscatter +keywords: + - fastq + - merge + - union +tools: + - "fastqgather": + description: + "A tool of the wipertools suite that merges FASTQ chunks produced\ + \ by wipertools_fastqscatter." + homepage: "https://github.com/mazzalab/fastqwiper" + documentation: "https://github.com/mazzalab/fastqwiper" + tool_dev_url: "https://github.com/mazzalab/fastqwiper" + doi: "no DOI available" + licence: ["GPL v2-or-later"] + identifier: "" + args_id: "$args" + +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - fastq_in: + type: file + description: List of FASTQ chunk files to be merged + pattern: "*.{fastq,fastq.gz}" + ontologies: + - edam: "http://edamontology.org/format_1930" + - edam: "http://edamontology.org/format_3989" +output: + - fastq_out: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "${prefix}.fastq.gz": + type: file + description: The resulting FASTQ file + pattern: "*.fastq.gz" + ontologies: + - edam: "http://edamontology.org/format_1930" + - edam: "http://edamontology.org/format_3989" + - versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: "http://edamontology.org/format_2330" +authors: + - "@tm4zza" +maintainers: + - "@mazzalab" + - "@tm4zza" diff --git a/modules/nf-core/wipertools/fastqgather/tests/main.nf.test b/modules/nf-core/wipertools/fastqgather/tests/main.nf.test new file mode 100644 index 00000000000..193720c02c1 --- /dev/null +++ b/modules/nf-core/wipertools/fastqgather/tests/main.nf.test @@ -0,0 +1,72 @@ +nextflow_process { + name "Test Process WIPERTOOLS_FASTQGATHER" + script "../main.nf" + process "WIPERTOOLS_FASTQGATHER" + + tag "modules" + tag "modules_nfcore" + tag "wipertools" + tag "wipertools/fastqgather" + tag "wipertools/fastqscatter" + + setup { + run("WIPERTOOLS_FASTQSCATTER") { + script "../../fastqscatter/main.nf" + process { + """ + input[0] = [ + [ id:'fastq_chunks' ], // meta map + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/fastq/test_1.fastq.gz", checkIfExists: true) + ] + input[1] = 2 // number of splits + """ + } + } + } + + test("merge two gzipped fastq - fastq.gz") { + config "./nextflow.config" + + when { + params { + module_args = '--prefix fastq_chunks' + } + process { + """ + input[0] = WIPERTOOLS_FASTQSCATTER.out.chunks + """ + } + } + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + + } + + test("merge two gzipped fastq - fastq.gz - stub") { + options "-stub" + config "./nextflow.config" + + when { + params { + module_args = '--prefix fastq_chunks' + } + process { + """ + input[0] = WIPERTOOLS_FASTQSCATTER.out.chunks + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + +} diff --git a/modules/nf-core/wipertools/fastqgather/tests/main.nf.test.snap b/modules/nf-core/wipertools/fastqgather/tests/main.nf.test.snap new file mode 100644 index 00000000000..497cd2e9ab1 --- /dev/null +++ b/modules/nf-core/wipertools/fastqgather/tests/main.nf.test.snap @@ -0,0 +1,68 @@ +{ + "merge two gzipped fastq - fastq.gz - stub": { + "content": [ + { + "0": [ + [ + { + "id": "fastq_chunks" + }, + "fastq_chunks_gather.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + "versions.yml:md5,291a2e6d58146bfcf57b4d9ef850cbd9" + ], + "fastq_out": [ + [ + { + "id": "fastq_chunks" + }, + "fastq_chunks_gather.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "versions": [ + "versions.yml:md5,291a2e6d58146bfcf57b4d9ef850cbd9" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-17T20:28:22.882325" + }, + "merge two gzipped fastq - fastq.gz": { + "content": [ + { + "0": [ + [ + { + "id": "fastq_chunks" + }, + "fastq_chunks_gather.fastq.gz:md5,eedbbe1317d4d464da30d56cff7d677e" + ] + ], + "1": [ + "versions.yml:md5,291a2e6d58146bfcf57b4d9ef850cbd9" + ], + "fastq_out": [ + [ + { + "id": "fastq_chunks" + }, + "fastq_chunks_gather.fastq.gz:md5,eedbbe1317d4d464da30d56cff7d677e" + ] + ], + "versions": [ + "versions.yml:md5,291a2e6d58146bfcf57b4d9ef850cbd9" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-17T20:28:12.396668" + } +} \ No newline at end of file diff --git a/modules/nf-core/wipertools/fastqgather/tests/nextflow.config b/modules/nf-core/wipertools/fastqgather/tests/nextflow.config new file mode 100644 index 00000000000..ce94189f370 --- /dev/null +++ b/modules/nf-core/wipertools/fastqgather/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: WIPERTOOLS_FASTQGATHER { + ext.args = params.module_args + } +} diff --git a/modules/nf-core/wipertools/fastqscatter/environment.yml b/modules/nf-core/wipertools/fastqscatter/environment.yml new file mode 100644 index 00000000000..0b897be4941 --- /dev/null +++ b/modules/nf-core/wipertools/fastqscatter/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - "bioconda::wipertools=1.1.3" diff --git a/modules/nf-core/wipertools/fastqscatter/main.nf b/modules/nf-core/wipertools/fastqscatter/main.nf new file mode 100644 index 00000000000..e32383fdc82 --- /dev/null +++ b/modules/nf-core/wipertools/fastqscatter/main.nf @@ -0,0 +1,59 @@ +process WIPERTOOLS_FASTQSCATTER { + tag "$meta.id" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/wipertools:1.1.3--pyhdfd78af_0': + 'biocontainers/wipertools:1.1.3--pyhdfd78af_0' }" + + input: + tuple val(meta), path(fastq) + val(num_splits) + + output: + tuple val(meta), path("${out_folder}/*") , emit: chunks + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def args_list = args.tokenize() + out_folder = (args_list.contains('--out_folder') ? args_list[args_list.indexOf('--out_folder')+1] : + (args_list.contains('-o') ? args_list[args_list.indexOf('-o')+1] : 'chunks')) + """ + wipertools \\ + fastqscatter \\ + -f ${fastq} \\ + -n ${num_splits} \\ + -p ${prefix} \\ + ${args} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + wipertools fastqscatter: \$(wipertools fastqscatter --version) + END_VERSIONS + """ + + stub: + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" + def args_list = args.tokenize() + out_folder = (args_list.contains('--out_folder') ? args_list[args_list.indexOf('--out_folder')+1] : + (args_list.contains('-o') ? args_list[args_list.indexOf('-o')+1] : 'chunks')) + """ + mkdir ${out_folder} + for i in {1..${num_splits}} + do + echo "" | gzip > ${out_folder}/${prefix}_\$i-of-${num_splits}_suffix.fastq.gz + done + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + wipertools fastqscatter: \$(wipertools fastqscatter --version) + END_VERSIONS + """ +} diff --git a/modules/nf-core/wipertools/fastqscatter/meta.yml b/modules/nf-core/wipertools/fastqscatter/meta.yml new file mode 100644 index 00000000000..445323317e5 --- /dev/null +++ b/modules/nf-core/wipertools/fastqscatter/meta.yml @@ -0,0 +1,61 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json +name: "wipertools_fastqscatter" +description: A tool of the wipertools suite that splits FASTQ files into chunks +keywords: + - fastq + - split + - partitioning +tools: + - "fastqscatter": + description: "A tool of the wipertools suite that splits FASTQ files into chunks." + homepage: "https://github.com/mazzalab/fastqwiper" + documentation: "https://github.com/mazzalab/fastqwiper" + tool_dev_url: "https://github.com/mazzalab/fastqwiper" + doi: "no DOI available" + licence: ["GPL v2-or-later"] + identifier: "" + args_id: "$args" + +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - fastq: + type: file + description: FASTQ file + pattern: "*.{fastq,fastq.gz}" + ontologies: + - edam: "http://edamontology.org/format_1930" + - - num_splits: + type: integer + description: Number of desired chunks + pattern: "[1-9][0-9]*" + +output: + - chunks: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "${out_folder}/*": + type: file + description: Chunk FASTQ files + pattern: "*.{fastq,fastq.gz}" + ontologies: + - edam: "http://edamontology.org/format_1930" + - edam: "http://edamontology.org/format_3989" + - versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: "http://edamontology.org/format_3750" +authors: + - "@tm4zza" +maintainers: + - "@mazzalab" + - "@tm4zza" diff --git a/modules/nf-core/wipertools/fastqscatter/tests/main.nf.test b/modules/nf-core/wipertools/fastqscatter/tests/main.nf.test new file mode 100644 index 00000000000..0241245a2a0 --- /dev/null +++ b/modules/nf-core/wipertools/fastqscatter/tests/main.nf.test @@ -0,0 +1,63 @@ +nextflow_process { + name "Test Process WIPERTOOLS_FASTQSCATTER" + script "../main.nf" + process "WIPERTOOLS_FASTQSCATTER" + + tag "modules" + tag "modules_nfcore" + tag "wipertools" + tag "wipertools/fastqscatter" + + test("3 reads, one truncated - fastq") { + config "./nextflow.config" + + when { + params { + module_args = '-o chunks_custom -O unix' + } + process { + """ + input[0] = [ + [ id:'test' ], // meta map + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/fastq/test_1.fastq.gz", checkIfExists: true) + ] + input[1] = 2 // splits num + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } + + test("3 reads, one truncated - fastq - stub") { + options "-stub" + config "./nextflow.config" + + when { + params { + module_args = '-o chunks_custom -O unix' + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + "genomics/sarscov2/illumina/fastq/test_1.fastq.gz", checkIfExists: true) + ] + input[1] = 2 // splits num + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/wipertools/fastqscatter/tests/main.nf.test.snap b/modules/nf-core/wipertools/fastqscatter/tests/main.nf.test.snap new file mode 100644 index 00000000000..e293ce0f332 --- /dev/null +++ b/modules/nf-core/wipertools/fastqscatter/tests/main.nf.test.snap @@ -0,0 +1,80 @@ +{ + "3 reads, one truncated - fastq": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + [ + "test_000.fastq.gz:md5,ecc4b1841cd94704bba742ea4dcd48b0", + "test_001.fastq.gz:md5,b3de467f2b6ab0d14e1f6ce14932a411" + ] + ] + ], + "1": [ + "versions.yml:md5,c8e701c1048cc9ab79752d1bf631ad4b" + ], + "chunks": [ + [ + { + "id": "test" + }, + [ + "test_000.fastq.gz:md5,ecc4b1841cd94704bba742ea4dcd48b0", + "test_001.fastq.gz:md5,b3de467f2b6ab0d14e1f6ce14932a411" + ] + ] + ], + "versions": [ + "versions.yml:md5,c8e701c1048cc9ab79752d1bf631ad4b" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-17T20:28:32.330894" + }, + "3 reads, one truncated - fastq - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + [ + "test_1-of-2_suffix.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2-of-2_suffix.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "1": [ + "versions.yml:md5,c8e701c1048cc9ab79752d1bf631ad4b" + ], + "chunks": [ + [ + { + "id": "test" + }, + [ + "test_1-of-2_suffix.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2-of-2_suffix.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ] + ], + "versions": [ + "versions.yml:md5,c8e701c1048cc9ab79752d1bf631ad4b" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-17T20:28:41.304878" + } +} \ No newline at end of file diff --git a/modules/nf-core/wipertools/fastqscatter/tests/nextflow.config b/modules/nf-core/wipertools/fastqscatter/tests/nextflow.config new file mode 100644 index 00000000000..c4b8951da86 --- /dev/null +++ b/modules/nf-core/wipertools/fastqscatter/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: WIPERTOOLS_FASTQSCATTER { + ext.args = params.module_args + } +} diff --git a/modules/nf-core/wipertools/fastqwiper/environment.yml b/modules/nf-core/wipertools/fastqwiper/environment.yml new file mode 100644 index 00000000000..0b897be4941 --- /dev/null +++ b/modules/nf-core/wipertools/fastqwiper/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - "bioconda::wipertools=1.1.3" diff --git a/modules/nf-core/wipertools/fastqwiper/main.nf b/modules/nf-core/wipertools/fastqwiper/main.nf new file mode 100644 index 00000000000..ccf3a070cc9 --- /dev/null +++ b/modules/nf-core/wipertools/fastqwiper/main.nf @@ -0,0 +1,51 @@ +process WIPERTOOLS_FASTQWIPER { + tag "$meta.id" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/wipertools:1.1.3--pyhdfd78af_0': + 'biocontainers/wipertools:1.1.3--pyhdfd78af_0' }" + + input: + tuple val(meta), path(fastq_in) + + output: + tuple val(meta), path("${prefix}.fastq.gz"), emit: fastq_out + path("*.report") , emit: report + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}_wiped" + if ("${fastq_in}" == "${prefix}.fastq.gz") error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!." + """ + wipertools \\ + fastqwiper \\ + -i ${fastq_in} \\ + -o ${prefix}.fastq.gz \\ + -r ${prefix}.report \\ + ${args} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + wipertools fastqwiper: \$(wipertools fastqwiper --version) + END_VERSIONS + """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}_wiped" + if ("${fastq_in}" == "${prefix}.fastq.gz") error "Input and output names are the same, use \"task.ext.prefix\" to disambiguate!." + """ + echo "" | gzip > ${prefix}.fastq.gz + touch ${prefix}.report + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + wipertools fastqwiper: \$(wipertools fastqwiper --version) + END_VERSIONS + """ +} diff --git a/modules/nf-core/wipertools/fastqwiper/meta.yml b/modules/nf-core/wipertools/fastqwiper/meta.yml new file mode 100644 index 00000000000..3980f46167d --- /dev/null +++ b/modules/nf-core/wipertools/fastqwiper/meta.yml @@ -0,0 +1,65 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json +name: "wipertools_fastqwiper" +description: A tool of the wipertools suite that fixes or wipes out uncompliant reads from FASTQ files +keywords: + - fastq + - malformed + - corrupted + - fix +tools: + - "fastqwiper": + description: "A tool of the wipertools suite that that fixes or wipes out uncompliant reads from FASTQ files." + homepage: "https://github.com/mazzalab/fastqwiper" + documentation: "https://github.com/mazzalab/fastqwiper" + tool_dev_url: "https://github.com/mazzalab/fastqwiper" + doi: "no DOI available" + licence: ["GPL v2-or-later"] + identifier: "" + args_id: "$args" + +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - fastq_in: + type: file + description: FASTQ file to be cleaned + pattern: "*.{fastq,fastq.gz}" + ontologies: + - edam: "http://edamontology.org/format_1930" + - edam: "http://edamontology.org/format_3989" +output: + - fastq_out: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "${prefix}.fastq.gz": + type: file + description: Cleaned FASTQ file + pattern: "*.{fastq,fastq.gz}" + ontologies: + - edam: "http://edamontology.org/format_1930" + - edam: "http://edamontology.org/format_3989" + - report: + - "*.report": + type: file + description: Summary of the cleaning task + pattern: "*.report" + ontologies: + - edam: "http://edamontology.org/format_2330" + - versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: "http://edamontology.org/format_3750" +authors: + - "@tm4zza" +maintainers: + - "@mazzalab" + - "@tm4zza" diff --git a/modules/nf-core/wipertools/fastqwiper/tests/main.nf.test b/modules/nf-core/wipertools/fastqwiper/tests/main.nf.test new file mode 100644 index 00000000000..8c8a2ab091f --- /dev/null +++ b/modules/nf-core/wipertools/fastqwiper/tests/main.nf.test @@ -0,0 +1,75 @@ +nextflow_process { + name "Test Process WIPERTOOLS_FASTQWIPER" + script "../main.nf" + process "WIPERTOOLS_FASTQWIPER" + + tag "modules" + tag "modules_nfcore" + tag "wipertools" + tag "wipertools/fastqwiper" + + test("Quality mismatch - fastq") { + config "./nextflow.config" + + when { + params { + module_args = '-a ACGT' + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_quality_mismatch.fastq', checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert path(process.out.fastq_out.get(0).get(1)).linesGzip.size() == 8}, + { + def read_final_qual = path(process.out.fastq_out.get(0).get(1)).linesGzip[7] + assert read_final_qual.equals('CCCCCGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGG') + }, + { assert path(process.out.report.get(0)).readLines().size() == 11}, + { + def report_header = path(process.out.report.get(0)).readLines()[0] + assert report_header.equals('FASTQWIPER REPORT:') + }, + { + def qual_check = path(process.out.report.get(0)).readLines()[9] + assert qual_check.equals('Reads discarded because len(SEQ) neq len(QUAL): 1') + }, + { assert snapshot(process.out).match() } + ) + } + } + + test("Quality mismatch - fastq - stub") { + options "-stub" + config "./nextflow.config" + + when { + params { + module_args = '-a ACGT' + } + process { + """ + input[0] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + "genomics/homo_sapiens/illumina/fastq/test_quality_mismatch.fastq", checkIfExists: true) + ] + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/wipertools/fastqwiper/tests/main.nf.test.snap b/modules/nf-core/wipertools/fastqwiper/tests/main.nf.test.snap new file mode 100644 index 00000000000..8c6b7a08e82 --- /dev/null +++ b/modules/nf-core/wipertools/fastqwiper/tests/main.nf.test.snap @@ -0,0 +1,80 @@ +{ + "Quality mismatch - fastq - stub": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test_wiped.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "1": [ + "test_wiped.report:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + "2": [ + "versions.yml:md5,0a814cc53368590314bd01d1b433b6fd" + ], + "fastq_out": [ + [ + { + "id": "test" + }, + "test_wiped.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "report": [ + "test_wiped.report:md5,d41d8cd98f00b204e9800998ecf8427e" + ], + "versions": [ + "versions.yml:md5,0a814cc53368590314bd01d1b433b6fd" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-17T20:29:03.969824" + }, + "Quality mismatch - fastq": { + "content": [ + { + "0": [ + [ + { + "id": "test" + }, + "test_wiped.fastq.gz:md5,81b1d99cf5c1615123a8c31760858a10" + ] + ], + "1": [ + "test_wiped.report:md5,d6fe1f0066f538993bb8f6b90150c8d5" + ], + "2": [ + "versions.yml:md5,0a814cc53368590314bd01d1b433b6fd" + ], + "fastq_out": [ + [ + { + "id": "test" + }, + "test_wiped.fastq.gz:md5,81b1d99cf5c1615123a8c31760858a10" + ] + ], + "report": [ + "test_wiped.report:md5,d6fe1f0066f538993bb8f6b90150c8d5" + ], + "versions": [ + "versions.yml:md5,0a814cc53368590314bd01d1b433b6fd" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-17T20:28:53.747935" + } +} \ No newline at end of file diff --git a/modules/nf-core/wipertools/fastqwiper/tests/nextflow.config b/modules/nf-core/wipertools/fastqwiper/tests/nextflow.config new file mode 100644 index 00000000000..916a0d06e28 --- /dev/null +++ b/modules/nf-core/wipertools/fastqwiper/tests/nextflow.config @@ -0,0 +1,5 @@ +process { + withName: WIPERTOOLS_FASTQWIPER { + ext.args = params.module_args + } +} diff --git a/modules/nf-core/wipertools/reportgather/environment.yml b/modules/nf-core/wipertools/reportgather/environment.yml new file mode 100644 index 00000000000..0b897be4941 --- /dev/null +++ b/modules/nf-core/wipertools/reportgather/environment.yml @@ -0,0 +1,7 @@ +--- +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/environment-schema.json +channels: + - conda-forge + - bioconda +dependencies: + - "bioconda::wipertools=1.1.3" diff --git a/modules/nf-core/wipertools/reportgather/main.nf b/modules/nf-core/wipertools/reportgather/main.nf new file mode 100644 index 00000000000..e56e3d2f580 --- /dev/null +++ b/modules/nf-core/wipertools/reportgather/main.nf @@ -0,0 +1,58 @@ +process WIPERTOOLS_REPORTGATHER { + tag "$meta.id" + label 'process_single' + + conda "${moduleDir}/environment.yml" + container "${ workflow.containerEngine == 'singularity' && !task.ext.singularity_pull_docker_container ? + 'https://depot.galaxyproject.org/singularity/wipertools:1.1.3--pyhdfd78af_0': + 'biocontainers/wipertools:1.1.3--pyhdfd78af_0' }" + + input: + tuple val(meta), path(reports) + + output: + tuple val(meta), path("${prefix}.report"), emit: report_out + path "versions.yml" , emit: versions + + when: + task.ext.when == null || task.ext.when + + script: + def args = task.ext.args ?: '' + prefix = task.ext.prefix ?: "${meta.id}_gather" + + // Check if the output file name is in the list of input files + if (reports.any { it.name == "${prefix}.report" }) { + error 'Output file name "${prefix}.report}" matches one of the input files. Use \"task.ext.prefix\" to disambiguate!.' + } + + """ + wipertools \\ + reportgather \\ + -r $reports \\ + -f ${prefix}.report \\ + ${args} + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + wipertools reportgather: \$(wipertools reportgather --version) + END_VERSIONS + """ + + stub: + prefix = task.ext.prefix ?: "${meta.id}_gather" + + // Check if the output file name is in the list of input files + if (reports.any { it.name == "${prefix}.report" }) { + error 'Output file name "${prefix}.report}" matches one of the input files. Use \"task.ext.prefix\" to disambiguate!.' + } + + """ + touch ${prefix}.report + + cat <<-END_VERSIONS > versions.yml + "${task.process}": + wipertools reportgather: \$(wipertools reportgather --version) + END_VERSIONS + """ +} diff --git a/modules/nf-core/wipertools/reportgather/meta.yml b/modules/nf-core/wipertools/reportgather/meta.yml new file mode 100644 index 00000000000..03eaaec9ad7 --- /dev/null +++ b/modules/nf-core/wipertools/reportgather/meta.yml @@ -0,0 +1,55 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json +name: "wipertools_reportgather" +description: A tool of the wipertools suite that merges wiping reports generated by wipertools_fastqwiper +keywords: + - report + - merge + - union +tools: + - "reportgather": + description: "A tool of the wipertools suite that merges wiping reports generated by wipertools_fastqwiper." + homepage: "https://github.com/mazzalab/fastqwiper" + documentation: "https://github.com/mazzalab/fastqwiper" + tool_dev_url: "https://github.com/mazzalab/fastqwiper" + doi: "no DOI available" + licence: ["GPL v2-or-later"] + identifier: "" + args_id: "$args" + +input: + - - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - reports: + type: file + description: List of wiping reports to be merged + pattern: "*.report" + ontologies: + - edam: "http://edamontology.org/format_2330" +output: + - report_out: + - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test' ] + - "${prefix}.report": + type: file + description: The resulting report file + pattern: "*.report" + ontologies: + - edam: "http://edamontology.org/format_2330" + - versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: "http://edamontology.org/format_2330" +authors: + - "@tm4zza" +maintainers: + - "@mazzalab" + - "@tm4zza" diff --git a/modules/nf-core/wipertools/reportgather/tests/main.nf.test b/modules/nf-core/wipertools/reportgather/tests/main.nf.test new file mode 100644 index 00000000000..e5e0f3d8138 --- /dev/null +++ b/modules/nf-core/wipertools/reportgather/tests/main.nf.test @@ -0,0 +1,88 @@ +nextflow_process { + + name "Test Process WIPERTOOLS_REPORTGATHER" + script "../main.nf" + process "WIPERTOOLS_REPORTGATHER" + + tag "modules" + tag "modules_nfcore" + tag "wipertools" + tag "wipertools/reportgather" + tag "wipertools/fastqwiper" + + setup { + run("WIPERTOOLS_FASTQWIPER", alias: "FQW1") { + script "../../fastqwiper/main.nf" + process { + """ + input[0] = [ + [ id:'test1' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_quality_mismatch.fastq', checkIfExists: true) + ] + """ + } + } + + run("WIPERTOOLS_FASTQWIPER", alias: "FQW2") { + script "../../fastqwiper/main.nf" + process { + """ + input[0] = [ + [ id:'test2' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/fastq/test_truncated_clean.fastq', checkIfExists: true) + ] + """ + } + } + } + + test("merge two reports - .report") { + when { + params { + outdir = "$outputDir" + } + process { + """ + merged_reports = FQW1.out.report.merge(FQW2.out.report) + input[0] = merged_reports.map(it -> tuple ([id: 'reports'], it) ) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert path(process.out.report_out.get(0).get(1)).readLines().size() == 11}, + { + def report_header = path(process.out.report_out.get(0).get(1)).readLines()[0] + assert report_header.equals('FASTQWIPER REPORT:') + }, + { + def well_formed_lines = path(process.out.report_out.get(0).get(1)).readLines()[3] + assert well_formed_lines.equals('Well-formed lines: 16 (72.73%)') + }, + { assert snapshot(process.out).match() } + ) + } + } + + test("merge two reports - .report - stub") { + options "-stub" + + when { + process { + """ + merged_reports = FQW1.out.report.merge(FQW2.out.report) + input[0] = merged_reports.map(it -> tuple ([id: 'reports'], it) ) + """ + } + } + + then { + assertAll( + { assert process.success }, + { assert snapshot(process.out).match() } + ) + } + } +} diff --git a/modules/nf-core/wipertools/reportgather/tests/main.nf.test.snap b/modules/nf-core/wipertools/reportgather/tests/main.nf.test.snap new file mode 100644 index 00000000000..3fa9ca583d2 --- /dev/null +++ b/modules/nf-core/wipertools/reportgather/tests/main.nf.test.snap @@ -0,0 +1,68 @@ +{ + "merge two reports - .report - stub": { + "content": [ + { + "0": [ + [ + { + "id": "reports" + }, + "reports_gather.report:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "1": [ + "versions.yml:md5,8f315851a1d3b7a1bb186ab41e7675df" + ], + "report_out": [ + [ + { + "id": "reports" + }, + "reports_gather.report:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "versions": [ + "versions.yml:md5,8f315851a1d3b7a1bb186ab41e7675df" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-17T20:29:25.550092" + }, + "merge two reports - .report": { + "content": [ + { + "0": [ + [ + { + "id": "reports" + }, + "reports_gather.report:md5,cec18092c5b270372a3487d94c7b57bf" + ] + ], + "1": [ + "versions.yml:md5,8f315851a1d3b7a1bb186ab41e7675df" + ], + "report_out": [ + [ + { + "id": "reports" + }, + "reports_gather.report:md5,cec18092c5b270372a3487d94c7b57bf" + ] + ], + "versions": [ + "versions.yml:md5,8f315851a1d3b7a1bb186ab41e7675df" + ] + } + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-17T20:29:15.048128" + } +} \ No newline at end of file diff --git a/modules/nf-core/wisecondorx/newref/tests/main.nf.test b/modules/nf-core/wisecondorx/newref/tests/main.nf.test index 3645d7734ef..f2f0893758e 100644 --- a/modules/nf-core/wisecondorx/newref/tests/main.nf.test +++ b/modules/nf-core/wisecondorx/newref/tests/main.nf.test @@ -12,7 +12,7 @@ nextflow_process { test("homo_sapiens - [npz]") { - // Stub run because this process needs at least 30 samples to succesfully run + // Stub run because this process needs at least 30 samples to successfully run options "-stub" setup { diff --git a/subworkflows/nf-core/bam_cnv_wisecondorx/meta.yml b/subworkflows/nf-core/bam_cnv_wisecondorx/meta.yml index 30a473492c4..342b3345f3b 100644 --- a/subworkflows/nf-core/bam_cnv_wisecondorx/meta.yml +++ b/subworkflows/nf-core/bam_cnv_wisecondorx/meta.yml @@ -30,7 +30,7 @@ input: Structure: [ val(meta4), path(reference) ] - ch_blacklist: description: | - An optional channel containing a BED file with regions to mask from the analyis + An optional channel containing a BED file with regions to mask from the analysis Structure: [ val(meta5), path(blacklist) ] output: - aberrations_bed: diff --git a/subworkflows/nf-core/bam_tumor_only_somatic_variant_calling_gatk/main.nf b/subworkflows/nf-core/bam_tumor_only_somatic_variant_calling_gatk/main.nf index f6fb0acc7b6..ad14056d449 100644 --- a/subworkflows/nf-core/bam_tumor_only_somatic_variant_calling_gatk/main.nf +++ b/subworkflows/nf-core/bam_tumor_only_somatic_variant_calling_gatk/main.nf @@ -86,7 +86,7 @@ workflow BAM_TUMOR_ONLY_SOMATIC_VARIANT_CALLING_GATK { .combine(ch_stats, by: 0) .combine(ch_segment, by: 0) .combine(ch_contamination, by: 0) - // Adding [] as a placeholder for the optional input file artifact priors, which is only used for tumor-normal samples and therefor isn't needed in this workflow. + // Adding [] as a placeholder for the optional input file artifact priors, which is only used for tumor-normal samples and therefore isn't needed in this workflow. // and [] as a placeholder for entering a contamination estimate value, which is not needed as this workflow uses the contamination table instead. .map{ meta, vcf, tbi, stats, segment, contamination -> [meta, vcf, tbi, stats, [], segment, contamination, [] ] } diff --git a/subworkflows/nf-core/bam_variant_demix_boot_freyja/main.nf b/subworkflows/nf-core/bam_variant_demix_boot_freyja/main.nf index 4f9f0674349..627195db368 100644 --- a/subworkflows/nf-core/bam_variant_demix_boot_freyja/main.nf +++ b/subworkflows/nf-core/bam_variant_demix_boot_freyja/main.nf @@ -53,7 +53,7 @@ workflow BAM_VARIANT_DEMIX_BOOT_FREYJA { // - // Perform bootstrapping to get more accurate estimates of abundancies + // Perform bootstrapping to get more accurate estimates of abundances // ch_lineages = Channel.empty() ch_summarized = Channel.empty() diff --git a/subworkflows/nf-core/fastq_align_bwaaln/main.nf b/subworkflows/nf-core/fastq_align_bwaaln/main.nf index ccf63d5cf95..36d4fc5eb66 100644 --- a/subworkflows/nf-core/fastq_align_bwaaln/main.nf +++ b/subworkflows/nf-core/fastq_align_bwaaln/main.nf @@ -102,7 +102,7 @@ workflow FASTQ_ALIGN_BWAALN { emit: // Note: output channels will contain meta with additional 'id_index' meta - // value to allow association of BAM file with the meta.id of input indicies + // value to allow association of BAM file with the meta.id of input indices bam = ch_bam_for_emit // channel: [ val(meta), path(bam) ] bai = ch_bai_for_emit // channel: [ val(meta), path(bai) ] csi = ch_csi_for_emit // channel: [ val(meta), path(csi) ] diff --git a/subworkflows/nf-core/fastq_align_bwaaln/nextflow.config b/subworkflows/nf-core/fastq_align_bwaaln/nextflow.config index 2ff16551640..f602293907a 100644 --- a/subworkflows/nf-core/fastq_align_bwaaln/nextflow.config +++ b/subworkflows/nf-core/fastq_align_bwaaln/nextflow.config @@ -1,5 +1,5 @@ // IMPORTANT: Add this configuration to your modules.config -// These settings are to ensure you include the reference information within the output file names, to prevent overwritting! +// These settings are to ensure you include the reference information within the output file names, to prevent overwriting! // `meta.id_index` is created and used within the workflow. You must reuse this meta field if you wish to customise the file naming scheme. process { diff --git a/subworkflows/nf-core/fastq_align_hisat2/meta.yml b/subworkflows/nf-core/fastq_align_hisat2/meta.yml index 6f00d4daa27..032144af537 100644 --- a/subworkflows/nf-core/fastq_align_hisat2/meta.yml +++ b/subworkflows/nf-core/fastq_align_hisat2/meta.yml @@ -51,7 +51,7 @@ output: pattern: "*.{bam}" - summary: type: file - description: Aligment log + description: Alignment log pattern: "*.log" - fastq: type: file diff --git a/subworkflows/nf-core/fastq_align_star/tests/main.nf.test.snap b/subworkflows/nf-core/fastq_align_star/tests/main.nf.test.snap index 9e55ed61037..c21ec0cc9f3 100644 --- a/subworkflows/nf-core/fastq_align_star/tests/main.nf.test.snap +++ b/subworkflows/nf-core/fastq_align_star/tests/main.nf.test.snap @@ -52,6 +52,7 @@ ] ], [ + "versions.yml:md5,167faaf660e4936645b0ad5a9d3bf620", "versions.yml:md5,24b681997fbdd563910240af500d965e", "versions.yml:md5,2bdea75e8dad77676c54b806ceecb68b", "versions.yml:md5,2e0fd05eea17eb1f5cdf079c12a30b88", @@ -61,15 +62,14 @@ "versions.yml:md5,9dd7217e54100569bf9f87f7a1cca54a", "versions.yml:md5,a305cb08e7cb3194be54d0bb8a257722", "versions.yml:md5,ade8e9901ff456f43bc0f93f5f7af793", - "versions.yml:md5,ec328c7ea462702388fa15204aeb6689", - "versions.yml:md5,f291e86c2b53ec8e72283ead209029a4" + "versions.yml:md5,ec328c7ea462702388fa15204aeb6689" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-19T23:28:34.840049572" + "timestamp": "2024-12-11T17:09:46.703861921" }, "homo_sapiens - fastq - paired_end - with_transcriptome": { "content": [ @@ -144,6 +144,7 @@ ] ], [ + "versions.yml:md5,167faaf660e4936645b0ad5a9d3bf620", "versions.yml:md5,24b681997fbdd563910240af500d965e", "versions.yml:md5,2bdea75e8dad77676c54b806ceecb68b", "versions.yml:md5,2e0fd05eea17eb1f5cdf079c12a30b88", @@ -153,15 +154,14 @@ "versions.yml:md5,9dd7217e54100569bf9f87f7a1cca54a", "versions.yml:md5,a305cb08e7cb3194be54d0bb8a257722", "versions.yml:md5,ade8e9901ff456f43bc0f93f5f7af793", - "versions.yml:md5,ec328c7ea462702388fa15204aeb6689", - "versions.yml:md5,f291e86c2b53ec8e72283ead209029a4" + "versions.yml:md5,ec328c7ea462702388fa15204aeb6689" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-19T23:27:44.448552779" + "timestamp": "2024-12-11T17:08:59.431516768" }, "homo_sapiens - fastq - single_end": { "content": [ @@ -207,19 +207,19 @@ ] ], [ + "versions.yml:md5,167faaf660e4936645b0ad5a9d3bf620", "versions.yml:md5,24b681997fbdd563910240af500d965e", "versions.yml:md5,2e0fd05eea17eb1f5cdf079c12a30b88", "versions.yml:md5,421308f325b1038feafdb6862cebc28a", "versions.yml:md5,6a96fec10a72e1da236e6e1d7519590e", - "versions.yml:md5,9dd7217e54100569bf9f87f7a1cca54a", - "versions.yml:md5,f291e86c2b53ec8e72283ead209029a4" + "versions.yml:md5,9dd7217e54100569bf9f87f7a1cca54a" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-19T23:26:07.627451879" + "timestamp": "2024-12-11T17:07:23.833781959" }, "homo_sapiens - fastq - paired_end": { "content": [ @@ -265,18 +265,18 @@ ] ], [ + "versions.yml:md5,167faaf660e4936645b0ad5a9d3bf620", "versions.yml:md5,24b681997fbdd563910240af500d965e", "versions.yml:md5,2e0fd05eea17eb1f5cdf079c12a30b88", "versions.yml:md5,421308f325b1038feafdb6862cebc28a", "versions.yml:md5,6a96fec10a72e1da236e6e1d7519590e", - "versions.yml:md5,9dd7217e54100569bf9f87f7a1cca54a", - "versions.yml:md5,f291e86c2b53ec8e72283ead209029a4" + "versions.yml:md5,9dd7217e54100569bf9f87f7a1cca54a" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.4" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-10-19T23:26:54.22382094" + "timestamp": "2024-12-11T17:08:08.904146433" } } \ No newline at end of file diff --git a/subworkflows/nf-core/fastq_create_umi_consensus_fgbio/meta.yml b/subworkflows/nf-core/fastq_create_umi_consensus_fgbio/meta.yml index ae22aece780..82807204fb7 100644 --- a/subworkflows/nf-core/fastq_create_umi_consensus_fgbio/meta.yml +++ b/subworkflows/nf-core/fastq_create_umi_consensus_fgbio/meta.yml @@ -52,7 +52,7 @@ input: - groupreadsbyumi_strategy: type: string description: "" - Reguired argument: defines the UMI assignment strategy. + Required argument: defines the UMI assignment strategy. enum: - Identity - Edit diff --git a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test.snap b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test.snap index bc9b84fc5cc..1addaba39ab 100644 --- a/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test.snap +++ b/subworkflows/nf-core/fastq_fastqc_umitools_fastp/tests/main.nf.test.snap @@ -28,7 +28,7 @@ "id": "test", "single_end": false }, - "test.fastp.json:md5,47a1bbd79b21721d81eb457e44fa3e3b" + "test.fastp.json:md5,1e0f8e27e71728e2b63fc64086be95cd" ] ], [ @@ -57,9 +57,9 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.2" + "nextflow": "24.10.3" }, - "timestamp": "2024-12-12T14:23:56.776685218" + "timestamp": "2024-12-20T14:49:55.964438399" }, "sarscov2 paired-end [fastq] | with_umi": { "content": [ @@ -87,7 +87,7 @@ "id": "test", "single_end": true }, - "test.fastp.json:md5,0ed43f6b2e5361e7ed6bc3c0b5d6e89a" + "test.fastp.json:md5,d39c5c6d9a2e35fb60d26ced46569af6" ] ], [ @@ -114,133 +114,11 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.2" - }, - "timestamp": "2024-12-12T14:23:44.160061128" - }, - "sarscov2 paired-end [fastq] | skip_trimming - stub": { - "content": [ - [ - - ], - [ - [ - { - "id": "test", - "single_end": false - }, - "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - "test.zip:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - [ - - ], - [ - - ], - [ - - ], - [ - - ], - [ - - ], - [ - - ], - [ - - ], - [ - - ], - [ - - ], - [ - "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" - ] - ], - "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.2" + "nextflow": "24.10.3" }, - "timestamp": "2024-12-12T14:32:15.355312216" + "timestamp": "2024-12-20T14:49:32.102996566" }, - "sarscov2 paired-end [fastq] | umi_discard_read = 2": { - "content": [ - [ - [ - { - "id": "test", - "single_end": false - }, - "unspecified" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - [ - "test_1.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7", - "test_2.fastp.fastq.gz:md5,25cbdca08e2083dbd4f0502de6b62f39" - ] - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - "test.fastp.json:md5,47a1bbd79b21721d81eb457e44fa3e3b" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - 198 - ] - ], - [ - - ], - [ - - ], - [ - - ], - [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", - "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", - "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" - ] - ], - "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.2" - }, - "timestamp": "2024-12-12T14:24:09.203612468" - }, - "sarscov2 paired-end [fastq] | min_trimmed_reads = 26 - stub": { + "sarscov2 paired-end [fastq] | umi_discard_read = 2 - stub": { "content": [ { "0": [ @@ -270,7 +148,7 @@ "id": "test", "single_end": false }, - 26 + 1 ] ], "11": [ @@ -348,13 +226,7 @@ ], "9": [ - [ - { - "id": "test", - "single_end": false - }, - "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] + ], "adapter_seq": [ [ @@ -446,20 +318,14 @@ "id": "test", "single_end": false }, - 26 + 1 ] ], "trim_reads_fail": [ ], "trim_reads_merged": [ - [ - { - "id": "test", - "single_end": false - }, - "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] + ], "umi_log": [ @@ -475,9 +341,103 @@ "nf-test": "0.9.2", "nextflow": "24.10.2" }, - "timestamp": "2024-12-12T14:32:39.987530839" + "timestamp": "2024-12-12T14:32:07.840128843" }, - "sarscov2 paired-end [fastq] | skip_fastqc": { + "sarscov2 paired-end [fastq] | skip_trimming - stub": { + "content": [ + [ + + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.zip:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + [ + + ], + [ + + ], + [ + + ], + [ + + ], + [ + + ], + [ + + ], + [ + + ], + [ + + ], + [ + + ], + [ + "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-12T14:32:15.355312216" + }, + "sarscov2 paired-end [fastq] | skip_trimming": { + "content": [ + [ + + ], + { + "id": "test", + "single_end": false + }, + [ + + ], + [ + + ], + [ + + ], + [ + + ], + [ + + ], + [ + "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.2" + }, + "timestamp": "2024-12-12T14:24:19.774510678" + }, + "sarscov2 paired-end [fastq] | umi_discard_read = 2": { "content": [ [ [ @@ -506,7 +466,7 @@ "id": "test", "single_end": false }, - "test.fastp.json:md5,47a1bbd79b21721d81eb457e44fa3e3b" + "test.fastp.json:md5,1e0f8e27e71728e2b63fc64086be95cd" ] ], [ @@ -528,16 +488,18 @@ ], [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad" + "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", + "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ] ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.2" + "nextflow": "24.10.3" }, - "timestamp": "2024-12-12T14:23:28.044081844" + "timestamp": "2024-12-20T14:50:21.346654157" }, - "sarscov2 paired-end [fastq] | skip_fastqc - stub": { + "sarscov2 paired-end [fastq] | min_trimmed_reads = 26 - stub": { "content": [ { "0": [ @@ -553,7 +515,13 @@ ] ], "1": [ - + [ + { + "id": "test", + "single_end": false + }, + "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] ], "10": [ [ @@ -561,20 +529,40 @@ "id": "test", "single_end": false }, - 1 + 26 ] ], "11": [ - + [ + { + "id": "test", + "single_end": false + }, + "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] ], "12": [ - + [ + { + "id": "test", + "single_end": false + }, + "test.zip:md5,d41d8cd98f00b204e9800998ecf8427e" + ] ], "13": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad" + "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", + "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ], "2": [ - + [ + { + "id": "test", + "single_end": false + }, + "test.zip:md5,d41d8cd98f00b204e9800998ecf8427e" + ] ], "3": [ @@ -619,7 +607,13 @@ ], "9": [ - + [ + { + "id": "test", + "single_end": false + }, + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] ], "adapter_seq": [ [ @@ -631,16 +625,40 @@ ] ], "fastqc_raw_html": [ - + [ + { + "id": "test", + "single_end": false + }, + "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] ], "fastqc_raw_zip": [ - + [ + { + "id": "test", + "single_end": false + }, + "test.zip:md5,d41d8cd98f00b204e9800998ecf8427e" + ] ], "fastqc_trim_html": [ - + [ + { + "id": "test", + "single_end": false + }, + "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" + ] ], "fastqc_trim_zip": [ - + [ + { + "id": "test", + "single_end": false + }, + "test.zip:md5,d41d8cd98f00b204e9800998ecf8427e" + ] ], "reads": [ [ @@ -687,20 +705,28 @@ "id": "test", "single_end": false }, - 1 + 26 ] ], "trim_reads_fail": [ ], "trim_reads_merged": [ - + [ + { + "id": "test", + "single_end": false + }, + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] ], "umi_log": [ ], "versions": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad" + "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", + "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ] } ], @@ -708,9 +734,141 @@ "nf-test": "0.9.2", "nextflow": "24.10.2" }, - "timestamp": "2024-12-12T14:31:39.612937297" + "timestamp": "2024-12-12T14:32:39.987530839" }, - "sarscov2 paired-end [fastq] | save_merged - stub": { + "sarscov2 paired-end [fastq] | save_trimmed_fail": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "unspecified" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.fastp.fastq.gz:md5,6ff32a64c5188b9a9192be1398c262c7", + "test_2.fastp.fastq.gz:md5,db0cb7c9977e94ac2b4b446ebd017a8a" + ] + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,4c3268ddb50ea5b33125984776aa3519" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + 162 + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test.paired.fail.fastq.gz:md5,409b687c734cedd7a1fec14d316e1366", + "test_1.fail.fastq.gz:md5,4f273cf3159c13f79e8ffae12f5661f6", + "test_2.fail.fastq.gz:md5,f97b9edefb5649aab661fbc9e71fc995" + ] + ] + ], + [ + + ], + [ + + ], + [ + "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", + "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-20T14:51:03.282629859" + }, + "sarscov2 paired-end [fastq] | skip_fastqc": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "unspecified" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7", + "test_2.fastp.fastq.gz:md5,25cbdca08e2083dbd4f0502de6b62f39" + ] + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,1e0f8e27e71728e2b63fc64086be95cd" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + 198 + ] + ], + [ + + ], + [ + + ], + [ + + ], + [ + "versions.yml:md5,85bd0117e5778fff18e3920972a296ad" + ] + ], + "meta": { + "nf-test": "0.9.2", + "nextflow": "24.10.3" + }, + "timestamp": "2024-12-20T14:48:39.414996952" + }, + "sarscov2 paired-end [fastq] | save_trimmed_fail - stub": { "content": [ { "0": [ @@ -815,16 +973,20 @@ ] ], "8": [ - - ], - "9": [ [ { "id": "test", "single_end": false }, - "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + [ + "test.paired.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_1.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] ] + ], + "9": [ + ], "adapter_seq": [ [ @@ -920,16 +1082,20 @@ ] ], "trim_reads_fail": [ - - ], - "trim_reads_merged": [ [ { "id": "test", "single_end": false }, - "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + [ + "test.paired.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_1.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", + "test_2.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] ] + ], + "trim_reads_merged": [ + ], "umi_log": [ @@ -945,9 +1111,9 @@ "nf-test": "0.9.2", "nextflow": "24.10.2" }, - "timestamp": "2024-12-12T14:32:31.825964203" + "timestamp": "2024-12-12T14:32:23.571618376" }, - "sarscov2 paired-end [fastq] - stub": { + "sarscov2 paired-end [fastq] | skip_fastqc - stub": { "content": [ { "0": [ @@ -963,13 +1129,7 @@ ] ], "1": [ - [ - { - "id": "test", - "single_end": false - }, - "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + ], "10": [ [ @@ -981,36 +1141,16 @@ ] ], "11": [ - [ - { - "id": "test", - "single_end": false - }, - "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + ], "12": [ - [ - { - "id": "test", - "single_end": false - }, - "test.zip:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + ], "13": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", - "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", - "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" + "versions.yml:md5,85bd0117e5778fff18e3920972a296ad" ], "2": [ - [ - { - "id": "test", - "single_end": false - }, - "test.zip:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + ], "3": [ @@ -1067,40 +1207,16 @@ ] ], "fastqc_raw_html": [ - [ - { - "id": "test", - "single_end": false - }, - "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + ], "fastqc_raw_zip": [ - [ - { - "id": "test", - "single_end": false - }, - "test.zip:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + ], "fastqc_trim_html": [ - [ - { - "id": "test", - "single_end": false - }, - "test.html:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + ], "fastqc_trim_zip": [ - [ - { - "id": "test", - "single_end": false - }, - "test.zip:md5,d41d8cd98f00b204e9800998ecf8427e" - ] + ], "reads": [ [ @@ -1160,19 +1276,17 @@ ], "versions": [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", - "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", - "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" + "versions.yml:md5,85bd0117e5778fff18e3920972a296ad" ] } ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.04.3" + "nf-test": "0.9.2", + "nextflow": "24.10.2" }, - "timestamp": "2024-07-22T16:58:29.296468" + "timestamp": "2024-12-12T14:31:39.612937297" }, - "sarscov2 paired-end [fastq] | umi_discard_read = 2 - stub": { + "sarscov2 paired-end [fastq] | save_merged - stub": { "content": [ { "0": [ @@ -1280,7 +1394,13 @@ ], "9": [ - + [ + { + "id": "test", + "single_end": false + }, + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] ], "adapter_seq": [ [ @@ -1379,7 +1499,13 @@ ], "trim_reads_merged": [ - + [ + { + "id": "test", + "single_end": false + }, + "test.merged.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] ], "umi_log": [ @@ -1395,43 +1521,77 @@ "nf-test": "0.9.2", "nextflow": "24.10.2" }, - "timestamp": "2024-12-12T14:32:07.840128843" + "timestamp": "2024-12-12T14:32:31.825964203" }, - "sarscov2 paired-end [fastq] | skip_trimming": { + "sarscov2 paired-end [fastq] | min_trimmed_reads = 26": { "content": [ [ - + [ + { + "id": "test", + "single_end": false + }, + "unspecified" + ] ], - { - "id": "test", - "single_end": false - }, [ - + [ + { + "id": "test", + "single_end": false + }, + [ + "test_1.fastp.fastq.gz:md5,54b726a55e992a869fd3fa778afe1672", + "test_2.fastp.fastq.gz:md5,29d3b33b869f7b63417b8ff07bb128ba" + ] + ] ], [ - + [ + { + "id": "test", + "single_end": false + }, + "test.fastp.json:md5,b712fd68ed0322f4bec49ff2a5237fcc" + ] ], [ - + [ + { + "id": "test", + "single_end": false + }, + 75 + ] ], [ + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.merged.fastq.gz:md5,c873bb1ab3fa859dcc47306465e749d5" + ] ], [ ], [ + "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", + "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" ] ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.2" + "nextflow": "24.10.3" }, - "timestamp": "2024-12-12T14:24:19.774510678" + "timestamp": "2024-12-20T14:52:01.390925061" }, - "sarscov2 paired-end [fastq] | save_trimmed_fail": { + "sarscov2 paired-end [fastq]": { "content": [ [ [ @@ -1449,8 +1609,8 @@ "single_end": false }, [ - "test_1.fastp.fastq.gz:md5,6ff32a64c5188b9a9192be1398c262c7", - "test_2.fastp.fastq.gz:md5,db0cb7c9977e94ac2b4b446ebd017a8a" + "test_1.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7", + "test_2.fastp.fastq.gz:md5,25cbdca08e2083dbd4f0502de6b62f39" ] ] ], @@ -1460,7 +1620,7 @@ "id": "test", "single_end": false }, - "test.fastp.json:md5,21fdf3cfd611a7959b93318f25d126e9" + "test.fastp.json:md5,1e0f8e27e71728e2b63fc64086be95cd" ] ], [ @@ -1469,21 +1629,11 @@ "id": "test", "single_end": false }, - 162 + 198 ] ], [ - [ - { - "id": "test", - "single_end": false - }, - [ - "test.paired.fail.fastq.gz:md5,409b687c734cedd7a1fec14d316e1366", - "test_1.fail.fastq.gz:md5,4f273cf3159c13f79e8ffae12f5661f6", - "test_2.fail.fastq.gz:md5,f97b9edefb5649aab661fbc9e71fc995" - ] - ] + ], [ @@ -1499,11 +1649,11 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.2" + "nextflow": "24.10.3" }, - "timestamp": "2024-12-12T14:24:32.09683126" + "timestamp": "2024-12-20T14:48:22.223898663" }, - "sarscov2 paired-end [fastq] | save_trimmed_fail - stub": { + "sarscov2 paired-end [fastq] - stub": { "content": [ { "0": [ @@ -1608,17 +1758,7 @@ ] ], "8": [ - [ - { - "id": "test", - "single_end": false - }, - [ - "test.paired.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "test_1.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "test_2.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] - ] + ], "9": [ @@ -1717,17 +1857,7 @@ ] ], "trim_reads_fail": [ - [ - { - "id": "test", - "single_end": false - }, - [ - "test.paired.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "test_1.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "test_2.fail.fastq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] - ] + ], "trim_reads_merged": [ @@ -1743,140 +1873,10 @@ } ], "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.2" - }, - "timestamp": "2024-12-12T14:32:23.571618376" - }, - "sarscov2 paired-end [fastq] | min_trimmed_reads = 26": { - "content": [ - [ - [ - { - "id": "test", - "single_end": false - }, - "unspecified" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - [ - "test_1.fastp.fastq.gz:md5,54b726a55e992a869fd3fa778afe1672", - "test_2.fastp.fastq.gz:md5,29d3b33b869f7b63417b8ff07bb128ba" - ] - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - "test.fastp.json:md5,b913b6f0faf64d208ecc009eb765ada6" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - 75 - ] - ], - [ - - ], - [ - [ - { - "id": "test", - "single_end": false - }, - "test.merged.fastq.gz:md5,c873bb1ab3fa859dcc47306465e749d5" - ] - ], - [ - - ], - [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", - "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", - "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" - ] - ], - "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.2" - }, - "timestamp": "2024-12-12T14:24:56.36378285" - }, - "sarscov2 paired-end [fastq]": { - "content": [ - [ - [ - { - "id": "test", - "single_end": false - }, - "unspecified" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - [ - "test_1.fastp.fastq.gz:md5,67b2bbae47f073e05a97a9c2edce23c7", - "test_2.fastp.fastq.gz:md5,25cbdca08e2083dbd4f0502de6b62f39" - ] - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - "test.fastp.json:md5,47a1bbd79b21721d81eb457e44fa3e3b" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - 198 - ] - ], - [ - - ], - [ - - ], - [ - - ], - [ - "versions.yml:md5,85bd0117e5778fff18e3920972a296ad", - "versions.yml:md5,c50aa59475ab901bc6f9a2cf7b1a14e0", - "versions.yml:md5,f3dcaae948e8eed92b4a5557b4c6668e" - ] - ], - "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.2" + "nf-test": "0.9.0", + "nextflow": "24.04.3" }, - "timestamp": "2024-12-12T14:14:48.625336841" + "timestamp": "2024-07-22T16:58:29.296468" }, "sarscov2 paired-end [fastq] | save_merged": { "content": [ @@ -1907,7 +1907,7 @@ "id": "test", "single_end": false }, - "test.fastp.json:md5,b913b6f0faf64d208ecc009eb765ada6" + "test.fastp.json:md5,b712fd68ed0322f4bec49ff2a5237fcc" ] ], [ @@ -1942,9 +1942,9 @@ ], "meta": { "nf-test": "0.9.2", - "nextflow": "24.10.2" + "nextflow": "24.10.3" }, - "timestamp": "2024-12-12T14:24:43.700668074" + "timestamp": "2024-12-20T14:51:21.931782328" }, "sarscov2 paired-end [fastq] | with_umi - stub": { "content": [ diff --git a/subworkflows/nf-core/mmseqs_contig_taxonomy/meta.yml b/subworkflows/nf-core/mmseqs_contig_taxonomy/meta.yml index edf4874b3d7..15126b6e619 100644 --- a/subworkflows/nf-core/mmseqs_contig_taxonomy/meta.yml +++ b/subworkflows/nf-core/mmseqs_contig_taxonomy/meta.yml @@ -34,7 +34,7 @@ output: - taxonomy: type: file description: | - Channel containing the tab seperated file with all assigned taxonomy. + Channel containing the tab separated file with all assigned taxonomy. Structure: [ val(meta), path(tsv) ] pattern: "*.tsv" - db_mmseqs: diff --git a/subworkflows/nf-core/utils_nfvalidation_plugin/main.nf b/subworkflows/nf-core/utils_nfvalidation_plugin/main.nf index 2398c620c5f..73c382fd7db 100644 --- a/subworkflows/nf-core/utils_nfvalidation_plugin/main.nf +++ b/subworkflows/nf-core/utils_nfvalidation_plugin/main.nf @@ -21,7 +21,7 @@ include { validateParameters } from 'plugin/nf-validation' workflow UTILS_NFVALIDATION_PLUGIN { take: print_help // boolean: print help - workflow_command // string: default commmand used to run pipeline + workflow_command // string: default command used to run pipeline pre_help_text // string: string to be printed before help text and summary log post_help_text // string: string to be printed after help text and summary log validate_params // boolean: validate parameters diff --git a/subworkflows/nf-core/vcf_annotate_ensemblvep/main.nf b/subworkflows/nf-core/vcf_annotate_ensemblvep/main.nf index 291eddc11b0..d9c9e834fd9 100644 --- a/subworkflows/nf-core/vcf_annotate_ensemblvep/main.nf +++ b/subworkflows/nf-core/vcf_annotate_ensemblvep/main.nf @@ -7,7 +7,7 @@ include { TABIX_TABIX } from '../../../modules/nf-core/tabix/tabix/main' workflow VCF_ANNOTATE_ENSEMBLVEP { take: - ch_vcf // channel: [ val(meta), path(vcf), [path(custom_file1), path(custom_file2)... (optionnal)]] + ch_vcf // channel: [ val(meta), path(vcf), [path(custom_file1), path(custom_file2)... (optional)]] ch_fasta // channel: [ val(meta2), path(fasta) ] (optional) val_genome // value: genome to use val_species // value: species to use diff --git a/subworkflows/nf-core/vcf_annotate_ensemblvep/meta.yml b/subworkflows/nf-core/vcf_annotate_ensemblvep/meta.yml index 15d42da23fe..12677c684f7 100644 --- a/subworkflows/nf-core/vcf_annotate_ensemblvep/meta.yml +++ b/subworkflows/nf-core/vcf_annotate_ensemblvep/meta.yml @@ -12,7 +12,7 @@ input: - ch_vcf: description: | vcf file to annotate - Structure: [ val(meta), path(vcf), [path(custom_file1), path(custom_file2)... (optionnal)] ] + Structure: [ val(meta), path(vcf), [path(custom_file1), path(custom_file2)... (optional)] ] - ch_fasta: description: | Reference genome fasta file (optional) diff --git a/tests/config/nf-test.config b/tests/config/nf-test.config index 2a232b63fb2..d8350fafaea 100644 --- a/tests/config/nf-test.config +++ b/tests/config/nf-test.config @@ -27,9 +27,8 @@ profiles { } docker_self_hosted { docker.enabled = true - docker.userEmulation = false docker.fixOwnership = true - docker.runOptions = '--platform=linux/amd64 --security-opt=no-new-privileges' + docker.runOptions = '--platform=linux/amd64' } arm { docker.runOptions = '-u $(id -u):$(id -g) --platform=linux/amd64' diff --git a/tests/config/pytest_modules.yml b/tests/config/pytest_modules.yml index e9503a6de01..9035ef06855 100644 --- a/tests/config/pytest_modules.yml +++ b/tests/config/pytest_modules.yml @@ -40,9 +40,6 @@ bamtools/split: basicpy: - modules/nf-core/basicpy/** - tests/modules/nf-core/basicpy/** -bbmap/align: - - modules/nf-core/bbmap/align/** - - tests/modules/nf-core/bbmap/align/** biohansel: - modules/nf-core/biohansel/** - tests/modules/nf-core/biohansel/** @@ -76,12 +73,6 @@ cellrangeratac/mkfastq: cellrangeratac/mkref: - modules/nf-core/cellrangeratac/mkref/** - tests/modules/nf-core/cellrangeratac/mkref/** -clippy: - - modules/nf-core/clippy/** - - tests/modules/nf-core/clippy/** -cnvkit/export: - - modules/nf-core/cnvkit/export/** - - tests/modules/nf-core/cnvkit/export/** cnvnator/cnvnator: - modules/nf-core/cnvnator/cnvnator/** - tests/modules/nf-core/cnvnator/cnvnator/** @@ -106,9 +97,6 @@ cooler/zoomify: coreograph: - modules/nf-core/coreograph/** - tests/modules/nf-core/coreograph/** -crisprcleanr/normalize: - - modules/nf-core/crisprcleanr/normalize/** - - tests/modules/nf-core/crisprcleanr/normalize/** custom/matrixfilter: - modules/nf-core/custom/matrixfilter/** - tests/modules/nf-core/custom/matrixfilter/** @@ -269,9 +257,6 @@ iphop/download: iphop/predict: - modules/nf-core/iphop/predict/** - tests/modules/nf-core/iphop/predict/** -ivar/consensus: - - modules/nf-core/ivar/consensus/** - - tests/modules/nf-core/ivar/consensus/** jupyternotebook: - modules/nf-core/jupyternotebook/** - tests/modules/nf-core/jupyternotebook/** diff --git a/tests/modules/nf-core/bbmap/align/main.nf b/tests/modules/nf-core/bbmap/align/main.nf deleted file mode 100644 index f2bfcd9069c..00000000000 --- a/tests/modules/nf-core/bbmap/align/main.nf +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env nextflow - -nextflow.enable.dsl = 2 - -include { BBMAP_INDEX } from '../../../../../modules/nf-core/bbmap/index/main.nf' -include { BBMAP_ALIGN } from '../../../../../modules/nf-core/bbmap/align/main.nf' -include { BBMAP_ALIGN as BBMAP_ALIGN_PIGZ } from '../../../../../modules/nf-core/bbmap/align/main.nf' - -workflow test_bbmap_align_paired_end_fasta_ref { - - input = [ [ id:'test', single_end:false ], // meta map - [ - file( params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true), - file( params.test_data['sarscov2']['illumina']['test_2_fastq_gz'], checkIfExists: true) - ] - ] - fasta = file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) - - BBMAP_ALIGN ( input, fasta ) -} - -workflow test_bbmap_align_paired_end_index_ref { - - input = [ [ id:'test', single_end:false ], // meta map - [ - file( params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true), - file( params.test_data['sarscov2']['illumina']['test_2_fastq_gz'], checkIfExists: true) - ] - ] - fasta = file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) - - BBMAP_INDEX ( fasta ) - BBMAP_ALIGN ( input, BBMAP_INDEX.out.index ) -} - -workflow test_bbmap_align_single_end_index_ref { - - input = [ [ id:'test', single_end:true ], // meta map - file( params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true) - ] - fasta = file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) - - BBMAP_INDEX ( fasta ) - BBMAP_ALIGN ( input, BBMAP_INDEX.out.index ) -} - -workflow test_bbmap_align_paired_end_index_ref_pigz { - - input = [ [ id:'test', single_end:false ], // meta map - [ - file( params.test_data['sarscov2']['illumina']['test_1_fastq_gz'], checkIfExists: true), - file( params.test_data['sarscov2']['illumina']['test_2_fastq_gz'], checkIfExists: true) - ] - ] - fasta = file(params.test_data['sarscov2']['genome']['genome_fasta'], checkIfExists: true) - - BBMAP_INDEX ( fasta ) - BBMAP_ALIGN_PIGZ ( input, BBMAP_INDEX.out.index ) -} diff --git a/tests/modules/nf-core/bbmap/align/nextflow.config b/tests/modules/nf-core/bbmap/align/nextflow.config deleted file mode 100644 index fe0afd7276c..00000000000 --- a/tests/modules/nf-core/bbmap/align/nextflow.config +++ /dev/null @@ -1,9 +0,0 @@ -process { - - publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } - - withName: BBMAP_ALIGN_PIGZ { - ext.args = 'unpigz=t' - } - -} diff --git a/tests/modules/nf-core/bbmap/align/test.yml b/tests/modules/nf-core/bbmap/align/test.yml deleted file mode 100644 index 19744741681..00000000000 --- a/tests/modules/nf-core/bbmap/align/test.yml +++ /dev/null @@ -1,39 +0,0 @@ -- name: bbmap align paired end fasta ref - command: nextflow run ./tests/modules/nf-core/bbmap/align -entry test_bbmap_align_paired_end_fasta_ref -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/bbmap/align/nextflow.config - tags: - - bbmap - - bbmap/align - files: - - path: output/bbmap/test.bam - md5sum: ef49b3fa7bf68a35bc7837685002655e - - path: output/bbmap/test.bbmap.log - -- name: bbmap align paired end index ref - command: nextflow run ./tests/modules/nf-core/bbmap/align -entry test_bbmap_align_paired_end_index_ref -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/bbmap/align/nextflow.config - tags: - - bbmap - - bbmap/align - files: - - path: output/bbmap/test.bam - md5sum: a82aadd954312833bfd24ebebb1c6811 - - path: output/bbmap/test.bbmap.log - -- name: bbmap align single end index ref - command: nextflow run ./tests/modules/nf-core/bbmap/align -entry test_bbmap_align_single_end_index_ref -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/bbmap/align/nextflow.config - tags: - - bbmap - - bbmap/align - files: - - path: output/bbmap/test.bam - md5sum: 7ed717babcc392bddcfeeb1ea53ab1f3 - - path: output/bbmap/test.bbmap.log - -- name: bbmap align paired end index ref pigz - command: nextflow run ./tests/modules/nf-core/bbmap/align -entry test_bbmap_align_paired_end_index_ref_pigz -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/bbmap/align/nextflow.config - tags: - - bbmap - - bbmap/align - files: - - path: output/bbmap/test.bam - md5sum: 18d5774576c6bdceaed69a9bf138b59b - - path: output/bbmap/test.bbmap.log diff --git a/tests/modules/nf-core/clippy/main.nf b/tests/modules/nf-core/clippy/main.nf deleted file mode 100644 index f4cf9225fea..00000000000 --- a/tests/modules/nf-core/clippy/main.nf +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env nextflow - -nextflow.enable.dsl = 2 - -include { CLIPPY as CLIPPY_NON_INTERGENIC } from '../../../../modules/nf-core/clippy/main.nf' -include { CLIPPY as CLIPPY_INTERGENIC } from '../../../../modules/nf-core/clippy/main.nf' - -workflow test_clippy { - - input = [ - [ id:'test' ], // meta map - file("https://raw.githubusercontent.com/nf-core/test-datasets/clipseq/crosslinks/clippy.bed", checkIfExists: true) - ] - - CLIPPY_NON_INTERGENIC ( - input, - file(params.test_data['homo_sapiens']['genome']['genome_21_gencode_gtf'], checkIfExists: true), - file(params.test_data['homo_sapiens']['genome']['genome_21_fasta_fai'], checkIfExists: true) - ) -} - -workflow test_clippy_intergenic { - - input = [ - [ id:'test' ], // meta map - file("https://raw.githubusercontent.com/nf-core/test-datasets/clipseq/crosslinks/clippy.bed", checkIfExists: true) - ] - - CLIPPY_INTERGENIC ( - input, - file(params.test_data['homo_sapiens']['genome']['genome_21_gencode_gtf'], checkIfExists: true), - file(params.test_data['homo_sapiens']['genome']['genome_21_fasta_fai'], checkIfExists: true) - ) -} \ No newline at end of file diff --git a/tests/modules/nf-core/clippy/nextflow.config b/tests/modules/nf-core/clippy/nextflow.config deleted file mode 100644 index df562787ee7..00000000000 --- a/tests/modules/nf-core/clippy/nextflow.config +++ /dev/null @@ -1,10 +0,0 @@ -process { - withName: 'CLIPPY_NON_INTERGENIC' { - publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } - } - - withName: 'CLIPPY_INTERGENIC' { - ext.args = { "-inter 3" } - publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } - } -} \ No newline at end of file diff --git a/tests/modules/nf-core/clippy/test.yml b/tests/modules/nf-core/clippy/test.yml deleted file mode 100644 index 51df2484c79..00000000000 --- a/tests/modules/nf-core/clippy/test.yml +++ /dev/null @@ -1,23 +0,0 @@ -- name: clippy test_clippy - command: nextflow run ./tests/modules/nf-core/clippy -entry test_clippy -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/clippy/nextflow.config - tags: - - clippy - files: - - path: output/clippy/test_rollmean10_minHeightAdjust1.0_minPromAdjust1.0_minGeneCount5_Peaks.bed - md5sum: d793b0bafe5478207bfe80dd635a215c - - path: output/clippy/test_rollmean10_minHeightAdjust1.0_minPromAdjust1.0_minGeneCount5_Summits.bed - md5sum: afc2143816a8ae91329d7e557a91eeba - - path: output/clippy/versions.yml - -- name: clippy test_clippy_intergenic - command: nextflow run ./tests/modules/nf-core/clippy -entry test_clippy_intergenic -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/clippy/nextflow.config - tags: - - clippy - files: - - path: output/clippy/test_rollmean10_minHeightAdjust1.0_minPromAdjust1.0_minGeneCount5_Peaks.bed - md5sum: d793b0bafe5478207bfe80dd635a215c - - path: output/clippy/test_rollmean10_minHeightAdjust1.0_minPromAdjust1.0_minGeneCount5_Summits.bed - md5sum: afc2143816a8ae91329d7e557a91eeba - - path: output/clippy/test_rollmean10_minHeightAdjust1.0_minPromAdjust1.0_minGeneCount5_intergenic_regions.gtf - md5sum: 3cb78f0e1822e089bc85393df1d1327b - - path: output/clippy/versions.yml diff --git a/tests/modules/nf-core/cnvkit/export/main.nf b/tests/modules/nf-core/cnvkit/export/main.nf deleted file mode 100644 index 527fca936a8..00000000000 --- a/tests/modules/nf-core/cnvkit/export/main.nf +++ /dev/null @@ -1,70 +0,0 @@ -#!/usr/bin/env nextflow - -nextflow.enable.dsl = 2 - -include { CNVKIT_EXPORT as CNVKIT_EXPORT_BED } from '../../../../../modules/nf-core/cnvkit/export/main.nf' -include { CNVKIT_EXPORT as CNVKIT_EXPORT_VCF } from '../../../../../modules/nf-core/cnvkit/export/main.nf' -include { CNVKIT_EXPORT as CNVKIT_EXPORT_CDT } from '../../../../../modules/nf-core/cnvkit/export/main.nf' -include { CNVKIT_EXPORT as CNVKIT_EXPORT_JTV } from '../../../../../modules/nf-core/cnvkit/export/main.nf' -include { CNVKIT_EXPORT as CNVKIT_EXPORT_SEG } from '../../../../../modules/nf-core/cnvkit/export/main.nf' -include { CNVKIT_EXPORT as CNVKIT_EXPORT_THETA } from '../../../../../modules/nf-core/cnvkit/export/main.nf' - -workflow test_cnvkit_export_bed { - - input = [ - [ id:'test', single_end:false ], // meta map - file(params.test_data['homo_sapiens']['cnvkit']['amplicon_cns'], checkIfExists: true) - ] - - CNVKIT_EXPORT_BED ( input ) -} - -workflow test_cnvkit_export_vcf { - - input = [ - [ id:'test', single_end:false ], // meta map - file(params.test_data['homo_sapiens']['cnvkit']['amplicon_cns'], checkIfExists: true) - ] - - CNVKIT_EXPORT_VCF ( input ) -} - -workflow test_cnvkit_export_cdt { - - input = [ - [ id:'test', single_end:false ], // meta map - file(params.test_data['homo_sapiens']['cnvkit']['amplicon_cns'], checkIfExists: true) - ] - - CNVKIT_EXPORT_CDT ( input ) -} - -workflow test_cnvkit_export_jtv { - - input = [ - [ id:'test', single_end:false ], // meta map - file(params.test_data['homo_sapiens']['cnvkit']['amplicon_cns'], checkIfExists: true) - ] - - CNVKIT_EXPORT_JTV ( input ) -} - -workflow test_cnvkit_export_seg { - - input = [ - [ id:'test', single_end:false ], // meta map - file(params.test_data['homo_sapiens']['cnvkit']['amplicon_cns'], checkIfExists: true) - ] - - CNVKIT_EXPORT_SEG ( input ) -} - -workflow test_cnvkit_export_theta { - - input = [ - [ id:'test', single_end:false ], // meta map - file(params.test_data['homo_sapiens']['cnvkit']['amplicon_cns'], checkIfExists: true) - ] - - CNVKIT_EXPORT_THETA ( input ) -} \ No newline at end of file diff --git a/tests/modules/nf-core/cnvkit/export/nextflow.config b/tests/modules/nf-core/cnvkit/export/nextflow.config deleted file mode 100644 index 649a5da10b4..00000000000 --- a/tests/modules/nf-core/cnvkit/export/nextflow.config +++ /dev/null @@ -1,29 +0,0 @@ -process { - - publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } - - withName: 'CNVKIT_EXPORT_BED' { - ext.args = { "bed -i ${meta.id}" } - } - - withName: 'CNVKIT_EXPORT_VCF' { - ext.args = { "vcf -i ${meta.id}" } - } - - withName: 'CNVKIT_EXPORT_CDT' { - ext.args = "cdt" - } - - withName: 'CNVKIT_EXPORT_JTV' { - ext.args = "jtv" - } - - withName: 'CNVKIT_EXPORT_SEG' { - ext.args = "seg" - } - - withName: 'CNVKIT_EXPORT_THETA' { - ext.args = "theta" - } - -} \ No newline at end of file diff --git a/tests/modules/nf-core/cnvkit/export/test.yml b/tests/modules/nf-core/cnvkit/export/test.yml deleted file mode 100644 index 4f963a2f941..00000000000 --- a/tests/modules/nf-core/cnvkit/export/test.yml +++ /dev/null @@ -1,63 +0,0 @@ -- name: cnvkit export test_cnvkit_export_bed - command: nextflow run ./tests/modules/nf-core/cnvkit/export -entry test_cnvkit_export_bed -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/cnvkit/export/nextflow.config - tags: - - cnvkit/export - - cnvkit - files: - - path: output/cnvkit/test.bed - md5sum: fe6d50bce457e82fc7169aeb217bf0e0 - - path: output/cnvkit/versions.yml - -- name: cnvkit export test_cnvkit_export_vcf - command: nextflow run ./tests/modules/nf-core/cnvkit/export -entry test_cnvkit_export_vcf -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/cnvkit/export/nextflow.config - tags: - - cnvkit/export - - cnvkit - files: - - path: output/cnvkit/test.vcf - contains: - - "##fileformat=VCFv4.2" - - "##source=CNVkit v0.9.10" - - - "chr1\t160786623\t.\tN\t\t.\t.\tIMPRECISE;SVTYPE=DEL;END=160786747;SVLEN=-124;FOLD_CHANGE=0.2717797741778673;FOLD_CHANGE_LOG=-1.87949;PROBES=1\tGT:GQ\t0/1:1" - - path: output/cnvkit/versions.yml - -- name: cnvkit export test_cnvkit_export_cdt - command: nextflow run ./tests/modules/nf-core/cnvkit/export -entry test_cnvkit_export_cdt -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/cnvkit/export/nextflow.config - tags: - - cnvkit/export - - cnvkit - files: - - path: output/cnvkit/test.cdt - md5sum: 0375c094d539e6cf8ac4e7342d640e3e - - path: output/cnvkit/versions.yml - -- name: cnvkit export test_cnvkit_export_jtv - command: nextflow run ./tests/modules/nf-core/cnvkit/export -entry test_cnvkit_export_jtv -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/cnvkit/export/nextflow.config - tags: - - cnvkit/export - - cnvkit - files: - - path: output/cnvkit/test.jtv - md5sum: a5cf0dc429cbf1d85f09d843862d08ab - - path: output/cnvkit/versions.yml - -- name: cnvkit export test_cnvkit_export_seg - command: nextflow run ./tests/modules/nf-core/cnvkit/export -entry test_cnvkit_export_seg -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/cnvkit/export/nextflow.config - tags: - - cnvkit/export - - cnvkit - files: - - path: output/cnvkit/test.seg - md5sum: 30c0bafb9951737d48f20fdfa2cf5b18 - - path: output/cnvkit/versions.yml - -- name: cnvkit export test_cnvkit_export_theta - command: nextflow run ./tests/modules/nf-core/cnvkit/export -entry test_cnvkit_export_theta -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/cnvkit/export/nextflow.config - tags: - - cnvkit/export - - cnvkit - files: - - path: output/cnvkit/test.theta - md5sum: 7a388385ae1fd2f334a4e26ddf4901de - - path: output/cnvkit/versions.yml diff --git a/tests/modules/nf-core/crisprcleanr/normalize/main.nf b/tests/modules/nf-core/crisprcleanr/normalize/main.nf deleted file mode 100644 index 1ccbd2d3bc3..00000000000 --- a/tests/modules/nf-core/crisprcleanr/normalize/main.nf +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env nextflow - -nextflow.enable.dsl = 2 - -include { CRISPRCLEANR_NORMALIZE } from '../../../../../modules/nf-core/crisprcleanr/normalize/main.nf' -workflow test_crisprcleanr_normalize { - - input = [ - [ id:'test', single_end:false ], // meta map - file(params.test_data['homo_sapiens']['genome']['crispr_functional_counts'], checkIfExists: true), - file(params.test_data['homo_sapiens']['genome']['crispr_functional_library'], checkIfExists: true) - ] - - CRISPRCLEANR_NORMALIZE ( input, 30, 5) -} diff --git a/tests/modules/nf-core/crisprcleanr/normalize/nextflow.config b/tests/modules/nf-core/crisprcleanr/normalize/nextflow.config deleted file mode 100644 index 8730f1c4b93..00000000000 --- a/tests/modules/nf-core/crisprcleanr/normalize/nextflow.config +++ /dev/null @@ -1,5 +0,0 @@ -process { - - publishDir = { "${params.outdir}/${task.process.tokenize(':')[-1].tokenize('_')[0].toLowerCase()}" } - -} diff --git a/tests/modules/nf-core/crisprcleanr/normalize/test.yml b/tests/modules/nf-core/crisprcleanr/normalize/test.yml deleted file mode 100644 index 6560aa28873..00000000000 --- a/tests/modules/nf-core/crisprcleanr/normalize/test.yml +++ /dev/null @@ -1,10 +0,0 @@ -- name: crisprcleanr normalize test_crisprcleanr_normalize - command: nextflow run ./tests/modules/nf-core/crisprcleanr/normalize -entry test_crisprcleanr_normalize -c ./tests/config/nextflow.config -c ./tests/modules/nf-core/crisprcleanr/normalize/nextflow.config - tags: - - crisprcleanr - - crisprcleanr/normalize - files: - - path: output/crisprcleanr/test_norm_table.tsv - contains: - - "sgRNA" - - path: output/crisprcleanr/versions.yml diff --git a/tests/modules/nf-core/msisensor/msi/main.nf b/tests/modules/nf-core/msisensor/msi/main.nf index 5d052c5b9c5..76905017bc9 100644 --- a/tests/modules/nf-core/msisensor/msi/main.nf +++ b/tests/modules/nf-core/msisensor/msi/main.nf @@ -15,7 +15,7 @@ workflow test_msisensor_msi { // IMPERFECT TEST: // USING SARS-COV2 DATA AS NORMAL:TUMOR PAIR THIS WILL SUFFICE TO // TEST MODULE EXECUTION, BUT NOT FUNCTIONALITY. - // FUNCTIONALITY HAS BEEN TESTED MANUALY USING AUTHOR-PROVIDED TEST + // FUNCTIONALITY HAS BEEN TESTED MANUALLY USING AUTHOR-PROVIDED TEST // DATA (https://github.com/ding-lab/msisensor/tree/master/test) def input = [] diff --git a/tests/modules/nf-core/sentieon/license_message.py b/tests/modules/nf-core/sentieon/license_message.py index c4a34f92407..17ca5270575 100644 --- a/tests/modules/nf-core/sentieon/license_message.py +++ b/tests/modules/nf-core/sentieon/license_message.py @@ -99,7 +99,7 @@ def parse_args(argv=None): encrypt_parser.add_argument("--message", required=True, help="Message to encrypt") encrypt_parser.set_defaults(func=handle_encrypt_message) - decrypt_parser = subparsers.add_parser("decrypt", help="Decyrpt a message") + decrypt_parser = subparsers.add_parser("decrypt", help="Decrypt a message") decrypt_parser.add_argument("--key", required=True, help="The encryption key") decrypt_parser.add_argument("--message", required=True, help="Message to decrypt") decrypt_parser.add_argument(