专栏名称: 生信媛
生信媛,从1人分享,到8人同行。坚持分享生信入门方法与课程,持续记录生信相关的分析pipeline, python和R在生物信息学中的利用。内容涵盖服务器使用、基因组转录组分析以及群体遗传。
目录
相关文章推荐
51好读  ›  专栏  ›  生信媛

ASCPsra: 让你的SRA下载飞起来

生信媛  · 公众号  · 生物  · 2019-12-11 10:10

正文

请到「今天看啥」查看全文


默认从ena上直接拉取fq,而且支持多线程批量下载、断点续传、文件md5校验和重新下载

将速铂下载工具进行封装,以便高效方便地批量下载SRA测序数据。

本脚本试图将速铂进行封装,实现只需提供SRA的ID号,即可完成序列下载和转换。

参考文章: SRA、SAM以及Fastq文件高速下载方法

更新信息


  • 默认下载源更新为ENA



  • ENA下载fastq文件实现了自动的md5校验,且通过md5校验信息,自动识别ID对应的测序文件是单端还是双端


程序安装与环境部署

获取程序

输入下面的命令:

  1. git clone https://gitee.com/wangshun1121/ASCPsra.git

  2. perl ./ASCPsra.pl -h

若一切安装就绪,则会显示帮助信息。若部分组件未部署好,则程序会有提示。

依赖的perl modules安装

需要安装 Parallel::ForkManager Parallel::Simple 两个perl module,以实现多个SRA并行下载。命令如下:

  1. sudo cpan install Parallel::ForkManager

  2. sudo cpan install Parallel::Simple

或者通过cpanm安装(cpanm使用方法看 这里 ):

  1. sudo cpanm --mirror http://mirrors.163.com/cpan Parallel::ForkManager

  2. sudo cpanm --mirror http://mirrors.163.com/cpan Parallel::Simple

安装 aspera connect

官网下载最新版:http://downloads.asperasoft.com/en/downloads/8?list 。

或者,点 这里 通过百度云盘下载aspera-connect-3.7.4.147727-linux-64.tar.gz。

下载完成后部署aspera connect,下面的命令 不要使用ROOT账户 运行:

  1. wget http://download.asperasoft.com/download/sw/connect/3.7.4/aspera-connect-3.7.4.147727-linux-64.tar.gz

  2. tar zxvf aspera-connect-3.7.4.147727-linux- 64.tar.gz

  3. bash aspera-connect-3.7.4.147727-linux-64.sh


  4. # 查看是否有.aspera文件夹

  5. cd # 去根目录

  6. ls -a # 如果看到.aspera文件夹,代表安装成功

运行结束,在home文件夹的 ~/.aspera/connect 中可发现部署的工具:

安装 NCBI fastq-dump

从NCBI的ftp上下载最新的sratoolkit,或者通过 百度云盘 下载sratoolkit.2.9.0-ubuntu64.tar.gz。安装方式按照下面的命令进行:

  1. wget https://ftp-private.ncbi.nlm.nih.gov/sra/sdk/current/sratoolkit.current-ubuntu64.tar.gz

  2. tar zxvf sratoolkit.current-ubuntu64.tar.gz


  3. # 永久添加环境变量

  4. echo 'export PATH=/path/to/sratoolkit.current-ubuntu64/bin:$PATH' >> ~/.bashrc

  5. source ~/.bashrc


  6. # 检查程序是否可用

  7. fastq-dump -h

使用示例

直接下载Reads

  1. perl ASCPsra.pl -i SRR7166333

直接将 SRR7166333 的fastq的序列下载在当前目录。RR7166333 1.fastq.gz和SRR7166333 2.fastq.gz两个文件。还有一个md5文件。下载结束,请使用下面的命令校验一下文件:

  1. md5sum -c md5

多个数据下载到指定文件夹中

SraAccList.txt 中,两个ID都是大肠杆菌的测序数据。其中 SRR7167489 是双端数据, ERR2002452 是单端数据。

  1. perl ASCPsra.pl -l SraAccList.txt -o ./data -p 2

通过上面的命令,直接将同时下载在./data的文件夹当中。-p参数表示同时下载多少个ID的数据。

每个ID都有对应的fastq.gz文件。还有一个md5文件,下载结束务必校验一下文件完整性。

  • 文件下载结束,可将下载命令重新运行一遍,程序会自动检查文件完整性,正确下载的文件会自动跳过,未正确下载的文件会继续下载。

  • 这个福利仅限于ENA来源的数据。

SRA数据一键下载

从SRA下载数据,需要首先下载.sra格式的文件,然后再通过 pfastq-dump (并行封装的fastq-dump)将.sra文件转换为fastq文件。由于不能直接拿到fastq原始数据,还要经过二次转换,这就是我为何在这个版本中将默认的SRA下载源修改成了ENA。

  1. perl ASCPsra.pl -s SRA -i SRR7166333

直接将 SRR7166333 的fastq的序列下载在当前目录。产生SRR7166333.sra、SRR7166333 1.fastq.gz和SRR7166333 2.fastq.gz三个文件。

SRA数据源没有给md5,因为只有完整的SRA文件才能够成功释放出fastq。

从SRA数据源下数据,可额外设定每个SRA转换fastq的线程数,通过 -t参数指定。

  1. perl ASCPsra.pl -l SRAacc.list -s SRA -p 4 -t 6

SRA下载单端测序数据

目前的版本中,从NCBI SRA源下数据的时候,单端数据跟双端数据必须分放在不同表格中下载,不能同时下

针对SRA数据源,添加单端single end数据,需添加-single告诉程序这是单端数据——否则下载完SRA转换fastq的时候会出错。(在将来的版本更新中,希望将这个参数取消,即让程序自动识别单端与双端)。

单端数据下载实例见: ERR2002452 (SRA,ENA)。

  1. perl ASCPsra.pl -i ERR2002452 -s SRA -single








请到「今天看啥」查看全文