【问题标题】:"Mix" operator does not wait for upstream processes to finish“混合”操作员不等待上游进程完成
【发布时间】:2019-01-07 20:43:19
【问题描述】:

我有几个上游进程,比如 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 的输出作为输入。

【问题讨论】:

    标签: nextflow


    【解决方案1】:

    下面的 sn-p 效果很好:

    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,包括可重现的测试用例。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-06
      • 2017-02-15
      • 2020-07-23
      • 2013-04-09
      • 1970-01-01
      相关资源
      最近更新 更多