1介绍

biobtreeR包提供了一个接口biobtree该工具允许通过标识符和特殊关键字映射生物信息学数据集,具有简单或高级的链查询功能。

2开始

#创建一个文件夹并设置为输出目录#它用于数据库和配置文件#临时目录用于演示目的bbUseOutDir(tempdir())
# # [1] 0

2.1建立数据库

对于映射查询,biobtreeR使用存储在本地的数据库。数据库可以通过两种方式构建,第一种方式是检索预先构建的数据库。这些数据库由常用的研究数据集和模型生物组成,并在主要的uniprot和集成数据发布后定期更新。

#包含的数据集hgnc,hmdb,taxonomy,go,efo,eco,chebi,interpro #包含的单prot蛋白质和集合基因组属于以下生物体:# homo_sapiens, danio_rerio(斑马鱼),gallus_gallus(鸡),mus_musculus, Rattus norvegicus, saccharomyces_cerevisiae, # arabidopsis_thaliana, drosophila_melanogaster, caenorhabditis_elegans, Escherichia coli str. K-12 substr。MG1655,大肠埃希菌K-12 #需要~ 6gb的自由存储bbBuiltInDB()

对于未包含在预构建数据库中的基因组,可以在本地计算机中构建。支持所有的整体和整体基因组生物。这些基因组的列表和它们的分类标识符可以从ensemble网站上看到123.456

#以逗号分隔的分类法标识bbBuildCustomDB(taxonomyIDs = "1408103,206403")

2.2启动web服务器

一旦数据库被检索或构建到本地磁盘,查询将通过轻量级本地服务器执行。本地服务器除了R函数外,还提供了用于查询R管道的数据的web界面。本地服务器作为后台进程运行,因此web界面和R功能可以在启动后同时使用。当web服务器运行时,可以通过地址访问web界面http://localhost:8888/ui

bbStart ()
# #[1]“/ tmp / Rtmp6o9LMN”# #[1]“biobtree开始……”
## [1] "biobtreeR started"

2.3搜索标识符和关键字

搜索数据集标识符和关键字,如基因名或接入是由bbSearch函数通过传递逗号分隔的术语来执行的。

bbSearch(“tpi1, vav_human ENST00000297261”)
##输入标识符数据集mapping_count ## 1 TPI1 ENSG00000111669 integrbl 54 ## 2 TPI1 ENSGALG00000014526 integrbl 33 ## 3 TPI1 ENSMUSG00000023456 integrbl 38 ## 4 TPI1 ENSRNOG00000015290 integrbl 34 ## # 5 TPI1 HGNC:12009 HGNC 8 ## 6 VAV_HUMAN P15498 uniprot 280 ## 7 ENST00000297261 ENST00000297261 transcript 276

如果传递源参数,则在数据集中执行搜索。

bbSearch(“tpi1、ENSG00000164690”、“运用”)
##输入标识符数据集mapping_count ## 1 TPI1 ENSG00000111669 ensemble bl 54 ## 2 TPI1 ENSGALG00000014526 ensemble bl 33 ## 3 TPI1 ENSMUSG00000023456 ensemble bl 38 ## 4 TPI1 ENSRNOG00000015290 ensemble bl 34 ## 5 ENSG00000164690 ENSG00000164690 ensemble 238

检索搜索结果url

bbSearch(“tpi1, vav_human ENST00000297261”showURL = TRUE)
# # 1 # #输入数据集标识符mapping_count TPI1 ENSG00000111669运用54 # # 2 TPI1 ENSGALG00000014526运用33 # # 3 TPI1 ENSMUSG00000023456运用38 # # 4 TPI1 ENSRNOG00000015290运用34 # # 5 TPI1 HGNC: 12009 HGNC 8 # # 6 VAV_HUMAN P15498 uniprot 280 # # 7 ENST00000297261 ENST00000297261成绩单276 # # 1 # # url https://www.ensembl.org/homo_sapiens/Gene/Summary?db=core, https://www.ensembl.org/gallus_gallus/Gene/Summary?db=core; g = ENSG00000111669 # # 2 g = ENSGALG00000014526 # # 3https://www.ensembl.org/mus_musculus/Gene/Summary?db=core;g=ENSMUSG00000023456 ## 4 https://www.ensembl.org/rattus_norvegicus/Gene/Summary?db=core;g=ENSRNOG00000015290 ## 5 https://www.genenames.org/data/gene-symbol-report/#!/hgnc_id/HGNC:12009 ## 6 //www.uniprot.org/uniprot/P15498 ## 7 #

2.4链映射和过滤

映射和过滤查询是通过bibobtree的映射查询语法执行的,该语法允许从标识符到目标标识符或属性的链映射和过滤功能。映射查询语法由格式的单个或多个映射查询组成地图(dataset_id)。过滤器(布尔查询表达式). map(…).filter(…)…并允许在数据集之间执行链映射。对于映射查询,使用了bbMapping函数,例如在下面的例子中,将蛋白质映射到它的go项,在第二个查询中使用filter完成了映射。

bbMapping(“AT5G3_HUMAN”、“地图(去)”,attrs =“类型”)
## mapping_id type ## 1 GO:0000276 cellular_component ## 2 GO:0005741 cellular_component ## 3 GO:0008289 molecular_function ## 4 GO:0015078 molecular_function ## 5 GO:0015986 biological_process ## 6 GO: 0015921 cellular_component ## 7 GO:0045263 cellular_component ## 6
bbMapping(“AT5G3_HUMAN”、“地图(去).filter (go.type = =“biological_process”)”,attrs =“类型”)
## mapping_id type ## 1 GO:0015986 biological_process

在第一个参数的例子中,使用了单个蛋白质登录,但与bbSearch函数类似,可以使用多个标识符或关键字。在最后一个查询中,类型属性只使用生物过程术语来过滤映射。数据集属性在以数据集名称开头的过滤器中使用,就像上面的示例中那样走了。

为了在过滤器表达式中使用,每个数据集的属性列表与bbListAttrs函数通过样本标识符。例如下面的查询显示了基因本体属性。

bbListAttrs(“”)
## [1] "type" "name" "[]synonym "
bbListAttrs(“uniprot”)
# #[1][]到达”“[]基因”“[]的名字“# # [4][]alternative_names”“[]submitted_names”序列。Seq " ##[7] "序列。质量审核”

3.示例用例

在本节中,biobtreeR功能将通过以基因和蛋白质为中心的示例用例详细讨论。为现场演示的web界面,包括这些用例与额外的化学中心用例可以通过访问https://www.ebi.ac.uk/~tgur/biobtree/

3.1基因为中心的用例

基因相关数据采用ensemble、ensemble Genomes和HGNC数据集。最常见的基因相关数据集标识符之一是运用hgnc成绩单外显子.让我们从列出它们的属性开始,

bbListAttrs(“hgnc”)
# #[1][]名称”“[]符号”“locus_group”“[]别名”# #[5]“locus_type”“[]prev_names”“[]prev_symbols”“状态”# # [9][]gene_groups”
bbListAttrs(“运用”)
[1]“name”“description”“start”“end”“biotype”[6]“genome”“strand”“seq_region”“branch”
bbListAttrs(“成绩单”)
##[1]“name”“start”“end”“biotype”“strand”##[6]“seq_region”“utr5Start”“utr5End”“utr3Start”“utr3End”##[11]“source”
bbListAttrs(外显子)
## [1] "start" "end" "strand" "seq_region"
bbListAttrs(“cd”)
# #[1]“开始”“结束”“链”“seq_region”“帧”

请注意,还有其他一些没有属性的基因相关数据集,可以用于映射查询,如探针集、基因库和entrez等。可以发现完整的数据集列表bbListDatasets.现在让我们构建示例映射查询,

将基因名称映射到ensemble的转录本标识符

res < -bbMapping(“ATP5MC3, TP53”、“地图(成绩单)”)负责人(res)
## input input_dataset mapping_id ## 1 ATP5MC3-ENSG00000154518 integrbl ENST00000284727 ## 2 - - ENST00000392541 ## 3- - ENST00000409194 ## 4 - - ENST00000472782 ## 5 - - ENST00000497075 ## 6 ATP5MC3-ENSRNOG00000001596 integrbl ENSRNOT00000058234

将基因名称映射到外显子标识符并检索该区域

res<-bbMapping("ATP5MC3,TP53",'map(transcript).map(exon)',attrs = "seq_region") head(res)
## input input_dataset mapping_id seq_region ## 1 ATP5MC3-ENSG00000154518 integrbl ENSE00001016410 2 ## 2 - - ENSE00001016412 2 ## 3- - ENSE00001588911 2 ## 4 - - ENSE00003574305 2 ## 5 - - ENSE00003602002 2 ## 6 - - ENSE00001512331 2

将人类基因映射到其对应的标识符

res < -bbMapping(“嘘”、“过滤器(ensembl.genome = =“homo_sapiens”). map(直接同源)”)负责人(res)
0列0行数据帧

将基因映射到它的近亲

bbMapping(“炒,mog”、“地图(假字)”,showInputColumn = TRUE)
0列0行数据帧

将集合标识符或基因名称映射到入口标识符

bbMapping(“ENSG00000073910、嘘”、“地图(可以)”)
## input input_dataset mapping_id ## 1 ENSG00000073910 ensemble 10129 ## 2 SHH-ENSG00000164690 ensemble 6469 ## 3 SHH-ENSGALG00000006379 ensemble 395615 ## 4 SHH-ENSMUSG00000002633 ensemble 20423 ## 5 SHH-ENSRNOG00000006120 ensemble 29499

将refseq标识符映射到hgnc标识符

bbMapping(“NM_005359 NM_000546”,“地图(hgnc)”,attrs =“符号”)
## input input_dataset mapping_id符号## 1 NM_005359 refseq HGNC:6770 SMAD4 ## 2 NM_000546 refseq HGNC:11998 TP53

获取Y染色体上lncRNA类型的所有ensemble人类标识符和基因名称

res < -bbMapping(“homo_sapiens”、“地图(运用).filter(运用。seq_region=="Y" && ensemble .biotype=="lncRNA")',attrs = 'name') head(res)
## mapping_id name ## 1 ENSG00000129816 TTTY1B ## 2 ENSG00000129845 TTTY1 ## 3 ENSG00000131007 TTTY9B ## 4 ENSG00000131538 TTTY6 ## 5 ENSG00000131548 TTTY6B ## 6 ENSG00000147753 TTTY7

从基因中获得CDS

bbMapping(“tpi1嘘”,“地图(成绩单). map (cds)”)
# # 1 # #输入input_dataset mapping_id TPI1-ENSG00000111669运用ENSP00000229270 ENSP00000379933 # # # # 2 - - - ENSP00000475184 # # 4 - ENSP00000475620 # # 5 - - ENSP00000475364 # # 6 - - ENSP00000475829 # # 7 - ENSP00000443599 # # 8 - - ENSP00000484435 # # 9 TPI1-ENSGALG00000014526运用ENSGALP00000023396 # # 10 - - ENSGALP00000044536 # # 11 TPI1-ENSMUSG00000023456运用ENSMUSP00000125292 # # 12 - - ENSMUSP00000130858 # # 13——ENSMUSP00000159368 # # 14 TPI1-ENSRNOG00000015290运用ENSRNOP00000020647 ## 15 - - ENSRNOP00000067409 ## 16 - - ENSRNOP00000088185 ## 17 SHH-ENSG00000164690 integrbl ENSP00000297261 ## 18 - - ENSP00000396621 ## 19 - - ENSP00000413871 ## 20 - - ENSP00000410546 ## 21 SHH-ENSGALG00000006379 integrbl ENSGALP00000010292 ## 22 shh - engusg00000002633 integrbl ENSMUSP00000002708 ## 23 SHH-ENSRNOG00000006120 integrbl ENSRNOP00000008497

获取所有在或重叠范围内的人类识别码和基因名称

bbMapping(“9606”,“地图(运用).filter((114129278 >运用。开始&& 114129278< ensemble .end) || (114129328> ensemble .end)Start && 114129328< ensemble .end))',attrs = "name")
## 1 ENSG00000080709 KCNN2 ## 2 ENSG00000109906 ZBTB16 ## 3 ENSG00000128573 FOXP2 ## 4 ENSG00000134207 SYT6 ## 5 ENSG00000151577 DRD3 ## 6 ENSG00000165813 CCDC186 ## 7 ENSG00000185989 RASA3 ## 8 ENSG00000228624 HDAC2-AS2 ## # 9 ENSG00000249853 HS3ST5

在上面的例子中,分类标识符用作第一个参数,而不是像在前面的例子中指定为智人。这两种用法是等价的,产生的结果与智人参考分类法标识号9606相同。

内置功能用于基因组范围查询

为了简化前面的用例查询,提供了3内置范围查询函数。这些函数是重叠而且涵盖了.这些函数可以用于运用成绩单外显子而且cd具有起始和结束基因组坐标的条目。例如,以前的查询可以用以下方式编写重叠在给定范围内列出人类所有重叠基因的函数。

bbMapping(“9606”、“地图(运用).filter (ensembl.overlaps(114129278, 114129278))”,attrs =“名称”)
## 1 ENSG00000080709 KCNN2 ## 2 ENSG00000109906 ZBTB16 ## 3 ENSG00000128573 FOXP2 ## 4 ENSG00000134207 SYT6 ## 5 ENSG00000151577 DRD3 ## 6 ENSG00000165813 CCDC186 ## 7 ENSG00000185989 RASA3 ## 8 ENSG00000228624 HDAC2-AS2 ## # 9 ENSG00000249853 HS3ST5

将Affymetrix标识符映射到ensemble标识符和基因名称

bbMapping("202763_at,213596_at,209310_s_at",source ="affy_hg_u133_plus_2",'map(transcript).map(ensembl)',attrs =" name")
## input input_dataset mapping_id name ## 1 202763_AT affy_hg_u133_plus_2 ENSG00000164305 CASP3 ## 2 213596_AT affy_hg_u133_plus_2 ENSG00000196954 CASP4 ## 3 209310_S_AT affy_hg_u133_plus_2 ENSG00000196954 CASP4

注意,所有的映射都可以用相反的方式完成,例如从基因名到Affymetrix标识符的映射按以下方式执行

bbMapping(“CASP3 CASP4”,“地图(成绩单). map (affy_hg_u133_plus_2)”)
## input input_dataset mapping_id ## 1 CASP3-ENSG00000164305 ensemble 202763_at# # 2 casp3 - ensg00000196954 ensemble 209310_s_at# # 3- - 213596_AT

检索所有包含TTY的人类基因名称

res<-bbMapping("homo sapiens",'map(ensemble).filter(ensemble .name.contains("TTY"))',attrs = "name") head(res)
## 1 ENSG00000129816 TTTY1B ## 2 ENSG00000129845 TTTY1 ## 3 ENSG00000131007 TTTY9B ## 4 ENSG00000131538 TTTY6 ## 5 ENSG00000131548 TTTY6B ## 6 ENSG00000136295 TTYH3

3.2以蛋白质为中心的用例

Uniprot用于蛋白质相关数据集,如蛋白质标识符、登录、序列、特征、变体和映射到其他数据集的信息。让我们列出一些与蛋白质相关的数据集属性,然后执行与以基因为中心的例子类似的示例查询,

bbListAttrs(“uniprot”)
# #[1][]到达”“[]基因”“[]的名字“# # [4][]alternative_names”“[]submitted_names”序列。Seq " ##[7] "序列。质量审核”
bbListAttrs(“ufeature”)
## [1] "type" "description" "id" ## [4] "original" "variation" location。开始“##[7]”位置。“[]证据。“[]证据类型。来源" ## [10]"[]evidence .id"
bbListAttrs (pdb)
## [1] "method" "chains" "resolution"
bbListAttrs(“interpro”)
# #[1][]名称”“short_name”“类型”“protein_count”

将基因名映射到评审过的uniprot标识符

bbMapping(“msh6、stk11 bmpr1a smad4, brca2”、“地图(uniprot)”,源=“hgnc”)
## input input_dataset mapping_id ## 1 MSH6-HGNC:7329 hgnc P52701 ## 2 STK11-HGNC:11389 hgnc Q15831 ## 3 BMPR1A-HGNC:1076 hgnc P36894 ## 4 SMAD4-HGNC:6770 hgnc Q13485 ## 5 BRCA2-HGNC:1101 hgnc P51587

按序列质量筛选蛋白质,并检索蛋白质序列

bbMapping(“clock_human, shh_human、aicda_human at5g3_human, p53_human”、“过滤器(uniprot.sequence。质量> 45000)“attrs =“美元序列质量,序列为seq美元”)
## input input_dataset mapping_id sequence$mass ## 1 CLOCK_HUMAN-O15516 uniprot O15516 95304 ## 2 SHH_HUMAN-Q15465 uniprot Q15465 49607 ## sequence$seq ## 1MLFTVSCSKMSSIVDRDDSSIFDGLVEEDDKDKAKRVSRNKSEKKRRDQFNVLIKELGSMLPGNARKMDKSTVLQKSIDFLRKHKEITAQSDASEIRQDWKPTFLSNEEFTQLMLEALDGFFLAIMTDGSIIYVSESVTSLLEHLPSDLVDQSIFNFIPEGEHSEVYKILSTHLLESDSLTPEYLKSKNQLEFCCHMLRGTIDPKEPSTYEYVKFIGNFKSLNSVSSSAHNGFEGTIQRTHRPSYEDRVCFVATVRLATPQFIKEMCTVEEPNEEFTSRHSLEWKFLFLDHRAPPIIGYLPFEVLGTSGYDYYHVDDLENLAKCHEHLMQYGKGKSCYYRFLTKGQQWIWLQTHYYITYHQWNSRPEFIVCTHTVVSYAEVRAERRRELGIEESLPETAADKSQDSGSDNRINTVSLKEALERFDHSPTPSASSRSSRKSSHTAVSDPSSTPTKIPTDTSTPPRQHLPAHEKMVQRRSSFSSQSINSQSVGSSLTQPVMSQATNLPIPQGMSQFQFSAQLGAMQHLKDQLEQRTRMIEANIHRQQEELRKIQEQLQMVHGQGLQMFLQQSNPGLNFGSVQLSSGNSSNIQQLAPINMQGQVVPTNQIQSGMNTGHIGTTQHMIQQQTLQSTSTQSQQNVLSGHSQQTSLPSQTQSTLTAPLYNTMVISQPAAGSMVQIPSSMPQNSTQSAAVTTFTQDRQIRFSQGQQLVTKLVTAPVACGAVMVPSTMLMGQVVTAYPTFATQQQQSQTLSVTQQQQQQSSQEQQLTSVQQPSQAQLTQPPQQFLQTSRLLHGNPSTQLILSAAFPLQQSTFPQSHHQQHQSQQQQQLSRHRTDSLPDPSKVQPQ # # 2MLLLARCLLLVLVSSLLVCSGLACGPGRGFGKRRHPKKLTPLAYKQFIPNVAEKTLGASGRYEGKISRNSERFKELTPNYNPDIIFKDEENTGADRLMTQRCKDKLNALAISVMNQWPGVKLRVTEGWDEDGHHSEESLHYEGRAVDITTSDRDRSKYGMLARLAVEAGFDWVYYESKAHIHCSVKAENSVAAKSGGCFPGSATVHLEQGGTKLVKDLSPGDRVLAADDQGRLLYSDFLTFLDRDDGAKKVFYVIETREPRERLLLTAAHLLFVAPHNDSATGEPEASSGSGPPSGGALGPRALFASRVRPGQRVYVVAERDGDRRLLPAAVHSVTLSEEAAGAYAPLTAQGTILINRVLASCYAVIEEHSWAHRAFAPFRLAHALLAALAPARTDRGGDSGGGDRGGGGGRVALTAPGAADAPGAGATAGIHWYSQLLYQIGTWLLDSEALHPLGMAVKSS

螺旋型的特征是蛋白质的位置

bbMapping("shh_human",'map(ufeature).filter(ufeature.type=="helix")',attrs =" location$begin,location$end")
## mapping_id location$begin location$end ## 1 Q15465_F123 71 74 ## 2 Q15465_F126 94 96 ## 3 Q15465_F127 100 116 ## 4 Q15465_F129 139 141 ## 5 Q15465_F131 155 157 ## 6 Q15465_F132 158 167 ## 7 Q15465_F135 188 190

从给定条件下的一个基因中获取所有的变异标识符

bbMapping (tp53,地图(uniprot) . map (ufeature) .filter (ufeature。original=="I" && ufeature.variation=="S").map(variantid)',source =" hgnc")
## mapping_id ## 1 RS730882027 ## 2 RS1330865474 ## 3 RS876659675 ## 4 rss587780069 ## 5 RS760043106

4停止web服务器

当biobtreeR完成工作时,biobtreeR web服务器应该停止。

bbStop ()

5会话信息

sessionInfo ()
## R版本4.2.0 RC (22-04-19 r82224) ##平台:x86_64-pc-linux-gnu(64位)##运行在:Ubuntu 20.04.4 LTS ## ##矩阵产品:default ## BLAS: /home/biocbuild/bbs-3.15-bio /R/lib/libRblas. ##因此## LAPACK: /home/biocbuild/bbs-3.15-bio /R/lib/libRlapack。因此## ## 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 ## ##附加的基本包:## [1]stats graphics grDevices utils datasets methods base ## ##其他附加的包:## [1]biobtreeR_1.8.0 biocstyle_name .24.0 ## ##通过命名空间加载(并没有附加):## [1] Rcpp_1.0.8.3 knitr_1.38 magrittr_1 .0.3 ## [4] R6_2.5.1 rlang_1.0.2 fastmap_1.1.0 ## [7] stringgr_1 .4.0 httr_1.4.2 tools_4.2.0 ## [10] xfun_0.30 cli_3.3.0 jquerylib_0.1.4 ## [13] htmltools_0.5.2 yaml_2.3.5 digest_0.6.29 ## [13] bookdown_0.26 BiocManager_1.30.17 later_1.3.0 ## [19] sass_0.4.1 promises_1.2.0.1 curl_1 .3.2 ## [25] evaluate_0.15 rmarkdown_2.14 stringi_1.7.6 ## [25] compiler_4.2.0 bslib_0.3.1 jsonlite_1.8.0 ## [28] httpuv_1.6.5