序列比对建议用ClustalX
建NJ或MP树,用MEGA就可以了,非常方便
若要建ML树推荐用phyML
建Bayes树推荐用Parallel MrBayes @ BioHPC
如果不是专业建树的话,MEGA足够用了,建议参考下面这篇文章:
一、引言
开始动笔写这篇短文之前,我问自己,为什么要写这样的文章?写这样的文章有实际的意义吗?我希望能够解决什么样的问题?带着这样的疑惑,我随手在丁香园(DXY)上以关键字“进化 分析 求助”进行了搜索,居然有289篇相关的帖子(2006年9月12日)。而以关键字“进化分析”和“进化”为关键字搜索,分别找到2,733和7,724篇相关的帖子。考虑到有些帖子的内容与分子进化无关,这里我保守的估计,大约有 3,000~4,000篇帖子的内容,是关于分子进化的。粗略地归纳一下,我大致将提出的问题分为下述的几类:
1.涉及基本概念
例如,“分子进化与生物进化是不是一个概念”,“关于微卫星进化模型有没有什么新的进展”以及“关于Kruglyak的模型有没有改进的出现”,等等。
2.关于构建进化树的方法的选择
例如,“用boostrap NJ得到XX图,请问该怎样理解?能否应用于文章?用boostrap test中的ME法得到的是XXX树,请问与上个树比,哪个更好”,等等。
3.关于软件的选择
例如,“想做一个进化树,不知道什么软件能更好的使用且可以说明问题,并且有没有说明如何做”,“拿到了16sr RNA数据,打算做一个系统进化树分析,可是原来没有做过这方面的工作啊,都要什么软件”,“请问各位高手用ClustalX做出来的进化树与 phylip做的有什么区别”,“请问有做过进化树分析的朋友,能不能提供一下,做树的时候参数的设置,以及代表的意思。还有各个分支等数值的意思,说明的问题等”,等等。
4.蛋白家族的分类问题
例如,“搜集所有的关于一个特定domain的序列,共141条,做的进化树不知具体怎么分析”,等等。
5.新基因功能的推断
例如,“根据一个新基因A氨基酸序列构建的系统发生树,这个进化树能否说明这个新基因A和B同源,属于同一基因家族”,等等。
6.计算基因分化的年代
例如,“想在基因组水平比较两个或三个比较接近物种之间的进化年代的远近,具体推算出他们之间的分歧时间”,“如何估计病毒进化中变异所需时间”,等等。
7.进化树的编辑
例如生成的进化树图片,如何进行后续的编辑,比如希望在图片上标注某些特定的内容,等等。
由于相关的帖子太多,作者在这里对无法阅读全部的相关内容而致以歉意。同时,作者归纳的这七个问题也并不完全代表所有的提问。对于问题1所涉及到的基本的概念,作者推荐读者可参考由Masatoshi Nei与Sudhir Kumar所撰写的《分子进化与系统发育》(Molecular Evolution and Phylogenetics)一书,以及相关的分子进化方面的最新文献。对于问题7,作者之一lylover一般使用Powerpoint进行编辑,而 Photoshop、Illustrator及Windows自带的画图工具等都可以使用。
这里,作者在这里对问题2-6进行简要地解释和讨论,并希望能够初步地解答初学者的一些疑问。
二、方法的选择
首先是方法的选择。基于距离的方法有UPGMA、ME(Minimum Evolution,最小进化法)和NJ(Neighbor-Joining,邻接法)等。其他的几种方法包括MP(Maximum parsimony,最大简约法)、ML(Maximum likelihood,最大似然法)以及贝叶斯(Bayesian)推断等方法。其中UPGMA法已经较少使用。
一般来讲,如果模型合适,ML的效果较好。对近缘序列,有人喜欢MP,因为用的假设最少。MP一般不用在远缘序列上,这时一般用NJ或ML。对相似度很低的序列,NJ往往出现Long-branch attraction(LBA,长枝吸引现象),有时严重干扰进化树的构建。贝叶斯的方法则太慢。对于各种方法构建分子进化树的准确性,一篇综述(Hall BG. Mol Biol Evol 2005, 22(3):792-802)认为贝叶斯的方法最好,其次是ML,然后是MP。其实如果序列的相似性较高,各种方法都会得到不错的结果,模型间的差别也不大。
对于NJ和ML,是需要选择模型的。对于各种模型之间的理论上的区别,这里不作深入的探讨,可以参看Nei的书。对于蛋白质序列以及DNA序列,两者模型的选择是不同的。以作者的经验来说,对于蛋白质的序列,一般选择Poisson Correction(泊松修正)这一模型。而对于核酸序列,一般选择Kimura 2-parameter(Kimura-2参数)模型。如果对各种模型的理解并不深入,作者并不推荐初学者使用其他复杂的模型。
Bootstrap几乎是一个必须的选项。一般Bootstrap的值>70,则认为构建的进化树较为可靠。如果Bootstrap的值太低,则有可能进化树的拓扑结构有错误,进化树是不可靠的。
对于进化树的构建,如果对理论的了解并不深入,作者推荐使用缺省的参数。需要选择模型的时候(例如用NJ或者ML建树),对于蛋白序列使用Poisson Correction模型,对于核酸序列使用Kimura-2参数模型。另外需要做Bootstrap检验,当Bootstrap值过低时,所构建的进化树其拓扑结构可能存在问题。并且,一般推荐用两种不同的方法构建进化树,如果所得到的进化树类似,则结果较为可靠。
三、软件的选择
表1中列出了一些与构建分子进化树相关的软件。
构建NJ树,可以用PHYLIP(写得有点问题,例如比较慢,并且Bootstrap检验不方便)或者MEGA。MEGA是Nei开发的方法并设计的图形化的软件,使用非常方便。作者推荐MEGA软件为初学者的首选。虽然多雪列比对工具ClustalW/X自带了一个NJ的建树程序,但是该程序只有p- distance模型,而且构建的树不够准确,一般不用来构建进化树。
构建MP树,最好的工具是PAUP,但该程序属于商业软件,并不对学术免费。因此,作者并不建议使用PAUP。而MEGA和PHYLIP也可以用来构建进化树。这里,作者推荐使用MEGA来构建MP树。理由是,MEGA是图形化的软件,使用方便,而PHYLIP则是命令行格式的软件,使用较为繁琐。对于近缘序列的进化树构建,MP方法几乎是最好的。
构建ML树可以使用PHYML,速度最快。或者使用Tree-puzzle,速度也较快,并且该程序做蛋白质序列的进化树效果比较好。而PAML则并不适合构建进化树。ML的模型选择是看构出的树的likelihood值,从参数少,简单的模型试起,到likelihood值最大为止。ML也可以使用 PAUP或者PHYLIP来构建。这里作者推荐的工具是BioEdit。BioEdit集成了一些PHYLIP的程序,用来构建进化树。Tree- puzzle是另外一个不错的选择,不过该程序是命令行格式的,需要学习DOS命令。PHYML的不足之处是没有win32的版本,只有适用于64位的版本,因此不推荐使用。值得注意的是,构建ML树,不需要事先的多序列比对,而直接使用FASTA格式的序列即可。
贝叶斯的算法以MrBayes为代表,不过速度较慢。一般的进化树分析中较少应用。由于该方法需要很多背景的知识,这里不作介绍。