首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >系统发育树簇

系统发育树簇
EN

Stack Overflow用户
提问于 2014-02-21 17:50:08
回答 1查看 1.2K关注 0票数 2

我有一个系统发育树,它显示基因和它们是如何聚在一起的。它是用欧氏距离矩阵和ape软件包绘制的。有关更多细节,以下是前面的链接。

Phylogenetic tree

这是我的数据(gg.txt),它被转换成一个基因矩阵。

代码语言:javascript
复制
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

生成树的最终代码是:

代码语言:javascript
复制
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个簇。是否有任何方法将这些信息放在一个表中,如下面所示?有什么软件可以做吗?

代码语言:javascript
复制
GENE   CLUSTER

ALOX5    1
AR       1
ALPPL2   1
ADRA1A   2
ADRA1B   2
ADRA1D   2
AGTR1    2
..
..
..

我只显示了20行,但我有21k行,所以这是主要关注的问题。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-21 18:45:44

正如per @JTT cutree所做的那样,非常好!这就是我要找的东西。

代码语言:javascript
复制
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 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21941620

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档