Nicolas Vannieuwkerke
09/29/2025, 2:57 PMtopics to the template and I think I've found a nice way to implement this without breaking much:
So before we had something like this:
output:
...
path('versions.yml'), emit: versions
What I would make it is something like this:
output:
...
tuple val("${task.process}"), val('tool1'), eval("tool1 --version"), topic: versions, emit: versions1
tuple val("${task.process}"), val('tool2'), eval("tool2 --version"), topic: versions, emit: versions2
So I think having both the topic and the emit is the nicest way to go at this. The main advantage is that we can easily test the versions output by using the emit names. It also ensures that the meta.yml creation tool doesn't break on this and actually documents the whole versioning process.
What do you think of this solution? (You can see a POC implementation in this PR: https://github.com/nf-core/tools/pull/3779)Maxime Garcia
09/30/2025, 8:11 AMoutput:
...
tuple val("${task.process}"), val('tool1'), eval("tool1 --version"), topic: versions, emit: versions
tuple val("${task.process}"), val('tool2'), eval("tool2 --version"), topic: versions, emit: versions2Maxime Garcia
09/30/2025, 8:15 AMMaxime Garcia
09/30/2025, 8:15 AMNicolas Vannieuwkerke
09/30/2025, 8:27 AMNicolas Vannieuwkerke
09/30/2025, 3:03 PMNicolas Vannieuwkerke
09/30/2025, 3:04 PMNicolas Vannieuwkerke
09/30/2025, 3:38 PMJúlia Mir
10/01/2025, 9:54 AMversions_tool1 , versions_tool2 , etc? I don't love having numbers in the channel namesNicolas Vannieuwkerke
10/01/2025, 9:55 AMNicolas Vannieuwkerke
10/01/2025, 9:55 AMJúlia Mir
10/01/2025, 9:57 AMmeta.yml , I think it is better to add a new section topics , at the same level of ìnputs and outputs (while keeping the versions output)Maxime Garcia
10/01/2025, 10:03 AMMaxime Garcia
10/01/2025, 10:03 AMNicolas Vannieuwkerke
10/01/2025, 11:02 AMNicolas Vannieuwkerke
10/01/2025, 11:03 AMNicolas Vannieuwkerke
10/01/2025, 11:03 AMJúlia Mir
10/01/2025, 11:05 AMNicolas Vannieuwkerke
10/01/2025, 11:07 AM