在生物信息学研究中,序列比对是一个非常基础的问题,在很多研究中都会用到。主要几种算法包括全局比对算法(Needleman-Wunsch算法),局部比对算法(Smith-Waterman 算法),Blast等。开展一个课题时难免要构建克隆,寻找同源蛋白等,那当你在使用 NTI , MEGA 等进行比对时,你了解过序列比对的原理吗?
序列比对基本原理
-
输入数据
—— 序列 seq1,seq2,seq[n]
-
根据打分表打分
-
输出结果,选择最优比对
序列比对方法
枚举
进行序列比对最简单的办法就是自行对给定序列进行多种排列组合
比如有两条序列 seq1:LSPADK seq2:LTPEDK
这两条序列比对时会产生多种可能,如:
图1我们可以看到当序列比较短时我们确实能够一一列举得到最优的比对结果,但是当序列长度为300甚至更长时怎么办?
总结比对的规律,其实一对残基之间只有三种比对可能,比对上或比对到空位,如 T
,S
S S -
T - T
由此就产生了动态规划算法,其实就是先得到局部最优比对,最后得到全局最优比对,也就是 好的+好的=最好的
Needleman-Wunsch 算法 - 基于动态规划的序列全局比对
Needleman-Wunsch算法是序列全局比对的核心算法,会将给定的两条序列从头到尾进行比对
概念:打分表
对于不完全匹配的序列,会存在空位或者不匹配的位点,打分表是表示一种氨基酸(或核苷酸)变为另外一种氨基酸(核苷酸)的打分,对于空位则要罚分,最终综合所有位点的打分结果,获得两个序列的匹配分值,分值越高的表示两个序列相似度越高
对于蛋白质序列,常用的打分表有PAM250和BLOSUM62,其中PAM250是基于高同源序列构建,BLOSUM62基于远程同源序列构建,因此寻找远程同源序列一般用BLOSUM62
计算步骤
以核苷酸序列为例,核酸序列共四种碱基ATCG
-
定义打分表
A C G T A 2 -7 -5 -7 C -7 2 -7 -5 G -5 -7 2 -7 T -7 -5 -7 2 指A比对到A分数为2,A比对到C分数为-5,A比对到空位为 -5,如以下一种比对组合:
GAC-AT
C-ACAT
分数依次为:(-7)+(-5)+(-7)+(-5)+(2)+(2) = -20
当序列长度过长时计算量很大,为了不一个个进行计算,就有了随后的打分规则
-
打分规则
图2
-
打分结果
根据不同组合得到不同的打分结果,分数最高的则为最优比对结果
Smith-Waterman 算法 - 基于动态规划的序列局部比对
图3但是随着越来越多的蛋白序列被测定,研究人员发现功能相关的蛋白之间虽然整体序列上相差甚远,却常常具有相同的功能域,这些序列片段能够独立发挥特定的生物学功能,在不同蛋白之间相当保守(如图中的 SR 功能域),这仅靠全局比对是无法发现这些片段的。由此就出现了局部比对算法,相比于全局比对,局部比对算法是基于全局比对的打分规则表增加了一个下限 0
参考:http://www.chinesemooc.org/live/875136
微信公众号:生信自修室
网友评论