我们比对一般用的是NCBI的非冗余蛋白/核酸数据库,有两种方法下载nr/nt数据库:
1.通过blast+工具自带的更新程序下载
2.通过aspera工具下载
同样是网速的问题,如果用第一种方法下载,我们可以在~/blast/bin目录下找到如下的perl程序
直接运行命令 perl update_blastdb.pl nt
但是10几kb/s的速度真的让人抓狂,所以我推荐第二种方法:用IBM公司开发的快速下载神器——aspera
安装aspera在我之前写的一篇博客里推荐过sra-tools工具中的prefetch,用来下载SRA数据中存放的高通量测序原始数据。prefetch软件就是默认通过aspera工具进行下载的。
如果之前没有安装过aspera,可以用conda直接安装,命令如下:
conda install -c hcc aspera-cli
这里注意下aspera-cli是aspera的命令行版本,各种不同版本的本质上下载都是调用ascp程序,并且需要openssh公钥认证,不同版本的aspera公钥文件存放的位置不同。因为我们是通过conda安装的aspera,aspera-cli公钥文件的位置在你的conda环境目录下的etc文件夹中,比如我的aspera-cli公钥文件在/public/home/wlxie/miniconda3/envs/biosoft/etc
而且因为是conda安装的,我们不需要修改什么配置文件和依赖关系,还是挺省事的。
用aspera下载数据库nr/ntnr/nt数据库也可以通过ftp方式获得,点击这里查看ftp网址
为了方便找到下载到本地的数据库,先在家目录新建db/blast文件夹,进入这个文件夹后,在当前目录下运行如下命令:
ascp -QT -i /public/home/wlxie/miniconda3/envs/biosoft/etc/asperaweb_id_dsa.openssh -k1 -l 500m anonftp@ftp.ncbi.nlm.nih.gov:/blast/db/FASTA/nt.gz ./
这里是其中一个nt数据库,nr数据库只要改一个字母就行了,两个数据库都要下载。
稍微解释下各参数的含义:
-Q 用于自适应流量控制,磁盘限制所需;-T 是取消加密,否则有时候数据下载不了。两个参数是搭配一起使用的
-i 输入私钥文件,注意下载的ascp版本不一样文件位置也不一样
-k1 这里是加上了断点传续功能
-l 限制最大下载速度
后面一串是账户@ftp地址:路径。注意@和冒号。NCBI公共账号是anonftp,也就是你下载SRA数据库数据也可以用这个账号;EBI公共账号是era-fasp
最后指定下载文件的路径,我用了当前路径
可以看到下载速度杠杠的,提升了不知道多少倍…下载大数据都可以用ascp命令。
下载好之后同样别忘了校验md5文件,校验后gunzip直接解压到当前文件夹。
💡 关键要点
我们比对一般用的是NCBI的非冗余蛋白/核酸数据库,有两种方法下载nr/nt数据库: 1.通过blast+工具自带的更新程序下载 2.通过aspera工具下载 同样