galaxyproject / galaxyproject/foundry

summarize-nextflow: resolve from_param through one-hop Groovy bindings

Open
#211 0 comments 0 reactions 0 assignees View on GitHub
agent/implement priority/v2 roadmap/off
Dominant language
TypeScript
Stars
2
Forks
3
Avg merge
1d 22m
Merged PRs (30d)
63

Description

Follow-up to #179 / the work adding `from_param` to `summary-nextflow.Channel`.

V1 only resolves `from_param` when a channel-construction expression directly references `params.X`:

- `Channel.fromPath(params.reads)` ✓
- `samplesheetToList(params.input, …)` ✓
- `file(params.fasta)` ✓

V1 does **not** follow one-hop local bindings:

```groovy
def reads = params.reads
Channel.fromPath(reads).ifEmpty { error '...' }
```

Here `from_param` would be null even though the channel is param-derived. Workaround: the converter falls back to substring-matching `Channel.source` for `params.X` references, same as today.

Proposed scope for v2: a small Groovy data-flow pass over the entry workflow body that tracks `def = params.` (and trivial reassignments) and resolves indirect references. Keep it strictly one hop — multi-hop / closure-scoped Groovy reasoning is out of scope.

Acceptance: pick 2–3 fixtures with this pattern (scan ad-hoc fixtures first — `CRG-CNAG__CalliNGS-NF`, `biocorecrg__MOP2`, `epi2me-labs__wf-human-variation` are likely candidates), confirm channels populate `from_param` correctly with the pass, no regressions on nf-core fixtures.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.