Having one of these classic issues where only one sample is going through a process when many should be. I know the issue is usually that a channel that should be a value channel is a queue channel or vice versa - is there a method to print what type of channel a channel is? ie. like view() but for channel type.
If you print (with println) a channel variable and it’s a value channel, regardless of its content it will always show DataflowVariable(value=null). A queue channel on the other hand will print DataflowBroadcast around DataflowStream[?].
This is not usually how we approach this problem, though. There are some basic rules to help you with that:
Any channel created with the Channel.value channel factory will be a value channel. Examples:
Thanks so much!! This helped me debug my nf-core pipeline instantly! When you have a very complex pipeline channels get passed through lots of different processes and nextflow files so it can actually become quite tricky to track what’s going on with types by following the code alone like you suggest.