1. samtools和picard的排序问题
samtoolspicard都有对SAM/BAM文件进行排序的功能,一般都是基于坐标排序(还提供了-n选项来设定用reads名进行排序),先是对chromosome或contig进行排序,再在chromosome/contig内部基于start site从小到大排序,对start site排序很好理解,可是对chromosome/contig排序的时候是基于什么标准呢?
基于你提供的ref.fa文件中的chromosome/contig的顺序。当你使用比对工具将fastq文件中的reads比对上参考基因组后会生成SAM文件,SAM文件包含头信息,其中有以@SQ开头的头信息记录,reference中有多少条chromosome/contig就会有多少条这样的记录,而且它们的顺序与ref.fa是一致的。


当使用samtools或picard对SAM/BAM文件进行排序时,这些工具就会读取头信息,按照头信息指定的顺序来排chromosome/contig。所以进行排序时需要提供包含头信息的SAM/BAM文件。

@HD:表示参考基因组的排列情况
@SQ:参考序列说明;LN:长度,这里的长度与ucsc.hg19.fasta.fai中的长度是一样的。
@PG:使用的比对程序说明,可以看到使用的参考基因组:hg19还是hg38
@RG:比对上的序列(read)说明

第二部分:联配必要信息,每一行有12行,通过Tab键分割。

第一列:rname(Qname)即为fq对应的read ID。这一列代表read的名字(比对片段的编号)
第二列:FLAG 比对信息位。

想要读懂他的一个关键点是将flag值转换为一串由0,1组成的二进制码,这一串二进制数中的每一个

位(bit)都代表一个特定的信息,他一共有12位,所以一般会用一个16位的整数来代表,这个整数的

值就是由12个0或1组合计算得出的。因此他的数值范围在0~2^12(2048)

举一个例子,FLAG=77=000001001101(左边补5个0)=1+4+8+64
FLAG包含信息:PE reads、read比对不上参考序列,它的配对read也比对不上,它是read1

第三、四列:position 分别是RNAME(参考序列染色体名)和POS(比对位置,从对应染色体的第1位开始往后计算)

第五列:MAPQ(mapping quality) 比对质量值

这个值告诉我们这个read比对到参考序列上这个位置的可靠程度。相当于Q

第六列:CIGAR 比对信息(雪茄字符串)

它用数字和几个字符的组合形式记录了read比对到参考序列上的细节信息,读起来比FLAG直观友好很多,只是

记录的信息不同。例子:33S117M,意思是在比对的时候这条read开头的33bp被跳过了(s),紧接其后的117bp

则比对上参考序列(M)。这里的S意思都是soft clip。

CIGAR的标记字符有:MIDNSHP=XB

第七、八、九列:Mate information

RNEXT:配对read所比对到的染色体(pe才有)
=号代表比对到了相同的染色体上。

PNEXT:配对read所比对到的位置(pe才有)

TLEN:插入片段的长度:如果所有段都映射到相同的参考序列,则TLEN的绝对值等于模板的映射末端与模板的映射起始点之间的距离,包括端值(即end-start + 1)。当多段模板的第一个或最后一个段未映射时,或者当两个映射到不同的参考序列时,它将设置为0。

第十、十一列:
SEQ:read序列
QUAL:read质量值

这两列相当于fastq的二四行

第十二列:metadata 元信息

SAM/BAM相关的进阶知识相关推荐

  1. Edit Distance编辑距离(NM tag)- sam/bam格式解读进阶

    sam格式很精炼,几乎包含了比对的所有信息,我们平常用到的信息很少,但特殊情况下,我们会用到一些较为生僻的信息,关于这些信息sam官方文档的介绍比较精简,直接看估计很难看懂. 今天要介绍的是如何通过b ...

  2. linux bam文件格式,pysam - 多种格式基因组数据(sam/bam/vcf/bcf/cram/…)读写与处理模块(python)...

    在开发基因组相关流程或工具时,经常需要读取.处理和创建bam.vcf.bcf文件.目前已经有一些主流的处理此类格式文件的工具,如samtools.picard.vcftools.bcftools,但此 ...

  3. sam格式的结构和意义_BAM/SAM文件格式的一些小知识

    BAM/SAM文件的一些小知识 前言 如果不是在陈老师这读博,然后开始折腾BAM/SAM文件,我估计这辈子都不会了解到这么多东西吧 SAM/BAM简介 Sequence Alignment Map ( ...

  4. pysam - 多种格式基因组数据(sam/bam/vcf/bcf/cram/…)读写与处理模块(python)--转载...

    pysam 模块介绍!!!! http://pysam.readthedocs.io/en/latest/index.html 在开发基因组相关流程或工具时,经常需要读取.处理和创建bam.vcf.b ...

  5. Android进阶知识:绘制流程(上)

    1.前言 之前写过一篇Android进阶知识:事件分发与滑动冲突,主要研究的是关于Android中View事件分发与响应的流程.关于View除了事件传递流程还有一个很重要的就是View的绘制流程.一个 ...

  6. 认识Panda3D引擎bam相关命令

    看一下Panda自带命令,其中有bam相关的,来了解一下: 输入一个命令看一下,提示需要输入一个bam文件名: 查一下,查到一个介绍一种bam文件的资料如下, SAM (Sequence Alignm ...

  7. MariaDB/Mysql数据库进阶知识

    这一篇章主要说一下关于MariaDB/Mysql的一些进阶知识,希望可以加深自己的理解 MariaDB的特性 插件式存储引擎:也称为"表类型",存储管理器有多种实现版本,功能和特性 ...

  8. JavaScript 进阶知识 - Ajax篇

    Ajax 前言 前面我们已经学习了js基础知识和一些简单的特效,基本上已经能够写出一个带有特效的静态页面了,为什么还要称之为静态页面呢?因为网页里的数据都是写死的,真正的工作中,我们是要通过Ajax技 ...

  9. NGS数据分析实践:03. 涉及的常用数据格式[2] - sam/bam格式

    NGS数据分析实践:03. 涉及的常用数据格式[2] - sam/bam格式 2. sam和bam格式 系列文章: 二代测序方法:DNA测序之靶向重测序 NGS数据分析实践:00. 变异识别的基本流程 ...

最新文章

  1. ORA-01031:insufficient privileges问题解决
  2. openstack创建实例报错Exceeded maximum number of retries
  3. AI:人工智能概念之机器学习中常用算法的思维导图集合(非常经典、建议收藏)之详细攻略
  4. system 函数被废除的替代方法
  5. CRM_PRICING_MERGE_FROM_BUPA_OW
  6. 深度学习之卷积神经网络(10)CIFAR10与VGG13实战
  7. 最全的正则表达式大全
  8. html拖放数据库字段,HTML5 拖放(Drag 和 Drop)
  9. mit数据集_DriveSeg:动态驾驶场景分割数据集
  10. 浪潮业务稳定连续性获Global Data唯一“Leader”评级 蝉联数据中心整体能力“Very Strong”评级
  11. python读取raw图片文件_python读取raw binary图片并提取统计信息的实例
  12. 计算机网络之物理层:6、传输介质
  13. JavaScript逻辑运算符“”和“||”短路原则的应用
  14. Data Lake Analytics,大数据的ETL神器!
  15. 在自动驾驶技术上,一向自信满满的马斯克也承认了特斯拉的不足
  16. 企业微信应用权限签名api记录
  17. 哈理工OJ 1924 分数表达式(暴力枚举)
  18. php操作剪贴板内容代码,查看剪贴板内容的方法
  19. 科目一知识点分类记忆
  20. 获取Throwable里头的错误信息

热门文章

  1. [k8s]如何处理dockerfile无expose情况下在k8s里暴漏访问
  2. 如何在 Mac 中隐藏文件或文件夹?
  3. php正则表达式后向引用和贪婪模式
  4. 将数字字符转换成整型数字
  5. PHPWAMP站点管理的“域名模式”和“端口模式”详解、均支持自定义
  6. 百度收购快钱?消息人士说不大可能
  7. Scratch编程初体验-小猫跳舞
  8. java小时钟实验报告_JAVA实验报告(运用JavaFx实现时钟动画).doc
  9. 数据库之order by
  10. 为什么打开edge浏览器,就出来qq导航,hao123页面等等!