首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Biopython本地BLAST数据库错误

Biopython本地BLAST数据库错误
EN

Stack Overflow用户
提问于 2012-05-21 13:10:24
回答 2查看 2.6K关注 0票数 3

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

代码语言:javascript
复制
>>> 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数据库,但我认为我正确地指向了它,因为我可以从命令行运行此代码,而不会出现任何问题:

代码语言:javascript
复制
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命令行工具解决此问题的任何帮助都将不胜感激!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-05-21 13:36:23

您的nr变量以nr.pal结尾。nr (没有.pal)应该没问题。如果移除pal不起作用。您可以尝试在包含以下内容的主目录中设置.ncbirc文件:

代码语言:javascript
复制
[BLAST]
BLASTDB=/directory/path/to/blast/databases

它基本上设置了一个用于blast数据库查找的环境变量。然后,您可以简单地在nr变量中使用nr (不需要路径)。

顺便说一下,您可以使用print blastx_cline检查由NcbiblastxCommandline构造的命令行。我猜它和你手动输入的不一样。

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

票数 5
EN

Stack Overflow用户

发布于 2012-05-21 13:31:31

看起来有效的命令列出了一个不同的数据库,而不是从代码示例中调用的数据库:

代码语言:javascript
复制
# In the code
-db /Users/Priya/Documents/Python/ncbi-blast-2.2.26+/bin/nr.pal

代码语言:javascript
复制
# From the command line
-db /Users/priya/Documents/Python/ncbi-blast-2.2.26+/bin/nr

尝试将该路径的赋值更改为第2行中的nr,以便它反映您在命令行中使用的不带'.pal‘的路径。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10679760

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档