diff --git a/modules/nf-core/leehom/tests/main.nf.test b/modules/nf-core/leehom/tests/main.nf.test index 7b865a90340f..50cd8c5cb93e 100644 --- a/modules/nf-core/leehom/tests/main.nf.test +++ b/modules/nf-core/leehom/tests/main.nf.test @@ -43,7 +43,10 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(sanitizeOutput(process.out)).match() } + { assert snapshot( + process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()}, + sanitizeOutput(process.out, unstableKeys:["bam"]) + ).match() } ) } } diff --git a/modules/nf-core/leehom/tests/main.nf.test.snap b/modules/nf-core/leehom/tests/main.nf.test.snap index ef0f12641003..f90abd5cee7d 100644 --- a/modules/nf-core/leehom/tests/main.nf.test.snap +++ b/modules/nf-core/leehom/tests/main.nf.test.snap @@ -229,6 +229,9 @@ }, "homo_sapiens - bam": { "content": [ + [ + "test.bam:readsMD5,ef014d5b0cd0903595da255cdce79662" + ], { "bam": [ [ @@ -236,7 +239,7 @@ "id": "test", "single_end": false }, - "test.bam:md5,0e930ebbfaf81be6b04aa3d9e37c875f" + "test.bam" ] ], "fq_fail": [ @@ -275,10 +278,10 @@ ] } ], - "timestamp": "2026-06-08T17:36:05.760003668", + "timestamp": "2026-07-10T14:34:56.225495163", "meta": { - "nf-test": "0.9.4", - "nextflow": "26.03.0" + "nf-test": "0.9.5", + "nextflow": "26.04.4" } }, "sarscov2 - fastq single end - stub": { diff --git a/modules/nf-core/poolsnp/main.nf b/modules/nf-core/poolsnp/main.nf index 3fec0e3ecc20..6f08e4c5d08d 100644 --- a/modules/nf-core/poolsnp/main.nf +++ b/modules/nf-core/poolsnp/main.nf @@ -1,30 +1,30 @@ process POOLSNP { - tag "$meta.id" + tag "${meta.id}" label 'process_medium' // WARN: Version information not provided by tool on CLI. Please update version string below when bumping container versions. conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/poolsnp:1.0.1--py312h7e72e81_0': - 'quay.io/biocontainers/poolsnp:1.0.1--py312h7e72e81_0' }" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://depot.galaxyproject.org/singularity/poolsnp:1.0.1--py312h7e72e81_0' + : 'quay.io/biocontainers/poolsnp:1.0.1--py312h7e72e81_0'}" input: - tuple val(meta) , path(mpileup) + tuple val(meta), path(mpileup) tuple val(meta2), path(reference) tuple val(meta3), val(max_cov), path(max_cov_file) output: - tuple val(meta), path("*.vcf.gz") , emit: vcf - tuple val(meta), path("*cov-*.txt"), emit: max_cov , optional: true + tuple val(meta), path("*.vcf.gz"), emit: vcf + tuple val(meta), path("*cov-*.txt"), emit: max_cov, optional: true tuple val(meta), path("*BS.txt.gz"), emit: bad_sites, optional: true - path "versions.yml" , emit: versions + // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + tuple val("${task.process}"), val('poolsnp'), eval("echo 1.0.1"), topic: versions, emit: versions_poolsnp when: task.ext.when == null || task.ext.when script: - def args = task.ext.args ?: '' - def prefix = task.ext.prefix ?: "${meta.id}" - def VERSION = '1.0.1' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + def args = task.ext.args ?: '' + def prefix = task.ext.prefix ?: "${meta.id}" assert (!max_cov && max_cov_file) || (max_cov && !max_cov_file) """ @@ -35,17 +35,12 @@ process POOLSNP { reference=\$PWD/${reference} \\ jobs=${task.cpus} \\ max-cov=${max_cov ? "${max_cov}" : "\$PWD/${max_cov_file}"} \\ - $args - - cat <<-END_VERSIONS > versions.yml - ${task.process}: - poolsnp: "${VERSION}" - END_VERSIONS + ${args} """ stub: def prefix = task.ext.prefix ?: "${meta.id}" - def VERSION = '1.0.1' // WARN: Version information not provided by tool on CLI. Please update this string when bumping container versions. + assert (!max_cov && max_cov_file) || (max_cov && !max_cov_file) """ echo "##fileformat=VCFv4.2" > ${prefix}.vcf @@ -53,10 +48,5 @@ process POOLSNP { gzip ${prefix}.vcf ${max_cov ? "touch ${prefix}_cov-${max_cov}.txt" : ""} echo "" | gzip > ${prefix}_BS.txt.gz - - cat <<-END_VERSIONS > versions.yml - ${task.process}: - poolsnp: "${VERSION}" - END_VERSIONS """ } diff --git a/modules/nf-core/poolsnp/meta.yml b/modules/nf-core/poolsnp/meta.yml index e8d1c93007c4..af22423aedfd 100644 --- a/modules/nf-core/poolsnp/meta.yml +++ b/modules/nf-core/poolsnp/meta.yml @@ -1,7 +1,6 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "poolsnp" -description: PoolSNP is a heuristic SNP caller, which uses an MPILEUP file and a reference - genome in FASTA format as inputs. +description: PoolSNP is a heuristic SNP caller, which uses an MPILEUP file and a + reference genome in FASTA format as inputs. keywords: - poolseq - mpileup @@ -12,9 +11,9 @@ tools: a reference genome in FASTA format as inputs." homepage: "https://github.com/capoony/PoolSNP" documentation: "https://github.com/capoony/PoolSNP/blob/master/README.md" - licence: ["Apache-2.0"] + licence: + - "Apache-2.0" args_id: "$args" - identifier: "" input: - - meta: @@ -77,11 +76,11 @@ output: e.g. `[ id:'sample1', single_end:false ]` - "*.vcf.gz": type: file - description: Gzipped VCF file containing allele counts and frequencies for - every position and library + description: Gzipped VCF file containing allele counts and frequencies + for every position and library pattern: "*.vcf.gz" ontologies: - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: http://edamontology.org/format_3989 max_cov: - - meta: type: map @@ -90,8 +89,8 @@ output: e.g. `[ id:'sample1', single_end:false ]` - "*cov-*.txt": type: file - description: File containing the maximum coverage thresholds for all chromosomal - arms and libraries + description: File containing the maximum coverage thresholds for all + chromosomal arms and libraries pattern: "*cov-*.txt" ontologies: [] bad_sites: @@ -102,19 +101,33 @@ output: e.g. `[ id:'sample1', single_end:false ]` - "*BS.txt.gz": type: file - description: File containing a list of sites (variable and invariable) that - did not pass the SNP calling criteria + description: File containing a list of sites (variable and invariable) + that did not pass the SNP calling criteria pattern: "*BS.txt.gz" optional: true ontologies: - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: http://edamontology.org/format_3989 + versions_poolsnp: + - - ${task.process}: + type: string + description: The name of the process + - poolsnp: + type: string + description: The name of the tool + - echo 1.0.1: + type: eval + description: The expression to obtain the version of the tool +topics: versions: - - versions.yml: - type: file - description: File containing software versions - pattern: "versions.yml" - ontologies: - - edam: http://edamontology.org/format_3750 # YAML + - - ${task.process}: + type: string + description: The name of the process + - poolsnp: + type: string + description: The name of the tool + - echo 1.0.1: + type: eval + description: The expression to obtain the version of the tool authors: - "@abhilesh" maintainers: diff --git a/modules/nf-core/poolsnp/tests/main.nf.test b/modules/nf-core/poolsnp/tests/main.nf.test index 866bd10000b5..174d57cd465f 100644 --- a/modules/nf-core/poolsnp/tests/main.nf.test +++ b/modules/nf-core/poolsnp/tests/main.nf.test @@ -41,11 +41,7 @@ nextflow_process { [ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) ] - input[2] = [ - [ id:'test' ], - 0.7, - [] - ] + input[2] = [ [ id:'test' ], 0.7, [] ] """ } } @@ -54,11 +50,10 @@ nextflow_process { assertAll( { assert process.success }, { assert snapshot( - process.out.versions, - path(process.out.vcf[0][1]).vcf.variantsMD5, - process.out.max_cov - ).match() - } + process.out.vcf.collect{meta, vcf -> file(vcf).name + ':variantsMD5,' + path(vcf).vcf.variantsMD5}, + process.out.max_cov, + process.out.findAll { key, val -> key.startsWith("versions")} + ).match() } ) } } @@ -73,10 +68,10 @@ nextflow_process { [ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) ] - input[2] = Channel.of([ + input[2] = channel.of([ [ id:'test' ], '', - ]).combine( Channel.of("MT192765.1\t98").collectFile( name:'max_cov.tsv', newLine: true )) + ]).combine(channel.of("MT192765.1\t98").collectFile( name:'max_cov.tsv', newLine: true )) """ } } @@ -85,10 +80,9 @@ nextflow_process { assertAll( { assert process.success }, { assert snapshot( - process.out.versions, - path(process.out.vcf[0][1]).vcf.variantsMD5 - ).match() - } + process.out.vcf.collect{meta, vcf -> file(vcf).name + ':variantsMD5,' + path(vcf).vcf.variantsMD5}, + process.out.findAll { key, val -> key.startsWith("versions")} + ).match() } ) } } @@ -105,11 +99,7 @@ nextflow_process { [ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) ] - input[2] = [ - [ id:'test' ], // meta map - 0.7, - [] - ] + input[2] = [ [ id:'test' ], 0.7, [] ] """ } } @@ -117,12 +107,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot( - process.out.versions, - path(process.out.vcf[0][1]).vcf.variantsMD5, - process.out.max_cov - ).match() - } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -139,10 +124,10 @@ nextflow_process { [ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true) ] - input[2] = Channel.of([ + input[2] = channel.of([ [ id:'test' ], '', - ]).combine( Channel.of("MT192765.1\t98").collectFile( name:'max_cov.tsv', newLine: true )) + ]).combine(channel.of("MT192765.1\t98").collectFile( name:'max_cov.tsv', newLine: true )) """ } } @@ -150,11 +135,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot( - process.out.versions, - path(process.out.vcf[0][1]).vcf.variantsMD5 - ).match() - } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } diff --git a/modules/nf-core/poolsnp/tests/main.nf.test.snap b/modules/nf-core/poolsnp/tests/main.nf.test.snap index 98a44255939b..b5acc00984c6 100644 --- a/modules/nf-core/poolsnp/tests/main.nf.test.snap +++ b/modules/nf-core/poolsnp/tests/main.nf.test.snap @@ -1,44 +1,88 @@ { "sarscov2 - mpileup - max_cov - stub": { "content": [ - [ - "versions.yml:md5,2bc174a10a560499c04e6b35ce86fed0" - ], - "d41d8cd98f00b204e9800998ecf8427e", - [ - [ - { - "id": "test" - }, - "test_cov-0.7.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + { + "bad_sites": [ + [ + { + "id": "test" + }, + "test_BS.txt.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "max_cov": [ + [ + { + "id": "test" + }, + "test_cov-0.7.txt:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "vcf": [ + [ + { + "id": "test" + }, + "test.vcf.gz:md5,4a36fe59dc6865cd5ee9e7ecd936106e" + ] + ], + "versions_poolsnp": [ + [ + "POOLSNP", + "poolsnp", + "1.0.1" + ] ] - ] + } ], + "timestamp": "2026-07-10T12:39:34.366530844", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.6" - }, - "timestamp": "2025-05-12T17:14:40.699184098" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "sarscov2 - mpileup - max_cov_file - stub": { "content": [ - [ - "versions.yml:md5,2bc174a10a560499c04e6b35ce86fed0" - ], - "d41d8cd98f00b204e9800998ecf8427e" + { + "bad_sites": [ + [ + { + "id": "test" + }, + "test_BS.txt.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + ] + ], + "max_cov": [ + + ], + "vcf": [ + [ + { + "id": "test" + }, + "test.vcf.gz:md5,4a36fe59dc6865cd5ee9e7ecd936106e" + ] + ], + "versions_poolsnp": [ + [ + "POOLSNP", + "poolsnp", + "1.0.1" + ] + ] + } ], + "timestamp": "2026-07-10T12:39:41.383549402", "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" - }, - "timestamp": "2024-08-16T15:56:12.188459" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "sarscov2 - mpileup - max_cov": { "content": [ [ - "versions.yml:md5,2bc174a10a560499c04e6b35ce86fed0" + "test.vcf.gz:variantsMD5,46e2d27f13d700dbdb061091308f1555" ], - "46e2d27f13d700dbdb061091308f1555", [ [ { @@ -46,25 +90,42 @@ }, "test-cov-0.7.txt:md5,ccbb119522c09daa976a9015ba999329" ] - ] + ], + { + "versions_poolsnp": [ + [ + "POOLSNP", + "poolsnp", + "1.0.1" + ] + ] + } ], + "timestamp": "2026-07-10T12:35:13.144434066", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.6" - }, - "timestamp": "2025-05-12T17:14:11.680742" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "sarscov2 - mpileup - max_cov_file": { "content": [ [ - "versions.yml:md5,2bc174a10a560499c04e6b35ce86fed0" + "test.vcf.gz:variantsMD5,46e2d27f13d700dbdb061091308f1555" ], - "46e2d27f13d700dbdb061091308f1555" + { + "versions_poolsnp": [ + [ + "POOLSNP", + "poolsnp", + "1.0.1" + ] + ] + } ], + "timestamp": "2026-07-10T12:35:21.149708827", "meta": { - "nf-test": "0.8.4", - "nextflow": "24.04.4" - }, - "timestamp": "2024-08-16T15:31:24.140061" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/addreplacerg/environment.yml b/modules/nf-core/samtools/addreplacerg/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/addreplacerg/environment.yml +++ b/modules/nf-core/samtools/addreplacerg/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/addreplacerg/main.nf b/modules/nf-core/samtools/addreplacerg/main.nf index 3c05482cc4b7..16d970af6c29 100644 --- a/modules/nf-core/samtools/addreplacerg/main.nf +++ b/modules/nf-core/samtools/addreplacerg/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_ADDREPLACERG { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input), path(index), val(read_group) @@ -15,9 +15,7 @@ process SAMTOOLS_ADDREPLACERG { tuple val(meta), path("${prefix}.bam"), emit: bam, optional: true tuple val(meta), path("${prefix}.cram"), emit: cram, optional: true tuple val(meta), path("${prefix}.sam"), emit: sam, optional: true - tuple val(meta), path("${prefix}.bam.bai"), emit: bai, optional: true - tuple val(meta), path("${prefix}.bam.csi"), emit: csi, optional: true - tuple val(meta), path("${prefix}.cram.crai"), emit: crai, optional: true + tuple val(meta), path("${prefix}.${file_type}.{crai,csi,bai}"), emit: index, optional: true tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), topic: versions, emit: versions_samtools when: @@ -27,7 +25,7 @@ process SAMTOOLS_ADDREPLACERG { def args = task.ext.args ?: '' def reference = fasta ? "--reference ${fasta}" : '' def read_group_arg = read_group ? "-r ${read_group}" : '' - def file_type = args =~ /--output-fmt\s+sam|-O\s+sam/ + file_type = args =~ /--output-fmt\s+sam|-O\s+sam/ ? "sam" : args =~ /--output-fmt\s+bam|-O\s+bam/ ? "bam" diff --git a/modules/nf-core/samtools/addreplacerg/meta.yml b/modules/nf-core/samtools/addreplacerg/meta.yml index 92e76010cd7a..2c187c2cf696 100644 --- a/modules/nf-core/samtools/addreplacerg/meta.yml +++ b/modules/nf-core/samtools/addreplacerg/meta.yml @@ -90,38 +90,16 @@ output: description: SAM file with updated RG tags pattern: "${prefix}.sam" ontologies: [] - bai: + index: - - meta: type: map description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - "${prefix}.bam.bai": + - "${prefix}.${file_type}.{crai,csi,bai}": type: file - description: BAM index file - pattern: "${prefix}.bam.bai" - ontologies: [] - csi: - - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - "${prefix}.bam.csi": - type: file - description: BAM CSI index file - pattern: "${prefix}.bam.csi" - ontologies: [] - crai: - - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - "${prefix}.cram.crai": - type: file - description: CRAM index file - pattern: "${prefix}.cram.crai" + description: Index file for BAM/CRAM/SAM + pattern: "${prefix}.${file_type}.{crai,csi,bai}" ontologies: [] versions_samtools: - - ${task.process}: @@ -148,3 +126,4 @@ authors: - "@sainsachiko" maintainers: - "@sainsachiko" + - "@matthdsm" diff --git a/modules/nf-core/samtools/addreplacerg/tests/main.nf.test b/modules/nf-core/samtools/addreplacerg/tests/main.nf.test index 6a97c216499b..e86f3af28c36 100644 --- a/modules/nf-core/samtools/addreplacerg/tests/main.nf.test +++ b/modules/nf-core/samtools/addreplacerg/tests/main.nf.test @@ -34,9 +34,10 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("homo-sapiens - cram") { @@ -68,12 +69,14 @@ nextflow_process { } then { - assert snapshot( - sanitizeOutput(process.out, unstableKeys: ["crai","cram"]), - process.out.cram.collect{ meta, cram -> bam(cram).getHeader().collect{ l -> l.replaceAll(/\tUR:[^\t\n]+/, '') } }, - ).match() + assert process.success + assertAll( + { assert snapshot( + sanitizeOutput(process.out, unstableKeys: ["index","cram"]), + process.out.cram.collect{ meta, cram -> bam(cram).getHeader().collect{ l -> l.replaceAll(/\tUR:[^\t\n]+/, '') } }, + ).match() } + ) } - } test("homo-sapiens - cram - output bam") { @@ -105,9 +108,11 @@ nextflow_process { } then { - assert snapshot(process.out).match() + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } @@ -131,9 +136,9 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } - } diff --git a/modules/nf-core/samtools/addreplacerg/tests/main.nf.test.snap b/modules/nf-core/samtools/addreplacerg/tests/main.nf.test.snap index 0057e72b2f7e..ae7c5975dc99 100644 --- a/modules/nf-core/samtools/addreplacerg/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/addreplacerg/tests/main.nf.test.snap @@ -2,39 +2,6 @@ "sarscov2 - bam - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - - ], - "4": [ - - ], - "5": [ - - ], - "6": [ - [ - "SAMTOOLS_ADDREPLACERG", - "samtools", - "1.23.1" - ] - ], - "bai": [ - - ], "bam": [ [ { @@ -42,14 +9,11 @@ }, "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" ] - ], - "crai": [ - ], "cram": [ ], - "csi": [ + "index": [ ], "sam": [ @@ -59,73 +23,32 @@ [ "SAMTOOLS_ADDREPLACERG", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:47:55.607754847", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:52:32.260959" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "homo-sapiens - cram - output bam": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,846138b9dabb5430a9f20198f5e735fd" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - - ], - "4": [ - [ - { - "id": "test" - }, - "test.bam.csi:md5,8b681445a826210081c8446f705031e7" - ] - ], - "5": [ - - ], - "6": [ - [ - "SAMTOOLS_ADDREPLACERG", - "samtools", - "1.23.1" - ] - ], - "bai": [ - - ], "bam": [ [ { "id": "test" }, - "test.bam:md5,846138b9dabb5430a9f20198f5e735fd" + "test.bam:md5,62b17148e4d01ed5e6037944410f55cf" ] - ], - "crai": [ - ], "cram": [ ], - "csi": [ + "index": [ [ { "id": "test" @@ -140,44 +63,38 @@ [ "SAMTOOLS_ADDREPLACERG", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:47:51.337152318", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:52:27.599594" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "homo-sapiens - cram": { "content": [ { - "bai": [ - - ], "bam": [ ], - "crai": [ + "cram": [ [ { "id": "test" }, - "test.cram.crai" + "test.cram" ] ], - "cram": [ + "index": [ [ { "id": "test" }, - "test.cram" + "test.cram.crai" ] - ], - "csi": [ - ], "sam": [ @@ -186,7 +103,7 @@ [ "SAMTOOLS_ADDREPLACERG", "samtools", - "1.23.1" + "1.24" ] ] }, @@ -197,67 +114,31 @@ "@RG\tID:1\tPU:1\tSM:testN\tLB:testN\tPL:illumina\tDS:replaced_read_group_test", "@PG\tID:bwa\tPN:bwa\tVN:0.7.17-r1188\tCL:bwa mem -K 100000000 -R @RG\\tID:1\\tPU:1\\tSM:testN\\tLB:testN\\tPL:illumina -t 19 -M genome.fasta test_1.retry.fq.gz test_2.retry.fq.gz", "@PG\tID:samtools\tPN:samtools\tPP:bwa\tVN:1.13\tCL:samtools view -C -T ../../genome/genome.fasta -o test.paired_end.sorted.cram test.paired_end.sorted.bam", - "@PG\tID:samtools.1\tPN:samtools\tPP:samtools\tVN:1.23.1\tCL:samtools addreplacerg --threads 1 --write-index -O cram,version=3.0 -w -r @RG\\tID:1\\tPU:1\\tSM:testN\\tLB:testN\\tPL:illumina\\tDS:replaced_read_group_test --reference genome.fasta -o test.cram test.paired_end.sorted.cram" + "@PG\tID:samtools.1\tPN:samtools\tPP:samtools\tVN:1.24\tCL:samtools addreplacerg --threads 1 --write-index -O cram,version=3.0 -w -r @RG\\tID:1\\tPU:1\\tSM:testN\\tLB:testN\\tPL:illumina\\tDS:replaced_read_group_test --reference genome.fasta -o test.cram test.paired_end.sorted.cram" ] ] ], + "timestamp": "2026-07-09T22:03:13.90612", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:52:22.403292" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "sarscov2 - bam": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,1037c79f9a7c11142888c53f4b58a8a9" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - - ], - "4": [ - - ], - "5": [ - - ], - "6": [ - [ - "SAMTOOLS_ADDREPLACERG", - "samtools", - "1.23.1" - ] - ], - "bai": [ - - ], "bam": [ [ { "id": "test" }, - "test.bam:md5,1037c79f9a7c11142888c53f4b58a8a9" + "test.bam:md5,3971cd96ae6ae8e011cdff3dd1c5b9b5" ] - ], - "crai": [ - ], "cram": [ ], - "csi": [ + "index": [ ], "sam": [ @@ -267,15 +148,15 @@ [ "SAMTOOLS_ADDREPLACERG", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:47:41.720356463", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:52:16.302449" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/ampliconclip/environment.yml b/modules/nf-core/samtools/ampliconclip/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/ampliconclip/environment.yml +++ b/modules/nf-core/samtools/ampliconclip/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/ampliconclip/main.nf b/modules/nf-core/samtools/ampliconclip/main.nf index ba16df0eab09..4c865cb0c438 100644 --- a/modules/nf-core/samtools/ampliconclip/main.nf +++ b/modules/nf-core/samtools/ampliconclip/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_AMPLICONCLIP { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(bam) diff --git a/modules/nf-core/samtools/ampliconclip/tests/main.nf.test b/modules/nf-core/samtools/ampliconclip/tests/main.nf.test index efccf35411cb..c55e63a2d20d 100644 --- a/modules/nf-core/samtools/ampliconclip/tests/main.nf.test +++ b/modules/nf-core/samtools/ampliconclip/tests/main.nf.test @@ -29,11 +29,12 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out, unstableKeys:["bam"])).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out, unstableKeys:["bam"])).match() } + ) } } - test("sarscov2 - bam, bed, save_cliprejects") { when { @@ -54,7 +55,9 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out, unstableKeys:["bam"])).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out, unstableKeys:["bam"])).match() } + ) } } @@ -78,7 +81,9 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out, unstableKeys:["bam"])).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out, unstableKeys:["bam"])).match() } + ) } } } diff --git a/modules/nf-core/samtools/ampliconclip/tests/main.nf.test.snap b/modules/nf-core/samtools/ampliconclip/tests/main.nf.test.snap index e9fb5bf57414..984e3d35f458 100644 --- a/modules/nf-core/samtools/ampliconclip/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/ampliconclip/tests/main.nf.test.snap @@ -15,7 +15,7 @@ { "id": "test" }, - "test.cliprejects.bam:md5,37566dfd5f2bbf85034585ee3622e1ad" + "test.cliprejects.bam:md5,51dac512bd1654a7d7784157db2992ba" ] ], "stats": [ @@ -25,16 +25,16 @@ [ "SAMTOOLS_AMPLICONCLIP", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-09T20:55:16.335989", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:52:42.268655" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "sarscov2 - bam, bed, save_cliprejects, save_clipstats": { "content": [ @@ -52,7 +52,7 @@ { "id": "test" }, - "test.cliprejects.bam:md5,29bf15b33ee010de4e2c222923f85aa1" + "test.cliprejects.bam:md5,f5e55466b00d3d3fdc2dca10fc774b99" ] ], "stats": [ @@ -67,16 +67,16 @@ [ "SAMTOOLS_AMPLICONCLIP", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-09T20:55:20.896412", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:52:47.030655" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "sarscov2 - bam, bed": { "content": [ @@ -99,15 +99,15 @@ [ "SAMTOOLS_AMPLICONCLIP", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:52:37.397959", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:52:37.397959" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/bam2fq/environment.yml b/modules/nf-core/samtools/bam2fq/environment.yml index 946bb362be8c..b08c7761d83d 100644 --- a/modules/nf-core/samtools/bam2fq/environment.yml +++ b/modules/nf-core/samtools/bam2fq/environment.yml @@ -5,6 +5,7 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 + - conda-forge::xz=5.8.3 diff --git a/modules/nf-core/samtools/bam2fq/main.nf b/modules/nf-core/samtools/bam2fq/main.nf index bbbe3560ab23..d5fde581acc0 100644 --- a/modules/nf-core/samtools/bam2fq/main.nf +++ b/modules/nf-core/samtools/bam2fq/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_BAM2FQ { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/31/315d2445cd42b0f5512fa37965a9c59bc93ae8614b7d105150caece6c61e2e71/data' + : 'community.wave.seqera.io/library/htslib_samtools_xz:1595ae0727655963'}" input: tuple val(meta), path(inputbam) @@ -14,6 +14,7 @@ process SAMTOOLS_BAM2FQ { output: tuple val(meta), path("*.fq.gz"), emit: reads tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), topic: versions, emit: versions_samtools + tuple val("${task.process}"), val("bgzip"), eval('bgzip --version | head -1 | sed "s/bgzip (htslib) //"'), emit: versions_bgzip, topic: versions when: task.ext.when == null || task.ext.when @@ -41,26 +42,30 @@ process SAMTOOLS_BAM2FQ { bam2fq \\ ${args} \\ -@ ${task.cpus} \\ - ${inputbam} | gzip --no-name > ${prefix}_interleaved.fq.gz + ${inputbam} | bgzip > ${prefix}_interleaved.fq.gz """ } stub: - def create_cmd = "echo | gzip >" def prefix = task.ext.prefix ?: "${meta.id}" + def bgzip_command_1 = "echo | bgzip -c > ${prefix}_1.fq.gz" + def bgzip_command_2 = "echo | bgzip -c > ${prefix}_2.fq.gz" + def bgzip_command_other = "echo | bgzip -c > ${prefix}_other.fq.gz" + def bgzip_command_singleton = "echo | bgzip -c > ${prefix}_singleton.fq.gz" + def bgzip_command_interleaved = "echo | bgzip -c > ${prefix}_interleaved.fq.gz" if (split) { """ - ${create_cmd} ${prefix}_1.fq.gz - ${create_cmd} ${prefix}_2.fq.gz - ${create_cmd} ${prefix}_other.fq.gz - ${create_cmd} ${prefix}_singleton.fq.gz + ${bgzip_command_1} + ${bgzip_command_2} + ${bgzip_command_other} + ${bgzip_command_singleton} """ } else { """ - ${create_cmd} ${prefix}_interleaved.fq.gz + ${bgzip_command_interleaved} """ } } diff --git a/modules/nf-core/samtools/bam2fq/meta.yml b/modules/nf-core/samtools/bam2fq/meta.yml index 5da41f37133c..1457ba34002a 100644 --- a/modules/nf-core/samtools/bam2fq/meta.yml +++ b/modules/nf-core/samtools/bam2fq/meta.yml @@ -57,6 +57,16 @@ output: - samtools version | sed '1!d;s/.* //': type: eval description: The expression to obtain the version of the tool + versions_bgzip: + - - ${task.process}: + type: string + description: The name of the process + - bgzip: + type: string + description: The name of the tool + - bgzip --version | head -1 | sed "s/bgzip (htslib) //": + type: eval + description: The expression to obtain the version of the tool topics: versions: - - ${task.process}: @@ -68,6 +78,15 @@ topics: - samtools version | sed '1!d;s/.* //': type: eval description: The expression to obtain the version of the tool + - - ${task.process}: + type: string + description: The name of the process + - bgzip: + type: string + description: The name of the tool + - bgzip --version | head -1 | sed "s/bgzip (htslib) //": + type: eval + description: The expression to obtain the version of the tool authors: - "@lescai" maintainers: diff --git a/modules/nf-core/samtools/bam2fq/tests/main.nf.test b/modules/nf-core/samtools/bam2fq/tests/main.nf.test index 80f74c4a34be..6877f69759c5 100644 --- a/modules/nf-core/samtools/bam2fq/tests/main.nf.test +++ b/modules/nf-core/samtools/bam2fq/tests/main.nf.test @@ -29,9 +29,10 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("bam_split") { @@ -52,23 +53,25 @@ nextflow_process { then { assert process.success - assert snapshot( - process.out.reads.collect{ - meta, read_gz -> - [ meta, read_gz.collect{ read_file -> - if (read_file ==~ /.*(other|singleton)\.fq\.gz$/) { - return file(read_file).name - } else { - return read_file - } - }] - }, - process.out.versions_samtools - ).match() + assertAll( + { assert snapshot( + process.out.reads.collect{ + meta, read_gz -> + [ meta, read_gz.collect{ read_file -> + if (read_file ==~ /.*(other|singleton)\.fq\.gz$/) { + return file(read_file).name + } else { + return read_file + } + }] + }, + process.out.findAll { key, val -> key.startsWith("versions")} + ).match() } + ) } } - test("bam -- stub") { + test("bam - stub") { options "-stub" when { @@ -87,12 +90,13 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } - test("bam_split -- stub") { + test("bam_split - stub") { options "-stub" when { @@ -111,7 +115,9 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } } diff --git a/modules/nf-core/samtools/bam2fq/tests/main.nf.test.snap b/modules/nf-core/samtools/bam2fq/tests/main.nf.test.snap index 745114fdb4ad..04477218fa33 100644 --- a/modules/nf-core/samtools/bam2fq/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/bam2fq/tests/main.nf.test.snap @@ -1,8 +1,8 @@ { - "bam -- stub": { + "bam - stub": { "content": [ { - "0": [ + "reads": [ [ { "id": "test" @@ -10,35 +10,27 @@ "test_interleaved.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], - "1": [ + "versions_bgzip": [ [ "SAMTOOLS_BAM2FQ", - "samtools", - "1.23.1" - ] - ], - "reads": [ - [ - { - "id": "test" - }, - "test_interleaved.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + "bgzip", + "1.24" ] ], "versions_samtools": [ [ "SAMTOOLS_BAM2FQ", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T11:15:14.205487037", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:53:04.038367" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "bam_split": { "content": [ @@ -55,65 +47,33 @@ ] ] ], - [ - [ - "SAMTOOLS_BAM2FQ", - "samtools", - "1.23.1" - ] - ] - ], - "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:52:57.34354" - }, - "bam": { - "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test_interleaved.fq.gz:md5,d733e66d29a4b366bf9df8c42f845256" - ] - ], - "1": [ + "versions_bgzip": [ [ "SAMTOOLS_BAM2FQ", - "samtools", - "1.23.1" - ] - ], - "reads": [ - [ - { - "id": "test" - }, - "test_interleaved.fq.gz:md5,d733e66d29a4b366bf9df8c42f845256" + "bgzip", + "1.24" ] ], "versions_samtools": [ [ "SAMTOOLS_BAM2FQ", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T11:15:09.870202496", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:52:52.372133" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - "bam_split -- stub": { + "bam_split - stub": { "content": [ { - "0": [ + "reads": [ [ { "id": "test" @@ -126,39 +86,59 @@ ] ] ], - "1": [ + "versions_bgzip": [ [ "SAMTOOLS_BAM2FQ", - "samtools", - "1.23.1" + "bgzip", + "1.24" ] ], + "versions_samtools": [ + [ + "SAMTOOLS_BAM2FQ", + "samtools", + "1.24" + ] + ] + } + ], + "timestamp": "2026-07-10T11:15:18.570572286", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } + }, + "bam": { + "content": [ + { "reads": [ [ { "id": "test" }, - [ - "test_1.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "test_2.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "test_other.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940", - "test_singleton.fq.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] + "test_interleaved.fq.gz:md5,d733e66d29a4b366bf9df8c42f845256" + ] + ], + "versions_bgzip": [ + [ + "SAMTOOLS_BAM2FQ", + "bgzip", + "1.24" ] ], "versions_samtools": [ [ "SAMTOOLS_BAM2FQ", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T11:15:05.500571948", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:53:09.129553" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/bedcov/environment.yml b/modules/nf-core/samtools/bedcov/environment.yml index 7564b9831860..b0aef3273a8f 100644 --- a/modules/nf-core/samtools/bedcov/environment.yml +++ b/modules/nf-core/samtools/bedcov/environment.yml @@ -3,6 +3,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/bedcov/main.nf b/modules/nf-core/samtools/bedcov/main.nf index c60ef825490e..1a75ede475e3 100644 --- a/modules/nf-core/samtools/bedcov/main.nf +++ b/modules/nf-core/samtools/bedcov/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_BEDCOV { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input), path(input_index) diff --git a/modules/nf-core/samtools/bedcov/tests/main.nf.test b/modules/nf-core/samtools/bedcov/tests/main.nf.test index 8d4dffcb628f..1edf808d5d86 100644 --- a/modules/nf-core/samtools/bedcov/tests/main.nf.test +++ b/modules/nf-core/samtools/bedcov/tests/main.nf.test @@ -34,9 +34,10 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("sarscov2 - bam_input - stub") { @@ -66,9 +67,10 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("homo_sapiens - cram_input") { @@ -96,8 +98,9 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } } diff --git a/modules/nf-core/samtools/bedcov/tests/main.nf.test.snap b/modules/nf-core/samtools/bedcov/tests/main.nf.test.snap index 570b64af0a50..07fbfa4e06e5 100644 --- a/modules/nf-core/samtools/bedcov/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/bedcov/tests/main.nf.test.snap @@ -2,21 +2,6 @@ "sarscov2 - bam_input": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.tsv:md5,5a675c97b1c5233c2cee98749778d6ba" - ] - ], - "1": [ - [ - "SAMTOOLS_BEDCOV", - "samtools", - "1.23.1" - ] - ], "coverage": [ [ { @@ -29,35 +14,20 @@ [ "SAMTOOLS_BEDCOV", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:48:32.169383532", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:53:15.147348" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "sarscov2 - bam_input - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - [ - "SAMTOOLS_BEDCOV", - "samtools", - "1.23.1" - ] - ], "coverage": [ [ { @@ -70,35 +40,20 @@ [ "SAMTOOLS_BEDCOV", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:48:36.386730857", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:53:19.973684" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "homo_sapiens - cram_input": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.tsv:md5,6dcebba3a5846db5ac1b797a5dc5a720" - ] - ], - "1": [ - [ - "SAMTOOLS_BEDCOV", - "samtools", - "1.23.1" - ] - ], "coverage": [ [ { @@ -111,15 +66,15 @@ [ "SAMTOOLS_BEDCOV", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:48:40.950653853", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:53:25.531366" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/bgzip/environment.yml b/modules/nf-core/samtools/bgzip/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/bgzip/environment.yml +++ b/modules/nf-core/samtools/bgzip/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/bgzip/main.nf b/modules/nf-core/samtools/bgzip/main.nf index 87b33350e2af..8cd2556a3dfa 100644 --- a/modules/nf-core/samtools/bgzip/main.nf +++ b/modules/nf-core/samtools/bgzip/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_BGZIP { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(infile) diff --git a/modules/nf-core/samtools/bgzip/tests/main.nf.test.snap b/modules/nf-core/samtools/bgzip/tests/main.nf.test.snap index 8a7e11e522a4..113bd5a449e0 100644 --- a/modules/nf-core/samtools/bgzip/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/bgzip/tests/main.nf.test.snap @@ -15,7 +15,7 @@ [ "SAMTOOLS_BGZIP", "samtools", - "1.23.1" + "1.24" ] ], "output": [ @@ -31,7 +31,7 @@ [ "SAMTOOLS_BGZIP", "samtools", - "1.23.1" + "1.24" ] ] } @@ -58,7 +58,7 @@ [ "SAMTOOLS_BGZIP", "samtools", - "1.23.1" + "1.24" ] ], "output": [ @@ -74,7 +74,7 @@ [ "SAMTOOLS_BGZIP", "samtools", - "1.23.1" + "1.24" ] ] } @@ -101,7 +101,7 @@ [ "SAMTOOLS_BGZIP", "samtools", - "1.23.1" + "1.24" ] ], "output": [ @@ -117,7 +117,7 @@ [ "SAMTOOLS_BGZIP", "samtools", - "1.23.1" + "1.24" ] ] } @@ -144,7 +144,7 @@ [ "SAMTOOLS_BGZIP", "samtools", - "1.23.1" + "1.24" ] ], "output": [ @@ -160,7 +160,7 @@ [ "SAMTOOLS_BGZIP", "samtools", - "1.23.1" + "1.24" ] ] } @@ -187,7 +187,7 @@ [ "SAMTOOLS_BGZIP", "samtools", - "1.23.1" + "1.24" ] ], "output": [ @@ -203,7 +203,7 @@ [ "SAMTOOLS_BGZIP", "samtools", - "1.23.1" + "1.24" ] ] } @@ -230,7 +230,7 @@ [ "SAMTOOLS_BGZIP", "samtools", - "1.23.1" + "1.24" ] ], "output": [ @@ -246,7 +246,7 @@ [ "SAMTOOLS_BGZIP", "samtools", - "1.23.1" + "1.24" ] ] } diff --git a/modules/nf-core/samtools/calmd/environment.yml b/modules/nf-core/samtools/calmd/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/calmd/environment.yml +++ b/modules/nf-core/samtools/calmd/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/calmd/main.nf b/modules/nf-core/samtools/calmd/main.nf index b5dd2e0b92cf..30ac5b7e7ed3 100644 --- a/modules/nf-core/samtools/calmd/main.nf +++ b/modules/nf-core/samtools/calmd/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_CALMD { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(bam) diff --git a/modules/nf-core/samtools/calmd/tests/main.nf.test b/modules/nf-core/samtools/calmd/tests/main.nf.test index f89ff18834dd..2df16eda7a3b 100644 --- a/modules/nf-core/samtools/calmd/tests/main.nf.test +++ b/modules/nf-core/samtools/calmd/tests/main.nf.test @@ -27,11 +27,13 @@ nextflow_process { } then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } - test("bam_stub") { + test("bam - stub") { options "-stub" @@ -52,7 +54,9 @@ nextflow_process { } then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } } diff --git a/modules/nf-core/samtools/calmd/tests/main.nf.test.snap b/modules/nf-core/samtools/calmd/tests/main.nf.test.snap index 21a7b581f3a6..05ead1555e84 100644 --- a/modules/nf-core/samtools/calmd/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/calmd/tests/main.nf.test.snap @@ -1,84 +1,54 @@ { - "bam": { + "bam - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,f1fafd38db06c2ff5e30821a501958db" - ] - ], - "1": [ - [ - "SAMTOOLS_CALMD", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { "id": "test" }, - "test.bam:md5,f1fafd38db06c2ff5e30821a501958db" + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "versions_samtools": [ [ "SAMTOOLS_CALMD", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:48:57.065822733", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:53:57.624841" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - "bam_stub": { + "bam": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - [ - "SAMTOOLS_CALMD", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { "id": "test" }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.bam:md5,1c52f0be4aa78c83aa9ed1731b67420a" ] ], "versions_samtools": [ [ "SAMTOOLS_CALMD", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:48:52.846551121", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:54:02.599583" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/cat/environment.yml b/modules/nf-core/samtools/cat/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/cat/environment.yml +++ b/modules/nf-core/samtools/cat/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/cat/main.nf b/modules/nf-core/samtools/cat/main.nf index b2cb9dab7157..f0c9680e50c9 100644 --- a/modules/nf-core/samtools/cat/main.nf +++ b/modules/nf-core/samtools/cat/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_CAT { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input_files, stageAs: "?/*") @@ -31,7 +31,7 @@ process SAMTOOLS_CAT { """ stub: - prefix = task.ext.suffix ? "${meta.id}${task.ext.suffix}" : "${meta.id}" + prefix = task.ext.prefix ?: "${meta.id}" def file_type = input_files instanceof List ? input_files[0].getExtension() : input_files.getExtension() """ touch ${prefix}.${file_type} diff --git a/modules/nf-core/samtools/cat/tests/main.nf.test b/modules/nf-core/samtools/cat/tests/main.nf.test index 7910f65da0ff..88ac8dee0bc4 100644 --- a/modules/nf-core/samtools/cat/tests/main.nf.test +++ b/modules/nf-core/samtools/cat/tests/main.nf.test @@ -25,11 +25,13 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } - test("bams_stub") { + test("bams - stub") { options "-stub" @@ -47,7 +49,9 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } } diff --git a/modules/nf-core/samtools/cat/tests/main.nf.test.snap b/modules/nf-core/samtools/cat/tests/main.nf.test.snap index 6fa0fe00a7c0..e0033dcf881c 100644 --- a/modules/nf-core/samtools/cat/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/cat/tests/main.nf.test.snap @@ -1,31 +1,13 @@ { - "bams_stub": { + "bams": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - - ], - "2": [ - [ - "SAMTOOLS_CAT", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { "id": "test" }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.bam:md5,5212d30e394eb12342b79bf33494f8bf" ] ], "cram": [ @@ -35,44 +17,26 @@ [ "SAMTOOLS_CAT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:49:02.066757629", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:54:12.840724" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - "bams": { + "bams - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,51cc82f41b45f03a212bd062d01ba53c" - ] - ], - "1": [ - - ], - "2": [ - [ - "SAMTOOLS_CAT", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { "id": "test" }, - "test.bam:md5,51cc82f41b45f03a212bd062d01ba53c" + "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "cram": [ @@ -82,15 +46,15 @@ [ "SAMTOOLS_CAT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:49:06.815930151", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:54:07.686034" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/collate/environment.yml b/modules/nf-core/samtools/collate/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/collate/environment.yml +++ b/modules/nf-core/samtools/collate/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/collate/main.nf b/modules/nf-core/samtools/collate/main.nf index accc33e3d58b..fdaea19ab56e 100644 --- a/modules/nf-core/samtools/collate/main.nf +++ b/modules/nf-core/samtools/collate/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_COLLATE { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input) diff --git a/modules/nf-core/samtools/collate/tests/main.nf.test b/modules/nf-core/samtools/collate/tests/main.nf.test index b2dedc717436..328df879291d 100644 --- a/modules/nf-core/samtools/collate/tests/main.nf.test +++ b/modules/nf-core/samtools/collate/tests/main.nf.test @@ -25,9 +25,10 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("homo_sapiens - cram + fasta") { @@ -50,13 +51,16 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } - test("sarscov2 - bam -- stub") { + test("sarscov2 - bam - stub") { + options "-stub" + when { process { """ @@ -71,9 +75,9 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } - } diff --git a/modules/nf-core/samtools/collate/tests/main.nf.test.snap b/modules/nf-core/samtools/collate/tests/main.nf.test.snap index 2015f36272e7..aab14f93a43a 100644 --- a/modules/nf-core/samtools/collate/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/collate/tests/main.nf.test.snap @@ -1,28 +1,7 @@ { - "sarscov2 - bam -- stub": { + "sarscov2 - bam - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - [ - "SAMTOOLS_COLLATE", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { @@ -41,47 +20,26 @@ [ "SAMTOOLS_COLLATE", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:49:22.882792414", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:54:33.906744" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "sarscov2 - bam": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,08fbcc375d163673914a20b194d30cd4" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - [ - "SAMTOOLS_COLLATE", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { "id": "test" }, - "test.bam:md5,08fbcc375d163673914a20b194d30cd4" + "test.bam:md5,ef25dcad67170c5650075baa324d7c75" ] ], "cram": [ @@ -94,47 +52,26 @@ [ "SAMTOOLS_COLLATE", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:49:12.68456685", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:54:19.629466" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "homo_sapiens - cram + fasta": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,1105a086de28497377784308ce5813a2" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - [ - "SAMTOOLS_COLLATE", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { "id": "test" }, - "test.bam:md5,1105a086de28497377784308ce5813a2" + "test.bam:md5,6c96088876faaa71977d4c6b74baa40f" ] ], "cram": [ @@ -147,15 +84,15 @@ [ "SAMTOOLS_COLLATE", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:49:18.65629476", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:54:26.565516" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/collatefastq/environment.yml b/modules/nf-core/samtools/collatefastq/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/collatefastq/environment.yml +++ b/modules/nf-core/samtools/collatefastq/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/collatefastq/main.nf b/modules/nf-core/samtools/collatefastq/main.nf index 5be0b1739eb1..cd6d0c75a020 100644 --- a/modules/nf-core/samtools/collatefastq/main.nf +++ b/modules/nf-core/samtools/collatefastq/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_COLLATEFASTQ { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input) @@ -63,6 +63,6 @@ process SAMTOOLS_COLLATEFASTQ { ${output2command} ${interleavecommand} ${singletoncommand} - ${empty}> ${prefix}_other.fq.gz + echo "" | gzip > ${prefix}_other.fq.gz """ } diff --git a/modules/nf-core/samtools/collatefastq/tests/main.nf.test b/modules/nf-core/samtools/collatefastq/tests/main.nf.test index 5153e5ed609b..ad16d370b803 100644 --- a/modules/nf-core/samtools/collatefastq/tests/main.nf.test +++ b/modules/nf-core/samtools/collatefastq/tests/main.nf.test @@ -30,12 +30,13 @@ nextflow_process { then { assert process.success - assert snapshot( - process.out.fastq, - ["versions_samtools": process.out.versions_samtools] - ).match() + assertAll( + { assert snapshot( + process.out.fastq, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) } - } test("human - bam - single_end") { @@ -59,12 +60,13 @@ nextflow_process { then { assert process.success - assert snapshot( - process.out.fastq_other, - ["versions_samtools": process.out.versions_samtools] - ).match() + assertAll( + { assert snapshot( + process.out.fastq_other, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) } - } test("human - cram") { @@ -88,12 +90,13 @@ nextflow_process { then { assert process.success - assert snapshot( - process.out.fastq, - ["versions_samtools": process.out.versions_samtools] - ).match() + assertAll( + { assert snapshot( + process.out.fastq, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) } - } test("human - bam - paired_end - interleaved") { @@ -117,18 +120,21 @@ nextflow_process { then { assert process.success - assert snapshot( - process.out.fastq_interleaved, - process.out.fastq_singleton, - process.out.fastq, - ["versions_samtools": process.out.versions_samtools] - ).match() + assertAll( + { assert snapshot( + process.out.fastq_interleaved, + process.out.fastq_singleton, + process.out.fastq, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) } - } - test("human - bam - paired_end -stub") { + test("human - bam - paired_end - stub") { + options "-stub" + when { process { """ @@ -147,13 +153,17 @@ nextflow_process { } then { - assert snapshot(sanitizeOutput(process.out)).match() + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("human - bam - single_end - stub") { + options "-stub" + when { process { """ @@ -172,13 +182,17 @@ nextflow_process { } then { - assert snapshot(sanitizeOutput(process.out)).match() + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("human - cram - stub") { + options "-stub" + when { process { """ @@ -197,13 +211,17 @@ nextflow_process { } then { - assert snapshot(sanitizeOutput(process.out)).match() + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("human - bam - paired_end - interleaved - stub") { + options "-stub" + when { process { """ @@ -222,9 +240,10 @@ nextflow_process { } then { - assert snapshot(sanitizeOutput(process.out)).match() + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } - } diff --git a/modules/nf-core/samtools/collatefastq/tests/main.nf.test.snap b/modules/nf-core/samtools/collatefastq/tests/main.nf.test.snap index f775f26abb16..5ac7a4c8b391 100644 --- a/modules/nf-core/samtools/collatefastq/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/collatefastq/tests/main.nf.test.snap @@ -28,16 +28,16 @@ [ "SAMTOOLS_COLLATEFASTQ", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:55:27.294329", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:55:27.294329" + } }, "human - bam - single_end": { "content": [ @@ -55,18 +55,18 @@ [ "SAMTOOLS_COLLATEFASTQ", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:54:47.779837", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:54:47.779837" + } }, - "human - bam - paired_end -stub": { + "human - bam - paired_end - stub": { "content": [ { "fastq": [ @@ -103,16 +103,16 @@ [ "SAMTOOLS_COLLATEFASTQ", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:55:10.508565", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:55:10.508565" + } }, "human - cram - stub": { "content": [ @@ -151,16 +151,16 @@ [ "SAMTOOLS_COLLATEFASTQ", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T06:45:48.954352", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:55:21.735541" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } }, "human - cram": { "content": [ @@ -180,16 +180,16 @@ [ "SAMTOOLS_COLLATEFASTQ", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:54:57.148418", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:54:57.148418" + } }, "human - bam - paired_end - interleaved": { "content": [ @@ -212,16 +212,16 @@ [ "SAMTOOLS_COLLATEFASTQ", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:55:04.696205", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:55:04.696205" + } }, "human - bam - single_end - stub": { "content": [ @@ -260,16 +260,16 @@ [ "SAMTOOLS_COLLATEFASTQ", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T06:45:43.846614", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:55:16.10727" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } }, "human - bam - paired_end": { "content": [ @@ -289,15 +289,15 @@ [ "SAMTOOLS_COLLATEFASTQ", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:54:40.873388", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:54:40.873388" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/consensus/environment.yml b/modules/nf-core/samtools/consensus/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/consensus/environment.yml +++ b/modules/nf-core/samtools/consensus/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/consensus/main.nf b/modules/nf-core/samtools/consensus/main.nf index 499cda123fbc..e7c6a0ad89ed 100644 --- a/modules/nf-core/samtools/consensus/main.nf +++ b/modules/nf-core/samtools/consensus/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_CONSENSUS { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input), path(index) diff --git a/modules/nf-core/samtools/consensus/tests/main.nf.test b/modules/nf-core/samtools/consensus/tests/main.nf.test index 01e994a4a9a6..65dee8a97e9f 100644 --- a/modules/nf-core/samtools/consensus/tests/main.nf.test +++ b/modules/nf-core/samtools/consensus/tests/main.nf.test @@ -29,9 +29,10 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("sarscov2 - bam - fastq") { when { @@ -51,9 +52,10 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("sarscov2 - bam - pileup") { @@ -74,9 +76,10 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("sarscov2 - bam - stub") { @@ -100,7 +103,9 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } } diff --git a/modules/nf-core/samtools/consensus/tests/main.nf.test.snap b/modules/nf-core/samtools/consensus/tests/main.nf.test.snap index eba43fa072c7..97d9435538c8 100644 --- a/modules/nf-core/samtools/consensus/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/consensus/tests/main.nf.test.snap @@ -20,16 +20,16 @@ [ "SAMTOOLS_CONSENSUS", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:55:43.737629", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:55:43.737629" + } }, "sarscov2 - bam - stub": { "content": [ @@ -52,16 +52,16 @@ [ "SAMTOOLS_CONSENSUS", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:55:50.353759", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:55:50.353759" + } }, "sarscov2 - bam - fasta": { "content": [ @@ -84,16 +84,16 @@ [ "SAMTOOLS_CONSENSUS", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:55:32.602803", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:55:32.602803" + } }, "sarscov2 - bam - fastq": { "content": [ @@ -116,15 +116,15 @@ [ "SAMTOOLS_CONSENSUS", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:55:37.910389", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:55:37.910389" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/convert/environment.yml b/modules/nf-core/samtools/convert/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/convert/environment.yml +++ b/modules/nf-core/samtools/convert/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/convert/main.nf b/modules/nf-core/samtools/convert/main.nf index 492986db3169..61edbbf923fa 100644 --- a/modules/nf-core/samtools/convert/main.nf +++ b/modules/nf-core/samtools/convert/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_CONVERT { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input), path(index) diff --git a/modules/nf-core/samtools/convert/tests/main.nf.test b/modules/nf-core/samtools/convert/tests/main.nf.test index 638caabeee58..a4848662a8e7 100644 --- a/modules/nf-core/samtools/convert/tests/main.nf.test +++ b/modules/nf-core/samtools/convert/tests/main.nf.test @@ -30,11 +30,13 @@ nextflow_process { then { assert process.success - assert snapshot( - process.out.cram.collect{ meta, cram_file -> [ meta, file(cram_file).name] }, - process.out.crai.collect{ meta, crai_file -> [ meta, file(crai_file).name] }, - ["versions_samtools": process.out.versions_samtools] - ).match() + assertAll( + { assert snapshot( + process.out.cram.collect{ meta, cram_file -> [ meta, file(cram_file).name] }, + process.out.crai.collect{ meta, crai_file -> [ meta, file(crai_file).name] }, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) } } @@ -59,11 +61,13 @@ nextflow_process { then { assert process.success - assert snapshot( - process.out.bam.collect{ meta, bam_file -> [ meta, file(bam_file).name, bam(bam_file).getReadsMD5()] }, - process.out.bai.collect{ meta, bai_file -> [ meta, file(bai_file).name] }, - ["versions_samtools": process.out.versions_samtools] - ).match() + assertAll( + { assert snapshot( + process.out.bam.collect{ meta, bam_file -> [ meta, file(bam_file).name, bam(bam_file).getReadsMD5()] }, + process.out.bai.collect{ meta, bai_file -> [ meta, file(bai_file).name] }, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) } } @@ -90,7 +94,9 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } } diff --git a/modules/nf-core/samtools/convert/tests/main.nf.test.snap b/modules/nf-core/samtools/convert/tests/main.nf.test.snap index 0f5357538cd4..dd23cbb49a13 100644 --- a/modules/nf-core/samtools/convert/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/convert/tests/main.nf.test.snap @@ -22,16 +22,16 @@ [ "SAMTOOLS_CONVERT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:55:56.895841", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:55:56.895841" + } }, "homo_sapiens - [cram, crai], [fasta, fai]": { "content": [ @@ -57,16 +57,16 @@ [ "SAMTOOLS_CONVERT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:56:03.056799", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:56:03.056799" + } }, "sarscov2 - [bam, bai], [fasta, fai] - stub": { "content": [ @@ -97,15 +97,15 @@ [ "SAMTOOLS_CONVERT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:56:09.165934", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:56:09.165934" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/coverage/environment.yml b/modules/nf-core/samtools/coverage/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/coverage/environment.yml +++ b/modules/nf-core/samtools/coverage/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/coverage/main.nf b/modules/nf-core/samtools/coverage/main.nf index e32b8dbf8d64..16006ce772a8 100644 --- a/modules/nf-core/samtools/coverage/main.nf +++ b/modules/nf-core/samtools/coverage/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_COVERAGE { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input), path(input_index) diff --git a/modules/nf-core/samtools/coverage/tests/main.nf.test b/modules/nf-core/samtools/coverage/tests/main.nf.test index c59ba4f805e1..23e5397d0fc7 100644 --- a/modules/nf-core/samtools/coverage/tests/main.nf.test +++ b/modules/nf-core/samtools/coverage/tests/main.nf.test @@ -25,8 +25,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out)).match() } ) } @@ -52,9 +52,9 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -111,7 +111,7 @@ nextflow_process { } - test("test_samtools_coverage_stub") { + test("test_samtools_coverage - stub") { options "-stub" @@ -133,12 +133,10 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out)).match() } ) } - } - } diff --git a/modules/nf-core/samtools/coverage/tests/main.nf.test.snap b/modules/nf-core/samtools/coverage/tests/main.nf.test.snap index a410ed1c7e14..b460093cda22 100644 --- a/modules/nf-core/samtools/coverage/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/coverage/tests/main.nf.test.snap @@ -1,5 +1,5 @@ { - "test_samtools_coverage_stub": { + "test_samtools_coverage - stub": { "content": [ { "coverage": [ @@ -14,7 +14,7 @@ [ "SAMTOOLS_COVERAGE", "samtools", - "1.23.1" + "1.24" ] ] } @@ -40,7 +40,7 @@ [ "SAMTOOLS_COVERAGE", "samtools", - "1.23.1" + "1.24" ] ] } @@ -54,21 +54,6 @@ "test_samtools_coverage_cram": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.txt:md5,ce896534bac51cfcc97e5508ae907e99" - ] - ], - "1": [ - [ - "SAMTOOLS_COVERAGE", - "samtools", - "1.23.1" - ] - ], "coverage": [ [ { @@ -81,15 +66,15 @@ [ "SAMTOOLS_COVERAGE", "samtools", - "1.23.1" + "1.24" ] ] } ], - "timestamp": "2026-03-19T08:56:19.040435", + "timestamp": "2026-07-10T15:50:47.021688859", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" + "nf-test": "0.9.5", + "nextflow": "26.04.4" } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/cramsize/environment.yml b/modules/nf-core/samtools/cramsize/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/cramsize/environment.yml +++ b/modules/nf-core/samtools/cramsize/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/cramsize/main.nf b/modules/nf-core/samtools/cramsize/main.nf index 4d5f5f1399d8..5455f3e284ca 100644 --- a/modules/nf-core/samtools/cramsize/main.nf +++ b/modules/nf-core/samtools/cramsize/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_CRAMSIZE { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(cram) diff --git a/modules/nf-core/samtools/cramsize/tests/main.nf.test b/modules/nf-core/samtools/cramsize/tests/main.nf.test index 51cc694b3e17..4eb3ba379e36 100644 --- a/modules/nf-core/samtools/cramsize/tests/main.nf.test +++ b/modules/nf-core/samtools/cramsize/tests/main.nf.test @@ -24,9 +24,10 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("human - cram - stub") { @@ -46,9 +47,9 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } - } diff --git a/modules/nf-core/samtools/cramsize/tests/main.nf.test.snap b/modules/nf-core/samtools/cramsize/tests/main.nf.test.snap index 66d2a131cbbf..97bd0829eedb 100644 --- a/modules/nf-core/samtools/cramsize/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/cramsize/tests/main.nf.test.snap @@ -14,16 +14,16 @@ [ "SAMTOOLS_CRAMSIZE", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:56:45.485547", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:56:45.485547" + } }, "human - cram": { "content": [ @@ -40,15 +40,15 @@ [ "SAMTOOLS_CRAMSIZE", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:56:38.890749", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:56:38.890749" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/depth/environment.yml b/modules/nf-core/samtools/depth/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/depth/environment.yml +++ b/modules/nf-core/samtools/depth/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/depth/main.nf b/modules/nf-core/samtools/depth/main.nf index 994dfc788e15..a2f2a241d7e2 100644 --- a/modules/nf-core/samtools/depth/main.nf +++ b/modules/nf-core/samtools/depth/main.nf @@ -1,18 +1,17 @@ process SAMTOOLS_DEPTH { - tag "${meta1.id}" + tag "${meta.id}" label 'process_low' conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: - tuple val(meta1), path(bam), path(index) - tuple val(meta2), path(intervals) + tuple val(meta), path(bam), path(index), path(intervals) output: - tuple val(meta1), path("*.tsv"), emit: tsv + tuple val(meta), path("*.tsv"), emit: tsv tuple val("${task.process}"), val('samtools'), eval('samtools version | sed "1!d;s/.* //"'), emit: versions_samtools, topic: versions when: @@ -20,7 +19,7 @@ process SAMTOOLS_DEPTH { script: def args = task.ext.args ?: '' - def prefix = task.ext.prefix ?: "${meta1.id}" + def prefix = task.ext.prefix ?: "${meta.id}" def positions = intervals ? "-b ${intervals}" : "" """ # Note: --threads value represents *additional* CPUs to allocate (total CPUs = 1 + --threads). @@ -34,7 +33,7 @@ process SAMTOOLS_DEPTH { """ stub: - def prefix = task.ext.prefix ?: "${meta1.id}" + def prefix = task.ext.prefix ?: "${meta.id}" """ touch ${prefix}.tsv diff --git a/modules/nf-core/samtools/depth/meta.yml b/modules/nf-core/samtools/depth/meta.yml index 0e5a2be8ff6a..3da87814eea1 100644 --- a/modules/nf-core/samtools/depth/meta.yml +++ b/modules/nf-core/samtools/depth/meta.yml @@ -17,7 +17,7 @@ tools: - "MIT" identifier: biotools:samtools input: - - - meta1: + - - meta: type: map description: | Groovy Map containing sample information @@ -32,11 +32,6 @@ input: description: BAM/CRAM index file pattern: "*.{bai,crai}" ontologies: [] - - - meta2: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test' ] - intervals: type: file description: list of positions or regions in specified bed file @@ -44,7 +39,7 @@ input: ontologies: [] output: tsv: - - - meta1: + - - meta: type: map description: | Groovy Map containing sample information diff --git a/modules/nf-core/samtools/depth/tests/main.nf.test b/modules/nf-core/samtools/depth/tests/main.nf.test index bce3a0ca5c00..abf0dbb84d3d 100644 --- a/modules/nf-core/samtools/depth/tests/main.nf.test +++ b/modules/nf-core/samtools/depth/tests/main.nf.test @@ -17,17 +17,19 @@ nextflow_process { """ input[0] = [ [ id:'test' ], - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam', checkIfExists: true), + [], [] ] - input[1] = [[],[]] """ } } then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } @@ -38,12 +40,9 @@ nextflow_process { """ input[0] = [ [ id:'test' ], - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam', checkIfExists: true), - [] - ] - input[1] = [ - [ id:'bed' ], - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed', checkIfExists: true) + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam', checkIfExists: true), + [], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/multi_intervals.bed', checkIfExists: true) ] """ } @@ -51,29 +50,32 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } - test("test-samtools-depth -- stub") { + test("test-samtools-depth - stub") { options "-stub" when { process { """ input[0] = [ [ id:'test' ], - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.recalibrated.sorted.bam', checkIfExists: true), + [], [] ] - input[1] = [[],[]] """ } } then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } - } diff --git a/modules/nf-core/samtools/depth/tests/main.nf.test.snap b/modules/nf-core/samtools/depth/tests/main.nf.test.snap index 1be81bed296b..e395a87dfeaa 100644 --- a/modules/nf-core/samtools/depth/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/depth/tests/main.nf.test.snap @@ -2,21 +2,6 @@ "test-samtools-depth-intervals": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.tsv:md5,a89e2f8e1b66356c7500599fcadb8784" - ] - ], - "1": [ - [ - "SAMTOOLS_DEPTH", - "samtools", - "1.23.1" - ] - ], "tsv": [ [ { @@ -29,97 +14,67 @@ [ "SAMTOOLS_DEPTH", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:51:30.023276501", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:57:04.203477" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - "test-samtools-depth": { + "test-samtools-depth - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.tsv:md5,722d2c060944d6b96ae5ae00d8074657" - ] - ], - "1": [ - [ - "SAMTOOLS_DEPTH", - "samtools", - "1.23.1" - ] - ], "tsv": [ [ { "id": "test" }, - "test.tsv:md5,722d2c060944d6b96ae5ae00d8074657" + "test.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], "versions_samtools": [ [ "SAMTOOLS_DEPTH", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:51:39.233591968", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:56:55.125056" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - "test-samtools-depth -- stub": { + "test-samtools-depth": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - [ - "SAMTOOLS_DEPTH", - "samtools", - "1.23.1" - ] - ], "tsv": [ [ { "id": "test" }, - "test.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.tsv:md5,722d2c060944d6b96ae5ae00d8074657" ] ], "versions_samtools": [ [ "SAMTOOLS_DEPTH", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:51:20.376246881", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:57:14.281531" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/dict/environment.yml b/modules/nf-core/samtools/dict/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/dict/environment.yml +++ b/modules/nf-core/samtools/dict/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/dict/main.nf b/modules/nf-core/samtools/dict/main.nf index 5d26198865c8..f812e59711d0 100644 --- a/modules/nf-core/samtools/dict/main.nf +++ b/modules/nf-core/samtools/dict/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_DICT { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(fasta) diff --git a/modules/nf-core/samtools/dict/tests/main.nf.test b/modules/nf-core/samtools/dict/tests/main.nf.test index 3e493296e51a..9c2b078dfc67 100644 --- a/modules/nf-core/samtools/dict/tests/main.nf.test +++ b/modules/nf-core/samtools/dict/tests/main.nf.test @@ -23,8 +23,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot( path(process.out.dict[0][1]).readLines()[0], process.out.findAll { key, val -> key.startsWith("versions") } @@ -32,7 +32,6 @@ nextflow_process { } ) } - } test("sarscov2 - fasta - stub") { @@ -53,10 +52,8 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(process.out).match()} + { assert snapshot(sanitizeOutput(process.out)).match() } ) } - } - } diff --git a/modules/nf-core/samtools/dict/tests/main.nf.test.snap b/modules/nf-core/samtools/dict/tests/main.nf.test.snap index a1be1d63890e..53f630a793ba 100644 --- a/modules/nf-core/samtools/dict/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/dict/tests/main.nf.test.snap @@ -2,22 +2,6 @@ "sarscov2 - fasta - stub": { "content": [ { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "genome.fasta.dict:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - [ - "SAMTOOLS_DICT", - "samtools", - "1.23.1" - ] - ], "dict": [ [ { @@ -31,16 +15,16 @@ [ "SAMTOOLS_DICT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:51:47.923681367", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:57:25.259692" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "sarscov2 - fasta": { "content": [ @@ -50,15 +34,15 @@ [ "SAMTOOLS_DICT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:57:20.375172", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:57:20.375172" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/faidx/environment.yml b/modules/nf-core/samtools/faidx/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/faidx/environment.yml +++ b/modules/nf-core/samtools/faidx/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/faidx/main.nf b/modules/nf-core/samtools/faidx/main.nf index 175a53a89164..3925ffafcbad 100644 --- a/modules/nf-core/samtools/faidx/main.nf +++ b/modules/nf-core/samtools/faidx/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_FAIDX { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(fasta), path(fai) diff --git a/modules/nf-core/samtools/faidx/tests/main.nf.test b/modules/nf-core/samtools/faidx/tests/main.nf.test index 9a86db862511..d6693071ab91 100644 --- a/modules/nf-core/samtools/faidx/tests/main.nf.test +++ b/modules/nf-core/samtools/faidx/tests/main.nf.test @@ -31,7 +31,7 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(sanitizeOutput(process.out)).match()} + { assert snapshot(sanitizeOutput(process.out)).match()} ) } } @@ -57,7 +57,7 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(sanitizeOutput(process.out)).match()} + { assert snapshot(sanitizeOutput(process.out)).match()} ) } } @@ -83,14 +83,15 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(sanitizeOutput(process.out)).match()} + { assert snapshot(sanitizeOutput(process.out)).match()} ) } } - test("test_samtools_faidx_stub_fasta") { + test("test_samtools_faidx_fasta - stub") { options "-stub" + when { params { module_args = '-o extract.fa' @@ -110,14 +111,15 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(sanitizeOutput(process.out)).match()} + { assert snapshot(sanitizeOutput(process.out)).match()} ) } } - test("test_samtools_faidx_stub_fai") { + test("test_samtools_faidx_fai - stub") { options "-stub" + when { params { module_args = '' @@ -137,7 +139,7 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(sanitizeOutput(process.out)).match()} + { assert snapshot(sanitizeOutput(process.out)).match()} ) } } @@ -163,7 +165,7 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(sanitizeOutput(process.out)).match()} + { assert snapshot(sanitizeOutput(process.out)).match()} ) } } @@ -189,7 +191,7 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(sanitizeOutput(process.out)).match()} + { assert snapshot(sanitizeOutput(process.out)).match()} ) } } @@ -217,7 +219,7 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(sanitizeOutput(process.out)).match()} + { assert snapshot(sanitizeOutput(process.out)).match()} ) } } @@ -249,5 +251,4 @@ nextflow_process { ) } } - } diff --git a/modules/nf-core/samtools/faidx/tests/main.nf.test.snap b/modules/nf-core/samtools/faidx/tests/main.nf.test.snap index e879d962b895..1d37b20b20c0 100644 --- a/modules/nf-core/samtools/faidx/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/faidx/tests/main.nf.test.snap @@ -1,4 +1,39 @@ { + "test_samtools_faidx_fasta - stub": { + "content": [ + { + "fa": [ + [ + { + "id": "test" + }, + "extract.fa:md5,d41d8cd98f00b204e9800998ecf8427e" + ] + ], + "fai": [ + + ], + "gzi": [ + + ], + "sizes": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_FAIDX", + "samtools", + "1.24" + ] + ] + } + ], + "timestamp": "2026-07-10T16:03:49.706821725", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } + }, "test_samtools_faidx": { "content": [ { @@ -23,16 +58,16 @@ [ "SAMTOOLS_FAIDX", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:57:29.747964", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:57:29.747964" + } }, "test_samtools_faidx_get_sizes_bgzip - stub": { "content": [ @@ -68,16 +103,16 @@ [ "SAMTOOLS_FAIDX", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:58:10.04235", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:58:10.04235" + } }, "test_samtools_faidx_get_sizes": { "content": [ @@ -108,16 +143,16 @@ [ "SAMTOOLS_FAIDX", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:57:55.552612", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:57:55.552612" + } }, "test_samtools_faidx_bgzip": { "content": [ @@ -148,16 +183,16 @@ [ "SAMTOOLS_FAIDX", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:57:34.346045", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:57:34.346045" + } }, "test_samtools_faidx_fasta": { "content": [ @@ -183,16 +218,16 @@ [ "SAMTOOLS_FAIDX", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:57:39.136814", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:57:39.136814" + } }, "test_samtools_faidx_get_sizes - stub": { "content": [ @@ -223,53 +258,18 @@ [ "SAMTOOLS_FAIDX", "samtools", - "1.23.1" - ] - ] - } - ], - "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:58:05.200994" - }, - "test_samtools_faidx_stub_fasta": { - "content": [ - { - "fa": [ - [ - { - "id": "test" - }, - "extract.fa:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "fai": [ - - ], - "gzi": [ - - ], - "sizes": [ - - ], - "versions_samtools": [ - [ - "SAMTOOLS_FAIDX", - "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:58:05.200994", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:57:44.105654" + } }, - "test_samtools_faidx_stub_fai": { + "test_samtools_faidx_fai - stub": { "content": [ { "fa": [ @@ -293,16 +293,16 @@ [ "SAMTOOLS_FAIDX", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:03:54.799114575", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:57:50.839162" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "test_samtools_faidx_get_sizes_bgzip": { "content": [ @@ -338,15 +338,15 @@ [ "SAMTOOLS_FAIDX", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:58:00.460031", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:58:00.460031" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/fasta/environment.yml b/modules/nf-core/samtools/fasta/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/fasta/environment.yml +++ b/modules/nf-core/samtools/fasta/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/fasta/main.nf b/modules/nf-core/samtools/fasta/main.nf index 4d425d009042..80d566c31afe 100644 --- a/modules/nf-core/samtools/fasta/main.nf +++ b/modules/nf-core/samtools/fasta/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_FASTA { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input) diff --git a/modules/nf-core/samtools/fasta/tests/main.nf.test b/modules/nf-core/samtools/fasta/tests/main.nf.test index c03b31694bb9..050ccc6b972e 100644 --- a/modules/nf-core/samtools/fasta/tests/main.nf.test +++ b/modules/nf-core/samtools/fasta/tests/main.nf.test @@ -25,10 +25,12 @@ nextflow_process { then { assert process.success - assert snapshot([ - "fasta": process.out.fasta, - "versions_samtools": process.out.versions_samtools - ]).match() + assertAll( + { assert snapshot( + process.out.fasta, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) } } @@ -49,14 +51,17 @@ nextflow_process { then { assert process.success - assert snapshot([ - "interleaved": process.out.interleaved, - "versions_samtools": process.out.versions_samtools - ]).match() + assertAll( + { assert snapshot( + process.out.interleaved, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) } } - test("test-samtools-fasta-interleave - interleaved -- stub") { + test("test-samtools-fasta-interleave - interleaved - stub") { + options "-stub" when { @@ -73,11 +78,14 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } - test("test-samtools-fasta - single end - 1 fasta + singleton-- stub") { + test("test-samtools-fasta - single end - 1 fasta + singleton - stub") { + options "-stub" when { @@ -94,11 +102,14 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } - test("test-samtools-fasta - false - 2 fasta + singleton -- stub") { + test("test-samtools-fasta - false - 2 fasta + singleton - stub") { + options "-stub" when { @@ -115,8 +126,9 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } - } diff --git a/modules/nf-core/samtools/fasta/tests/main.nf.test.snap b/modules/nf-core/samtools/fasta/tests/main.nf.test.snap index 0735d6a29749..1058c404ef47 100644 --- a/modules/nf-core/samtools/fasta/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/fasta/tests/main.nf.test.snap @@ -1,152 +1,152 @@ { - "test-samtools-fasta-interleave - interleaved -- stub": { + "test-samtools-fasta": { "content": [ - { - "fasta": [ - - ], - "interleaved": [ + [ + [ + { + "id": "test", + "single_end": false + }, [ - { - "id": "test", - "single_end": false - }, - "test_interleaved.fasta.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + "test_1.fasta.gz:md5,f754f5ea47396799cc68ecf83b32fa8e", + "test_2.fasta.gz:md5,26800c2d35564173662510aacf9fc9a2" ] - ], - "other": [ - [ - { - "id": "test", - "single_end": false - }, - "test_other.fasta.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] - ], - "singleton": [ - - ], + ] + ], + { "versions_samtools": [ [ "SAMTOOLS_FASTA", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T17:48:53.640299143", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:58:25.013142" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - "test-samtools-fasta": { + "test-samtools-fasta - single end - 1 fasta + singleton - stub": { "content": [ { "fasta": [ [ { "id": "test", - "single_end": false + "single_end": true }, - [ - "test_1.fasta.gz:md5,f754f5ea47396799cc68ecf83b32fa8e", - "test_2.fasta.gz:md5,26800c2d35564173662510aacf9fc9a2" - ] + "test_1.fasta.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], - "versions_samtools": [ + "interleaved": [ + + ], + "other": [ [ - "SAMTOOLS_FASTA", - "samtools", - "1.23.1" + { + "id": "test", + "single_end": true + }, + "test_other.fasta.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] - ] - } - ], - "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:58:15.181268" - }, - "test-samtools-fasta-interleave": { - "content": [ - { - "interleaved": [ + ], + "singleton": [ [ { "id": "test", - "single_end": false + "single_end": true }, - "test_interleaved.fasta.gz:md5,02d7f0389745d9d274d091cf8bf3b8a1" + "test_singleton.fasta.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], "versions_samtools": [ [ "SAMTOOLS_FASTA", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:52:48.84439338", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:58:20.238513" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - "test-samtools-fasta - single end - 1 fasta + singleton-- stub": { + "test-samtools-fasta-interleave - interleaved - stub": { "content": [ { "fasta": [ + + ], + "interleaved": [ [ { "id": "test", - "single_end": true + "single_end": false }, - "test_1.fasta.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + "test_interleaved.fasta.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] - ], - "interleaved": [ - ], "other": [ [ { "id": "test", - "single_end": true + "single_end": false }, "test_other.fasta.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], "singleton": [ + + ], + "versions_samtools": [ [ - { - "id": "test", - "single_end": true - }, - "test_singleton.fasta.gz:md5,68b329da9893e34099c7d8ad5cb9c940" + "SAMTOOLS_FASTA", + "samtools", + "1.24" ] - ], + ] + } + ], + "timestamp": "2026-07-10T15:52:44.117782708", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } + }, + "test-samtools-fasta-interleave": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test_interleaved.fasta.gz:md5,02d7f0389745d9d274d091cf8bf3b8a1" + ] + ], + { "versions_samtools": [ [ "SAMTOOLS_FASTA", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T17:49:00.247792105", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:58:29.796407" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - "test-samtools-fasta - false - 2 fasta + singleton -- stub": { + "test-samtools-fasta - false - 2 fasta + singleton - stub": { "content": [ { "fasta": [ @@ -186,15 +186,15 @@ [ "SAMTOOLS_FASTA", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:52:53.342385978", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:58:35.62128" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/fastq/environment.yml b/modules/nf-core/samtools/fastq/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/fastq/environment.yml +++ b/modules/nf-core/samtools/fastq/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/fastq/main.nf b/modules/nf-core/samtools/fastq/main.nf index 9376779614e6..be561a622e93 100644 --- a/modules/nf-core/samtools/fastq/main.nf +++ b/modules/nf-core/samtools/fastq/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_FASTQ { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input) @@ -45,10 +45,10 @@ process SAMTOOLS_FASTQ { def output = interleave && !meta.single_end ? "touch ${prefix}_interleaved.fastq" : meta.single_end - ? "echo | gzip > ${prefix}_1.fastq.gz && echo | gzip > ${prefix}_singleton.fastq.gz" - : "echo | gzip > ${prefix}_1.fastq.gz && echo | gzip > ${prefix}_2.fastq.gz && echo | gzip > ${prefix}_singleton.fastq.gz" + ? "echo '' | gzip > ${prefix}_1.fastq.gz && echo '' | gzip > ${prefix}_singleton.fastq.gz" + : "echo '' | gzip > ${prefix}_1.fastq.gz && echo '' | gzip > ${prefix}_2.fastq.gz && echo '' | gzip > ${prefix}_singleton.fastq.gz" """ ${output} - echo | gzip > ${prefix}_other.fastq.gz + echo "" | gzip > ${prefix}_other.fastq.gz """ } diff --git a/modules/nf-core/samtools/fastq/tests/main.nf.test b/modules/nf-core/samtools/fastq/tests/main.nf.test index 46ec7e7c3544..b48350eadddf 100644 --- a/modules/nf-core/samtools/fastq/tests/main.nf.test +++ b/modules/nf-core/samtools/fastq/tests/main.nf.test @@ -16,7 +16,7 @@ nextflow_process { """ interleave = false - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) ]) @@ -26,8 +26,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(process.out.fastq[0][1].collect { path(it).linesGzip[0..6] }).match("bam_fastq") }, { assert snapshot(process.out.interleaved).match("bam_interleaved") }, { assert snapshot(file(process.out.singleton[0][1]).name).match("bam_singleton") }, @@ -44,7 +44,7 @@ nextflow_process { """ interleave = true - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) ]) @@ -54,8 +54,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(process.out.fastq).match("bam_interleave_fastq") }, { assert snapshot(path(process.out.interleaved[0][1]).readLines()[0..6]).match("bam_interlinterleave_eaved") }, { assert snapshot(process.out.singleton).match("bam_singinterleave_leton") }, @@ -74,7 +74,7 @@ nextflow_process { """ interleave = false - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) ]) @@ -84,8 +84,8 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( process.out.fastq, process.out.interleaved, @@ -106,7 +106,7 @@ nextflow_process { """ interleave = true - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) ]) @@ -116,8 +116,8 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( process.out.fastq, process.out.interleaved, diff --git a/modules/nf-core/samtools/fastq/tests/main.nf.test.snap b/modules/nf-core/samtools/fastq/tests/main.nf.test.snap index 88d2bdf979c9..220bdeb727ab 100644 --- a/modules/nf-core/samtools/fastq/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/fastq/tests/main.nf.test.snap @@ -11,21 +11,21 @@ "+" ] ], + "timestamp": "2024-02-12T18:18:30.865895", "meta": { "nf-test": "0.8.4", "nextflow": "23.04.3" - }, - "timestamp": "2024-02-12T18:18:30.865895" + } }, "bam_other": { "content": [ "test_other.fastq.gz" ], + "timestamp": "2024-02-12T18:18:23.988269", "meta": { "nf-test": "0.8.4", "nextflow": "23.04.3" - }, - "timestamp": "2024-02-12T18:18:23.988269" + } }, "bam - stub": { "content": [ @@ -67,16 +67,16 @@ [ "SAMTOOLS_FASTQ", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:58:51.815096", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:58:51.815096" + } }, "bam_fastq": { "content": [ @@ -101,21 +101,21 @@ ] ] ], + "timestamp": "2024-02-12T18:18:23.976154", "meta": { "nf-test": "0.8.4", "nextflow": "23.04.3" - }, - "timestamp": "2024-02-12T18:18:23.976154" + } }, "bam_interleave_other": { "content": [ "test_other.fastq.gz" ], + "timestamp": "2024-02-12T18:18:30.87243", "meta": { "nf-test": "0.8.4", "nextflow": "23.04.3" - }, - "timestamp": "2024-02-12T18:18:30.87243" + } }, "bam_interleaved": { "content": [ @@ -123,11 +123,11 @@ ] ], + "timestamp": "2024-02-12T18:18:23.980431", "meta": { "nf-test": "0.8.4", "nextflow": "23.04.3" - }, - "timestamp": "2024-02-12T18:18:23.980431" + } }, "bam_singinterleave_leton": { "content": [ @@ -135,11 +135,11 @@ ] ], + "timestamp": "2024-02-12T18:18:30.869149", "meta": { "nf-test": "0.8.4", "nextflow": "23.04.3" - }, - "timestamp": "2024-02-12T18:18:30.869149" + } }, "bam_versions": { "content": [ @@ -148,16 +148,16 @@ [ "SAMTOOLS_FASTQ", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:58:41.34399", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:58:41.34399" + } }, "bam_verinterleave_sions": { "content": [ @@ -166,26 +166,26 @@ [ "SAMTOOLS_FASTQ", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:58:46.729284", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:58:46.729284" + } }, "bam_singleton": { "content": [ "test_singleton.fastq.gz" ], + "timestamp": "2024-02-12T18:18:23.985165", "meta": { "nf-test": "0.8.4", "nextflow": "23.04.3" - }, - "timestamp": "2024-02-12T18:18:23.985165" + } }, "bam_interleave_fastq": { "content": [ @@ -193,11 +193,11 @@ ] ], + "timestamp": "2024-02-12T18:18:30.859468", "meta": { "nf-test": "0.8.4", "nextflow": "23.04.3" - }, - "timestamp": "2024-02-12T18:18:30.859468" + } }, "bam_interleave - stub": { "content": [ @@ -230,15 +230,15 @@ [ "SAMTOOLS_FASTQ", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:58:56.91914", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:58:56.91914" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/fixmate/environment.yml b/modules/nf-core/samtools/fixmate/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/fixmate/environment.yml +++ b/modules/nf-core/samtools/fixmate/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/fixmate/main.nf b/modules/nf-core/samtools/fixmate/main.nf index f3a7b3a3d54a..275e3b6dc0ba 100644 --- a/modules/nf-core/samtools/fixmate/main.nf +++ b/modules/nf-core/samtools/fixmate/main.nf @@ -4,11 +4,12 @@ process SAMTOOLS_FIXMATE { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input) + tuple val(meta2), path(fasta), path(fai) output: tuple val(meta), path("${prefix}.bam"), emit: bam, optional: true @@ -32,12 +33,14 @@ process SAMTOOLS_FIXMATE { if ("${input}" == "${prefix}.${extension}") { error("Input and output names are the same, use \"task.ext.prefix\" to disambiguate!") } + def reference_cmd = fasta ? "--reference ${fasta}" : "" """ # Note: --threads value represents *additional* CPUs to allocate (total CPUs = 1 + --threads). samtools \\ fixmate \\ ${args} \\ --threads ${task.cpus - 1} \\ + ${reference_cmd} \\ ${input} \\ ${prefix}.${extension} """ diff --git a/modules/nf-core/samtools/fixmate/meta.yml b/modules/nf-core/samtools/fixmate/meta.yml index 5b15e49ec6d5..97f046c77cb5 100644 --- a/modules/nf-core/samtools/fixmate/meta.yml +++ b/modules/nf-core/samtools/fixmate/meta.yml @@ -37,6 +37,23 @@ input: - edam: http://edamontology.org/format_2572 # BAM - edam: http://edamontology.org/format_3462 # CRAM - edam: http://edamontology.org/format_2573 # SAM + - - meta2: + type: map + description: | + Groovy Map containing reference information + e.g. [ id:'genome' ] + - fasta: + type: file + description: Reference genome FASTA file + pattern: "*.{fa,fasta,fna}" + optional: true + ontologies: [] + - fai: + type: file + description: Reference genome FASTA index file + pattern: "*.{fai}" + optional: true + ontologies: [] output: bam: - - meta: diff --git a/modules/nf-core/samtools/fixmate/tests/main.nf.test b/modules/nf-core/samtools/fixmate/tests/main.nf.test index ea40ecac1967..95948878466d 100644 --- a/modules/nf-core/samtools/fixmate/tests/main.nf.test +++ b/modules/nf-core/samtools/fixmate/tests/main.nf.test @@ -24,16 +24,23 @@ nextflow_process { [ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) ] + input[1] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] """ } } then { assert process.success - assert snapshot( - bam(process.out.bam[0][1]).getReadsMD5(), - process.out.findAll { key, val -> key.startsWith("versions") } - ).match() + assertAll( + { assert snapshot( + process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()}, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) } } @@ -62,23 +69,29 @@ nextflow_process { when { params { module_args = '--output-fmt cram,version=3.0' - samtools_sort_args = '--template-coordinate --output-fmt cram,version=3.0' + samtools_sort_args = '-n --output-fmt cram,version=3.0' } process { """ input[0] = SAMTOOLS_SORT.out.cram + input[1] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] """ } } then { assert process.success - assert snapshot( - file(process.out.cram[0][1]).name, - process.out.findAll { key, val -> key.startsWith("versions") } - ).match() + assertAll( + { assert snapshot( + file(process.out.cram[0][1]).name, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) } - } test("human - cram - stub") { @@ -96,14 +109,20 @@ nextflow_process { [ id:'test' ], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true) ] + input[1] = [ + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) + ] """ } } then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } } diff --git a/modules/nf-core/samtools/fixmate/tests/main.nf.test.snap b/modules/nf-core/samtools/fixmate/tests/main.nf.test.snap index 632391ef3193..670289f5cefc 100644 --- a/modules/nf-core/samtools/fixmate/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/fixmate/tests/main.nf.test.snap @@ -20,16 +20,16 @@ [ "SAMTOOLS_FIXMATE", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:59:14.538736", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:59:14.538736" + } }, "human - cram": { "content": [ @@ -39,34 +39,36 @@ [ "SAMTOOLS_FIXMATE", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:59:08.725656", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:59:08.725656" + } }, "sarscov2 - bam": { "content": [ - "762e859a3d0ed1553655cde77665c940", + [ + "test_fixmate.bam:readsMD5,762e859a3d0ed1553655cde77665c940" + ], { "versions_samtools": [ [ "SAMTOOLS_FIXMATE", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:54:37.928044817", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:59:01.733838" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/flagstat/environment.yml b/modules/nf-core/samtools/flagstat/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/flagstat/environment.yml +++ b/modules/nf-core/samtools/flagstat/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/flagstat/main.nf b/modules/nf-core/samtools/flagstat/main.nf index 2d9588b99f40..f4a0b3b307b8 100644 --- a/modules/nf-core/samtools/flagstat/main.nf +++ b/modules/nf-core/samtools/flagstat/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_FLAGSTAT { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(bam), path(bai) diff --git a/modules/nf-core/samtools/flagstat/tests/main.nf.test b/modules/nf-core/samtools/flagstat/tests/main.nf.test index 3b648a37d554..dbf7c9966fbe 100644 --- a/modules/nf-core/samtools/flagstat/tests/main.nf.test +++ b/modules/nf-core/samtools/flagstat/tests/main.nf.test @@ -13,7 +13,7 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map 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) @@ -23,9 +23,9 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, - { assert snapshot(process.out).match() } + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -37,7 +37,7 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map 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) @@ -47,9 +47,9 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, - { assert snapshot(process.out).match() } + assert process.success + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } diff --git a/modules/nf-core/samtools/flagstat/tests/main.nf.test.snap b/modules/nf-core/samtools/flagstat/tests/main.nf.test.snap index b110c47c3996..f572957b0bdf 100644 --- a/modules/nf-core/samtools/flagstat/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/flagstat/tests/main.nf.test.snap @@ -2,22 +2,6 @@ "BAM - stub": { "content": [ { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test.flagstat:md5,67394650dbae96d1a4fcc70484822159" - ] - ], - "1": [ - [ - "SAMTOOLS_FLAGSTAT", - "samtools", - "1.23.1" - ] - ], "flagstat": [ [ { @@ -31,36 +15,20 @@ [ "SAMTOOLS_FLAGSTAT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:53:38.552555213", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:59:26.188788" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "BAM": { "content": [ { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test.flagstat:md5,4f7ffd1e6a5e85524d443209ac97d783" - ] - ], - "1": [ - [ - "SAMTOOLS_FLAGSTAT", - "samtools", - "1.23.1" - ] - ], "flagstat": [ [ { @@ -74,15 +42,15 @@ [ "SAMTOOLS_FLAGSTAT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T15:53:33.931611374", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:59:20.212002" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/getrg/environment.yml b/modules/nf-core/samtools/getrg/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/getrg/environment.yml +++ b/modules/nf-core/samtools/getrg/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/getrg/main.nf b/modules/nf-core/samtools/getrg/main.nf index 7018e786e35d..19cede18a2da 100644 --- a/modules/nf-core/samtools/getrg/main.nf +++ b/modules/nf-core/samtools/getrg/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_GETRG { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input) diff --git a/modules/nf-core/samtools/getrg/tests/main.nf.test b/modules/nf-core/samtools/getrg/tests/main.nf.test index 0d5c46714933..bb7d1ab5bffa 100644 --- a/modules/nf-core/samtools/getrg/tests/main.nf.test +++ b/modules/nf-core/samtools/getrg/tests/main.nf.test @@ -25,8 +25,9 @@ nextflow_process { } then { - assert process.failed + assertAll( + { assert process.failed } + ) } } - } diff --git a/modules/nf-core/samtools/idxstats/environment.yml b/modules/nf-core/samtools/idxstats/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/idxstats/environment.yml +++ b/modules/nf-core/samtools/idxstats/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/idxstats/main.nf b/modules/nf-core/samtools/idxstats/main.nf index 4d74768a0e48..58d310629279 100644 --- a/modules/nf-core/samtools/idxstats/main.nf +++ b/modules/nf-core/samtools/idxstats/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_IDXSTATS { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(bam), path(bai) diff --git a/modules/nf-core/samtools/idxstats/tests/main.nf.test b/modules/nf-core/samtools/idxstats/tests/main.nf.test index c990cd551992..cc204d6a27eb 100644 --- a/modules/nf-core/samtools/idxstats/tests/main.nf.test +++ b/modules/nf-core/samtools/idxstats/tests/main.nf.test @@ -13,7 +13,7 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map 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) @@ -23,8 +23,8 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( process.out.idxstats, process.out.findAll { key, val -> key.startsWith('versions') } @@ -34,11 +34,13 @@ nextflow_process { } test("bam - stub") { + options "-stub" + when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map 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) @@ -48,12 +50,13 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( process.out.idxstats, process.out.findAll { key, val -> key.startsWith('versions') } ).match() } ) } - }} + } +} diff --git a/modules/nf-core/samtools/idxstats/tests/main.nf.test.snap b/modules/nf-core/samtools/idxstats/tests/main.nf.test.snap index 7bcde2fd28ef..2dba681c366c 100644 --- a/modules/nf-core/samtools/idxstats/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/idxstats/tests/main.nf.test.snap @@ -15,16 +15,16 @@ [ "SAMTOOLS_IDXSTATS", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:59:41.877526", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:59:41.877526" + } }, "bam": { "content": [ @@ -42,15 +42,15 @@ [ "SAMTOOLS_IDXSTATS", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T08:59:34.725514", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:59:34.725514" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/import/environment.yml b/modules/nf-core/samtools/import/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/import/environment.yml +++ b/modules/nf-core/samtools/import/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/import/main.nf b/modules/nf-core/samtools/import/main.nf index 185af13a25c2..e8fcc0f07217 100644 --- a/modules/nf-core/samtools/import/main.nf +++ b/modules/nf-core/samtools/import/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_IMPORT { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(reads) diff --git a/modules/nf-core/samtools/import/tests/main.nf.test b/modules/nf-core/samtools/import/tests/main.nf.test index 1c05af2a378b..02d620d4b86d 100644 --- a/modules/nf-core/samtools/import/tests/main.nf.test +++ b/modules/nf-core/samtools/import/tests/main.nf.test @@ -23,10 +23,12 @@ nextflow_process { then { assert process.success - assert snapshot( - process.out.bam.collect { meta, bam_file -> [meta, bam(bam_file).getReadsMD5()] }, - process.out.findAll { key, val -> key.startsWith("versions") } - ).match() + assertAll( + { assert snapshot( + process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()}, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) } } @@ -37,8 +39,10 @@ nextflow_process { """ input[0] = [ [ id:'test', single_end:false ], - 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) + [ + 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) + ] ] """ } @@ -46,10 +50,12 @@ nextflow_process { then { assert process.success - assert snapshot( - process.out.bam.collect { meta, bam_file -> [meta, bam(bam_file).getReadsMD5()] }, - process.out.findAll { key, val -> key.startsWith("versions") } - ).match() + assertAll( + { assert snapshot( + process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()}, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) } } @@ -68,14 +74,17 @@ nextflow_process { then { assert process.success - assert snapshot( - process.out.bam.collect { meta, bam_file -> [meta, bam(bam_file).getReadsMD5()] }, - process.out.findAll { key, val -> key.startsWith("versions") } - ).match() + assertAll( + { assert snapshot( + process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()}, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } + ) } } - test("samtools_import -- stub") { + test("samtools_import - stub") { + options "-stub" when { @@ -91,7 +100,9 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } } diff --git a/modules/nf-core/samtools/import/tests/main.nf.test.snap b/modules/nf-core/samtools/import/tests/main.nf.test.snap index 96b22646bd8c..2b65d51d050a 100644 --- a/modules/nf-core/samtools/import/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/import/tests/main.nf.test.snap @@ -1,5 +1,5 @@ { - "samtools_import -- stub": { + "samtools_import - stub": { "content": [ { "bam": [ @@ -21,96 +21,78 @@ [ "SAMTOOLS_IMPORT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:00:01.788031", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:00:01.788031" + } }, "samtools_import_single ": { "content": [ [ - [ - { - "id": "test", - "single_end": true - }, - "c17efa4ccc4e9018090792c71af92660" - ] + "test.bam:readsMD5,c17efa4ccc4e9018090792c71af92660" ], { "versions_samtools": [ [ "SAMTOOLS_IMPORT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:56:59.40778335", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:59:46.824692" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "samtools_import_interleaved": { "content": [ [ - [ - { - "id": "test", - "single_end": false - }, - "88d78879c34214288644aec7ec3cb270" - ] + "test.bam:readsMD5,88d78879c34214288644aec7ec3cb270" ], { "versions_samtools": [ [ "SAMTOOLS_IMPORT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:57:09.193952054", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:59:56.686666" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "samtools_import_paired ": { "content": [ [ - [ - { - "id": "test", - "single_end": false - }, - "c17efa4ccc4e9018090792c71af92660" - ] + "test.bam:readsMD5,88d78879c34214288644aec7ec3cb270" ], { "versions_samtools": [ [ "SAMTOOLS_IMPORT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:57:04.351773936", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T08:59:51.721089" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/index/environment.yml b/modules/nf-core/samtools/index/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/index/environment.yml +++ b/modules/nf-core/samtools/index/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/index/main.nf b/modules/nf-core/samtools/index/main.nf index 5b5756b1e893..4dd9311a99fd 100644 --- a/modules/nf-core/samtools/index/main.nf +++ b/modules/nf-core/samtools/index/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_INDEX { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input) diff --git a/modules/nf-core/samtools/index/tests/main.nf.test b/modules/nf-core/samtools/index/tests/main.nf.test index f9d3922255a1..d62d2d0fc68d 100644 --- a/modules/nf-core/samtools/index/tests/main.nf.test +++ b/modules/nf-core/samtools/index/tests/main.nf.test @@ -12,7 +12,7 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true) ]) @@ -21,8 +21,8 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( process.out.index, process.out.findAll { key, val -> key.startsWith('versions') } @@ -35,7 +35,7 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram', checkIfExists: true) ]) @@ -44,8 +44,8 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( process.out.index, process.out.findAll { key, val -> key.startsWith('versions') } @@ -60,7 +60,7 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true) ]) @@ -69,8 +69,8 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( file(process.out.index[0][1]).name, process.out.findAll { key, val -> key.startsWith('versions') } @@ -80,11 +80,13 @@ nextflow_process { } test("bai - stub") { + options "-stub" + when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true) ]) @@ -93,8 +95,8 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( process.out.index, process.out.findAll { key, val -> key.startsWith('versions') } @@ -104,11 +106,13 @@ nextflow_process { } test("crai - stub") { + options "-stub" + when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram', checkIfExists: true) ]) @@ -117,8 +121,8 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( process.out.index, process.out.findAll { key, val -> key.startsWith('versions') } @@ -128,13 +132,15 @@ nextflow_process { } test("csi - stub") { + options "-stub" + config "./csi.nextflow.config" when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true) ]) @@ -143,8 +149,8 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( process.out.index, process.out.findAll { key, val -> key.startsWith('versions') } diff --git a/modules/nf-core/samtools/index/tests/main.nf.test.snap b/modules/nf-core/samtools/index/tests/main.nf.test.snap index 337dec77379d..7aec38239acd 100644 --- a/modules/nf-core/samtools/index/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/index/tests/main.nf.test.snap @@ -15,16 +15,16 @@ [ "SAMTOOLS_INDEX", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:00:39.171613", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:00:39.171613" + } }, "crai - stub": { "content": [ @@ -42,16 +42,16 @@ [ "SAMTOOLS_INDEX", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:00:32.838795", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:00:32.838795" + } }, "bai - stub": { "content": [ @@ -69,16 +69,16 @@ [ "SAMTOOLS_INDEX", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:00:25.255379", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:00:25.255379" + } }, "csi": { "content": [ @@ -88,16 +88,16 @@ [ "SAMTOOLS_INDEX", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:00:18.414839", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:00:18.414839" + } }, "crai": { "content": [ @@ -115,16 +115,16 @@ [ "SAMTOOLS_INDEX", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:00:13.571297", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:00:13.571297" + } }, "bai": { "content": [ @@ -142,15 +142,15 @@ [ "SAMTOOLS_INDEX", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:00:06.767362", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:00:06.767362" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/markdup/environment.yml b/modules/nf-core/samtools/markdup/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/markdup/environment.yml +++ b/modules/nf-core/samtools/markdup/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/markdup/main.nf b/modules/nf-core/samtools/markdup/main.nf index 6c8ffbdba6b1..8d0bdb361179 100644 --- a/modules/nf-core/samtools/markdup/main.nf +++ b/modules/nf-core/samtools/markdup/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_MARKDUP { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input) diff --git a/modules/nf-core/samtools/markdup/tests/main.nf.test b/modules/nf-core/samtools/markdup/tests/main.nf.test index 6aa27bbbc7a1..e0c6832d0c5f 100644 --- a/modules/nf-core/samtools/markdup/tests/main.nf.test +++ b/modules/nf-core/samtools/markdup/tests/main.nf.test @@ -22,6 +22,11 @@ nextflow_process { [ id:'test' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true), ] + input[1] = [ + [ id:'fasta' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), + file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true), + ] """ } } @@ -55,9 +60,10 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("sarscov2 - bam - stub") { @@ -82,9 +88,9 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } - } diff --git a/modules/nf-core/samtools/markdup/tests/main.nf.test.snap b/modules/nf-core/samtools/markdup/tests/main.nf.test.snap index 7685a71be9e6..e3da677ff6d7 100644 --- a/modules/nf-core/samtools/markdup/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/markdup/tests/main.nf.test.snap @@ -20,16 +20,16 @@ [ "SAMTOOLS_MARKDUP", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:00:54.260182", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:00:54.260182" + } }, "sarscov2 - bam": { "content": [ @@ -39,7 +39,7 @@ { "id": "test" }, - "test.markdup.bam:md5,885010541f6358a60c614045cd008c1d" + "test.markdup.bam:md5,6f96b64920b3dd1cf54da91275050eab" ] ], "cram": [ @@ -52,15 +52,15 @@ [ "SAMTOOLS_MARKDUP", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T12:48:02.196054417", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:00:47.588282" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/merge/environment.yml b/modules/nf-core/samtools/merge/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/merge/environment.yml +++ b/modules/nf-core/samtools/merge/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/merge/main.nf b/modules/nf-core/samtools/merge/main.nf index abb56f9f07e4..4d1fd305fc89 100644 --- a/modules/nf-core/samtools/merge/main.nf +++ b/modules/nf-core/samtools/merge/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_MERGE { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input_files, stageAs: "?/*"), path(index_files, stageAs: "?/*") @@ -38,7 +38,7 @@ process SAMTOOLS_MERGE { stub: def args = task.ext.args ?: '' - prefix = task.ext.suffix ? "${meta.id}${task.ext.suffix}" : "${meta.id}" + prefix = task.ext.prefix ?: "${meta.id}" def file_type = input_files instanceof List ? input_files[0].getExtension() : input_files.getExtension() def index_type = file_type == "bam" ? "csi" : "crai" def index = args.contains("--write-index") ? "touch ${prefix}.${index_type}" : "" diff --git a/modules/nf-core/samtools/merge/tests/main.nf.test b/modules/nf-core/samtools/merge/tests/main.nf.test index b3caf864e56b..22d5e28d5c9f 100644 --- a/modules/nf-core/samtools/merge/tests/main.nf.test +++ b/modules/nf-core/samtools/merge/tests/main.nf.test @@ -34,7 +34,7 @@ nextflow_process { assert process.success assertAll( { assert snapshot( - bam(process.out.bam[0][1]).getReadsMD5(), + process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()}, file(process.out.index[0][1]).name, process.out.cram, process.out.findAll { key, val -> key.startsWith("versions") } @@ -75,7 +75,7 @@ nextflow_process { assertAll( { assert snapshot( cram(process.out.cram[0][1], fasta).getReadsMD5(), - process.out.bam, + process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()}, file(process.out.index[0][1]).name, process.out.findAll { key, val -> key.startsWith("versions") } ).match() @@ -115,7 +115,7 @@ nextflow_process { { assert snapshot( //nft-bam doesn't like the fasta.gz file(process.out.cram[0][1]).name, - process.out.bam, + process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()}, file(process.out.index[0][1]).name, process.out.findAll { key, val -> key.startsWith("versions") } ).match() @@ -146,7 +146,7 @@ nextflow_process { assert process.success assertAll( { assert snapshot( - bam(process.out.bam[0][1]).getReadsMD5(), + process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()}, process.out.index, process.out.cram, process.out.findAll { key, val -> key.startsWith("versions") } @@ -181,7 +181,7 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(process.out).match()} + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -211,9 +211,8 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(process.out).match()} + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } - } diff --git a/modules/nf-core/samtools/merge/tests/main.nf.test.snap b/modules/nf-core/samtools/merge/tests/main.nf.test.snap index 77ed449d69e2..babfb3e297c9 100644 --- a/modules/nf-core/samtools/merge/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/merge/tests/main.nf.test.snap @@ -2,27 +2,6 @@ "bams_no_index - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - [ - "SAMTOOLS_MERGE", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { @@ -41,16 +20,16 @@ [ "SAMTOOLS_MERGE", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:07:15.936394673", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:01:31.816184" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "crams_fastq": { "content": [ @@ -64,41 +43,20 @@ [ "SAMTOOLS_MERGE", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:01:05.719443", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:01:05.719443" + } }, "bams - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - [ - "SAMTOOLS_MERGE", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { @@ -117,20 +75,22 @@ [ "SAMTOOLS_MERGE", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:07:10.433929377", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:01:24.795562" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "bams": { "content": [ - "47c9f174d8c8afc1a13c75ee4b5e5d43", + [ + "test.bam:readsMD5,47c9f174d8c8afc1a13c75ee4b5e5d43" + ], "test.bam.csi", [ @@ -140,16 +100,16 @@ [ "SAMTOOLS_MERGE", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:59:24.735210322", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:00:59.536803" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "crams_fastq_gz": { "content": [ @@ -163,20 +123,22 @@ [ "SAMTOOLS_MERGE", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:01:11.614088", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:01:11.614088" + } }, "bam": { "content": [ - "8da8fc1099a955e3ceb198665350e766", + [ + "test.bam:readsMD5,8da8fc1099a955e3ceb198665350e766" + ], [ ], @@ -188,15 +150,15 @@ [ "SAMTOOLS_MERGE", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:59:42.562685908", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:01:17.736424" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/mpileup/environment.yml b/modules/nf-core/samtools/mpileup/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/mpileup/environment.yml +++ b/modules/nf-core/samtools/mpileup/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/mpileup/main.nf b/modules/nf-core/samtools/mpileup/main.nf index debfd1eb902c..e5dcda2543ef 100644 --- a/modules/nf-core/samtools/mpileup/main.nf +++ b/modules/nf-core/samtools/mpileup/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_MPILEUP { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input), path(index), path(intervals) @@ -36,6 +36,6 @@ process SAMTOOLS_MPILEUP { stub: def prefix = task.ext.prefix ?: "${meta.id}" """ - echo | gzip > ${prefix}.mpileup.gz + echo "" | gzip > ${prefix}.mpileup.gz """ } diff --git a/modules/nf-core/samtools/mpileup/tests/main.nf.test b/modules/nf-core/samtools/mpileup/tests/main.nf.test index 53dcd09f2d17..a032baa585ac 100644 --- a/modules/nf-core/samtools/mpileup/tests/main.nf.test +++ b/modules/nf-core/samtools/mpileup/tests/main.nf.test @@ -28,7 +28,7 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(process.out).match()} + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -56,7 +56,7 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(process.out).match()} + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -85,13 +85,15 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(process.out).match()} + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } test("bam - stub") { - options '-stub' + + options "-stub" + when { process { """ @@ -109,9 +111,8 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(process.out).match()} + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } - } diff --git a/modules/nf-core/samtools/mpileup/tests/main.nf.test.snap b/modules/nf-core/samtools/mpileup/tests/main.nf.test.snap index 0709c0d6e157..e054953812d4 100644 --- a/modules/nf-core/samtools/mpileup/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/mpileup/tests/main.nf.test.snap @@ -2,21 +2,6 @@ "bam - no fasta": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.mpileup.gz:md5,72340047c1feda82fa632d1762080bd8" - ] - ], - "1": [ - [ - "SAMTOOLS_MPILEUP", - "samtools", - "1.23.1" - ] - ], "mpileup": [ [ { @@ -29,35 +14,20 @@ [ "SAMTOOLS_MPILEUP", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:07:20.813342137", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:01:37.080385" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "bam - region - bai": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.mpileup.gz:md5,72340047c1feda82fa632d1762080bd8" - ] - ], - "1": [ - [ - "SAMTOOLS_MPILEUP", - "samtools", - "1.23.1" - ] - ], "mpileup": [ [ { @@ -70,35 +40,20 @@ [ "SAMTOOLS_MPILEUP", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:07:30.627460986", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:01:47.94984" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "bam - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.mpileup.gz:md5,68b329da9893e34099c7d8ad5cb9c940" - ] - ], - "1": [ - [ - "SAMTOOLS_MPILEUP", - "samtools", - "1.23.1" - ] - ], "mpileup": [ [ { @@ -111,35 +66,20 @@ [ "SAMTOOLS_MPILEUP", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:07:35.670128713", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:01:54.924441" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "bam - fasta": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.mpileup.gz:md5,958e6bead4103d72026f80153b6b5150" - ] - ], - "1": [ - [ - "SAMTOOLS_MPILEUP", - "samtools", - "1.23.1" - ] - ], "mpileup": [ [ { @@ -152,15 +92,15 @@ [ "SAMTOOLS_MPILEUP", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:07:25.519817584", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:01:42.689773" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/quickcheck/environment.yml b/modules/nf-core/samtools/quickcheck/environment.yml index 310db6d76f08..e59820a398ad 100644 --- a/modules/nf-core/samtools/quickcheck/environment.yml +++ b/modules/nf-core/samtools/quickcheck/environment.yml @@ -4,5 +4,5 @@ channels: - conda-forge - bioconda dependencies: - - "bioconda::samtools=1.23" - - "bioconda::htslib=1.23.1" + - bioconda::samtools=1.24 + - bioconda::htslib=1.24 diff --git a/modules/nf-core/samtools/quickcheck/main.nf b/modules/nf-core/samtools/quickcheck/main.nf index 0b877d62c181..4a5ad382ddb5 100644 --- a/modules/nf-core/samtools/quickcheck/main.nf +++ b/modules/nf-core/samtools/quickcheck/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_QUICKCHECK { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(bam) diff --git a/modules/nf-core/samtools/quickcheck/tests/main.nf.test b/modules/nf-core/samtools/quickcheck/tests/main.nf.test index a4a0748d5661..24efda594b15 100644 --- a/modules/nf-core/samtools/quickcheck/tests/main.nf.test +++ b/modules/nf-core/samtools/quickcheck/tests/main.nf.test @@ -10,11 +10,11 @@ nextflow_process { tag "samtools" tag "samtools/quickcheck" - test(" bam - PE ") { + test("bam - PE") { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test.paired_end.sorted' ], file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true) ]) @@ -23,15 +23,15 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert process.out.bam.collect{ it[2] } == ["0"] }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } - test(" bam - SE ") { + test("bam - SE") { when { process { """ @@ -44,15 +44,15 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert process.out.bam.collect{ it[2] } == ["0"] }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } - test(" bam - PE - stub") { + test("bam - PE - stub") { options "-stub" when { @@ -67,19 +67,19 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert process.out.bam.collect{ it[2] } == ["0"] }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } - test(" cram - PE ") { + test("cram - PE") { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test.paired_end.sorted' ], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true) ]) @@ -88,15 +88,15 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert process.out.bam.collect{ it[2] } == ["0"] }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } - test(" sam - PE - No targets") { + test("sam - PE - No targets") { /* SAM header misses targets of corresponding alignments */ when { process { @@ -110,15 +110,15 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert process.out.bam.collect{ it[2] } == ["8"] }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } - test(" sam - PE - No targets - ignore targets / unaligned option") { + test("sam - PE - No targets - ignore targets / unaligned option") { /* SAM header misses targets of corresponding alignments, but the '-u' parameter makes this tolerated as unaligned */ config "./nextflow.config" @@ -134,15 +134,15 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert process.out.bam.collect{ it[2] } == ["0"] }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } - test(" bam - ?E - Bad EOF") { + test("bam - ?E - Bad EOF") { when { process { """ @@ -155,15 +155,15 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert process.out.bam.collect{ it[2] } == ["16"] }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } - test(" bam - ?E - No targets") { + test("bam - ?E - No targets") { when { process { """ @@ -176,15 +176,15 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert process.out.bam.collect{ it[2] } == ["8"] }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } - test(" bam - ?E - Bad header") { + test("bam - ?E - Bad header") { when { process { """ @@ -197,10 +197,10 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert process.out.bam.collect{ it[2] } == ["4"] }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } diff --git a/modules/nf-core/samtools/quickcheck/tests/main.nf.test.snap b/modules/nf-core/samtools/quickcheck/tests/main.nf.test.snap index a048e5a44735..57037244e483 100644 --- a/modules/nf-core/samtools/quickcheck/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/quickcheck/tests/main.nf.test.snap @@ -1,23 +1,7 @@ { - " bam - PE - stub": { + "bam - PE - stub": { "content": [ { - "0": [ - [ - { - "id": "test.paired_end.sorted" - }, - "test.paired_end.sorted.bam:md5,fb76969225f658c10e4cdf496b703a61", - "0" - ] - ], - "1": [ - [ - "SAMTOOLS_QUICKCHECK", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { @@ -31,36 +15,20 @@ [ "SAMTOOLS_QUICKCHECK", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:07:50.94637968", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:02:12.590185" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - " sam - PE - No targets": { + "sam - PE - No targets": { "content": [ { - "0": [ - [ - { - "id": "test.paired_end.sorted" - }, - "test.paired_end.sorted.invalid.sam:md5,c9307be2f9d47f648c1bb864b3e12542", - "8" - ] - ], - "1": [ - [ - "SAMTOOLS_QUICKCHECK", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { @@ -74,36 +42,20 @@ [ "SAMTOOLS_QUICKCHECK", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:08:00.956419361", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:02:23.072247" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - " bam - SE ": { + "bam - SE": { "content": [ { - "0": [ - [ - { - "id": "test.single_end.sorted" - }, - "test.single_end.sorted.bam:md5,e29aca28f0d40c6637139fc008f3f2c9", - "0" - ] - ], - "1": [ - [ - "SAMTOOLS_QUICKCHECK", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { @@ -117,36 +69,20 @@ [ "SAMTOOLS_QUICKCHECK", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:07:46.116836502", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:02:05.559532" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - " cram - PE ": { + "cram - PE": { "content": [ { - "0": [ - [ - { - "id": "test.paired_end.sorted" - }, - "test.paired_end.sorted.cram:md5,e0146aa3a5a196e4cb5593f545e95c31", - "0" - ] - ], - "1": [ - [ - "SAMTOOLS_QUICKCHECK", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { @@ -160,36 +96,20 @@ [ "SAMTOOLS_QUICKCHECK", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:07:55.901387567", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:02:17.843915" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - " bam - PE ": { + "bam - PE": { "content": [ { - "0": [ - [ - { - "id": "test.paired_end.sorted" - }, - "test.paired_end.sorted.bam:md5,fb76969225f658c10e4cdf496b703a61", - "0" - ] - ], - "1": [ - [ - "SAMTOOLS_QUICKCHECK", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { @@ -203,36 +123,20 @@ [ "SAMTOOLS_QUICKCHECK", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:07:40.738548727", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:01:59.948119" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - " bam - ?E - Bad EOF": { + "bam - ?E - Bad EOF": { "content": [ { - "0": [ - [ - { - "id": "1.quickcheck.badeof" - }, - "1.quickcheck.badeof.bam:md5,e389fce53b839a9b65fd9b25bd448d8b", - "16" - ] - ], - "1": [ - [ - "SAMTOOLS_QUICKCHECK", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { @@ -246,36 +150,20 @@ [ "SAMTOOLS_QUICKCHECK", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:08:11.090293333", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:02:33.740526" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - " bam - ?E - No targets": { + "bam - ?E - No targets": { "content": [ { - "0": [ - [ - { - "id": "10.quickcheck.notargets" - }, - "10.quickcheck.notargets.bam:md5,89fc7ae65ec7e624d1ce1d4499d4b43a", - "8" - ] - ], - "1": [ - [ - "SAMTOOLS_QUICKCHECK", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { @@ -289,36 +177,20 @@ [ "SAMTOOLS_QUICKCHECK", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:08:16.378882559", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:02:40.774367" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - " sam - PE - No targets - ignore targets / unaligned option": { + "sam - PE - No targets - ignore targets / unaligned option": { "content": [ { - "0": [ - [ - { - "id": "test.paired_end.sorted" - }, - "test.paired_end.sorted.invalid.sam:md5,c9307be2f9d47f648c1bb864b3e12542", - "0" - ] - ], - "1": [ - [ - "SAMTOOLS_QUICKCHECK", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { @@ -332,36 +204,20 @@ [ "SAMTOOLS_QUICKCHECK", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:08:05.763248278", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:02:28.064753" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, - " bam - ?E - Bad header": { + "bam - ?E - Bad header": { "content": [ { - "0": [ - [ - { - "id": "2.quickcheck.badheader" - }, - "2.quickcheck.badheader.bam:md5,7c9300a04c23ee607dcc95e26f318932", - "4" - ] - ], - "1": [ - [ - "SAMTOOLS_QUICKCHECK", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { @@ -375,15 +231,15 @@ [ "SAMTOOLS_QUICKCHECK", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:08:21.487229265", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:02:46.357687" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/reheader/environment.yml b/modules/nf-core/samtools/reheader/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/reheader/environment.yml +++ b/modules/nf-core/samtools/reheader/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/reheader/main.nf b/modules/nf-core/samtools/reheader/main.nf index 810a0ac285c2..618473767525 100644 --- a/modules/nf-core/samtools/reheader/main.nf +++ b/modules/nf-core/samtools/reheader/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_REHEADER { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(bam), path(bai) diff --git a/modules/nf-core/samtools/reheader/tests/main.nf.test b/modules/nf-core/samtools/reheader/tests/main.nf.test index e33057505df2..acd7af839f7d 100644 --- a/modules/nf-core/samtools/reheader/tests/main.nf.test +++ b/modules/nf-core/samtools/reheader/tests/main.nf.test @@ -28,9 +28,10 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("homo_sapiens - rgdel") { @@ -51,9 +52,10 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("homo_sapiens - stub") { @@ -77,9 +79,9 @@ nextflow_process { then { assert process.success - assert snapshot(process.out).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } - } diff --git a/modules/nf-core/samtools/reheader/tests/main.nf.test.snap b/modules/nf-core/samtools/reheader/tests/main.nf.test.snap index 03925c19c3dd..0ebc25e06e89 100644 --- a/modules/nf-core/samtools/reheader/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/reheader/tests/main.nf.test.snap @@ -2,62 +2,32 @@ "homo_sapiens - chrdel": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test_reheaded.bam:md5,2d9486de8f40a6d9de3ccf8dbf8d36dc" - ] - ], - "1": [ - [ - "SAMTOOLS_REHEADER", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { "id": "test" }, - "test_reheaded.bam:md5,2d9486de8f40a6d9de3ccf8dbf8d36dc" + "test_reheaded.bam:md5,18236b6a74a282122a4bf5857fdab28e" ] ], "versions_samtools": [ [ "SAMTOOLS_REHEADER", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:08:26.661899065", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:02:52.263978" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "homo_sapiens - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test_reheaded.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - [ - "SAMTOOLS_REHEADER", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { @@ -70,56 +40,41 @@ [ "SAMTOOLS_REHEADER", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:08:36.271906321", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:03:03.921419" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "homo_sapiens - rgdel": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test_reheaded.bam:md5,2efc4859a23bd18e9684a41d48ce1096" - ] - ], - "1": [ - [ - "SAMTOOLS_REHEADER", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { "id": "test" }, - "test_reheaded.bam:md5,2efc4859a23bd18e9684a41d48ce1096" + "test_reheaded.bam:md5,cef75ebdb6998a789434db797371514c" ] ], "versions_samtools": [ [ "SAMTOOLS_REHEADER", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:08:31.309090187", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:02:57.299464" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/samples/environment.yml b/modules/nf-core/samtools/samples/environment.yml index 74446d281909..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/samples/environment.yml +++ b/modules/nf-core/samtools/samples/environment.yml @@ -4,4 +4,7 @@ channels: - conda-forge - bioconda dependencies: - - "bioconda::samtools=1.23" + # renovate: datasource=conda depName=bioconda/htslib + - bioconda::htslib=1.24 + # renovate: datasource=conda depName=bioconda/samtools + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/samples/main.nf b/modules/nf-core/samtools/samples/main.nf index 37df58158a0d..b9f9bbf8a8b7 100644 --- a/modules/nf-core/samtools/samples/main.nf +++ b/modules/nf-core/samtools/samples/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_SAMPLES { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(bam), path(bai) diff --git a/modules/nf-core/samtools/samples/tests/main.nf.test b/modules/nf-core/samtools/samples/tests/main.nf.test index 302f2b014269..c0b60f616b58 100644 --- a/modules/nf-core/samtools/samples/tests/main.nf.test +++ b/modules/nf-core/samtools/samples/tests/main.nf.test @@ -25,9 +25,10 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("sarscov2 - [bam, bai], [fasta, fai]") { @@ -50,9 +51,10 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("sarscov2 - [bam, bai], [fasta x2, fai x2]") { @@ -81,9 +83,10 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("sarscov2 - [bam, bai], [] - stub") { @@ -105,7 +108,9 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } @@ -130,9 +135,10 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } - } test("sarscov2 - [bam, bai], [fasta x2, fai x2] - stub") { @@ -161,7 +167,9 @@ nextflow_process { then { assert process.success - assert snapshot(sanitizeOutput(process.out)).match() + assertAll( + { assert snapshot(sanitizeOutput(process.out)).match() } + ) } } } diff --git a/modules/nf-core/samtools/samples/tests/main.nf.test.snap b/modules/nf-core/samtools/samples/tests/main.nf.test.snap index b7f3e2a5f0a4..c2712c9776af 100644 --- a/modules/nf-core/samtools/samples/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/samples/tests/main.nf.test.snap @@ -14,16 +14,16 @@ [ "SAMTOOLS_SAMPLES", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:03:26.530201", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:03:26.530201" + } }, "sarscov2 - [bam, bai], [fasta, fai]": { "content": [ @@ -40,16 +40,16 @@ [ "SAMTOOLS_SAMPLES", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:03:14.000152", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:03:14.000152" + } }, "sarscov2 - [bam, bai], [fasta x2, fai x2]": { "content": [ @@ -66,16 +66,16 @@ [ "SAMTOOLS_SAMPLES", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:03:19.64678", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:03:19.64678" + } }, "sarscov2 - [bam, bai], []": { "content": [ @@ -92,16 +92,16 @@ [ "SAMTOOLS_SAMPLES", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:03:08.791882", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:03:08.791882" + } }, "sarscov2 - [bam, bai], [fasta x2, fai x2] - stub": { "content": [ @@ -118,16 +118,16 @@ [ "SAMTOOLS_SAMPLES", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:03:39.278733", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:03:39.278733" + } }, "sarscov2 - [bam, bai], [fasta, fai] - stub": { "content": [ @@ -144,15 +144,15 @@ [ "SAMTOOLS_SAMPLES", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:03:33.461747", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:03:33.461747" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/sormadup/environment.yml b/modules/nf-core/samtools/sormadup/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/sormadup/environment.yml +++ b/modules/nf-core/samtools/sormadup/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/sormadup/main.nf b/modules/nf-core/samtools/sormadup/main.nf index dd7ef8b88a27..bd25581f6fa7 100644 --- a/modules/nf-core/samtools/sormadup/main.nf +++ b/modules/nf-core/samtools/sormadup/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_SORMADUP { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input) diff --git a/modules/nf-core/samtools/sormadup/tests/main.nf.test b/modules/nf-core/samtools/sormadup/tests/main.nf.test index f9bc34e521fb..61e5d178cd56 100644 --- a/modules/nf-core/samtools/sormadup/tests/main.nf.test +++ b/modules/nf-core/samtools/sormadup/tests/main.nf.test @@ -16,7 +16,6 @@ nextflow_process { input[0] = [ [id: 'test'], 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) ] input[1] = [ [ id:'fasta' ], @@ -30,7 +29,7 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -46,7 +45,6 @@ nextflow_process { input[0] = [ [id: 'test'], 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) ] input[1] = [ [ id:'fasta' ], @@ -58,15 +56,12 @@ nextflow_process { } then { - assert process.success def fasta = params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta' + assert process.success assertAll( { assert snapshot( - cram( - process.out.cram[0][1], - fasta, - ).getReadsMD5(), + cram(process.out.cram[0][1], fasta).getReadsMD5(), file(process.out.crai[0][1]).name, process.out.metrics, process.out.findAll { key, val -> key.startsWith("versions") } @@ -87,7 +82,6 @@ nextflow_process { input[0] = [ [id: 'test'], 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) ] input[1] = [ [ id:'fasta' ], @@ -101,10 +95,8 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } - } - } diff --git a/modules/nf-core/samtools/sormadup/tests/main.nf.test.snap b/modules/nf-core/samtools/sormadup/tests/main.nf.test.snap index e774fc125aa4..5ce63333e29d 100644 --- a/modules/nf-core/samtools/sormadup/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/sormadup/tests/main.nf.test.snap @@ -2,38 +2,6 @@ "sarscov2 - bam - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - - ], - "4": [ - [ - { - "id": "test" - }, - "test.metrics:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "5": [ - [ - "SAMTOOLS_SORMADUP", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { @@ -63,16 +31,16 @@ [ "SAMTOOLS_SORMADUP", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:09:23.851588322", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:03:58.177246" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "sarscov2 - cram": { "content": [ @@ -91,58 +59,26 @@ [ "SAMTOOLS_SORMADUP", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:03:52.7035", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:03:52.7035" + } }, "sarscov2 - bam": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,706f3bc699aa89ae43868fcfd38a0d71" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - - ], - "4": [ - [ - { - "id": "test" - }, - "test.metrics:md5,6093d8853805578a1868f22ff68177e7" - ] - ], - "5": [ - [ - "SAMTOOLS_SORMADUP", - "samtools", - "1.23.1" - ] - ], "bam": [ [ { "id": "test" }, - "test.bam:md5,706f3bc699aa89ae43868fcfd38a0d71" + "test.bam:md5,5ba398077fcb6258f65477176d82681e" ] ], "crai": [ @@ -166,15 +102,15 @@ [ "SAMTOOLS_SORMADUP", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:09:12.316289173", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:03:46.127216" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/sort/environment.yml b/modules/nf-core/samtools/sort/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/sort/environment.yml +++ b/modules/nf-core/samtools/sort/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/sort/main.nf b/modules/nf-core/samtools/sort/main.nf index e75ce915bafb..01f4f8c6820f 100644 --- a/modules/nf-core/samtools/sort/main.nf +++ b/modules/nf-core/samtools/sort/main.nf @@ -4,11 +4,11 @@ process SAMTOOLS_SORT { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: - tuple val(meta), path(bam) + tuple val(meta), path(bam, stageAs: "?/*") tuple val(meta2), path(fasta), path(fai) val index_format diff --git a/modules/nf-core/samtools/sort/tests/main.nf.test b/modules/nf-core/samtools/sort/tests/main.nf.test index b60edf8c2808..035e91b69c3e 100644 --- a/modules/nf-core/samtools/sort/tests/main.nf.test +++ b/modules/nf-core/samtools/sort/tests/main.nf.test @@ -15,11 +15,11 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) ]) - input[1] = Channel.of([ + input[1] = channel.of([ [ id:'fasta' ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) @@ -30,13 +30,13 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( - process.out.bam, - process.out.index, - process.out.findAll { key, val -> key.startsWith("versions") } - ).match()} + process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()}, + process.out.index, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } ) } } @@ -48,11 +48,11 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) ]) - input[1] = Channel.of([ + input[1] = channel.of([ [ id:'fasta' ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) @@ -63,13 +63,13 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( - process.out.bam, - process.out.index, - process.out.findAll { key, val -> key.startsWith("versions") } - ).match()} + process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()}, + process.out.index, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } ) } } @@ -81,11 +81,11 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) ]) - input[1] = Channel.of([ + input[1] = channel.of([ [ id:'fasta' ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) @@ -96,13 +96,13 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( - process.out.bam, - process.out.index, - process.out.findAll { key, val -> key.startsWith("versions") } - ).match()} + process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()}, + process.out.index, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } ) } } @@ -114,14 +114,14 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.sorted.bam', checkIfExists: true) ] ]) - input[1] = Channel.of([ + input[1] = channel.of([ [ id:'fasta' ], // meta map file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) @@ -132,13 +132,13 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( - process.out.bam, - process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, - process.out.findAll { key, val -> key.startsWith("versions") } - ).match()} + process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()}, + process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } ) } } @@ -150,14 +150,14 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.sorted.bam', checkIfExists: true) ] ]) - input[1] = Channel.of([ + input[1] = channel.of([ [ id:'fasta' ], // meta map file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) @@ -168,13 +168,13 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( - process.out.bam, - process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, - process.out.findAll { key, val -> key.startsWith("versions") } - ).match()} + process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()}, + process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } ) } } @@ -186,14 +186,14 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.sorted.bam', checkIfExists: true) ] ]) - input[1] = Channel.of([ + input[1] = channel.of([ [ id:'fasta' ], // meta map file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) @@ -204,13 +204,13 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( - process.out.bam, - process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, - process.out.findAll { key, val -> key.startsWith("versions") } - ).match()} + process.out.bam.collect{meta, bam_ -> file(bam_).name + ':readsMD5,' + bam(bam_).getReadsMD5()}, + process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match() } ) } } @@ -222,11 +222,11 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true) ]) - input[1] = Channel.of([ + input[1] = channel.of([ [ id:'fasta' ], // meta map file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) @@ -237,13 +237,13 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( process.out.cram.collect { it.collect { it instanceof Map ? it : file(it).name } }, process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, process.out.findAll { key, val -> key.startsWith("versions") } - ).match()} + ).match() } ) } } @@ -256,11 +256,11 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) ]) - input[1] = Channel.of([ + input[1] = channel.of([ [ id:'fasta' ], // meta map file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/sarscov2/genome/genome.fasta.fai', checkIfExists: true) @@ -271,8 +271,8 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions") }).match() } ) } @@ -285,14 +285,14 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map [ file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test.paired_end.sorted.bam', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test2.paired_end.sorted.bam', checkIfExists: true) ] ]) - input[1] = Channel.of([ + input[1] = channel.of([ [ id:'fasta' ], // meta map file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) @@ -303,8 +303,8 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions") }).match() } ) } @@ -318,11 +318,11 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.sorted.cram', checkIfExists: true) ]) - input[1] = Channel.of([ + input[1] = channel.of([ [ id:'fasta' ], // meta map file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) @@ -333,47 +333,13 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions") }).match() } ) } } - test("multi_sam") { - - config "./nextflow_sam.config" - - when { - process { - """ - input[0] = Channel.of([ - [ id:'test', single_end:false ], // meta map - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/pairtools/mock.sam', checkIfExists: true) - ]) - input[1] = Channel.of([ - [ id:'fasta' ], // meta map - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) - ]) - input[2] = '' - """ - } - } - - then { - assertAll ( - { assert process.success }, - { assert snapshot( - process.out.bam.collect { it.collect { it instanceof Map ? it : file(it).name } }, - process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, - process.out.findAll { key, val -> key.startsWith("versions") } - ).match()} - ) - } - } - - test("sam") { config "./nextflow_sam.config" @@ -381,12 +347,11 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map - file(params.modules_testdata_base_path + 'genomics/homo_sapiens/pairtools/mock.sam', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/pairtools/mock.sam', checkIfExists: true) ]) - input[1] = Channel.of([ + input[1] = channel.of([ [ id:'fasta' ], // meta map file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) @@ -397,13 +362,13 @@ nextflow_process { } then { - assertAll ( - { assert process.success }, + assert process.success + assertAll( { assert snapshot( process.out.bam.collect { it.collect { it instanceof Map ? it : file(it).name } }, process.out.index.collect { it.collect { it instanceof Map ? it : file(it).name } }, process.out.findAll { key, val -> key.startsWith("versions") } - ).match()} + ).match() } ) } } diff --git a/modules/nf-core/samtools/sort/tests/main.nf.test.snap b/modules/nf-core/samtools/sort/tests/main.nf.test.snap index 5ce05c3cd57a..43677f3c9587 100644 --- a/modules/nf-core/samtools/sort/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/sort/tests/main.nf.test.snap @@ -24,27 +24,21 @@ [ "SAMTOOLS_SORT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T07:15:51.469358", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:04:36.491063" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } }, "bam_csi_index": { "content": [ [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,53aea06779611856bc481c60beabecaa" - ] + "test.sorted.bam:readsMD5,894549ee3ced6b5ca2eed2563a985217" ], [ [ @@ -52,7 +46,7 @@ "id": "test", "single_end": false }, - "test.sorted.bam.csi:md5,f77a4adb3dde616d7eafd28db2ed147c" + "test.sorted.bam.csi:md5,43f545200e545ca2075c475d194a5130" ] ], { @@ -60,16 +54,16 @@ [ "SAMTOOLS_SORT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T17:05:03.136300204", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:04:14.341977" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "bam - stub": { "content": [ @@ -78,27 +72,21 @@ [ "SAMTOOLS_SORT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:04:43.558376", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:04:43.558376" + } }, "multiple bam bai index": { "content": [ [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,a15f775c655d4a3b080812a8aae84d34" - ] + "test.sorted.bam:readsMD5,c4525b95f05075208347295e6a1fb232" ], [ [ @@ -114,16 +102,16 @@ [ "SAMTOOLS_SORT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T17:05:14.840145298", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:04:25.647565" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "cram - stub": { "content": [ @@ -132,27 +120,21 @@ [ "SAMTOOLS_SORT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:04:54.684578", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:04:54.684578" + } }, "multiple bam": { "content": [ [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,f4343475d9ed2c261f31e1e49d67c1b6" - ] + "test.sorted.bam:readsMD5,c4525b95f05075208347295e6a1fb232" ], [ @@ -162,16 +144,16 @@ [ "SAMTOOLS_SORT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T17:05:09.324351486", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:04:20.2368" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "multiple bam - stub": { "content": [ @@ -180,51 +162,21 @@ [ "SAMTOOLS_SORT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:04:48.874947", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:04:48.874947" + } }, "bam_no_index": { "content": [ [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,9277ba4bea590ae1b84e6ab06d11d79b" - ] - ], - [ - - ], - { - "versions_samtools": [ - [ - "SAMTOOLS_SORT", - "samtools", - "1.23.1" - ] - ] - } - ], - "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:04:03.721646" - }, - "multi_sam": { - "content": [ - [ - + "test.sorted.bam:readsMD5,894549ee3ced6b5ca2eed2563a985217" ], [ @@ -234,27 +186,21 @@ [ "SAMTOOLS_SORT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T17:04:53.194840222", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:05:00.624092" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "multiple bam csi index": { "content": [ [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,f168809dc154156c40548c06d0f46791" - ] + "test.sorted.bam:readsMD5,c4525b95f05075208347295e6a1fb232" ], [ [ @@ -270,16 +216,16 @@ [ "SAMTOOLS_SORT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T17:05:22.574450685", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:04:31.11865" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "sam": { "content": [ @@ -294,27 +240,21 @@ [ "SAMTOOLS_SORT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T07:19:30.478625", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:05:06.309319" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } }, "bam_bai_index": { "content": [ [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,2ca2d7f2368251d3f06f84afa49865a5" - ] + "test.sorted.bam:readsMD5,894549ee3ced6b5ca2eed2563a985217" ], [ [ @@ -322,7 +262,7 @@ "id": "test", "single_end": false }, - "test.sorted.bam.bai:md5,66dca3dc2e314029035799f6f44f60d1" + "test.sorted.bam.bai:md5,4810374728f259a493e1e61c90847da3" ] ], { @@ -330,15 +270,15 @@ [ "SAMTOOLS_SORT", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T17:04:58.163543444", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:04:09.147615" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/splitheader/environment.yml b/modules/nf-core/samtools/splitheader/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/splitheader/environment.yml +++ b/modules/nf-core/samtools/splitheader/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/splitheader/main.nf b/modules/nf-core/samtools/splitheader/main.nf index 6e077bb77aca..988d198e9d3d 100644 --- a/modules/nf-core/samtools/splitheader/main.nf +++ b/modules/nf-core/samtools/splitheader/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_SPLITHEADER { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input) diff --git a/modules/nf-core/samtools/splitheader/tests/main.nf.test b/modules/nf-core/samtools/splitheader/tests/main.nf.test index f79cfdf2e9b9..acd5f8a3f321 100644 --- a/modules/nf-core/samtools/splitheader/tests/main.nf.test +++ b/modules/nf-core/samtools/splitheader/tests/main.nf.test @@ -16,10 +16,9 @@ nextflow_process { process { """ input[0] = [ - [ id:'test' ], - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) ] - """ } } @@ -32,8 +31,7 @@ nextflow_process { file(process.out.programs[0][1]).readLines(), file(process.out.sequences[0][1]).readLines(), process.out.findAll { key, val -> key.startsWith("versions") } - ).match() - } + ).match() } ) } } @@ -46,10 +44,9 @@ nextflow_process { process { """ input[0] = [ - [ id:'test' ], - file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) + [ id:'test' ], + file(params.modules_testdata_base_path + 'genomics/sarscov2/illumina/bam/test.paired_end.bam', checkIfExists: true) ] - """ } } @@ -57,9 +54,8 @@ nextflow_process { then { assert process.success assertAll( - { assert snapshot(process.out).match()} + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } - } diff --git a/modules/nf-core/samtools/splitheader/tests/main.nf.test.snap b/modules/nf-core/samtools/splitheader/tests/main.nf.test.snap index e1bb336b49a9..fcc5fb5064ce 100644 --- a/modules/nf-core/samtools/splitheader/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/splitheader/tests/main.nf.test.snap @@ -7,7 +7,7 @@ [ "@PG\tID:minimap2\tPN:minimap2\tVN:2.17-r941\tCL:minimap2 -ax sr tests/data/fasta/sarscov2/GCA_011545545.1_ASM1154554v1_genomic.fna tests/data/fastq/dna/sarscov2_1.fastq.gz tests/data/fastq/dna/sarscov2_2.fastq.gz", "@PG\tID:samtools\tPN:samtools\tPP:minimap2\tVN:1.11\tCL:samtools view -Sb sarscov2_aln.sam", - "@PG\tID:samtools.1\tPN:samtools\tPP:samtools\tVN:1.23.1\tCL:samtools view -H test.paired_end.bam" + "@PG\tID:samtools.1\tPN:samtools\tPP:samtools\tVN:1.24\tCL:samtools view -H test.paired_end.bam" ], [ "@SQ\tSN:MT192765.1\tLN:29829" @@ -17,51 +17,20 @@ [ "SAMTOOLS_SPLITHEADER", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-03-19T09:05:11.548262", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:05:11.548262" + } }, "test-samtools-splitheader - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test_readgroups.txt:md5,2753555b7fee08ebda25868f78ae34a4" - ] - ], - "1": [ - [ - { - "id": "test" - }, - "test_programs.txt:md5,fd5e1967fc571c61456c9289350d002b" - ] - ], - "2": [ - [ - { - "id": "test" - }, - "test_sequences.txt:md5,8366d818a88a379ca885eb497aefc999" - ] - ], - "3": [ - [ - "SAMTOOLS_SPLITHEADER", - "samtools", - "1.23.1" - ] - ], "programs": [ [ { @@ -90,15 +59,15 @@ [ "SAMTOOLS_SPLITHEADER", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:10:33.666253801", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:05:18.527012" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/stats/environment.yml b/modules/nf-core/samtools/stats/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/stats/environment.yml +++ b/modules/nf-core/samtools/stats/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/stats/main.nf b/modules/nf-core/samtools/stats/main.nf index 28457e686cdc..525ae00f966b 100644 --- a/modules/nf-core/samtools/stats/main.nf +++ b/modules/nf-core/samtools/stats/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_STATS { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input), path(input_index) diff --git a/modules/nf-core/samtools/stats/tests/main.nf.test b/modules/nf-core/samtools/stats/tests/main.nf.test index 140adf34f2ec..5059e29638ef 100644 --- a/modules/nf-core/samtools/stats/tests/main.nf.test +++ b/modules/nf-core/samtools/stats/tests/main.nf.test @@ -14,7 +14,7 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map 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) @@ -25,9 +25,9 @@ nextflow_process { } then { + assert process.success assertAll( - {assert process.success}, - {assert snapshot(process.out).match()} + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -37,12 +37,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true) ]) - input[1] = Channel.of([ + input[1] = channel.of([ [ id:'genome' ], // meta map file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) @@ -52,9 +52,9 @@ nextflow_process { } then { + assert process.success assertAll( - {assert process.success}, - {assert snapshot(process.out).match()} + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -66,7 +66,7 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map 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) @@ -77,9 +77,9 @@ nextflow_process { } then { + assert process.success assertAll( - {assert process.success}, - {assert snapshot(process.out).match()} + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -91,12 +91,12 @@ nextflow_process { when { process { """ - input[0] = Channel.of([ + input[0] = channel.of([ [ id:'test', single_end:false ], // meta map file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/cram/test.paired_end.recalibrated.sorted.cram.crai', checkIfExists: true) ]) - input[1] = Channel.of([ + input[1] = channel.of([ [ id:'genome' ], // meta map file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/chr21/sequence/genome.fasta.fai', checkIfExists: true) @@ -106,9 +106,9 @@ nextflow_process { } then { + assert process.success assertAll( - {assert process.success}, - {assert snapshot(process.out).match()} + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } diff --git a/modules/nf-core/samtools/stats/tests/main.nf.test.snap b/modules/nf-core/samtools/stats/tests/main.nf.test.snap index 975d44a17549..12eb0e47cb7e 100644 --- a/modules/nf-core/samtools/stats/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/stats/tests/main.nf.test.snap @@ -2,65 +2,33 @@ "cram": { "content": [ { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test.stats:md5,e4d6cf0e75cebd0bafa84141e0b6929b" - ] - ], - "1": [ - [ - "SAMTOOLS_STATS", - "samtools", - "1.23.1" - ] - ], "stats": [ [ { "id": "test", "single_end": false }, - "test.stats:md5,e4d6cf0e75cebd0bafa84141e0b6929b" + "test.stats:md5,f8d811a048831b83812d55073566e67f" ] ], "versions_samtools": [ [ "SAMTOOLS_STATS", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:10:52.814596882", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:05:39.987454" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "bam - stub": { "content": [ { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - [ - "SAMTOOLS_STATS", - "samtools", - "1.23.1" - ] - ], "stats": [ [ { @@ -74,36 +42,20 @@ [ "SAMTOOLS_STATS", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:10:57.131242371", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:05:47.495502" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "cram - stub": { "content": [ { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test.stats:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - [ - "SAMTOOLS_STATS", - "samtools", - "1.23.1" - ] - ], "stats": [ [ { @@ -117,58 +69,42 @@ [ "SAMTOOLS_STATS", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:11:08.400007304", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:05:56.38373" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "bam": { "content": [ { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test.stats:md5,80f94eb0b68e213bdc8231109d3b43ad" - ] - ], - "1": [ - [ - "SAMTOOLS_STATS", - "samtools", - "1.23.1" - ] - ], "stats": [ [ { "id": "test", "single_end": false }, - "test.stats:md5,80f94eb0b68e213bdc8231109d3b43ad" + "test.stats:md5,2313c93da60ff8673a793b14a0886987" ] ], "versions_samtools": [ [ "SAMTOOLS_STATS", "samtools", - "1.23.1" + "1.24" ] ] } ], + "timestamp": "2026-07-10T16:10:38.846072426", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:05:24.59441" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/modules/nf-core/samtools/view/environment.yml b/modules/nf-core/samtools/view/environment.yml index 946bb362be8c..6a19f168c2fc 100644 --- a/modules/nf-core/samtools/view/environment.yml +++ b/modules/nf-core/samtools/view/environment.yml @@ -5,6 +5,6 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/htslib - - bioconda::htslib=1.23.1 + - bioconda::htslib=1.24 # renovate: datasource=conda depName=bioconda/samtools - - bioconda::samtools=1.23.1 + - bioconda::samtools=1.24 diff --git a/modules/nf-core/samtools/view/main.nf b/modules/nf-core/samtools/view/main.nf index 1823daab3535..459d4f24ac62 100644 --- a/modules/nf-core/samtools/view/main.nf +++ b/modules/nf-core/samtools/view/main.nf @@ -4,8 +4,8 @@ process SAMTOOLS_VIEW { conda "${moduleDir}/environment.yml" container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container - ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/8c/8c5d2818c8b9f58e1fba77ce219fdaf32087ae53e857c4a496402978af26e78c/data' - : 'community.wave.seqera.io/library/htslib_samtools:1.23.1--5b6bb4ede7e612e5'}" + ? 'https://community-cr-prod.seqera.io/docker/registry/v2/blobs/sha256/e9/e994bf4eb3731150511a14f5706b7bdfd64df1b6d40898fff334286c027e0859/data' + : 'community.wave.seqera.io/library/htslib_samtools:1.24--d697cfb9dce007cd'}" input: tuple val(meta), path(input), path(index) diff --git a/modules/nf-core/samtools/view/tests/main.nf.test b/modules/nf-core/samtools/view/tests/main.nf.test index 12faf1f1da9f..35cfacf5e06d 100644 --- a/modules/nf-core/samtools/view/tests/main.nf.test +++ b/modules/nf-core/samtools/view/tests/main.nf.test @@ -31,8 +31,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam"])).match()} ) } @@ -59,8 +59,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam", "csi"])).match()} ) } @@ -87,8 +87,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam", "bai"])).match()} ) } @@ -107,7 +107,7 @@ nextflow_process { [] ] input[1] = [[],[],[]] - input[2] = Channel.of('testN:1') + input[2] = channel.of('testN:1') .collectFile(name: 'selected_reads.txt') .map { file -> [[:], file] } input[3] = [[], []] @@ -117,8 +117,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam", "bai", "unselected", "unselected_index"])).match()} ) } @@ -137,7 +137,7 @@ nextflow_process { [] ] input[1] = [[],[],[]] - input[2] = Channel.of('testN:1') + input[2] = channel.of('testN:1') .collectFile(name: 'selected_reads.txt') .map { file -> [[:], file] } input[3] = [[], []] @@ -147,8 +147,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam", "bai", "unselected", "unselected_index", "crai"])).match()} ) } @@ -179,8 +179,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["cram"])).match()} ) } @@ -211,8 +211,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam"])).match()} ) } @@ -243,8 +243,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam", "csi"])).match()} ) } @@ -267,7 +267,7 @@ nextflow_process { file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta', checkIfExists: true), file(params.modules_testdata_base_path + 'genomics/homo_sapiens/genome/genome.fasta.fai', checkIfExists: true) ] - input[2] = Channel.of("testN:2817", "testN:2814") + input[2] = channel.of("testN:2817", "testN:2814") .collectFile(name: "readnames.list", newLine: true) .map { file -> [[:], file] } input[3] = [[], []] @@ -277,8 +277,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam", "bai", "unselected", "unselected_index"])).match()} ) } @@ -308,14 +308,14 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam"])).match()} ) } } - test("bam_stub") { + test("bam - stub") { options "-stub" @@ -339,8 +339,8 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["bam", "csi"])).match()} ) } @@ -370,9 +370,9 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -401,9 +401,9 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -424,7 +424,7 @@ nextflow_process { [] ] input[1] = [[],[],[]] - input[2] = Channel.of('testN:1') + input[2] = channel.of('testN:1') .collectFile(name: 'selected_reads.txt') .map { file -> [[:], file] } input[3] = [[], []] @@ -434,9 +434,9 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -457,7 +457,7 @@ nextflow_process { [] ] input[1] = [[],[],[]] - input[2] = Channel.of('testN:1') + input[2] = channel.of('testN:1') .collectFile(name: 'selected_reads.txt') .map { file -> [[:], file] } input[3] = [[], []] @@ -467,9 +467,9 @@ nextflow_process { } then { + assert process.success assertAll( - { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } diff --git a/modules/nf-core/samtools/view/tests/main.nf.test.snap b/modules/nf-core/samtools/view/tests/main.nf.test.snap index 697c918da52b..c5d5ec4719e3 100644 --- a/modules/nf-core/samtools/view/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/view/tests/main.nf.test.snap @@ -1,5 +1,5 @@ { - "cram_to_bam_index": { + "bam - stub": { "content": [ { "bai": [ @@ -40,61 +40,72 @@ [ "SAMTOOLS_VIEW", "samtools", - "1.23.1" + "1.24" ] ] } ], - "timestamp": "2026-03-19T09:06:44.475595", + "timestamp": "2026-03-19T09:06:58.641723", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" } }, - "bam_csi_index - stub": { + "cram_to_bam_index": { "content": [ { - "0": [ + "bai": [ + + ], + "bam": [ [ { "id": "test" }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.bam" ] ], - "1": [ - - ], - "2": [ + "crai": [ ], - "3": [ + "cram": [ ], - "4": [ + "csi": [ [ { "id": "test" }, - "test.bam.csi:md5,d41d8cd98f00b204e9800998ecf8427e" + "test.bam.csi" ] ], - "5": [ + "sam": [ ], - "6": [ + "unselected": [ ], - "7": [ + "unselected_index": [ ], - "8": [ + "versions_samtools": [ [ "SAMTOOLS_VIEW", "samtools", - "1.23.1" + "1.24" ] - ], + ] + } + ], + "timestamp": "2026-03-19T09:06:44.475595", + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.4" + } + }, + "bam_csi_index - stub": { + "content": [ + { "bai": [ ], @@ -133,15 +144,15 @@ [ "SAMTOOLS_VIEW", "samtools", - "1.23.1" + "1.24" ] ] } ], - "timestamp": "2026-03-19T09:07:04.977559", + "timestamp": "2026-07-10T16:12:09.164122236", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" + "nf-test": "0.9.5", + "nextflow": "26.04.4" } }, "bam_csi_index": { @@ -185,7 +196,7 @@ [ "SAMTOOLS_VIEW", "samtools", - "1.23.1" + "1.24" ] ] } @@ -221,7 +232,7 @@ { "id": "test" }, - "test.bam.csi:md5,15d725bced7ececd45b4312b2af99a6b" + "test.bam.csi:md5,36dfac2afdf9721b069abb6d5a72575b" ] ], "sam": [ @@ -247,15 +258,15 @@ [ "SAMTOOLS_VIEW", "samtools", - "1.23.1" + "1.24" ] ] } ], - "timestamp": "2026-03-19T09:06:52.242422", + "timestamp": "2026-07-10T07:05:48.466004", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" + "nf-test": "0.9.5", + "nextflow": "26.04.6" } }, "bam_bai_index_unselected": { @@ -309,7 +320,7 @@ [ "SAMTOOLS_VIEW", "samtools", - "1.23.1" + "1.24" ] ] } @@ -323,57 +334,6 @@ "cram_crai_index_unselected - stub": { "content": [ { - "0": [ - - ], - "1": [ - [ - { - "id": "test" - }, - "test.cram:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "2": [ - - ], - "3": [ - - ], - "4": [ - - ], - "5": [ - [ - { - "id": "test" - }, - "test.cram.crai:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "6": [ - [ - { - "id": "test" - }, - "test.unselected.cram:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "7": [ - [ - { - "id": "test" - }, - "test.unselected.cram.crai:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "8": [ - [ - "SAMTOOLS_VIEW", - "samtools", - "1.23.1" - ] - ], "bai": [ ], @@ -422,15 +382,15 @@ [ "SAMTOOLS_VIEW", "samtools", - "1.23.1" + "1.24" ] ] } ], - "timestamp": "2026-03-19T09:07:27.864649", + "timestamp": "2026-07-10T16:12:24.084790566", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" + "nf-test": "0.9.5", + "nextflow": "26.04.4" } }, "bam": { @@ -469,7 +429,7 @@ [ "SAMTOOLS_VIEW", "samtools", - "1.23.1" + "1.24" ] ] } @@ -521,7 +481,7 @@ [ "SAMTOOLS_VIEW", "samtools", - "1.23.1" + "1.24" ] ] } @@ -568,61 +528,20 @@ [ "SAMTOOLS_VIEW", "samtools", - "1.23.1" + "1.24" ] ] } ], - "timestamp": "2026-03-19T09:06:37.592685", + "timestamp": "2026-07-10T07:11:14.584008", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" + "nf-test": "0.9.5", + "nextflow": "26.04.6" } }, "bam_bai_index - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - [ - { - "id": "test" - }, - "test.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "4": [ - - ], - "5": [ - - ], - "6": [ - - ], - "7": [ - - ], - "8": [ - [ - "SAMTOOLS_VIEW", - "samtools", - "1.23.1" - ] - ], "bai": [ [ { @@ -661,15 +580,15 @@ [ "SAMTOOLS_VIEW", "samtools", - "1.23.1" + "1.24" ] ] } ], - "timestamp": "2026-03-19T09:07:12.214174", + "timestamp": "2026-07-10T16:12:13.984891834", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" + "nf-test": "0.9.5", + "nextflow": "26.04.4" } }, "cram": { @@ -708,7 +627,7 @@ [ "SAMTOOLS_VIEW", "samtools", - "1.23.1" + "1.24" ] ] } @@ -722,57 +641,6 @@ "bam_bai_index_uselected - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - [ - { - "id": "test" - }, - "test.bam.bai:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "4": [ - - ], - "5": [ - - ], - "6": [ - [ - { - "id": "test" - }, - "test.unselected.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "7": [ - [ - { - "id": "test" - }, - "test.unselected.bam.csi:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "8": [ - [ - "SAMTOOLS_VIEW", - "samtools", - "1.23.1" - ] - ], "bai": [ [ { @@ -821,15 +689,15 @@ [ "SAMTOOLS_VIEW", "samtools", - "1.23.1" + "1.24" ] ] } ], - "timestamp": "2026-03-19T09:07:21.14353", + "timestamp": "2026-07-10T16:12:18.931059039", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" + "nf-test": "0.9.5", + "nextflow": "26.04.4" } }, "bam_with_bed": { @@ -868,7 +736,7 @@ [ "SAMTOOLS_VIEW", "samtools", - "1.23.1" + "1.24" ] ] } @@ -901,7 +769,7 @@ { "id": "test" }, - "test.cram:md5,924e27301c54060128cc259f5f83e74f" + "test.cram:md5,ed9bda19351bd1adb3b92db0f86745f1" ] ], "csi": [ @@ -930,67 +798,15 @@ [ "SAMTOOLS_VIEW", "samtools", - "1.23.1" + "1.24" ] ] } ], - "timestamp": "2026-03-19T09:06:23.90307", + "timestamp": "2026-07-10T07:05:26.622858", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - } - }, - "bam_stub": { - "content": [ - { - "bai": [ - - ], - "bam": [ - [ - { - "id": "test" - }, - "test.bam" - ] - ], - "crai": [ - - ], - "cram": [ - - ], - "csi": [ - [ - { - "id": "test" - }, - "test.bam.csi" - ] - ], - "sam": [ - - ], - "unselected": [ - - ], - "unselected_index": [ - - ], - "versions_samtools": [ - [ - "SAMTOOLS_VIEW", - "samtools", - "1.23.1" - ] - ] - } - ], - "timestamp": "2026-03-19T09:06:58.641723", - "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" + "nf-test": "0.9.5", + "nextflow": "26.04.6" } } } \ No newline at end of file diff --git a/modules/nf-core/sexdeterrmine/main.nf b/modules/nf-core/sexdeterrmine/main.nf index 997b04e1fcef..5d72ebef176a 100644 --- a/modules/nf-core/sexdeterrmine/main.nf +++ b/modules/nf-core/sexdeterrmine/main.nf @@ -1,11 +1,11 @@ process SEXDETERRMINE { - tag "$meta.id" + tag "${meta.id}" label 'process_single' conda "${moduleDir}/environment.yml" - container "${ workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container ? - 'https://depot.galaxyproject.org/singularity/sexdeterrmine:1.1.2--hdfd78af_1': - 'quay.io/biocontainers/sexdeterrmine:1.1.2--hdfd78af_1' }" + container "${workflow.containerEngine in ['singularity', 'apptainer'] && !task.ext.singularity_pull_docker_container + ? 'https://depot.galaxyproject.org/singularity/sexdeterrmine:1.1.2--hdfd78af_1' + : 'quay.io/biocontainers/sexdeterrmine:1.1.2--hdfd78af_1'}" input: tuple val(meta), path(depth) @@ -13,8 +13,8 @@ process SEXDETERRMINE { output: tuple val(meta), path("*.json"), emit: json - tuple val(meta), path("*.tsv") , emit: tsv - path "versions.yml" , emit: versions + tuple val(meta), path("*.tsv"), emit: tsv + tuple val("${task.process}"), val('sexdeterrmine'), eval("sexdeterrmine --version 2>&1"), topic: versions, emit: versions_sexdeterrmine when: task.ext.when == null || task.ext.when @@ -23,33 +23,26 @@ process SEXDETERRMINE { def args = task.ext.args ?: '' def prefix = task.ext.prefix ?: "${meta.id}_sexdeterrmine" def sample_list = sample_list_file ? '-f ${sample_list_file}' : '' - if ("$depth" == "${prefix}.tsv") error "Input depth and output TSV names are the same, set prefix in module configuration to disambiguate!" + if ("${depth}" == "${prefix}.tsv") { + error("Input depth and output TSV names are the same, set prefix in module configuration to disambiguate!") + } """ sexdeterrmine \\ - -I $depth \\ - $sample_list \\ - $args \\ + -I ${depth} \\ + ${sample_list} \\ + ${args} \\ > ${prefix}.tsv - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - sexdeterrmine: \$(echo \$(sexdeterrmine --version 2>&1)) - END_VERSIONS """ stub: def prefix = task.ext.prefix ?: "${meta.id}_sexdeterrmine" - if ("$depth" == "${prefix}.tsv") error "Input depth and output TSV names are the same, set prefix in module configuration to disambiguate!" + if ("${depth}" == "${prefix}.tsv") { + error("Input depth and output TSV names are the same, set prefix in module configuration to disambiguate!") + } """ touch ${prefix}.tsv touch ${prefix}.json - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - sexdeterrmine: \$(echo \$(sexdeterrmine --version 2>&1)) - END_VERSIONS """ - } diff --git a/modules/nf-core/sexdeterrmine/meta.yml b/modules/nf-core/sexdeterrmine/meta.yml index 8827b255aba4..02fc839029b2 100644 --- a/modules/nf-core/sexdeterrmine/meta.yml +++ b/modules/nf-core/sexdeterrmine/meta.yml @@ -1,6 +1,6 @@ name: "sexdeterrmine" -description: Calculate the relative coverage on the Gonosomes vs Autosomes from the - output of samtools depth, with error bars. +description: Calculate the relative coverage on the Gonosomes vs Autosomes from + the output of samtools depth, with error bars. keywords: - sex determination - genetic sex @@ -14,7 +14,8 @@ tools: documentation: "https://github.com/TCLamnidis/Sex.DetERRmine/README.md" tool_dev_url: "https://github.com/TCLamnidis/Sex.DetERRmine" doi: "10.1038/s41467-018-07483-5" - licence: ["GPL v3"] + licence: + - "GPL v3" identifier: "" input: - - meta: @@ -40,11 +41,11 @@ output: e.g. [ id:'test', single_end:false ] - "*.json": type: file - description: JSON formatted table of relative coverages on the X and Y, with - associated error bars. + description: JSON formatted table of relative coverages on the X and Y, + with associated error bars. pattern: "*.json" ontologies: - - edam: http://edamontology.org/format_3464 # JSON + - edam: http://edamontology.org/format_3464 #JSON tsv: - - meta: type: map @@ -53,18 +54,32 @@ output: e.g. [ id:'test', single_end:false ] - "*.tsv": type: file - description: TSV table of relative coverages on the X and Y, with associated - error bars. + description: TSV table of relative coverages on the X and Y, with + associated error bars. pattern: "*.tsv" ontologies: - - edam: http://edamontology.org/format_3475 # TSV + - edam: http://edamontology.org/format_3475 #TSV + versions_sexdeterrmine: + - - ${task.process}: + type: string + description: The name of the process + - sexdeterrmine: + type: string + description: The name of the tool + - sexdeterrmine --version 2>&1: + type: eval + description: The expression to obtain the version of the tool +topics: versions: - - versions.yml: - type: file - description: File containing software versions - pattern: "versions.yml" - ontologies: - - edam: http://edamontology.org/format_3750 # YAML + - - ${task.process}: + type: string + description: The name of the process + - sexdeterrmine: + type: string + description: The name of the tool + - sexdeterrmine --version 2>&1: + type: eval + description: The expression to obtain the version of the tool authors: - "@TCLamnidis" maintainers: diff --git a/modules/nf-core/sexdeterrmine/tests/main.nf.test b/modules/nf-core/sexdeterrmine/tests/main.nf.test index 180a07ccc4d8..fea459c26fc1 100644 --- a/modules/nf-core/sexdeterrmine/tests/main.nf.test +++ b/modules/nf-core/sexdeterrmine/tests/main.nf.test @@ -23,13 +23,11 @@ nextflow_process { input[0] = [ [ id:'test' ], file(params.modules_testdata_base_path + 'genomics/homo_sapiens/illumina/bam/test3.single_end.markduplicates.sorted.bam', checkIfExists: true), - [] + [], [] ] - input[1] = [[ id:'test2'], []] """ } } - } when { @@ -44,10 +42,9 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } - } test("sarscov2 - bam - stub") { @@ -66,10 +63,8 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } - } - } diff --git a/modules/nf-core/sexdeterrmine/tests/main.nf.test.snap b/modules/nf-core/sexdeterrmine/tests/main.nf.test.snap index f8d12b655c23..1cda0b85cb05 100644 --- a/modules/nf-core/sexdeterrmine/tests/main.nf.test.snap +++ b/modules/nf-core/sexdeterrmine/tests/main.nf.test.snap @@ -2,25 +2,6 @@ "sarscov2 - bam - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test_sexdeterrmine.json:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - [ - { - "id": "test" - }, - "test_sexdeterrmine.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "2": [ - "versions.yml:md5,a798225844d2b00c64b0d7051210fcca" - ], "json": [ [ { @@ -37,39 +18,24 @@ "test_sexdeterrmine.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,a798225844d2b00c64b0d7051210fcca" + "versions_sexdeterrmine": [ + [ + "SEXDETERRMINE", + "sexdeterrmine", + "1.1.2" + ] ] } ], + "timestamp": "2026-07-10T14:03:53.206974723", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" - }, - "timestamp": "2025-03-07T11:17:23.984689839" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "sarscov2 - bam": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "sexdeterrmine.json:md5,bafb2419bb8630eda29a251c20e97166" - ] - ], - "1": [ - [ - { - "id": "test" - }, - "test_sexdeterrmine.tsv:md5,1cf8a2b97b38353eb97a96ab872dcca9" - ] - ], - "2": [ - "versions.yml:md5,a798225844d2b00c64b0d7051210fcca" - ], "json": [ [ { @@ -86,15 +52,19 @@ "test_sexdeterrmine.tsv:md5,1cf8a2b97b38353eb97a96ab872dcca9" ] ], - "versions": [ - "versions.yml:md5,a798225844d2b00c64b0d7051210fcca" + "versions_sexdeterrmine": [ + [ + "SEXDETERRMINE", + "sexdeterrmine", + "1.1.2" + ] ] } ], + "timestamp": "2026-07-10T14:03:46.831611367", "meta": { - "nf-test": "0.9.2", - "nextflow": "24.10.5" - }, - "timestamp": "2025-03-07T11:06:12.838224849" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } } } \ No newline at end of file diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/main.nf.test.snap b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/main.nf.test.snap index 406b164dd584..6d51b4fb4f77 100644 --- a/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/main.nf.test.snap +++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umicollapse/tests/main.nf.test.snap @@ -6,15 +6,15 @@ { "id": "test" }, - "test.stats:md5,2647af58445f24109d008f3973ddbe12" + "test.stats:md5,6c45d1aea740cf5b2283f98b3b464482" ] ] ], + "timestamp": "2026-07-10T08:38:32.509121", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:58:43.373249" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } }, "test_bam_dedup_stats_samtools_umicollapse_flagstats": { "content": [ @@ -27,11 +27,11 @@ ] ] ], + "timestamp": "2026-02-03T09:58:09.226353172", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.3" - }, - "timestamp": "2026-02-03T09:58:09.226353172" + } }, "test_bam_dedup_stats_samtools_umicollapse_idxstats": { "content": [ @@ -44,20 +44,20 @@ ] ] ], + "timestamp": "2026-02-03T09:58:09.233354058", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.3" - }, - "timestamp": "2026-02-03T09:58:09.233354058" + } }, "test_bam_dedup_stats_samtools_umicollapse_bam": { "content": [ "b7be15ac7aae194b04bdbb56f3534495" ], + "timestamp": "2026-02-03T09:58:09.209299524", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.3" - }, - "timestamp": "2026-02-03T09:58:09.209299524" + } } } \ No newline at end of file diff --git a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test.snap b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test.snap index e5a7fd9c090e..d5f3ae63d541 100644 --- a/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test.snap +++ b/subworkflows/nf-core/bam_dedup_stats_samtools_umitools/tests/main.nf.test.snap @@ -9,7 +9,7 @@ { "id": "test" }, - "test.stats:md5,70553e4c07cdfc8499e8256ac9fbb2f1" + "test.stats:md5,f50d70ddcc06282c853aeb3287957f33" ] ], [ @@ -29,11 +29,11 @@ ] ] ], + "timestamp": "2026-07-10T14:38:30.502349782", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T10:41:13.746525" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "sarscov2_bam_bai - primary_only": { "content": [ @@ -45,7 +45,7 @@ { "id": "test" }, - "test.stats:md5,70553e4c07cdfc8499e8256ac9fbb2f1" + "test.stats:md5,f50d70ddcc06282c853aeb3287957f33" ] ], [ @@ -65,11 +65,11 @@ ] ] ], + "timestamp": "2026-07-10T14:38:43.731184833", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T10:41:31.325361" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "sarscov2_bam_bai - stub": { "content": [ @@ -220,10 +220,10 @@ ] } ], + "timestamp": "2026-03-12T11:41:08.515040393", "meta": { "nf-test": "0.9.4", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-12T11:41:08.515040393" + } } } \ No newline at end of file diff --git a/subworkflows/nf-core/bam_dedup_umi/tests/main.nf.test.snap b/subworkflows/nf-core/bam_dedup_umi/tests/main.nf.test.snap index d20175aca929..a89e4c54070b 100644 --- a/subworkflows/nf-core/bam_dedup_umi/tests/main.nf.test.snap +++ b/subworkflows/nf-core/bam_dedup_umi/tests/main.nf.test.snap @@ -7,7 +7,7 @@ { "id": "test" }, - "test.umi_dedup.genome.sorted.bam.stats:md5,e2b1cc244a7e5b236ffc1d1db16dab07" + "test.umi_dedup.genome.sorted.bam.stats:md5,5268f5f25556d02765bdf5ffaf27a44b" ] ], [ @@ -27,11 +27,11 @@ ] ] ], + "timestamp": "2026-07-10T08:23:00.649713", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T10:09:35.352304" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } }, "sarscov2_bam_bai - umitools - with transcriptome bams": { "content": [ @@ -42,13 +42,13 @@ { "id": "test" }, - "test.umi_dedup.genome.sorted.bam.stats:md5,e2b1cc244a7e5b236ffc1d1db16dab07" + "test.umi_dedup.genome.sorted.bam.stats:md5,5268f5f25556d02765bdf5ffaf27a44b" ], [ { "id": "test" }, - "test.umi_dedup.transcriptome.sorted.bam.stats:md5,cea5c6195b8c8dead5e7bf1672358f6b" + "test.umi_dedup.transcriptome.sorted.bam.stats:md5,13518c3e657b9a67b3792a2e82336494" ] ], [ @@ -80,10 +80,10 @@ ] ] ], + "timestamp": "2026-07-10T08:22:16.039324", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T10:20:43.686377" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } } } \ No newline at end of file diff --git a/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test.snap b/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test.snap index aab4402493c9..7b815a740a0e 100644 --- a/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test.snap +++ b/subworkflows/nf-core/bam_markduplicates_picard/tests/main.nf.test.snap @@ -5,13 +5,13 @@ "test.md.cram.crai:md5,b641c19be42d4841ec7155c686b70f39", "test.flagstat:md5,93b0ef463df947ede1f42ff60396c34d", "test.idxstats:md5,e179601fa7b8ebce81ac3765206f6c15", - "test.stats:md5,e29d037f498c3e759a98641abf0e6028" + "test.stats:md5,1240277238efc787316933ff478cb091" ], + "timestamp": "2026-07-10T08:17:32.087781", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T10:16:49.877108" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } }, "sarscov2 - bam - stub": { "content": [ @@ -160,11 +160,11 @@ ] } ], + "timestamp": "2026-04-20T10:50:34.652754", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-04-20T10:50:34.652754" + } }, "homo_sapiens - cram - stub": { "content": [ @@ -299,11 +299,11 @@ ] } ], + "timestamp": "2026-04-20T10:51:10.962305", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-04-20T10:51:10.962305" + } }, "sarscov2 - bam": { "content": [ @@ -311,12 +311,12 @@ "test.md.bam.bai:md5,8973dd987f3ac6c352716ef89139c567", "test.flagstat:md5,4f7ffd1e6a5e85524d443209ac97d783", "test.idxstats:md5,df60a8c8d6621100d05178c93fb053a2", - "test.stats:md5,fe8e692d2560dcfd556405b987c9033c" + "test.stats:md5,6d81d7a6f2a78b145b878dc1542a2e27" ], + "timestamp": "2026-07-10T08:17:08.599854", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T10:16:24.606155" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } } } \ No newline at end of file diff --git a/subworkflows/nf-core/bam_markduplicates_samtools/main.nf b/subworkflows/nf-core/bam_markduplicates_samtools/main.nf index fbeeb4f0db06..e7ddfbecba77 100644 --- a/subworkflows/nf-core/bam_markduplicates_samtools/main.nf +++ b/subworkflows/nf-core/bam_markduplicates_samtools/main.nf @@ -17,7 +17,7 @@ workflow BAM_MARKDUPLICATES_SAMTOOLS { SAMTOOLS_COLLATE(ch_bam, ch_fasta_fai) - SAMTOOLS_FIXMATE(SAMTOOLS_COLLATE.out.bam) + SAMTOOLS_FIXMATE(SAMTOOLS_COLLATE.out.bam, ch_fasta_fai) SAMTOOLS_SORT( SAMTOOLS_FIXMATE.out.bam, diff --git a/subworkflows/nf-core/bam_markduplicates_samtools/tests/main.nf.test.snap b/subworkflows/nf-core/bam_markduplicates_samtools/tests/main.nf.test.snap index 43591d8e6e90..187abdbf7e98 100644 --- a/subworkflows/nf-core/bam_markduplicates_samtools/tests/main.nf.test.snap +++ b/subworkflows/nf-core/bam_markduplicates_samtools/tests/main.nf.test.snap @@ -12,20 +12,20 @@ ] } ], + "timestamp": "2026-02-05T15:08:53.753358924", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.3" - }, - "timestamp": "2026-02-05T15:08:53.753358924" + } }, "sarscov2 - bam - fasta": { "content": [ "5a5baeea55f04def40fd3070318e5a3" ], + "timestamp": "2026-02-05T15:08:03.769938198", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.3" - }, - "timestamp": "2026-02-05T15:08:03.769938198" + } } } \ No newline at end of file diff --git a/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test.snap b/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test.snap index d2ed2c25518d..0fc936b2b010 100644 --- a/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test.snap +++ b/subworkflows/nf-core/bam_sort_stats_samtools/tests/main.nf.test.snap @@ -25,15 +25,15 @@ "id": "test", "single_end": false }, - "test.stats:md5,0d0496957cd3bae8f557f2e9f6876a46" + "test.stats:md5,5978c7433373bd9bec33fb2c53688ef2" ] ] ], + "timestamp": "2026-07-10T13:50:51.540506656", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:55:29.570804" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "test_bam_sort_stats_samtools_paired_end": { "content": [ @@ -61,15 +61,15 @@ "id": "test", "single_end": false }, - "test.stats:md5,12b526148cc9b6ffa8893903f65f19fc" + "test.stats:md5,d3fd15dd1ac4596da14e9475babab12e" ] ] ], + "timestamp": "2026-07-10T13:51:00.904735627", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:55:39.804101" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "test_bam_sort_stats_samtools_single_end - stub": { "content": [ @@ -166,11 +166,11 @@ ] } ], + "timestamp": "2026-03-12T15:01:02.797853", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-12T15:01:02.797853" + } }, "test_bam_sort_stats_samtools_paired_end - stub": { "content": [ @@ -267,10 +267,10 @@ ] } ], + "timestamp": "2026-03-12T15:01:13.722701", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-12T15:01:13.722701" + } } } \ No newline at end of file diff --git a/subworkflows/nf-core/bam_split_by_region/tests/main.nf.test.snap b/subworkflows/nf-core/bam_split_by_region/tests/main.nf.test.snap index 518d8226dd1a..0811bb0c68e2 100644 --- a/subworkflows/nf-core/bam_split_by_region/tests/main.nf.test.snap +++ b/subworkflows/nf-core/bam_split_by_region/tests/main.nf.test.snap @@ -7,9 +7,9 @@ "test_chr21:25689497-46709983.bam" ], [ - "ff2ac81c55bf1093af57ce9c159a1376", - "ba5d2e6125ff97fed60e84a54817b552", - "7181c301500c1db2a74180b7511d8bc5" + "69b8f2fcde9e5946e78a81c8b58092c2", + "702c1ba6211f7b165f590ba4e1f6cd0", + "71d00f300415558974b01137e668b830" ], [ "test_chr21:1-23354000.bam.bai", @@ -20,11 +20,11 @@ ] ], + "timestamp": "2026-07-10T14:41:04.424517957", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T09:59:42.713196" + "nf-test": "0.9.5", + "nextflow": "26.04.4" + } }, "homo_sapiens - test_paired_end_markduplicates_sorted_bam - stub": { "content": [ @@ -95,10 +95,10 @@ ] } ], + "timestamp": "2026-01-28T18:53:42.637561", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.2" - }, - "timestamp": "2026-01-28T18:53:42.637561" + } } } \ No newline at end of file diff --git a/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test.snap b/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test.snap index 5a4a01f9f1c2..994ce9df4d40 100644 --- a/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test.snap +++ b/subworkflows/nf-core/bam_stats_samtools/tests/main.nf.test.snap @@ -58,11 +58,11 @@ ] } ], + "timestamp": "2026-02-03T11:10:30.076183827", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.3" - }, - "timestamp": "2026-02-03T11:10:30.076183827" + } }, "test_bam_stats_samtools_single_end - stub": { "content": [ @@ -123,11 +123,11 @@ ] } ], + "timestamp": "2026-02-03T11:10:24.379362883", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.3" - }, - "timestamp": "2026-02-03T11:10:24.379362883" + } }, "test_bam_stats_samtools_paired_end_cram - stub": { "content": [ @@ -188,11 +188,11 @@ ] } ], + "timestamp": "2026-02-03T11:10:35.91658956", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.3" - }, - "timestamp": "2026-02-03T11:10:35.91658956" + } }, "test_bam_stats_samtools_single_end": { "content": [ @@ -220,15 +220,15 @@ "id": "test", "single_end": true }, - "test.stats:md5,afd73326205e0995268b7a796d93139e" + "test.stats:md5,6583f1f142c27974ffc924b7fa734767" ] ] ], + "timestamp": "2026-07-10T08:13:24.390328", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T10:42:09.4463" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } }, "test_bam_stats_samtools_paired_end": { "content": [ @@ -256,15 +256,15 @@ "id": "test", "single_end": true }, - "test.stats:md5,681ce95af0c57dc36c647f2157c17b6a" + "test.stats:md5,c4ca9c9d1415005c80481e6fe4c95f90" ] ] ], + "timestamp": "2026-07-10T08:13:29.123968", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T10:42:15.787592" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } }, "test_bam_stats_samtools_paired_end_cram": { "content": [ @@ -292,14 +292,14 @@ "id": "test", "single_end": false }, - "test.stats:md5,96020b0280addb09a48c63a5d510fc15" + "test.stats:md5,a2a40d6e88c35aa33d4433355f47f217" ] ] ], + "timestamp": "2026-07-10T08:13:33.60771", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T10:42:22.199498" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } } } \ No newline at end of file diff --git a/subworkflows/nf-core/bam_subsampledepth_samtools/tests/main.nf.test.snap b/subworkflows/nf-core/bam_subsampledepth_samtools/tests/main.nf.test.snap index cbc2fe4ab4ac..4bd2561a4ffd 100644 --- a/subworkflows/nf-core/bam_subsampledepth_samtools/tests/main.nf.test.snap +++ b/subworkflows/nf-core/bam_subsampledepth_samtools/tests/main.nf.test.snap @@ -30,9 +30,9 @@ "my_depth": "2x", "depth": 2 }, - "NA12878.bam:md5,1e4245fb0e4141870a244625a15d89b0", - "NA12878.bam.csi:md5,2d6ea8f47df2e7dd2249ebc228f50d39", - 1160 + "NA12878.bam:md5,7e97dfdf35553198393ce6d7e3d40fbc", + "NA12878.bam.csi:md5,4711cc728cd58024660b4d4172685415", + 1225 ], [ { @@ -40,9 +40,9 @@ "my_depth": "4x", "depth": 4 }, - "NA12878.bam:md5,22baea048a7ab3ac67ce87c5aeb278ac", - "NA12878.bam.csi:md5,3f9c8481140a3adf5db3abb23d6d3af8", - 2394 + "NA12878.bam:md5,a678fab60117c96bb687f372c8d74321", + "NA12878.bam.csi:md5,01c07ed39983b9b0b205d85440fd1c6d", + 2421 ], [ { @@ -50,9 +50,9 @@ "my_depth": "2x", "depth": 2 }, - "NA19401.bam:md5,11adc7bf18ff78b3aee2207f2d9a5f0d", - "NA19401.bam.csi:md5,d100f1eb068eea7210d413357afd14f5", - 1194 + "NA19401.bam:md5,40a7dd1a9dcc8165dc61f222a107ff2c", + "NA19401.bam.csi:md5,526d19091fbfc87e8f674294aa321d43", + 1109 ], [ { @@ -60,16 +60,16 @@ "my_depth": "4x", "depth": 4 }, - "NA19401.bam:md5,a01bfc2e58adc24f05118f55e26ddab5", - "NA19401.bam.csi:md5,c978927e2f69aee0ac33217b12d8a6c9", - 2320 + "NA19401.bam:md5,866b95edcaf07ce53a056a61f919d0f0", + "NA19401.bam.csi:md5,97a286422d4c2762d59c9fb5d1860299", + 2222 ] ] ], - "timestamp": "2026-05-21T15:30:00.630870153", + "timestamp": "2026-07-09T21:10:59.917112", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.1" + "nextflow": "26.04.4" } }, "Downsample to 2X - no region": { @@ -81,16 +81,16 @@ "my_depth": "0.01x", "depth": 0.01 }, - "NA12878.bam:md5,086481849f4bda18c7cd8a768af192ed", - "NA12878.bam.csi:md5,b83a23e18571d5b78b8502fe492150f8", - 7297 + "NA12878.bam:md5,754f7f964068edfba2922687c9d0fc75", + "NA12878.bam.csi:md5,51bdab07e8bad30ae97550de1e8b1c31", + 7400 ] ] ], - "timestamp": "2026-05-21T15:28:15.427197323", + "timestamp": "2026-07-09T21:12:33.840593", "meta": { "nf-test": "0.9.5", - "nextflow": "26.04.1" + "nextflow": "26.04.4" } } } \ No newline at end of file diff --git a/subworkflows/nf-core/fastq_align_dedup_bwamem/tests/gpu.nf.test.snap b/subworkflows/nf-core/fastq_align_dedup_bwamem/tests/gpu.nf.test.snap index 9b25a5013679..9cdb7cd5eb00 100644 --- a/subworkflows/nf-core/fastq_align_dedup_bwamem/tests/gpu.nf.test.snap +++ b/subworkflows/nf-core/fastq_align_dedup_bwamem/tests/gpu.nf.test.snap @@ -22,7 +22,7 @@ "id": "test", "single_end": true }, - "test.stats:md5,c74a03de6d290804fd1b1d502eaec964" + "test.stats:md5,f92cf47d7b8866181590bdadd8932f4b" ] ], null, @@ -39,11 +39,11 @@ ] ], + "timestamp": "2026-07-10T09:39:38.892199735", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.1" - }, - "timestamp": "2026-04-29T09:12:21.203195056" + "nf-test": "0.9.5", + "nextflow": "25.10.2" + } }, "Sarscov2 fasta - PE - skip deduplication - with GPU parabricks/fq2bam": { "content": [ @@ -68,7 +68,7 @@ "id": "test", "single_end": false }, - "test.stats:md5,21b91a04b74c3498ebb73d185a2bfc95" + "test.stats:md5,cc6b5d637b184b94622baed75b7511df" ] ], null, @@ -84,11 +84,11 @@ ] ], + "timestamp": "2026-07-10T09:42:05.842581543", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.1" - }, - "timestamp": "2026-04-29T09:18:12.151141742" + "nf-test": "0.9.5", + "nextflow": "25.10.2" + } }, "Sarscov2 fasta - SE - skip deduplication - with GPU parabricks/fq2bam": { "content": [ @@ -113,7 +113,7 @@ "id": "test", "single_end": true }, - "test.stats:md5,c74a03de6d290804fd1b1d502eaec964" + "test.stats:md5,f92cf47d7b8866181590bdadd8932f4b" ] ], null, @@ -129,11 +129,11 @@ ] ], + "timestamp": "2026-07-10T09:40:52.898907236", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.1" - }, - "timestamp": "2026-04-29T09:17:19.66501576" + "nf-test": "0.9.5", + "nextflow": "25.10.2" + } }, "Sarscov2 fasta - SE - deduplicate - with GPU parabricks/fq2bam - stub": { "content": [ @@ -187,10 +187,10 @@ ] ], + "timestamp": "2026-03-13T14:33:18.72025", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-13T14:33:18.72025" + } } } \ No newline at end of file diff --git a/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/gpu.nf.test.snap b/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/gpu.nf.test.snap index 5b5e9f40311d..341eb3b0f6f8 100644 --- a/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/gpu.nf.test.snap +++ b/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/gpu.nf.test.snap @@ -22,7 +22,7 @@ "id": "test", "single_end": true }, - "test.stats:md5,8e2d01b60192eaa8abe0e2fcb1aded96" + "test.stats:md5,7557d74f318914a3887f1957c435ed72" ] ], [ @@ -34,11 +34,11 @@ "test.stats" ] ], + "timestamp": "2026-07-10T06:38:27.217539723", "meta": { - "nf-test": "0.9.3", + "nf-test": "0.9.5", "nextflow": "25.10.2" - }, - "timestamp": "2026-04-30T11:11:35.981680654" + } }, "Params: parabricks/fq2bammeth single-end | use_gpu | skip_deduplication": { "content": [ @@ -63,7 +63,7 @@ "id": "test", "single_end": true }, - "test.stats:md5,8e2d01b60192eaa8abe0e2fcb1aded96" + "test.stats:md5,7557d74f318914a3887f1957c435ed72" ] ], [ @@ -74,10 +74,10 @@ "test.stats" ] ], + "timestamp": "2026-07-10T06:39:40.143935271", "meta": { - "nf-test": "0.9.3", + "nf-test": "0.9.5", "nextflow": "25.10.2" - }, - "timestamp": "2026-04-30T11:12:28.491332509" + } } } \ No newline at end of file diff --git a/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/main.nf.test.snap b/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/main.nf.test.snap index 758d7f386111..73ee576db193 100644 --- a/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/main.nf.test.snap +++ b/subworkflows/nf-core/fastq_align_dedup_bwameth/tests/main.nf.test.snap @@ -22,7 +22,7 @@ "id": "test", "single_end": true }, - "test.stats:md5,8e2d01b60192eaa8abe0e2fcb1aded96" + "test.stats:md5,7557d74f318914a3887f1957c435ed72" ] ], [ @@ -34,10 +34,10 @@ "test.stats" ] ], - "timestamp": "2026-03-12T14:02:51.192166217", + "timestamp": "2026-07-10T08:36:03.111686", "meta": { - "nf-test": "0.9.4", - "nextflow": "25.10.4" + "nf-test": "0.9.5", + "nextflow": "26.04.6" } }, "Params: bwameth paired-end | skip_deduplication": { @@ -63,7 +63,7 @@ "id": "test", "single_end": false }, - "test.stats:md5,193e7eea4f35311c222d8346a8863eb9" + "test.stats:md5,ebbe37b6629797bf85bf652e682b7822" ] ], [ @@ -74,10 +74,10 @@ "test.stats" ] ], - "timestamp": "2026-03-12T14:03:21.524028875", + "timestamp": "2026-07-10T08:36:50.373953", "meta": { - "nf-test": "0.9.4", - "nextflow": "25.10.4" + "nf-test": "0.9.5", + "nextflow": "26.04.6" } }, "Params: bwameth paired-end | default": { @@ -103,7 +103,7 @@ "id": "test", "single_end": false }, - "test.stats:md5,193e7eea4f35311c222d8346a8863eb9" + "test.stats:md5,ebbe37b6629797bf85bf652e682b7822" ] ], [ @@ -115,10 +115,10 @@ "test.stats" ] ], - "timestamp": "2026-03-12T14:03:09.246819707", + "timestamp": "2026-07-10T08:36:34.390519", "meta": { - "nf-test": "0.9.4", - "nextflow": "25.10.4" + "nf-test": "0.9.5", + "nextflow": "26.04.6" } } -} +} \ No newline at end of file diff --git a/subworkflows/nf-core/fastq_create_umi_consensus_fgbio/tests/main.nf.test.snap b/subworkflows/nf-core/fastq_create_umi_consensus_fgbio/tests/main.nf.test.snap index 9f8c8bfcb4b4..f97fad388ebe 100644 --- a/subworkflows/nf-core/fastq_create_umi_consensus_fgbio/tests/main.nf.test.snap +++ b/subworkflows/nf-core/fastq_create_umi_consensus_fgbio/tests/main.nf.test.snap @@ -26,7 +26,7 @@ "id": "test_single", "single_end": false }, - "test_single.bam:md5,3f230384331f03ef5c517e2a5babda4b" + "test_single.bam:md5,2f78dc7e8f478833e89952c8cc511e3b" ] ], "ubam": [ @@ -40,11 +40,11 @@ ] } ], + "timestamp": "2026-07-10T08:41:27.019984", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T19:49:34.720268" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } }, "single_umi - stub": { "content": [ @@ -87,11 +87,11 @@ ] } ], + "timestamp": "2026-03-19T19:56:08.942015", "meta": { "nf-test": "0.9.3", "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T19:56:08.942015" + } }, "duplex_umi": { "content": [ @@ -120,7 +120,7 @@ "id": "test_single", "single_end": false }, - "test_single.bam:md5,f0d290abeb84f7b421c5b23c5c177ca5" + "test_single.bam:md5,246ca36d651ec8d406f49d986297c50d" ] ], "ubam": [ @@ -134,10 +134,10 @@ ] } ], + "timestamp": "2026-07-10T08:45:36.666421", "meta": { - "nf-test": "0.9.3", - "nextflow": "25.10.4" - }, - "timestamp": "2026-03-19T19:54:36.282103" + "nf-test": "0.9.5", + "nextflow": "26.04.6" + } } } \ No newline at end of file