SAM(Sequence Alignment/Map)是一种用于存储测序序列比对结果的文本格式,它是BAM(Binary Alignment/Map)格式的文本表示形式,BAM格式本质上是经过压缩的SAM格式,用于节省存储空间和提高数据传输效率。SAM格式文件通常包含头文件部分(header section)和比对部分(alignment section)。
## 头文件部分(Header Section)
以`@`开头的行表示头文件部分,主要包含了一些关于比对的参考序列(如基因组)和比对程序的信息。
- `@HD`行包含了关于SAM文件格式版本和排序顺序的信息。格式一般为`@HD VN:1.0 SO:coordinate`,其中`VN`表示版本号,`SO`表示排序顺序,`coordinate`表示按照参考基因组的坐标排序。
- `@SQ`行描述了参考序列的信息。例如`@SQ SN:chr1 LN:248956422`,其中`SN`表示参考序列的名称(如染色体编号`chr1`),`LN`表示参考序列的长度(这里是`248956422`碱基对)。
- `@RG`行用于描述读取组(read group)的信息,在处理多样本数据等复杂情况时很有用。例如`@RG ID:group1 PL:ILLUMINA LB:library1 SM:sample1`,其中`ID`是读取组的标识符,`PL`表示测序平台(这里是`ILLUMINA`),`LB`表示测序文库,`SM`表示样本名称。
## 比对部分(Alignment Section)
每一行代表一个测序读段(read)与参考序列的比对结果。各个字段之间以制表符(`\t`)分隔。
- 第一个字段是读段名称(QNAME),通常是测序仪器产生的唯一标识符。例如`SRR1234567.1`,它用于区分不同的读段。
- 第二个字段是标志(FLAG),这是一个整数,用于表示读段的多种属性。比如,它可以表示读段是否在反向链上、是否是配对末端测序(paired-end sequencing)的第一个或第二个读段等。一些常见的标志值如下:
- `0x1`:表示这个读段是配对末端测序的第一个读段。
- `0x2`:表示这个读段是配对末端测序的第二个读段。
- `0x4`:表示这个读段没有比对到参考序列上。
- `0x8`:表示这个读段的下一个读段(如果是配对末端测序)没有比对到参考序列上。
- `0x10`:表示这个读段是反向链比对。例如,如果想筛选出反向链上的读段,可以通过检查这个标志位与`0x10`(十进制为`16`)的按位与运算结果是否不为零来实现。
- 第三个字段是参考序列名称(RNAME),它指定了读段比对到的参考序列的名称,这个名称应该与头文件部分`@SQ`行中定义的参考序列名称相对应。
- 第四个字段是参考序列上的位置(POS),表示读段在参考序列上的起始位置,位置是从1开始计数的。
- 第五个字段是比对质量值(MAPQ),它是一个整数,用于衡量读段比对到参考序列的质量。质量值越高,表示比对的可靠性越高。例如,质量值为`60`表示比对的错误概率较低。
- 第六个字段是CIGAR(Compact Idiosyncratic Gapped Alignment Report)字符串,它用于描述读段与参考序列比对的具体情况,包括匹配(`M`)、插入(`I`)、缺失(`D`)、软剪辑(S,Soft - Clipping)、跳过(N,Skip)等操作。例如,`100M`表示读段有100个碱基与参考序列完全匹配。
- 第七个字段是配对读段的参考序列名称(RNEXT),如果是配对末端测序,这个字段表示另一个读段比对到的参考序列名称。如果没有配对读段或者配对读段没有比对到参考序列上,这个字段可以是`*`;`=`表示配对读段(如果是配对末端测序)比对到与当前读段相同的参考序列上。。
- 第八个字段是配对读段在参考序列上的位置(PNEXT),对于配对末端测序,这个字段表示另一个读段在参考序列上的位置。如果没有配对读段或者配对读段没有比对到参考序列上,这个字段可以是`*`。
- 第九个字段是读段长度(TLEN),对于配对末端测序,这个字段表示两个读段之间的插入片段长度。如果没有配对读段或者配对读段没有比对到参考序列上,这个字段可以是`0`。
- 后面的字段还可以包括测序读段的碱基序列(SEQ)和质量值序列(QUAL)等信息。例如,测序读段的碱基序列字段包含了读段本身的核苷酸序列,质量值序列字段包含了每个碱基的质量值,质量值越高,说明该碱基的测序准确性越高。
https://gitee.com/biox-lab/biclass.biox/blob/master/%E4%BF%AE%E4%B8%9A/Bioinformatics/Algorithm/Mapping/File-Format/SAM/SAM%E6%A0%BC%E5%BC%8F%E7%AE%80%E4%BB%8B.md
#HTS #SAM #mapping