1介绍

1.1安装

的方式Bioconductor包,因此应该安装使用专用的功能吗

# #试试http://如果不支持https:// url (!requireNamespace (“BiocManager”,悄悄地= TRUE)) install.packages (“BiocManager”) BiocManager::安装(“高校”)

1.2得到帮助

寻求帮助,把你的问题上Bioconductor支持网站或打开一个问题的方式github页面

1.3资源

本体查询服务(OLS) [1,2最初的副产品蛋白质组学鉴定数据库(骄傲)服务,位于EBI和现在的开发和维护样本,表型和本体在EMBL-EBI团队。

1.4这个包

OLS提供了一个REST接口的本体从单一位置与一个统一的输出格式。的的方式包使这一切成为可能从内部r .做这样做,它依赖于httr包查询REST接口,并访问和检索数据。

有280个本体可用OLS,在下表中列出。他们的名字是用来定义本体查询。

2一个简短的方式概述

的方式包是建立在几类,使查询OLS和检索、存储和操作数据。每一个类描述的更多细节在各自的手册页。我们首先加载方案。

库(“高校”)

2.1本体

本体本体多个本体的类可以存储信息单。后者可以很容易地使用子集([[,作为一个列表。

ol ol < -本体()
# #对象的类“本体”条目# 280 # ONTOAVIDA, PCL……CCF, TF4S
头(olsNamespace (ol))
# # ontoavida pcl shareloc ado proco vbo # #“ontoavida”“pcl”“shareloc”“麻烦”“proco”“vbo”
ol[["去"]]
# #本体:基因本体论(去)# #基因本体论(去)提供了一个框架,为# #设置的概念描述从所有生物基因产物的功能。# #加载:2022-09-16更新:2022-09-16版:2022-09-16 # # 50918条款68 0个人属性

也可以初始化一个本体

< -本体(“走”)
# #本体:基因本体论(去)# #基因本体论(去)提供了一个框架,为# #设置的概念描述从所有生物基因产物的功能。# #加载:2022-09-16更新:2022-09-16版:2022-09-16 # # 50918条款68 0个人属性

2.2条款

单一存储在本体术语术语对象。当更多的条款需要操纵,他们被存储为条款对象。很容易获得所有的感兴趣的本体,以及由此产生的条款对象可以使用子集([[,作为一个列表。

gotrms < -术语(去)# #或术语gotrms(“走”)
# #对象的类与50919年“条款”条目去本体# # # #:0005230,去:0015276…:0032942,去:0032947
gotrms [1:10]
与10 # #对象的类“条款”条目去本体# # # #:0005230,去:0015276…:0001819,去:0044831
gotrms [[": 0090575 "]]
从本体:# #一个术语:0090575 # #标签:RNA聚合酶II转录监管机构复杂的# #没有描述

也可以初始化一个任期

trm < -术语(去,“去:0090575”)termId (trm)
# #[1]“去:0090575”
termLabel (trm)
# # [1]“RNA聚合酶II转录监管机构复杂”

然后可以提取的祖先,的后代,父母孩子们条款。每一个函数返回一个条款对象

父母(trm)
# #对象的类“条款”2项去本体# # # #:0005667,去:0140513
孩子(trm)
# #对象的类“条款”与38项去本体# # # #:0062071,去:0008230…:0034718,去:0030232

类似地,组成部分derivesFrom函数返回一个输入项的条款的一部分,来自。

最后,一个词或术语对象可以强迫data.frame使用为(x,“data.frame”)

2.3属性

属性(关系)的单个或多个术语或完整的本体可以查询的属性所示的方法,如简单。

trm < -术语(“uberon”、“uberon: 0002107”)测试请求信息
# # UBERON本体中的一个术语:UBERON: 0002107 # #标签:肝脏# #没有描述
p < -属性(trm) p
# #的对象类的属性与147个条目UBERON本体的# # # #的消化系统腺,腹部元素……脊椎动物胆汁,脊椎动物门< >
p [[1]]
# # UBERON本体属性:UBERON: 0006925 # #标签:消化系统
termLabel (p [[1]])
# #[1]“消化系统腺”

3用例

研究员trans-Golgi网络可能会感兴趣。搜索的OLS是有保证的OlsSearcholsSearch类/函数。第一步是定义的搜索查询OlsSearch,如下所示。这将创建一个搜索的对象类OlsSearch存储查询及其参数。在记录请求的结果(默认值是20)的数量和总数量的可能结果(所有本体有17972个结果,在这种情况下)。在这个阶段,尚未下载结果,由0响应如图所示。

OlsSearch (q =“trans-golgi网络”)
# #对象的类“OlsSearch”: # #查询:trans-golgi网络# #要求:20(17972)# #响应(s): 0

17972年可能是太多的相关结果。下面我们展示如何执行一个精确的搜索通过设置确切= TRUE,限制搜索本体通过指定本体= "去",或者双管齐下。

OlsSearch (q =“trans-golgi网络”,确切= TRUE)
# #对象的类“OlsSearch”: # #查询:trans-golgi网络# #要求:20(12)# #响应(s): 0
OlsSearch (q =“trans-golgi网络”,本体=“走”)
# #对象的类“OlsSearch”: # # ontolgy: # #查询:trans-golgi网络# #要求:20(368)# #响应(s): 0
OlsSearch (q =“trans-golgi网络”,本体=“走”,确切= TRUE)
# #对象的类“OlsSearch”: # # ontolgy: # #查询:trans-golgi网络# #要求:20(1)# #响应(s): 0

一次设置参数设置想要的结果的数量。

OlsSearch (q =“trans-golgi网络”,本体=“走”,行= 200)
# #对象的类“OlsSearch”: # # ontolgy: # #查询:trans-golgi网络# #要求:200(368)# #响应(s): 0

另外,一个可以调用allRows函数来请求所有的结果。

(tgnq < OlsSearch (q =“trans-golgi网络”,本体=“走”))
# #对象的类“OlsSearch”: # # ontolgy: # #查询:trans-golgi网络# #要求:20(368)# #响应(s): 0
(tgnq < - allRows (tgnq))
# #对象的类“OlsSearch”: # # ontolgy: # #查询:trans-golgi网络# #要求:368(368)# #响应(s): 0

让我们进行准确的搜索和检索结果。即使我们要求默认的20个结果,只有12个相关结果将被检索。的olsSearch更新之前创建的对象(称为函数qry下图)通过添加结果。

qry < - OlsSearch (q =“trans-golgi网络”,确切= TRUE) (qry < - OlsSearch (qry))
# #对象的类“OlsSearch”: # #查询:trans-golgi网络# #要求:20(12)# #响应(s): 12

我们现在可以将这个搜索结果对象转换成一个完全成熟的条款对象或一个data.frame

(qtrms <——(qry“条款”))
# #警告asMethod(对象):1项未能被实例化。
# #对象的类“条款”的11个条目# # # # 8本体NCIT: C33802,省略:0020822……:0005802,去:0005802
str (qdrf <——(qry data.frame))
# #“data.frame”: 12奥林匹克广播服务公司。10个变量:# # $ id:空空的“ncit:类:http://purl.obolibrary.org/obo/NCIT_C33802”“省略:类:http://purl.obolibrary.org/obo/OMIT_0020822”“:类:http://purl.obolibrary.org/obo/GO_0005802”“cco: http://purl.obolibrary.org/obo/GO_0005802”…# # $ iri:空空的“http://purl.obolibrary.org/obo/NCIT_C33802”“http://purl.obolibrary.org/obo/OMIT_0020822”“http://purl.obolibrary.org/obo/GO_0005802”“http://purl.obolibrary.org/obo/GO_0005802”……# # $ short_form:空空的“NCIT_C33802”“OMIT_0020822”“GO_0005802”“GO_0005802”…# # $ obo_id:空空的“NCIT: C33802”“省略:0020822”“去:0005802”“去:0005802”……# # $标签:空空的“Trans-Golgi网络”“Trans-Golgi网络”“Trans-Golgi网络”“Trans-Golgi网络”……# # $描述:列表12 # # . .美元:空空的”网络,囊泡膜组件的花蕾的高尔基体蛋白,膜和ot”| __truncated__ # # . .美元:零# # . .美元:零# # . .美元:空空的“网络相互连接的管状和池状的结构位于高尔基体在d”| __truncated__ # # . .美元:空空的“网络相互连接的管状和池状的结构位于高尔基体在d”| __truncated__ # # . .美元:空空的“网络相互连接的管状和池状的结构位于高尔基体在d”| __truncated__ # # . .美元:空空的“网络相互连接的管状和池状的结构位于高尔基体在d”| __truncated__ # # . .美元:空空的“网络相互连接的管状和池状的结构位于高尔基体在d”| __truncated__ # # . .美元:空空的“网络相互连接的管状和池状的结构位于高尔基体在d”| __truncated__ # # . .美元:空空的“网络相互连接的管状和池状的结构位于高尔基体在d”| __truncated__ # # . .美元:空空的“网络相互连接的管状和池状的结构位于高尔基体在d”| __truncated__ # # . .美元:空空的“网络相互连接的管状和池状的结构位于高尔基体在d”| __truncated__ # # $ ontology_name:空空的“ncit”“省略”“走”“cco”… ## $ ontology_prefix : chr "NCIT" "OMIT" "GO" "CCO" ... ## $ type : chr "class" "class" "class" "class" ... ## $ is_defining_ontology: logi TRUE TRUE TRUE FALSE FALSE FALSE ...

在这种情况下,我们可以看到,我们在不同的本体检索相同的术语。在这种情况下,它可能是有用的只保留冗余项实例。在这里,这是相当于搜索ncit,省略,本体

qtrms < -独特(qtrms) termOntology (qtrms)
# # NCIT: C33802省略:0020822:0005802 # #“NCIT”“省略”“走”
termNamespace (qtrms)
# # $“NCIT: C33802”零# # # # # #的省略:0020822美元零# # # # # # $:0005802的# # [1]“cellular_component”

下面,我们执行相同的查询使用GO.db包中。

库(GO.db) GOTERM[[“去:0005802]]
# # GOID:去:0005802 # #术语:trans-Golgi网络# #本体:CC # #定义:网络相互连接的管状和池状的# #结构位于高尔基体的远端# #内质网,分泌囊泡的出现。# # trans-Golgi网络重要蛋白质的后期# #分泌,它被认为扮演一个关键的角色在分泌蛋白的排序和# #瞄准到正确的目的地。# #同义词:TGN # #同义词:反式高尔基网络# #同义词:高尔基反式面对# #同义词:高尔基trans-face # #同义词:高尔基体# #同义词:后期成熟面对# #同义词:反式的脸

4在线和离线数据

可以观察到不同的结果的方式GO.db由于不同的方式访问数据。的方式biomaRt执行直接在线查询,GO.db和其他注释包使用数据库快照更新每个版本。

这两种方法各有优势。在网上查询允许获得最新的最新信息,这种方法依赖于网络的可用性和质量。如果再现性是一个主要问题,数据库的版本与离线查询可以很容易地控制方法。在的情况下的方式本体,虽然加载一个特定的日期可以查询olsVersion,不可能查询本体的一个特定的版本。

52.0版本的变化

的方式2.0已经大大改变了。而下面的表格显示了一些新老之间的通信接口,这并非总是如此。依赖于新的接口本体/本体,术语/条款OlsSearch需要实例化的类,可以查询,如上所述。

< 1.99版本 版本> = 1.99
ontologyLoadDate olsLoadedolsUpdated
ontologyNames 本体
olsVersion olsVersion
allIds 条款
isIdObsolete isObsolete
rootId olsRoot
olsQuery OlsSearcholsSearch

目前并不是所有的功能都是可用的。如果有任何你需要但不是新版本中可用,请联系开设的维护问题包装上的说明开发网站。

6CVParams

CVParam类是用于处理受控词汇表。它可以用于用户定义的参数

CVParam (name = "用户参数”,value = "值")
# #(一个用户参数,价值)

或官方受控词汇表(OLS服务触发查询)

CVParam(加入标签=“女士”=“女士:1000073”)
# #(电喷雾电离,女士,女士:1000073)

看到CVParam ?为更多的细节和例子。

7会话信息

4.2.1(2022-06-23)准备# # # # R版本平台:x86_64-pc-linux-gnu(64位)# #下运行:Ubuntu 20.04.5 LTS # # # #矩阵产品:默认# #布拉斯特区:/home/biocbuild/bbs - 3.16 - bioc / R / lib / libRblas。所以# # LAPACK: /home/biocbuild/bbs - 3.16 - bioc / R / lib / libRlapack。所以附加基本包:# # # # # # [1]stats4统计图形grDevices跑龙套数据集方法# # # # # #[8]基地其他附加包:# # [1]DT_0.26 rols_2.26.0 GO.db_3.16.0 # # [4] AnnotationDbi_1.60.0 IRanges_2.32.0 S4Vectors_0.36.0 # # [7] Biobase_2.58.0 BiocGenerics_0.44.0 BiocStyle_2.26.0 # # # #通过加载一个名称空间(而不是附加):# # [1]KEGGREST_1.38.0 progress_1.2.2 xfun_0.34 # # [4] bslib_0.4.0 vctrs_0.5.0 htmltools_0.5.3 # # [7] yaml_2.3.6 blob_1.2.3 rlang_1.0.6 # # [10] jquerylib_0.1.4 DBI_1.1.3 bit64_4.0.5 # # [13] GenomeInfoDbData_1.2.9 lifecycle_1.0.3 stringr_1.4.1 # # [16] zlibbioc_1.44.0 Biostrings_2.66.0 htmlwidgets_1.5.4 # # [19] memoise_2.0.1 evaluate_0.17 knitr_1.40 # # [22] fastmap_1.1.0 crosstalk_1.2.0 GenomeInfoDb_1.34.0 # # [25] curl_4.3.3 Rcpp_1.0.9 BiocManager_1.30.19 # # [28] cachem_1.0.6 jsonlite_1.8.3 XVector_0.38.0 # # [31] bit_4.0.4 hms_1.1.2 png_0.1-7 # # [34] digest_0.6.30 stringi_1.7.8 bookdown_0.29 # # [37] cli_3.4.1 tools_4.2.1 bitops_1.0-7 # # [40] magrittr_2.0.3 sass_0.4.2 rcurl_1.98 - 1.9 # # [43] RSQLite_2.2.18 crayon_1.5.2 pkgconfig_2.0.3 # # [46] ellipsis_0.3.2 prettyunits_1.1.1 rmarkdown_2.17 # # [49] httr_1.4.4 R6_2.5.1 compiler_4.2.1