序列比對

序列比對指將兩個或多個序列排列在一起，標明其相似之處。序列中可以插入間隔（通常用短橫線“-”表示）。對應的相同或相似的符號（在核酸中是A, T(或U), C, G，在蛋白質中是氨基酸殘基的單字母表示）排列在同一列上。

  tcctctgcctctgccatcat---caaccccaaagt
  |||| ||| ||||| |||||   ||||||||||||
  tcctgtgcatctgcaatcatgggcaaccccaaagt

这一方法常用于研究由共同祖先进化而来的序列，特别是如蛋白质序列或DNA序列等生物序列。在比对中，错配与突变相应，而空位与插入或缺失对应。序列比对还可用于语言进化或文本间相似性之类的研究。

术语“序列比对”也指构建上述比对或在潜在的不相关序列的数据库中寻找significant alignments。
 比对方法 
对于很短或非常相似的序列，我们可以人工进行比对。然而，在很多问题中，我们需要对非常长的序列进行比对，这是单靠人类的努力所不能解决的。在这种情况下，我们通过构造算法来进行高效的序列比对，有时还需要对最终结果进行调整，因为有些结果难以通过算法表达出来（特别是核苷酸序列）。序列比对的计算方法一般分为两类：全局性比对（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在线序列比对程序 

Category:生物信息學
Category:计算系统发生学
Category:序列排比算法