参考
https://zhuanlan.zhihu.com/p/164473497
安装软件
conda activate mmdetection
conda install iqtree
conda install muscle
conda install bmge
bmge使用反常的命令查看帮助 bmge -?
findtree.sh内容如下:
filename=$1
file=${filename/.fa/}
#muscle比对
muscle -in ${filename} -out ${file}_muscle.fa
#bmge
#使用BMGE对序列剪齐
bmge -i ${file}_muscle.fa -t AA -of ${file}_muscle_trim.fa –g 0.5
#使用ModelFinder寻找最优模型并建树
iqtree -s ${file}_muscle_trim.fa -m MF
生成最终的文件
bash findtree.sh genelist.pep.fa
输入文件:genelist.pep.fa 是目标基因的编码的氨基酸的fa格式的文件。里面包含所有要分析的基因的蛋白序列文件。如果是DNA或RNA文件,则需要修改bmge里的-t
后的参数,DNA就是DNA
,蛋白质是AA
输出文件:
genelist.pep.fa.iqtree #里面包含所有的信息,也包含最终选择使用的是哪种模型,会自动使用最佳模型
genelist.pep.fa.treefile #最终的树文件
进化树的可视化(figtree或ggtree)
figtree是一个java程序,可直接在window上运行。导入文件,后续修修就可以了。 ggtree是Y叔的R包,比较复杂。 ggtree可视化iqtree的结果
setwd("e:/tree/")
#BiocManager::install("ggtree")
library("ggtree")
library("phytools")
library("ggplot2")
if (!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("treeio")
#install.packages("./treeio_1.14.3.tar.gz",repo=NULL,type="source")
library("treeio")
g50 <- read.tree("./genelist.pep.fa.treefile")
#ggtree布局形状参考https://yulab-smu.top/treedata-book/chapter4.html
#圆形布局
ggtree(g50,layout="circular",branch.length='none',size=1)+
xlim(-1, NA)+geom_tree2()+geom_tiplab(aes(angle=angle),color='green')+
geom_hilight(node=12, fill='red',alpha=0.8,extend=5,type="rect")+
geom_nodepoint(color="#b5e521", alpha=1/4, size=10)
#layout 和branch.length控制形状
#geom_tiplab 控制最外圈的标签
#geom_nodepoint 控制节点的颜色,形状,透明度
#常规梯形布局,右侧对齐
ggtree(g50,aes(colors=trait), branch.length="none")+geom_hilight(node=12, color='green')+
geom_tiplab(as_ylab=TRUE, color='firebrick')