我有一个系统发育树,它显示了基因以及它们如何聚集在一起。它是使用欧几里得距离矩阵和猿包绘制的。有关更多详细信息,这里是较早的链接。
这是我的数据(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 个大集群。ALOX5、AR 和 ALPPL2 形成一个集群。ADRA1A、ADRA1B、ADRA1D、AGTR1 形成另一个集群。同样,还有 2 个集群。有没有办法把这些信息放在一个表格中,例如下面的?有没有可用的软件可以做到这一点?
GENE CLUSTER
ALOX5 1
AR 1
ALPPL2 1
ADRA1A 2
ADRA1B 2
ADRA1D 2
AGTR1 2
..
..
..
我只显示了 20 行,但我有 21k 行,所以这是主要问题。