Smith-Waterman算法是一种经典的生物信息学算法,以下是关于它的详细介绍:
背景与起源
Smith-Waterman算法由坦普尔·史密斯(Temple F. Smith)和迈克尔·沃特曼(Michael S. Waterman)于1981年提出,是在序列比对领域继尼德曼-翁施(Needleman-Wunsch)算法之后的又一重要算法,用于解决局部序列比对问题。
算法原理与步骤
-
确定置换矩阵和空位罚分方法
- 置换矩阵:用于赋予每一碱基对或残基对匹配或错配的分数。例如对于核苷酸序列,若匹配为+1,错配为-1,可得到相应的简单置换矩阵。对于氨基酸序列比对,置换矩阵一般更复杂,如PAM、BLOSUM矩阵等,性质相似的残基对通常具有正分数,反之具有负分数。
- 空位罚分:决定了引入或延长空位的分值,常见的有空位权值恒定模型和空位延伸罚分模型。空位权值恒定模型中,空位的罚分正比于空位的长度;空位延伸罚分模型则考虑空位起始罚分和空位延长罚分,通常空位起始罚分高于空位延长罚分。
-
初始化得分矩阵:创建一个大小为的得分矩阵,、分别是两序列的长度。将其首行和首列所有元素均设为0,以便让一序列从另一序列的任意位置开始进行比对不受罚分。
-
打分:对得分矩阵的每一元素从左到右、从上到下进行打分。计算时考虑匹配或错配(对角线得分)、引入空位(水平或垂直得分)分别带来的结果,取最高值作为该元素的分值。若分值低于0,则该元素分值为0。打分的同时记录下每一个分数的来源,用于回溯。
-
回溯:从得分矩阵中分数最高的元素开始,根据得分的来源回溯至上一位置,如此反复直至遇到得分为0的元素,在此过程中产生具有局部最高相似性的片段。若要找第二高相似性的片段等,可以在首次回溯区域之外的最高分元素开始回溯。
与尼德曼-翁施算法的比较
-
目的不同:Smith-Waterman算法是局部比对算法,用于找出两序列中最相似的区域;尼德曼-翁施算法为全局比对算法,用于完整匹配两个序列。
-
初始化不同:Smith-Waterman算法的得分矩阵首行和首列全填充为0;尼德曼-翁施算法首行和首列需要考虑空位罚分。
-
打分不同:Smith-Waterman算法若得分为负,则分数为零;尼德曼-翁施算法得分可以为负。
-
回溯不同:Smith-Waterman算法从最高分开始,回溯直至得分为0;尼德曼-翁施算法从右下角开始,回溯至左上角。
应用场景
-
基因和蛋白质序列的局部比对:可发现序列中高度保守或功能重要的局部区域,有助于研究基因或蛋白质的功能、结构和进化关系。
-
同源基因的识别:通过局部比对,能识别不同生物体中具有相似功能的同源基因。
-
蛋白质结构预测:可发现已知结构的蛋白质与目标蛋白质之间的相似性,从而推测目标蛋白质可能的三维结构。
-
基因组学研究:用于识别基因组中的重复序列、转座子或其他基因组变异。
-
疾病相关基因的发现:比对疾病相关序列与正常序列,有助于发现与疾病相关的基因变异。
-
药物设计:帮助识别与药物靶标相互作用的关键氨基酸残基,指导药物分子的设计。
-
RNA二级结构预测:通过比对已知的RNA结构来预测新的RNA分子的二级结构。
优缺点
-
优点:专注于局部最优比对,能有效找到序列之间的最佳局部对齐;具有灵活性,允许自定义匹配、不匹配和间隙罚分;适用性广,适用于蛋白质和核苷酸序列的比对;存在多种优化版本及硬件加速实现,可提高效率。
-
缺点:时间复杂度和空间复杂度较高,处理较长序列和大规模数据时,需要较多的计算时间和内存资源;由于是寻找局部最优解,不能保证找到全局最优的比对结果;算法结果对匹配分数、不匹配分数和间隙罚分等参数敏感,需要仔细选择参数。