You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
All three of the above operators I would consider as types of product on their input channels, however the output of cross is at odds with the output of join and combine: cross forms a simple tuple from inputs verbatim whereas join and combine flatten the inputs and bring the joining key to the front of the resulting tuple.
I believe I've come across other implicit flattenings of structures but I don't recall the example.
I and others spend a lot of time viewing and dumping channnels in order to check whats going on: often because of confusions like the above where operators have different flattening behaviours. This creates unnecessary cognitive overhead, constant reference to the docs, and adds to the learning curve for nextflow.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
The channel operator API in nextflow could do with rationalisation and cleanup
Usage scenario
Here's one example of an inconsistency in the operators. From the docs:
Join: docs
Combine: docs
Cross: docs
All three of the above operators I would consider as types of product on their input channels, however the output of
cross
is at odds with the output ofjoin
andcombine
:cross
forms a simple tuple from inputs verbatim whereasjoin
andcombine
flatten the inputs and bring the joining key to the front of the resulting tuple.I believe I've come across other implicit flattenings of structures but I don't recall the example.
I and others spend a lot of time viewing and dumping channnels in order to check whats going on: often because of confusions like the above where operators have different flattening behaviours. This creates unnecessary cognitive overhead, constant reference to the docs, and adds to the learning curve for nextflow.
Beta Was this translation helpful? Give feedback.
All reactions