Hi everyone, I have a question about the updated i...
# help
t
Hi everyone, I have a question about the updated input structure of the
cooler/cload
module. Previously, the module accepted:
Copy code
tuple val(meta), path(pairs), path(index), val(cool_bin)
path chromsizes
Now it expects:
Copy code
tuple val(meta), path(pairs), path(index)
tuple val(meta2), path(chromsizes)
val(cool_bin)
How can I pass a
cool_bin
channel with several resolutions values?
r
@Matthieu Muffato you are listed as author. are you able to help?
m
The interface change didn’t affect the possibility of passing multiple values in
cool_bin
. I presume you already
combine
/
cross
etc the pairs and the resolutions. Then, instead of passing that entirely as the first input, you need to split it
Copy code
cload_inputs = ch.multiMap {
  pairs: [meta, pairs, index, _cool_bin] -> [meta, pairs, index]
  res: [_meta, _pairs, _index, cool_bin] -> cool_bin
}
COOLER_CLOAD(cload_inputs.pairs, chromsizes, cload_inputs.res)
t
Thanks @Matthieu Muffato! Is it important for the resolutions to be out of the main input tuple? I'm currently combining the samples and resolutions channels just before the multiMap to split them.
m
I understand the change was not to force combining sample information/data with the resolution. For instance, someone only wants one resolution, they can pass
params.resolution
directly, without having to blend it into the channel.
👍 1