Skip to content

Adopt topic channels in all nf-core modules [PART 4] #10832

Description

@atrigila

Parent issue here: #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:


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

  1. Select an issue from the ones below (if none available create one)
  2. Click on Assign yourself in the Assignees field (top right) to avoid duplicated work

Coding workflow

Assuming gh-cli is installed:

  1. Fork and clone nf-core/modules:
    gh repo fork nf-core/modules

and enter y when asked if you want to clone it.

  1. Create a working branch:

    git checkout -b <tool>_topics_migration
  2. Choose/create an unassigned module sub-issue and assign yourself.

  3. Follow the migration instructions:
    https://nf-co.re/docs/tutorials/migrate_to_topics/update_modules

    Typical changes include:

    • Updating module output channel structure

    • Updating meta.yml via

       nf-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.

  4. Run module tests:

    nf-core modules test <tool>/<subtool>
  5. Lint the module:

    nf-core modules lint <tool>/<subtool>
  6. Commit changes:

    git add .
    git commit -m "Migrate <tool> module to topic channels"
  7. Push branch:

    git push origin <tool>_topics_migration

Github workflow

  1. Open a Pull Request
  2. Link the corresponding sub-issue by adding Closes #XXXX with XXXX being the issue number you selected
  3. Ensure CI passes
  4. Post your PR for review in the Slack channel: #request-review and review someone else PR while waiting for yours
  5. Address reviewer feedback and merge when accepted

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    Status
    To do

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions