总结一下自己构建物种进化树的过程
我是使用OrthoFinder构建的物种进化树,前期的参数解读及设置,详情请看我师兄的简书:https://www.jianshu.com/p/16e0bbb2ba19
我的话,加入一点个人需求在里面,希望对你有所帮助。
我做进化树的code如下:
time orthofinder -f directory/ -S mmseqs -t 20 -a 2 -M msa
然后会得到一系列的文件,这个时候,我师姐的需求是加入bootstrap值。
首先查了查关于bootstrap的概念。
Bootstrap,即自展值,是用来检验你所计算的进化树分支可信度的。简单地讲就是把序列的位点都重排,重排后的序列再用相同的办法构树,如果原来树的分枝在重排后构的树中也出现了,就给这个分枝打上一分,如果没出现就给0分,这样经过你给定的repetitions次(至少1000次)重排构树打分后,每个分枝就都得出分值,计算机会给你换算成bootstrap值。
Bootstrap values (步长值)是指在你选择的遗传距离算法(一般选择邻接法即NJ法)中软件根据所比对序列得到结果 比如 bootstrap value设置为1000,即软件构建了相应的1000”棵树“,在每个节点上显示的bootstrap value 即指在这1000次建树过程中,有相应的次数的频率这个分枝内的几株菌或几段序列在进化速度上相似,一般认为节点处的bootstrap value大于500时分析结果可信,bootstrap value 在mega ,philiphy,等软件中常见。
而在SAS等软件中,简述过程相对麻烦但是 最终显示的是Identity scores 即遗传距离,或者指进化距离,同样表示了待分析菌或序列的进化关系的远近。
然后自行安装fasttree软件。这里忍不住说一下,fasttree真的6,就只有一个文件,把它放在linux下指定目录,添加到环境变量,然后source一下就好了。然后一般情况下使用多线程的 FastTreeMP,这个时候就需要把官方说明里面的C++文件完全copy下来,然后执行下面的语句就可以了。(http://meta.microbesonline.org/fasttree/#Distance
)
gcc -DOPENMP -fopenmp -O3 -finline-functions -funroll-loops -Wall -o FastTreeMP FastTree.c -lm
找到Results_data/Orthologues_data/Alignments/SpeciesTreeAlignment.fa 文件,然后执行FastTreeMP。
FastTreeMP -boot 1000 SpeciesTreeAlignment.fa > tree
得到的tree文件再用FigTree.v1.4.4 打开,使用FigTree之前要安装JAVA8.(http://tree.bio.ed.ac.uk/software/figtree/
)
找到 node labels这一栏,将display设置为labels,并将format设置为percentage就可以了。这样的话,牵扯到一个小问题就是。我得到的图(图一)带百分号,而别人的图(图二)不带百分号,这个我就不知道该怎么解决了,这个问题还是借助于PS吧,如果你有更好的建议,可以私信我。
图二.png