如何在不指定绝对路径的情况下使用文件脚本?

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