Missing process or function with name dump¶
Issue¶
When using the .dump() function you get an error to console
Possible source¶
In many cases, the function is not missing, just incorrectly applied.
- Missing
tag:before the actual tag name (e.g..dump('my tag') vs .dump(tag: 'my_tag')) - Placed on a channel-type that does not support the
.dumpfunction (e.g. channels with branches) .dump()was applied on a multi-channel output object without specifying which channel.dump()was applied on a single-channel, unnamed output directly. Usually, when a process defines a single output, unnamed channel,PROCESS_NAME.out(without specifying[0]) works well with various nextflow operators, but, surprisingly, this way does not work well thedumpoperator. Quick workarounds could be i) using[0]to specify the channel explicitly, e.g.PROCESS_NAME.out[0], ii) using named output, or iii) use amapoperator before thedumpoperator. Examples can be found in issue #3
Recommendation¶
Use static typing with Nextflow 26.10 or later, and nextflow lint reports each of the mistakes above. A typed process call returns its output directly, so you don't need .out or .out[0]. dump is discouraged with static typing, so use view to inspect a channel instead.