pacbio 采用hdf5文件格式保存原始的下机数据,对于RS 测序系统而言,会产生一个 bas.h5 的文件;

以bas.h5 文件为例,看一下有下机数据中保存了那些信息

h5dump 工具可以用来查看h5 文件的内容:

我从HGAP的wiki 页面下载了一个测试用的h5文件,文件名为 m120729_040044_42134_c100384402550000001523033010171256_s1_p0.bas.h5

运行下面命令:

h5dump -n  m120729_040044_42134_c100384402550000001523033010171256_s1_p0.bas.h5

可以看到这个文件中所有的group和dataset, 由于结果太多,只展示最上层的两个group;

group      /
group /PulseData
group /ScanData

通过这个命令的运行结果,可以发现,这个h5文件中有两个大的group : PulseData 和 ScanData

其中ScanData 存储的是和仪器相关的一些设备信息,就不详细看了,重点看下PulseData group 下的信息;

group      /PulseData
group /PulseData/BaseCalls
group /PulseData/ConsensusBaseCalls

在 PluseData group 下面又有两个subgroup, BaseCalls 和 ConsensusBaseCalls ;

其中BaseCalls 存放的是原始的碱基calling的结果,而ConsensusBaseCalls 存放的是环形一致性序列(ccs)的碱基calling的结果,

在这两个group下有一个相同名称的数据集 Basecall, 存放的就是碱基序列的信息

dataset    /PulseData/BaseCalls/Basecall
dataset /PulseData/ConsensusBaseCalls/Basecall

使用如下命令,查看该数据集的内容:

h5dump -d /PulseData/ConsensusBaseCalls/Basecall  m120729_040044_42134_c100384402550000001523033010171256_s1_p0.bas.h5 > Basecall.info

由于文件内容太多,重定向到一个文件中;-d 参数指定你想要查看的数据集的名称

通过BaseCall.info 文件中的内容可以看到,如下的信息

DATA {
(0): 67, 71, 67, 67, 65, 71, 67, 71, 65, 65, 84, 71, 71, 67, 84, 71, 67,
(17): 71, 71, 71, 71, 65, 65, 71, 67, 65, 71, 65, 65, 65, 84, 84, 65, 84,
(34): 67, 67, 71, 84, 65, 65, 65, 67, 84, 71, 84, 84, 71, 67, 84, 71, 67,
(51): 67, 71, 65, 65, 65, 84, 71, 67, 67, 65, 71, 67, 71, 65, 84, 71, 67,
(68): 65, 71, 84, 71, 84, 67, 84, 71, 67, 65, 65, 67, 84, 71, 71, 67, 65,

这里的DATA 就是测序得到的碱基序列,只不过采用了ASCII 编码,A=> 65, C=> 67, G=>71, T=>84;

只有碱基序列还不够,我们还需要碱基质量的信息,对应的dataset的名称为 QualityValue

dataset    /PulseData/BaseCalls/QualityValue
dataset /PulseData/ConsensusBaseCalls/QualityValue

同样的方式查看碱基质量的数据:

h5dump -d /PulseData/ConsensusBaseCalls/QualityValue  m120729_040044_42134_c100384402550000001523033010171256_s1_p0.bas.h5 > Basecall.quality

通过BaseCall.quality 文件中的内容可以看到,如下的信息

DATA {
(0): 51, 44, 42, 44, 24, 24, 51, 51, 51, 51, 50, 20, 20, 20, 50, 51, 51,
(17): 48, 48, 48, 47, 9, 9, 9, 51, 51, 46, 31, 31, 31, 31, 44, 51, 51, 30,
(35): 30, 51, 51, 7, 7, 7, 7, 51, 51, 44, 44, 44, 51, 51, 50, 27, 27, 26,
(53): 27, 27, 27, 27, 51, 36, 36, 30, 30, 51, 51, 49, 49, 51, 51, 51, 51,
(70): 51, 51, 51, 51, 51, 51, 49, 44, 31, 51, 51, 20, 20, 34, 48, 48, 31,
(87): 30, 34, 36, 23, 23, 51, 26, 26, 49, 50, 45, 45, 50, 44, 41, 43, 50,
(104): 50, 51, 37, 37, 50, 51, 25, 25, 44, 51, 51, 51, 37, 37, 37, 37, 51,

这里的DATA就是碱基质量值,pacbio的碱基质量值和illumina的碱基质量值一样的。

参考链接:http://files.pacb.com/software/instrument/2.0.0/bas.h5%20Reference%20Guide.pdf

pacbio 原始下机数据h5 文件简介的更多相关文章

  1. h5文件简介

    h5文件是层次格式的第5代版本,用于存储科学数据的一种文件格式和库文件,由美国超级计算中心与应用中心研发的文件格式,用以存储和组织大规模数据. H5将文件结构简化成两个主要的对象类型: 1 数据集da ...

  2. PacBio下机数据解读

    今天被人问起如何看懂三代的下机数据,虽然解决了别人的问题,但感觉自己还是没有搞透. 基本的目录结构: |-- HG002new_O1l_BP_P6_021315b_MB_100pM | |-- D01 ...

  3. PacBio下机数据如何看?

    一开始拿到三代测序的下机数据时,蒙了,readme ?三代测序的下机数据都有哪些,以及他们具体的格式是怎么样的(以sequel 平台为主). 测序过程 SMRTbell A adapter通用接头,两 ...

  4. 3、PACBIO下机数据如何看

    转载:http://www.cnblogs.com/jinhh/p/8328818.html 三代测序的下机数据都有哪些,以及他们具体的格式是怎么样的(以sequel 平台为主). 测序过程 SMRT ...

  5. sa命令从/var/account/pacct原始记账数据文件读取信息并汇总

    sa命令从/var/account/pacct原始记账数据文件读取信息并汇总

  6. Django框架-目录文件简介

    Rhel6.5 Django1.10 Python3.5 Django框架-目录文件简介 1.介绍Django Django:一个可以使Web开发工作愉快并且高效的Web开发框架. 使用Django, ...

  7. 如何用Matlab将cell数据写入文件

    我们知道,一般的文件读写函数是不接受直接将cell内容(非数值)直接写入文件的, 例如:dlmwrite('o.txt', C, 'delimiter', '\t');%C 为cell类型数据,会报错 ...

  8. [安卓]AndroidManifest.xml文件简介及结构

    1.AndroidManifest.xml文件简介: 每个应用程序在它的根目录中都必须要有一个AndroidManifest.xml(名字须精确一致)文件.这个清单把应用程序的基本信息提交给Andro ...

  9. (转)IOS之Info.plist文件简介

    原文:IOS之Info.plist文件简介 http://www.apkbus.com/android-130240-1-1.html (出处: Android开发论坛 - 安卓开发论坛 - Andr ...

随机推荐

  1. Python学习笔记11:标准库之文件管理(os包,shutil包)

    1 os包 os包包含各种各样的函数,以实现操作系统的很多功能.这个包很庞杂.os包的一些命令就是用于文件管理. 我们这里列出最经常使用的: mkdir(path) 创建新文件夹.path为一个字符串 ...

  2. 【Android】11.4 Fragment及其生命周期

    分类:C#.Android.VS2015: 创建日期:2016-02-22 一.简介 Android从3.0开始引入了fragment的概念,主要是为了支持在大屏幕上实现更为动态和灵活的UI设计,比如 ...

  3. 如何使用Redis做MySQL的缓存

    应用Redis实现数据的读写,同时利用队列处理器定时将数据写入mysql. 同时要注意避免冲突,在redis启动时去mysql读取所有表键值存入redis中,往redis写数据时,对redis主键自增 ...

  4. The Ultimate List of Open Source Static Code Analysis Security Tools

    https://www.checkmarx.com/2014/11/13/the-ultimate-list-of-open-source-static-code-analysis-security- ...

  5. error C1083: 无法打开包括文件:“pthread.h”

    在AssetsManager项目上右键属性->配置->配置属性->C/C++->常规->附加包含目录->点中,倒三角,编辑,在最后引导路径到pthread.h文件夹 ...

  6. JS模块的写法

    该文章转自阮一峰个人网站,仅做学习之用: 一.原始写法 模块就是实现特定功能的一组方法. 只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块. function m1(){ //.. ...

  7. Zuul:构建高可用网关之多维度限流

    对请求的目标URL进行限流(例如:某个URL每分钟只允许调用多少次) 对客户端的访问IP进行限流(例如:某个IP每分钟只允许请求多少次) 对某些特定用户或者用户组进行限流(例如:非VIP用户限制每分钟 ...

  8. Activiti初学者教程 (zhuan)

    http://blog.csdn.NET/bluejoe2000/article/details/39521405 ****************************************** ...

  9. java命令执行jar文件

    如果java -jar target/hbase-demo-1.0-SNAPSHOT.jar HBaseDemo 提示如下 no main manifest attribute, in target/ ...

  10. Android开发日记(四)

    在服务器端数据库新建一个表ad 在DataInfo.edxm模型中点击从数据库更新模型,发布. 就新建了一个实体ad 然后新建cs文件 using System; using System.Colle ...