不同的软件,不同的时期,不同的研究方向,都会创建一种或者多种格式标准,当然根据当时的需要,创建符合需求的标准,也是最容易的事情,而反过来想要真正的理解标准,也必须理解为什么要创建这样的标准,解决什么样的需要。我前面的有篇文章已经对于现有的多重比对的格式进行总结,但其更多的站在比较基因组学的角度。当我们去了解sam标准格式是什么的时候,就要思考既然以及有了这么多得标准,为什么还要定义SAM标准,当然拿所有的格式进行比较也并非易事,但是简单的对比,就可以了解其中一二,比如aln格式,是比对视图化的展示,存储的信息不够结构化,无法方便的作为另外程序的输入;表示信息的有限性,如果100个多重比对序列放到一个文件中,查看维护就会非常困难;还有些格式标准挺强大,但是太繁琐,同时不够灵活。那么反过来就是SAM格式的优点,那么SAM如何做到这一点的呢?

SAM要处理好的问题:

非常多序列(read),mapping到多个参考基因组(reference)上;

同一条序列,分多段(segment)比对到参考基因组上;

无限量的,结构化信息表示,包括错配、删除、插入等比对信息;

SAM分为两部分,注释信息(header section)和比对结果部分(alignment

section),注释信息可有可无,都是以@开头,用不同的tag表示不同的信息,主要有@HD,说明符合标准的版本、对比序列的排列顺序;@SQ,参考序列说明;@RG,比对上的序列(read)说明;@PG,使用的程序说明;@CO,任意的说明信息。

比对结果部分(alignment

section),每一行表示一个片段(segment)的比对信息,包括11个必须的字段(mandatory

fields)和一个可选的字段,字段之间用tag分割。必须的字段有11个,顺序固定,不可用时,根据字段定义,可以为’0‘或者’*‘,这是11个字段包括:

QNAME,比对片段的(template)的编号;

FLAG,位标识,template

mapping情况的数字表示,每一个数字代表一种比对情况,这里的值是符合情况的数字相加总和;

RNAME,参考序列的编号,如果注释中对SQ-SN进行了定义,这里必须和其保持一致,另外对于没有mapping上的序列,这里是’*‘;

POS,比对上的位置,注意是从1开始计数,没有比对上,此处为0;

MAPQ,mappint的质量;

CIGAR,简要比对信息表达式(Compact Idiosyncratic Gapped Alignment

Report),其以参考序列为基础,使用数字加字母表示比对结果,比如3S6M1P1I4M,前三个碱基被剪切去除了,然后6个比对上了,然后打开了一个缺口,有一个碱基插入,最后是4个比对上了,是按照顺序的;

RNEXT,下一个片段比对上的参考序列的编号,没有另外的片段,这里是’*‘,同一个片段,用’=‘;

PNEXT,下一个片段比对上的位置,如果不可用,此处为0;

TLEN,Template的长度,最左边得为正,最右边的为负,中间的不用定义正负,不分区段(single-segment)的比对上,或者不可用时,此处为0;

SEQ,序列片段的序列信息,如果不存储此类信息,此处为’*‘,注意CIGAR中M/I/S/=/X对应数字的和要等于序列长度;

QUAL,序列的质量信息,格式同FASTQ一样。

可选字段(optional

fields),格式如:TAG:TYPE:VALUE,其中TAG有两个大写字母组成,每个TAG代表一类信息,每一行一个TAG只能出现一次,TYPE表示TAG对应值的类型,可以是字符串、整数、字节、数组等。

要注意的几个概念,以及与之对应的模型:

reference

read

segment

template(参考序列和比对上的序列共同组成的序列为template)

alignment

seq

sam格式的结构和意义_SAM格式说明相关推荐

  1. sam格式的结构和意义_SAM格式的学习

    Sam格式在NGS中是一个不可或缺的格式,所以我们必须对其有一定了解.网上有很多文章对其有讲解,我当初也是看了那些文章入门的,当然最后只懂了每列是干嘛用的,但是具体每个标识代表什么含义却一知半解.虽然 ...

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

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

  3. sam格式的结构和意义_各种格式的练字本,对写字真有帮助吗

    图片来源于笔势通 各种格式的练字本现在越来越多,目的主要是便于学生把握好笔画的位置和布局,从而把整个字的结构处理好,常见的有米字格,回宫格等.这些练字本对于初学者来说肯定是有帮助的,特别是低年级学生. ...

  4. c拆分字符串,并按照指定格式存入结构体数组

    c将字符串拆分,并按照指定格式存入结构体数组 函数功能 代码实现 结果显示 函数功能 字符串格式:username1,password1;username2,password2; 结构体格式: typ ...

  5. JAVA中几种循环结构的表示_本文通过实例讲解给大家介绍Java中for、while、do while三种循环语句的区别,具体详情如下所示:第一种:for循环 循环结构for语句的格式...

    本文通过实例讲解给大家介绍Java中for.while.do while三种循环语句的区别,具体详情如下所示: 第一种:for循环 循环结构for语句的格式: for(初始化表达式;条件表达式;循环后 ...

  6. 【Atlas500】入门到放弃(六)——【DVPP】浅析HFBC格式数据存在的意义

    转载自:https://bbs.huaweicloud.com/blogs/156199, 作者:山人 [摘要] HFBC格式是一种数据压缩格式,是VDEC解码后输出的每一帧数据的格式(Hisi Fr ...

  7. H.264 RTPpayload 格式------ H.264 视频 RTP 负载格式

    H.264 RTPpayload 格式------ H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) NALU 头由一个字节组成, 它的语法如下: +------------ ...

  8. mysql数据导入导出 CSV格式_MySQL中导入导出CSV格式数据

    原标题:MySQL中导入导出CSV格式数据 预备阅读:MySQL中的主键问题和赋权限问题 今天来讲一下在MySQL中导入和导出CSV格式数据的操作. CSV格式数据 逗号分隔值(Comma-Separ ...

  9. linux 文件 dos unix格式,如何查看文件是dos格式还是unix格式的?

    一.背景 由于windows和linux对换行的标识不一样,不同系统的代码传递导致代码格式的改变中可能会带来程序无法正常编译通过的问题.因此根据一些编译的错误提示,可以定位到是文件格式的问题,要对程序 ...

  10. 学报格式和论文格式一样吗_学报论文格式有哪些要求

    学报也是国内学术期刊的类型之一,基本上学术刊物除了期刊就是学报了,很多作者不是很清楚期刊和学报的区别,首先,期刊和学报都是被认可的出版物,不论是发表毕业论文还是职称论文都是可以的选择的发表载体,学报和 ...

最新文章

  1. AngularJS中的指令全面解析(必看)
  2. 微信支付报错:app没有获取微信支付权限
  3. Oracle-存储过程实现更改用户密码
  4. 北京内推 | 美团到店广告平台招聘广告算法专家(社招,L7-L8)
  5. 常见的网站布局方式---左固定右自适应、左右固定中自适应等
  6. django框架之中间件 Auth模块
  7. 初探nginx架构(100%)
  8. 又是骗补贴的?清华虚拟学生华智冰翻车:AI换脸铸就人工智能
  9. 机器学习代码实战——KMeans(聚类)
  10. holtek c语言,合泰单片机c语言教程
  11. 手机app测试用例考虑测试点
  12. 系统集成项目管理工程师成绩合格标准
  13. 深入理解jvm 读后感
  14. keil生成bin文件
  15. 知识传输革命即将到来
  16. 论文周报 | 推荐系统领域最新研究进展
  17. 线性规划——产销平衡
  18. 关于2013年1月21日的DNS故障分析文章
  19. 汉信码(Hanxin Code)与QR码(QR Code)的终极对决
  20. 卸载 kubernetes

热门文章

  1. gprs数据传输流程
  2. RPL源路由的IPv6路由头[RFC6554译文]
  3. 如何用计算机设计动画,用电脑制作3D动画的详细过程是怎样的?
  4. python应用程序无法正常启动0xc000007b_应用程序无法正常启动0xc000007b怎么解决
  5. 抢滩登陆瑞星杀毒2005(转)
  6. SNF快速开发平台--规则引擎介绍和使用文档
  7. python帝国cms_用python 发 帝国cms 文章
  8. 1500w播放下还藏着什么热点?B站2个未来趋势你不得错过
  9. 科学计算机设计总结,科学计算器课程设计报告
  10. Monkey简单介绍