ClusterJudge

Adrian Pasculescu

2022-04-26

介绍

质量的聚类分析可以判断基于外部信息。例如当集群实体拥有属性,总集群之间的互信息和每一个重要的和冗余属性的实体可能有帮助。基因本体是一个系统的属性,可以帮助评估基因聚类产生的基因组或蛋白质组学实验。
一个集群同意哦属性的系统应该有一个明显的减少总额的互信息,当随机交换集群之间的实体的数量增加(吉本斯和罗斯2002)

必须执行以下简单的步骤来评估使用ClusterJudge集群:

  1. 获取集群包含实体及其集群id的结构;
  2. 获得entity-attribute协会和验证entity-attribute协会的一致性;
  3. 通常,属性的数量可以合并使用一组(减少)不确定性水平;
  4. “法官”的原始集群与集群应用于原始数据的随机变化。

获取集群

在大多数情况下,聚类后得到实验数据运用一些统计方法如k - means或减少分层集群在一个预定义的“高度”。

下面的示例提取酵母细胞周期相关基因的聚类酵母细胞周期(1998年秋)(Tavazoie 1999):

图书馆(“yeastExpData”)
数据(ccyclered)(ccyclered)
# #集群距离Y.name SGDID基因染色体的开始结束内含子# # 1 1 0.38 YBL072C S0000168 RPS8A II 89116 88514 0 # # 2 1 0.75 YBL083C S0000179 II 70128 69703 0 # # 3 1 0.47 YBR009C S0000213 HHF1 II 255638 255327 0 # # 4 1 0.45 YBR010W S0000214 HHT1 II 256285 256695 0 # # 5 1 0.47 YBR031W S0000235 RPL4A II 300122 301210 0 # # 6 1 0.53 YBR093C S0000297 PHO5 II 430905 429502 0 # # 1 # #外显子描述1 - 603核糖体蛋白S8A (S14A) (rp19) (YS9) # # 2 1 - 426 # # 3 1 - 312组蛋白H4 (HHF1和HHF2代码相同的蛋白质)# # 4 1 - 411组蛋白H3 (HHT1和HHT2代码相同的蛋白质)# # 5 1 - 1089核糖体蛋白L4A (L2A) (rp2) (YL2) # # 6 1 - 1404酸性磷酸酶,阻遏

聚类不应该包含任何模棱两可(即一个实体应该分配给一个集群)和NA不应该存在。这个包,集群必须被组织为一个名为向量:

集群< -ccyclered美元集群# # #从基因名称转换为酿酒基因组数据库的新标准(SGD)基因idccyclered美元SGDID < -(^年代”,“S00”,ccyclered美元SGDID)的名字(集群)< - - - - - -ccyclered美元SGDIDstr(集群)
# #叫int [1:2885] 1 1 1 1 1 1 1 1 1 1…# # - attr(*,“名字”)=(1:2885)从而向“S000000168”“S000000179”“S000000213”“S000000214”…

注意,在这个例子中,我们修改了名字的基因匹配的名字基因本体中的实体数据(参见下一节)。

获取实体属性关联

基因组或蛋白质组学数据,属性的一个来源是基因本体论(http://www.geneontology.org/)。酵母基因本体属性也可以下载从[酿酒基因组数据库(SGD)] (http://www.yeastgenome.org/)ClusterJudge R包已经有下载的酵母基因映射到属性:

数据(Yeast.GO.assocs);str(Yeast.GO.assocs);
# #“data.frame”: 70487奥林匹克广播服务公司。两个变量:# # $ SGDID:空空的“S000007287”“S000007287”“S000007287”“S000007288”…# # $ GOID:装备”:0005763”“去:0032543”“去:0003735”“去:0005762”……
(Yeast.GO.assocs);
# # 1 # # SGDID GOID S000007287: 0005763 # # 2 S000007287: 0032543 # # 3 S000007287: 0003735 # # 4 S000007288: 0005762 # # 5 S000007288: 0032543 # # 6 S000007288去:0032543
validate_association(Yeast.GO.assocs)
# #[1]“验证好了!”
# # [1]

download_Yeast_GO_mapping ()函数也可以下载一个最新副本的映射。

对于其他物种一个可以使用专门的R和Bioconductor包如biomaRt如以下玩具的例子。

图书馆(biomaRt)rn < -useDataset(“rnorvegicus_gene_ensembl”,集市=useMart(“运用”))rgd.symbol =c(“As3mt”,“Borcs7”,“Cyp17a1”,“Wbp1l”,“Sfxn2”,“Arl3”)# # #例证为一组有限的基因实体。attr < -getBM(属性=c(“rgd_symbol”,“go_id”),过滤器=“rgd_symbol”,值=rgd.symbol,集市=rn)

validate_association ()函数快速验证如果输入结构有两列,如果没有NAs或null如果没有重复的关联。

巩固Entity-Attribute协会

在某些情况下,属性可能不会带来额外的有用的信息。例如,一个属性可能太具体,因为它仅仅是分配给一个或两个基因(例如,它可能只是一个新的名称的基因)。在其他情况下,两个或更多属性可能非常相关,出现在几乎相同的一组基因。

第一例合并协会将忽略这些属性属于很少基因(min.entities.per.attr)

entities_attribute_stats(Yeast.GO.assocs)# # #显示每个属性的实体的数量分布

# # 3 [1]
Yeast.GO.assocs。cons1 < -consolidate_entity_attribute(实体。属性=Yeast.GO.assocs,min.entities.per.attr=3# # #只保留属性关联到3或更多的实体,mut.inf =)昏暗的(Yeast.GO.assocs)
# # [1]70487 2
昏暗的(Yeast.GO.assocs.cons1)# # #显示关联的数量减少
# # [1]64738 2

在第二种情况下我们使用预计算互信息(1991)间属性和最大不确定性在不确定性的定义是互信息除以最大互信息。

数据(mi.GO.Yeast)Yeast.GO.assocs。缺点< -consolidate_entity_attribute(实体。属性=Yeast.GO.assocs,min.entities.per.attr=3,mut.inf =mi.GO.Yeast# # #使用预先计算的互信息,U。限制=c(0.1,0.001)# # #计算合并这些协会的不确定性水平)# # #显示分布的双属性的数量的不确定性

# # ....# #[1]”不确定性限制0.1删除:74属性“# # .........................# #[1]”不确定性限制0.001删除:1939属性”
str(Yeast.GO.assocs.cons)
# # 2 # # $ 0.1:列表“data.frame”: 43899奥林匹克广播服务公司。两个变量:# # . .美元SGDID:chr [1:43899] "S000007287" "S000007287" "S000007288" "S000007288" ... ## ..$ GOID : chr [1:43899] "GO:0005763" "GO:0032543" "GO:0005762" "GO:0032543" ... ## $ 0.001:'data.frame': 2517 obs. of 2 variables: ## ..$ SGDID: chr [1:2517] "S000004660" "S000000289" "S000003916" "S000005275" ... ## ..$ GOID : chr [1:2517] "GO:0005471" "GO:0005471" "GO:0018456" "GO:0018456" ...

较低的不确定性限制更多的属性将被忽略和集群的判断将越快。

计算互信息

的情况下,实体属性关联下载从其他生物或其他来源,互信息可以计算使用这个函数:attribute_mut_inf:

数据(Yeast.GO.assocs)# # #,因为它需要时间,我们使用一个小的样本子集关联entity.attribute.sampled<-Yeast.GO.assocs [样本(1:nrow(Yeast.GO.assocs),One hundred.),)mi.GO.Yeast。采样< -attribute_mut_inf(实体。属性=entity.attribute.sampled,秀。进步=# #这个小例子不印刷的进展)str(mi.GO.Yeast.sampled)
# # num[1:83 1:83]不详不详不详不详不详不详不详不详不详不详…# # - attr (*, dimnames) =列表2 # # . .美元:chr [1:83] "GO:0000118" "GO:0000226" "GO:0000287" "GO:0000324" ... ## ..$ : chr [1:83] "GO:0000118" "GO:0000226" "GO:0000287" "GO:0000324" ...

一双的互信息属性A, B mi (A, B) =被定义为H (A) + H (B) - H (cbind (A, B)), H是熵。

判断选择的集群不确定性水平

集群名为向量准备上面的一个巩固entity-attribute协会(例如一个0.001的不确定性)需要在这一步。的ClusterJudge将随机交换越来越多的实体之间的集群和将计算和绘制新的总互信息在每个迭代中获得。如果总互信息减少通过增加随机交换的数量我们可以得出结论,有一个很好的协议的集群提供的实验数据和信息的合奏entity-attribute关联。

mi.by.swaps < -clusterJudge(集群=集群,entity.attribute =Yeast.GO.assocs.cons [[“0.001”]],plot.notes =“酵母集群判断不确定性水平0.001 - Ref: Tavazoie年代,和所有基因网络体系结构的系统的决心。1999 Nat麝猫。”,plot.saveRDS.file =“cj.rds”)# # #保存图以备后用
# #随机化集群..............

p < - - - - - -readRDS(“cj.rds”)# # #检索以前的情节pdf(“cj.pdf”);情节(p);dev.off()# # #情节在另一个设备
# # png # # 2

在大多数情况下互信息应该有减少趋势当打乱的数量增加。然而,在极少数情况下,一个一致的增长趋势可能表明小说发现;只有当实验数据和集群非常可靠的。在罕见的情况下高自信集群可能补充甚至矛盾信息积累时间entity-attribute关联。

ClusterJudge也可以被视为补充许多Bioconductor包相关的评估和比较聚类(如clustComp,clusterExperiment,clusterSignificance,还装有,multiClust)。

引用

曹,钢筋等。1998年。“一个全基因组的转录分析有丝分裂细胞周期。”分子细胞。科学指引。

封面,T.M.等。1991年。“信息理论的元素。”。Wiley-Interscience。

吉本斯,F。D, F.P.罗斯》2002。“判断基因聚类质量的方法使用基因注释”。基因组研究。基因组研究。

Tavazoie,美国等。1999年。“遗传网络体系结构的系统的决心。”自然遗传学。自然出版集团。