Как использовать файл скрипта без указания абсолютного пути?

У меня есть эти процессы:

#!/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, я в проекте / . Так что это не мой "мусорный ящик" в HOME):

bin/  pipeline_amont.nf

Мой скрипт на python находится в bin, как говорит документ Nextflow.

Но Nextflow, кажется, ищет его в работе.

Как я могу сказать Nextflow искать скрипт в bin?

1 ответ

Решение

Nextflow автоматически добавляет каталог bin проекта в задачу $PATHпоэтому вам нужно вызывать ваш скрипт как команду без указания интерпретатора python, т.е.

psi_blast_output_to_fasta_next.py   

вместо

python3 psi_blast_output_to_fasta_next.py  
Другие вопросы по тегам