“混合”运算符不等待上游过程完成

时间:2019-01-06 14:22:49

标签: nextflow

我有几个上游流程,例如A,B和C,它们执行相似的任务。 在那之后,我有一个进程X,它需要以相同的方式处理A,B和C的所有输出。

我尝试使用“ mix”运算符从A,B和C的输出文件创建单个通道,如下所示:

process A {
    output:
    file outA
}
process B {
    output:
    file outB
}
process C {
    output:
    file outC
}

inX = outA.mix(outB,outC)

process X {
    input:
    file inX

    "myscript.sh"
 }

进程A通常在B和C之前完成,并且以某种方式,进程X不等待进程B和C完成,而仅将A的输出作为输入。

1 个答案:

答案 0 :(得分:0)

以下代码片段效果很好:

process A {
    output:
    file outA
    """
    touch outA
    """
}

process B {
    output:
    file outB
    """
    touch outB
    """

}

process C {
    output:
    file outC
    """
    touch outC
    """
}

inX = outA.mix(outB,outC)

process X {
    input:
    file inX

    "echo myscript.sh"
}

如果您仍然遇到相同的问题,请随时打开一个issue,其中包括可重现的测试用例。