我有一个系统发育树,它显示基因和它们是如何聚在一起的。它是用欧氏距离矩阵和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)) 我们可以看到,formed.ALOX5、AR和ALPPL2形成了4个大簇,其中cluster.ADRA1A、ADRA1B、ADRA1D、AGTR1形成了另一个cluster.Similarly,还有2个簇。是否有任何方法将这些信息放在一个表中,如下面所示?有什么软件可以做吗?
GENE CLUSTER
ALOX5 1
AR 1
ALPPL2 1
ADRA1A 2
ADRA1B 2
ADRA1D 2
AGTR1 2
..
..
..我只显示了20行,但我有21k行,所以这是主要关注的问题。
发布于 2014-02-21 18:45:44
正如per @JTT cutree所做的那样,非常好!这就是我要找的东西。
cut =cutree(fit,k=5)
cut
ACHE ADK ADORA1 ADRA1A ADRA1B ADRA1D ADRA2A ADRA2B ADRB1 ADRB2 AGTR1 ALOX5 ALPPL2 AMY2A AR ASIC1
1 1 1 2 2 2 1 1 3 3 2 4 4 1 5 1 https://stackoverflow.com/questions/21941620
复制相似问题