使用Windows系统高速下载SRA数据库中原始数据

官方推荐使用SRATOOLKIT,那义无反顾的就用它吧

准备篇

首先:打开官网 NCBI SRA Tool Kit下载最新的SRA版本软件,有四种平台软件可选。注意自己下的版本是否符合自己的操作系统。请注意:由于软件更替,下面的源可能并不是最新的(截止到2019/7/23)。请各位同学仔细甄别!

  • CentOS Linux 64 bit architecture
  • Ubuntu Linux 64 bit architecture
  • MacOS 64 bit architecture
  • MS Windows 64 bit architecture

其次,点击并下载ASPERA。windows系统下直接安装即可,linux安装下面有详细步骤。

安装篇

Ubuntu:

首先安装sratoolkit

方法一:apt安装

首先:确保你的apt源是最新的,如果不是最新的清执行:

apt-get update

其次:安装sratoolkit

apt install sra-toolkit

再次:检查sratoolkit是否安装成功:

prefetch -v

出现版本号或者命令参数则安装成功。

最终:当你不需要它的时候就可以卸载掉(作者比较惨,阿里云上的存储空间不太够,所以下载完后就删掉了):

apt remove sra-toolkit

方法二:解压添加进入环境变量:

首先:下载并解压Ubuntu平台的sratoolkit安装包:

weget https://ftp-trace.ncbi.nlm.nih.gov/sra/sdk/2.9.6-1/sratoolkit.2.9.6-1-ubuntu64.tar.gz
tar zxvf sratoolkit.2.9.6-1-ubuntu64.tar.gz

其次:把sratoolkit扔进环境变量并刷新,请注意要把下面的路径换成自己的路径,如果不知道自己的路径在哪可以用pwd命令查看:

echo 'export export PATH=$PATH:YOUR_PATH/sratoolkit.2.9.6-1-ubuntu64/bin' >> ~/.bash_profile
source ~/.bash_profile

最后:检查sratoolkit是否安装成功,同上,略。


其次安装IBM ASPERA

首先:下载并解压linux下的ASPERA软件

wget https://download.asperasoft.com/download/sw/connect/3.9.5/ibm-aspera-connect-3.9.5.172984-linux-g2.12-64.tar.gz
tar zxvf ibm-aspera-connect-3.9.5.172984-linux-g2.12-64.tar.gz

最后:安装IBM ASPERA(这里需要注意一点,安装这个软件时必需为非root用户),安装完毕后即可自动添加进入环境变量。

bash aspera-connect-3.9.5.172984-linux-64.sh

Windows:

由于服务器网络状况不理想,而且主机间存在防火墙隔离。所以将SRA数据库下载到本地并上传到服务器是个不错的选择。

首先:下载最新sratoolkit安装包并解压(看文件结构感觉跟Blast的运行方式一致,如果有相关经验的同学就可以忽略不计了)。

其次:使用windows徽标键(好像是这么叫)+R,输入CMD,cd /d进入解压后的目录。

1563886072605.png

再次:cd进入\bin文件夹:

最后:检查安装是否正常(操作如上),当然在这一步也可将bin文件夹中的prefetch.exe加入到全局系统变量中,这样就可以不用敲打文件路径,可以直接执行。但像我这种懒人,添加到环境变量还是算了,能少写一行绝对多写一行。


应用篇:

想想大家应该都是批量下载,所以单个文件下载的方式我就不介绍了,主要介绍下批量下载

首先,打开SRA RUN Selector,输入自己想要下载的文件的SRA编号,点击上面的“望远镜”摁钮进行搜索:

使用Windows系统高速下载SRA数据库中原始数据_第1张图片
1563975762505.png

其次:我就随便找了个SRS的号演示一下,下面这张图片中包含了一定的试验参数及测序平台,因为搞批量嘛,当然是全选。全选后点击后面“Download”中的“Accession List”。然后将这个列表文件保存下来,就可以执行下面操作。

使用Windows系统高速下载SRA数据库中原始数据_第2张图片
1563976815137.png

Ubuntu:

首先cd到你放置SRR_ACC_List.txt的目录中,然后:

prefetch --option-file SRR_Acc_List.txt

下载就开始了,下面就显示了当前序列信息下载的队列,其中Downloading via fasp,证明你正在使用Aspera进行下载,如果服务器不限速的话,很快就能下载完毕。如果,显示通过http,则证明Aspera安装存在问题,请注意仔细按照上面修改。当然,下载完成后你可以使用locate命令轻松找到这个文件下载在哪。一般默认保存在用户目录下/root/ncbi/sar中。


Windows:

还是那个问题,服务器有防火墙,同时服务器网络情况不好,需要下载到本地计算机环境中。这一部分我就着重介绍一下。

首先,使用cmd进入对应目录:

1563977724285.png

其次,执行上面linux中的那个命令:

prefetch --option-file SRR_Acc_List.txt

然后,开始下载,但采用的都是通过http/https的下载方式,对于作者的移动网来说。情况就是不断超时,然后队列被迫中断,具体情况是这个样子的:

1563886072605.png

虽本地安装了Aspera,但不同于linux下prefetch,windows下的Aspera并不会自动调用Aspera。查了官方的手册后发现,需要在prefetch下加入Aspera的文件路径,以达到调用的目的,具体命令如下:

prefetch -a "C:\Users\Lab-Fang\AppData\Local\Programs\Aspera\Aspera Connect\bin\ascp.exe#ascp文件目录|C:\Users\Lab-Fang\AppData\Local\Programs\Aspera\Aspera Connect\etc\asperaweb_id_dsa.openssh#ascp证书路径" --option-file SRR_Acc_List.txt

这里有一点要强调ascp软件中etc目录下有多个通讯证书,我首先尝试了官方推荐的.putty证书,但是无法获得具体的认证。失败原因显示为:

2019-07-24T13:11:06 prefetch.2.9.3 err: ascp.exe: failed to authenticate, exiting.
2019-07-24T13:11:06 prefetch.2.9.3 err: Session Stop  (Error: failed to authenticate)
2019-07-24T13:11:06 prefetch.2.9.3: ascp.exe: failed to authenticate, exiting.     Session Stop  (Error: failed to authenticate)

然后经外国友人指导后,发现导致这一问题的原因大部分为3个:

  1. 你的aspera 版本并不是最新版本
  2. 你的cmd不支持使用的.putty证书,需要切换为.openssh证书,这样就可以完成身份认证(恰巧windows 10中已经支持了部分ssh命令)
  3. 你的网络问题

修正了上述三个问题并加入了对应的软件路径,你就可以愉快的使用Aspera执行高速文件下载了!

学校有些限速规定,下载速度为10 M/s,几乎可以跑满整个带宽。

使用Windows系统高速下载SRA数据库中原始数据_第3张图片
1564056054589.png

下次介绍下如何使用sratoolkit完成一些格式整理工作


参考资料:

  1. Question: Key Passphrase For Ascp File Transfer (Ebi, Ncbi) https://www.biostars.org/p/93482/

你可能感兴趣的:(使用Windows系统高速下载SRA数据库中原始数据)