多线程将SRA文件转化为fastq.gz文件

        利用NCBI数据进行分析的时候,遇到的第二个问题就是如何将SRA文件转化为常用的fastq文件。

        NCBI官方提供的SRAtoolkit里面有fastq-dump,很简单的一个命令,直接转换出来就是压缩好的fastq.gz文件,但是这个命令是单线程的,遇上大量的SRA数据就非常慢了,所以后来开发了一个fasterq-dump,能够多线程的转换。

        但是这个命令最大的问题是不能直接出压缩好的fastq.gz文件,对于非服务器用户很不友好,没压缩的fq文件通常十几个G,文件一多硬盘就爆炸,所以还是希望能够以压缩好的gz文件存储,通常只有原始文件的1/8左右,只有原始SRA文件的2倍左右。如果利用gzip命令,这玩意也是个单线程的,压缩起来要了亲命。所以通过寻找我发现pigz这个命令可以多线程的压缩,压缩大小和gzip是差不多的,最后我写了个简单的shell脚本,可以一次性完成这两步工作。



#!/bin/bash

# 本脚本可多线程的将SRA文件转化为Fastq文件#

# 本脚本依赖于SRA-toolkit以及pigz两个软件,需要在PATH中存在#

# 使用方法:SRA2fq.sh 线程数 文件地址#

# 例如: SRA2fq.sh 48 /media/sata2/Bju_RNASeq/SRR8293215.sra #

mkdir fastq_files

cd ./fastq_files

fasterq-dump -3 -e $1 $2

pigz -p $1 ./*.fastq



        把两个分割线中间的命令用记事本保存为sh文件,放在服务器上就能够执行了。多线程的转换,多线程的压缩,节约不少时间,对台式机用户比较友好。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容