1简介

寻找相似点的方法有几个目的,其中最著名的是Jaccard和Dice相似点。在生物信息学中,许多关于这一主题的研究都围绕着基因本体因为它们提供受控词汇表,这是它们使命的一部分:

GO联盟的使命是开发一个最新的、全面的、生物系统的计算模型,从分子水平到更大的途径,细胞和生物水平的系统。

然而,基因之间还有另一个相似之处:代谢途径。代谢途径描述了基因、蛋白质、脂质和细胞其他成分之间的关系。通路在某种程度上描述了它在细胞中所起的作用。关于哪个基因属于哪个通路,目前已有多个数据库。与通路有关的功能或表型的基因集是基因功能的信息来源。通过这个包,我们提供了基于这些信息计算功能相似性的方法。

这里我们提供了用于计算的函数函数相似距离对于途径,基因集,基因和基因簇。BioCor这个名字来自生物相关性,简称为BioCor,因为正如我们所说的,我们观察一些基因是否与其他基因处于相同的途径或基因集。

BioCor不同于GeneOverlap因为这里我们使用Dice索引而不是Jaccard索引(尽管我们提供了一个函数来从一个转换到另一个,参见本节)并且这个包只允许比较路径,而不允许比较基因或基因组。但GeneOverlap提供了一些绘制相似性分数的功能,并提供了与路径比较相关的p值。

该软件包的开发最初旨在通过使用加权基因共表达网络的功能来改善基因的聚类WGCNA.该包具有一些功能,可以结合相似性以便与之集成WGCNA.对于其他用途,您可以检查先进的装饰图案。

2引用

您可以将包引用为:

引用(“BioCor”)

3.安装

BioCor包可在Bioconductor可通过BiocManager下载安装:

install.packages(“BiocManager”)BiocManager::安装(“BioCor”)

的最新版本BioCor来自Github:

库(devtools) install_github(“llr / BioCor”)

4使用BioCor

4.1准备

我们可以加载包并准备我们想要计算相似度的数据:

library("BioCor") ##加载路径库的数据库("org.Hs.eg.db") library("reactome.db") genesKegg <- as.list(org.Hs.egPATH) genesReact <- as.list(reactomeEXTID2PATHID) #删除非人类路径的基因和路径genesReact <- lapply(genesReact, function(x){unique(grep("R-HSA-", x, value = TRUE)}) genesReact <- genesReact[长度(genesReact) >= 1]

为了避免有偏见的数据,重要的是要有关于所研究的生物体的所有途径和相关基因的所有数据。这里我们假设我们对人的路径感兴趣。我们使用KEGG和Reactome这两个数据库,因为它们很容易获取数据。然而,KEGG数据库不再是免费的大型检索,因此它不再更新在Bioconductor注释包。

但是,可以使用任何列表,其中列表的名称是基因,列表的元素是基因所属的路径或组。也可以从GMT文件中读取,或者使用GeneSetCollections来代替路径数据库中的这些关联,并使用以下方法将其转换为列表:

library("GSEABase") paths2Genes <- geneIds(getGmt("/path/to/file.symbol. "gmt", geneIdType=SymbolIdentifier())) genes <- unlist(paths2Genes, use.names = FALSE) paths <- rep(names(paths2Genes), length (paths2Genes)) genes2paths <- split(paths, genes) #基因和基因集的列表

genes2paths我们有可以随时使用的信息。

4.2路径的相似之处

我们可以计算相似度(骰子相似度,见问题1的常见问题)介于两种途径之间或几种途径之间并将它们结合起来,或不:

(路径<- sample(unique(unlist(genesReact)), 2)) ## [1] "R-HSA-1236394" "R-HSA-71403" pathSim(路径[1],路径[2],genesReact) ##[1] 0(路径<- sample(unique(unlist(genesReact)), 10)) ## [1] "R-HSA-159236" "R-HSA-9702620" "R-HSA-5659996" "R-HSA-1679131" ## [5] "R-HSA-9031525" "R-HSA-6807505" "R-HSA-4641263" "R-HSA-168188" ## [9] "R-HSA-5668541" "R-HSA-5659729" mpathSim(路径,genesReact) ## R-HSA-159236 R-HSA-9702620 R-HSA-5659996 R-HSA-1679131 ## R-HSA-159236 1.00000000 00000 ## R-HSA-9702620 0.00000000 0000 ## R-HSA-5659996 0.00000000 0000 ## r - hsa - 16807505 0.02684564 0000 ## # R-HSA-4641263 0.00000000 0000 ## # R-HSA-168188 0.00000000 0000 ## # R-HSA-5668541 0.00000000 0000 ## # R-HSA-9031525 R-HSA-6807505 R-HSA-4641263 r - hsa - 1681525 R-HSA-4641263 r - hsa - 1681525 R-HSA-6807505 R-HSA-4641263 R-HSA-168188 0.00000000 0000 ## # r - hsa - 169236 0 0.02684564## r-hsa-9702620 0 0.00000000 0.00000000 0.00000000 0.00000000 ## # r-hsa-5659996 0 0.00000000 0.00000000 0.00000000 0.00000000 ## # r-hsa-1679131 0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 ## # r-hsa-9031525 1 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 ## # r-hsa-6807505 0 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 ## # r-hsa-4641263 0 0.00000000 1.00000000 0.05882353 ## # r-hsa-168188 0 0.00000000 0.05882353 1.00000000 ## # r-hsa-5668541 0 0.00000000 0.06504065 0.10138249 ## r-hsa-5659729 0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 ## # r-hsa-5659729 0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000 ## # r-hsa-6807505 0 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 ## # r-hsa-6807505 0 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 ## # r-hsa-4641263 0 0.00000000 1.00000000 0.00000000 0.00000000 0.00000000 0.00000000 ## # r-hsa-5659729 0 0.00000000 0.00000000 0.00000000 0.00000000 0.00000000R-hsa-5668541 r-hsa-5659729 0.00000000 0 ## r-hsa-9702620 0.00000000 0 ## r-hsa-5659996 0.00000000 0 ## r-hsa-1679131 0.00000000 0 ## r-hsa-9031525 0.00000000 0 ## r-hsa-6807505 0.00000000 0 ## r-hsa-4641263 0.06504065 0 ## r-hsa-168188 0.10138249 0 ## R-hsa-5668541 1.00000000 0 ## r-hsa-5659729 0.00000000 1 ## r-hsa-5659729 0.00000000

当将相似性组合的方法设置为时mpathSim返回路径相似度矩阵,否则将组合这些值。在下一节中,我们将看到结合路径相似性的方法。

4.2.1结合值

为了组合值,我们提供了一个包含以下几个方法的函数:

sim < - mpathSim(通路,genesReact) methodsCombineScores < - c(“avg”、“max”、“rcmax”,“rcmax。avg", "BMA", "互惠")sapply(methodsCombineScores, BioCor::combineScores, scores = sim) ## avg max rcmax rcmax。平均BMA倒数## 0.1050418 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000 1.0000000

我们还可以指定方法来组合相似之处mpathSimgeneSimmgeneSimclusterSimmclusterSimclusterGeneSim而且mclusterGeneSim参数方法。默认情况下,该方法被设置为“max”来组合路径(除了在mpathSim中,默认是显示所有路径的相似性)和“BMA”来组合基因的相似性或用于聚类分析。此函数改编自GOSemSim包中。

这个函数combineScoresPar允许使用平行背景(使用BiocParallel)来合并分数。如果你计算出超过300个基因相似点,建议使用平行背景。它也有一个参数,以防你想计算几个集合的相似度分数。

4.3基因相似性

比较两种基因的功能有geneSim功能和mgeneSim函数进行多次比较。在这个例子中,我们比较了基因BRCA1、BRCA2和NAT2,分别是ENTREZID中的基因672、675和10:

geneSim(“672”,“675”,genesKegg) ## [1] 0.0824295 geneSim(“672”,“675”,genesReact) ## [1] 1 mgeneSim(c(“BRCA1”=“672”,“BRCA2”=“675”,“NAT2”=“10”),## BRCA1 BRCA2 NAT2 ## BRCA1 1.0000000 0.082429501 0.000000000 ## BRCA2 0.0824295 1.000000000 0.008241758 ## NAT2 0.0000000 0.008241758 1.000000000 mgeneSim(c(“BRCA1”=“672”,“BRCA2”=“675”,“NAT2”=“10”),BRCA1 BRCA2 NAT2 BRCA1 1.0000000 1.0000000 0.2221147 ## BRCA2 1.0000000 1.0000000 0.2221147 ## NAT2 0.2221147 0.2221147 1.0000000

请注意,对于相同的基因,每个数据库或列表提供了不同的注释,这导致不同的相似性得分。在本例中,BRCA1在KEGG和Reactome中分别有3条和27条通路,BRCA2在KEGG和Reactome中分别有1条和50条通路,这导致了不同的得分。

4.4基因簇相似性

有两种方法:

  • 结合每个聚类的所有路径并进行比较。
  • 计算一个簇与另一个簇的基因之间的相似度。

4.1.1通过路径

如上所述,在这种方法中,将一个集群的所有路径与另一个集群的所有路径进行比较。如果没有提供组合路径相似性的方法,则返回所有路径相似性:

clusterSim(c("672", "675"), c("100", "10", "1"), genesKegg) ## [1] 0.04210526 clusterSim(c("672", "675"), c("100", "10", "1"), genesKegg, NULL) ## 00230 01100 05340 00232 00983 ## 04120 0.00410000 0.000000000 0.011764706 00 ## 03440 0.04210526 0.006908463 0.000000000 00 ## 05200 0.00000000 0.008241758 0.005540166 00 # 05212 0.00000000 0.001666667 0.019047619 00集群<- list(cluster1 = c("672", "675"), cluster3 = c("18", "10", "83"))mclusterSim(群集,genesKegg,“max”)## cluster1 cluster2 cluster3 ## cluster1 1.00000000 0.01587957 0.00256157 1.00000000 0.56412591 ## cluster3 cluster2 cluster3 ## cluster1 1.000000000 0.04210526 0.008241758 ## cluster3 0.00824105263 1.00000000 1.000000000 1.000000000

10/24/11由基因

该方法首先计算每个基因之间的相似度,然后计算每组基因之间的相似度。需要两种方法来组合值,第一种方法是结合通路相似性,第二种方法是结合基因相似性。如果只提供一个,它会返回每个簇的基因相似度矩阵:

clusterGeneSim(c("672", "675"), c("100", "10", "1"), genesKegg) ## [1] 0.02605425 clusterGeneSim(c("672", "675", "10", "1"), genesKegg, "max") ## 100 10 1 ## 672 0.01176471 0.000000000 NA ## 675 0.04210526 0.008241758 NA mclusterGeneSim(clusters, genesKegg, c("max", "rcmax.avg")) ## cluster1 cluster2 cluster3 ## cluster1 1.000000000 0.02605425 0.006181319 ## cluster3 0.0066181319 1.00000000 1.000000000 mclusterGeneSim(clusters, genesKegg,C ("max", "max")) ## cluster1 cluster2 cluster3 ## cluster1 1.000000000 0.042110526 0.008241758 ## cluster2 0.0421105263 1.00000000 1.000000000 ## cluster3 0.008241758 1.00000000 1.000000000

注意mclusterGeneSim而且mclusterSim在簇的相似值中。如果我们设置方法= c("max", "max")mclusterGeneSim则聚类之间的相似度为clusterSim

4.5将相似之处

如果需要,Jaccard相似度可以通过使用Dice相似度来计算D2J

D2J(sim) ## R-HSA-159236 R-HSA-9702620 R-HSA-5659996 R-HSA-1679131 1.00000000 0000 ## R-HSA-9702620 0.00000000 1 000 ## R-HSA-5659996 0.00000000 0000 ## R-HSA-9031525 0.00000000 00000 ## r - hsa - 16807505 0.01360544 000 ## # R-HSA-4641263 0.00000000 0000 ## # R-HSA-168188 0.00000000 0000 ## # R-HSA-5668541 0.00000000 0000 ## # R-HSA-5659729 0.00000000 0000 ## # R-HSA-9031525 R-HSA-6807505 R-HSA-4641263 r - hsa - 169236 0 0.013605440.00000000 - 0.00000000 # # r - hsa - 9702620 0 0.00000000 0.00000000 0.00000000 # # r - hsa - 5659996 0 0.00000000 0.00000000 0.00000000 # # r - hsa - 1679131 0 0.00000000 0.00000000 0.00000000 # # r - hsa - 9031525 1 0.00000000 0.00000000 0.00000000 # # r - hsa - 6807505 0 1.00000000 0.00000000 0.00000000 # # r - hsa - 4641263 0 0.00000000 1.00000000 0.03030303 # # r - hsa - 168188 0 0.00000000 0.03030303 1.00000000 # # r - hsa - 5668541 0 0.00000000 0.03361345 0.05339806 # # r - hsa - 5659729 0 0.00000000 0.00000000 0.00000000 # #R-hsa-5668541 r-hsa-5659729 0.00000000 0 ## r-hsa-9702620 0.00000000 0 ## r-hsa-5659996 0.00000000 0 ## r-hsa-1679131 0.00000000 0 ## r-hsa-9031525 0.00000000 0 ## r-hsa-6807505 0.00000000 0 ## r-hsa-4641263 0.03361345 0 ## r-hsa-168188 0.05339806 0 ## R-hsa-5668541 1.00000000 0 ## r-hsa-5659729 0.00000000 1 ## r - hsa

同样,如果一个人有一个Jaccard相似度,想要一个Dice相似度,可以使用J2D函数。

5大量的基因相似性

我们可以通过以下方法计算KEGG或Reactome中基因的整体相似性:

##省略那些没有通路的基因nas <- sapply(genesKegg, function(y){all(is.na(y)) | is.null(y)}) genesKegg2 <- genesKegg[!nas] m <- mgeneSim(names(genesKegg2), genesKegg2, method = "max")

一个核心大约需要5个小时,但它需要高内存可用。

如果没有这样的内存,可以逐块计算相似度,然后将其拟合到另一个矩阵中:

sim <- AintoB(m, B)

通常B是一个大小的矩阵长度(基因),请参阅AintoB ?

6用法示例

在这个例子中,我展示了如何使用BioCor来分析功能的基因列表。通过一份基因列表,我们来看看这些基因有多相似:

基因。id < - c(“10”、“15”,“16”,“18”,“2”,“9”,“52”," 3855 "," 3880 "," 644 "," 81327 "," 9128 "," 2073 "," 2893 "," 5142 "," 60 "," 210 "," 81 "," 1352 "," 88 "," 672 "," 675 ")的基因。id <- mapIds(org.Hs.eg.db, keys =基因。id, keytype = "ENTREZID", column = "SYMBOL") ## 'select()'返回键和列之间的1:1映射基因<- names(基因.id)名字(基因)<-基因。id react <- mgeneSim(genes, genesReact) ## mgeneSim(genes, genesReact)警告:有些基因不在提供的列表中。##我们删除不在列表中的基因(因此有警告):nan <-基因%in% names(genesReact) react <- react[nan, nan] hc <- hclust(as。dist(1 - react))图(hc, main =“基因之间的相似性”)
根据Reactome的基因相似性树状图。

图1:相似度基因聚类

现在我们可以看到基因之间的关系。我们可以将它们分组进行聚类分析,以可视化聚类之间的关系:

mycl < - cutree (hc, h = 0.2)集群< -分裂(基因(南),as.factor (mycl)) #删除集群的一个基因(集群< -集群[长度(集群)> = 2])# # $ ' 1 ' # # NAT2 AANAT NAT1 BLVRA ALAD COX10 # #“10”“15”“9”“644”“210”“1352 " ## ## $` 2》# # AARS1 ACTB BRCA1 # #“16”“60”672 " ## ## $` 3 ' # # ABAT GRIA4 ACTN2 # #“18”“2893”“88 " ## ## $` 4 # # A2M ACTN4 # #”2”81 " ## ## $` 5 ' # # KRT7 KRT19 # #“3855”“3880 " ## ## $` 8“# # ERCC5 BRCA2 # #“2073”“675”名称(集群)< - paste0(“集群”,记住,我们可以使用两个方法来比较集群sim_clus1 <- mclusterSim(集群,genesReact) plot(hclust(as。dist(1 - sim_clus1)), main = "通过路径的集群之间的相似性")
根据Reactome的基因簇的树状图。

图2:使用clusterSim进行集群

sim_clus2 <- mclusterGeneSim(集群,genesReact) plot(hclust(as。dist(1 - sim_clus2)), main ="基因聚类的相似性")
根据来自反应组途径的基因之间的相似性的聚类树状图。

图3:使用clusterGeneSim进行集群

每种方法都会产生不同的树状图,如图所示2与图相比3.

7与GOSemSim相比

在本节中,我将比较BioCor与密切相关的包的功能相似性GOSemSim.所使用的基因和基因簇是从GOSemSim的vignette中提取的,我们只改变本体,而不是分子功能,将使用生物过程:

hsGO <- GOSemSim::godata('org.Hs.eg.db', ont = "BP", computeIC = FALSE) ## ##准备基因到GO映射数据…

我将比较部分中的geneSim函数GOSemSim的geneSim和mgeneSim使用KEGG和Reactome的数据集:

goSemSim < - goSemSim:: geneSim(“241”、“251”semData = hsGO测量=“王”,结合= BMA) #如果是null sim <——ifelse (is.na (goSemSim), 0, getElement (goSemSim“geneSim”))BioCor:: geneSim(“241”、“251”genesReact, BMA) - sim # # geneSim GO1 GO2 # # -0.1127715 -0.1127715 -0.1127715 < - c基因(“835”、“5261”、“241”、“994”)goSemSim < - goSemSim:: mgeneSim(基因,semData = hsGO测量=“王”,结合=“BMA verbose = FALSE,下降= null) BioCor:: mgeneSim(基因、genesReact“BMA”,round = TRUE) - goSemSim ## 835 5261 241 994 ## 835 0.000 -0.095 -0.140 -0.154 ## 5261 -0.095 0.000 0.080 -0.257 ## 241 -0.140 0.080 0.000 -0.121 ## 994 -0.154 -0.257 -0.121 0.000

我们可以观察到,基因本体比路径有更多的相似性。看到常见问题解答问题8关于BioCor::而且GOSemSim::

如果传递了命名字符,它们将用于命名生成的矩阵:

genes <- c("CDC45", "MCM10", "CDC20", "NMU", "MMP1") genese <- mapIds(org.Hs.eg.db, keys = genes, column = "ENTREZID", keytype = "SYMBOL") ## 'select()'返回键和列之间的1:1映射BioCor::mgeneSim(genese, genesReact,“bma”)## cdc45 McM10 cdc20 nmu mmp1 ## cdc45 1.00000000 0.90857486 0.5014310 0.05391050 0.09570826 0.5014310 0.05391050 0.06313335 0.10099042 ## McM10 0.90857486 1.00000000 0.4820710 0.06313335 0.10099042 ## cdc20 0.50143100 0.48207102 1.0000000 0.163548417 0.22435475 ## nmu 0.05391050 0.06313335 0.1635482 1.00000000 0.11590944 ## mmp1 0.09570826 0.10099042 0.22435448 0.11590944 1.00000000

我们可以进一步比较聚类相似性从小插图的下一部分

gs1 <- c("835", "5261","241", "994", "514", "533") gs2 <- c("578","582", "400", "409", "411") BioCor::clusterSim(gs1, gs2, genesReact, "BMA") - GOSemSim::clusterSim(gs1, gs2, hsGO, measure = "Wang", combine = "BMA") ## [1] -0.1478478 x <- org.Hs.egGO hsEG <- mappedkeys(x) set.seed(123) (clusters <- list(a=sample(hsEG, 20), b=sample(hsEG, 20), c=sample(hsEG, 20),20))) # # $ # #[1]“9934”“9988”“146456”“114786”“158131”“5537”# #[7]“23129”“28589”“80310”“139735”“57472”“4147”# #[13]“5111”“642574”“143686”“2712”“100288797”“4659”# #[19]“57348”“200008”b美元# # # # # #[1]“11198”“84515”“6596”“7371”“4338”“504180”“407025”“7499”# #[9]“868”“146852”“337971”“349565”“200186”“63950”“83706”“38”# #[17]“5345”“27198”“91522”“55510”# # # # # # $ c[1]“93408”“221294”“148113”“8394”“388125”“6446”# #[7]“100033447”“677813”“3003”“31”"79930" "54495" ## [13] "998" "285852" "55179" "389730" "5063" "51202" ## [19] "56957" "9541" BioCor::mclusterSim(clusters, genesReact, "BMA") - GOSemSim::mclusterSim(clusters, hsGO, measure = "Wang", combine = "BMA") ##警告在BioCor::mclusterSim(clusters, genesReact, "BMA"):有些基因不是##在列表提供。## a b c ## a 0.00000000 0.05002936 -0.01504761 ## b 0.05002936 0.00000000 0.10833226 ## c -0.01504761 0.10833226 0.00000000

8WGCNA和BioCor

WGCNA利用多个样本的表达数据的相关性来聚类基因。有时,从生物学的角度来看,解释所产生的模块是困难的,甚至当某些基因组最终没有丰富先前描述的功能时更是如此。生物ocor最初被认为是用来克服这个问题的:帮助基因聚类,不仅通过相关性,而且通过功能。

为了使群体具有功能相关性,功能相似性与实验相关性结合可以增强基因的聚类。结果组不仅反映了所提供表达的相关性,而且还反映了这些基因的已知功能。

我们建议采取以下步骤:

  1. 计算表达式数据的相似度
  2. 计算基因在表达中的相似性
  3. 结合相似之处
  4. 计算邻接关系
  5. 用层次聚类识别模块

这里我们提供了一个关于如何使用BioCor与WGCNA的例子:

sim卡是一个列表,其中每个元素都是基因之间相似度的矩阵expr变量,一个矩阵,样本在行中,基因在列中。

expr。sim卡<- WGCNA::cor(expr) # or bicor ## Combine the similarities similarity <- similarities(c(list(exp = expr.sim), sim), mean, na.rm = TRUE) ## Choose the softThreshold pSFT <- pickSoftThreshold.fromSimilarity(similarity) ## Or any other function we want adjacency <- adjacency.fromSimilarity(similarity, power = pSFT$powerEstimate) ## Once we have the similarities we can calculate the TOM with TOM TOM <- TOMsimilarity(adjacency) ## Requires adjacencies despite its name dissTOM <- 1 - TOM geneTree <- hclust(as.dist(dissTOM), method = "average") ## We can use a clustering tool to group the genes dynamicMods <- cutreeHybrid(dendro = geneTree, distM = dissTOM, deepSplit = 2, pamRespectsDendro = FALSE, minClusterSize = 30) moduleColors <- labels2colors(dynamicMods$labels)

一旦使用这个包的功能相似性和基因相关性确定了模块,就可以继续WGCNA的工作流程。

在这个过程中,一个重要的方面是决定如何将相似性和表达数据结合起来:—如果功能相似性发挥了巨大的作用,我们最终将只有那些与相同功能密切相关的基因。-如果功能相似性的作用较低,则与仅使用WGCNA相似,基因之间没有功能相关性。

基于这些原因,最好使用between的权重0.5而且1如果你用weighted.sum或者类似的函数。

在选择组合方式时,有几件事需要考虑:-灰色或0模块的大小(那些不显示特定模式的模块)-创建的模块的数量和大小。-相似点的组合方式

小提琴图可以帮助查看在不同的组合相似点的方法中模块的大小和分布的差异。

9常见问题解答

9.1路径相似性是如何定义的?

BioCor使用Sørensen-Dice指数:骰子相似度是路径共享基因的两倍除以每个路径中的基因数量。

我们可以计算两条路径之间的相似性(\ \ (x)\ (w \)):

\[Dice(x, w) = \frac{2 |x \cap w|}{|x| + |w|}\]

实现了diceSim函数,其结果与Jaccard指数相似:

\[Jaccard(x, w) = \frac{|x \cap w|}{|x \cup w|}\]

Jaccard指数和dice指数均在0和1之间(\ ([0, 1] \)).来计算杰卡德指数diceSim使用D2J函数。

9.2为什么BioCor使用骰子系数而不是Jaccard ?

我们认为Dice系数比Jaccard系数更好,因为它在相同的比较中具有更高的值,这反映了在通路中包含一个基因并不容易。

9.3BioCor如何结合两个基因多条通路的相似性?

虽然推荐的方法是“max”方法,(设置为默认值),但在combineScoresGOSemSim我借的包裹1看到组合值部分的帮助页combineScores

9.4为什么建议使用最大方法来组合路径的相似度分数?

结合这些分数的目的通常是通过基因通路找到基因之间的关系。两个基因的两条通路之间的相似性越高,说明这些基因共享的功能越高,即使这些基因具有其他不相关的功能。

9.5如何检测两个基因之间哪个功能关系更重要?

如果两个基因参与相同的途径,通常它们有(在某种程度上,可能是间接的)相互作用。为了检测两个基因之间哪个关系更重要,可以测量其他相似度分数,检查通路的化学计量学,测量它们之间的表达变化和相关性,或者使用通路的动态模拟。

9.7为什么没有计算氧化石墨烯相似度的方法?

这是由GOSemSim包,您可以使用它来生成相似度矩阵(即使用mgeneSim).你可以把它并行化foreach包或BiocParallel如果你的基因列表很大。

9.8我得到一个错误!我怎么解决这个问题?

如果错误是这样的:

FUN(X[[i]]],…)错误:试图从没有插槽的基类(“列表”)的对象中获取插槽“geneAnno”

你已经加载了GOSemSim库中,R调用同名的GOSemSim函数。使用BioCor::调用的函数BioCor(f.ex:BioCor: geneSim

方法中先前未描述的错误支持论坛,在那里发表一个问题。

如果你发现了漏洞或者不一致的地方,我很抱歉BioCor应该做什么以及它实际做什么。一旦你确认这是一个bug,请在问题页面的Github。

会话信息

sessionInfo() ## R正在开发中(不稳定)(2022-10-25 r83175) ##平台:x86_64-pc-linux-gnu(64位)##运行在Ubuntu 22.04.1 LTS ## ##矩阵产品:默认## BLAS: /home/biocbuild/bbs-3.17-bioc/R/lib/libRblas。so ## LAPACK: /usr/lib/x86_64-linux-gnu/ LAPACK /liblapack.so.3.10.0 ## ## locale: ## [1] LC_CTYPE=en_US。UTF-8 LC_NUMERIC= c# # [3] LC_TIME=en_GB LC_COLLATE= c# # [5] LC_MONETARY=en_US。utf - 8 LC_MESSAGES = en_US。UTF-8 ## [7] LC_PAPER=en_US。UTF-8 LC_NAME= c# # [9] LC_ADDRESS=C lc_phone = c# # [11] LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION=C ## ##附加的基础包:## [1]stats4 stats graphics grDevices utils datasets methods ##[8]基础## ##其他附加包:## [1]reactome.db_1.82.0 org.Hs.eg.db_3.16.0 AnnotationDbi_1.61.0 ## [4] IRanges_2.33.0 S4Vectors_0.37.0 Biobase_2.59.0 ## [7] BiocGenerics_0.45.0 BioCor_1.23.0 BiocStyle_2.27.0 ## ##通过命名空间加载(且未附加):## [4] RSQLite_2.2.18 stringi_1.7.8 digest_0.6.30 ## [7] magrittr_2.0.3 grid_4.3.0 evaluate_0.17 ## [10] bookdown_0.29 GO.db_3.16.0 fastmap_1.1.0 ## [13] blob_1.2.3 Matrix_1.5-1 jsonlite_1.8.3 ## [19] GSEABase_1.61.0 graph_1.77.0 GenomeInfoDb_1.35.0 ## [19] DBI_1.1.3 BiocManager_1.30.19 httr_1.4.4 ## [22] XML_3.99-0.12 Biostrings_2.67.0 codetools_0.2-18 ## [25] jquerylib_0.1.4 cli_3.4.1 rlang_1.0.6 ## [28] crayon_1.5.2 XVector_0.39.0 bit64_4.0.5 ## #[31] cachem_1.0.6 yaml_2.3.6 GOSemSim_2.25.0 ## [34] tools_4.3.0 parallel_4.3.0 BiocParallel_1.33.0 ## [37] annotate_1.77.0 memoise_2.0.1 GenomeInfoDbData_1.2.9 ## [40] vctrs_0.5.0 R6_2.5.1 png_0.1-7 ## [43] magick_2.7.3 zlibbioc_1.45.0 KEGGREST_1.39.0 ## [46] string_1 .4.1 bit_4.0.4 pkgconfig_2.0.3 ## [49] bslib_0.4.0 Rcpp_1.0.9 highr_0.9 ## [52] xfun_0.34 knitr_1.40 xtable_1.8 ## [55] htmltools_0.5.3 rmarkdown_2.17 compiler_4.3.0 ## [58] RCurl_1.98-1.9