From ec1237df322ed8e1958c7855aa4c68eafcbf6501 Mon Sep 17 00:00:00 2001 From: Simon Pearce <24893913+SPPearce@users.noreply.github.com> Date: Wed, 17 Jun 2026 13:59:59 +0000 Subject: [PATCH 1/8] Swap umitools/group to topics --- .../nf-core/umitools/group/environment.yml | 4 +- modules/nf-core/umitools/group/main.nf | 12 +- modules/nf-core/umitools/group/meta.yml | 36 ++-- .../nf-core/umitools/group/tests/main.nf.test | 6 +- .../umitools/group/tests/main.nf.test.snap | 154 ++++++++++++++---- 5 files changed, 157 insertions(+), 55 deletions(-) diff --git a/modules/nf-core/umitools/group/environment.yml b/modules/nf-core/umitools/group/environment.yml index 4d05188beca1..e897f0d590e2 100644 --- a/modules/nf-core/umitools/group/environment.yml +++ b/modules/nf-core/umitools/group/environment.yml @@ -5,13 +5,13 @@ channels: - bioconda dependencies: # renovate: datasource=conda depName=bioconda/umi_tools + - bioconda::pysam=0.22.0 - bioconda::umi_tools=1.1.6 - conda-forge::future=0.18.3 - conda-forge::matplotlib=3.8.2 - conda-forge::numpy=1.26.4 - conda-forge::pandas=2.2.0 + - conda-forge::pybktree=1.1 - conda-forge::python=3.9.18 - conda-forge::regex=2023.12.25 - conda-forge::scipy=1.12.0 - - conda-forge::pybktree=1.1 - - bioconda::pysam=0.22.0 diff --git a/modules/nf-core/umitools/group/main.nf b/modules/nf-core/umitools/group/main.nf index 580351a4621e..d119a81bb542 100644 --- a/modules/nf-core/umitools/group/main.nf +++ b/modules/nf-core/umitools/group/main.nf @@ -16,7 +16,7 @@ process UMITOOLS_GROUP { tuple val(meta), path("*.log") , emit: log tuple val(meta), path("${prefix}.bam"), optional: true, emit: bam tuple val(meta), path("*.tsv") , optional: true, emit: tsv - path "versions.yml" , emit: versions + tuple val("${task.process}"), val('umitools'), eval("umi_tools --version | sed '/version:/!d; s/.*: //'"), emit: versions_umitools, topic: versions when: task.ext.when == null || task.ext.when @@ -40,11 +40,6 @@ process UMITOOLS_GROUP { $group_info \\ $paired \\ $args - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - umitools: \$( umi_tools --version | sed '/version:/!d; s/.*: //' ) - END_VERSIONS """ stub: @@ -54,10 +49,5 @@ process UMITOOLS_GROUP { touch ${prefix}.log touch ${prefix}.tsv $output_bam - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - umitools: \$( umi_tools --version | sed '/version:/!d; s/.*: //' ) - END_VERSIONS """ } diff --git a/modules/nf-core/umitools/group/meta.yml b/modules/nf-core/umitools/group/meta.yml index f8f4a3c7f04a..531a1d5315e5 100644 --- a/modules/nf-core/umitools/group/meta.yml +++ b/modules/nf-core/umitools/group/meta.yml @@ -11,9 +11,9 @@ tools: description: > UMI-tools contains tools for dealing with Unique Molecular Identifiers (UMIs)/Random Molecular Tags (RMTs) and single cell RNA-Seq cell barcodes - documentation: https://umi-tools.readthedocs.io/en/latest/ - license: ["MIT"] + license: + - "MIT" identifier: "" input: - - meta: @@ -72,18 +72,32 @@ output: e.g. [ id:'test', single_end:false ] - "*.tsv": type: file - description: Flatfile describing the read groups, see docs for complete info - of all columns + description: Flatfile describing the read groups, see docs for complete + info of all columns pattern: "*.{tsv}" ontologies: - - edam: http://edamontology.org/format_3475 # TSV + - edam: http://edamontology.org/format_3475 + versions_umitools: + - - ${task.process}: + type: string + description: The name of the process + - umitools: + type: string + description: The name of the tool + - "umi_tools --version | sed '/version:/!d; s/.*: //'": + 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 + - umitools: + type: string + description: The name of the tool + - "umi_tools --version | sed '/version:/!d; s/.*: //'": + type: eval + description: The expression to obtain the version of the tool authors: - "@Joon-Klaps" maintainers: diff --git a/modules/nf-core/umitools/group/tests/main.nf.test b/modules/nf-core/umitools/group/tests/main.nf.test index 369522431fcd..32f9e61d0683 100644 --- a/modules/nf-core/umitools/group/tests/main.nf.test +++ b/modules/nf-core/umitools/group/tests/main.nf.test @@ -88,7 +88,7 @@ nextflow_process { bam(process.out.bam[0][1]).getReadsMD5(), process.out.tsv, file(process.out.log[0][1]).readLines()[0..1], - process.out.versions + sanitizeOutput(process.out, unstableKeys: ["log"]) ).match() } ) } @@ -113,7 +113,7 @@ nextflow_process { { assert snapshot( bam(process.out.bam[0][1]).getReadsMD5(), file(process.out.log[0][1]).readLines()[0..1], - process.out.versions + sanitizeOutput(process.out, unstableKeys: ["log"]) ).match() } ) } @@ -139,7 +139,7 @@ nextflow_process { process.out.tsv, bam(process.out.bam[0][1]).getReadsMD5(), file(process.out.log[0][1]).readLines()[0..1], - process.out.versions + sanitizeOutput(process.out, unstableKeys: ["log"]) ).match() } ) } diff --git a/modules/nf-core/umitools/group/tests/main.nf.test.snap b/modules/nf-core/umitools/group/tests/main.nf.test.snap index c882ede36e60..17c750d03dbb 100644 --- a/modules/nf-core/umitools/group/tests/main.nf.test.snap +++ b/modules/nf-core/umitools/group/tests/main.nf.test.snap @@ -6,15 +6,42 @@ "# UMI-tools version: 1.1.6", "# output generated by group -I test.bam --output-bam -S test_grouped.bam -L test_grouped.log --paired --random-seed=100" ], - [ - "versions.yml:md5,f0c472387195b669228e3b390f8a93bf" - ] + { + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + "test_grouped.bam:md5,e4bcdff1c679f1c73105dfbc9c069ee0" + ] + ], + "log": [ + [ + { + "id": "test", + "single_end": false + }, + "test_grouped.log" + ] + ], + "tsv": [ + + ], + "versions_umitools": [ + [ + "UMITOOLS_GROUP", + "umitools", + "1.1.6" + ] + ] + } ], + "timestamp": "2026-06-17T09:24:51.494160439", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-09-11T09:44:43.467038" + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } }, "with_umi - stub": { "content": [ @@ -47,7 +74,11 @@ ] ], "3": [ - "versions.yml:md5,f0c472387195b669228e3b390f8a93bf" + [ + "UMITOOLS_GROUP", + "umitools", + "1.1.6" + ] ], "bam": [ [ @@ -76,16 +107,20 @@ "test_grouped.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" ] ], - "versions": [ - "versions.yml:md5,f0c472387195b669228e3b390f8a93bf" + "versions_umitools": [ + [ + "UMITOOLS_GROUP", + "umitools", + "1.1.6" + ] ] } ], + "timestamp": "2026-06-17T09:19:41.211548705", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-09-11T09:45:15.641582" + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } }, "no_umi": { "content": [ @@ -102,15 +137,45 @@ "# UMI-tools version: 1.1.6", "# output generated by group -I test.paired_end.sorted.bam --output-bam -S test_grouped.bam -L test_grouped.log --group-out test_grouped.tsv --paired --random-seed=100" ], - [ - "versions.yml:md5,f0c472387195b669228e3b390f8a93bf" - ] + { + "bam": [ + [ + { + "id": "test" + }, + "test_grouped.bam:md5,fb90b49a90c2b3e8ddfedd9c95361625" + ] + ], + "log": [ + [ + { + "id": "test" + }, + "test_grouped.log" + ] + ], + "tsv": [ + [ + { + "id": "test" + }, + "test_grouped.tsv:md5,1a3ccdc00df59fa89c79ad482980a003" + ] + ], + "versions_umitools": [ + [ + "UMITOOLS_GROUP", + "umitools", + "1.1.6" + ] + ] + } ], + "timestamp": "2026-06-17T09:24:38.464654359", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-09-11T09:44:24.962708" + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } }, "with_umi - create bam and tsv": { "content": [ @@ -128,14 +193,47 @@ "# UMI-tools version: 1.1.6", "# output generated by group -I test.bam --output-bam -S test_grouped.bam -L test_grouped.log --group-out test_grouped.tsv --paired --random-seed=100" ], - [ - "versions.yml:md5,f0c472387195b669228e3b390f8a93bf" - ] + { + "bam": [ + [ + { + "id": "test", + "single_end": false + }, + "test_grouped.bam:md5,e4bcdff1c679f1c73105dfbc9c069ee0" + ] + ], + "log": [ + [ + { + "id": "test", + "single_end": false + }, + "test_grouped.log" + ] + ], + "tsv": [ + [ + { + "id": "test", + "single_end": false + }, + "test_grouped.tsv:md5,d652eb6570057e9e709e8cac5f43d00c" + ] + ], + "versions_umitools": [ + [ + "UMITOOLS_GROUP", + "umitools", + "1.1.6" + ] + ] + } ], + "timestamp": "2026-06-17T09:25:05.708292292", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-09-11T09:45:01.696782" + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } } } \ No newline at end of file From 822e66346a0f1bb4d5a8a643c312bcbc26c9b37a Mon Sep 17 00:00:00 2001 From: Simon Pearce <24893913+SPPearce@users.noreply.github.com> Date: Thu, 18 Jun 2026 06:17:42 +0000 Subject: [PATCH 2/8] umitools/group to topic --- .../nf-core/umitools/group/tests/main.nf.test | 9 ++- .../umitools/group/tests/main.nf.test.snap | 56 +++---------------- 2 files changed, 11 insertions(+), 54 deletions(-) diff --git a/modules/nf-core/umitools/group/tests/main.nf.test b/modules/nf-core/umitools/group/tests/main.nf.test index 32f9e61d0683..4c67fd25b0a8 100644 --- a/modules/nf-core/umitools/group/tests/main.nf.test +++ b/modules/nf-core/umitools/group/tests/main.nf.test @@ -86,9 +86,8 @@ nextflow_process { { assert process.success }, { assert snapshot( bam(process.out.bam[0][1]).getReadsMD5(), - process.out.tsv, file(process.out.log[0][1]).readLines()[0..1], - sanitizeOutput(process.out, unstableKeys: ["log"]) + sanitizeOutput(process.out, unstableKeys: ["log", "bam"]) ).match() } ) } @@ -113,7 +112,7 @@ nextflow_process { { assert snapshot( bam(process.out.bam[0][1]).getReadsMD5(), file(process.out.log[0][1]).readLines()[0..1], - sanitizeOutput(process.out, unstableKeys: ["log"]) + sanitizeOutput(process.out, unstableKeys: ["log", "bam"]) ).match() } ) } @@ -139,7 +138,7 @@ nextflow_process { process.out.tsv, bam(process.out.bam[0][1]).getReadsMD5(), file(process.out.log[0][1]).readLines()[0..1], - sanitizeOutput(process.out, unstableKeys: ["log"]) + sanitizeOutput(process.out, unstableKeys: ["log", "bam"]) ).match() } ) } @@ -161,7 +160,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } diff --git a/modules/nf-core/umitools/group/tests/main.nf.test.snap b/modules/nf-core/umitools/group/tests/main.nf.test.snap index 17c750d03dbb..56f0ef3e48fe 100644 --- a/modules/nf-core/umitools/group/tests/main.nf.test.snap +++ b/modules/nf-core/umitools/group/tests/main.nf.test.snap @@ -13,7 +13,7 @@ "id": "test", "single_end": false }, - "test_grouped.bam:md5,e4bcdff1c679f1c73105dfbc9c069ee0" + "test_grouped.bam" ] ], "log": [ @@ -37,7 +37,7 @@ ] } ], - "timestamp": "2026-06-17T09:24:51.494160439", + "timestamp": "2026-06-18T06:15:31.228922956", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.0" @@ -46,40 +46,6 @@ "with_umi - stub": { "content": [ { - "0": [ - [ - { - "id": "test", - "single_end": false - }, - "test_grouped.log:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - [ - { - "id": "test", - "single_end": false - }, - "test_grouped.bam:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "2": [ - [ - { - "id": "test", - "single_end": false - }, - "test_grouped.tsv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "3": [ - [ - "UMITOOLS_GROUP", - "umitools", - "1.1.6" - ] - ], "bam": [ [ { @@ -116,7 +82,7 @@ ] } ], - "timestamp": "2026-06-17T09:19:41.211548705", + "timestamp": "2026-06-18T06:15:56.340264366", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.0" @@ -125,14 +91,6 @@ "no_umi": { "content": [ "b01829d27fad55e707745f86311b443e", - [ - [ - { - "id": "test" - }, - "test_grouped.tsv:md5,1a3ccdc00df59fa89c79ad482980a003" - ] - ], [ "# UMI-tools version: 1.1.6", "# output generated by group -I test.paired_end.sorted.bam --output-bam -S test_grouped.bam -L test_grouped.log --group-out test_grouped.tsv --paired --random-seed=100" @@ -143,7 +101,7 @@ { "id": "test" }, - "test_grouped.bam:md5,fb90b49a90c2b3e8ddfedd9c95361625" + "test_grouped.bam" ] ], "log": [ @@ -171,7 +129,7 @@ ] } ], - "timestamp": "2026-06-17T09:24:38.464654359", + "timestamp": "2026-06-18T06:15:17.067893237", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.0" @@ -200,7 +158,7 @@ "id": "test", "single_end": false }, - "test_grouped.bam:md5,e4bcdff1c679f1c73105dfbc9c069ee0" + "test_grouped.bam" ] ], "log": [ @@ -230,7 +188,7 @@ ] } ], - "timestamp": "2026-06-17T09:25:05.708292292", + "timestamp": "2026-06-18T06:15:44.340157576", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.0" From 7fac9eaceb5e272a9da5bd60e4f211ed1368e126 Mon Sep 17 00:00:00 2001 From: Simon Pearce <24893913+SPPearce@users.noreply.github.com> Date: Thu, 18 Jun 2026 06:36:34 +0000 Subject: [PATCH 3/8] Swap to use same version extraction as other submodules --- modules/nf-core/umitools/group/main.nf | 2 +- modules/nf-core/umitools/group/meta.yml | 4 ++-- modules/nf-core/umitools/group/tests/main.nf.test | 3 +-- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/modules/nf-core/umitools/group/main.nf b/modules/nf-core/umitools/group/main.nf index d119a81bb542..4db0673f2a74 100644 --- a/modules/nf-core/umitools/group/main.nf +++ b/modules/nf-core/umitools/group/main.nf @@ -16,7 +16,7 @@ process UMITOOLS_GROUP { tuple val(meta), path("*.log") , emit: log tuple val(meta), path("${prefix}.bam"), optional: true, emit: bam tuple val(meta), path("*.tsv") , optional: true, emit: tsv - tuple val("${task.process}"), val('umitools'), eval("umi_tools --version | sed '/version:/!d; s/.*: //'"), emit: versions_umitools, topic: versions + tuple val("${task.process}"), val('umitools'), eval("umi_tools --version | sed 's/UMI-tools version: //'"), emit: versions_umitools, topic: versions when: task.ext.when == null || task.ext.when diff --git a/modules/nf-core/umitools/group/meta.yml b/modules/nf-core/umitools/group/meta.yml index 531a1d5315e5..39c3d3774fc6 100644 --- a/modules/nf-core/umitools/group/meta.yml +++ b/modules/nf-core/umitools/group/meta.yml @@ -76,7 +76,7 @@ output: info of all columns pattern: "*.{tsv}" ontologies: - - edam: http://edamontology.org/format_3475 + - edam: http://edamontology.org/format_3475 #TSV versions_umitools: - - ${task.process}: type: string @@ -84,7 +84,7 @@ output: - umitools: type: string description: The name of the tool - - "umi_tools --version | sed '/version:/!d; s/.*: //'": + - "umi_tools --version | sed 's/UMI-tools version: //'": type: eval description: The expression to obtain the version of the tool topics: diff --git a/modules/nf-core/umitools/group/tests/main.nf.test b/modules/nf-core/umitools/group/tests/main.nf.test index 4c67fd25b0a8..4797dd8d707e 100644 --- a/modules/nf-core/umitools/group/tests/main.nf.test +++ b/modules/nf-core/umitools/group/tests/main.nf.test @@ -88,7 +88,7 @@ nextflow_process { bam(process.out.bam[0][1]).getReadsMD5(), file(process.out.log[0][1]).readLines()[0..1], sanitizeOutput(process.out, unstableKeys: ["log", "bam"]) - ).match() } + ).match() } ) } @@ -135,7 +135,6 @@ nextflow_process { assertAll( { assert process.success }, { assert snapshot( - process.out.tsv, bam(process.out.bam[0][1]).getReadsMD5(), file(process.out.log[0][1]).readLines()[0..1], sanitizeOutput(process.out, unstableKeys: ["log", "bam"]) From b7f4a3a0bcb17fd84d2786f4e92722de26ee59f5 Mon Sep 17 00:00:00 2001 From: Simon Pearce <24893913+SPPearce@users.noreply.github.com> Date: Thu, 18 Jun 2026 07:32:07 +0000 Subject: [PATCH 4/8] Fix --- modules/nf-core/umitools/group/meta.yml | 4 ++-- .../nf-core/umitools/group/tests/main.nf.test.snap | 11 +---------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/modules/nf-core/umitools/group/meta.yml b/modules/nf-core/umitools/group/meta.yml index 39c3d3774fc6..bcd89788cd36 100644 --- a/modules/nf-core/umitools/group/meta.yml +++ b/modules/nf-core/umitools/group/meta.yml @@ -76,7 +76,7 @@ output: info of all columns pattern: "*.{tsv}" ontologies: - - edam: http://edamontology.org/format_3475 #TSV + - edam: http://edamontology.org/format_3475 versions_umitools: - - ${task.process}: type: string @@ -95,7 +95,7 @@ topics: - umitools: type: string description: The name of the tool - - "umi_tools --version | sed '/version:/!d; s/.*: //'": + - "umi_tools --version | sed 's/UMI-tools version: //'": type: eval description: The expression to obtain the version of the tool authors: diff --git a/modules/nf-core/umitools/group/tests/main.nf.test.snap b/modules/nf-core/umitools/group/tests/main.nf.test.snap index 56f0ef3e48fe..262d3a4a3edd 100644 --- a/modules/nf-core/umitools/group/tests/main.nf.test.snap +++ b/modules/nf-core/umitools/group/tests/main.nf.test.snap @@ -137,15 +137,6 @@ }, "with_umi - create bam and tsv": { "content": [ - [ - [ - { - "id": "test", - "single_end": false - }, - "test_grouped.tsv:md5,d652eb6570057e9e709e8cac5f43d00c" - ] - ], "72da540b9a840cf39e3567cc35045143", [ "# UMI-tools version: 1.1.6", @@ -188,7 +179,7 @@ ] } ], - "timestamp": "2026-06-18T06:15:44.340157576", + "timestamp": "2026-06-18T07:17:11.659317297", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.0" From 817b461b7c6f9d46ebfe9d70089c0d45bf5a71d9 Mon Sep 17 00:00:00 2001 From: Simon Pearce <24893913+SPPearce@users.noreply.github.com> Date: Thu, 18 Jun 2026 08:14:11 +0000 Subject: [PATCH 5/8] Swap varscan to topics --- modules/nf-core/varscan/fpfilter/main.nf | 16 +---- modules/nf-core/varscan/fpfilter/meta.yml | 43 ++++++++----- .../varscan/fpfilter/tests/main.nf.test | 2 +- .../varscan/fpfilter/tests/main.nf.test.snap | 60 +++++++++++++----- .../nf-core/varscan/processsomatic/main.nf | 24 +++---- .../nf-core/varscan/processsomatic/meta.yml | 63 +++++++++++-------- .../varscan/processsomatic/tests/main.nf.test | 2 +- .../processsomatic/tests/main.nf.test.snap | 32 ++++++---- modules/nf-core/varscan/somatic/main.nf | 16 +---- modules/nf-core/varscan/somatic/meta.yml | 46 ++++++++------ .../varscan/somatic/tests/main.nf.test | 2 +- .../varscan/somatic/tests/main.nf.test.snap | 60 +++++++++++++----- 12 files changed, 223 insertions(+), 143 deletions(-) diff --git a/modules/nf-core/varscan/fpfilter/main.nf b/modules/nf-core/varscan/fpfilter/main.nf index d0d8bb8ddb3d..27b5ee6f1e0d 100644 --- a/modules/nf-core/varscan/fpfilter/main.nf +++ b/modules/nf-core/varscan/fpfilter/main.nf @@ -11,9 +11,9 @@ process VARSCAN_FPFILTER { tuple val(meta), path(vcf), path(rc) output: - tuple val(meta), path("*.pass.vcf.gz"), emit: pass_vcf - tuple val(meta), path("*.fail.vcf.gz"), emit: fail_vcf - path "versions.yml" , emit: versions + tuple val(meta), path("*.pass.vcf.gz") , emit: pass_vcf + tuple val(meta), path("*.fail.vcf.gz") , emit: fail_vcf + tuple val("${task.process}"), val('varscan'), eval("varscan 2>&1 | sed -n 's/VarScan v\\?\\([0-9.]*\\).*/\\1/p'"), emit: versions_varscan, topic: versions when: task.ext.when == null || task.ext.when @@ -34,11 +34,6 @@ process VARSCAN_FPFILTER { bgzip ${prefix}.pass.vcf bgzip ${prefix}.fail.vcf - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - varscan: \$(varscan 2>&1 | grep VarScan | head -n 1 | sed 's/VarScan //g' | sed 's/,.*//g' | sed 's/^v//' | sed 's/_.*//') - END_VERSIONS """ stub: @@ -49,10 +44,5 @@ process VARSCAN_FPFILTER { echo "" | gzip > ${prefix}.pass.vcf.gz echo "" | gzip > ${prefix}.fail.vcf.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - varscan: \$(varscan 2>&1 | grep VarScan | head -n 1 | sed 's/VarScan //g' | sed 's/,.*//g' | sed 's/^v//' | sed 's/_.*//') - END_VERSIONS """ } diff --git a/modules/nf-core/varscan/fpfilter/meta.yml b/modules/nf-core/varscan/fpfilter/meta.yml index b4d42345ac51..f5264e6cd4a6 100644 --- a/modules/nf-core/varscan/fpfilter/meta.yml +++ b/modules/nf-core/varscan/fpfilter/meta.yml @@ -1,4 +1,3 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "varscan_fpfilter" description: VarScan2 is a tool for variant detection in massively parallel sequencing data. It can detect SNPs, indels, and copy number variations in @@ -19,9 +18,9 @@ tools: documentation: "https://dkoboldt.github.io/varscan/" tool_dev_url: "https://github.com/dkoboldt/varscan" doi: "10.1101/gr.129684.111" - licence: ["The Non-Profit Open Software License version 3.0 (NPOSL-3.0)"] + licence: + - "The Non-Profit Open Software License version 3.0 (NPOSL-3.0)" identifier: biotools:varscan - input: - - meta: type: map @@ -33,8 +32,8 @@ input: description: VCF file pattern: "*.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" # VCF - - edam: "http://edamontology.org/format_3989" # GZIP format + - edam: "http://edamontology.org/format_3016" + - edam: "http://edamontology.org/format_3989" - rc: type: file description: Read counts file from bam-readcount @@ -52,8 +51,8 @@ output: description: VCF file with PASS variants pattern: "*.pass.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" # VCF - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" + - edam: http://edamontology.org/format_3989 fail_vcf: - - meta: type: map @@ -65,15 +64,29 @@ output: description: VCF file with FAIL variants pattern: "*.fail.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" # VCF - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" + - edam: http://edamontology.org/format_3989 + versions_varscan: + - - ${task.process}: + type: string + description: The name of the process + - varscan: + type: string + description: The name of the tool + - varscan 2>&1 | sed -n 's/VarScan v\?\([0-9.]*\).*/\1/p': + 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 + - varscan: + type: string + description: The name of the tool + - varscan 2>&1 | sed -n 's/VarScan v\?\([0-9.]*\).*/\1/p': + type: eval + description: The expression to obtain the version of the tool authors: - "@vmelichar" maintainers: diff --git a/modules/nf-core/varscan/fpfilter/tests/main.nf.test b/modules/nf-core/varscan/fpfilter/tests/main.nf.test index 591b40b98aba..40320e29d72b 100644 --- a/modules/nf-core/varscan/fpfilter/tests/main.nf.test +++ b/modules/nf-core/varscan/fpfilter/tests/main.nf.test @@ -86,7 +86,7 @@ nextflow_process { assert snapshot( path(process.out.pass_vcf.get(0).get(1)).vcf.variantsMD5, path(process.out.fail_vcf.get(0).get(1)).vcf.variantsMD5, - process.out.versions, + sanitizeOutput(process.out, unstableKeys: ["vcf"]), ).match() } ) diff --git a/modules/nf-core/varscan/fpfilter/tests/main.nf.test.snap b/modules/nf-core/varscan/fpfilter/tests/main.nf.test.snap index a064258baa35..474b1e01919c 100644 --- a/modules/nf-core/varscan/fpfilter/tests/main.nf.test.snap +++ b/modules/nf-core/varscan/fpfilter/tests/main.nf.test.snap @@ -21,7 +21,11 @@ ] ], "2": [ - "versions.yml:md5,93abb838631426ac5528b39b1e867481" + [ + "VARSCAN_FPFILTER", + "varscan", + "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + ] ], "fail_vcf": [ [ @@ -41,29 +45,57 @@ "test.pass.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], - "versions": [ - "versions.yml:md5,93abb838631426ac5528b39b1e867481" + "versions_varscan": [ + [ + "VARSCAN_FPFILTER", + "varscan", + "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + ] ] } ], + "timestamp": "2026-06-18T07:37:52.640419006", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-07-28T10:17:06.573224273" + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } }, "human - mpileup": { "content": [ "8e1b97375c4d8501f3873496b80a4dc9", "55341b65671b6af9cde4309b2f7033ce", - [ - "versions.yml:md5,93abb838631426ac5528b39b1e867481" - ] + { + "fail_vcf": [ + [ + { + "id": "test", + "single_end": false + }, + "test.fail.vcf.gz:md5,dcfae92129fbc1134795e0fc32832d00" + ] + ], + "pass_vcf": [ + [ + { + "id": "test", + "single_end": false + }, + "test.pass.vcf.gz:md5,ab67893779f5339be49a1dced06a7049" + ] + ], + "versions_varscan": [ + [ + "VARSCAN_FPFILTER", + "varscan", + "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + ] + ] + } ], + "timestamp": "2026-06-18T07:37:42.235790273", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-07-28T15:52:46.081739882" + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } } } \ No newline at end of file diff --git a/modules/nf-core/varscan/processsomatic/main.nf b/modules/nf-core/varscan/processsomatic/main.nf index 904f6947b6cc..089eb1b34495 100644 --- a/modules/nf-core/varscan/processsomatic/main.nf +++ b/modules/nf-core/varscan/processsomatic/main.nf @@ -11,13 +11,13 @@ process VARSCAN_PROCESSSOMATIC { tuple val(meta), path(vcf) output: - tuple val(meta), path("*.Germline.vcf.gz") , emit: germline_vcf - tuple val(meta), path("*.Germline.hc.vcf.gz"), emit: germline_hc_vcf - tuple val(meta), path("*.Somatic.vcf.gz") , emit: somatic_vcf - tuple val(meta), path("*.Somatic.hc.vcf.gz") , emit: somatic_hc_vcf - tuple val(meta), path("*.LOH.vcf.gz") , emit: loh_vcf - tuple val(meta), path("*.LOH.hc.vcf.gz") , emit: loh_hc_vcf - path "versions.yml" , emit: versions + tuple val(meta), path("*.Germline.vcf.gz") , emit: germline_vcf + tuple val(meta), path("*.Germline.hc.vcf.gz") , emit: germline_hc_vcf + tuple val(meta), path("*.Somatic.vcf.gz") , emit: somatic_vcf + tuple val(meta), path("*.Somatic.hc.vcf.gz") , emit: somatic_hc_vcf + tuple val(meta), path("*.LOH.vcf.gz") , emit: loh_vcf + tuple val(meta), path("*.LOH.hc.vcf.gz") , emit: loh_hc_vcf + tuple val("${task.process}"), val('varscan'), eval("varscan 2>&1 | sed -n 's/VarScan v\\?\\([0-9.]*\\).*/\\1/p'"), emit: versions_varscan, topic: versions when: task.ext.when == null || task.ext.when @@ -32,11 +32,6 @@ process VARSCAN_PROCESSSOMATIC { ${vcf.baseName} bgzip *.vcf - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - varscan: \$(varscan 2>&1 | grep VarScan | head -n 1 | sed 's/VarScan //g' | sed 's/,.*//g' | sed 's/^v//' | sed 's/_.*//') - END_VERSIONS """ stub: @@ -48,10 +43,5 @@ process VARSCAN_PROCESSSOMATIC { echo "" | gzip > ${output_name}.Somatic.hc.vcf.gz echo "" | gzip > ${output_name}.LOH.vcf.gz echo "" | gzip > ${output_name}.LOH.hc.vcf.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - varscan: \$(varscan 2>&1 | grep VarScan | head -n 1 | sed 's/VarScan //g' | sed 's/,.*//g' | sed 's/^v//' | sed 's/_.*//') - END_VERSIONS """ } diff --git a/modules/nf-core/varscan/processsomatic/meta.yml b/modules/nf-core/varscan/processsomatic/meta.yml index 24073fafff96..c9a0e9f9817e 100644 --- a/modules/nf-core/varscan/processsomatic/meta.yml +++ b/modules/nf-core/varscan/processsomatic/meta.yml @@ -1,11 +1,10 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "varscan_processsomatic" description: VarScan2 is a tool for variant detection in massively parallel sequencing data. It can detect SNPs, indels, and copy number variations in both somatic and germline samples. It is particularly useful for analyzing tumor/normal sample pairs. This subtool divides variants based on status - (germline, somatic, loss of heterozygosity) and confidence level (high-confidence - or not) and outputs them in separate VCF files. + (germline, somatic, loss of heterozygosity) and confidence level + (high-confidence or not) and outputs them in separate VCF files. keywords: - variant calling - germline @@ -20,9 +19,9 @@ tools: documentation: "https://dkoboldt.github.io/varscan/" tool_dev_url: "https://github.com/dkoboldt/varscan" doi: "10.1101/gr.129684.111" - licence: ["The Non-Profit Open Software License version 3.0 (NPOSL-3.0)"] + licence: + - "The Non-Profit Open Software License version 3.0 (NPOSL-3.0)" identifier: biotools:varscan - input: - - meta: type: map @@ -34,8 +33,8 @@ input: description: VCF file pattern: "*.{snvs,indels}.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" # VCF - - edam: "http://edamontology.org/format_3989" # GZIP format + - edam: "http://edamontology.org/format_3016" + - edam: "http://edamontology.org/format_3989" output: germline_vcf: - - meta: @@ -48,8 +47,8 @@ output: description: VCF file with germline variants pattern: "*.Germline.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" # VCF - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" + - edam: http://edamontology.org/format_3989 germline_hc_vcf: - - meta: type: map @@ -61,8 +60,8 @@ output: description: VCF file with high-confidence germline variants pattern: "*.Germline.hc.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" # VCF - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" + - edam: http://edamontology.org/format_3989 somatic_vcf: - - meta: type: map @@ -74,8 +73,8 @@ output: description: VCF file with somatic variants pattern: "*.Somatic.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" # VCF - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" + - edam: http://edamontology.org/format_3989 somatic_hc_vcf: - - meta: type: map @@ -87,8 +86,8 @@ output: description: VCF file with high-confidence somatic variants pattern: "*.Somatic.hc.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" # VCF - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" + - edam: http://edamontology.org/format_3989 loh_vcf: - - meta: type: map @@ -100,8 +99,8 @@ output: description: VCF file with loss of heterozygosity variants pattern: "*.LOH.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" # VCF - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" + - edam: http://edamontology.org/format_3989 loh_hc_vcf: - - meta: type: map @@ -114,15 +113,29 @@ output: variants pattern: "*.LOH.hc.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" # VCF - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" + - edam: http://edamontology.org/format_3989 + versions_varscan: + - - ${task.process}: + type: string + description: The name of the process + - varscan: + type: string + description: The name of the tool + - varscan 2>&1 | sed -n 's/VarScan v\?\([0-9.]*\).*/\1/p': + 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 + - varscan: + type: string + description: The name of the tool + - varscan 2>&1 | sed -n 's/VarScan v\?\([0-9.]*\).*/\1/p': + type: eval + description: The expression to obtain the version of the tool authors: - "@vmelichar" maintainers: diff --git a/modules/nf-core/varscan/processsomatic/tests/main.nf.test b/modules/nf-core/varscan/processsomatic/tests/main.nf.test index c751b13b2f0c..9f550e7f2277 100644 --- a/modules/nf-core/varscan/processsomatic/tests/main.nf.test +++ b/modules/nf-core/varscan/processsomatic/tests/main.nf.test @@ -50,7 +50,7 @@ nextflow_process { path(process.out.somatic_hc_vcf.get(0).get(1)).vcf.variantsMD5, path(process.out.loh_vcf.get(0).get(1)).vcf.variantsMD5, path(process.out.loh_hc_vcf.get(0).get(1)).vcf.variantsMD5, - process.out.versions, + process.out.findAll { key, val -> key.startsWith('versions') } ).match() } ) diff --git a/modules/nf-core/varscan/processsomatic/tests/main.nf.test.snap b/modules/nf-core/varscan/processsomatic/tests/main.nf.test.snap index 2931c2ca76a9..eb5ef99a38da 100644 --- a/modules/nf-core/varscan/processsomatic/tests/main.nf.test.snap +++ b/modules/nf-core/varscan/processsomatic/tests/main.nf.test.snap @@ -50,15 +50,19 @@ "empty.Somatic.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], - "versions": [ - "versions.yml:md5,80c7278cfacd3ab0f81b92d4b3ad2d15" + "versions_varscan": [ + [ + "VARSCAN_PROCESSSOMATIC", + "varscan", + "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + ] ] } ], - "timestamp": "2026-02-18T09:15:53.790621131", + "timestamp": "2026-06-18T07:38:38.129819066", "meta": { - "nf-test": "0.9.4", - "nextflow": "25.10.4" + "nf-test": "0.9.5", + "nextflow": "26.04.0" } }, "human - mpileup": { @@ -69,14 +73,20 @@ "e37d2a23d697b8b528d37f2a39ef3adc", "60ec3cd2057c6dd0d35c94ff81938096", "60ec3cd2057c6dd0d35c94ff81938096", - [ - "versions.yml:md5,80c7278cfacd3ab0f81b92d4b3ad2d15" - ] + { + "versions_varscan": [ + [ + "VARSCAN_PROCESSSOMATIC", + "varscan", + "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + ] + ] + } ], - "timestamp": "2025-07-25T13:32:20.427966821", + "timestamp": "2026-06-18T07:58:10.222692935", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" + "nf-test": "0.9.5", + "nextflow": "26.04.0" } } } \ No newline at end of file diff --git a/modules/nf-core/varscan/somatic/main.nf b/modules/nf-core/varscan/somatic/main.nf index 1b8fdbff96cf..d673f8247a8a 100644 --- a/modules/nf-core/varscan/somatic/main.nf +++ b/modules/nf-core/varscan/somatic/main.nf @@ -11,9 +11,9 @@ process VARSCAN_SOMATIC { tuple val(meta), path(normal_mpileup), path(tumour_mpileup) output: - tuple val(meta), path("*.snvs.vcf.gz") , emit: vcf_snvs - tuple val(meta), path("*.indels.vcf.gz"), emit: vcf_indels - path "versions.yml" , emit: versions + tuple val(meta), path("*.snvs.vcf.gz") , emit: vcf_snvs + tuple val(meta), path("*.indels.vcf.gz") , emit: vcf_indels + tuple val("${task.process}"), val('varscan'), eval("varscan 2>&1 | sed -n 's/VarScan v\\?\\([0-9.]*\\).*/\\1/p'"), emit: versions_varscan, topic: versions when: task.ext.when == null || task.ext.when @@ -37,11 +37,6 @@ process VARSCAN_SOMATIC { bgzip ${prefix}.snvs.vcf bgzip ${prefix}.indels.vcf - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - varscan: \$(varscan 2>&1 | grep VarScan | head -n 1 | sed 's/VarScan //g' | sed 's/,.*//g' | sed 's/^v//' | sed 's/_.*//') - END_VERSIONS """ stub: @@ -52,10 +47,5 @@ process VARSCAN_SOMATIC { echo "" | gzip > ${prefix}.snvs.vcf.gz echo "" | gzip > ${prefix}.indels.vcf.gz - - cat <<-END_VERSIONS > versions.yml - "${task.process}": - varscan: \$(varscan 2>&1 | grep VarScan | head -n 1 | sed 's/VarScan //g' | sed 's/,.*//g' | sed 's/^v//' | sed 's/_.*//') - END_VERSIONS """ } diff --git a/modules/nf-core/varscan/somatic/meta.yml b/modules/nf-core/varscan/somatic/meta.yml index 07280178cf7d..176008b4e73e 100644 --- a/modules/nf-core/varscan/somatic/meta.yml +++ b/modules/nf-core/varscan/somatic/meta.yml @@ -1,4 +1,3 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "varscan_somatic" description: VarScan2 is a tool for variant detection in massively parallel sequencing data. It can detect SNPs, indels, and copy number variations in @@ -18,30 +17,27 @@ tools: documentation: "https://dkoboldt.github.io/varscan/" tool_dev_url: "https://github.com/dkoboldt/varscan" doi: "10.1101/gr.129684.111" - licence: ["The Non-Profit Open Software License version 3.0 (NPOSL-3.0)"] + licence: + - "The Non-Profit Open Software License version 3.0 (NPOSL-3.0)" identifier: biotools:varscan - input: - - meta: type: map description: | Groovy Map containing sample information e.g. `[ id:'sample1' ]` - - normal_mpileup: type: file description: mpileup file from normal sample pattern: "*.mpileup" ontologies: - - edam: "http://edamontology.org/format_3015" # Pileup - + - edam: "http://edamontology.org/format_3015" - tumour_mpileup: type: file description: mpileup file from tumour sample pattern: "*.mpileup" ontologies: - - edam: "http://edamontology.org/format_3015" # - + - edam: "http://edamontology.org/format_3015" output: vcf_snvs: - - meta: @@ -54,8 +50,8 @@ output: description: VCF file with SNVs pattern: "*.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" # VCF - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" + - edam: http://edamontology.org/format_3989 vcf_indels: - - meta: type: map @@ -67,15 +63,29 @@ output: description: VCF file with indels pattern: "*.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" # VCF - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" + - edam: http://edamontology.org/format_3989 + versions_varscan: + - - ${task.process}: + type: string + description: The name of the process + - varscan: + type: string + description: The name of the tool + - varscan 2>&1 | sed -n 's/VarScan v\?\([0-9.]*\).*/\1/p': + 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 + - varscan: + type: string + description: The name of the tool + - varscan 2>&1 | sed -n 's/VarScan v\?\([0-9.]*\).*/\1/p': + type: eval + description: The expression to obtain the version of the tool authors: - "@vmelichar" maintainers: diff --git a/modules/nf-core/varscan/somatic/tests/main.nf.test b/modules/nf-core/varscan/somatic/tests/main.nf.test index 689576ba9d6c..af1a6feaafa1 100644 --- a/modules/nf-core/varscan/somatic/tests/main.nf.test +++ b/modules/nf-core/varscan/somatic/tests/main.nf.test @@ -34,7 +34,7 @@ nextflow_process { assert snapshot( path(process.out.vcf_indels.get(0).get(1)).vcf.variantsMD5, path(process.out.vcf_snvs.get(0).get(1)).vcf.variantsMD5, - process.out.versions, + sanitizeOutput(process.out, unstableKeys: ["vcf_indels", "vcf_snvs"]), ).match() } ) diff --git a/modules/nf-core/varscan/somatic/tests/main.nf.test.snap b/modules/nf-core/varscan/somatic/tests/main.nf.test.snap index 3caab1698134..d5aeaba010ed 100644 --- a/modules/nf-core/varscan/somatic/tests/main.nf.test.snap +++ b/modules/nf-core/varscan/somatic/tests/main.nf.test.snap @@ -21,7 +21,11 @@ ] ], "2": [ - "versions.yml:md5,29808739574a0ca98904b613207fff2a" + [ + "VARSCAN_SOMATIC", + "varscan", + "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + ] ], "vcf_indels": [ [ @@ -41,29 +45,57 @@ "test.snvs.vcf.gz:md5,68b329da9893e34099c7d8ad5cb9c940" ] ], - "versions": [ - "versions.yml:md5,29808739574a0ca98904b613207fff2a" + "versions_varscan": [ + [ + "VARSCAN_SOMATIC", + "varscan", + "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + ] ] } ], + "timestamp": "2026-06-18T07:39:22.63028011", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-07-24T16:23:31.848519166" + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } }, "human - mpileup": { "content": [ "807221f6df664ddae870cf0e87c351a6", "36f3d8a2f25c6e8b9bc5a15518cae5d1", - [ - "versions.yml:md5,29808739574a0ca98904b613207fff2a" - ] + { + "vcf_indels": [ + [ + { + "id": "test", + "single_end": false + }, + "test.indels.vcf.gz" + ] + ], + "vcf_snvs": [ + [ + { + "id": "test", + "single_end": false + }, + "test.snvs.vcf.gz" + ] + ], + "versions_varscan": [ + [ + "VARSCAN_SOMATIC", + "varscan", + "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + ] + ] + } ], + "timestamp": "2026-06-18T07:58:54.21195075", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-07-24T16:32:43.644174694" + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } } } \ No newline at end of file From 4ae404aa78bd5f80bc74eb09daa2ff3555cc3c4c Mon Sep 17 00:00:00 2001 From: Simon Pearce <24893913+SPPearce@users.noreply.github.com> Date: Thu, 18 Jun 2026 08:35:29 +0000 Subject: [PATCH 6/8] Remove massive indent --- modules/nf-core/varscan/fpfilter/main.nf | 4 ++-- modules/nf-core/varscan/processsomatic/main.nf | 12 ++++++------ modules/nf-core/varscan/somatic/main.nf | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/nf-core/varscan/fpfilter/main.nf b/modules/nf-core/varscan/fpfilter/main.nf index 27b5ee6f1e0d..5ab208c30f17 100644 --- a/modules/nf-core/varscan/fpfilter/main.nf +++ b/modules/nf-core/varscan/fpfilter/main.nf @@ -11,8 +11,8 @@ process VARSCAN_FPFILTER { tuple val(meta), path(vcf), path(rc) output: - tuple val(meta), path("*.pass.vcf.gz") , emit: pass_vcf - tuple val(meta), path("*.fail.vcf.gz") , emit: fail_vcf + tuple val(meta), path("*.pass.vcf.gz"), emit: pass_vcf + tuple val(meta), path("*.fail.vcf.gz"), emit: fail_vcf tuple val("${task.process}"), val('varscan'), eval("varscan 2>&1 | sed -n 's/VarScan v\\?\\([0-9.]*\\).*/\\1/p'"), emit: versions_varscan, topic: versions when: diff --git a/modules/nf-core/varscan/processsomatic/main.nf b/modules/nf-core/varscan/processsomatic/main.nf index 089eb1b34495..af7505c8329d 100644 --- a/modules/nf-core/varscan/processsomatic/main.nf +++ b/modules/nf-core/varscan/processsomatic/main.nf @@ -11,12 +11,12 @@ process VARSCAN_PROCESSSOMATIC { tuple val(meta), path(vcf) output: - tuple val(meta), path("*.Germline.vcf.gz") , emit: germline_vcf - tuple val(meta), path("*.Germline.hc.vcf.gz") , emit: germline_hc_vcf - tuple val(meta), path("*.Somatic.vcf.gz") , emit: somatic_vcf - tuple val(meta), path("*.Somatic.hc.vcf.gz") , emit: somatic_hc_vcf - tuple val(meta), path("*.LOH.vcf.gz") , emit: loh_vcf - tuple val(meta), path("*.LOH.hc.vcf.gz") , emit: loh_hc_vcf + tuple val(meta), path("*.Germline.vcf.gz") , emit: germline_vcf + tuple val(meta), path("*.Germline.hc.vcf.gz"), emit: germline_hc_vcf + tuple val(meta), path("*.Somatic.vcf.gz") , emit: somatic_vcf + tuple val(meta), path("*.Somatic.hc.vcf.gz") , emit: somatic_hc_vcf + tuple val(meta), path("*.LOH.vcf.gz") , emit: loh_vcf + tuple val(meta), path("*.LOH.hc.vcf.gz") , emit: loh_hc_vcf tuple val("${task.process}"), val('varscan'), eval("varscan 2>&1 | sed -n 's/VarScan v\\?\\([0-9.]*\\).*/\\1/p'"), emit: versions_varscan, topic: versions when: diff --git a/modules/nf-core/varscan/somatic/main.nf b/modules/nf-core/varscan/somatic/main.nf index d673f8247a8a..d0c4ea2316cf 100644 --- a/modules/nf-core/varscan/somatic/main.nf +++ b/modules/nf-core/varscan/somatic/main.nf @@ -11,8 +11,8 @@ process VARSCAN_SOMATIC { tuple val(meta), path(normal_mpileup), path(tumour_mpileup) output: - tuple val(meta), path("*.snvs.vcf.gz") , emit: vcf_snvs - tuple val(meta), path("*.indels.vcf.gz") , emit: vcf_indels + tuple val(meta), path("*.snvs.vcf.gz") , emit: vcf_snvs + tuple val(meta), path("*.indels.vcf.gz"), emit: vcf_indels tuple val("${task.process}"), val('varscan'), eval("varscan 2>&1 | sed -n 's/VarScan v\\?\\([0-9.]*\\).*/\\1/p'"), emit: versions_varscan, topic: versions when: From 3fc4112b0a74d27ed3f677373f23b2e0f9392811 Mon Sep 17 00:00:00 2001 From: Simon Pearce <24893913+SPPearce@users.noreply.github.com> Date: Thu, 18 Jun 2026 12:25:11 +0000 Subject: [PATCH 7/8] Fix version extraction --- modules/nf-core/varscan/fpfilter/main.nf | 2 +- modules/nf-core/varscan/fpfilter/meta.yml | 12 +++++++----- .../varscan/fpfilter/tests/main.nf.test.snap | 10 +++++----- modules/nf-core/varscan/processsomatic/main.nf | 2 +- .../nf-core/varscan/processsomatic/meta.yml | 18 ++++++++++-------- .../processsomatic/tests/main.nf.test.snap | 8 ++++---- modules/nf-core/varscan/somatic/main.nf | 2 +- modules/nf-core/varscan/somatic/meta.yml | 10 ++++++---- .../varscan/somatic/tests/main.nf.test.snap | 10 +++++----- 9 files changed, 40 insertions(+), 34 deletions(-) diff --git a/modules/nf-core/varscan/fpfilter/main.nf b/modules/nf-core/varscan/fpfilter/main.nf index 5ab208c30f17..e8eb644b6d32 100644 --- a/modules/nf-core/varscan/fpfilter/main.nf +++ b/modules/nf-core/varscan/fpfilter/main.nf @@ -13,7 +13,7 @@ process VARSCAN_FPFILTER { output: tuple val(meta), path("*.pass.vcf.gz"), emit: pass_vcf tuple val(meta), path("*.fail.vcf.gz"), emit: fail_vcf - tuple val("${task.process}"), val('varscan'), eval("varscan 2>&1 | sed -n 's/VarScan v\\?\\([0-9.]*\\).*/\\1/p'"), emit: versions_varscan, topic: versions + tuple val("${task.process}"), val('varscan'), eval("varscan 2>&1 | sed -n '2s/.*v//p'"), emit: versions_varscan, topic: versions when: task.ext.when == null || task.ext.when diff --git a/modules/nf-core/varscan/fpfilter/meta.yml b/modules/nf-core/varscan/fpfilter/meta.yml index f5264e6cd4a6..4733c8c80aef 100644 --- a/modules/nf-core/varscan/fpfilter/meta.yml +++ b/modules/nf-core/varscan/fpfilter/meta.yml @@ -33,7 +33,7 @@ input: pattern: "*.vcf.gz" ontologies: - edam: "http://edamontology.org/format_3016" - - edam: "http://edamontology.org/format_3989" + - edam: "http://edamontology.org/format_3989" # GZIP format - rc: type: file description: Read counts file from bam-readcount @@ -52,7 +52,7 @@ output: pattern: "*.pass.vcf.gz" ontologies: - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 + - edam: http://edamontology.org/format_3989 # GZIP format fail_vcf: - - meta: type: map @@ -65,7 +65,7 @@ output: pattern: "*.fail.vcf.gz" ontologies: - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 + - edam: http://edamontology.org/format_3989 # GZIP format versions_varscan: - - ${task.process}: type: string @@ -73,9 +73,10 @@ output: - varscan: type: string description: The name of the tool - - varscan 2>&1 | sed -n 's/VarScan v\?\([0-9.]*\).*/\1/p': + - varscan 2>&1 | sed -n '2s/.*v//p': type: eval description: The expression to obtain the version of the tool + topics: versions: - - ${task.process}: @@ -84,9 +85,10 @@ topics: - varscan: type: string description: The name of the tool - - varscan 2>&1 | sed -n 's/VarScan v\?\([0-9.]*\).*/\1/p': + - varscan 2>&1 | sed -n '2s/.*v//p': type: eval description: The expression to obtain the version of the tool + authors: - "@vmelichar" maintainers: diff --git a/modules/nf-core/varscan/fpfilter/tests/main.nf.test.snap b/modules/nf-core/varscan/fpfilter/tests/main.nf.test.snap index 474b1e01919c..c67c44d60341 100644 --- a/modules/nf-core/varscan/fpfilter/tests/main.nf.test.snap +++ b/modules/nf-core/varscan/fpfilter/tests/main.nf.test.snap @@ -24,7 +24,7 @@ [ "VARSCAN_FPFILTER", "varscan", - "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + "2.4.6" ] ], "fail_vcf": [ @@ -49,12 +49,12 @@ [ "VARSCAN_FPFILTER", "varscan", - "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + "2.4.6" ] ] } ], - "timestamp": "2026-06-18T07:37:52.640419006", + "timestamp": "2026-06-18T12:20:29.020655376", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.0" @@ -87,12 +87,12 @@ [ "VARSCAN_FPFILTER", "varscan", - "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + "2.4.6" ] ] } ], - "timestamp": "2026-06-18T07:37:42.235790273", + "timestamp": "2026-06-18T12:20:19.24310901", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.0" diff --git a/modules/nf-core/varscan/processsomatic/main.nf b/modules/nf-core/varscan/processsomatic/main.nf index af7505c8329d..9699753d929b 100644 --- a/modules/nf-core/varscan/processsomatic/main.nf +++ b/modules/nf-core/varscan/processsomatic/main.nf @@ -17,7 +17,7 @@ process VARSCAN_PROCESSSOMATIC { tuple val(meta), path("*.Somatic.hc.vcf.gz") , emit: somatic_hc_vcf tuple val(meta), path("*.LOH.vcf.gz") , emit: loh_vcf tuple val(meta), path("*.LOH.hc.vcf.gz") , emit: loh_hc_vcf - tuple val("${task.process}"), val('varscan'), eval("varscan 2>&1 | sed -n 's/VarScan v\\?\\([0-9.]*\\).*/\\1/p'"), emit: versions_varscan, topic: versions + tuple val("${task.process}"), val('varscan'), eval("varscan 2>&1 | sed -n '2s/.*v//p'"), emit: versions_varscan, topic: versions when: task.ext.when == null || task.ext.when diff --git a/modules/nf-core/varscan/processsomatic/meta.yml b/modules/nf-core/varscan/processsomatic/meta.yml index c9a0e9f9817e..05e9c4f4dafe 100644 --- a/modules/nf-core/varscan/processsomatic/meta.yml +++ b/modules/nf-core/varscan/processsomatic/meta.yml @@ -48,7 +48,7 @@ output: pattern: "*.Germline.vcf.gz" ontologies: - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 + - edam: http://edamontology.org/format_3989 # GZIP format germline_hc_vcf: - - meta: type: map @@ -61,7 +61,7 @@ output: pattern: "*.Germline.hc.vcf.gz" ontologies: - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 + - edam: http://edamontology.org/format_3989 # GZIP format somatic_vcf: - - meta: type: map @@ -74,7 +74,7 @@ output: pattern: "*.Somatic.vcf.gz" ontologies: - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 + - edam: http://edamontology.org/format_3989 # GZIP format somatic_hc_vcf: - - meta: type: map @@ -87,7 +87,7 @@ output: pattern: "*.Somatic.hc.vcf.gz" ontologies: - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 + - edam: http://edamontology.org/format_3989 # GZIP format loh_vcf: - - meta: type: map @@ -100,7 +100,7 @@ output: pattern: "*.LOH.vcf.gz" ontologies: - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 + - edam: http://edamontology.org/format_3989 # GZIP format loh_hc_vcf: - - meta: type: map @@ -114,7 +114,7 @@ output: pattern: "*.LOH.hc.vcf.gz" ontologies: - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 + - edam: http://edamontology.org/format_3989 # GZIP format versions_varscan: - - ${task.process}: type: string @@ -122,9 +122,10 @@ output: - varscan: type: string description: The name of the tool - - varscan 2>&1 | sed -n 's/VarScan v\?\([0-9.]*\).*/\1/p': + - varscan 2>&1 | sed -n '2s/.*v//p': type: eval description: The expression to obtain the version of the tool + topics: versions: - - ${task.process}: @@ -133,9 +134,10 @@ topics: - varscan: type: string description: The name of the tool - - varscan 2>&1 | sed -n 's/VarScan v\?\([0-9.]*\).*/\1/p': + - varscan 2>&1 | sed -n '2s/.*v//p': type: eval description: The expression to obtain the version of the tool + authors: - "@vmelichar" maintainers: diff --git a/modules/nf-core/varscan/processsomatic/tests/main.nf.test.snap b/modules/nf-core/varscan/processsomatic/tests/main.nf.test.snap index eb5ef99a38da..01bb0fdfd28d 100644 --- a/modules/nf-core/varscan/processsomatic/tests/main.nf.test.snap +++ b/modules/nf-core/varscan/processsomatic/tests/main.nf.test.snap @@ -54,12 +54,12 @@ [ "VARSCAN_PROCESSSOMATIC", "varscan", - "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + "2.4.6" ] ] } ], - "timestamp": "2026-06-18T07:38:38.129819066", + "timestamp": "2026-06-18T12:21:15.509140749", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.0" @@ -78,12 +78,12 @@ [ "VARSCAN_PROCESSSOMATIC", "varscan", - "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + "2.4.6" ] ] } ], - "timestamp": "2026-06-18T07:58:10.222692935", + "timestamp": "2026-06-18T12:21:08.776020568", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.0" diff --git a/modules/nf-core/varscan/somatic/main.nf b/modules/nf-core/varscan/somatic/main.nf index d0c4ea2316cf..fedb92e7a0a9 100644 --- a/modules/nf-core/varscan/somatic/main.nf +++ b/modules/nf-core/varscan/somatic/main.nf @@ -13,7 +13,7 @@ process VARSCAN_SOMATIC { output: tuple val(meta), path("*.snvs.vcf.gz") , emit: vcf_snvs tuple val(meta), path("*.indels.vcf.gz"), emit: vcf_indels - tuple val("${task.process}"), val('varscan'), eval("varscan 2>&1 | sed -n 's/VarScan v\\?\\([0-9.]*\\).*/\\1/p'"), emit: versions_varscan, topic: versions + tuple val("${task.process}"), val('varscan'), eval("varscan 2>&1 | sed -n '2s/.*v//p'"), emit: versions_varscan, topic: versions when: task.ext.when == null || task.ext.when diff --git a/modules/nf-core/varscan/somatic/meta.yml b/modules/nf-core/varscan/somatic/meta.yml index 176008b4e73e..bd416e0a2365 100644 --- a/modules/nf-core/varscan/somatic/meta.yml +++ b/modules/nf-core/varscan/somatic/meta.yml @@ -51,7 +51,7 @@ output: pattern: "*.vcf.gz" ontologies: - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 + - edam: http://edamontology.org/format_3989 # GZIP format vcf_indels: - - meta: type: map @@ -64,7 +64,7 @@ output: pattern: "*.vcf.gz" ontologies: - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 + - edam: http://edamontology.org/format_3989 # GZIP format versions_varscan: - - ${task.process}: type: string @@ -72,9 +72,10 @@ output: - varscan: type: string description: The name of the tool - - varscan 2>&1 | sed -n 's/VarScan v\?\([0-9.]*\).*/\1/p': + - varscan 2>&1 | sed -n '2s/.*v//p': type: eval description: The expression to obtain the version of the tool + topics: versions: - - ${task.process}: @@ -83,9 +84,10 @@ topics: - varscan: type: string description: The name of the tool - - varscan 2>&1 | sed -n 's/VarScan v\?\([0-9.]*\).*/\1/p': + - varscan 2>&1 | sed -n '2s/.*v//p': type: eval description: The expression to obtain the version of the tool + authors: - "@vmelichar" maintainers: diff --git a/modules/nf-core/varscan/somatic/tests/main.nf.test.snap b/modules/nf-core/varscan/somatic/tests/main.nf.test.snap index d5aeaba010ed..de675fd6d922 100644 --- a/modules/nf-core/varscan/somatic/tests/main.nf.test.snap +++ b/modules/nf-core/varscan/somatic/tests/main.nf.test.snap @@ -24,7 +24,7 @@ [ "VARSCAN_SOMATIC", "varscan", - "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + "2.4.6" ] ], "vcf_indels": [ @@ -49,12 +49,12 @@ [ "VARSCAN_SOMATIC", "varscan", - "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + "2.4.6" ] ] } ], - "timestamp": "2026-06-18T07:39:22.63028011", + "timestamp": "2026-06-18T12:22:01.901613234", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.0" @@ -87,12 +87,12 @@ [ "VARSCAN_SOMATIC", "varscan", - "2.4.6\n\tcopyCaller\t\tGC-adjust and process copy number changes from " + "2.4.6" ] ] } ], - "timestamp": "2026-06-18T07:58:54.21195075", + "timestamp": "2026-06-18T12:21:54.961926236", "meta": { "nf-test": "0.9.5", "nextflow": "26.04.0" From 12b97c055aa3c8f2a264308be7a40d01b69908dd Mon Sep 17 00:00:00 2001 From: Simon Pearce <24893913+SPPearce@users.noreply.github.com> Date: Thu, 18 Jun 2026 12:29:21 +0000 Subject: [PATCH 8/8] Add edam comments back --- modules/nf-core/varscan/fpfilter/meta.yml | 12 ++++---- .../nf-core/varscan/processsomatic/meta.yml | 28 +++++++++---------- modules/nf-core/varscan/somatic/meta.yml | 12 ++++---- 3 files changed, 26 insertions(+), 26 deletions(-) diff --git a/modules/nf-core/varscan/fpfilter/meta.yml b/modules/nf-core/varscan/fpfilter/meta.yml index 4733c8c80aef..82b3beade909 100644 --- a/modules/nf-core/varscan/fpfilter/meta.yml +++ b/modules/nf-core/varscan/fpfilter/meta.yml @@ -32,8 +32,8 @@ input: description: VCF file pattern: "*.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" - - edam: "http://edamontology.org/format_3989" # GZIP format + - edam: "http://edamontology.org/format_3016" # VCF + - edam: "http://edamontology.org/format_3989" # GZIP - rc: type: file description: Read counts file from bam-readcount @@ -51,8 +51,8 @@ output: description: VCF file with PASS variants pattern: "*.pass.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" # VCF + - edam: "http://edamontology.org/format_3989" # GZIP fail_vcf: - - meta: type: map @@ -64,8 +64,8 @@ output: description: VCF file with FAIL variants pattern: "*.fail.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" # VCF + - edam: "http://edamontology.org/format_3989" # GZIP versions_varscan: - - ${task.process}: type: string diff --git a/modules/nf-core/varscan/processsomatic/meta.yml b/modules/nf-core/varscan/processsomatic/meta.yml index 05e9c4f4dafe..698f069a67e7 100644 --- a/modules/nf-core/varscan/processsomatic/meta.yml +++ b/modules/nf-core/varscan/processsomatic/meta.yml @@ -33,8 +33,8 @@ input: description: VCF file pattern: "*.{snvs,indels}.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" - - edam: "http://edamontology.org/format_3989" + - edam: "http://edamontology.org/format_3016" # VCF + - edam: "http://edamontology.org/format_3989" # GZIP output: germline_vcf: - - meta: @@ -47,8 +47,8 @@ output: description: VCF file with germline variants pattern: "*.Germline.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" # VCF + - edam: "http://edamontology.org/format_3989" # GZIP germline_hc_vcf: - - meta: type: map @@ -60,8 +60,8 @@ output: description: VCF file with high-confidence germline variants pattern: "*.Germline.hc.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" # VCF + - edam: "http://edamontology.org/format_3989" # GZIP somatic_vcf: - - meta: type: map @@ -73,8 +73,8 @@ output: description: VCF file with somatic variants pattern: "*.Somatic.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" # VCF + - edam: "http://edamontology.org/format_3989" # GZIP somatic_hc_vcf: - - meta: type: map @@ -86,8 +86,8 @@ output: description: VCF file with high-confidence somatic variants pattern: "*.Somatic.hc.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" # VCF + - edam: "http://edamontology.org/format_3989" # GZIP loh_vcf: - - meta: type: map @@ -99,8 +99,8 @@ output: description: VCF file with loss of heterozygosity variants pattern: "*.LOH.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" # VCF + - edam: "http://edamontology.org/format_3989" # GZIP loh_hc_vcf: - - meta: type: map @@ -113,8 +113,8 @@ output: variants pattern: "*.LOH.hc.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" # VCF + - edam: "http://edamontology.org/format_3989" # GZIP versions_varscan: - - ${task.process}: type: string diff --git a/modules/nf-core/varscan/somatic/meta.yml b/modules/nf-core/varscan/somatic/meta.yml index bd416e0a2365..2f10930cb4aa 100644 --- a/modules/nf-core/varscan/somatic/meta.yml +++ b/modules/nf-core/varscan/somatic/meta.yml @@ -31,13 +31,13 @@ input: description: mpileup file from normal sample pattern: "*.mpileup" ontologies: - - edam: "http://edamontology.org/format_3015" + - edam: "http://edamontology.org/format_3015" # Pileup - tumour_mpileup: type: file description: mpileup file from tumour sample pattern: "*.mpileup" ontologies: - - edam: "http://edamontology.org/format_3015" + - edam: "http://edamontology.org/format_3015" # Pileup output: vcf_snvs: - - meta: @@ -50,8 +50,8 @@ output: description: VCF file with SNVs pattern: "*.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" # VCF + - edam: "http://edamontology.org/format_3989" # GZIP vcf_indels: - - meta: type: map @@ -63,8 +63,8 @@ output: description: VCF file with indels pattern: "*.vcf.gz" ontologies: - - edam: "http://edamontology.org/format_3016" - - edam: http://edamontology.org/format_3989 # GZIP format + - edam: "http://edamontology.org/format_3016" # VCF + - edam: "http://edamontology.org/format_3989" # GZIP versions_varscan: - - ${task.process}: type: string