SNP数据构建系统进化树

大概是长期的不锻炼使得今天的爬山运动过量了,接着悲剧就是无法入眠。也幸亏明天是周日,干脆就起床码字了。
总结下自己前面用snp构建系统进化树的方法吧。

1.构建进化树的算法

构建系统进化树的方法主要有以下几类:

基于距离矩阵的方法:NJ(邻接法)

MP(最大简约法)

ML(最大似然法)

以及贝叶斯法。

一般情况下,若有合适的模型,ML的效果较好;

近缘序列的话,一般使用MP;

远源序列,一般使用NJ或者ML。

在分析变异过滤得到SNP时,一般都会用PHYLIP构建NJ进化树。

PHYLIP软件官网http://evolution.genetics.washington.edu/phylip.html

那么具体如何操作呢?

软件安装

软件安装较为简单

wget http://evolution.gs.washington.edu/phylip/download/phylip-3.69.tar.gz ./ #下载软件
tar zxvf phylip-3.69.tar.gz #解压
cd phylip-3.69/src
make install
#以上几步即安装完软件,文件夹中的exe目录里为可执行程序

2.输入文件的格式转换

查看Phylip软件的说明,发现其输入文件的格式为下图,并不为vcf格式(http://evolution.genetics.washington.edu/phylip/doc/main.html#inputfiles),因此需要对其进行格式的转换。

SNP数据构建系统进化树_第1张图片
输入文件格式事例.png

其中第一行为构建进化树的样品数以及每个样品使用的snp数目。

第二行及以下为每个样品的名称及snp的具体内容。需要注意的是样品的名称必须为10个字母,如果未达到10个字母,可用tab键或者空格键代替。第11个字母后即为snp的内容,同时在这些序列中,一般每10个位点会有1个空格使其方便阅读。每个样品的用于构建snp的个数必须相同。

根据以上的规定,可以写脚本将vcf格式转化为可用于phylip的phy格式。

3.软件使用

phylip中有许多程序,大部分的程序运行方法相同,把infile作为默认的输入文件,输出结果写在outfile中。因此,在进行下一步分析前,需要重命名想要保存的文件。

seqboot: 生成随机样本,用bootstrap和jack-knife方法。需要设置选项M

dnadist:DNA距离矩阵计算器。

neighbor:NJ法的使用

consense:用多重树构建一致树。

每个程序都需要设定参数,因此还需要新建par文件。

#cat seqboot.par
all.merge.snp.phy #设定输入文件的名称,否则输入默认的名为infile的文件
r #选择bootstrap
1000 #设置bootstrap的值,即重复的replicate的数目,通常使用1000或者100,注意此处设定好后,后续两步的M值也为1000或者100
y #yes确认以上设定的参数
9 #设定随机参数,输入奇数值。

#cat dnadist.par
seqboot.out #本程序的输入文件
t #选择设定Transition/transversion的比值
2.3628 #比值大小
m #修改M值
d #修改M值
1000 #设定M值大小
2 #将软件运行情况显示出来
y #确认以上设定的参数

#cat neighbor.par
dnadist.out #本程序的输入文件
m 
1000  #设定M值大小
9 #设定随机数,输入奇数值
y #确认以上设定的参数

# cat consense.par
nei.tree  #本程序的输入文件
y #确认以上设定的参数

再运行以下命令行即可

seqboot

最后将会得到constree文件,可将该文件gaiwei*.tre文件,双击后在treeview中直接查看进化树的内容。

若要进行进一步的编辑,可使用iTOL在线的网站(http://itol.embl.de/)进行编辑,以下即为我得到的一个进化树。

SNP数据构建系统进化树_第2张图片
进化树.png

你可能感兴趣的:(SNP数据构建系统进化树)