Я пытаюсь автоматизировать бластные выходы из нескольких файлов в каталоге. Переменные здесь жестко закодированы, но будут определены пользователем позже. Мои инфили будут изменены через цикл, но у меня проблемы с запуском NcbiblastpCommandline на файлах из Python. Стремясь запустить blast локально с входами нескольких пакетов больших файлов fasta, чтобы blast запускал последовательно каждый пакетный файл, выводил в tsv, где я анализировал данные и передавал локальное выравнивание clustalw.
Input_file="minifasta.fasta"
data="uniprot_database"
E_Value_Thresh=1e-10
counter=1
Filename2= 'Batch'+str(counter)
from Bio.Blast.Applications import NcbiblastpCommandline
blast_output_file='blastout.tsv'
NcbiblastpCommandline.outfile=Filename2
from Bio.Blast.Applications import NcbiblastpCommandline
cline = NcbiblastpCommandline(query=Input_file, db=data,outfmt=6,
out=blast_output_file, evalue= E_Value_Thresh)
print(cline)
stdt, stdr= cline()
Я получаю сообщение об ошибке, в котором говорится, что объект NcbiblastpCommandline не повторяется. и я направляюсь в строку stdt, stdr, но без stdt, stdr, появляется другая ошибка, сообщающая, что команда не распознана, и сообщения об ошибках, указывающие на stdout_str, stderr_str. Я не могу найти современные примеры использования NcbiblastpCommandline в Python 3, чтобы направлять меня.
Полная ошибка, которую я получаю:
ApplicationError: Non-zero return code 127 from 'blastp -out blastout.tsv -outfmt 6 -query minifasta.fasta -db uniprot_database -evalue 1e-10', message '/bin/sh: blastp: command not found'.
File "/Users/me/anaconda3/lib/python3.6/site-packages/Bio/Application/__init__.py", line 523, in __call__
stdout_str, stderr_str)