Skip to content

Replace .out channel access with typed workflow return assignment - #157

Merged
maxulysse merged 1 commit into
devfrom
feat/typed-workflows
Sep 24, 2026
Merged

maxulysse merged 1 commit into
devfrom
feat/typed-workflows

Conversation

@maxulysse

@maxulysse maxulysse commented Sep 24, 2026 •

Copy link
Copy Markdown
Member

Replaces every legacy .out. channel access with named access on the captured invocation result across main.nf, workflows/references.nf, prepare_genome_dnaseq and prepare_genome_rnaseq.

This is the next step towards full typed workflows (Phase 3 Part A, nf-core/rnaseq#1935), unblocking typed take:/typing of nested workflows, since .out is not supported by typed workflows.

Each process and subworkflow invocation is captured in a channel variable and its named outputs are referenced on it (e.g. ch_faidx.fai instead of SAMTOOLS_FAIDX.out.fai).

Verified: nextflow lint and nf-core pipelines lint clean; default, htslib (x2) and hisat2 (x4) nf-tests pass with unchanged snapshots.

Generated by opencode
Verified by @maxulysse

Access process and workflow output channels through the return value of
the invocation instead of the legacy dot-out channel access, which is
not supported by typed workflows.

Every process and subworkflow invocation is captured in a channel
variable and its named outputs are referenced on it (for example
ch_faidx.fai instead of SAMTOOLS_FAIDX.out.fai), in main.nf,
workflows/references.nf, prepare_genome_dnaseq and prepare_genome_rnaseq.

Generated by opencode
@maxulysse maxulysse changed the title Replace channel access with typed workflow return assignment Replace .out channel access with typed workflow return assignment Sep 24, 2026
@github-actions

Copy link
Copy Markdown

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

Posted for pipeline commit 3709282

+| ✅ 216 tests passed       |+
#| ❔  12 tests were ignored |#
!| ❗   8 tests had warnings |!
Details

❗ Test warnings:

  • files_exist - File not found: .github/workflows/awsfulltest.yml
  • 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 output.md: Write this documentation describing your workflow's output
  • pipeline_todos - TODO string in usage.md: Add documentation about anything specific to running your pipeline. For general topics, please point to (and add to) the main nf-core website.
  • pipeline_todos - TODO string in base.config: Check the defaults for all processes
  • 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

❔ Tests ignored:

✅ Tests passed:

Run details

  • nf-core/tools version 4.1.0
  • Run at 2026-09-24 11:01:28

@maxulysse
maxulysse merged commit e0f4e7e into dev Sep 24, 2026
32 of 36 checks passed
@maxulysse
maxulysse deleted the feat/typed-workflows branch September 24, 2026 11:40
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.

1 participant