1
我有一个系统发育树,它显示了基因以及它们如何聚集在一起。它使用欧几里德距离矩阵和ape包进行绘制。 有关更多详细信息,请参阅前面的链接。来自系统发育树的簇
这是我的数据(gg.txt),将其转换为一个基因矩阵。
ID gene1 gene2
1 ADRA1D ADK
2 ADRA1B ADK
3 ADRA1A ADK
4 ADRB1 ASIC1
5 ADRB1 ADK
6 ADRB2 ASIC1
7 ADRB2 ADK
8 AGTR1 ACHE
9 AGTR1 ADK
10 ALOX5 ADRB1
11 ALOX5 ADRB2
12 ALPPL2 ADRB1
13 ALPPL2 ADRB2
14 AMY2A AGTR1
15 AR ADORA1
16 AR ADRA1D
17 AR ADRA1B
18 AR ADRA1A
19 AR ADRA2A
20 AR ADRA2B
最终代码生成的树是:
library(ape)
tab=read.table("gg.txt",header=TRUE, stringsAsFactors=FALSE)
gene.names <- sort(unique(c(tab[,"gene1"],tab[,"gene2"])))
gene.matrix <- cbind(matrix(0L,nrow=length(gene.names),ncol=length(gene.names)))
colnames(gene.matrix) <- c(gene.names)
rownames(gene.matrix)<- c(gene.names)
gene.matrix[as.matrix(tab[-1])] <- 1
##calculating distances
d <- dist(gene.matrix,method="euclidean")
fit <- hclust(d, method="ward")
plot(as.phylo(fit))
我们可以看到,有4个是获得formed.ALOX5,AR和ALPPL2形成一个cluster.ADRA1A,ADRA1B,ADRA1D大集群,AGTR1形成另一个簇。类似地,还有2个簇。 有没有什么办法可以将这些信息放在表格中,例如下面的例子? 有没有可用的软件来做到这一点?
GENE CLUSTER
ALOX5 1
AR 1
ALPPL2 1
ADRA1A 2
ADRA1B 2
ADRA1D 2
AGTR1 2
..
..
..
我只显示20行,但我有21k行,所以主要关心。
请参阅'?cutree'。您可以指定切割树的高度(参数h)或组数(参数k)。 – 2014-02-21 18:12:56