数据库
首页 > 数据库> > Biopython本地BLAST数据库错误

Biopython本地BLAST数据库错误

作者:互联网

我试图使用Biopython的NcbiblastxCommandline工具在“nr”数据库本地运行blastx但是我总是得到关于蛋白质数据库搜索路径的以下错误:

>>> from Bio.Blast.Applications import NcbiblastxCommandline
>>> nr = "/Users/Priya/Documents/Python/ncbi-blast-2.2.26+/bin/nr.pal"
>>> infile = "/Users/Priya/Documents/Python/Tutorials/opuntia.txt"
>>> blastx = "/Users/Priya/Documents/Python/ncbi-blast-2.2.26+/bin/blastx"
>>> outfile = "/Users/Priya/Documents/Python/Tutorials/opuntia_python_local.xml"
>>> blastx_cline = NcbiblastxCommandline(blastx, query = infile, db = nr, evalue = 0.001, out = outfile)
>>> stdout, stderr = blastx_cline()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File     "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/Bio/Application/__init__.py", line 443, in __call__
stdout_str, stderr_str)
Bio.Application.ApplicationError: Command '/Users/Priya/Documents/Python/ncbi-blast-2.2.26+/bin/blastx -out /Users/Priya/Documents/Python/Tutorials/opuntia_python_local.xml -query /Users/Priya/Documents/Python/Tutorials/opuntia.txt -db /Users/Priya/Documents/Python/ncbi-blast-2.2.26+/bin/nr.pal -evalue 0.001' returned non-zero exit status 2, 'BLAST Database error: No alias or index file found for protein database [/Users/Priya/Documents/Python/ncbi-blast-2.2.26+/bin/nr.pal] in search path [/Users/Priya::]'

我不知道如何更改指向我下载的nr数据库的路径,但我认为我正确指出它,因为我可以从命令行运行此代码而没有任何问题:

Priyas-iMac:~ Priya$/Users/priya/Documents/Python/ncbi-blast-2.2.26+/bin/blastx -query /Users/priya/Documents/Python/Tutorials/opuntia.txt -db /Users/priya/Documents/Python/ncbi-blast-2.2.26+/bin/nr -out /Users/priya/Documents/Python/Tutorials/opuntia_local.xml -evalue 0.001 -outfmt 5

上面的命令行代码创建了一个我期望的blast结果的xml文件.

使用Biopython NCBI命令行工具解决此问题的任何帮助将不胜感激!

解决方法:

你的nr变量以nr.pal结尾. nr(没有.pal)应该没问题.如果删除朋友不起作用.您可以尝试在主目录中设置.ncbirc文件,其中包含:

[BLAST]
BLASTDB=/directory/path/to/blast/databases

它基本上为blast数据库查找设置了一个环境变量.之后,您只需在您的nr变量中使用nr(无需路径).

顺便说一句,您可以使用print blastx_cline检查由NcbiblastxCommandline构造的命令行.我的猜测是它与您手动输入的不一样.

编辑:查看http://www.biostars.org/与生物信息学特定的问题类似于StackExchange的格式.

标签:biopython,python,database,path,blast
来源: https://codeday.me/bug/20190826/1728987.html