最近新发现一个工具——parallel-fastq-dump,能多线程运行fastq-dump处理SRA文件,而且与另一个常用的多线程工具fasterq-dump相比,还有--gzip选项可以直接生成压缩格式文件,因此下面简单对比一下这三种工具处理SRA文件的速度
一、parallel-fastq-dump基本信息
parallel-fastq-dump的Github地址:https://github.com/rvalieris/parallel-fastq-dump
- 注意,parallel-fastq-dump的使用依赖于fastq-dump,需要预先安装sra-tools:
conda install -c bioconda sra-tools
- conda命令安装parallel-fastq-dump:
conda install -c bioconda parallel-fastq-dump
parallel-fastq-dump参数如下
(由于是直接依赖于fastq-dump命令,因此fastq-dump的参数也可使用,如--split-files、--gzip、--split-3等):
二、各命令处理SRA文件用时比较
1. 先测试处理一个450MB的单端测序SRA文件所用时间
① fastq-dump
- (非--gzip模式)
用时:1m49s
time (fastq-dump -O ./ --split-3 SRR3414630.sra)
- (--gzip模式)
用时:8m35s
time (fastq-dump -O ./ --split-3 --gzip SRR3414630.sra)
② fasterq-dump
fasterq-dump工具已经是包含在sra-tools中了,不需要额外再下载。
fasterq-dump没有--gzip的选项,若想生成压缩格式文件,常与多线程压缩工具pigz联合使用
- (非--gzip模式)
用时:1m21s
time (fasterq-dump --split-3 -e 12 -O ./ SRR3414630.sra)
- fasterq-dump + pigz :
用时:2m14s
time (fasterq-dump --split-3 -e 12 -O ./ SRR3414630.sra ; pigz -p 12 SRR3414630.fastq)
③ parallel-fastq-dump
- (非--gzip模式)
用时:53s
time (parallel-fastq-dump -t 12 -O ./ --split-3 -s SRR3414630.sra)
- (--gzip模式):
用时:1m1s
time (parallel-fastq-dump -t 12 -O ./ --split-3 --gzip -s SRR3414630.sra)
2. 再测试处理一个2.6G的10X测序SRA文件所用时间
① fastq-dump (--gzip)
用时:38m23s ( 这也太慢了吧。。。)
time ( fastq-dump -O ./ --split-files --gzip SRR7722937.sra )
② fasterq-dump + pigz
用时:11m12s
(注意fasterq-dump处理10x数据的参数是--split-files --include-technical,仅加--split-files得不到三个文件 )
time ( fasterq-dump -e 12 -O ./ --split-files --include-technical SRR7722937.sra ; pigz -p 12 *fastq)
③ parallel-fastq-dump(--gzip)
用时:4m2s
(处理10x数据的参数与fastq-dump一致,仅用--split-files即可)
time ( parallel-fastq-dump -t 12 -O ./ --split-files --gzip -s SRR7722937.sra )
通过以上测试,可以看到parallel-fastq-dump是处理SRA文件最为快速的!!!
在本例中,调用12线程,parallel-fastq-dump处理SRA文件比fasterq-dump+pigz快2-3倍, 比fastq-dump快8-10倍!
那之后就多尝试用parallel-fastq-dump代替我常用的fasterq-dump+pigz吧