【2.1】nanopore测序结果文件介绍-fast5(ont_fast5_api)

一、获取nanopore测序数据

自己样品的DNA如何进行nanopore的测序呢?可以自己买机器,购买启动装1.7万左右,然后自己进行操作。或者也可以选择国内比较有经验的测序厂商,比如未来组,百迈克,华大,诺禾,贝瑞,贝纳基因等,很多公司都可以做,直接寄送DNA就可以。别问我价格,也别再后台留言说你买不起启动装,也没钱外包。如果是这样,那我劝你还是别做了,做科学研究也是需要投入才有产出,不是越穷越光荣。你放弃了这样不仅节约你的时间,更节约我的时间,从此世界清净了。

二、nanopore测序文件介绍

nanopore测序时需要使用一款名为MinKNOW的软件。MinKNOW是nanopore测序所有平台的驱动操作软件。主要功能包括控制仪器,测序与实时碱基识别,检测运行状态,数据采集。在运行之前,可以选择测序输出文件是fast5格式还是fastq格式,两种文件可是虽然只有一个字母的差别,但是却相差甚远。fastq目前已经是测序行业一种非常标准的文件格式。它是一种带有碱基和质量值的序列文件。目前作为illumina,Ion Torrent,BGIseq,Pacbio,nanopore等平台通用的测序文件表示形式,这样后续很多软件可以通用。

而fast5格式则存储了nanopore测序过程中全部的输出信息。里面记录着设备运行时全部的信息,包括捕获的电信号值,设备运行时间,电压,温度等等信息。根据个人情况,选择适合的文件格式。

三、fast5格式介绍

fast5格式是nanopore测序输出的结果文件格式,扩展名为.fast5。fast5是hdf5文件格式的一种变种,而HDF(Hierarchical Data Format),是一种设计用于存储和组织大量数据的文件格式是,一般扩展名为.hdf5或.h5,表示现在使用的版本是第五个版本。这是一种分级的数据文件,可以存储不同类型的图像和数码数据的文件格式,并且可以在不同类型的机器上传输,同时还有统一处理这种文件格式的函数库。fast5里面可以包含很多的内容,并且可以继续添加。简单理解,这种文件类似于一个经过压缩的文件夹,里面包含很多文件,如下图所示:

nanopore测序过程中,一个纳米孔测序完一条序列,则可以输出一个fast5文件,一个MinION的flowcell就生成10-20Gb的数据量,有几百万的条reads,这百万千万级别的文件处理就是一个大麻烦,需要反复打开关闭IO,完成一次文件拷贝和统计要花很长时间。19年以前的fast5文件是一条序列一个fast5文件,现在新的MinKNOW做了升级,可以设定生成multi_fast5文件,一个fast5包含的reads数目可以自己设定,一般4,000。

三、如何查看fast5格式文件

可以使用HDFView 查看Fast5文件格式。

https://www.hdfgroup.org/downloads/hdfview/

四、fast5格式文件的优缺点

由于fast5格式可以存储所有的信息,因此,优点就是内容非常全。但是缺点也非常明显,就是占用空间特别大。例如23M左右的碱基序列,存储为fastq格式大概45M,压缩之后大约是23M,而原始的fast5文件则需要占用613M的存储,大约30倍。如果是测序一个MiniION 30G的碱基,则大概需要将近1T的存储,这个时候甚至可以听见硬盘厂商笑出声了。 一般测序公司只提供fastq格式文件,这个做后续所有的分析其实已经足够了。如果是想要后面重新做碱基校正,可以保留,或者做碱基修饰检验,表观遗传学方面的分析,是需要这个fast5文件的。但是存储和传输这些数据比较麻烦,软件处理起来也特别耗时,所以,fastq文件目前已经够了。如果你说我就是需要原始的fast5文件,还不想占用太多存储,对不起,目前做不到。别指望“既想马儿跑,又想马儿不吃草。

五、拆分与合并fast5格式

nanopore原始出来的fast5分成很多份,不方便传输,可以合并为一个fast5文件,而在做甲基化检测的时候,有些软件每次只能处理单条的fast5格式,则需要将多条文件拆分,这就需要对两者进行转换,可以使用ont_fast5_api软件对fast5文件进行拆分与合并,软件使用起来也比较容易,下面具体演示一下。

#ont_fast5_api 网址
#https://github.com/nanoporetech/ont_fast5_api
#安装
#直接使用pip安装
pip install ont-fast5-api
#自行编译安装
git clone https://github.com/nanoporetech/ont_fast5_api
cd ont_fast5_api
python3 setup.py install
使用案例

#多条合并为一个文件
single_to_multi_fast5 -i fast5_files/ -s multi -n 4000 --recursive

#一个文件拆分为多条
multi_to_single_fast5 -i multi/ -s single --recursive -t 6

参考资料

药企,独角兽,苏州。团队长期招人,感兴趣的都可以发邮件聊聊:tiehan@sina.cn
个人公众号,比较懒,很少更新,可以在上面提问题,如果回复不及时,可发邮件给我: tiehan@sina.cn