63.《Bioinformatics Data Skills》之SAM文件格式(3)

上一节我们知道SAM文件有11列必要的信息,其中有3个信息分别为Bitwise Flag,CIGAR字符串与比对质量比较复杂,这里展开了解一下。

Bitwise Flag

Bitwise Flag 采用了一串二进制数字来编码大量比对相关的信息。其相当于一组开关,每个位置对应不同的信息(如下),以1代表开,0代表关。

$ samtools flags

About: Convert between textual and numeric flag representation
Usage: samtools flags INT|STR[,...]

Flags:
        0x1     PAIRED        .. paired-end (or multiple-segment) sequencing technology
        0x2     PROPER_PAIR   .. each segment properly aligned according to the aligner
        0x4     UNMAP         .. segment unmapped
        0x8     MUNMAP        .. next segment in the template unmapped
        0x10    REVERSE       .. SEQ is reverse complemented
        0x20    MREVERSE      .. SEQ of the next segment in the template is reversed
        0x40    READ1         .. the first segment in the template
        0x80    READ2         .. the last segment in the template
        0x100   SECONDARY     .. secondary alignment
        0x200   QCFAIL        .. not passing quality controls
        0x400   DUP           .. PCR or optical duplicate
        0x800   SUPPLEMENTARY .. supplementary alignment

例如某个 read 的 bitwise flag 为147,转为2进制为0x10010011,也就是说上表中第1, 2, 5, 8个条目对应值为真,那么代表此read是配对技术,成对地成功匹配,对应反向互补序列,以及此read是成对出现的的第二个。

每次手动计算比较麻烦,samtools flags命令可以帮助我们解码:

$ samtools flags 147
0x93    147     PAIRED,PROPER_PAIR,REVERSE,READ2

使用16进制也可以作为输入:

$ samtools flags 147
0x93    147     PAIRED,PROPER_PAIR,REVERSE,READ2

甚至可以输入信息编码回数字:

$ samtools flags paired,unmap,qcfail
0x205   517     PAIRED,UNMAP,QCFAIL

在写脚本的时候,可以根据这个值来判断一个read的具体情况。

CIGAR 字符串

类似于 bitwise flag,CIGAR字符串以数字+字母的形式对比对结果的特殊信息进行编码,这些信息包括碱基的匹配,插入/缺失,soft clipping与hard clipping(详见下表)。解释下,soft clipping的意思是read与参考序列不是完全匹配,其中头部或者尾部没有比对上;hard clipping与soft clipping意思类似,不过后者相应的read是在SAM SEQ列里出现的,而hard clipping没有。

表1
表1

值得注意的是,例如51M中的M只是代表这段read至少存在一个匹配的碱基,而不是说这51个碱基与参考基因组完全一致。

了解上述信息后,当我们看到这样的CIGAR字符串:43S6M1I26M,应该明白它的意思这个read有最前面43个碱基是soft clipping,接着6个碱基是匹配/错配,接着1个碱基是插入序列,最后26个碱基匹配/错配。

比对质量

SAM文件有一个非常关键的信息:比对质量,下游分析通常会依赖可靠比对的read来保证分析的正确。比对质量的计算方式与碱基质量的计算方式一致:

其中P代表出错概率,Q代表比对质量。如果一个read比对质量为20,意味着它比对出错的概率就是1%。

比对质量还与read匹配的唯一性有关系,假如一个read可以匹配两个基因组位置,唯一性程度指的是第二个位置的错配程度。不过唯一性也会受到碱基质量影响,所以比对质量实际上是综合考虑碱基质量与匹配特异性的一个测度。我们可以使用samtools view来过滤低比对质量的read(后面会介绍),通常低比对质量的read会集中在重复或多倍体区域。

你可能感兴趣的:(63.《Bioinformatics Data Skills》之SAM文件格式(3))