Я пытаюсь автоматизировать вывод из нескольких файлов в каталоге. Переменные здесь жестко закодированы, но позже будут определены пользователем. Мои файлы будут изменены с помощью цикла, но у меня возникают проблемы с запуском NcbiblastpCommandline для файлов из Python. Стремление запускать blast локально с вводом нескольких пакетов больших файлов fasta, поэтому blast будет последовательно запускать каждый пакетный файл, выводить в tsv, где я анализирую данные и передаю локальное выравнивание кластера.
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)
/bin/sh: blastp: command not found'.
может означать, что у вас либо не установлен blastp, либо он не найден в вашей переменнойPATH
. Можете ли вы запустить blastp вручную и на какой ОС вы работаете? - person voiDnyx   schedule 27.04.2018echo $PATH
в терминале и убедиться, что местоположение вашего blastp указано в списке? Если нет, попробуйте добавить. (osxdaily.com/2014/08/ 14/add-new-path-to-path-command-line например показывает способ сделать это) - person voiDnyx   schedule 27.04.2018