我是Nextflow的新手。我想在流程A中定义一个环境a:
process define_env {
output:
env var_a
"""
echo var_a="test" > var_file.txt
source var_file.txt
"""
}
字符串
然后我想在下面的过程中调用环境var_a
:
process call_var {
"""
echo This is a $var_a.
"""
}
//And run two processes
workflow {
define_env()
call_var()
}
型
它报告错误:No such variable: var_a
。你能帮我弄清楚如何修复它吗?
多谢了!
1条答案
按热度按时间7bsow1i61#
每个处理环境都是不同的,因此据我所知,需要为您使用的每个过程定义环境变量。
如果您正在创建文件
var_file.txt
,则可以在输出声明中使用path(var_file.txt)
输出文件。在流程call_var
中,您可以在输入声明中使用path(var_file.txt)
,但需要修改工作流声明,以便call_var
接受第一个流程的输出。字符串
如果你在所有进程中使用相同的env变量,另一种方法是在配置文件中定义它,并将其导出为每个进程中的环境变量(即每个进程中的
export ${params.global_variable}=test
。你甚至可以使用beforeScript
指令来确保它在每个进程中被读入环境中。