我试图使用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数据库,但我认为我正确地指向了它,因为我可以从命令行运行此代码而不会出现任何问题:
^{pr2}$上面的命令行代码创建了blast结果的xml文件,正如我所期望的那样。在
任何帮助解决这个问题的biopythonncbi命令行工具将不胜感激!在
似乎有效的命令列出了与代码示例中调用的数据库不同的数据库:
对比
^{pr2}$尝试在第2行中将该路径的赋值改为nr,这样它就可以反映出在命令行中没有使用“.pal”的路径。在
您的
nr
变量以nr.pal
结尾。nr
(没有.pal
)应该可以。如果删除pal
不起作用。您可以尝试在主目录中设置一个.ncbirc
文件,该文件包含:它基本上为blast数据库查找设置了一个环境变量。然后,您只需在
nr
变量中使用nr
(不需要路径)。在顺便说一下,您可以使用
print blastx_cline
检查NcbiblastxCommandline
构造的命令行。我猜它和你手工输入的不一样。在编辑:查看http://www.biostars.org/中与StackExchange格式类似的生物信息学特定问题。在
相关问题 更多 >
编程相关推荐