SRA数据就不多说了,目前我遇到的问题是,学校网络不太行,怎么批量快速的下载?
时代久远,原来我是怎么获得大量的SRA下载地址已经不记得了,依稀记得是弄了地址以后用Fillezilla一个个找,或者用迅雷或者IDM下载,然后在传到服务器上去做分析,步骤比较麻烦,但是当年解决了“能不能干”的问题。现在希望简便一点,采用的方法是利用TBTools获得DDBJ的下载地址,然后利用aria2在linux下直接批量下载。
在例子的这个项目里面,我人肉搜索了NCBI上所有的芥菜转录组数据库,找到一个项目PRJNA507350测了204个叶片转录组。所以在NCBI里面搜索一下这个项目。第一步是要得到目的样本的SRA号。
如图流程走完以后,生成的这个文件每一行都是该项目里面一个样本的SRR号,一般而言你可以用这个文件用SRA-toolkit里面的prefetch命令下载就行了,如果安装了aspera的话下载速度贼快,但是不知为何这两年我们学校没法用aspera了,也可能是我没安装好,总之没法用,只能用http下载,这样就没有断点续传,而且速度贼慢。所以后面改用aria2来下载。
参考 省事地获取已公开测序数据的下载链接 这篇文章的方法 把上一步得到的文件提交到TBTools的这个功能里面,可以爬到3大数据库里面对应样本的下载地址。
提交进去以后要等一会,软件在用爬虫爬,大概10min左右全爬完以后可以生成一个包含了不同数据库下载地址的文件,一般如图:
将这个列表中的DDBJ_Potential_SRR_Links 这一列数据提取出来 做成一个单独的地址列表list_file.txt 上传到你的linux服务器上就行。
理论上任何一个下载地址都行,但是我这个例子里面从生成文件中挑选的NCBI下载地址是无法下载的,不知道毛病在哪里,所以后来用的DDBJ的地址。
在linux下安装aria2 。
下载命令是 aria2c -x16(线程数) -s16(文件分割数)-j10(同时下载文件数) -c(断点续传) -i list_file.txt
就可以批量多线程下载了,速度还行,这是学校服务器的下载速度,同时下载5个文件,要是断了重新运行一下命令就可以接着下了。
DDBJ数据库是日本的数据库,目前下载数据还算比较快,理论上3大数据库每晚交换数据,所以应该都是一样的,只要不是特别新的数据,过个把礼拜都能在这个数据库里下载到。