groovy 使用nextflow元组通道创建简化的组合集

wrrgggsh  于 2023-03-07  发布在  其他
关注(0)|答案(1)|浏览(114)

我有一个关于nextflow的问题,以及如何处理以下元组通道和两个单元素:

tuple_ch = Channel.of([['a','a','a','a'], 
                       ['B','B','B','B'], 
                       ['m','m','m','m'], 
                       1,2])

我如何将tuple_ch转换为如下所示(因此它现在是一个元组列表):

[['a','B','m',1,2],
 ['a','B','m',1,2],
 ['a','B','m',1,2],
 ['a','B','m',1,2]]

我需要一个像这样的输入为我的下一个过程中的管道。

jfgube3f

jfgube3f1#

首先我应该提到的是,您创建的第一个通道不是一个2元素通道,而是一个包含

[[a, a, a, a], [B, B, B, B], [m, m, m, m], 1, 2]

这很容易验证,只要.view()你的通道,你会看到它是一个单元素通道,因为它有一个单一的发射。
无论如何,如果你想把你的原始频道转换成你在最后展示的版本,你可以使用transpose操作符:

tuple_ch
  .transpose()
  .toList()
  .view()

输出:

[[a, B, m, 1, 2],
 [a, B, m, 1, 2],
 [a, B, m, 1, 2],
 [a, B, m, 1, 2]]

相关问题