今天的推文内容主要参考
- https://www.rpubs.com/michelleprem/683962
- https://fuzzyatelin.github.io/bioanth-stats/module-24/module-24.html
首先是读入数据
代码语言:javascript复制今天推文用到的示例数据是参考链接2中提供的
usflu.fasta
,fasta文件已经比对好,R语言里读入fasta格式的数据可以使用adegenet
包中的fasta2DNAbin
函数
#install.packages("adegenet")
library(adegenet)
dna<-fasta2DNAbin(file = "usflu.fasta")
dna
计算距离矩阵
代码语言:javascript复制library(ape)
dd<-dist.dna(dna)
用到的是
ape
包中的dist.dna()
函数
构建NJ树
代码语言:javascript复制tree<-nj(dd)
用到的是
ape
包中的nj()
函数
ggtree进行可视化
代码语言:javascript复制library(ggtree)
ggtree(tree)
geom_tiplab(size=2)
image.png
做bootstrap检验
代码语言:javascript复制bs.tree<-boot.phylo(tree,dna,
function(x)nj(dist.dna(x)),1000,
trees = TRUE)
将得到的bootstrap值合并到tree中
代码语言:javascript复制tree$node.label<-bs.tree$BP
这一步不知道对不对,好像是有问题,暂时还不知道如何验证
结果里展示bootstrap值
代码语言:javascript复制ggtree(tree)
geom_tiplab(size=2)
geom_nodelab(hjust=-0.2,size=2)
image.png
一下是之前关于ggtree的一些推送