Как использовать файл скрипта без указания абсолютного пути?
У меня есть эти процессы:
#!/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