Как использовать файл скрипта без указания абсолютного пути? - PullRequest
0 голосов
/ 23 ноября 2018

У меня есть следующие процессы:

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

bin/  pipeline_amont.nf

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

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

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

1 Ответ

0 голосов
/ 24 ноября 2018

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

psi_blast_output_to_fasta_next.py   

вместо

python3 psi_blast_output_to_fasta_next.py  
...