如何查询本体直接从R和查找服务如何创建和解析受控词汇表。
高校2.18.3
的方式Bioconductor包,因此应该安装使用专用的功能吗
# #试试http://如果不支持https:// url (!requireNamespace (“BiocManager”,悄悄地= TRUE)) install.packages (“BiocManager”) BiocManager::安装(“高校”)
寻求帮助,把你的问题上Bioconductor支持网站或打开一个问题的方式github页面。
的的方式包是建立在几类,使查询OLS和检索、存储和操作数据。每一个类描述的更多细节在各自的手册页。我们首先加载方案。
库(“高校”)
的本体
和本体
多个本体的类可以存储信息单。后者可以很容易地使用子集(
和[[
,作为一个列表。
ol ol < -本体()
# #对象的类“本体”与263条目# # AEO AFO……ZFS, ZP
头(olsNamespace (ol))
# # aeo afo农业amphx apo apollo_sv # #“aeo”“afo”“农业”“amphx”“13日”“apollo_sv”
ol[["去"]]
# #本体:基因本体论(去)# #基因本体论(去)提供了一个框架,为# #设置的概念描述从所有生物基因产物的功能。# #加载:2021-03-25更新:2021-03-31版:2021-03-31 # # 50515条款66 0个人属性
也可以初始化一个本体
< -本体(“走”)
# #本体:基因本体论(去)# #基因本体论(去)提供了一个框架,为# #设置的概念描述从所有生物基因产物的功能。# #加载:2021-03-25更新:2021-03-31版:2021-03-31 # # 50515条款66 0个人属性
单一存储在本体术语术语
对象。当更多的条款需要操纵,他们被存储为条款
对象。很容易获得所有的感兴趣的本体,以及由此产生的条款
对象可以使用子集(
和[[
,作为一个列表。
gotrms < -术语(去)# #或术语gotrms(“走”)
# #对象的类与50516年“条款”条目去本体# # # #:0005230,去:0015276…:0032942,去:0032947
gotrms [1:10]
与10 # #对象的类“条款”条目去本体# # # #:0005230,去:0015276…:0050794,去:0001819
gotrms [[": 0090575 "]]
从本体:# #一个术语:0090575 # #标签:RNA聚合酶II转录监管机构复杂的# #没有描述
也可以初始化一个任期
trm < -术语(去,“去:0090575”)termId (trm)
# #[1]“去:0090575”
termLabel (trm)
# # [1]“RNA聚合酶II转录监管机构复杂”
strwrap (termDesc (trm))
# #字符(0)
然后可以提取的祖先
,的后代
,父母
和孩子们
条款。每一个函数返回一个条款
对象
父母(trm)
# #对象的类“条款”2项去本体# # # #:0005667,去:0140513
孩子(trm)
# #对象的类“条款”与38项去本体# # # #:0062071,去:0008230…:0034718,去:0030232
类似地,组成部分
和derivesFrom
函数返回一个输入项的条款的一部分,来自。
最后,一个词或术语对象可以强迫data.frame
使用为(x,“data.frame”)
。
属性(关系)的单个或多个术语或完整的本体可以查询的属性
所示的方法,如简单。
trm < -术语(“uberon”、“uberon: 0002107”)测试请求信息
# # UBERON本体中的一个术语:UBERON: 0002107 # #标签:肝脏# #的外分泌腺分泌胆汁和功能在# #蛋白质和碳水化合物和脂肪,代谢合成物质参与# #血液的凝血,综合维生素A、解毒作用有毒# #物质,储存糖原,分解的红细胞(去)。
p < -属性(trm) p
# #的对象类的属性与125个条目UBERON本体的# # # #的消化系统腺,腹部元素……胆、肝小叶
p [[1]]
# # UBERON本体属性:UBERON: 0006925 # #标签:消化系统
termLabel (p [[1]])
# #[1]“消化系统腺”
研究员trans-Golgi网络可能会感兴趣。搜索的OLS是有保证的OlsSearch
和olsSearch
类/函数。第一步是定义的搜索查询OlsSearch
,如下所示。这将创建一个搜索的对象类OlsSearch
存储查询及其参数。在记录请求的结果(默认值是20)的数量和总数量的可能结果(所有本体有16491个结果,在这种情况下)。在这个阶段,尚未下载结果,由0响应如图所示。
OlsSearch (q =“trans-golgi网络”)
# #对象的类“OlsSearch”: # #查询:trans-golgi网络# #要求:20(16491)# #响应(s): 0
16491年可能是太多的相关结果。下面我们展示如何执行一个精确的搜索通过设置确切= TRUE
,限制搜索本体通过指定本体= "去"
,或者双管齐下。
OlsSearch (q =“trans-golgi网络”,确切= TRUE)
# #对象的类“OlsSearch”: # #查询:trans-golgi网络# #要求:20(10)# #响应(s): 0
OlsSearch (q =“trans-golgi网络”,本体=“走”)
# #对象的类“OlsSearch”: # # ontolgy: # #查询:trans-golgi网络# #要求:20(774)# #响应(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(774)# #响应(s): 0
另外,一个可以调用allRows
函数来请求所有的结果。
(tgnq < OlsSearch (q =“trans-golgi网络”,本体=“走”))
# #对象的类“OlsSearch”: # # ontolgy: # #查询:trans-golgi网络# #要求:20(774)# #响应(s): 0
(tgnq < - allRows (tgnq))
# #对象的类“OlsSearch”: # # ontolgy: # #查询:trans-golgi网络# #要求:774(774)# #响应(s): 0
让我们进行准确的搜索和检索结果。即使我们要求默认的20个结果,只有10个相关结果将被检索。的olsSearch
更新之前创建的对象(称为函数qry
下图)通过添加结果。
qry < - OlsSearch (q =“trans-golgi网络”,确切= TRUE) (qry < - OlsSearch (qry))
# #对象的类“OlsSearch”: # #查询:trans-golgi网络# #要求:20(10)# #响应(s): 10
我们现在可以将这个搜索结果对象转换成一个完全成熟的条款
对象或一个data.frame
。
(qtrms <——(qry“条款”))
与10 # #对象的类“条款”条目# # # # 7本体NCIT: C33802,省略:0020822……:0005802,去:0005802
str (qdrf <——(qry data.frame))
# #“data.frame”: 10奥林匹克广播服务公司。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网络”……# # $描述:列表10 # # . .美元:空空的”网络,囊泡膜组件的花蕾的高尔基体蛋白,膜和ot”| __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 # #同义词:高尔基体# #同义词:后期成熟面对# #同义词:反式的脸
可以观察到不同的结果的方式和GO.db由于不同的方式访问数据。的方式或biomaRt执行直接在线查询,GO.db和其他注释包使用数据库快照更新每个版本。
这两种方法各有优势。在网上查询允许获得最新的最新信息,这种方法依赖于网络的可用性和质量。如果再现性是一个主要问题,数据库的版本与离线查询可以很容易地控制方法。在的情况下的方式本体,虽然加载一个特定的日期可以查询olsVersion
,不可能查询本体的一个特定的版本。
的方式2.0已经大大改变了。而下面的表格显示了一些新老之间的通信接口,这并非总是如此。依赖于新的接口本体
/本体
,术语
/条款
和OlsSearch
需要实例化的类,可以查询,如上所述。
< 1.99版本 | 版本> = 1.99 |
---|---|
ontologyLoadDate |
olsLoaded 和olsUpdated |
ontologyNames |
本体 |
olsVersion |
olsVersion |
allIds |
条款 |
isIdObsolete |
isObsolete |
rootId |
olsRoot |
olsQuery |
OlsSearch 和olsSearch |
目前并不是所有的功能都是可用的。如果有任何你需要但不是新版本中可用,请联系开设的维护问题包装上的说明开发网站。
的CVParam
类是用于处理受控词汇表。它可以用于用户定义的参数
CVParam (name = "用户参数”,value = "值")
# #(一个用户参数,价值)
或官方受控词汇表(OLS服务触发查询)
CVParam(加入标签=“女士”=“女士:1000073”)
# #(电喷雾电离,女士,女士:1000073)
CVParam(标签=“女士”,名称=“电喷雾电离”)
# #(电喷雾电离,女士,女士:1000073)
CVParam(标签=“女士”,名称=“应急服务国际公司”)# #使用同义词
# # (ESI,女士,女士:1000073)
看到CVParam ?
为更多的细节和例子。
# # R版本4.0.4(2021-02-15)# #平台:x86_64-pc-linux-gnu(64位)# #下运行:Ubuntu 18.04.5 LTS # # # #矩阵产品:默认# #布拉斯特区:/home/biocbuild/bbs - 3.12 - bioc / R / lib / libRblas。所以# # LAPACK: /home/biocbuild/bbs - 3.12 - bioc / R / lib / libRlapack。所以附加基本包:# # # # # #[1]平行stats4统计图形grDevices跑龙套数据集# #[8]方法基础# # # #其他附加包:# # [1]DT_0.17 rols_2.18.3 GO.db_3.12.1 # # [4] AnnotationDbi_1.52.0 IRanges_2.24.1 S4Vectors_0.28.1 # # [7] Biobase_2.50.0 BiocGenerics_0.36.0 BiocStyle_2.18.1 # # # #通过加载一个名称空间(而不是附加):# # [1]Rcpp_1.0.6 bslib_0.2.4 compiler_4.0.4 # # [4] BiocManager_1.30.12 jquerylib_0.1.3 prettyunits_1.1.1 # # [7] progress_1.2.2 tools_4.0.4 digest_0.6.27 # # [10] bit_4.0.4 lifecycle_1.0.0 jsonlite_1.7.2 # # [13] evaluate_0.14 RSQLite_2.2.5 memoise_2.0.0 # # [16] pkgconfig_2.0.3 rlang_0.4.10 DBI_1.1.1 # # [19] crosstalk_1.1.1 curl_4.3 yaml_2.2.1 # # [22] xfun_0.22 fastmap_1.1.0 httr_1.4.2 # # [25] stringr_1.4.0 knitr_1.31 htmlwidgets_1.5.3 # # [28] hms_1.0.0 sass_0.3.1 vctrs_0.3.7 # # [31] bit64_4.0.5 R6_2.5.0 rmarkdown_2.7 # # [34] bookdown_0.21 blob_1.2.1 magrittr_2.0.1 # # [37] ellipsis_0.3.1 htmltools_0.5.1.1 stringi_1.5.3 # # [40] cachem_1.0.4 crayon_1.4.1