1简介

BiocSet是一个以tibble格式表示元素集的包BiocSet类。元素集被读入并转换为tibble格式。从这里开始,典型的dplyr可以对元素集执行操作。BiocSet还提供了映射不同ID类型的功能,并为元素和集提供引用url。

2安装

安装Bioconductor的最新版本:

如果(!requireNamespace("BiocManager", quiet = TRUE)) install.packages("BiocManager")

开发版也可从GitHub安装:

BiocManager:安装(“Kayla-Morrell / BiocSet”)

然后加载BiocSet

库(BiocSet)

3.BiocSet

3.1输入与输出

BiocSet可以创建BiocSet对象使用两种不同的输入方法。第一种是输入元素集的命名字符向量。BiocSet返回三个tibbles,es_element它包含元素,es_set其中包含集合和es_elementset它包含元素和集合。

台< - BiocSet (set2 =中的字母,关于我校=字母)台# >类:BiocSet # > # > es_element(): # > #宠物猫:52×1 # >元素# > < >从而向1 # > # > 2 b # > 3 c  #> # ... 有49行# > # > es_set(): # > #宠物猫:2×1 # >设置# > < >从而向# > 1 set2 # > 2中的关于我校# > # > es_elementset() <活性>:# > #宠物猫:52×2 # >元素集# > <空空的> < >从而向1 # > set2 # > 2 b中的set2 # > 3 c中的set2。中的  #> # ... 有49行

创建的第二种方法BiocSet对象的读入.gmt文件。使用进口(),一个下载的路径.gmt文件被读入BiocSet对象返回。下面的示例使用从GSEA,也包括在此套餐中。这BiocSet包括一个列中的es_elementset用于参考元素集的来源。

gmtFile <- system. txt。file(package = "BiocSet", "extdata", " hallmarker .gene. signal .gmt") tbl2 <- import(gmtFile) tbl2 #> class: BiocSet #> #> es_element(): #> # A tibble: 4,386 × 1 #> element #>  #> 1 JUNB #> 2 CXCL2 #> 3 ATF3 #> #…with 4,383 more rows #> # b> es_set(): #> # A tibble:50 × 2 #> set source #>   #> 1 HALLMARK_TNFA_SIGNALING_VIA_NFKB http://www.broadinstitute.org/gsea/msigdb/ca…#> 2 HALLMARK_HYPOXIA http://www.broadinstitute.org/gsea/msigdb/ca…#> 3 hallmark_cholol_homeostasis http://www.broadinstitute.org/gsea/msigdb/ca…#> #…with 47 more rows #> #> es_elementset() : #> # A tibble:7324 × 2 #>元素集#>   #> 1 JUNB HALLMARK_TNFA_SIGNALING_VIA_NFKB #> 2 CXCL2 HALLMARK_TNFA_SIGNALING_VIA_NFKB #> 3 ATF3 HALLMARK_TNFA_SIGNALING_VIA_NFKB #> #

export ()允许BiocSet对象要导出到具有扩展名的临时文件.gmt

fl <- tempfile(fileext = ".gmt") gmt <- export(tbl2, fl) gmt #> GMTFile对象#>资源:/tmp/Rtmpy5FsQj/file2cbfe2199984b5.gmt

我们还支持导入文件来创建OBOSet对象,该对象扩展BiocSet类。默认值只显示执行某些任务所需的最基本的列数量,但是参数Extract_tag =一切还允许导入其他列。下面的工作流将演示如何使用导出和导入来创建可从GeneOntology访问的大型obo文件的一个更小的子集。

download.file("http://current.geneontology.org/ontology/go.obo", "obo_file.obo") foo <- import("obo_file. obo")Obo ", extract_tag = "everything") small_tst <- es_element(foo)[1,] %>% unnest("祖宗")%>% select("element", "祖宗")%>% unlist() %>% unique() small_oboset <- foo %>% filter_elementset(element %in% small_tst) fl <- tempfile(fileext = ".obo") export(small_oboset, fl)

然后,您可以导入我们在测试和示例代码中使用的这个较小的obo文件。

oboFile <- system。file(package = "BiocSet", "extdata", "sample_go.obo") obo #>类:OBOSet #> #> es_element(): #> # A tibble: 8 × 3 #>元素名称过时#>    #> 1 GO:0033955线粒体DNA继承FALSE #> 2 GO:0000002线粒体基因组维护FALSE #> 3 GO:0007005线粒体组织FALSE #> #…with 5 more rows #> #> es_set(): #> # A tibble: #>8 × 2 #> set name #>   #> 1 GO:0000002线粒体基因组维护#> 2 GO:0006996细胞器组织#> 3 GO:0007005线粒体组织#> #…with 5 more rows #> #> es_elementset() : #> # A tibble: 36 × 3 #>元素集is_a #>    #> 1 GO:0033955 GO:0000002 TRUE #> 2 GO:0000002 GO:0000002 FALSE #> 3 GO:0007005 GO:0006996 TRUE #> #…with 33 more rows

3.2实现的功能

可用于BiocSet是激活不同的tibbles来执行某些功能的能力。当一个BiocSet是创造的,tibblees_elementset自动激活,所有功能将在此tibble上执行。BiocSet采用多种常用的用法dplyr函数如filter ()select ()变异()总结(),安排().对于每个函数,用户都可以选择不同的tibble来激活和使用' verb_tibble '来工作。在函数执行之后,' active ' tibble将返回到函数调用之前活动的tibble。下面展示了这些函数如何工作的一些示例。

台< - BiocSet (set2 =中的字母,关于我校=字母)台# >类:BiocSet # > # > es_element(): # > #宠物猫:52×1 # >元素# > < >从而向1 # > # > 2 b # > 3 c  #> # ... 有49行# > # > es_set(): # > #宠物猫:2×1 # >设置# > < >从而向# > 1 set2 # > 2中的关于我校# > # > es_elementset() <活性>:# > #宠物猫:52×2 # >元素集# > <空空的> < >从而向1 # > set2 # > 2 b中的set2 # > 3 c中的set2。中的  #> # ... 有49行台% > % filter_element(元素= =”“| = =“a”)# >类:BiocSet # > # > es_element ():# > #宠物猫:2×1 # >元素# > < >从而向# > 1 # > 2 # > # > es_set(): # > #宠物猫:2×1 # >设置# > <装备> > 1号set2 # > 2中的关于我校# > # > es_elementset() <活性>:# > #宠物猫:2×2 # >元素集# > <空空的> < >从而向1 # > set2 # > 2中的一个关于我校资源% > % mutate_set (pval = rnorm(1:2)) # >类:BiocSet # > # > es_element(): # > #宠物猫:52×1 # >元素# > < >从而向1 # > # > 2 b # > 3 c  #> # ... 有49行# > # > es_set(): # > #宠物猫:2×2 # >设置pval # > <空空的> <双> # > 1 set2 1.37中的# 1.02 # > # > > 2关于我校es_elementset() <活性>:# > #宠物猫:52×2 # >元素集# > <空空的> < >从而向1 # > set2 # > 2 b中的set2 # > 3 c中的set2。中的  #> # ... 有49行台% > % arrange_elementset (desc(元素))# >类:BiocSet # > # > es_element(): # > #宠物猫:52×1 # >元素# > < >从而向1 # > # > 2 b # > 3 c  #> # ... 有49行# > # > es_set(): # > #宠物猫:2×1 # >设置# > < >从而向# > 1 set2 # > 2中的关于我校# > # > es_elementset() <活性>:# > #宠物猫:52 × 2 #>元素集#>   #> 1 z set1 #> 2 y set1 #> 3 x set1 #> #

3.3集合操作

BiocSet对象上执行常用的集合操作BiocSet对象。联盟()而且十字路口()两个set操作是否可用BiocSet.我们将演示用户如何找到两个并集BiocSet对象或在单个对象中BiocSet对象。交集的用法与此相同。

#两个BiocSet对象联盟es1 < - BiocSet (set2 =中的字母c(1:3),关于我校=字母(1:3)[c]) es2 < - BiocSet (set2 =中的字母c(2:4),关于我校=字母(2:4)[c])联盟(es1, es2) # >类:BiocSet # > # > es_element(): # > #宠物猫:8×1 # >元素# > < >从而向1 # > # > 2 b # > 3 c  #> # ... 有5行# > # > es_set(): # > #宠物猫:2×1 # >设置# > < >从而向# > 1 set2 # > 2中的关于我校# > # > es_elementset() <活性>:# > #宠物猫:8×2 # >元素集# > <空空的> < >从而向1 # > set2 # > 2 b中的set2 # > 3 c中的set2。中的  #> # ... 与# 5行工会在单个BiocSet对象胡< - BiocSet (set2 =中的字母c(1:10),关于我校=字母(4:20)[c]) union_single(胡)# >类:BiocSet # > # > es_element(): # > #宠物猫:20×1 # >元素# > < >从而向1 # > # > 2 b # > 3 c  #> # ... 与17行# > # > es_set(): # > #宠物猫:1×1 # >设置# > < >从而向# # # > > > 1联盟es_elementset() <活性>:# > #宠物猫:20 × 2 #>元素集#>   #> 1 a union #> 2 b union #> 3 c union #> #

4案例研究一

接下来,我们将演示的几个用法BiocSet用实验数据集气道从包装来看气道.该数据来自呼吸道平滑肌(ASM)细胞系的RNA-Seq实验。

第一步是加载库和必要的数据。

库(气道)数据(“气道”)se <-气道

这个函数go_sets ()从org对象中发现键并使用AnnotationDbi:选择来创建到GO id的映射。go_sets ()还允许用户在选择GO id时指明他们想要的证据类型或本体类型。默认情况是使用所有证据类型和所有本体类型。我们用a表示这些恒等式BiocSet对象。使用go_sets函数中,我们能够从人类数据的基因组注释中映射Ensembl id和GO idorg.Hs.eg.db包中。Ensembl id被视为元素,而GO id被视为集合。

库(org.Hs.eg.db)去< - go_sets (org.Hs.eg.db,“运用”)# >类:BiocSet # > # > es_element(): # > #宠物猫:23153×1 # >元素# > < >从而向# > 1 ENSG00000151729 # > 2 ENSG00000025708 # > 3 ENSG00000068305  #> # ... 与23150多行# > # > es_set(): # > #宠物猫:18933×1 # >设置# > < >从而向# > 1:0000002 # > 2:0000003 # > 3:0000003  #> # ... 与18930多行# > # > es_elementset() <活性>:# > #宠物猫:337509×2 # >元素集# > <空空的> <装备> > 1号ENSG00000151729: 0000002 # > 2 ENSG00000025708: 0000002 # > 3 ENSG00000068305: 0000002  #> # ... # 337506多行构造子集的一个例子,证据类型go_sets (org.Hs.eg.db,“运用”,证据= c(“他们”,“助教”))# >类:BiocSet # > # > es_element(): # > #宠物猫:17466×1 # >元素# > < >从而向# > 1 ENSG00000151729 # > 2 ENSG00000168685 # > 3 ENSG00000114030  #> # ... 与17463多行# > # > es_set(): # > #宠物猫:4518 × 2 #> set evidence #>   #> 1 GO:0000002  #> 2 GO:0000018  #> 3 GO:0000019  #> # with 4,515 more rows #> # A tibble: 57,724 × 2 #> elementset #>   #> 1 ENSG00000151729 GO:0000002 #> 2 ENSG00000168685 GO:0000018 #> 3 ENSG00000114030 GO:0000018 #> # with 57,721 more rows

有些用户可能对报告非描述性元素不感兴趣。的子集气道数据包括非零分析,然后过滤掉非描述性元素。

se1 = se (rowSums(化验(se)) ! = 0,)去% > % filter_element(元素% % rownames (se1)) # >类:BiocSet # > # > es_element(): # > #宠物猫:16659×1 # >元素# > < >从而向# > 1 ENSG00000151729 # > 2 ENSG00000025708 # > 3 ENSG00000068305  #> # ... 与16656多行# > # > es_set(): # > #宠物猫:18933×1 # >设置# > < >从而向# > 1:0000002 # > 2:0000003 # > 3:0000003  #> # ... 与18930多行# > # > es_elementset() <活性>:# > #宠物猫:263,502 × 2 #>元素集#>   #> 1 ENSG00000151729 GO:0000002 #> 2 ENSG00000025708 GO:0000002 #> 3 ENSG00000068305 GO:0000002 #> #…with 263,499 more rows

用户也可能感兴趣的是知道每个集合中有多少个元素。使用函数,我们可以计算每个集合的元素。

go %>% group_by(set) %>% dplyr::count() #>警告:' group_by() '的' add '参数从dplyr 1.0.0开始已弃用。#>ℹ请使用'。改为添加'参数。#>ℹ已弃用的特性可能在dplyr包中使用。#>请在报告问题。#> # A tibble: 18933 × 2 #> # Groups: set [18933] #> set n #>   #> 1 GO:0000002 12 #> 2 GO:0000003 4 #> 3 GO:0000009 2 #> 4 GO:0000010 2 #> 5 GO:0000012 11 #> 6 GO:0000014 9 #> 8 GO:0000016 1 #> 9 GO:0000017 2 #> 10 GO:0000018 6 #> #

删除空集也可能有帮助。因为我们已经展示了如何计算每个集合的元素数量,所以我们知道这个数据集不包含任何空集。我们决定为那些可能需要此功能的用户进行演示。

Drop <- es_activate(go, elementset) %>% group_by(set) %>% dplyr::count() %>% filter(n == 0) %>% pull(set) go %>% filter_set(!(集% %下降))# >类:BiocSet # > # > es_element(): # > #宠物猫:23153×1 # >元素# > < >从而向# > 1 ENSG00000151729 # > 2 ENSG00000025708 # > 3 ENSG00000068305  #> # ... 与23150多行# > # > es_set(): # > #宠物猫:18933×1 # >设置# > < >从而向# > 1:0000002 # > 2:0000003 # > 3:0000003  #> # ... 与18930多行# > # > es_elementset() <活性>:# > #宠物猫:337,509 × 2 #>元素集#>   #> 1 ENSG00000151729 GO:0000002 #> 2 ENSG00000025708 GO:0000002 #> 3 ENSG00000068305 GO:0000002 #> #…with 337,506 more rows

为了简化映射,我们创建了一对地图功能。map_unique ()当已知1:1映射时使用,这需要四个参数,一个BiocSet对象,一个AnnotationDbi对象、要从中映射的id和要映射到的id。map_multiple ()需要第五个参数来指示函数在存在多个映射时应如何处理元素。两个函数都利用mapIdsAnnotationDbi并返回BiocSet对象。在下面的例子中,我们将展示如何使用map_unique映射的id从ensemble到基因符号。

#> join, by = "element" #> #> es_element(): #> # A tibble: 20386 × 1 #> element #>  # b> 1 AKT3 #> 2 LONP1 #> 3 MEF2A #> #…with 20383 more rows #> #> es_set(): #> # A tibble:18933 × 1 #> set #> < bbr > #> 1 GO:0000002 #> 2 GO:0000003 #> 3 GO:0000009 #> # with 18,930 more rows #> #> es_elementset() : #> # A tibble: 298,776 × 2 #> elementset #>   #> 1 AKT3 GO:0000002 #> 2 LONP1 GO:0000002 #> 3 MEF2A GO:0000002 #> #…with 298,773 more rows

的另一个功能BiocSet是向tibbles添加信息的能力。使用GO.db库中我们能够将定义映射到GO id。从那里,我们可以添加映射到tibble使用map_add ()还有变异函数。

library(go .db) map <- map_add_set(go, go .db, "GOID", "DEFINITION") go %>% mutate_set(DEFINITION = map) #> class: BiocSet #> #> es_element(): #> # A tibble: 23,153 × 1 #> element #>  #> 1 ENSG00000151729 #> 2 ENSG00000025708 #> 3 ENSG00000068305 #> # with 23,150 more rows # b> #> es_set(): #> # A tibble:18933 × 2 #>集合定义#>   #> 1 GO:0000002线粒体结构和完整性的维护#> 2 GO:0000003新个体的产生,其中包含gen的某些部分#> 3 GO:0000009甘露糖残渣转移到低聚糖的催化#> #…与18,930多行#> #> es_elementset() <活性>:#> #一个tibble:337,509 × 2 #>元素集#>   #> 1 ENSG00000151729 GO:0000002 #> 2 ENSG00000025708 GO:0000002 #> 3 ENSG00000068305 GO:0000002 #> #…with 337,506 more rows

图书馆KEGGREST是KEGG REST服务器的客户端接口。KEGG包含了代表各种生物过程和疾病的相互作用、反应和关系网络的通路图。BiocSet有没有利用的功能KEGGREST发展一个BiocSet对象,该对象包含KEGG中每个路径映射的元素。

由于KEGGREST包的局限性,kegg_sets可能需要一些时间来运行,这取决于感兴趣的物种的路径数量。因此我们用BiocFileCache使数据对用户可用。

library(BiocFileCache) rname <- "kegg_hsa" exists <- NROW(bfcquery(query=rname, field="rname")) != 0L if (!exists) {kegg <- kegg_sets("hsa") fl <- bfcnew(rname =rname, ext =" .gmt") export(kegg_sets("hsa"), fl)} kegg <- import(bfcrpath(rname=rname))

kegg_sets ()函数删除不包含任何元素的路径。的元素使元素tibble发生突变map_add函数包含Ensembl和Entrez id。

map <- map_add_element(kegg, org.Hs.eg.db, "ENTREZID", "ENSEMBL") #> 'select()'返回1:多个键和列之间的映射kegg <- kegg %>% mutate_element(ENSEMBL = map)

由于我们使用的是ASM数据,我们认为我们可以将气道数据只包含哮喘途径中的元素。这个过滤器是在KEGG id上执行的,对于哮喘来说,KEGG id是“hsa05310”。

哮喘<- kegg %>% filter_set(set == "hsa05310") se <- se[rownames(se) %in% es_element(asthma)$ensembl,] se #> class: rangedsummarize实验#> dim: 7933 8 #> metadata(1): " #> assays(1): counts #> rownames(7933): ENSG00000000419 ENSG00000000938…ENSG00000273079 #> ENSG00000273085 #> rowData names(0): #> colnames(8): SRR1039508 SRR1039509…SRR1039520 SRR1039521 #> colData names(9): SampleName cell…样本BioSample

也可以对多条路径进行过滤。

pathways <- c("hsa05310", "hsa04110", "hsa05224", "hsa04970") multipaths <- kegg %>% filter_set(set %in% pathways) multipaths #> class: BiocSet #> #> es_element(): #> # A tibble: 8183 × 2 #> element ensembl #>   #> 1 3101 ENSG00000160883 #> 2 3098 ENSG00000156515 #> 3 3099 ENSG00000159399 # b> # with 8,180 more rows #> #> es_set(): #> # A tibble: #>4 × 2 #> set source #>   #> 1 hsa04110  #> 2 hsa04970  #> 3 hsa05224  #> # with 1 more row #> # b> es_elementset() : #> # A tibble: 397 × 2 #> elementset #>   #> 1 595 hsa04110 #> 2 894 hsa04110 #> 3 896 hsa04110 #> # with 394 more rows

5案例研究二

此示例将以与案例研究一开始相同的方式开始,即加载气道数据集,但我们也会对数据进行一些重新格式化。最终目标是能够对数据执行基因集富集分析,并返回基因集的BiocSet对象。

数据("气道")气道$dex <-重新level(气道$dex, "untrt")

与其他分析类似,我们对气道使用图书馆的数据DESeq2然后将结果存储到tibble中。

库(DESeq2)库(tibble) des <- DESeqDataSet(airway, design = ~ cell + dex) des <- DESeq(des) #>估计大小因子#>估计分散#>基因分散估计#>均值-分散关系#>最终分散估计#>拟合模型和测试res <- results(des) tbl <- res %>% as.data.frame() %>% as_tibble(rownames = "ENSEMBL")

因为我们要用limma: goana ()为了执行GSEA,我们需要在数据中有ENTREZ标识符,并过滤掉一些NA信息。稍后,这将被视为我们的“元素”tibble。

tbl <- tbl %>% mutate(ENTREZID = mapIds(org.Hs.eg.db, ENSEMBL, "ENTREZID", "ENSEMBL") %>% unname()) #> 'select()'返回1:many mapping between key and columns tbl <- tbl %>% filter(!is.na(padj), !is.na(ENTREZID)) tbl #> # A tibble: 15,161 × 8 #> ENSEMBL baseMean log2FoldChange lfcSE stat pvalue padj ENTRE…¹#>         #> 1 ENSG00000000003 709。-0.381 0.101 -3.79 1.52e-4 1.28e-3 7105 #> 2 ENSG00000000419 520。0.207 0.112 1.84 6.53e-2 1.97e-1 8813 #> 3 ENSG00000000457 237。0.0379 0.143 0.264 7.92e-1 9.11e-1 57147 #> 4 ENSG00000000460 57.9 -0.0882 0.287 -0.307 7.59e-1 8.95e-1 55732 #> 5 ENSG00000000971 5817。0.426 0.0883 4.83 1.38e-6 1.82e-5 3075 #> 6 ENSG00000001036 1282。-0.241 0.0887 -2.72 6.58e-3 3.28e-2 2519 #> 7 ENSG00000001084 610。-0.0476 0.167 -0.286 7.75e-1 9.053 e-1 2729 #> 8 ENSG00000001167 369。-0.500 0.121 -4.14 3.48e-5 3.42e-4 4800 #> 9 ENSG00000001460 183。-0.124 0.180 -0.689 4.91e-1 7.24e-1 90529 #> 10 ENSG00000001461 2814。-0.0411 0.103 -0.400 6.89e-1 8.57e-1 57185 #> #…多15,151行,缩写变量名¹ENTREZID

现在已经为GSEA准备好了数据,我们可以继续使用了goana ()然后把结果做成画报。这将被认为是我们的'集' tibble。

下面的对象是蒙面从'package:DESeq2': #> #> plotMA #>下面的对象是蒙面从'package:BiocGenerics: #> #> plotMA go_ids <- goana(tbl$ENTREZID[tbl$padj < 0.05], tbl$ENTREZID, "Hs") %>% as.data.frame() %>% as_tibble(rownames = "GOALL") go_ids #> # A tibble:21359 × 6 #> GOALL Term Ont N DE P.DE #>       #> 1 GO:0008150 biological_process BP 12429 3409 2.16e-57 #> 2 GO:0000003 reproduction BP 972 293 8.12e- 5 #> 3 GO:0001553黄体化BP 10 6 1.94e- 2 #> 4 GO:0001867补体活化,凝集素通路BP 6 3 1.68e- 1 #> 5 GO:0001868补体活化调控,l…BP 21 4.37e- 1 #> 6 GO:0001869补体作用的负调控…BP 21 4.37e- 1 #> 7 GO:0002252免疫效应过程BP 375 124 2.12e- 4 #> 8 GO:0002253免疫反应的激活BP 187 65 1.62e- 3 #> 9 GO:0002376免疫系统过程BP 1712 587 2.09e-20 #> 10 GO:0002437对抗原sti的炎症反应…BP 35 12 1.40e- 1 #> #

我们需要做的最后一件事是创建一个tibble,我们将其视为我们的' elementset ' tibble。这个tibble将是所有元素和集合的映射。

foo <- AnnotationDbi::select(org.Hs.eg.db, tbl$ENTREZID, "GOALL", "ENTREZID") %>% as_tibble() #> 'select()'返回多个:多个键和列之间的映射foo <- foo %>% dplyr::select(- evidenceall) %>% distinct() foo <- foo %>% filter(ONTOLOGYALL == "BP") %>% dplyr::select(-ONTOLOGYALL) foo #> # A tibble:1060,445 × 2 #> ENTREZID GOALL #>   #> 1 7105 GO:0002221 #> 2 7105 GO:0002376 #> 4 7105 GO:0002753 #> 5 7105 GO:0002764 #> 6 7105 GO:0002831 #> 7 7105 GO:0002832 #> 8 7105 GO:0006950 # b> 9 7105 GO:0006952 #> 10 7105 GO:0006955 #> #…with 1,060,435 more rows

这个函数BiocSet_from_elementset ()允许用户从tibbles创建一个BiocSet对象。当tibble中包含的元数据应该在BiocSet对象中时,此函数非常有用。为了使该函数正常工作,需要正确命名所连接的列。例如,为了在我们创建的tibbles上使用这个函数,我们需要将' element ' tibble中的列更改为' element ', ' set ' tibble中的列更改为' set ', ' elementset ' tibble也将如此。下面我们将对此进行演示,然后使用简单的函数创建BiocSet对象。

foo <- foo %>% dplyr::rename(element = ENTREZID, set = GOALL) tbl <- tbl %>% dplyr::rename(element = ENTREZID) go_ids <- go_ids %>% dplyr::rename(set = GOALL) es <- BiocSet_from_elementset(foo, tbl, go_ids) #> 'element'中的元素比'elementset'中的元素多#> 'set'中的元素比'elementset'中的元素多#>类:BiocSet #> #> es_element(): #> #一个tibble:12436 × 8 #> element ENSEMBL baseMean log2FoldChange lfcSE stat pvalue padj# >         #> 1 3980 ENSG00000005156 206。-0.393 0.172 -2.29 2.23e- 2 8.66e-2 #> 2 1890 ENSG00000025708 145。1.23 0.199 6.18 6.58e-10 1.49e-8 #> 3 50484 ENSG00000048392 1407。6.80 -0.0701 0.0902 -0.778 4.37 e - 1 e 1  #> # ... 与12433多行# > # > es_set(): # > #宠物猫:14854×6 # >设置项观察N DE P.DE # > <空空的> <空空的> <空空的> <双> <双> <双> > 1号:0000002线粒体基因组维护BP 30 6 0.795 # > 2: 0000003繁殖BP 972 293 0.0000812 # > 3: 0000012单链断裂修复BP 11 1 0.957  #> # ... 与14851多行# > # > es_elementset() <活性>:# > #宠物猫:1,060,445 × 2 #>元素集#>   #> 1 3980 GO:0000002 #> 2 1890 GO:0000002 #> 3 50484 GO:0000002 #> #

对于那些可能需要将这个元数据填充的BiocSet对象放回类似GRanges或summarizeexperimental的对象中的用户,我们已经创建了允许将BiocSet对象创建到tibble或data.frame中的函数。

tibble_from_element(es) #>连接,by = "set" #>连接,by = "element" #> #一个tibble:12429×14 # >元素设置项安大略省的N DE P.DE运用部队……¹log2F…²lfcSE # > <空空的> <列表> <列表> < lis > < lis > < lis > < lis > <列表> <列表> <列表> < lis > # 1 1 > <空空的> <空空的> <空空的> <双> <双> <双> <空空的> <双> <双> <双> # > 100 <空空的> <空空的> <空空的> <双> <双> <双> <空空的> <双> <双> <双> # > 1000 <空空的> <空空的> <空空的> <双> <双> <双> <空空的> <双> <双> <双> # > 10000 <空空的> <空空的> <空空的> <双> <双> <双> <空空的> <双> <双> <双> # > 10001 <空空的> <空空的> <空空的> <双> <双> <双> <空空的> <双> <双> <双> # >610003           #> 7 10004           #> 8 100048912           #> 9 10005           #> 10 10006           #> # … with 12,419 more rows, 3 more variables: stat , pvalue , #> # padj , and abbreviated variable names ¹baseMean, ²log2FoldChange head(data.frame_from_elementset(es)) #> Joining, by = "set" #> Joining, by = "element" #> element set Term Ont N DE P.DE #> 1 3980 GO:0000002 mitochondrial genome maintenance BP 30 6 0.795464 #> 2 1890 GO:0000002 mitochondrial genome maintenance BP 30 6 0.795464 #> 3 50484 GO:0000002 mitochondrial genome maintenance BP 30 6 0.795464 #> 4 4205 GO:0000002 mitochondrial genome maintenance BP 30 6 0.795464 #> 5 64863 GO:0000002 mitochondrial genome maintenance BP 30 6 0.795464 #> 6 9093 GO:0000002 mitochondrial genome maintenance BP 30 6 0.795464 #> ENSEMBL baseMean log2FoldChange lfcSE stat pvalue #> 1 ENSG00000005156 205.6627 -0.39272067 0.17180717 -2.2858223 2.226466e-02 #> 2 ENSG00000025708 144.6965 1.23104228 0.19933257 6.1758212 6.582046e-10 #> 3 ENSG00000048392 1406.6344 -0.07014829 0.09020226 -0.7776778 4.367590e-01 #> 4 ENSG00000068305 1565.5675 0.52905471 0.09186326 5.7591547 8.453618e-09 #> 5 ENSG00000101574 179.0598 0.04924321 0.15446981 0.3187886 7.498869e-01 #> 6 ENSG00000103423 670.6312 -0.04006479 0.09900566 -0.4046718 6.857188e-01 #> padj #> 1 8.661787e-02 #> 2 1.494473e-08 #> 3 6.803673e-01 #> 4 1.636969e-07 #> 5 8.909389e-01 #> 6 8.544470e-01

6信息查询

最后一个特点BiocSet是添加关于所有元素/集的引用信息的能力。用户可以使用该功能url_ref ()控件中添加信息BiocSet对象。如果用户对某个特定id有疑问,那么他们可以通过参考url获取更多信息。下面是一个使用的例子url_ref ()方法添加引用url我们上面使用的数据集。

url_ref(去)# >类:BiocSet # > # > es_element(): # > #宠物猫:23153×2 # >元素的url # > <空空的> < >从而向# > 1 ENSG00000151729 https://www.ensembl.org/Homo_sapiens/Gene/Summary?db=core; g = E…# > 2 ENSG00000025708 https://www.ensembl.org/Homo_sapiens/Gene/Summary?db=core; g = E…# > 3 ENSG00000068305 https://www.ensembl.org/Homo_sapiens/Gene/Summary?db=core; g = E ... #> # ... 与23150多行# > # > es_set(): # > #宠物猫:18933 × 2 #>设置url #>   #> 1 GO:0000002 http://amigo.geneontology.org/amigo/medial_search?q=GO:0000002 #> 2 GO:0000003 http://amigo.geneontology.org/amigo/medial_search?q=GO:0000003 #> 3 GO:0000009 http://amigo.geneontology.org/amigo/medial_search?q=GO:0000009 #> #…with 18,930 more rows #> #> es_elementset() : #> # A tibble:337,509 × 2 #>元素集#>   #> 1 ENSG00000151729 GO:0000002 #> 2 ENSG00000025708 GO:0000002 #> 3 ENSG00000068305 GO:0000002 #> #…with 337,506 more rows

7会话信息

sessionInfo() #> R正在开发中(不稳定)(2022-12-10 r83428) #>平台: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_TELEPHONE= c# > [11] LC_MEASUREMENT=en_US。UTF-8 LC_IDENTIFICATION= c# > #>时区:美国/New_York #> tzcode源代码:system (glibc) #> #>附加基础包:#> [1]stats4 stats graphics grDevices utils datasets methods #>[8]基础#> #>其他附加包:# > [1] limma_3.55.2 tibble_3.1.8 # > [3] DESeq2_1.39.3 BiocFileCache_2.7.1 # > [5] dbplyr_2.2.1 GO.db_3.16.0 # > [7] org.Hs.eg.db_3.16.0 AnnotationDbi_1.61.0 # > [9] airway_1.19.0 SummarizedExperiment_1.29.1 # > [11] Biobase_2.59.0 GenomicRanges_1.51.4 # > [13] GenomeInfoDb_1.35.9 IRanges_2.33.0 # > [15] S4Vectors_0.37.3 BiocGenerics_0.45.0 # > [17] MatrixGenerics_1.11.0 matrixStats_0.63.0 # > [19] BiocSet_1.13.1 dplyr_1.0.10 # > [21] BiocStyle_2.27.0 # > # >加载通过名称空间(而不是附加):#> [4] Biostrings_2.67.0 bitops_1.0-7 fastmap_1.1.0 #> [7] RCurl_1.98-1.9 XML_3.99-0.13 digest_0.6.31 #> [10] lifecycle_1.0.3 ellipsis_0.3.2 keggrest_1 .0.3 compiler_4.3.0 #> [16] rlang_1.0.6 sass_0.4.4 tools_4.3.0 #> [19] utf8_1.2.2 yaml_2.3.6 knitr_1.41 #> [22] ontologyIndex_2.10 bit_4.0.5 curl_1 .3.3 #> [25] DelayedArray_0.25.0 RColorBrewer_1.1-3 plyr_1.8.8 #> [28] BiocParallel_1.33.9 withr_2.5.0purrr_1.0.0 #> [31] grid_4.3.0 fansi_1.0.3 colorspace_2.0-3 #> [34] xtable_1. 4 ggplot2_3.4.0 scales_1.2.1 #> [40] generics_0.1.3 httr_1.4.4 DBI_1.1.3 #> [43] cachem_1.0.6 string_1 .5.0 zlibbioc_1.45.0 #> [46] assertthat_0.2.1 parallel_4.3.0 formatR_1.13 #> [49] BiocManager_1.30.19 XVector_0.39.0 vctrs_0.5.1 #> [52] Matrix_1.5-3 jsonlite_1.8.4 bookdown_0.31 #> [55] geneplotter_1.77.0 bit64_4.0.5 locfit_1.5-9.6 #> [58] tidyr_1.2.1 jquerylib_0.1.4annotate_1.77.0 #> [61] glue_1.6.2 codetools_0.2-18 gtable_0.3.1 #> [64] stringi_1.7.8 BiocIO_1.9.1 munsell_0.5.0 #> [67] pillar_1.8.1 htmltools_0.5.4 GenomeInfoDbData_1.2.9 #> [70] R6_2.5.1 evaluate_0.19 lattice_0.20-45 #> [73] png_0.1-8 memoise_2.0.1 bslib_0.4.2 #> [76] Rcpp_1.0.9 xfun_0.36 pkgconfig_2.0.3