跳转至

参考

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')
回到页面顶部