查看原文
其他

fasterq快速转换sra文件到fastq测序数据

生信技能树 生信技能树 2022-08-10


本文来自于学员投稿,一个优秀的学员可以让整个教学环节变得很happy!

SRA文件的解压主要是用sratools中的fastq,但是这个软件不能多线程运行,随着测序数据越来越大,fastq的解压速度可能成为整个流程的瓶颈(其实并不会:P,不过没有多线程就是不爽)。

不过sratools还有另一个软件fasterq,看名字就知道这个应该更快,那我们就测试一下吧!

多线程解压SRA文件

这个软件用起来跟fastq区别不大,主要区别在于 -e 这个指令,可以指定线程数。

这里使用 -e 16指定16线程运行。

fasterq-dump -e 16 --split-files -O ~/tmp SRR1039510.sra

运行结果:

spots read      : 22,852,619
reads read      : 45,705,238
reads written   : 45,705,238

下面看一下成成的文件:已经解压成_1.fastq和 _2.fastq两个文件,大小都是6.1G。

ls ~/tmp -ltrh
 

与fastq的对比

time fastq-dump --split-files -O ~/tmp SRR1039510.sra

real    2m4.557s
user    1m40.961s
sys    0m9.731s

time fasterq-dump -e 16 --split-files -O ~/ SRR1039510.sra

real    1m4.481s
user    1m30.515s
sys    0m18.706s

可以看到,fasterq实际运行时间是1m4s,fastq是2m4s,确实快了不少,不过好像没有快个16倍,比心理预期要慢一点。实际运行过程中我们用top指令发现,尽管指定了16线程,但CPU占用率只是短暂地超过100%。大多数时间在70-80%,而fastq则稳定在95%以上。我猜测可能是文件拆分之类的过程限制了多线程的速度。

除此之外,fasterq没有 -gzip 和-bzip2指令,所以无法像fastq那样输出压缩格式的文件,占用存储空间会比较大。

常用参数

-O|--outdir                      指定输出目录
 -e|--threads                    指定线程数,默认为6
 -p|--progress                  显示进度
 -s|--split-spot                 双端测序结果存储在1个文件
 -S|--split-files                 双端测序结果存储在2个文件
 -3|--split-3                      双端测序结果存储在3个文件 (第三个文件存放没有配对的read)

Reference

fasterq使用说明:

https://www.plob.org/article/14565.html
https://www.plob.org/article/14565.html
https://github.com/ncbi/sra-tools/wiki/HowTo:-fasterq-dump
https://www.biostars.org/p/176809/
https://vip.biotrainee.com/d/215-如何使用fastq-dump转换sra格式
https://www.biostars.org/p/251020/#251029
https://github.com/ncbi/sra-tools
https://github.com/ncbi/sra-tools/wiki/HowTo:-fasterq-dump
https://github.com/ncbi/sra-tools/wiki/Downloads
https://www.biostars.org/p/91885/

如果你对生物信息学数据处理感兴趣,但又不知道如何入门,也许你可以关注一下下面的课程

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存