在生物资讯领域中,我们最常干的事情里头绝对少不了序列比对 (sequence alignment)这个工作,而我们用来评估比对后结果的好坏,最常使用的标準之一又是所谓的序列一致性 (sequence identity)。不过往往听到有人提到sequence identity的时候,其实他更有可能想表达的是两个比对序列之间的分歧性 (divergence)或是query sequence的定序错误率 (sequencing error rate)。为了搞清楚所谓的sequence identity到底指的是哪件事,这篇文特别来就不同的定义来说明其差异及可能造成的影响,以便之后当我们再听到有人说sequence identity时,可以问清楚他指的是哪一种情况。
举个例子
现在我手边有两条序列,一是reference sequence,一是query sequence:
ReferenceCCAGTGTGGCCGATACCCCAGGTTGGCACGCATCGTTGCCTTGGTAAGC
CCAGTGTGGCCGATGCCCGTGCTACGCATCGTTGCCTTGGTAAGC
将这两个序列进行比对之后,我们可以得到这样的结果:
Ref+: 1 CCAGTGTGGCCGATaCCCcagGTtgGC-ACGCATCGTTGCCTTGGTAAGC 49 |||||||||||||| ||| || || ||||||||||||||||||||||Qry+: 1 CCAGTGTGGCCGATgCCC---GT--GCtACGCATCGTTGCCTTGGTAAGC 45
图中的 -
表示该序列跟与之比对的序列相比,缺少一个字元,也称为 gap ; **|
**则表示两个序列之间可以比对上的部份;两条序列对应都小写字元的部份,则表示这个地方两条序列都有字元,但比对不上。
Gap-excluded identity
顾名思义就是排除所有的gap后,只考虑比对的上以及比对不上区域的序列一致性。在上面的例子里,比对上的字元总计有43个,比对不上的字元总计1个,因此这边的序列一致性就会等于43 / (43+1) = 97.7 %。这个计算方式也是过去我们常常说人类与黑猩猩基因序列的一致性高达百分之90几时所用的方法。
BLAST identity
这种一致性的计算就很简单了,简单说就是只计算在所有Reference sequence的字元中,query sequence能比对上的字元数。因此在上面的例子中,序列一致性就会等于43 / 50 = 86 %。这个定义也是我们最常用的序列一致性的定义,不过使用时要非常小心,尤其是当你要比对的序列有所谓的transposon时,这可能会让你丢掉很多有生物意义的序列。
Gap-compressed identity
这个序列一致性的定义就比较特别了,它会将出现连续gap部位的所有字元压缩,仅用第一个字元来表示,也就是像这样:
Ref+: CCCcagGTtgGC-ACGC Ref+: CCCcGTtGC-ACGC ||| || || |||| ==> ||| || || ||||Qry+: CCC---GT--GCtACGC Qry+: CCC-GT-GCtACGC
所以回到上面那个例子,这时序列一致性就会变成43 / (50 - 2 - 1) = 91.5 %,原本的长gap分别减少2跟1个字元的长度。
改变惩罚分数也会带来影响
在前面的说明中,我们已经可以看到不同的序列一致性的定义会得到不一样的结果,这边更需要注意的是当我们改变惩罚分数的值的时候,就算用的是同一种定义,也会得到不同的结果。比如说,前面我们计算BLAST identity时,只计算了比对上序列比例,但如果加上了gap-open的惩罚分数就会让原本的一致性降低,而且原本的惩罚分数是扣两分,如果改成扣四分,就会让序列一致性再次降低。
总结
当我们说到序列一致性时,请记得将所用的定义补上。