fasterq快速转换sra文件到fastq测序数据
本文来自于学员投稿,一个优秀的学员可以让整个教学环节变得很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/
如果你对生物信息学数据处理感兴趣,但又不知道如何入门,也许你可以关注一下下面的课程