gpt4 book ai didi

python - Biopython本地BLAST数据库报错

转载 作者:搜寻专家 更新时间:2023-10-30 19:40:36 25 4
gpt4 key购买 nike

我正在尝试使用 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)应该没问题。如果删除 pal 不起作用。您可以尝试在您的主目录中设置一个 .ncbirc 文件,该文件包含以下内容:

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

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

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

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

关于python - Biopython本地BLAST数据库报错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10679760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com