Skip to content

feat(maltextract): add stub block and migrate to topic channel versions#11419

Open
HReed1 wants to merge 10 commits intonf-core:masterfrom
HReed1:stub-topics-maltextract
Open

feat(maltextract): add stub block and migrate to topic channel versions#11419
HReed1 wants to merge 10 commits intonf-core:masterfrom
HReed1:stub-topics-maltextract

Conversation

@HReed1
Copy link
Copy Markdown
Contributor

@HReed1 HReed1 commented Apr 29, 2026

Contribution to #4570 — Stub+Topic Channel Migration

Migrates maltextract to the nf-core v4.0.1 topic channel versioning standard and adds a stub block.

Changes

  • main.nf: Replaced versions.yml / END_VERSIONS heredoc with topic channel emit (versions_maltextract). Version eval: MaltExtract --help | head -n 2 | tail -n 1 | sed 's/MaltExtract version//'. Added stub block with mkdir -p results.
  • meta.yml: Removed legacy versions: output block; lint fixed.
  • tests/main.nf.test: Replaced process.out.versions with sanitizeOutput(process.out). Added stub test case (stub uses empty ncbi_dir input).
  • tests/main.nf.test.snap: Regenerated snapshots (2 created).

Test results (local, --profile docker,wave)

SUCCESS: Executed 2 tests in 278.944s

Stability run: ✅ 2/2 passed

Part of the systematic migration tracked in #4570.

HReed1 added 10 commits April 29, 2026 18:02
- Replace versions.yml / END_VERSIONS with topic channel emit (versions_maltextract)
- Version eval: MaltExtract --help | head -n 2 | tail -n 1 | sed
- Add stub block: mkdir -p results
- Update tests: sanitizeOutput on both tests, add stub test case
- Remove legacy versions output block from meta.yml

Contributes to nf-core#4570
…t assertions to avoid empty file md5 lint failure
… channel assert

Previous snap was missing the 'versions' named snapshot required by
snapshot(process.out.versions_maltextract).match('versions'). This caused
'snapshot with id versions not found' in CI mode.

Re-ran nf-test --update-snapshot to add the versions key.
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.

This is unrelated.

assertAll(
{ assert process.success },
{ assert snapshot(sanitizeOutput(process.out)).match() },
{ assert snapshot(process.out.versions_maltextract).match("versions") }
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.

Don't need this given that process.out includes all the channels (plus we don't use more than one snapshot (a few old nf-tests do, but they need rewriting)

Suggested change
{ assert snapshot(process.out.versions_maltextract).match("versions") }

path("${process.out.results.get(0).get(1)}/ScanSummary.txt"),
path("${process.out.results.get(0).get(1)}/error.txt").text == "",
path("${process.out.results.get(0).get(1)}/log.txt"),
process.out.versions_maltextract
Copy link
Copy Markdown
Contributor

@SPPearce SPPearce Apr 30, 2026

Choose a reason for hiding this comment

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

This probably needs to be

Suggested change
process.out.versions_maltextract
process.out.findAll { key, val -> key.startsWith('versions') })

to pass linting.

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.

A few comments, but mostly there are unrelated changes that shouldn't be part of this PR

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