我正在我的 mac (os sierra) 上配置 Blast+,并且在配置我也在本地下载的 nr 和 nt 数据库时遇到了问题。我在这里尝试按照NCBI 的说明进行操作,并且正在关注配置和示例执行步骤。
他们说要更改我的 .bash_profile 以使其显示:
export PATH=$PATH:$HOME/Documents/Luke/Research/Pedulla\ 17-18/blast/ncbi-blast-2.6.0+/bin
这很好用,他们说“类似地”为 BLASTDB 配置路径,但配置到我的数据库所在的文件,所以我这样做了:
export BLASTDB=$BLASTDB:$HOME/Documents/Luke/Research/Pedulla\ 17-18/blast/blastdb/nt.00
它指定了我从他们的 FTP 解压缩 nt tar 文件时得到的确切文件夹。使用此路径,如果我运行命令...
blastn -query test_query.fa -db nt.00 -task blastn -outfmt "7 qseqid sseqid evalue bitscore" -max_target_seqs 5
然后它成功运行并且我得到了结果,但我担心这些只是针对整个 nt.00 数据库文件的 nt.00 部分进行检查,特别是因为如果我在 Web Blast 上运行我的 test_query.fa 序列,我得到不同的结果。
此外,他们的说明说路径只需要指向包含整个数据库文件夹 nt.00 的文件夹,来自我解压缩的 tar - 而不是特定的 nt.00 本身 - 在我的情况下就是“blastdb/”(与“blastdb/nt.00/”相反,后者包含 nt.00.nhd、nt.00.nal等)。这是有道理的,因为当我工作时,我希望能够通过在我的命令上更改 -db 标志来对 nt 数据库进行 blastn 以及对 nr 数据库进行blastp 等,并且拥有它们应该没有问题都在这个文件夹里吧?但是,如果我必须指定 BLASTDB 的路径并在末尾添加 nt.00 DB,我怎么能在同一个文件夹 (blastdb/) 中使用 nr.00? 本质上,我想按照说明进行操作,并且只需:
export BLASTDB=$BLASTDB:$HOME/Documents/Luke/Research/Pedulla\ 17-18/blast/blastdb/
然后根据我想使用的数据库,我可以在我的命令上的 -db 标志之后这么说。但是当我像上面那样制作路径时,它给了我这个错误:
BLAST Database error: No alias or index file found for nucleotide database [nt] in search path [/Users/LJStout::/Users/LJStout/Documents/Luke/Research/Pedulla 17-18/blast/blastdb:]
我已经尝试从上面运行相同的blastn命令并将“nt”换成“nt.00”,并尝试了这些命令,BLASTDB的路径以“blastdb/”和“blastdb/nt”结尾,当然还有“ blastdb/nt.00",这是唯一一个没有错误运行的。
这是我读到的另一个线程的示例,其中 OP 担心他的执行没有检查整个 nt.00 文件夹,但这与我的问题不同。
谢谢你的帮助!