溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么使用R語(yǔ)言ggtree展示進(jìn)化樹(shù)

發(fā)布時(shí)間:2021-11-22 15:11:35 來(lái)源:億速云 閱讀:905 作者:柒染 欄目:大數(shù)據(jù)

今天就跟大家聊聊有關(guān)怎么使用R語(yǔ)言ggtree展示進(jìn)化樹(shù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

今天要模仿的圖片來(lái)自于論文 Core gut microbial communities are maintained by beneficial interactions and strain variability in fish。期刊是 Nature microbiology

怎么使用R語(yǔ)言ggtree展示進(jìn)化樹(shù)  
image.png

今天重復(fù)的圖片是Figure1中的聚類樹(shù)圖

怎么使用R語(yǔ)言ggtree展示進(jìn)化樹(shù)  
image.png
 論文中寫道

Hierarchical clustering dendrogram with jackknife support (numbers on the branches; only values above 50 are shown in the tree).

所以論文中實(shí)際的數(shù)據(jù)做的是聚類分析,而并不是進(jìn)化樹(shù)。他這里做聚類分析也能夠獲得每個(gè)節(jié)點(diǎn)對(duì)應(yīng)的支持率。這個(gè)如何實(shí)現(xiàn)我暫時(shí)還不知道。為了模仿這個(gè)圖,下面的輸入數(shù)據(jù)我直接使用進(jìn)化樹(shù)文件了,因?yàn)闃?gòu)建進(jìn)化樹(shù)的時(shí)候能夠很方便的獲得節(jié)點(diǎn)的支持率信息。

 首先準(zhǔn)備構(gòu)建進(jìn)化樹(shù)需要用到的fasta格式序列文件

這里用到的數(shù)據(jù)集來(lái)自 網(wǎng)址 https://www.kuleuven.be/aidslab/phylogenybook/Data_sets.html

怎么使用R語(yǔ)言ggtree展示進(jìn)化樹(shù)  
image.png

這本 The Phylogenetic Handbook second edition 不知道大家有沒(méi)有電子版可以分享呀!

 首先是做多序列比對(duì),這里我使用mafft
mafft --auto ggtree_practice.fasta > ggtree_practice_aligned.fasta
   構(gòu)建進(jìn)化樹(shù),我是用iqtree
iqtree -s ggtree_practice_aligned.fasta -bb 1000
 

得到樹(shù)文件ggtree_practice_aligned.fasta.treefile

 

接下來(lái)是在R語(yǔ)言里的操作

 首先是準(zhǔn)備一個(gè)分組的數(shù)據(jù)文件

數(shù)據(jù)總共三列

  • 第一列是 構(gòu)建進(jìn)化樹(shù)用到的fasta文件的序列名,這里注意列明用label,不要用其他
  • 第二列是分組信息,用來(lái)填充不同的顏色
  • 第三列也是分組信息,用來(lái)映射形狀

第二列和第三列的列名就是圖例上想顯示什么就用什么

怎么使用R語(yǔ)言ggtree展示進(jìn)化樹(shù)  
image.png
 加載需要用到的包
library(ggtree)
library(treeio)
library(tidytree)
 
  • treeio用來(lái)讀入進(jìn)化樹(shù)
  • tidytree用來(lái)將分組信息整合給進(jìn)化樹(shù)
  • ggtree用來(lái)可視化展示進(jìn)化樹(shù)
 讀入進(jìn)化樹(shù)和分組信息數(shù)據(jù)

tree<-read.newick("ggtree_practice_aligned.fasta.treefile",
                  node.label = "support")
d<-read.csv("ggtree_group_info.csv",header=T)
d
   將樹(shù)文件和分組信息整合到一起
trs<-full_join(tree,d,by='label')
   去掉支持率小于50的信息
tree@data$support<-ifelse(tree@data$support<50,NA,tree@data$support)
   最后一步就是畫(huà)圖了
ggtree(trs,layout = "circular",branch.length = "none")+
  #geom_tiplab(offset = 0.01)+
  geom_tippoint(aes(shape=Diet,color=Gut.compartment),
                size=5)+
  scale_shape_manual(values = c(16,17,18,15))+
  geom_text2(aes(label=support,angle=angle),hjust=-0.2)+
  scale_color_manual(values = c("#800080","#ff8000","#008080"),
                     name="Gut_compartment")+
  guides(color=guide_legend(order = 1))
 
怎么使用R語(yǔ)言ggtree展示進(jìn)化樹(shù)看完上述內(nèi)容,你們對(duì)怎么使用R語(yǔ)言ggtree展示進(jìn)化樹(shù)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI