序列比對
序列比對指將兩個或多個序列排列在一起,標明其相似之處。序列中可以插入間隔(通常用短橫線“-”表示)。對應的相同或相似的符號(在核酸中是A, T(或U), C, G,在蛋白質中是氨基酸殘基的單字母表示)排列在同一列上。
tcctctgcctctgccatcat---caaccccaaagt
|||| ||| ||||| ||||| ||||||||||||
tcctgtgcatctgcaatcatgggcaaccccaaagt
这一方法常用于研究由共同祖先进化而来的序列,特别是如蛋白质序列或DNA序列等生物序列。在比对中,错配与突变相应,而空位与插入或缺失对应。序列比对还可用于语言进化或文本间相似性之类的研究。
术语“序列比对”也指构建上述比对或在潜在的不相关序列的数据库中寻找significant alignments。
目录
1 比对方法
2 双序列比对
2.1 全局比对
2.2 局部比对
2.3 序列比对的重要性
3 結構比對
4 多序列比對
5 算法
6 軟件
6.1 FASTA
7 外部連結
比对方法
很短或非常相似的序列,可以手工对齐。然而,最有趣的问题却需要冗长的,充满变数或极多,不能完全由人的努力来比对的序列。相反,人类的知识是适用于构造算法,来进行高品质的序列比对,并偶尔对最终结果进行调整,因为模型不能完美的算法化(特别是在核苷酸序列的情况下)。序列比对的计算方法一般分为两类:一类全局性比对(global alignments)和局部比对(local alignments)。计算一个全局性的路线,是一个全局优化的形式,其强制按照整个长度的所有查询序列对齐。与此相反,局部比对只确定局部的相似而整个长序列却往往大相径庭。局部比对往往是可取的,但可能更难以计算的,因为还有来自确定其他相似区域的挑战。各种计算算法已应用于序列比对的问题,包括缓慢,但正规的像动态规划的优化方法和高效率,但不彻底的启发式算法,或大型数据库搜索设计的概率方法。
双序列比对
双序列比对方法涉及寻找(局部)最优匹配片断或蛋白质(氨基酸)或DNA(核酸)全局比对。
全局比对
全局比对是指将参与比对的两条序列里面的所有字符进行比对。
全局比对主要被用来寻找关系密切的序列。由于这些序列也都很易通过本地比对方法找到,现在全局比对也有些被认为只是一种技巧。另外,全局比对在应用于分子进化时也有些问题(比如domain shuffling -见下),这也限制了这种方法的可用性。
局部比对
序列比对的重要性
結構比對
多序列比對
多序列比对是成对比对的延伸,是为了在一次比对里面处理多于两条的的序列。多序列比对方法试图比对一个指定序列集合里面的所有序列,这可以帮助确定这些序列的共同区段。进行多序列比对有几种方法,最常用的一种是Clustal程序集,它使用渐进多序列比对算法。Clustal在cladistics中被用来建立进化树,在PSI-BLAST和Hidden Markov model- (HMM-)中用来建立序列档案以在序列数据库中搜索更远的同源序列。
多序列比对编程实现困难。被归为NP难题的一种。
算法
軟件
这一方法利用一个预先计算的哈西表作为短序列的索引。给定一个被查询序列,将根据索引来查询子序列,从而减少查询次数和时间。提供一些参数将使该方法更快或更准确。检索到与检索序列匹配的模式后,需要进一步使用更加准确和深入的算法。
BLAST利用成对的本地检索和许多其他方法来提高Smith-Waterman算法的速度。
FASTA
外部連結
(英文)描述BLAST算法的文章
(英文)Blast服务器,位于NCBI
(英文)JAligner在线序列比对程序
|