Adopt topic channels in all nf-core modules [PART 4]
Nobody has claimed this yet.
- Dominant language
- Nextflow
- Stars
- 429
- Forks
- 1.1k
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 153
Description
Parent issue here: https://github.com/nf-core/modules/issues/9978
The goal is to provide beginners in nf-core hackathons with a beginner-friendly contribution path.
Each module migration should be handled in a separate sub-issue linked below.
Documentation for the migration process:
- Migration guide: https://nf-co.re/docs/tutorials/migrate_to_topics/update_modules
- Intro to topics video: https://www.youtube.com/watch?v=x_rJu-2M0Yo
- Nextflow docs: https://nextflow.io/docs/latest/reference/channel.html#topic
- Hackthon 2026 project: https://nf-co.re/hackathon-projects/hackathon-march-2026/modules
Goal
Update nf-core modules so they use topic channels for version outputs, following the migration guide. Participants can pick one module, perform the migration, and submit a PR.
This is suitable as a good first issue.
Workflow for contributors
Github workflow
- Select an issue from the ones below (if none available create one)
- Click on
Assign yourselfin theAssigneesfield (top right) to avoid duplicated work
Coding workflow
Assuming gh-cli is installed:
- Fork and clone
nf-core/modules:gh repo fork nf-core/modules
and enter y when asked if you want to clone it.
-
Create a working branch:
git checkout -b <tool>_topics_migration -
Choose/create an unassigned module sub-issue and assign yourself.
-
Follow the migration instructions:
https://nf-co.re/docs/tutorials/migrate_to_topics/update_modulesTypical changes include:
-
Updating module output channel structure
-
Updating
meta.ymlvianf-core modules lint <tool>/<subtool> --fix -
Update test snapshots:
nf-core modules test --update --once <tool>/<subtool> -
If the module is part of a subworkflow, removing the line handling the *.out.version channel there.
-
-
Run module tests:
nf-core modules test <tool>/<subtool> -
Lint the module:
nf-core modules lint <tool>/<subtool> -
Commit changes:
git add . git commit -m "Migrate <tool> module to topic channels" -
Push branch:
git push origin <tool>_topics_migration
Github workflow
- Open a Pull Request
- Link the corresponding sub-issue by adding
Closes #XXXXwith XXXX being the issue number you selected - Ensure CI passes
- Post your PR for review in the Slack channel: #request-review and review someone else PR while waiting for yours
- Address reviewer feedback and merge when accepted
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by selecting an unassigned module sub-issue linked from the parent issue, then read the migration guide for updating modules to topic channels. Follow the listed commands to update the module, meta.yml, snapshots, and any subworkflow handling, then run the module test and lint commands; done means both pass and the changes are submitted in a PR linked to the sub-issue.
Written by the indexing model from the issue text.
Assessment
- Domain
- testing, tooling
- Issue type
- Refactor
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100