Я пытаюсь создать условный конвейер NextFlow.Например,
Процесс A выводит значение в канал.Если значение равно 1, тогда запустите X, в противном случае запустите Y.
Вот что я пытаюсь сделать:
initialData = 2
receiver1 = "EMPTY"
receiver2 = "EMPTY"
receiver3 = ""
process A {
input:
val initialData
output:
val initialData into trigger
'''
echo 10
'''
}
process foo {
input:
val trigger
output:
val "I ran from FOO" into receiver2
when:
trigger == 2
'''
echo I ran from FOO
'''
}
process bar {
input:
val trigger
output:
val "I ran from BAR" into receiver1
when:
trigger == 1
'''
echo I ran from BAR
'''
}
Предположим, что foo и bar эквивалентны, но разные реализации (например, одна конвертируетфильм из AVI в h.264, а другой конвертирует из MOV в h.264).Я хотел бы иметь другой процесс, скажем C, который может читать либо из Bar, либо из Foo, ничего не зная о триггере.Но nextflow жалуется, если я использую одно и то же имя выходного канала в Foo и Bar.