如何使用R语言ggtree包在进化树上标记自己取样测序的样本

随着三代测序技术的发展和测序成本的下降,现在基于三代测序数据组装基因组做泛基因组的研究越来越多。虽然测序成本降低了许多,但也是相对于之前,做大规模的测序组装的费用也是非常昂贵的,现在通常的做法是如果做了大规模的二代测序,通常会利用这些数据做的进化树,然后根据进化树的分布在每一个类群里选取一些有代表性的个体去做三代测序组装。比如大豆cell发表的泛基因组论文,就是从2000多份材料里选择26份有代表性的材料。

论文里通常会有一幅图来展示所有材料的进化树,然后做三代测序组装的材料单独标记出来

图片
image.png

这个是大豆cell那篇论文的图1B

这里没有找到合适的数据,就自己随便构造一个进化树

图片
image.png

这个进化树,大体上可以分为三个组,在每个组中选择一两个材料,比如我选择了C F K这三个材料,我要自进化树上给这三个材料单独标记颜色

代码

library(ggtree)
library(treeio)


tree <- read.tree("data/20220829/fig2.nwk")
ggtree(tree)+
  geom_tiplab()

group01<-c("C","F","K")


group02<-tree$tip.label[-match(group01,tree$tip.label)]
groupInfo<-list(group01=group01,
                group02=group02)

new.tree<-groupOTU(tree,groupInfo)

ggtree(new.tree,aes(color=group))+
  scale_color_manual(values = c("red","gray"))+
  ggnewscale::new_scale_color()+
  geom_tiplab(aes(color=group,alpha=group),
              size=10,offset = -2,hjust=0.5)+
  geom_tippoint(aes(shape=group,color=group,alpha=group),
                show.legend = F,size=10)+
  #scale_color_manual(values = c("white","red"))+
  scale_alpha_manual(values = c(1,0))+
  scale_shape_manual(values = c(19,5))+
  layout_dendrogram()+
  theme(legend.position = "none")
图片
image.png

示例数据和代码可以给推文打赏一元获取

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/392804.html

(0)
联系我们
联系我们
分享本页
返回顶部