当 运行 与 python 一起爆炸时,'blastp' 未被识别为内部或外部命令错误
'blastp' is not recognized as an internal or external command error when running blast with python
我正在尝试 运行 使用 biopython 使用 Bio.Blast.Applications 进行本地 BLAST。但是,当 运行 宁以下代码时:
from Bio.Blast.Applications import NcbiblastpCommandline
result = r"C:\Users\Uzytkownik\Desktop\tests\result.xml"
q = r"C:\Users\Uzytkownik\Desktop\tests\fastas\my_example2.faa"
database = r"C:\Users\Uzytkownik\Desktop\tests\my_examplemultif.faa"
blastp_cline = NcbiblastpCommandline(query = q, db = database, evalue = 0.001, outfmt=5, out = result)
stdout, stderr = blastp_cline()
我收到一条错误消息:
ApplicationError: Non-zero return code 1 from 'blastp -out C:\Users\Uzytkownik\Desktop\tests\result.xml -outfmt 5 -query C:\Users\Uzytkownik\Desktop\tests\fastas\my_example2.faa -db C:\Users\Uzytkownik\Desktop\tests\my_examplemultif.faa -evalue 0.001', message "'blastp' is not recognized as an internal or external command,"
我已经尝试 运行 使用子进程和 os 进行此操作,但每次都出现相同的错误。
当我 运行 通过命令行查询时一切正常(我使用的是 blast 2.9.0+),所以我真的不确定问题出在哪里。如有任何帮助,我们将不胜感激!
首先找到 blastp
可执行文件的安装位置,并将其作为参数提供给 NcbiblastpCommandline
。
from Bio.Blast.Applications import NcbiblastpCommandline
blastp_path = r"C:\path\to\blastp.exe"
result = r"C:\Users\Uzytkownik\Desktop\tests\result.xml"
q = r"C:\Users\Uzytkownik\Desktop\tests\fastas\my_example2.faa"
database = r"C:\Users\Uzytkownik\Desktop\tests\my_examplemultif.faa"
blastp_cline = NcbiblastpCommandline(cmd=blastp_path, query=q, db=database, evalue=0.001, outfmt=5, out=result)
如果您现在执行 print(blastp_cline)
,它应该打印出将成为 运行 的完整命令。通过 copy/pasting 此输出并从命令行 运行 对其进行双重检查是否有效。如果可行,那么
stdout, stderr = blastp_cline()
应该也可以。
我正在尝试 运行 使用 biopython 使用 Bio.Blast.Applications 进行本地 BLAST。但是,当 运行 宁以下代码时:
from Bio.Blast.Applications import NcbiblastpCommandline
result = r"C:\Users\Uzytkownik\Desktop\tests\result.xml"
q = r"C:\Users\Uzytkownik\Desktop\tests\fastas\my_example2.faa"
database = r"C:\Users\Uzytkownik\Desktop\tests\my_examplemultif.faa"
blastp_cline = NcbiblastpCommandline(query = q, db = database, evalue = 0.001, outfmt=5, out = result)
stdout, stderr = blastp_cline()
我收到一条错误消息:
ApplicationError: Non-zero return code 1 from 'blastp -out C:\Users\Uzytkownik\Desktop\tests\result.xml -outfmt 5 -query C:\Users\Uzytkownik\Desktop\tests\fastas\my_example2.faa -db C:\Users\Uzytkownik\Desktop\tests\my_examplemultif.faa -evalue 0.001', message "'blastp' is not recognized as an internal or external command,"
我已经尝试 运行 使用子进程和 os 进行此操作,但每次都出现相同的错误。
当我 运行 通过命令行查询时一切正常(我使用的是 blast 2.9.0+),所以我真的不确定问题出在哪里。如有任何帮助,我们将不胜感激!
首先找到 blastp
可执行文件的安装位置,并将其作为参数提供给 NcbiblastpCommandline
。
from Bio.Blast.Applications import NcbiblastpCommandline
blastp_path = r"C:\path\to\blastp.exe"
result = r"C:\Users\Uzytkownik\Desktop\tests\result.xml"
q = r"C:\Users\Uzytkownik\Desktop\tests\fastas\my_example2.faa"
database = r"C:\Users\Uzytkownik\Desktop\tests\my_examplemultif.faa"
blastp_cline = NcbiblastpCommandline(cmd=blastp_path, query=q, db=database, evalue=0.001, outfmt=5, out=result)
如果您现在执行 print(blastp_cline)
,它应该打印出将成为 运行 的完整命令。通过 copy/pasting 此输出并从命令行 运行 对其进行双重检查是否有效。如果可行,那么
stdout, stderr = blastp_cline()
应该也可以。