ClustalW是现在用的最广和最经典的多序列比对软件, Muscle是速度最快的多序列比对之一,T-coffee是越来越受到欢迎的软件.它们各自有什么优点和缺点呢?

ClustalW不仅可以用来做多序列比对,也能做Profile-profile比对,以及基于Neighbor-joining方法构建进化树.但是最常用的是多序列比对.从速度上来说,它有两种运行模式:accurate,slow 和fast,appropriate.即使是fast模式它的速度也不如Muscle,但是slow模式也比T-coffee要快.

ClustalW的基本原理是首先做序列的两两比对,根据该两两比对计算两两距离矩阵,然后用NJ或者UPGMA方法构建Binary进化树作为guide tree,最后用progressive的方法根据guide tree逐步添加序列进行比对,一直到所有序列都比对好.

Muscle的功能仅限于多序列比对,它的最大优势是速度,比clustalw的速度快几个数量级,而且序列数越多速度的差别越大.它的时间复杂度为O(NL^2+N^3L),空间复杂度为O(N^2+NL+L^2).它之所以比clustalw快一方面是因为没有进行两两序列比对,用序列间共有的word数表征序列间的相似性;另一方面用UPGMA代替NJ构建guide tree. 如果没有对于结果的refinement过程,时间更短,时间复杂度为O(NL^2),也就是说时间和序列数成线性关系.一个形象的例子是,5000条长度为350的数据进行比对只需要7分钟,而用Clustalw则可能需要1年. 尽管如此,muscle对于内存的要求较高,从它的空间复杂度可以看出来.

T-coffee之所以广受欢迎可能是因为它的准确度和强大的功能.它能够整合很多信息,如结构信息,实验数据等用于序列比对.它的基本原理是首先构建一个库包含有clustalw得到的序列两两比对和fasta得到的局部两两比对,并且给每个比对一个权重.然后把全局比对和局部比对的结果进行整合,每个两两比对中每个位点的比对都是综合了库中该两两比对的序列和其他序列比对的结果,这样就给该位点比对一个权重用以表明该位点的该比对在整个库中的合理性程度.最后是progressive比对过程..该方法的最大优势在于能够整合各种信息,所以它的可拓展性较强,从2000年出现以来到现在T-coffee得到了极大的发展,功能非常丰富. 但是它的缺点是速度非常慢,其时间复杂度为O(N^2L^2)+O(N^3L)+O(N^3)+O(NL^2),因此数据集较小(n<100)的时候用它比较合适.

以上是三个软件的比较简单的比较,如果想知道的更具体需要看原始文献.需要注意的是,虽然从总体上来说,不同的软件的效果不一样,但是如果我们只是针对具体的问题想做一个比对,那么最好是综合几种方法得到的结果更可靠. 此外,当序列的相似性较高的时候(>80%),以上的任何一个软件的准确度都能够达到90%以上.

相关的论文:

ClustalW和ClustalX

ClustalW and ClustalX version 2 (2007) Larkin MA, Blackshields G, Brown NP, Chenna R, McGettigan PA, McWilliam H, Valentin F, Wallace IM, Wilm A, Lopez R, Thompson JD, Gibson TJ and Higgins DG .Bioinformatics 2007 23(21): 2947-2948. doi:10.1093/bioinformatics/btm404

A new bioinformatics analysis tools framework at EMBL-EBI (2010).Goujon M, McWilliam H, Li W, Valentin F, Squizzato S, Paern J, Lopez R.Nucleic acids research 2010 Jul, 38 Suppl: W695-9.doi:10.1093/nar/gkq313

Muscle

T-coffee

T-Coffee: A novel method for multiple sequence alignments.Notredame,Higgins,Heringa,JMB,302(205-217)2000 [pdf][medline]

clustalw序列比对_几个多序列比对软件:Muscle,ClustalW和T-coffee的简单比较相关推荐

  1. 多位点序列分型_细菌多位点序列分型(Multilocus sequence typing,MLST)的原理及分型方法...

    摘 要: 多位点序列分型(MLST)是一种基于核酸序列测定的细菌分型方法,通过PCR扩增多个管家基因内部片段,测定其序列,分析菌株的变异,从而进行分型.MLST被广泛应用于病原菌.环境菌和真核生物中. ...

  2. QIIME2进阶一_用QIIME2解析序列,诠释生命

    本文旨在介绍生物信息学软件QIIME2及其核心组成. 2010年,美国科罗拉多大学的Rob Knight教授(现单位美国加州大学圣地亚哥分校)团队发布QIIME(发音同chime)分析流程.该流程可在 ...

  3. python的序列包括什么_一文读懂什么是序列 (sequence)

    sequence 序列 sequence(序列)是一组有顺序的元素的集合 (严格的说,是对象的集合,但鉴于我们还没有引入"对象"概念,暂时说元素) 序列可以包含一个或多个元素,也可 ...

  4. java 序列化成xml文件_将Java对象序列化成JSON和XML格式

    1.先定义一个Java对象Person: public class Person { String name; int age; int number; public String getName() ...

  5. 第五门课 序列模型(Sequence Models) 第一周 循环序列模型(Recurrent Neural Networks)

    第五门课 序列模型(Sequence Models) 第一周 循环序列模型(Recurrent Neural Networks) 文章目录 第五门课 序列模型(Sequence Models) 第一周 ...

  6. 吴恩达deeplearning.ai系列课程笔记+编程作业(15)序列模型(Sequence Models)-第三周 序列模型和注意力机制

    第五门课 序列模型(Sequence Models) 第三周 序列模型和注意力机制(Sequence models & Attention mechanism) 文章目录 第五门课 序列模型( ...

  7. 吴恩达deeplearning.ai系列课程笔记+编程作业(13)序列模型(Sequence Models)-第一周 循环序列模型(Recurrent Neural Networks)

    第五门课 序列模型(Sequence Models) 第一周 循环序列模型(Recurrent Neural Networks) 文章目录 第五门课 序列模型(Sequence Models) 第一周 ...

  8. python生成递增序列_Python的6种内建序列之通用操作

    数据结构式通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构.在Python中,最基本的数据结构是序列(sequence).序列中的每 ...

  9. oracle 伪列访问序列,Oracle数据库对象,同义词、序列、视图、索引

    数据库对象简介 Oracle 数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库对象是表 其他数据库对象包括: 同义词是现有对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 提 ...

最新文章

  1. C++中的explicitkeyword
  2. android自定义tab下划线变大,Android开发之设置TabLayout下方下划线的宽度
  3. “智源论坛Live”报名 | 清华大学游凯超:领域适配前沿研究--场景、方法与模型选择...
  4. “TypeError: 'dict_keys' object is not subscriptable”
  5. php接口 含义,php晋级必备:一文读懂php接口特点和使用!
  6. 壁式框架内力计算_剪力墙结构设计计算要点和实例
  7. FPGA _Verilog HDL_8位加法器设计实验
  8. 应届生月薪2W,财务人却不涨薪?那是你不会这种财务分析
  9. Vim Vundle YouCompleteMe
  10. PRML笔记:模式识别与机器学习
  11. 《高翔视觉slam十四讲》学习笔记 第五讲 相机与图像
  12. qt 隐藏控制台_QT去掉CONSOLE | 学步园
  13. Linux宝库名人轶事栏目 | 开源与茶
  14. Cheat Engine(CE)教程
  15. matlab计算股票的预期收益率,如何计算股票预期收益率
  16. 2022阿里巴巴云栖大会
  17. php 只打印某个区域,PHP打印代码页面固定区域
  18. P3939 数颜色 (权值线段树)
  19. PHP include 和 include_once 的区别
  20. 在微型计算机中任何外部设备,微型计算机与外部设备之间的信息传输方式有( )。...

热门文章

  1. C#执行存储过程的方法
  2. sklearn.model_selection.StratifiedKFold
  3. 基于51单片机红外非接触测温仪阈值报警设计
  4. 交际过程的两个基本环节_小学语文“三学小组”模式口语交际课型教学流程及基本要求...
  5. 解决问题:Pr文件导入器检测到的文件结构不一致已禁止读取和写入此文件的元数据无法将XMP数据写入输出文件
  6. Linux口令恢复任我行
  7. (2015 杭电校赛 )玩骰子
  8. 如何计算降雨后积水深度
  9. tensorflow编码错误:TypeError: unsupported operand type(s) for *: ‘float‘ and ‘NoneType‘
  10. Lumpy_Trie 详解 —— 由Ciyang大佬发明(不一定是首次)