过年期间,我的三代Nanopore测序数据回来了。本来期待的是几十G的数据吧,结果人家寄来的硬盘上来就是两三T,人直接傻了。经过整理,发现测序公司送来的数据分有两种类型,一种就是我们熟悉的FASTQ格式的文件,只算这些文件的话,应该就是我预料之内的数据量;而数据量中相当大一部分是.fast5格式的文件,我也是第一次处理Nanopore下机数据,这里也是查阅了一些相关的材料,整理下写成一份学习笔记。
HDF5格式和FAST5格式
.fast5格式实际上是在HDF5格式上的一种变体,不少讲.fast5文件的文档中都会提到HDF5。HDF是Hierarchical Data Format的首字母缩写,从名字上就可以看出来这种文件格式储存信息的方式是层级嵌套的(hierarchical, nested)。它采用chunking(分解)的方式来存储多维数据,它内部表现出来的是类似于文件夹(树)的结构。由于这种文件层级分解的特性,想要获取某一部分信息,只需要获得该部分信息所在的chunk即可,这样就让这种文件格式非常的flexible,也非常适合用于多种编程语言来处理。
.fast5格式是Oxford推出Nanopore测序之后在HDF5格式的基础上设计用于存储Nanopore测序信息的文件。我随便打开一个我的测序结果里的.fast5结果,如果用cat
命令打开看的话,发现并没有什么卵用,查了一下,可以通过hdf5-tools
来查看。接下来我随便一个fast5看一下。
h5ls
使用h5ls
命令查看: