【转录组测序分析专题3】
SAM格式介绍
【转录组测序分析专题】将要讲解流程的内容如下:
往期精彩回顾
此次介绍SAM文件,如有错误,还请各位大侠批评指正!
这两种文件格式本来应该放在进入分析内容里面讲得,想想还是放在前面与数据格式一起讲了算了。
在介绍之前,同样先抛出几个问题:
1,得到原始数据rawdata作了质控之后得到cleandata,然后与参考基因组比对,比对的结果会是什么形式的?
2,比对结果一般占很大空间,有没有一种格式可以将其转换为占空间较小的文件?
SAM格式介绍
SAM(The Sequence Alignment/Map format)格式,即序列比对文件格式,详细介绍见:http://samtools.github.io/hts-specs/SAMv1.pdf
SAM文件由两部分组成
头部区 | 主体区 |
1.以tab分列; 2.以’@’开始,体现了比对的一些总体信息。比如比对的SAM格式版本,比对的参考序列,比对使用的软件等。 | 1.以tab分列; 2.比对结果,每一个比对结果是一行,有11个主列和一个可选列。 |
1,头部区简要介绍
数据示例:
@HD | VN:1.0 SO:unsorted (排序类型) | VN是格式版本;SO表示比对排序的类型,有unknown(default),unsorted,queryname和coordinate几种。 我这个示例数据中没有这一行 |
@SQ | SN:contig1 LN:9401 (序列ID及长度) | 每个参考序列为一行; 图片中展示的是人类参考基因组22对常染色体和一对性染色体以及每条染色体的长度 |
@RG | ID:sample01 (样品基本信息) | SM:样品名 LB:文库名 PL:测序平台 图片中样本为R01_N,测序平台为ILLUMINA |
@PG | ID:bwa PN:bwa VN:0.7.10-r789 (比对所使用的软件及版本) | 图片中使用的比对软件为bwa,CL是运行程序代码 |
2,主体部分介绍
主体部分有11个主列和1个可选列
数据示例:
每一列数据类型:
对于每一列内容的详细注解
第一列:QNAME
比对的序列名称 例如:E00528:55:HFHHKALXX:1:1101:12205:7480(一条测序reads的名称)(有没有发现这个地方用的名字就是fq文件中以@开头的那一行中的一部分?)
第二列:FLAG
具体的flag值的解释,可以参考samtools软件提供的结果,samtools(Version: 1.3.1) 其中的samtools flags用法可提供flag值的查找结果
例如我要看FLAG 99是什么意思
0x63 只能由0x1,0x2,0x20和0x40组成,也就是这个read是双端测序;这个序列和参考序列完全匹配,没有插入缺失;这个序列对应的另一端序列比对到参考序列的负链上;代表这个序列是R1端序列, read1
第三列:RNAME
参考序列的编号,如果注释中对SQ-SN进行了定义,这里必须和其保持一致,另外对于没有mapping上的序列,这里是’*‘
第四列:POS
比对上的位置,从1开始计数,没有比对上为0
第五列:MAPQ
表示为mapping的质量值
第六列:CIGAR
CIGAR string,简要比对信息表达式(Compact Idiosyncratic Gapped Alignment Report),其以参考序列为基础,使用数字加字母表示比对结果,比如3S6M1P1I4M,前三个碱基被剪切去除了,然后6个比对上了,然后打开了一个缺口,有一个碱基插入,最后是4个比对上了,是按照顺序的,字母的含义如下:
第七列:RNEXT
下一个片段比对上的参考序列的编号,没有另外的片段,这里是‘*’,同一个片段,用‘=’
第八列:PNEXT
下一个片段比对上的位置,如果不可用,此处为0
第九列:TLEN
Template的长度,最左边得为正,最右边的为负,中间的不用定义正负,不分区段(single-segment)的比对上,或者不可用时,此处为0
第十列:SEQ
序列片段的序列信息,如果不存储此类信息,此处为’*‘,注意CIGAR中M/I/S/=/X对应数字的和要等于序列长度
第十一列:QUAL
序列的碱基质量值,与之前介绍fq是的碱基质量值是一个意思
可选列
可选字段(optional fields),格式:TAG:TYPE:VALUE,其中TAG由两个大写字母组成,每个TAG代表一类信息,每一行一个TAG只能出现一次,TYPE表示TAG对应值的类型,可以是字符串、整数、字节、数组等。
敲黑板,重点实际举例!!!
我现在有一对双端序列Read r001/1和r001/2; r003是一个嵌合片段; r004 表示有gap的比对read。
然后用sam格式表示如下:
选一个第7行进行解释:
r001 147 ref 37 30 9M = 7 -39 CAGCGGCAT * NM:i:1
r001 比对的序列名称,
147 FLAG值,利用samtools查看147的含义,0x93 147 PAIRED,PROPER_PAIR,REVERSE,READ2,表示双端序列,完 全匹配,反义链,双端序列中的read2
ref,参考序列的编号
37 比对上的位置,根据图片中的coor可以看出为37
30,表示为mapping的质量值,Q30为99.9%
CIGAR值,9M,表示9个碱基完全匹配
= ,RNEXT,=表示同一个片段
7,下一个片段比对上的位置,第一行+r001/1比对到的位置
-39,Template的长度,最左边为正,最右边的为负,这个片段在右边,为负。
CAGCGGCAT,序列片段的序列信息
‘*’,序列的碱基质量值,*为ascii码
‘NM:i:1’,可选信息,不过还没明白是啥意思......
参考:
https://davetang.org/wiki/tiki-index.php?page=SAM
http://boyun.sh.cn/bio/wp-content/uploads/2012/07/SAM1.pdf
欢迎关注生信人