Оператор «Mix» не ожидает завершения процессов в восходящем направлении - PullRequest
0 голосов
/ 06 января 2019

У меня есть несколько вышестоящих процессов, скажем, 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 голосов
/ 07 января 2019

Хорошо работает следующий фрагмент:

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

Если вы продолжаете испытывать ту же проблему, не стесняйтесь открывать проблему , включая воспроизводимый контрольный пример.

...