使用Blast本地数据库获得PSSM特征矩阵

来源:互联网 发布:普华永道审计知乎 编辑:程序博客网 时间:2024/05/29 16:21

1.下载数据db文件

这次主要用到2中类型的蛋白质数据nr和nt,下载地址:ftp://ftp.ncbi.nlm.nih.gov/blast/db,由于nr和nt比较大,建议使用迅雷下载分割的小文件(nr64个,nt45个),如nr.00.tar.gz

2.解压所有的.gz文件

可以使用通配符解压(不知为何中途出错),

tar -xzvf *.gz

也可以使用脚本命令解压,下面给出python的解压代码

import osfor i in range(0,65):    os.system("tar -xzvf nr.%02d.tar.gz"%i)

3.使用命令获得PSSM特征矩阵

psiblast -query /home/javis/data_base/1a2yC  -db /home/javis/data_base/nr/nr  -num_iterations 3  -out test1  -out_ascii_pssm test1.pssm 
-query 是待匹配的fasta文件

-db 是之前解压的数据文件目录,这里注意所有的nr文件都是放在/home/javis/data_base/nr/下,但是-db 的后面必须再追加nr(nr为下载的数据库前缀),否则会出现如下错误

BLAST Database error: No alias or index file found for protein database [/home/javis/data_base/nr2] in search path [/home/javis/data_base/nt::]
-num_iterations 3  迭代次数为3次

 -out test1   输出文件

-out_ascii_pssm test1.pssm  矩阵输出文件

最后注意,下载的文件最好和服务器提供的md5码比对下,如果其中一个文件损坏,会导致C++异常

BLAST Database error: CSeqDBAtlas::MapMmap: While mapping file [/home/javis/data_base/nr/nr.33.psq] with 13124431561 bytes allocated, caught exception:NCBI C++ Exception:    "/build/buildd/ncbi-blast+-2.2.28/c++/src/objtools/blast/seqdb_reader/seqdbatlas.cpp", line 152: Error: ncbi::SeqDB_ThrowException() - Validation failed: [end <= file_size] at /build/buildd/ncbi-blast+-2.2.28/c++/src/objtools/blast/seqdb_reader/seqdbatlas.cpp:506


0 0
原创粉丝点击