1

我正在实施一个 Nextflow 工作流程,其中每个流程都可以提供不同流程下游可能需要的多个输出。

process multiple_outputs {
   input:
   tuple id, input from previous_process

   output:
   tuple id, input_for_a, input_for_b, input_for_a_b into downstream
}

Nextflow 文档指出,operator into 可以使用多个通道,并将通道复制作为一种模式进行推广

然而,这些选项似乎都没有在流程原语中起作用,并且没有记录多通道输出

  • 在此答案中找到的模式(语法错误):

    output:
    tuple id, input_for_a, input_for_b, input_for_a_b into { downstream_a; downstream_b }
    // nor these variants:
    //
    // `into { downstream_a, downstream_b }`
    // `into downstream_a, downstream_b`
    // `into tuple a, b`
    
  • 将输出重复到重复的通道中(一个通道为空):

    output:
    tuple id, input_for_a, input_for_a_b into downstream_a
    tuple id, input_for_b, input_for_a_b into downstream_b
    // runs, but cannot find the file in one of the channels
    

在多个通道中使用输出的正确方法是什么?

4

2 回答 2

2

输出声明应为:

output:
tuple id, input_for_a, input_for_b, input_for_a_b into(downstream_a, downstream_b)

或者,您可能要考虑使用不再具有单通道使用要求的 DLS2。在此处阅读更多相关信息。

于 2020-07-07T09:19:49.693 回答
1

答案 b 似乎有效:

output:
tuple id, input_for_a, input_for_a_b into downstream_a
tuple id, input_for_b, input_for_a_b into downstream_b

似乎由于不相关的原因而失败。

于 2020-07-03T02:25:34.187 回答