都8102年了,还用fastq-dump,快换fasterq-dump吧

简介: 之前写过一篇文章Fastq-dump: 一个神奇的软件, 详细介绍了fastq-dump的用法。虽然fastq-dump参数很多,而且一直被吐槽参数说明写的太差,但是如果真的要用起来其实也就是一行代码fastq-dump --gzip --split-3 --defline-qual '+' --defline-seq '@$ac-$si/$ri' SRRXXXXX| SRRXXXX.sra# 加上--gzip后需要时间进行文件压缩当然除了参数问题,还有一个让人诟病的地方就是他只能单个线程,所以速度特别的慢。

之前写过一篇文章Fastq-dump: 一个神奇的软件, 详细介绍了fastq-dump的用法。
虽然fastq-dump参数很多,而且一直被吐槽参数说明写的太差,但是如果真的要用起来其实也就是一行代码

fastq-dump --gzip --split-3 --defline-qual '+' --defline-seq '@$ac-$si/$ri' SRRXXXXX| SRRXXXX.sra
# 加上--gzip后需要时间进行文件压缩

当然除了参数问题,还有一个让人诟病的地方就是他只能单个线程,所以速度特别的慢。尽管相对于下游分析要分析好几天而言,这点时间还能能等的。但是能快一点总是好的,所以在2018年的6月份,sra-tools更新了一个新的sra解压工具,fasterq-dump, a faster fastq-dump,它能利用临时文件和多线程加速从SRA文件提取FASTQ。

fasterq-dump的用法和fastq-dump一样,如下所示

fasterq-dump --split-3 ./SRR5318040

此外还有建立了GitHub Wiki提供使用教程,参见https://github.com/ncbi/sra-tools/wiki/HowTo:-fasterq-dump

重点参数是-e|threads, 用于选择使用多少线程进行运行,默认是6个线程。 同时考虑到有些人容易着急,还提供了-p选项用于显示当前进度。

我用一个9G大小的SRA文件,分别以fastq-dumpfasterq-dump进行了测试。

time fastq-dump --split-3 -O test SRR5318040.sra
# 558.76s user 41.36s system 101% cpu 9:51.82 total
time fasterq-dump --split-3 ./SRR5318040 -e 20 -o SRR5318040
# 582.70s user 121.06s system 1130% cpu 1:02.25 total

从用户模式(user mode)来看, 两者的总CPU使用时间都差不多是560秒,从内核模式来看(Kernel Mode)来看,fasterq-dump花了更多时间在调用底层硬件上,例如分配内存地址。fastq-dump基本上稳定在一个线程,而fasterq-dump尽管指定了20个线程,但平均只用了11.5个线程吧。

对于我们而言,我们只要看最后的total部分,也就是实际花了多少时间。fastq-dump花了快10分钟,而fasterq-dump只需要1分钟,快了9倍多。

最后还有一点不足之处:输出的fastq的ID目前暂时没有选项可以调整,需要自己写个脚本解决。

ID
目录
相关文章
|
安全 Java
Jprofile解析dump文件使用详解(一)
Jprofile解析dump文件使用详解(一)
713 0
Jprofile解析dump文件使用详解(一)
|
4月前
|
SQL 分布式计算 关系型数据库
dump
【7月更文挑战第20天】
105 2
|
6月前
|
存储 监控 C++
vs下dump文件的生成
vs下dump文件的生成
189 0
|
NoSQL Redis
DUMP
DUMP
69 0
VisualVM导入dump提示“不是有效的核心dump”
VisualVM导入dump提示“不是有效的核心dump”
680 0
VisualVM导入dump提示“不是有效的核心dump”
|
存储 API C++
dump系列(2)C++程序异常或内存错误,导致闪退的解决办法:分析dump文件
dump系列(2)C++程序异常或内存错误,导致闪退的解决办法:分析dump文件
1789 0
|
开发框架 监控 Java
Jprofile解析dump文件使用详解(二)
Jprofile解析dump文件使用详解(二)
614 0
Jprofile解析dump文件使用详解(二)
|
C++ Windows
dump解析入门-用VS解析dump文件进行排障
突然有一天部署在服务器的一个应用挂掉了,没办法只能进入服务器打开     【事件查看器】查看下,好不容易找到了打开后一脸懵逼       事件查看器查到的内容根本对我们排障没有任何作用。 在这个时候如果有对应的dump文件就能派上用场了, 只要有dump文件就能查到应用挂掉那刻的一手情报,可能有人认为分析dump文件是非常难的事情, 但是最近不断有新的dump分析工具出来,例如用vs2017就能够很简单的分析dump文件。
3812 0
|
移动开发
Fastq-dump:我的日常命令
原文地址:Fastq-dump: 一个神奇的软件 - by hoptop 感谢我洲更学长~记录一下看完学长的这篇文章之后对于我自己的fastq-dump使用建议: 默认命令: fastq-dump /path/to/###.
1318 0