FASTQ 文件压缩格式 .gz
.bz2
.xz
.rfq
.rfq.xz
FASTQ 文件是用于存储测序数据的一种格式,它包含了大量的文本信息,因此通常占用大量的存储空间。为了有效地处理和传输这些数据,通常需要对 FASTQ 文件进行压缩来节省存储空间及传输带宽。以下是一些常用的 FASTQ 文件压缩格式及方法。
扫码关注微信公众号【生信F3】获取文章完整信息,分享生物信息学最新知识。
压缩格式介绍
压缩格式 | 说明 |
---|---|
*.gz | gzip 程序压缩的文件 |
*.bz2 | bzip2 程序压缩的文件 |
*.xz | xz 程序压缩的文件 |
*.rfq | repaq 程序压缩的文件 |
压缩指令通常仅能针对一个文件来压缩与解压缩,打包软件 tar
可以将很多文件或目录打包成为一个文件,后来的 GNU 计划将整个 tar
与压缩的功能结合在了一起,为使用者提供了更方便且更强大的压缩与打包功能!
打包压缩格式 | 说明 |
---|---|
*.tar | tar 程序打包的文件,并未压缩 |
*.tar.gz | tar 程序打包的文件,并且经过 gzip 的压缩 |
*.tar.xz | tar 程序打包的文件,并且经过 xz 的压缩 |
*.tar.bz2 | tar 程序打包的文件,并且经过 bzip2 的压缩 |
压缩指令
压缩格式 | 压缩指令 |
---|---|
*.gz | gzip test.fq (不保留源文件 test.fq,并生成 test.fq.gz) |
*.gz | gzip -c test.fq > test.fq.gz (保留源文件) |
*.bz2 | bzip2 test.fq (不保留源文件 test.fq,并生成 test.fq.bz2) |
*.bz2 | bzip2 -c test.fq > test.fq.bz2 (保留源文件) |
*.xz | xz test.fq (不保留源文件 test.fq,并生成 test.fq.xz) |
*.xz | xz -c test.fq > test.fq.xz (保留源文件) |
*.rfq | repaq -c -i test.fq -o test.fq.rfq (保留源文件) |
*.rfq.xz | repaq -c -i test.fq -o test.fq.rfq.xz (保留源文件) |
参数说明:
-c
:将压缩的数据输出到屏幕上(gz/bz2/xz),可透过数据流重导向 >
来处理。
不同格式压缩比与所需运行时间:
以大约 5.66 GB 大小的 test.fq 文件为例(仅供参考,不同运行平台的结果可能略有差异)。
压缩格式 | 压缩比(所占源文件的比例) | 运行时间 |
---|---|---|
*.gz | 18.0%(节省 82.0% 存储空间) | 8m10s |
*.bz2 | 13.7%(节省 86.3% 存储空间) | 7m15s |
*.xz | 11.4%(节省 88.6% 存储空间) | 48m25s |
*.rfq | 21.3%(节省 78.7% 存储空间) | 58s |
*.rfq.xz | 8.20%(节省 91.8% 存储空间) | 8m25s |
以此来看,
bz2 略优于 gz,与 gz 相比,不仅所需运行时间较少,还取得了更好的压缩效果。
xz 的压缩效果最佳,但所需时间成本最高,大约为 gz 压缩的 6 倍。考虑到其与 gz 和 bz 压缩比的差距仅有约 6.6% 和 2.3%,其性价比并不理想。
rfq 的运行时间最少,约为 gz 压缩的十分之一,但压缩效果相对最差。
rfq.gz 的综合效益最高,在所需运行时间相对较少的条件下,取得了最好的压缩效果。与 gz 压缩相比,其耗费的运行时间大致相同,但却节省了超过一半的存储空间。
打包压缩指令
tar
可以将多个目录或文件打包成一个大文件,同时还可以透过 gzip/bzip2/xz 的支持,将该文件同时进行压缩。
tar [-z|-j|-J] [cv] [-f] 待建立的新文档名 要被压缩的文件或目录名称
例如:tar -zcvf test.fq.tar.gz test.fq
参数说明:
-z
:透过 gzip 的支持进行压缩/解压缩,此时压缩文档名应为 *.tar.gz;
-j
:透过 bzip2 的支持进行压缩/解压缩,此时压缩文档名应为 *.tar.bz2;
-J
:透过 xz 的支持进行压缩/解压缩,此时压缩文档名应为 *.tar.xz;
-c
:create,建立打包文件,搭配 -v
来查看过程中被打包的文件或目录名称;
-v
:在压缩/解压缩的过程中,将要被打包的文件或目录名显示出来;
-f
:后面要立刻接等待建立的新压缩文档名,再后面为要被压缩的一个或多个文件或目录名称。
值得注意的是,根据 tar 打包出的文件是否压缩有不同的称呼,如果仅是打包 tar -cvf test.fq.tar
,这个文件就被称为 tarfile。如果在打包后进行了压缩,类似 test.fq.tar.gz 的文件就会被称为 tarball,可以想象为将一整包物品狠狠的压缩成一团以减少体积 ^_^!
解压指令
压缩格式 | 解压指令 |
---|---|
*.gz | gzip -d test.fq.gz (不保留压缩文件,生成 test.fq) |
*.gz | gzip -dc test.fq.gz > test.fq (保留压缩文件) |
*.bz2 | bzip2 -d test.fq.gz (不保留压缩文件,生成 test.fq) |
*.bz2 | bzip2 -dc test.fq.gz > test.fq (保留压缩文件) |
*.xz | xz -d test.fq.gz (不保留压缩文件,生成 test.fq) |
*.xz | xz -dc test.fq.gz > test.fq (保留压缩文件) |
*.rfq | repaq -d -i in.rfq -o out.fq (保留压缩文件) |
*.rfq.xz | repaq -d -i in.rfq.xz -o out.fq (保留压缩文件) |
打包解压指令
tar [-z|-j|-J] [xv] [-f] 既有的tar文档名 [-C 欲放置解压缩文档的目录]
例如:tar -zxvf test.fq.tar.gz
将解压 test.fq.tar.gz 文件到当前目录,如果想要解压缩到家目录,加上 -C /home
即可。
压缩软件安装
bzip2 是一个非常有名的压缩工具,存在于大多数主流 Linux 发行版中,可以在不同发行版上用合适的命令安装。
sudo apt install bzip2 # [On Debian/Ubuntu]
sudo yum install bzip2 # [On CentOS/RHEL]
sudo dnf install bzip2 # [On Fedora 22+]
xz 的安装参考官网:https://tukaani.org/xz/
repaq 的安装和使用参考:https://github.com/OpenGene/repaq,值得注意的是生成 .repaq.xz 格式需要先安装 xz 软件作为依赖哦!
扫码关注微信公众号【生信F3】获取文章完整信息,分享生物信息学最新知识。
本文由 mdnice 多平台发布