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. Spring Cloud构建微服务架构(三)断路器

    在分布式架构中,断路器模式的作用也是类似的,当某个服务单元发生故障(类似用电器发生短路)之后,通过断路器的故障监控(类似熔断保险丝),向调用方返回一个错误响应,而不是长时间的等待.这样就不会使得线程因 ...

  2. Java:集合,对列表(List)中的数据(整型、字符串、日期等)进行排序(正序、倒序)的方法;字符串按照整型排序的方法

    1. 要求 对List列表中的数据进行排序(正序.倒序),列表中的数据包括:整型(Integer).字符串(String).日期(Date)等.对于字符串,要求允许对它按照整型进行排序. 2. 实现思 ...

  3. 非常全的linux面试笔试题及答案

    一.填空题:1. 在Linux系统中,以 文件 方式访问设备 .2. Linux内核引导时,从文件/etc/fstab 中读取要加载的文件系统.3. Linux文件系统中每个文件用 i节点来标识.4. ...

  4. 如何创建自己的ruby gem包

    编写一个最简单的例子 1. 建好如下文件夹 注意:lib目录下必须有个和你gem名字一样的rb文件. $ cd hola $ tree . ├── hola.gemspec └── lib └── h ...

  5. css 图标 旋转中

    .person-loading .loading-icon{position: absolute;top: 14px;} i.loading-icon{width: 15px;height: 15px ...

  6. [原]零基础学习SDL开发之在Android使用SDL2.0显示BMP图

    关于如何移植SDL2.0到安卓上面来参考我的上一篇文章:[原]零基础学习SDL开发之移植SDL2.0到Android 在一篇文章我们主要使用SDL2.0来加载一张BMP图来渲染显示. 博主的开发环境: ...

  7. 使用virtualenv在ubuntu上搭建python 3开发环境

    ubuntu 13.04默认的python版本是2.7的,想在其上做python3的开发会遇到问题.比如要使用pip安装软件包时,默认安装的就是python2的包.如果想安装python3的包,就需要 ...

  8. java web 应用中包,接口的设计

    采用标准的架构:描述从低层到高层首先是系统分析,找出你需要什么功能,然后按照下面的步骤执行: 数据库层:数据库层就是SQL语句.数据库.表.视图.触发器等等的创建和管理.这一层和JAVA无关,但是却是 ...

  9. html5和css3打造一款创意404页面

    之前和网友分享一款HTML5可爱的404页面动画 很逗的机器人.今天要爱编程小编要再给大家带来一款html5和css3打造的创意404页面.一起看下效果图吧: 在线预览   源码下载 实现的代码. h ...

  10. yum命令与使用

    check          Check for problems in the rpmdbcheck-update   Check for available package updatesclea ...