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

简介: 之前写过一篇文章Fastq-dump: 一个神奇的软件, 详细介绍了fastq-dump的用法。虽然fastq-dump参数很多,而且一直被吐槽参数说明写的太差,但是如果真的要用起来其实也就是一行代码fastq-dump --gzip --split-3 --defline-qual '+' --defline-seq '@acsi/$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后需要时间进行文件压缩
AI 代码解读

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

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

fasterq-dump --split-3 ./SRR5318040
AI 代码解读

此外还有建立了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
AI 代码解读

从用户模式(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
目录
打赏
0
0
0
0
41
分享
相关文章
(十一)MySQL日志篇之undo-log、redo-log、bin-log.....傻傻分不清!
任何项目都会有日志,MySQL也不例外,而且MySQL更是其中的佼佼者,日志种类繁多,而本篇的目的就是全解MySQL中的各类日志,如撤销日志、错误日志、慢查询日志、中继日志、回滚日志.....
663 2
dump
【7月更文挑战第20天】
198 2
vs下dump文件的生成
vs下dump文件的生成
268 0
VisualVM导入dump提示“不是有效的核心dump”
VisualVM导入dump提示“不是有效的核心dump”
722 0
VisualVM导入dump提示“不是有效的核心dump”
十七:主库的DUMP线程(笔记)
DUMP 线程启动函数调用流程 1、多次select 交互,从库需要保存主库的信息 2、注册从库信息 3、读取从库发送的各种信息 com_binlog_dump_gtid 读取从库的信息包括 - server id - 需要读取的binlog为名字 - 读取的位点 ...
1555 0
WinDbg抓取程序报错dump文件的方法
程序崩溃的两种主要现象: a. 程序在运行中的时候,突然弹出错误窗口,然后点错误窗口的确定时,程序直接关闭 例如: “应用程序错误” “C++错误之类的窗口” “程序无响应” “假死”等 此种崩溃特点:程序已异常,在你未点出错窗口的确定或其他按,所有错误信息都还保留在PC的内存中,可以直接抓取Dump文件。
2161 0
dump解析入门-用VS解析dump文件进行排障
突然有一天部署在服务器的一个应用挂掉了,没办法只能进入服务器打开     【事件查看器】查看下,好不容易找到了打开后一脸懵逼       事件查看器查到的内容根本对我们排障没有任何作用。 在这个时候如果有对应的dump文件就能派上用场了, 只要有dump文件就能查到应用挂掉那刻的一手情报,可能有人认为分析dump文件是非常难的事情, 但是最近不断有新的dump分析工具出来,例如用vs2017就能够很简单的分析dump文件。
3844 0
Fastq-dump:我的日常命令
原文地址:Fastq-dump: 一个神奇的软件 - by hoptop 感谢我洲更学长~记录一下看完学长的这篇文章之后对于我自己的fastq-dump使用建议: 默认命令: fastq-dump /path/to/###.
1372 0