前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GATK推荐的序列存储格式-uBAM

GATK推荐的序列存储格式-uBAM

作者头像
生信修炼手册
发布2020-05-10 10:19:34
1.4K0
发布2020-05-10 10:19:34
举报
文章被收录于专栏:生信修炼手册

二代测序平台产生的数据通常用fastq格式进行存储,fastq 存储了我们最关心的序列和碱基质量的信息。就测序而言,这样的信息当然是足够了。但是对于分析而言,还缺少了一点信息。

给你一个fastq文件,你最多可以看出来样本名,测序平台,测序读长等基本信息,如果想知道测序类型(是WES, WGS 还是RNA-seq), 样本的采样信息,样本的分组信息,这些信息从fastq 文件是无法得到的。这些实验相关的数据,称之为metadata

uBAMFASTQ相比,处理存储了序列和碱基质量信息之外,还可以存储metadata信息。

GATK4中,数据预处理部分的示意图如下

可以看到,对于原始数据,有两种格式,一种就是我们常见的FASTQ; 另外一种就是uBAM。官方更加推荐使用uBAM格式。

如何从FASTQ转换得到uBAM格式呢?我们需要借助picatd工具。picard提供了一个FastqToSam功能,可以将序列转换成ubam格式。

基本用法如下:

java -jar picard.jar FastqToSam F1=sampleA_R1.fastq.gz F2=sampleA_R2.fastq.gz PL=illumina SM=sampleA LB=sampleA RG=sampleA O=sampleA.ubam

F1F2指定原始的fastq格式的数据,对于双端测序,同时指定F1和F2, 对于单端测序,指定F1就可以了。PL代表platform, 指定测序平台,取值包含 illumina 和 solid 两种;SM代表 sample name, 指定样本名称;LB代表library name, 指定文库名称,RG代表read group, 指定reads group的名字,这两个参数一般和样本名相同就可以了。

ubam从名称上也可以看出来,是属于bam格式的,所以其内容也分成了头部和正文两个部分。

1. 头部的内容

samtools view -H sampleA.ubam @HD VN:1.5 SO:queryname @RG ID:sampleA SM:sampleA LB:sampleA PL:illumina

第一行是标准的bam文件头部的声明,第二行的@RG就是转换过程中添加的几种metadata信息。

2. 正文的内容

samtools view sampleA.ubam

由于列数较多,这里我截取了前面几列

每一行代表一条序列,序列ID相同的实际上是R1和R2端,从第二列的flag可以区分R1和R2端。

samtools flags 77 0x4d 77 PAIRED,UNMAP,MUNMAP,READ1 samtools flags 141 0x8d 141 PAIRED,UNMAP,MUNMAP,READ2

77对应R1端, 141对应R2端。 第三列的*代表没有比对上染色体,这就是unmapped bam的由来。

通过FastqToSam可以从fastq文件得到ubam文件,picard 还提供了SamtoFastq命令,从bam 文件得到fastq 文件 用法如下:

java -jar picard.jar SamToFastq I=sampleA.ubam F=sampleA_R1.fastq F2=sampleA_R2.fastq

I代表input, 指定输入的bam 文件;F和F2 指定输出的fastq 文件。

总结

通过picard工具,可以轻松实现FASTQuBAM格式之间的转换。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信修炼手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 头部的内容
  • 2. 正文的内容
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档