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

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

#!/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 находится в корзине, как говорится в документе Nextflow.

Но Nextflow, похоже, ищет его в работе.

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


person Adam Bellaïche    schedule 23.11.2018    source источник


Ответы (1)


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

psi_blast_output_to_fasta_next.py   

вместо того

python3 psi_blast_output_to_fasta_next.py  
person pditommaso    schedule 24.11.2018