Skip to content

feat: hisat3n/build module#9668

Merged
emmcauley merged 6 commits intonf-core:masterfrom
fulcrumgenomics:hisat3n_build
Jan 20, 2026
Merged

feat: hisat3n/build module#9668
emmcauley merged 6 commits intonf-core:masterfrom
fulcrumgenomics:hisat3n_build

Conversation

@emmcauley
Copy link
Copy Markdown
Contributor

PR checklist

Closes #9667. Adds hisat3n/build, a tool that builds a 3N-index (containing two hisat2 indexes), from a set of DNA sequences. Tests includes --base-change in nextflow.config ext.args.

  • This comment contains a description of changes (with reason).
  • If you've fixed a bug or added code that should be tested, add tests!
  • If you've added a new tool - have you followed the module conventions in the contribution docs
  • If necessary, include test data in your PR.
  • Remove all TODO statements.
  • Broadcast software version numbers to topic: versions - See version_topics
  • Follow the naming conventions.
  • Follow the parameters requirements.
  • Follow the input/output options guidelines.
  • Add a resource label
  • Use BioConda and BioContainers if possible to fulfil software requirements.
  • Ensure that the test works with either Docker / Singularity. Conda CI tests can be quite flaky:
    • For modules:
      • nf-core modules test <MODULE> --profile docker
      • nf-core modules test <MODULE> --profile singularity
      • nf-core modules test <MODULE> --profile conda
    • For subworkflows:
      • nf-core subworkflows test <SUBWORKFLOW> --profile docker
      • nf-core subworkflows test <SUBWORKFLOW> --profile singularity
      • nf-core subworkflows test <SUBWORKFLOW> --profile conda

@emmcauley emmcauley force-pushed the hisat3n_build branch 2 times, most recently from 54172ba to 70f1bc1 Compare January 15, 2026 15:12

output:
tuple val(meta), path("hisat3n"), emit: index
tuple val("${task.process}"), val('hisat-3n'), eval("hisat-3n --version 2>&1 | grep -o 'version [^ ]*' | cut -d ' ' -f 2"), topic: versions, emit: versions_hisat3n_build
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suspect the version command could be shortened using sed to do both the grep and the cut

Suggested change
tuple val("${task.process}"), val('hisat-3n'), eval("hisat-3n --version 2>&1 | grep -o 'version [^ ]*' | cut -d ' ' -f 2"), topic: versions, emit: versions_hisat3n_build
tuple val("${task.process}"), val('hisat-3n'), eval("hisat-3n --version 2>&1 | grep -o 'version [^ ]*' | cut -d ' ' -f 2"), topic: versions, emit: versions_hisat3n

Copy link
Copy Markdown
Contributor Author

@emmcauley emmcauley Jan 19, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll be adding another module after this called hisat3n_align, which is why I was trying to differentiate -- given that context, does it still make sense to shorten the name?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The emit versions_ is only used for testing actually, if nf-test was able to directly test the topic channel we wouldn't bother with it at all.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All samtools tools use versions_samtools for instance

@emmcauley emmcauley requested a review from SPPearce January 20, 2026 00:59
Copy link
Copy Markdown
Contributor

@SPPearce SPPearce left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The linting is complaing about something with the command. I would try using single quotes in the eval (double quotes in the sed), and then it might be happier.
Other than that I'm happy to merge

Copy link
Copy Markdown
Contributor

@SPPearce SPPearce left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need to update your branch, unrelated changes are now failing.

@emmcauley emmcauley added this pull request to the merge queue Jan 20, 2026
Merged via the queue into nf-core:master with commit bb156a5 Jan 20, 2026
75 checks passed
@emmcauley emmcauley deleted the hisat3n_build branch January 20, 2026 15:30
cavenel pushed a commit to cavenel/modules that referenced this pull request Feb 5, 2026
* feat: hisat3n/build module

* fix: try oras instead for singularity

* fix: use sed instead of cut + grep

* fix: simplify sed command to get around backslash error

* test: update test snapshot
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

new module: hisat3n/build

2 participants