簡體   English   中英

如何結合系統進化樹和熱圖?

[英]How to combine phylogenetic tree and heatmap?

我需要將系統樹和熱圖結合起來,因此我一直試圖通過在R中使用ggtree和phytools包來做同樣的事情。但是,我沒有成功。 我的數據集如下

((org1:0.03398193,org2:0.07721021)0.7400:0.00589058,org3:0.09199544,org4:0.09205519);
data.csv
x       x1  x2  x3  x4  x5
org1    50  20  40  70  50
org2    10  15  60  78  20  
org3    40  50  40  70  20
org4    80  50  40  20  30

這些代碼已通過以下教程http://www.randigriffin.com/2017/05/11/primate-phylogeny-ggtree.html采納,代碼如下,

tree = read.tree(text = "org1:0.03398193,org2:0.07721021)0.7400:0.00589058,org3:0.09199544,org4:0.09205519);")
d <- data.frame(read.csv("data.csv"))
traits <- data.frame(d, fastBM(tree))
p8 <- ggtree(tree) +  xlim(0, 125) + geom_tiplab(size = 2, offset = 17)
p9 <- gheatmap(p8, traits, offset = 0.2, width = 0.2, low = "white", high = "black", colnames_position = "top", font.size = 2)

當我遵循相同的代碼而沒有任何更改時,它可以很好地工作。 但是,當我嘗試使用數據時,它顯示錯誤。 我不知道如何通過使用fastBM將樹與數據文件結合在一起。 我想代替fastBM,我應該使用其他功能。 請幫助我做同樣的事情。

我找到了一個解決方案,您應該把蘭迪·格里芬(Randi Griffin)在他的帖子中提出的所有論點都拋棄,這確實使您的陳述錯誤。

您將需要以下軟件包:

library(ape)
library(dplyr)
library(phytools)

# install from Bioconductor
source("https://bioconductor.org/biocLite.R")
biocLite("ggtree")

library(ggtree)


tree <- read.tree(text = "(org1:1, org2:1, (org3:0.15, org4:0.15):0.8500);")
traits <- data.frame(fastBM(tree, nsim=5))

plot(tree)

p8 <- ggtree(tree) +
  geom_tiplab(size=2) 

# add heatmap
p9 <-  gheatmap(p8,
                traits,
                offset=0.2, low="white", high="black", colnames_position = "top", font.size=2)

p9

該建議是針對具有相同分支長度的樹。 但它也適用於不同的長度。 實際上,在他的示例中,他放置xlim(0, 125)是因為他的邊緣長度最多為40,但是在您的示例中,邊緣長度較小。 因此,最好保留R函數以找到圖形的最佳極限。

使用以下格式“,”的數據將更容易通過R導入:

x,x1,x2,x3,x4,x5
org1,50,20,40,70,50
org2,10,15,60,78,20  
org3,40,50,40,70,20
org4,80,50,40,20,30

此代碼用於導入數據:

df <- read_csv("stack.txt")
df <- as.data.frame(df)
rownames(df) <- df$x
df <- df[,-1]

您只需要更改df traits ,因為您具有正確的行和列名稱。

p8 <- ggtree(tree) +
  geom_tiplab(size=2) 


# add heatmap
p9 <-  gheatmap(p8,
                df,
                offset=0.2, low="white", high="black", colnames_position = "top", font.size=2)

p9

您可以通過以下地址查看猿包小插圖,以了解如何手工構建,就像您想要R中的data.tree對象一樣:

https://cran.r-project.org/web/packages/ape/index.html

它會為您的其余工作提供幫助,也將幫助我們也為您提供幫助。

您的問題代碼暫時不正確,我們不知道您想要什么樹。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM