nextflow - 从两个通道中的任何一个获取过程输入
问题描述
如何允许进程从两个通道之一获取输入,这些通道是具有互斥运行条件的进程的输出?例如,类似:
params.condition = false
process a {
output:
path "a.out" into a_into_c
when:
params.condition == true
"""
touch a.out
"""
}
process b {
output:
path "b.out" into b_into_c
when:
params.condition == false
"""
touch b.out
"""
}
process c {
publishDir baseDir, mode: 'copy'
input:
path foo from a_into_c or b_into_c
output:
path "final.out"
"""
echo $foo > final.out
"""
}
其中 final.out 将包含a.out
params.condition 是否为真(例如--condition
在命令行上给出),以及b.out
它是否为假。
解决方案
您可以为此使用混合运算符:
process c {
publishDir baseDir, mode: 'copy'
input:
path foo from a_into_c.mix(b_into_c)
output:
path "final.out"
"""
echo $foo > final.out
"""
}
推荐阅读
- java - 如何在 Java 中捕获所有传入的 gRPC 消息?
- java - Java OAuth 2.0 通过带有客户端 ID 和密码的 HTTP GET 获取访问令牌
- django - 在 Django 中的 post save 信号中发送电子邮件的问题
- json - 如何在 Swift for MacOS 中解析来自 Yahoo Finance 的 JSON
- selenium - 如何在 xpath 中使用撇号 (')?
- node.js - JWT 签名令牌过期即使在代码中更改后浏览器应用程序中也不会更改
- php - 相关模型返回集合时如何访问子相关模型
- pandas - 如何比较两个数据帧以推断第三个数据帧
- angular - 为什么 Angular 会破坏我的 Google 字体 SCSS 导入?
- node.js - 当我试图通过sellerId 获取库存号时,为什么$and 运算符在mongodb mongoose 中不起作用?