如何在不指定绝对路径的情况下使用文件脚本?
How to use file script without specifying the absolute path?
我有这个流程:
#!/usr/bin/env nextflow
params.queries = ""
params.db = ""
queries = Channel.fromPath(params.queries)
queries.into { queries_psiblast; queries_pssm }
db = file(params.db)
process PsiBlast {
input:
file query from queries_psiblast
output:
file top_hits
"""
psiblast -db $db -query $query -out top_hits
"""
}
process ParsePsiBlastOut {
input:
file top_hits
output:
file top_hits2
"""
python3 psi_blast_output_to_fasta_next.py $top_hits
"""
}
我的第二个进程有问题,Nextflow 找不到我的 python 脚本。
这是我的目录(我不在 HOME 中,我在 project/ 中。所以它不是我在 HOME 中的 "bin"):
bin/ pipeline_amont.nf
我的 python 脚本在 bin 中,就像 Nextflow 文档所说的那样。
但是Nextflow好像在工作中搜索过
我如何告诉 Nextflow 去 bin 中寻找脚本?
Nextflow 自动将项目 bin 目录添加到任务 $PATH
,因此您需要将脚本作为命令调用而不指定 python 解释器,即
psi_blast_output_to_fasta_next.py
而不是
python3 psi_blast_output_to_fasta_next.py
我有这个流程:
#!/usr/bin/env nextflow
params.queries = ""
params.db = ""
queries = Channel.fromPath(params.queries)
queries.into { queries_psiblast; queries_pssm }
db = file(params.db)
process PsiBlast {
input:
file query from queries_psiblast
output:
file top_hits
"""
psiblast -db $db -query $query -out top_hits
"""
}
process ParsePsiBlastOut {
input:
file top_hits
output:
file top_hits2
"""
python3 psi_blast_output_to_fasta_next.py $top_hits
"""
}
我的第二个进程有问题,Nextflow 找不到我的 python 脚本。
这是我的目录(我不在 HOME 中,我在 project/ 中。所以它不是我在 HOME 中的 "bin"):
bin/ pipeline_amont.nf
我的 python 脚本在 bin 中,就像 Nextflow 文档所说的那样。
但是Nextflow好像在工作中搜索过
我如何告诉 Nextflow 去 bin 中寻找脚本?
Nextflow 自动将项目 bin 目录添加到任务 $PATH
,因此您需要将脚本作为命令调用而不指定 python 解释器,即
psi_blast_output_to_fasta_next.py
而不是
python3 psi_blast_output_to_fasta_next.py