Skip to content

WIP: all hisat2 modules - #1913

Open
maxulysse wants to merge 11 commits into
devfrom
update_hisat2
Open

WIP: all hisat2 modules#1913
maxulysse wants to merge 11 commits into
devfrom
update_hisat2

Conversation

@maxulysse

@maxulysse maxulysse commented Aug 31, 2026

Copy link
Copy Markdown
Member

Summary

Updates HISAT2 modules (build, extractsplicesites, align) to latest versions.

Changes

  • HISAT2_ALIGN: Removed strandedness logic from the module. Added --rna-strandness mapping to ext.args in conf/modules/align_hisat2.config, using meta.strandedness and meta.single_end.
  • HISAT2_BUILD: Passes params.hisat2_build_memory through PREPARE_GENOME_INDICES subworkflow instead of reading it directly in the module.

Generated via opencode
Verified by @maxulysse

@github-actions

Copy link
Copy Markdown

Warning

Newer version of the nf-core template is available.

Your pipeline is using an old version of the nf-core template: 4.0.3.
Please update your pipeline to the latest version.

For more documentation on how to update your pipeline, please see the Synchronisation documentation.

@nf-core nf-core deleted a comment from github-actions Bot Sep 1, 2026
@nf-core nf-core deleted a comment from github-actions Bot Sep 1, 2026
@github-actions

github-actions Bot commented Sep 1, 2026

Copy link
Copy Markdown

nf-core pipelines lint overall result: Passed ✅ ⚠️

Posted for pipeline commit 88a5138

+| ✅ 213 tests passed       |+
#| ❔  22 tests were ignored |#
!| ❗   7 tests had warnings |!
Details

❗ Test warnings:

  • pipeline_todos - TODO string in main.nf: Optionally add in-text citation tools to this list.
  • pipeline_todos - TODO string in main.nf: Optionally add bibliographic entries to this list.
  • pipeline_todos - TODO string in main.nf: Only uncomment below if logic in toolCitationText/toolBibliographyText has been filled!
  • pipeline_todos - TODO string in nextflow.config: Specify any additional parameters here
  • pipeline_todos - TODO string in awsfulltest.yml: You can customise AWS full pipeline tests as required
  • pipeline_todos - TODO string in methods_description_template.yml: #Update the HTML below to your preferred methods description, e.g. add publication citation for this pipeline
  • pipeline_todos - TODO string in base.config: Check the defaults for all processes

❔ Tests ignored:

  • files_exist - File is ignored: conf/modules.config
  • files_exist - File is ignored: conf/containers_conda_lock_files_amd64.config
  • files_exist - File is ignored: conf/containers_conda_lock_files_arm64.config
  • files_exist - File is ignored: conf/containers_docker_amd64.config
  • files_exist - File is ignored: conf/containers_docker_arm64.config
  • files_exist - File is ignored: conf/containers_singularity_https_amd64.config
  • files_exist - File is ignored: conf/containers_singularity_https_arm64.config
  • files_exist - File is ignored: conf/containers_singularity_oras_amd64.config
  • files_exist - File is ignored: conf/containers_singularity_oras_arm64.config
  • files_exist - File is ignored: .github/workflows/linting_comment.yml
  • nextflow_config - Config default ignored: params.ribo_database_manifest
  • nf_test_content - nf_test_content
  • files_unchanged - File ignored due to lint config: .github/workflows/branch.yml
  • files_unchanged - File ignored due to lint config: .github/workflows/linting.yml
  • files_unchanged - File ignored due to lint config: assets/email_template.html
  • files_unchanged - File ignored due to lint config: assets/email_template.txt
  • files_unchanged - File ignored due to lint config: assets/nf-core-rnaseq_logo_light.png
  • files_unchanged - File ignored due to lint config: docs/images/nf-core-rnaseq_logo_dark.png
  • files_unchanged - File ignored due to lint config: .gitignore or .prettierignore
  • actions_nf_test - actions_nf_test
  • modules_config - modules_config
  • container_configs - container_configs

✅ Tests passed:

Run details

  • nf-core/tools version 4.0.3
  • Run at 2026-09-01 14:38:37

@nf-core nf-core deleted a comment from github-actions Bot Sep 1, 2026
@nf-core nf-core deleted a comment from github-actions Bot Sep 1, 2026

@pinin4fjords pinin4fjords left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

AI-assisted review (Claude, on behalf of @pinin4fjords). This PR bumps HISAT2 (align/build/extractsplicesites) to 2.2.3, moves strandedness logic from HISAT2_ALIGN into ext.args, and rewires hisat2_build_memory through PREPARE_GENOME_INDICES as an explicit process input. Most of the diff is mechanical module-sync (containers, meta.yml, test refactors to sanitizeOutput()). One finding below is a real behavioral regression worth fixing before merge; the other is minor. Note the PR title is still "WIP" - flagging in case this isn't meant for review yet.

process HISAT2_BUILD {
tag "${fasta}"
tag "${meta.id}"
label 'process_high'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Severity: high - This silently turns off HISAT2's splice-aware index building for normal pipeline runs.

  • HISAT2_BUILD used to carry both process_high and process_high_memory labels, giving it 200GB of memory by default (per conf/base.config).
  • The pipeline's threshold says "only use splice sites/exons in the index if you have at least 200GB" (hisat2_build_memory = '200.GB' in nextflow.config).
  • Since the process actually got exactly 200GB, that check always passed, so splice-aware indexing happened by default.
  • This PR drops the process_high_memory label (visible as the removed line just above this one in the diff), cutting the default allocation to 72GB (process_high alone).
  • Now the check (72GB >= 200GB) fails, so splice-aware indexing gets skipped by default - a real drop in alignment quality - with nothing to alert the user.
  • No test catches this because the module and subworkflow tests separately override the threshold down to 3.GB, so they never exercise the real 200GB default.

Suggested fix: add a memory override for HISAT2_BUILD in conf/modules/prepare_genome.config (e.g. restore ~200GB), or lower hisat2_build_memory's default to match what process_high actually provides, and update the schema help text to match.

Comment thread CHANGELOG.md
Comment on lines +85 to +90
| `hisat2/align` | 2.2.1 | 2.2.3 |
| --`samtools` | 1.20 | 1.24 |
| `hisat2/build` | 2.2.1 | 2.2.3 |
| --`samtools` | 1.20 | |
| `hisat2/extractsplicesites` | 2.2.1 | 2.2.3 |
| --`samtools` | 1.20 | 1.24 |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Severity: informational - The --samtools`` rows use a literal -- prefix to imply "sub-dependency of the row above," but Markdown tables don't support that kind of nesting - it'll just render as a literal double-hyphen in the cell. This convention doesn't appear elsewhere in `CHANGELOG.md`'s history, so it looks like a one-off formatting slip rather than an established pattern. Not blocking, just cosmetic.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants