0

我有几个上游进程,比如 A、B 和 C,在做类似的任务。在它的下游,我有一个进程 X 需要以相同的方式处理 A、B 和 C 的所有输出。

我尝试使用“混合”运算符从 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 的输出作为输入。

4

1 回答 1

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"
}

如果您继续遇到同样的问题,请随时打开一个问题,包括可重现的测试用例。

于 2019-01-07T12:43:19.313 回答