前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用R语言的phytools包在进化树上标记自己测序取样的样本

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

作者头像
用户7010445
发布2024-04-30 19:38:44
650
发布2024-04-30 19:38:44
举报

要在进化树上标记取样的样本

总样本的进化树,这个是随便构造的

代码语言:javascript
复制
library(ggtree)
library(phytools)
tree <- read.tree("data/20220829/fig2.nwk")
plotTree(tree)

假如我选了 "A","H","J" 这三个样本要测序

获取这这三个样本的 node label

代码语言:javascript
复制
lapply(c("A","H","J"),grep,tree$tip.label) -> tips

获取这三个样本的所有父节点

代码语言:javascript
复制
lapply(tips,phangorn::Ancestors,x=tree,type="all") %>% 
  unlist() %>% unique() -> parents

c(tips %>% unlist(),parents) -> nodes

## 可以把根节点去掉
setdiff(nodes,Ntip(tree)+1) -> nodes

在进化树上进行标记

代码语言:javascript
复制
paintBranches(tree,
              nodes,
              state = "1",
              anc.state = "0") -> tree03

画进化树

代码语言:javascript
复制
cols<-setNames(c("gray","black"),0:1)
plot(tree03,
     lend=1,
     add=TRUE,
     split.vertical=TRUE,
     color=cols)
本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-04-25,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 小明的数据分析笔记本 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com