From 5c131dc50dcf96f3e1bbdda4650478988fa5c362 Mon Sep 17 00:00:00 2001 From: wangdepin Date: Tue, 28 Oct 2025 15:25:52 +0100 Subject: [PATCH 01/10] feat: update samtools sort module with version topic support --- modules/nf-core/samtools/sort/main.nf | 14 +- modules/nf-core/samtools/sort/meta.yml | 28 +- .../nf-core/samtools/sort/tests/main.nf.test | 22 +- .../samtools/sort/tests/main.nf.test.snap | 382 ++++++++++++------ 4 files changed, 281 insertions(+), 165 deletions(-) diff --git a/modules/nf-core/samtools/sort/main.nf b/modules/nf-core/samtools/sort/main.nf index d4bd5a32715a..d0b82510f34d 100644 --- a/modules/nf-core/samtools/sort/main.nf +++ b/modules/nf-core/samtools/sort/main.nf @@ -19,8 +19,8 @@ process SAMTOOLS_SORT { tuple val(meta), path("${prefix}.${extension}.crai"), emit: crai, optional: true tuple val(meta), path("${prefix}.${extension}.csi"), emit: csi, optional: true tuple val(meta), path("${prefix}.${extension}.bai"), emit: bai, optional: true - path "versions.yml", emit: versions - + tuple val("${task.process}"), val('samtools'), eval("samtools version 2>&1 | tail -1"), topic: versions, emit: versions_samtools + when: task.ext.when == null || task.ext.when @@ -53,10 +53,6 @@ process SAMTOOLS_SORT { -o ${output_file} \\ - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS """ stub: @@ -77,10 +73,6 @@ process SAMTOOLS_SORT { """ touch ${prefix}.${extension} ${index} - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - samtools: \$(echo \$(samtools --version 2>&1) | sed 's/^.*samtools //; s/Using.*\$//') - END_VERSIONS + """ } diff --git a/modules/nf-core/samtools/sort/meta.yml b/modules/nf-core/samtools/sort/meta.yml index 4c4010bbb36d..d873fd81e2d5 100644 --- a/modules/nf-core/samtools/sort/meta.yml +++ b/modules/nf-core/samtools/sort/meta.yml @@ -110,13 +110,27 @@ output: description: BAM index file (optional) pattern: "*.bai" ontologies: [] - versions: - - versions.yml: - type: file - description: File containing software versions - pattern: "versions.yml" - ontologies: - - edam: http://edamontology.org/format_3750 # YAML + versions_samtools: + - - ${task.process}: + type: string + description: The process the versions were collected from + - samtools: + type: string + description: The tool name + - samtools version 2>&1 | tail -1: + type: string + description: The command used to generate the version of the tool +topics: + - versions: + - - process: + type: string + description: The process the versions were collected from + - tool: + type: string + description: The tool name + - version: + type: string + description: The version of the tool authors: - "@drpatelh" - "@ewels" diff --git a/modules/nf-core/samtools/sort/tests/main.nf.test b/modules/nf-core/samtools/sort/tests/main.nf.test index fa2778722f53..a5e779d98e6b 100644 --- a/modules/nf-core/samtools/sort/tests/main.nf.test +++ b/modules/nf-core/samtools/sort/tests/main.nf.test @@ -31,11 +31,7 @@ nextflow_process { then { assertAll ( { assert process.success }, - { assert snapshot( - process.out.bam, - process.out.bai, - process.out.versions - ).match()} + { assert snapshot(process.out).match() } ) } } @@ -63,11 +59,7 @@ nextflow_process { then { assertAll ( { assert process.success }, - { assert snapshot( - process.out.bam, - process.out.bai, - process.out.versions - ).match()} + { assert snapshot(process.out).match() } ) } } @@ -98,7 +90,7 @@ nextflow_process { { assert snapshot( process.out.bam, process.out.csi, - process.out.versions + process.out.versions_samtools ).match()} ) } @@ -133,7 +125,7 @@ nextflow_process { { assert snapshot( process.out.bam, process.out.csi.collect { it.collect { it instanceof Map ? it : file(it).name } }, - process.out.versions + process.out.versions_samtools ).match()} ) } @@ -168,7 +160,7 @@ nextflow_process { { assert snapshot( process.out.bam, process.out.bai.collect { it.collect { it instanceof Map ? it : file(it).name } }, - process.out.versions + process.out.versions_samtools ).match()} ) } @@ -203,7 +195,7 @@ nextflow_process { { assert snapshot( process.out.bam, process.out.csi.collect { it.collect { it instanceof Map ? it : file(it).name } }, - process.out.versions + process.out.versions_samtools ).match()} ) } @@ -235,7 +227,7 @@ nextflow_process { { assert snapshot( process.out.cram.collect { it.collect { it instanceof Map ? it : file(it).name } }, process.out.crai.collect { it.collect { it instanceof Map ? it : file(it).name } }, - process.out.versions + process.out.versions_samtools ).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 473e17450357..2333cb9c5c99 100644 --- a/modules/nf-core/samtools/sort/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/sort/tests/main.nf.test.snap @@ -20,14 +20,52 @@ ] ], [ - "versions.yml:md5,18e8b3709b62aa2ba61966672eee91b2" + [ + "SAMTOOLS_SORT", + "samtools", + " mem:\t mem" + ] ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-10T14:43:31.395604" + "timestamp": "2025-10-28T15:09:51.778909" + }, + "bam_csi_index": { + "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,72ca1dff5344a5e5e6b892fe5f6b134d" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.csi:md5,01394e702c729cb478df914ffaf9f7f8" + ] + ], + [ + [ + "SAMTOOLS_SORT", + "samtools", + " mem:\t mem" + ] + ] + ], + "meta": { + "nf-test": "0.9.3", + "nextflow": "25.10.0" + }, + "timestamp": "2025-10-28T15:09:23.735422" }, "bam - stub": { "content": [ @@ -57,7 +95,11 @@ ], "6": [ - "versions.yml:md5,18e8b3709b62aa2ba61966672eee91b2" + [ + "SAMTOOLS_SORT", + "samtools", + " mem:\t mem" + ] ], "bai": [ @@ -83,46 +125,20 @@ "sam": [ ], - "versions": [ - "versions.yml:md5,18e8b3709b62aa2ba61966672eee91b2" + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + " mem:\t mem" + ] ] } ], "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-09-10T14:43:37.387063" - }, - "bam_csi_index": { - "content": [ - [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,72ca1dff5344a5e5e6b892fe5f6b134d" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam.csi:md5,01394e702c729cb478df914ffaf9f7f8" - ] - ], - [ - "versions.yml:md5,18e8b3709b62aa2ba61966672eee91b2" - ] - ], - "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-10T14:43:06.976036" + "timestamp": "2025-10-28T15:09:56.812225" }, "multiple bam bai index": { "content": [ @@ -145,14 +161,18 @@ ] ], [ - "versions.yml:md5,18e8b3709b62aa2ba61966672eee91b2" + [ + "SAMTOOLS_SORT", + "samtools", + " mem:\t mem" + ] ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-10T14:43:18.72271" + "timestamp": "2025-10-28T15:09:37.987389" }, "cram - stub": { "content": [ @@ -182,7 +202,11 @@ ], "6": [ - "versions.yml:md5,18e8b3709b62aa2ba61966672eee91b2" + [ + "SAMTOOLS_SORT", + "samtools", + " mem:\t mem" + ] ], "bai": [ @@ -208,16 +232,20 @@ "sam": [ ], - "versions": [ - "versions.yml:md5,18e8b3709b62aa2ba61966672eee91b2" + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + " mem:\t mem" + ] ] } ], "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-10T14:43:48.734367" + "timestamp": "2025-10-28T15:10:07.407051" }, "multiple bam": { "content": [ @@ -234,14 +262,18 @@ ], [ - "versions.yml:md5,18e8b3709b62aa2ba61966672eee91b2" + [ + "SAMTOOLS_SORT", + "samtools", + " mem:\t mem" + ] ] ], "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-10T14:43:12.989244" + "timestamp": "2025-10-28T15:09:29.814582" }, "multiple bam - stub": { "content": [ @@ -271,7 +303,11 @@ ], "6": [ - "versions.yml:md5,18e8b3709b62aa2ba61966672eee91b2" + [ + "SAMTOOLS_SORT", + "samtools", + " mem:\t mem" + ] ], "bai": [ @@ -297,40 +333,93 @@ "sam": [ ], - "versions": [ - "versions.yml:md5,18e8b3709b62aa2ba61966672eee91b2" + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + " mem:\t mem" + ] ] } ], "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-10T14:43:43.196638" + "timestamp": "2025-10-28T15:10:02.429944" }, "bam_no_index": { "content": [ - [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,26b27d1f9bcb61c25da21b562349784e" + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,26b27d1f9bcb61c25da21b562349784e" + ] + ], + "1": [ + + ], + "2": [ + + ], + "3": [ + + ], + "4": [ + + ], + "5": [ + + ], + "6": [ + [ + "SAMTOOLS_SORT", + "samtools", + " mem:\t mem" + ] + ], + "bai": [ + + ], + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,26b27d1f9bcb61c25da21b562349784e" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + + ], + "sam": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + " mem:\t mem" + ] ] - ], - [ - - ], - [ - "versions.yml:md5,18e8b3709b62aa2ba61966672eee91b2" - ] + } ], "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-10T14:42:54.926504" + "timestamp": "2025-10-28T15:09:13.096776" }, "multiple bam csi index": { "content": [ @@ -352,74 +441,103 @@ "test.sorted.bam.csi" ] ], - [ - "versions.yml:md5,18e8b3709b62aa2ba61966672eee91b2" - ] - ], - "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-09-10T14:43:25.059178" - }, - "bam": { - "content": [ - [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,34aa85e86abefe637f7a4a9887f016fc" - ] - ], [ [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam.csi" + "SAMTOOLS_SORT", + "samtools", + " mem:\t mem" ] - ], - [ - "versions.yml:md5,2659b187d681241451539d4c53500b9f" ] ], "meta": { - "nf-test": "0.9.0", - "nextflow": "24.09.0" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2024-10-08T11:59:46.372244" + "timestamp": "2025-10-28T15:09:46.029137" }, "bam_bai_index": { "content": [ - [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,cae7564cb83bb4a5911205bf94124b54" - ] - ], - [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam.bai:md5,50dd467c169545a4d5d1f709f7e986e0" + { + "0": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,cae7564cb83bb4a5911205bf94124b54" + ] + ], + "1": [ + + ], + "2": [ + + ], + "3": [ + + ], + "4": [ + + ], + "5": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.bai:md5,50dd467c169545a4d5d1f709f7e986e0" + ] + ], + "6": [ + [ + "SAMTOOLS_SORT", + "samtools", + " mem:\t mem" + ] + ], + "bai": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.bai:md5,50dd467c169545a4d5d1f709f7e986e0" + ] + ], + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,cae7564cb83bb4a5911205bf94124b54" + ] + ], + "crai": [ + + ], + "cram": [ + + ], + "csi": [ + + ], + "sam": [ + + ], + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + " mem:\t mem" + ] ] - ], - [ - "versions.yml:md5,18e8b3709b62aa2ba61966672eee91b2" - ] + } ], "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nf-test": "0.9.3", + "nextflow": "25.10.0" }, - "timestamp": "2025-09-10T14:43:00.82974" + "timestamp": "2025-10-28T15:09:18.053161" } } \ No newline at end of file From 08b46dbbd55af9dd3efe0adee8cd1ac427c0fce1 Mon Sep 17 00:00:00 2001 From: wangdepin Date: Tue, 28 Oct 2025 16:30:00 +0100 Subject: [PATCH 02/10] feat: update samtools sort module with version topic support --- modules/nf-core/samtools/sort/meta.yml | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/modules/nf-core/samtools/sort/meta.yml b/modules/nf-core/samtools/sort/meta.yml index d873fd81e2d5..7f33a7cb74c0 100644 --- a/modules/nf-core/samtools/sort/meta.yml +++ b/modules/nf-core/samtools/sort/meta.yml @@ -49,7 +49,7 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - "${prefix}.bam": + - ${prefix}.bam: type: file description: Sorted BAM file pattern: "*.{bam}" @@ -60,7 +60,7 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - "${prefix}.cram": + - ${prefix}.cram: type: file description: Sorted CRAM file pattern: "*.{cram}" @@ -71,19 +71,18 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - "${prefix}.sam": + - ${prefix}.sam: type: file description: Sorted SAM file pattern: "*.{sam}" ontologies: [] - crai: - - meta: type: map description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - "${prefix}.${extension}.crai": + - ${prefix}.${extension}.crai: type: file description: CRAM index file (optional) pattern: "*.crai" @@ -94,7 +93,7 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - "${prefix}.${extension}.csi": + - ${prefix}.${extension}.csi: type: file description: BAM index file (optional) pattern: "*.csi" @@ -105,7 +104,7 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - "${prefix}.${extension}.bai": + - ${prefix}.${extension}.bai: type: file description: BAM index file (optional) pattern: "*.bai" @@ -117,9 +116,6 @@ output: - samtools: type: string description: The tool name - - samtools version 2>&1 | tail -1: - type: string - description: The command used to generate the version of the tool topics: - versions: - - process: From 30a9404939154b1ffa8796142e52dd6a0130cd83 Mon Sep 17 00:00:00 2001 From: wangdepin Date: Tue, 28 Oct 2025 16:43:46 +0100 Subject: [PATCH 03/10] feat: update samtools sort module with version topic support --- modules/nf-core/samtools/sort/meta.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/modules/nf-core/samtools/sort/meta.yml b/modules/nf-core/samtools/sort/meta.yml index 7f33a7cb74c0..076809bb6167 100644 --- a/modules/nf-core/samtools/sort/meta.yml +++ b/modules/nf-core/samtools/sort/meta.yml @@ -116,6 +116,9 @@ output: - samtools: type: string description: The tool name + - samtools version 2>&1 | tail -1: + type: string + description: The command used to generate the version of the tool topics: - versions: - - process: From 02858fc6df9e02c53990063b6227a888128ba4fb Mon Sep 17 00:00:00 2001 From: wangdepin Date: Tue, 28 Oct 2025 16:47:01 +0100 Subject: [PATCH 04/10] feat: update samtools sort module with version topic support --- .../samtools/sort/tests/main.nf.test.snap | 20 +- modules/nf-core/shapeit5/phasecommon/meta.yml | 184 +++++++++--------- 2 files changed, 102 insertions(+), 102 deletions(-) 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 2333cb9c5c99..570e0a523018 100644 --- a/modules/nf-core/samtools/sort/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/sort/tests/main.nf.test.snap @@ -31,7 +31,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T15:09:51.778909" + "timestamp": "2025-10-28T16:12:42.0061" }, "bam_csi_index": { "content": [ @@ -65,7 +65,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T15:09:23.735422" + "timestamp": "2025-10-28T16:12:15.904021" }, "bam - stub": { "content": [ @@ -138,7 +138,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T15:09:56.812225" + "timestamp": "2025-10-28T16:12:51.260116" }, "multiple bam bai index": { "content": [ @@ -172,7 +172,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T15:09:37.987389" + "timestamp": "2025-10-28T16:12:29.239081" }, "cram - stub": { "content": [ @@ -245,7 +245,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T15:10:07.407051" + "timestamp": "2025-10-28T16:13:02.354961" }, "multiple bam": { "content": [ @@ -273,7 +273,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T15:09:29.814582" + "timestamp": "2025-10-28T16:12:23.805511" }, "multiple bam - stub": { "content": [ @@ -346,7 +346,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T15:10:02.429944" + "timestamp": "2025-10-28T16:12:57.335298" }, "bam_no_index": { "content": [ @@ -419,7 +419,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T15:09:13.096776" + "timestamp": "2025-10-28T16:12:03.756397" }, "multiple bam csi index": { "content": [ @@ -453,7 +453,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T15:09:46.029137" + "timestamp": "2025-10-28T16:12:34.918284" }, "bam_bai_index": { "content": [ @@ -538,6 +538,6 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T15:09:18.053161" + "timestamp": "2025-10-28T16:12:09.190395" } } \ No newline at end of file diff --git a/modules/nf-core/shapeit5/phasecommon/meta.yml b/modules/nf-core/shapeit5/phasecommon/meta.yml index b88722bfa694..6ce521ecd955 100644 --- a/modules/nf-core/shapeit5/phasecommon/meta.yml +++ b/modules/nf-core/shapeit5/phasecommon/meta.yml @@ -2,108 +2,108 @@ name: "shapeit5_phasecommon" description: Tool to phase common sites, typically SNP array data, or the first step of WES/WGS data. keywords: - - phasing - - haplotype - - shapeit +- phasing +- haplotype +- shapeit tools: - - "shapeit5": - description: "Fast and accurate method for estimation of haplotypes (phasing)" - homepage: "https://odelaneau.github.io/shapeit5/" - documentation: "https://odelaneau.github.io/shapeit5/docs/documentation" - tool_dev_url: "https://github.com/odelaneau/shapeit5" - doi: "10.1101/2022.10.19.512867 " - licence: ["MIT"] - identifier: biotools:shapeit5 +- "shapeit5": + description: "Fast and accurate method for estimation of haplotypes (phasing)" + homepage: "https://odelaneau.github.io/shapeit5/" + documentation: "https://odelaneau.github.io/shapeit5/docs/documentation" + tool_dev_url: "https://github.com/odelaneau/shapeit5" + doi: "10.1101/2022.10.19.512867 " + licence: ["MIT"] + identifier: biotools:shapeit5 input: +- - meta: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - input: + type: file + description: | + Target dataset in VCF/BCF format defined at all variable positions. + The file could possibly be without GT field (for efficiency reasons a file containing only the positions is recommended). + pattern: "*.{vcf,bcf,vcf.gz,bcf.gz}" + ontologies: [] + - input_index: + type: file + description: Index file of the input VCF/BCF file containing genotype likelihoods. + pattern: "*.{vcf.gz.csi,bcf.gz.csi}" + ontologies: [] + - pedigree: + type: file + description: | + Pedigree information in the following format: offspring father mother. + pattern: "*.{txt, tsv}" + ontologies: [] + - region: + type: string + description: | + Target region, usually a full chromosome (e.g. chr20:1000000-2000000 or chr20). + For chrX, please treat PAR and non-PAR regions as different choromosome in order to avoid mixing ploidy. + pattern: "chrXX:leftBufferPosition-rightBufferPosition" +- - meta2: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - reference: + type: file + description: Reference panel of haplotypes in VCF/BCF format. + pattern: "*.{vcf.gz,bcf.gz}" + ontologies: [] + - reference_index: + type: file + description: Index file of the Reference panel file. + pattern: "*.{vcf.gz.csi,bcf.gz.csi}" + ontologies: [] +- - meta3: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - scaffold: + type: file + description: Scaffold of haplotypes in VCF/BCF format. + pattern: "*.{vcf.gz,bcf.gz}" + ontologies: [] + - scaffold_index: + type: file + description: Index file of the scaffold file. + pattern: "*.{vcf.gz.csi,bcf.gz.csi}" + ontologies: [] +- - meta4: + type: map + description: | + Groovy Map containing sample information + e.g. [ id:'test', single_end:false ] + - map: + type: file + description: File containing the genetic map. + pattern: "*.gmap" + ontologies: [] +output: + phased_variant: - - meta: type: map description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - input: + - "*.{vcf,bcf,vcf.gz,bcf.gz}": type: file - description: | - Target dataset in VCF/BCF format defined at all variable positions. - The file could possibly be without GT field (for efficiency reasons a file containing only the positions is recommended). + description: Phased variant dataset in VCF/BCF format. pattern: "*.{vcf,bcf,vcf.gz,bcf.gz}" ontologies: [] - - input_index: - type: file - description: Index file of the input VCF/BCF file containing genotype likelihoods. - pattern: "*.{vcf.gz.csi,bcf.gz.csi}" - ontologies: [] - - pedigree: - type: file - description: | - Pedigree information in the following format: offspring father mother. - pattern: "*.{txt, tsv}" - ontologies: [] - - region: - type: string - description: | - Target region, usually a full chromosome (e.g. chr20:1000000-2000000 or chr20). - For chrX, please treat PAR and non-PAR regions as different choromosome in order to avoid mixing ploidy. - pattern: "chrXX:leftBufferPosition-rightBufferPosition" - - - meta2: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - reference: - type: file - description: Reference panel of haplotypes in VCF/BCF format. - pattern: "*.{vcf.gz,bcf.gz}" - ontologies: [] - - reference_index: - type: file - description: Index file of the Reference panel file. - pattern: "*.{vcf.gz.csi,bcf.gz.csi}" - ontologies: [] - - - meta3: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - scaffold: - type: file - description: Scaffold of haplotypes in VCF/BCF format. - pattern: "*.{vcf.gz,bcf.gz}" - ontologies: [] - - scaffold_index: - type: file - description: Index file of the scaffold file. - pattern: "*.{vcf.gz.csi,bcf.gz.csi}" - ontologies: [] - - - meta4: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - map: - type: file - description: File containing the genetic map. - pattern: "*.gmap" - ontologies: [] -output: - phased_variant: - - - meta: - type: map - description: | - Groovy Map containing sample information - e.g. [ id:'test', single_end:false ] - - "*.{vcf,bcf,vcf.gz,bcf.gz}": - type: file - description: Phased variant dataset in VCF/BCF format. - pattern: "*.{vcf,bcf,vcf.gz,bcf.gz}" - ontologies: [] versions: - - versions.yml: - type: file - description: File containing software versions - pattern: "versions.yml" - ontologies: - - edam: http://edamontology.org/format_3750 # YAML + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: http://edamontology.org/format_3750 # YAML authors: - - "@LouisLeNezet" +- "@LouisLeNezet" maintainers: - - "@LouisLeNezet" +- "@LouisLeNezet" From 777b6da4a40e4193b7d26813f334b0eff1d94882 Mon Sep 17 00:00:00 2001 From: wangdepin Date: Tue, 28 Oct 2025 17:16:09 +0100 Subject: [PATCH 05/10] feat: update samtools sort module with version topic support --- .../samtools/sort/tests/main.nf.test.snap | 50 +++++++++---------- 1 file changed, 25 insertions(+), 25 deletions(-) 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 570e0a523018..c9e2a40239a6 100644 --- a/modules/nf-core/samtools/sort/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/sort/tests/main.nf.test.snap @@ -23,7 +23,7 @@ [ "SAMTOOLS_SORT", "samtools", - " mem:\t mem" + "1.22.1" ] ] ], @@ -31,7 +31,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T16:12:42.0061" + "timestamp": "2025-10-28T17:14:02.017643" }, "bam_csi_index": { "content": [ @@ -57,7 +57,7 @@ [ "SAMTOOLS_SORT", "samtools", - " mem:\t mem" + "1.22.1" ] ] ], @@ -65,7 +65,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T16:12:15.904021" + "timestamp": "2025-10-28T17:13:41.541928" }, "bam - stub": { "content": [ @@ -98,7 +98,7 @@ [ "SAMTOOLS_SORT", "samtools", - " mem:\t mem" + "1.22.1" ] ], "bai": [ @@ -129,7 +129,7 @@ [ "SAMTOOLS_SORT", "samtools", - " mem:\t mem" + "1.22.1" ] ] } @@ -138,7 +138,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T16:12:51.260116" + "timestamp": "2025-10-28T17:14:06.48563" }, "multiple bam bai index": { "content": [ @@ -164,7 +164,7 @@ [ "SAMTOOLS_SORT", "samtools", - " mem:\t mem" + "1.22.1" ] ] ], @@ -172,7 +172,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T16:12:29.239081" + "timestamp": "2025-10-28T17:13:52.067223" }, "cram - stub": { "content": [ @@ -205,7 +205,7 @@ [ "SAMTOOLS_SORT", "samtools", - " mem:\t mem" + "1.22.1" ] ], "bai": [ @@ -236,7 +236,7 @@ [ "SAMTOOLS_SORT", "samtools", - " mem:\t mem" + "1.22.1" ] ] } @@ -245,7 +245,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T16:13:02.354961" + "timestamp": "2025-10-28T17:14:16.941801" }, "multiple bam": { "content": [ @@ -265,7 +265,7 @@ [ "SAMTOOLS_SORT", "samtools", - " mem:\t mem" + "1.22.1" ] ] ], @@ -273,7 +273,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T16:12:23.805511" + "timestamp": "2025-10-28T17:13:47.088129" }, "multiple bam - stub": { "content": [ @@ -306,7 +306,7 @@ [ "SAMTOOLS_SORT", "samtools", - " mem:\t mem" + "1.22.1" ] ], "bai": [ @@ -337,7 +337,7 @@ [ "SAMTOOLS_SORT", "samtools", - " mem:\t mem" + "1.22.1" ] ] } @@ -346,7 +346,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T16:12:57.335298" + "timestamp": "2025-10-28T17:14:11.981828" }, "bam_no_index": { "content": [ @@ -379,7 +379,7 @@ [ "SAMTOOLS_SORT", "samtools", - " mem:\t mem" + "1.22.1" ] ], "bai": [ @@ -410,7 +410,7 @@ [ "SAMTOOLS_SORT", "samtools", - " mem:\t mem" + "1.22.1" ] ] } @@ -419,7 +419,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T16:12:03.756397" + "timestamp": "2025-10-28T17:13:31.622188" }, "multiple bam csi index": { "content": [ @@ -445,7 +445,7 @@ [ "SAMTOOLS_SORT", "samtools", - " mem:\t mem" + "1.22.1" ] ] ], @@ -453,7 +453,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T16:12:34.918284" + "timestamp": "2025-10-28T17:13:57.249125" }, "bam_bai_index": { "content": [ @@ -492,7 +492,7 @@ [ "SAMTOOLS_SORT", "samtools", - " mem:\t mem" + "1.22.1" ] ], "bai": [ @@ -529,7 +529,7 @@ [ "SAMTOOLS_SORT", "samtools", - " mem:\t mem" + "1.22.1" ] ] } @@ -538,6 +538,6 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T16:12:09.190395" + "timestamp": "2025-10-28T17:13:36.586805" } } \ No newline at end of file From 6c31c1c990bef9ca2c63ad895eb71071fa93d5a0 Mon Sep 17 00:00:00 2001 From: wangdepin Date: Tue, 28 Oct 2025 17:28:57 +0100 Subject: [PATCH 06/10] feat: update samtools sort module with version topic support --- modules/nf-core/samtools/sort/main.nf | 2 +- modules/nf-core/samtools/sort/meta.yml | 3 --- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/modules/nf-core/samtools/sort/main.nf b/modules/nf-core/samtools/sort/main.nf index d0b82510f34d..a12f6baab3c0 100644 --- a/modules/nf-core/samtools/sort/main.nf +++ b/modules/nf-core/samtools/sort/main.nf @@ -19,7 +19,7 @@ process SAMTOOLS_SORT { tuple val(meta), path("${prefix}.${extension}.crai"), emit: crai, optional: true tuple val(meta), path("${prefix}.${extension}.csi"), emit: csi, optional: true tuple val(meta), path("${prefix}.${extension}.bai"), emit: bai, optional: true - tuple val("${task.process}"), val('samtools'), eval("samtools version 2>&1 | tail -1"), topic: versions, emit: versions_samtools + tuple val("${task.process}"), val('samtools'), eval("samtools --version 2>&1 | head -1 | sed 's/^.*samtools //'"), topic: versions, emit: versions_samtools when: task.ext.when == null || task.ext.when diff --git a/modules/nf-core/samtools/sort/meta.yml b/modules/nf-core/samtools/sort/meta.yml index 076809bb6167..7f33a7cb74c0 100644 --- a/modules/nf-core/samtools/sort/meta.yml +++ b/modules/nf-core/samtools/sort/meta.yml @@ -116,9 +116,6 @@ output: - samtools: type: string description: The tool name - - samtools version 2>&1 | tail -1: - type: string - description: The command used to generate the version of the tool topics: - versions: - - process: From a4db227e6b58b55d257c74621472f38ffafa147c Mon Sep 17 00:00:00 2001 From: wangdepin Date: Wed, 29 Oct 2025 10:43:36 +0100 Subject: [PATCH 07/10] feat: update samtools sort module with version topic support --- modules/nf-core/samtools/sort/main.nf | 2 +- modules/nf-core/samtools/sort/meta.yml | 4 + .../nf-core/samtools/sort/tests/main.nf.test | 28 +- .../samtools/sort/tests/main.nf.test.snap | 407 ++++-------------- 4 files changed, 103 insertions(+), 338 deletions(-) diff --git a/modules/nf-core/samtools/sort/main.nf b/modules/nf-core/samtools/sort/main.nf index a12f6baab3c0..01e854bf77d1 100644 --- a/modules/nf-core/samtools/sort/main.nf +++ b/modules/nf-core/samtools/sort/main.nf @@ -19,7 +19,7 @@ process SAMTOOLS_SORT { tuple val(meta), path("${prefix}.${extension}.crai"), emit: crai, optional: true tuple val(meta), path("${prefix}.${extension}.csi"), emit: csi, optional: true tuple val(meta), path("${prefix}.${extension}.bai"), emit: bai, optional: true - tuple val("${task.process}"), val('samtools'), eval("samtools --version 2>&1 | head -1 | sed 's/^.*samtools //'"), topic: versions, emit: versions_samtools + tuple val("${task.process}"), val('samtools'), eval("samtools version | sed '1!d;s/.* //'"), topic: versions, emit: versions_samtools when: task.ext.when == null || task.ext.when diff --git a/modules/nf-core/samtools/sort/meta.yml b/modules/nf-core/samtools/sort/meta.yml index 7f33a7cb74c0..349efebf4747 100644 --- a/modules/nf-core/samtools/sort/meta.yml +++ b/modules/nf-core/samtools/sort/meta.yml @@ -116,6 +116,10 @@ output: - samtools: type: string description: The tool name + - samtools version | sed '1!d;s/.* //': + type: string + description: The command used to generate the version of the tool + topics: - versions: - - process: diff --git a/modules/nf-core/samtools/sort/tests/main.nf.test b/modules/nf-core/samtools/sort/tests/main.nf.test index a5e779d98e6b..2696d74cc429 100644 --- a/modules/nf-core/samtools/sort/tests/main.nf.test +++ b/modules/nf-core/samtools/sort/tests/main.nf.test @@ -31,7 +31,11 @@ nextflow_process { then { assertAll ( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot( + process.out.bam, + process.out.bai, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match()} ) } } @@ -59,7 +63,11 @@ nextflow_process { then { assertAll ( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot( + process.out.bam, + process.out.bai, + process.out.findAll { key, val -> key.startsWith("versions") } + ).match()} ) } } @@ -90,7 +98,7 @@ nextflow_process { { assert snapshot( process.out.bam, process.out.csi, - process.out.versions_samtools + process.out.findAll { key, val -> key.startsWith("versions") } ).match()} ) } @@ -125,7 +133,7 @@ nextflow_process { { assert snapshot( process.out.bam, process.out.csi.collect { it.collect { it instanceof Map ? it : file(it).name } }, - process.out.versions_samtools + process.out.findAll { key, val -> key.startsWith("versions") } ).match()} ) } @@ -160,7 +168,7 @@ nextflow_process { { assert snapshot( process.out.bam, process.out.bai.collect { it.collect { it instanceof Map ? it : file(it).name } }, - process.out.versions_samtools + process.out.findAll { key, val -> key.startsWith("versions") } ).match()} ) } @@ -195,7 +203,7 @@ nextflow_process { { assert snapshot( process.out.bam, process.out.csi.collect { it.collect { it instanceof Map ? it : file(it).name } }, - process.out.versions_samtools + process.out.findAll { key, val -> key.startsWith("versions") } ).match()} ) } @@ -227,7 +235,7 @@ nextflow_process { { assert snapshot( process.out.cram.collect { it.collect { it instanceof Map ? it : file(it).name } }, process.out.crai.collect { it.collect { it instanceof Map ? it : file(it).name } }, - process.out.versions_samtools + process.out.findAll { key, val -> key.startsWith("versions") } ).match()} ) } @@ -257,7 +265,7 @@ nextflow_process { then { assertAll ( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions") }).match() } ) } } @@ -288,7 +296,7 @@ nextflow_process { then { assertAll ( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions") }).match() } ) } } @@ -317,7 +325,7 @@ nextflow_process { then { assertAll ( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(process.out.findAll { key, val -> key.startsWith("versions") }).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 c9e2a40239a6..90441a271029 100644 --- a/modules/nf-core/samtools/sort/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/sort/tests/main.nf.test.snap @@ -19,19 +19,21 @@ "test.sorted.cram.crai" ] ], - [ - [ - "SAMTOOLS_SORT", - "samtools", - "1.22.1" + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.22.1" + ] ] - ] + } ], "meta": { "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T17:14:02.017643" + "timestamp": "2025-10-29T10:39:35.989453" }, "bam_csi_index": { "content": [ @@ -53,78 +55,25 @@ "test.sorted.bam.csi:md5,01394e702c729cb478df914ffaf9f7f8" ] ], - [ - [ - "SAMTOOLS_SORT", - "samtools", - "1.22.1" + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.22.1" + ] ] - ] + } ], "meta": { "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T17:13:41.541928" + "timestamp": "2025-10-29T10:39:11.794807" }, "bam - stub": { "content": [ { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - - ], - "4": [ - - ], - "5": [ - - ], - "6": [ - [ - "SAMTOOLS_SORT", - "samtools", - "1.22.1" - ] - ], - "bai": [ - - ], - "bam": [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "crai": [ - - ], - "cram": [ - - ], - "csi": [ - - ], - "sam": [ - - ], "versions_samtools": [ [ "SAMTOOLS_SORT", @@ -138,7 +87,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T17:14:06.48563" + "timestamp": "2025-10-29T10:39:42.98507" }, "multiple bam bai index": { "content": [ @@ -160,78 +109,25 @@ "test.sorted.bam.bai" ] ], - [ - [ - "SAMTOOLS_SORT", - "samtools", - "1.22.1" + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.22.1" + ] ] - ] + } ], "meta": { "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T17:13:52.067223" + "timestamp": "2025-10-29T10:39:24.37963" }, "cram - stub": { "content": [ { - "0": [ - - ], - "1": [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.cram:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "2": [ - - ], - "3": [ - - ], - "4": [ - - ], - "5": [ - - ], - "6": [ - [ - "SAMTOOLS_SORT", - "samtools", - "1.22.1" - ] - ], - "bai": [ - - ], - "bam": [ - - ], - "crai": [ - - ], - "cram": [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.cram:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "csi": [ - - ], - "sam": [ - - ], "versions_samtools": [ [ "SAMTOOLS_SORT", @@ -245,7 +141,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T17:14:16.941801" + "timestamp": "2025-10-29T10:39:56.969304" }, "multiple bam": { "content": [ @@ -261,78 +157,25 @@ [ ], - [ - [ - "SAMTOOLS_SORT", - "samtools", - "1.22.1" + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.22.1" + ] ] - ] + } ], "meta": { "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T17:13:47.088129" + "timestamp": "2025-10-29T10:39:18.450196" }, "multiple bam - stub": { "content": [ { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,cd4eb0077f25e9cff395366b8883dd1f" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - - ], - "4": [ - - ], - "5": [ - - ], - "6": [ - [ - "SAMTOOLS_SORT", - "samtools", - "1.22.1" - ] - ], - "bai": [ - - ], - "bam": [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,cd4eb0077f25e9cff395366b8883dd1f" - ] - ], - "crai": [ - - ], - "cram": [ - - ], - "csi": [ - - ], - "sam": [ - - ], "versions_samtools": [ [ "SAMTOOLS_SORT", @@ -346,66 +189,23 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T17:14:11.981828" + "timestamp": "2025-10-29T10:39:50.404875" }, "bam_no_index": { "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,26b27d1f9bcb61c25da21b562349784e" + ] + ], + [ + + ], { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,26b27d1f9bcb61c25da21b562349784e" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - - ], - "4": [ - - ], - "5": [ - - ], - "6": [ - [ - "SAMTOOLS_SORT", - "samtools", - "1.22.1" - ] - ], - "bai": [ - - ], - "bam": [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,26b27d1f9bcb61c25da21b562349784e" - ] - ], - "crai": [ - - ], - "cram": [ - - ], - "csi": [ - - ], - "sam": [ - - ], "versions_samtools": [ [ "SAMTOOLS_SORT", @@ -419,7 +219,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T17:13:31.622188" + "timestamp": "2025-10-29T10:39:02.047578" }, "multiple bam csi index": { "content": [ @@ -441,90 +241,43 @@ "test.sorted.bam.csi" ] ], - [ - [ - "SAMTOOLS_SORT", - "samtools", - "1.22.1" + { + "versions_samtools": [ + [ + "SAMTOOLS_SORT", + "samtools", + "1.22.1" + ] ] - ] + } ], "meta": { "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T17:13:57.249125" + "timestamp": "2025-10-29T10:39:30.511113" }, "bam_bai_index": { "content": [ + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam:md5,cae7564cb83bb4a5911205bf94124b54" + ] + ], + [ + [ + { + "id": "test", + "single_end": false + }, + "test.sorted.bam.bai:md5,50dd467c169545a4d5d1f709f7e986e0" + ] + ], { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,cae7564cb83bb4a5911205bf94124b54" - ] - ], - "1": [ - - ], - "2": [ - - ], - "3": [ - - ], - "4": [ - - ], - "5": [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam.bai:md5,50dd467c169545a4d5d1f709f7e986e0" - ] - ], - "6": [ - [ - "SAMTOOLS_SORT", - "samtools", - "1.22.1" - ] - ], - "bai": [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam.bai:md5,50dd467c169545a4d5d1f709f7e986e0" - ] - ], - "bam": [ - [ - { - "id": "test", - "single_end": false - }, - "test.sorted.bam:md5,cae7564cb83bb4a5911205bf94124b54" - ] - ], - "crai": [ - - ], - "cram": [ - - ], - "csi": [ - - ], - "sam": [ - - ], "versions_samtools": [ [ "SAMTOOLS_SORT", @@ -538,6 +291,6 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-28T17:13:36.586805" + "timestamp": "2025-10-29T10:39:06.97914" } } \ No newline at end of file From 046b95bec6dacecfecea2612b49d6e7369633ef2 Mon Sep 17 00:00:00 2001 From: wangdepin Date: Wed, 29 Oct 2025 12:50:10 +0100 Subject: [PATCH 08/10] Update meta.yml and test snapshot --- modules/nf-core/samtools/sort/meta.yml | 12 +++++------ .../samtools/sort/tests/main.nf.test.snap | 20 +++++++++---------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/modules/nf-core/samtools/sort/meta.yml b/modules/nf-core/samtools/sort/meta.yml index 349efebf4747..08a6627501d4 100644 --- a/modules/nf-core/samtools/sort/meta.yml +++ b/modules/nf-core/samtools/sort/meta.yml @@ -49,7 +49,7 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - ${prefix}.bam: + - "${prefix}.bam": type: file description: Sorted BAM file pattern: "*.{bam}" @@ -60,7 +60,7 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - ${prefix}.cram: + - "${prefix}.cram": type: file description: Sorted CRAM file pattern: "*.{cram}" @@ -71,7 +71,7 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - ${prefix}.sam: + - "${prefix}.sam": type: file description: Sorted SAM file pattern: "*.{sam}" @@ -82,7 +82,7 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - ${prefix}.${extension}.crai: + - "${prefix}.${extension}.crai": type: file description: CRAM index file (optional) pattern: "*.crai" @@ -93,7 +93,7 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - ${prefix}.${extension}.csi: + - "${prefix}.${extension}.csi": type: file description: BAM index file (optional) pattern: "*.csi" @@ -104,7 +104,7 @@ output: description: | Groovy Map containing sample information e.g. [ id:'test', single_end:false ] - - ${prefix}.${extension}.bai: + - "${prefix}.${extension}.bai": type: file description: BAM index file (optional) pattern: "*.bai" 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 90441a271029..4e618fa3f810 100644 --- a/modules/nf-core/samtools/sort/tests/main.nf.test.snap +++ b/modules/nf-core/samtools/sort/tests/main.nf.test.snap @@ -33,7 +33,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-29T10:39:35.989453" + "timestamp": "2025-10-29T12:47:01.171084" }, "bam_csi_index": { "content": [ @@ -69,7 +69,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-29T10:39:11.794807" + "timestamp": "2025-10-29T12:46:00.961675" }, "bam - stub": { "content": [ @@ -87,7 +87,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-29T10:39:42.98507" + "timestamp": "2025-10-29T12:47:12.154354" }, "multiple bam bai index": { "content": [ @@ -123,7 +123,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-29T10:39:24.37963" + "timestamp": "2025-10-29T12:46:25.488622" }, "cram - stub": { "content": [ @@ -141,7 +141,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-29T10:39:56.969304" + "timestamp": "2025-10-29T12:47:28.485045" }, "multiple bam": { "content": [ @@ -171,7 +171,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-29T10:39:18.450196" + "timestamp": "2025-10-29T12:46:13.168476" }, "multiple bam - stub": { "content": [ @@ -189,7 +189,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-29T10:39:50.404875" + "timestamp": "2025-10-29T12:47:21.628088" }, "bam_no_index": { "content": [ @@ -219,7 +219,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-29T10:39:02.047578" + "timestamp": "2025-10-29T12:45:47.139418" }, "multiple bam csi index": { "content": [ @@ -255,7 +255,7 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-29T10:39:30.511113" + "timestamp": "2025-10-29T12:46:51.5531" }, "bam_bai_index": { "content": [ @@ -291,6 +291,6 @@ "nf-test": "0.9.3", "nextflow": "25.10.0" }, - "timestamp": "2025-10-29T10:39:06.97914" + "timestamp": "2025-10-29T12:45:52.796936" } } \ No newline at end of file From a97a7a2bccd5a67a5e8b629054759265bd304945 Mon Sep 17 00:00:00 2001 From: wangdepin Date: Wed, 29 Oct 2025 15:31:15 +0100 Subject: [PATCH 09/10] remove .devcontainer --- .devcontainer/devcontainer.json | 20 -------------------- .devcontainer/setup.sh | 15 --------------- 2 files changed, 35 deletions(-) delete mode 100644 .devcontainer/devcontainer.json delete mode 100755 .devcontainer/setup.sh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json deleted file mode 100644 index bfd2674810ff..000000000000 --- a/.devcontainer/devcontainer.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "nfcore-modules", - "image": "nfcore/devcontainer:dev", - - "remoteEnv": { - // Workspace path on the host for mounting with docker-outside-of-docker - "LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}" - }, - - "onCreateCommand": "./.devcontainer/setup.sh", - - "remoteUser": "root", - "privileged": true, - - "hostRequirements": { - "cpus": 4, - "memory": "16gb", - "storage": "32gb" - } -} diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh deleted file mode 100755 index 5269d8566074..000000000000 --- a/.devcontainer/setup.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env bash - -# Customise the terminal command prompt -echo "export PROMPT_DIRTRIM=2" >> $HOME/.bashrc -echo "export PS1='\[\e[3;36m\]\w ->\[\e[0m\\] '" >> $HOME/.bashrc -export PS1='\[\e[3;36m\]\w ->\[\e[0m\\] ' - -# Update Nextflow -nextflow self-update - -# Install pre-commit hooks -pre-commit install --install-hooks - -# Update welcome message -echo "Welcome to nf-core/modules devcontainer!" > /usr/local/etc/vscode-dev-containers/first-run-notice.txt From 8bc50559a052e9e8cda6ab5860db4d3a027191dc Mon Sep 17 00:00:00 2001 From: Marcel Ribeiro-Dantas Date: Wed, 29 Oct 2025 16:44:39 +0100 Subject: [PATCH 10/10] Revert "remove .devcontainer" This reverts commit a97a7a2bccd5a67a5e8b629054759265bd304945. --- .devcontainer/devcontainer.json | 20 ++++++++++++++++++++ .devcontainer/setup.sh | 15 +++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 .devcontainer/devcontainer.json create mode 100755 .devcontainer/setup.sh diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 000000000000..bfd2674810ff --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,20 @@ +{ + "name": "nfcore-modules", + "image": "nfcore/devcontainer:dev", + + "remoteEnv": { + // Workspace path on the host for mounting with docker-outside-of-docker + "LOCAL_WORKSPACE_FOLDER": "${localWorkspaceFolder}" + }, + + "onCreateCommand": "./.devcontainer/setup.sh", + + "remoteUser": "root", + "privileged": true, + + "hostRequirements": { + "cpus": 4, + "memory": "16gb", + "storage": "32gb" + } +} diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh new file mode 100755 index 000000000000..5269d8566074 --- /dev/null +++ b/.devcontainer/setup.sh @@ -0,0 +1,15 @@ +#!/usr/bin/env bash + +# Customise the terminal command prompt +echo "export PROMPT_DIRTRIM=2" >> $HOME/.bashrc +echo "export PS1='\[\e[3;36m\]\w ->\[\e[0m\\] '" >> $HOME/.bashrc +export PS1='\[\e[3;36m\]\w ->\[\e[0m\\] ' + +# Update Nextflow +nextflow self-update + +# Install pre-commit hooks +pre-commit install --install-hooks + +# Update welcome message +echo "Welcome to nf-core/modules devcontainer!" > /usr/local/etc/vscode-dev-containers/first-run-notice.txt