diff --git a/modules/nf-core/scanpy/hashsolo/main.nf b/modules/nf-core/scanpy/hashsolo/main.nf index cf7d915b7aa4..3cb34277e3bf 100644 --- a/modules/nf-core/scanpy/hashsolo/main.nf +++ b/modules/nf-core/scanpy/hashsolo/main.nf @@ -14,7 +14,7 @@ process SCANPY_HASHSOLO { tuple val(meta), path("*_assignment_hashsolo.csv"), emit: assignment tuple val(meta), path("*_hashsolo.h5ad") , emit: h5ad tuple val(meta), path("*_params_hashsolo.csv") , emit: params - path "versions.yml" , emit: versions + path "versions.yml" , emit: versions, topic: versions when: task.ext.when == null || task.ext.when diff --git a/modules/nf-core/scanpy/hashsolo/meta.yml b/modules/nf-core/scanpy/hashsolo/meta.yml index d94d66610fae..9ef681a6a961 100644 --- a/modules/nf-core/scanpy/hashsolo/meta.yml +++ b/modules/nf-core/scanpy/hashsolo/meta.yml @@ -1,4 +1,3 @@ -# yaml-language-server: $schema=https://raw.githubusercontent.com/nf-core/modules/master/modules/meta-schema.json name: "SCANPY_HASHSOLO" description: Probabilistic demultiplexing of cell hashing data keywords: @@ -14,7 +13,8 @@ tools: documentation: "https://scanpy.readthedocs.io/en/stable/generated/scanpy.external.pp.hashsolo.html" tool_dev_url: "https://github.com/scverse/scanpy" doi: "10.1186/s13059-017-1382-0" - licence: ["BSD-3"] + licence: + - "BSD-3" identifier: biotools:scanpy input: @@ -83,6 +83,14 @@ output: pattern: "versions.yml" ontologies: - edam: http://edamontology.org/format_3750 # YAML +topics: + versions: + - versions.yml: + type: file + description: File containing software versions + pattern: "versions.yml" + ontologies: + - edam: http://edamontology.org/format_3750 # YAML authors: - "@seohyonkim" - "@LuisHeinzlmeier" diff --git a/modules/nf-core/scanpy/hashsolo/tests/main.nf.test b/modules/nf-core/scanpy/hashsolo/tests/main.nf.test index a3a558e2b99b..4aecd89f6270 100644 --- a/modules/nf-core/scanpy/hashsolo/tests/main.nf.test +++ b/modules/nf-core/scanpy/hashsolo/tests/main.nf.test @@ -50,7 +50,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["assignment", "h5ad"])).match() } ) } } @@ -93,7 +93,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["assignment", "h5ad"])).match() } ) } } @@ -129,7 +129,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot(process.out).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } } @@ -158,10 +158,8 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot( - process.out, - process.out.versions.collect { path(it).yaml } - ).match() } + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["assignment", "h5ad"])).match() }, + { assert snapshot(process.out.versions.collect { path(it).yaml }).match("versions") } ) } @@ -196,10 +194,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot( - process.out, - process.out.versions.collect { path(it).yaml } - ).match() } + { assert snapshot(sanitizeOutput(process.out, unstableKeys: ["assignment", "h5ad"])).match() } ) } @@ -224,10 +219,7 @@ nextflow_process { then { assertAll( { assert process.success }, - { assert snapshot( - process.out, - process.out.versions.collect { path(it).yaml } - ).match() } + { assert snapshot(sanitizeOutput(process.out)).match() } ) } diff --git a/modules/nf-core/scanpy/hashsolo/tests/main.nf.test.snap b/modules/nf-core/scanpy/hashsolo/tests/main.nf.test.snap index 2351088f5b9a..1ca913b60622 100644 --- a/modules/nf-core/scanpy/hashsolo/tests/main.nf.test.snap +++ b/modules/nf-core/scanpy/hashsolo/tests/main.nf.test.snap @@ -2,39 +2,12 @@ "hto_data_10x": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test_assignment_hashsolo.csv:md5,a970a5192150b1832a3efea197c882cd" - ] - ], - "1": [ - [ - { - "id": "test" - }, - "test_hashsolo.h5ad:md5,3e9f7ed941ab5d1b59f51f1b1fb7e528" - ] - ], - "2": [ - [ - { - "id": "test" - }, - "test_params_hashsolo.csv:md5,17ed9d21353013b8547ac829874ff514" - ] - ], - "3": [ - "versions.yml:md5,f6178c11c8b15300ccafa689830c64e3" - ], "assignment": [ [ { "id": "test" }, - "test_assignment_hashsolo.csv:md5,a970a5192150b1832a3efea197c882cd" + "test_assignment_hashsolo.csv" ] ], "h5ad": [ @@ -42,7 +15,7 @@ { "id": "test" }, - "test_hashsolo.h5ad:md5,3e9f7ed941ab5d1b59f51f1b1fb7e528" + "test_hashsolo.h5ad" ] ], "params": [ @@ -58,42 +31,15 @@ ] } ], + "timestamp": "2026-08-16T15:37:12.044264", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-08-11T06:12:34.257211014" + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } }, "hto_data_10x - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test_assignment_hashsolo.csv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - [ - { - "id": "test" - }, - "test_hashsolo.h5ad:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "2": [ - [ - { - "id": "test" - }, - "test_params_hashsolo.csv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "3": [ - "versions.yml:md5,8fd954f7fb047e8ad17ff5710299ddf2" - ], "assignment": [ [ { @@ -123,48 +69,21 @@ ] } ], + "timestamp": "2026-08-16T15:37:30.94362", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-08-11T06:12:55.413127431" + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } }, "hto_data_h5ad (generated, no real data)": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test_assignment_hashsolo.csv:md5,e6ffa5719d0dc3d2236ced778327b50c" - ] - ], - "1": [ - [ - { - "id": "test" - }, - "test_hashsolo.h5ad:md5,df3a1793ebfd8843bbc7371b2c8b6ffe" - ] - ], - "2": [ - [ - { - "id": "test" - }, - "test_params_hashsolo.csv:md5,7054d81f10cb650a72f9dea5bb23f44b" - ] - ], - "3": [ - "versions.yml:md5,f6178c11c8b15300ccafa689830c64e3" - ], "assignment": [ [ { "id": "test" }, - "test_assignment_hashsolo.csv:md5,e6ffa5719d0dc3d2236ced778327b50c" + "test_assignment_hashsolo.csv" ] ], "h5ad": [ @@ -172,7 +91,7 @@ { "id": "test" }, - "test_hashsolo.h5ad:md5,df3a1793ebfd8843bbc7371b2c8b6ffe" + "test_hashsolo.h5ad" ] ], "params": [ @@ -186,101 +105,23 @@ "versions": [ "versions.yml:md5,f6178c11c8b15300ccafa689830c64e3" ] - }, - [ - { - "SCANPY_HASHSOLO": { - "matplotlib": "3.10.5", - "pandas": "2.3.1", - "python": "3.12.11", - "scanpy": "1.11.2" - } - } - ] - ], - "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-08-11T06:13:04.472233033" - }, - "generated h5ad": { - "content": [ - { - "0": [ - [ - { - "id": "test" - }, - "test_hashsolo.h5ad:md5,e1f129270b67e8575dd060d44e1c0c4b" - ] - ], - "1": [ - "versions.yml:md5,d4b55c68ad8effa4580cf202d802b007" - ], - "h5ad": [ - [ - { - "id": "test" - }, - "test_hashsolo.h5ad:md5,e1f129270b67e8575dd060d44e1c0c4b" - ] - ], - "versions": [ - "versions.yml:md5,d4b55c68ad8effa4580cf202d802b007" - ] - }, - [ - { - "SCANPY_HASHSOLO": { - "python": "3.12.11", - "scanpy": "1.11.2" - } - } - ] + } ], + "timestamp": "2026-08-16T15:37:38.150623", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.3" - }, - "timestamp": "2025-07-02T10:01:12.076734105" + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } }, "hto_data_h5ad (generated, no real data) - ext.args": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test_assignment_hashsolo.csv:md5,8cdd1b5a8c910c2842518cb3caac541d" - ] - ], - "1": [ - [ - { - "id": "test" - }, - "test_hashsolo.h5ad:md5,6a2d2b734d32c9b368361795deb7306d" - ] - ], - "2": [ - [ - { - "id": "test" - }, - "test_params_hashsolo.csv:md5,c9e859256e6d28dc03049496b7eee509" - ] - ], - "3": [ - "versions.yml:md5,f6178c11c8b15300ccafa689830c64e3" - ], "assignment": [ [ { "id": "test" }, - "test_assignment_hashsolo.csv:md5,8cdd1b5a8c910c2842518cb3caac541d" + "test_assignment_hashsolo.csv" ] ], "h5ad": [ @@ -288,7 +129,7 @@ { "id": "test" }, - "test_hashsolo.h5ad:md5,6a2d2b734d32c9b368361795deb7306d" + "test_hashsolo.h5ad" ] ], "params": [ @@ -302,7 +143,16 @@ "versions": [ "versions.yml:md5,f6178c11c8b15300ccafa689830c64e3" ] - }, + } + ], + "timestamp": "2026-08-16T15:37:45.568822", + "meta": { + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } + }, + "versions": { + "content": [ [ { "SCANPY_HASHSOLO": { @@ -314,206 +164,15 @@ } ] ], + "timestamp": "2026-08-17T15:05:52.67443", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-08-11T06:13:12.760175521" - }, - "hto_matrix": { - "content": [ - { - "0": [ - [ - { - "id": "test" - }, - [ - "test_hashsolo.csv:md5,3e7d7ceeb97d93830556311daff388cd", - "test_params_hashsolo.csv:md5,c474067bceee23596942159ed2287f41" - ] - ] - ], - "1": [ - - ], - "2": [ - [ - { - "id": "test" - }, - "test_hashsolo.h5ad:md5,043358088cc7f369ebf7ac005cca23fe" - ] - ], - "3": [ - [ - { - "id": "test" - }, - "test_params_hashsolo.csv:md5,c474067bceee23596942159ed2287f41" - ] - ], - "4": [ - "versions.yml:md5,f6178c11c8b15300ccafa689830c64e3" - ], - "assignment": [ - [ - { - "id": "test" - }, - [ - "test_hashsolo.csv:md5,3e7d7ceeb97d93830556311daff388cd", - "test_params_hashsolo.csv:md5,c474067bceee23596942159ed2287f41" - ] - ] - ], - "h5ad": [ - [ - { - "id": "test" - }, - "test_hashsolo.h5ad:md5,043358088cc7f369ebf7ac005cca23fe" - ] - ], - "params": [ - [ - { - "id": "test" - }, - "test_params_hashsolo.csv:md5,c474067bceee23596942159ed2287f41" - ] - ], - "plot": [ - - ], - "versions": [ - "versions.yml:md5,f6178c11c8b15300ccafa689830c64e3" - ] - } - ], - "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.3" - }, - "timestamp": "2025-08-08T21:32:31.163776" - }, - "hto_matrix - stub": { - "content": [ - { - "0": [ - [ - [ - - ], - [ - "[]_hashsolo.csv:md5,d41d8cd98f00b204e9800998ecf8427e", - "[]_params_hashsolo.csv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ] - ], - "1": [ - [ - [ - - ], - "[]_hashsolo.jpg:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "2": [ - [ - [ - - ], - "[]_hashsolo.h5ad:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "3": [ - [ - [ - - ], - "[]_params_hashsolo.csv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "4": [ - "versions.yml:md5,8fd954f7fb047e8ad17ff5710299ddf2" - ], - "assignment": [ - [ - [ - - ], - [ - "[]_hashsolo.csv:md5,d41d8cd98f00b204e9800998ecf8427e", - "[]_params_hashsolo.csv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ] - ], - "h5ad": [ - [ - [ - - ], - "[]_hashsolo.h5ad:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "params": [ - [ - [ - - ], - "[]_params_hashsolo.csv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "plot": [ - [ - [ - - ], - "[]_hashsolo.jpg:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "versions": [ - "versions.yml:md5,8fd954f7fb047e8ad17ff5710299ddf2" - ] - } - ], - "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.3" - }, - "timestamp": "2025-08-07T19:14:54.511322" + "nf-test": "0.9.5", + "nextflow": "26.04.1" + } }, "hto_data_h5ad (generated, no real data) - stub": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test_assignment_hashsolo.csv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - [ - { - "id": "test" - }, - "test_hashsolo.h5ad:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "2": [ - [ - { - "id": "test" - }, - "test_params_hashsolo.csv:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "3": [ - "versions.yml:md5,8fd954f7fb047e8ad17ff5710299ddf2" - ], "assignment": [ [ { @@ -541,101 +200,23 @@ "versions": [ "versions.yml:md5,8fd954f7fb047e8ad17ff5710299ddf2" ] - }, - [ - { - "SCANPY_HASHSOLO": { - "python": "3.12.11", - "scanpy": "1.11.2", - "matplotlib": "3.10.5", - "pandas": "2.3.1" - } - } - ] - ], - "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-08-11T06:13:22.084772685" - }, - "generated h5ad - stub": { - "content": [ - { - "0": [ - [ - { - "id": "test" - }, - "test_hashsolo.h5ad:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "1": [ - "versions.yml:md5,21a56a941355317a8e1ca02d207f64a8" - ], - "h5ad": [ - [ - { - "id": "test" - }, - "test_hashsolo.h5ad:md5,d41d8cd98f00b204e9800998ecf8427e" - ] - ], - "versions": [ - "versions.yml:md5,21a56a941355317a8e1ca02d207f64a8" - ] - }, - [ - { - "SCANPY_HASHSOLO": { - "python": "3.12.11", - "scanpy": "1.11.2" - } - } - ] + } ], + "timestamp": "2026-08-16T15:37:53.71203", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.3" - }, - "timestamp": "2025-07-02T10:01:21.413803466" + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } }, "hto_data_10x - ext.args": { "content": [ { - "0": [ - [ - { - "id": "test" - }, - "test_assignment_hashsolo.csv:md5,dabd4b9a92e90c0030d86110fce3be40" - ] - ], - "1": [ - [ - { - "id": "test" - }, - "test_hashsolo.h5ad:md5,2625d58a4d9f0e24c8bf4066f06c3e70" - ] - ], - "2": [ - [ - { - "id": "test" - }, - "test_params_hashsolo.csv:md5,4b992e5daf73b8f23f5d847df32dc177" - ] - ], - "3": [ - "versions.yml:md5,f6178c11c8b15300ccafa689830c64e3" - ], "assignment": [ [ { "id": "test" }, - "test_assignment_hashsolo.csv:md5,dabd4b9a92e90c0030d86110fce3be40" + "test_assignment_hashsolo.csv" ] ], "h5ad": [ @@ -643,7 +224,7 @@ { "id": "test" }, - "test_hashsolo.h5ad:md5,2625d58a4d9f0e24c8bf4066f06c3e70" + "test_hashsolo.h5ad" ] ], "params": [ @@ -659,10 +240,10 @@ ] } ], + "timestamp": "2026-08-16T15:37:21.324345", "meta": { - "nf-test": "0.9.2", - "nextflow": "25.04.6" - }, - "timestamp": "2025-08-11T06:12:44.782219305" + "nf-test": "0.9.5", + "nextflow": "26.04.0" + } } } \ No newline at end of file