进化树选择
系统进化树构建及数据分析的简介 Posted on 08 六月 2009 by 柳城 ,阅读 1,278 简洁版 繁體 一、引言 开始动笔写这篇短文之前, 我问自己, 为什么要写这样的文章?写这样的文章有实际的意义 吗?我希望能够解决什么样的问题?带着这样的疑惑,我随手在丁香园(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 来构建。这里作者