当前位置:文档之家› 系统发育分析

系统发育分析

实习四: 系统发育分析-PHYLIP, MEGA, MrBayes实习目的1. 学会使用PHYLIP,MEGA和MrBayes构建进化树2. 学会分析建树结果,体会各种方法差异实习内容:一、PHYLIPPHYLIP网址: /PHYLIP.htmlPHYLIP是一个免费的系统发育树构建软件,它的功能比较全面,可用距离法、最大简约法和最大似然法分别进行建树,还可以对进化树可靠性进行检验。

PHYLIP没有多序列比对功能,所以先要用其它序列比对软件完成序列比对,并保存为phy格式后,才可提交给PHYLIP 进行分析。

1.1 比对序列的准备1.将教学材料里demo sequence.zip文件解压到D盘根目录下,分别用其中的mRNA和protein序列学习进化树构建。

首先我们用实习2学过的多序列比对软件对序列进行比对。

这里以CLUSTAX为例来说明。

强烈建议:将你的所有同源核酸(或蛋白质)序列存到一个文本文档里,将”>”之后那行只保留物种名称,或物种名称_蛋白(或基因)名称,方便后面分析比较。

2.用CLUSTALX进行多条序列比对,在Alignment - output format option选中PHYLIP 格式,对序列进行比对(Alignment - Do complete alignment)。

将生成的phy文件保存,此文件可以用写字板打开浏览,里面内容是多条序列比对结果。

(Figure 1.1)Figure 1.1 用clustalx进行多条序列比对及生成的phy文件3.双击解压PHYLIP-3.69.zip文件,得到三个文件夹,其中doc文件夹里是关于所有PHYLIP 子程序的使用说明,exe文件夹里是直接可以使用的可执行程序,src文件夹里是所有程序的源代码。

4.打开PHYLIP的exe文件夹,将上步保存的phy文件复制到exe文件夹中。

5.上课时我们是先将序列用某种方法建树后,然后做bootstrap检验,看树的可靠性。

但一般情况下用你的序列直接构建出来的树与伪样本建出来的一致树(consensus tree)是非常相似的,所以这里我们先做bootstrap,直接用伪样本建树。

6.双击SEQBOOT子程序(SEQBOOT是一个利用bootstrap方法产生伪样本的程序),所有PHYLIP子程序默认的输入文件名为infile, 输出文件名为outfile。

如果在exe 文件夹里找不到默认的输入文件,会提示can’t find input file “infile”。

输入刚刚生成的phy文件名,点击回车。

(Tip: 如果你的phy文件不在exe文件夹中,需要输入phy文件的完整路径;或者你也可以直接把phy文件拖到这个程序窗口里来。

)Figure 1.2 seqboot程序起始界面7.进入程序参数选择页面(Figure 1.3)。

第一列中的D、J、%、B、R、W、C、S等代表可选的参数。

想改变哪个参数,就键入此参数对应的字母,并点击回车键,对应参数将会发生改变。

当我们设置好所有参数后,(这里我们可以不做任何修改),键入Y表示接受所有参数,按回车。

此时程序询问“random number seed? <must be odd>”,这是询问随机抽列产生伪样本时,生成随机数的种子是多少,输入一个(4N+1)的数即可(如5,9,13等),点击回车程序开始运行,输出结果到文件outfile,保存在当前exe文件夹里。

.Figure 1.3 seqboot程序参数选择页面主要参数解释:D:数据类型,有Molecular sequence(分子序列)、discrete morphology(离散表型)、restriction sites(限制酶切位点)和gene frequencies (基因频率)4个选项。

J:伪样本产生方法,有Bootstrap, Jackknife(打乱一半位点), Permute(打乱每个位点的物种次序)和rewrite(将phy文件转变为其它格式)4个选项。

B:自举法窗口大小选择,默认为1,也可任意设定。

R:产生伪样本的数目,默认100个。

W:输入文件为字符还是权重,我们是比对结果,所以是字符。

S:输出文件为字符数据还是权重,与输入要保持一致。

I:phy文件格式是顺序的(sequential)还是分块的(interleaved)。

Tip: 如果用MUSCLE进行多序列比对,在命令中加入参数 –phyl,(example: muscle –in mrna.txt –out mrna.out –phyl) 即可生成phy格式的比对结果。

在用SEQBOOT读入序列时,将I参数改为No,即可读入结果,进行伪样本的构建。

后面用到其它程序分析的时候,都要将I参数改为No。

Figure 1.4 seqboot程序运行过程页面程序默认产生100个伪样本,点击回车关闭seqboot程序后,将outfile更名为seqb, 用写字板打开seqb,可以看到里面是100套多条序列比对结果。

(Figure 1.5) 注意:实习指导里每一步都将outfile和outtree的重命名,重命名的文件名是为了方便各位识别哪个文件由哪个程序产生,不是必须这样命名,你完全可以按照你的习惯进行重命名。

Figure 1.5 seqboot运行后输出文件内容1.2 最大简约法建树(Maximum Parsimony)PHYLIP中对核酸序列进行最大简约法建树的程序有两个,DNAPARS和DNAPENNY,其中DNAPARS在搜索最优树时采用的是启发式算法,而DNAPENNY是完全算法,所以前者不能保证得到最优树,而后者可以,但后者运行所需时间也相应要长。

我们这里介绍如何用DNAPARS建树。

1. 打开DNAPARS(PROTPARS如果序列是蛋白质),将刚才生成的seqb文件名输入。

(Figure 1.6)如果上一步输出的outfile文件你忘了更名,将会有警告,询问你如何处理已存在的outfile,是用新生成的文件替换掉R,还是在原文件后面续写A,或结果输出到另一个文件F或退出程序Q。

所以一定记得重命名每步新生成的outfile和outtree。

Figure 1.6 DNAPARS程序起始页面2.因为我们前面用seqboot生成了100个伪样本,所以要改M参数为分析多个数据 (multiple data sets,Figure 1.7),输入M回车,程序会提问是分析多个数据还是多个权重?输入D(数据),程序提问有多少个数据要分析?输入你在SEQBOOT里生成的replicate的数目100。

程序会再要求输入一个随机数种子(random number seed),作为打乱输入序列次序的随机数种子,同样给一个4N+1的数,然后输入打乱序列次序的次数,一般10次就可以了。

打乱输入序列的次序,是为了得到不受输入序列次序影响,更可靠的系统发育树,每打乱一次,建树就要多花1倍的时间。

Figure 1.7 DNAPARS程序参数选择页面主要参数解释:U:是否自动寻找自佳树,还是利用使用者所提供的树S:寻找最佳树的搜寻方式,more thorough(运行时间较长)或 less thorough(运行时间较短)V:保存多少个树 number of trees to save (当最优树不止一个的时候)J:是否更改输入序列的次序,由于输入序列的次序有时会影响分析结果,可以打乱输入序列次序以得到更可靠的结果。

如果选是,会要求输入一个4N+1的数做种子,然后询问打乱次数,一般打乱10次以上会提高结果的可靠性。

O:外群位置,默认不设外群,可以更改为任意一条序列。

T:每个位点进化步骤(替换次数)是否要设定阈值,如果设置了阈值,当实际进化步骤大于阈值时,忽略多出部分。

目的是平衡各位点对于建树结果的影响。

N:转换和颠换是否全部计算在内。

W:位点之间是否权重不同M:是否分析多个数据。

由于我们第一步seqboot产生了100个伪样本,每一步都要更改这个参数。

参数0-4都是关于显示方面的选择。

5:是否推断节点(node)上的祖先序列。

6:是否将建好的树写入树文件。

点击回车键,程序运行。

将生成两个文件outfile和outtree,将outfile更名为mpfile,将outtree更名为mptree。

用写字板打开mpfile(Figure 1.8),用TREEVIEW打开mptree(Figure 1.9)后,可以看到这两个文件都含有100个进化树。

Figure1.9显示共有101棵树,这是因为有时会生成不止1个最大简约树。

Figure 1.8 outfile(更名为mpfile)用写字板打开Figure 1.9 outtree(更名为mptree)用treeview打开3.打开CONSENSE(将多个伪样本建成的进化树,根据majority原则,得出一致树)软件,将刚才生成的mptree文件输入。

生成两个文件outfile和outtree。

Outfile 可用记事本打开,outtree可用TREEVIEW打开,两个文件是最后得到的一致树。

将两个文件更名为cmpfile和cmptree。

至此我们采用MP方法,并使用bootstrap检验,得到了最优树。

Figure 1.10 CONSENSE软件界面参数C是选择构建一致树的方法,Strict consensus只将在所有树中完全相同的部分显示在一致树中;MR, MRe and M1 产生的都是根据多数原则产生一致树。

默认的MRe方法将在50%以上自举树中出现的分枝列入一致树;M1允许使用者指定一致性百分阈值。

参数O是询问是否设定外群,和将哪条序列定为外群,默认是不设定的。

参数R是选择输出有根树还是无根树,默认为无根树。

用写字板打开cmpfile,(Figure 1.11)首先给出了输入序列的次序,注意,这里zebrafish 是第一条序列。

接下来是一致树上采用了的branch pattern的总结。

左边一列是branch pattern图示,用 dot(.)和 star(*)表示,dot (.) 代表这个物种不出现在这枝上,*代表这个物种出现在这枝上。

. 和 * 出现的次序就是上面的物种次序,第一行前2个物种是.,中间两个是*,后面3个是.,意思是说物种3(rat)和4(mouse)聚为一枝。

右边这列是这种branch pattern的支持率,第一行支持率为100%,说明101棵自举树都把物种3和4聚为一枝。

特别要注意的是,PHYLIP在不设外群的时候,总是把第一个物种,这里是zebrafish,放在最外层,也就是右边一致树最下面那枝,这并不是说这个物种离其它物种最远,只是这个软件的设置。

相关主题