The combine operator can be used to produce the Cartesian product:
sample_bams = Channel.fromPath( './path/to/bams/*.bam' )
intervals = Channel.of( '1:10000-20000', '5:55555-77777' )
sample_bams
.combine(intervals)
.set { combined_inputs }
process test {
echo true
input:
tuple path(bam), val(interval) from combined_inputs
"""
echo -n "${interval} ${bam}"
"""
}
Regarding the related query: Correct. The from and into 'bind' declarations can be omitted