如何在 Nextflow 中 运行 Python 编写脚本
How to run Python Script in Nextflow
我是 Nextflow 的新手,我尝试在 Nextflow 中 运行 Python 脚本。所以我将 Python 脚本存储在与 Nextflow 管道相同的文件夹中并尝试 运行 它但我总是收到此错误:.command.sh: line 2: ./example.py: No such file or directory
。
有没有人遇到同样的问题并且能够解决?
我的流程是这样的:
#!/usr/bin/env nextflow
input_ch = Channel.fromPath('data/*.txt')
process foo {
input:
file x from input_ch
output:
file "$x" into outputt_ch
"""
./example.py ${x}
"""
}
P.S.:我的 Python 脚本可以从终端执行!
提前致谢!
Nextflow 在单独的工作目录中运行每个任务。因此 ./example.py
将不起作用。您必须使用 example.py
并使脚本可通过系统访问 PATH
或将其复制到项目 bin/
目录中。
另一个解决方案是使用 projectDir
变量。
例如,
#!/usr/bin/env nextflow
input_ch = Channel.fromPath('data/*.txt')
project_dir = projectDir
process foo {
input:
file x from input_ch
output:
file "$x" into outputt_ch
"""
python $project_dir/example.py ${x}
"""
}
我是 Nextflow 的新手,我尝试在 Nextflow 中 运行 Python 脚本。所以我将 Python 脚本存储在与 Nextflow 管道相同的文件夹中并尝试 运行 它但我总是收到此错误:.command.sh: line 2: ./example.py: No such file or directory
。
有没有人遇到同样的问题并且能够解决?
我的流程是这样的:
#!/usr/bin/env nextflow
input_ch = Channel.fromPath('data/*.txt')
process foo {
input:
file x from input_ch
output:
file "$x" into outputt_ch
"""
./example.py ${x}
"""
}
P.S.:我的 Python 脚本可以从终端执行!
提前致谢!
Nextflow 在单独的工作目录中运行每个任务。因此 ./example.py
将不起作用。您必须使用 example.py
并使脚本可通过系统访问 PATH
或将其复制到项目 bin/
目录中。
另一个解决方案是使用 projectDir
变量。
例如,
#!/usr/bin/env nextflow
input_ch = Channel.fromPath('data/*.txt')
project_dir = projectDir
process foo {
input:
file x from input_ch
output:
file "$x" into outputt_ch
"""
python $project_dir/example.py ${x}
"""
}