在利用动态规划(DP)进行全局比对(一)中浅显的探讨了动态规划的中心思想以及如何使用动态规划方法来解决问题。在本文将简要的介绍早期生物信息学中是如何利用动态规划方法来进行序列比对的。
在探讨动态规划实现的比对算法之前,我们还是需要先了解下序列比对的一些基本信息:
- 两个碱基的比对方式有三种:
A A -
G - G
即两个碱基比对上了(两个碱基不一定完全相同),两个碱基中的一个比对上了一个空位
- 为方便计算,这里的空位罚分一律记为-5分,extending_gap也同样的记为-5分。
- 这里的替换矩阵使用更加简单的核酸替换矩阵。
-
比对序列也使用两条简单序列AAG和AGC。
接下来我们将开始使用动态规划方法进行序列比对。
1、第一步,画格子
在使用动态规划方法时,第一步依旧是画格子。
需要声明的是第二行和第二列空着的位置表示gap。
2、填网格
第一个网格位置的值表示gap对上gap(无意义),得分为零。
从上面的公式可以看出,网格中每个位置的得分都等于等号右边3个式子中的最大值。(Xi aligned to Yi)表示此位置的两个碱基正好对上,其替换得分(s(xi, yi))由替换打分矩阵可查得。若为下面两个式子则表示碱基对上一个空位(gap),因此其值等于空位罚分+左侧(xi aligned to a gap)或上方值 (xi aligned to a gap)。
第一行或者第一列表示所有碱基都比对上了空位,得分总分为-5*3=-15。
最后得到的打分矩阵如下:
3、比对结果
由于在-3得分有两个来源,因此有两种比对结果,这两种比对结果的得分都为-6。
参考:北京大学公开课——生物信息学: 导论与方法