这个包作为重要的小分子社区集合的查询接口,同时也允许用户包含自定义的化合物集合。同时提供注释和结构信息。注释数据存储在SQLite数据库中,而结构信息存储在结构定义文件(SDF)中。两者都托管在Bioconductor上AnnotationHub
.类中提供了包含的数据类型的详细描述补充材料这个小插图的一部分。在撰写本文时,包括以下社区数据库:
除了提供对上述复合集合的访问之外,该包还支持自定义复合集合的集成,这些自定义复合集合将自动为用户存储在与预配置数据库相同的数据结构中。自定义集合和该包提供的集合都可以以统一的方式查询,然后使用化学信息学包进一步分析,如ChemmineR
, sdf被导入到灵活的S4容器中(Cao et al. 2008).
作为Bioconductor封装customCMPdb
可以安装与BiocManager:安装()
函数。
如果(!requireNamespace("BiocManager", quiet = TRUE)) install.packages("BiocManager")
要立即获得软件包的最新更新,也可以直接从GitHub安装,如下所示。
devtools:: install_github(“yduan004 / customCMPdb”build_vignettes = TRUE)
接下来需要在用户的R会话中加载包。
library(customCMPdb) library(help = "customCMPdb") #列出包信息
打开这个包的小插图。
browseVignettes("customCMPdb") #打开小插图
下面介绍如何加载和查询不同的数据集。
复合注释表存储在SQLite数据库中。该数据可以按如下方式加载到用户的R会话中drugAgeAnnot
).
conn <- loadAnnot() library(RSQLite) dbListTables(conn)
##[1]“DrugBankAnnot”“cmapAnnot”“drugAge4”“drugAgeAnnot”##[5]“id_mapping”“lincs2”“lincsAnnot”“myCustom”##[9]“myCustom2”
drugAgeAnnot <- dbReadTable(conn, "drugAgeAnnot") head(drugAgeAnnot)
# # 1 # # drugage_id compound_name同义词物种ida00001牡荆素< NA >线虫# # 2 ida00002环孢菌素A < NA >线虫# # 3 ida00003组氨酸组氨酸线虫# # 4 ida00004 SRT1720 < NA >亩骶# # 5 ida00005冬虫夏草口服液< NA >黑腹果蝇# # 6 ida00006赖氨酸< NA >线虫# #菌株剂量avg_lifespan_change max_lifespan_change性别# # 1 N2 50 5.3µM 8 < NA > # # 2 < NA > 88µM 18 < NA > < NA > # # 3 N2 5mM 10 ## 4 C57BL/6J 100 mg/kg body weight 8.8 0 ## 5 Oregon-K 0.20 mg/ml 32 15.4 Male ## 6 N2 5 mM 8 ## significance pubmed_id Comment pref_name pubchem_cid DrugBank_id ## 1 26535084 VITEXIN 5280441 ## 2 24134630 DB00091 ## 3 25643626 HISTIDINE 6274, 6971009 DB00117 ## 4 24582957 ## 5 26239097 Mix ## 6 25643626 LYSINE 5962, 122198194 DB00123, DB11101
dbDisconnect(康涅狄格州)
上面的DrugAge示例的对应结构可以加载到SDFset
对象如下。
da_sdfset <- loadSDFwithName(source="DrugAge")
关于如何使用的说明SDFset
对象中提供的ChemmineR
装饰图案在这里.方法绘制任何加载的结构情节
函数。
ChemmineR::cid(da_sdfset) <- ChemmineR::sdfid(da_sdfset)
DrugBank中的SDF可以以同样的方式加载到R中。下载了相应的SDF文件在这里.在导入R的过程中ChemmineR
检查进口化合物的有效性。
db_sdfset <- loadSDFwithName(source="DrugBank")
导入CMAP02数据库的SDF的方法相同。
cmap_sdfset <- loadSDFwithName(source="CMAP2")
这同样适用于LINCS数据库中包含的小分子的SDF。
lincs_sdfset <- loadSDFwithName(source="LINCS")
为了重现性,生成上述数据集的R代码包含在本月/脚本/使数据。R
此包的文件。用户系统上的文件位置可以通过执行(“脚本/使数据。R”、包= " customCMPdb”)
.
SQLite注释数据库托管在Bioconductor上AnnotationHub
.用户可以下载到本地AnnotationHub
缓存目录。该目录的路径可通过如下方式获取。
library(AnnotationHub) ah <- AnnotationHub()注解路径<- ah[["AH79563"]]]
下面介绍用户如何将自己的复合注释表导入到SQLite数据库。在这种情况下,对应的ChEMBL id需要包含在chembl_id
列。自定义数据集的名称可以在annot_name
论点。注意,该名称不区分大小写。
chembl_id <- c("CHEMBL1000309", "CHEMBL100014", "CHEMBL10", "CHEMBL100", "CHEMBL1000", NA) annot_tb <- data.frame(cmp_name=paste0("name", 1:6), chembl_id=chembl_id, feature1=paste0("f", 1:6), feature2=rnorm(6)) addCustomAnnot(annot_tb, annot_name="myCustom")
addCustomAnnot(annot_tb, annot_name = "myCustom")中的##警告:注释_name ##存在于SQLite数据库中,旧表未被覆盖,设置## ' override =TRUE'覆盖现有表
下面演示如何通过引用自定义注释表的名称来删除它们。若要获得数据库中出现的自定义注释表列表,请使用listAnnot
函数可以使用。
listAnnot ()
##[1]“DrugBankAnnot”“cmapAnnot”“drugAge4”“drugAgeAnnot”“lincs2”“lincsAnnot”“myCustom”“myCustom2”
deleteAnnot(“myCustom”)listAnnot ()
##[1]“DrugBankAnnot”“cmapAnnot”“drugAge4”“drugAgeAnnot”“lincs2”“lincsAnnot”“myCustom2”
的defaultAnnot
函数将注释SQLite数据库设置回由提供的原始版本customCMPdb
.这是通过删除现有的(例如自定义的)数据库并重新下载一个新的实例来实现的AnnotationHub
.
defaultAnnot ()
的queryAnnotDB
函数可以用于从默认资源以及存储在SQLite注释数据库中的自定义资源中查询复合注释。查询可以是ChEMBL id的集合。在本例中,它返回adata.frame
包含参数下指定的所选注释资源中匹配化合物的注释。的listAnnot
函数返回可赋值给annot
论点。
query_id <- c("CHEMBL1064", "CHEMBL10", "CHEMBL113", "CHEMBL1004", "CHEMBL31574") listnot ()
##[1]“DrugBankAnnot”“cmapAnnot”“drugAge4”“drugAgeAnnot”“lincs2”“lincsAnnot”“myCustom2”
qres <- query_id, annot=c("drugAgeAnnot", "lincsAnnot")
# # chembl_id物种应变剂量# # 1 CHEMBL10果蝇俄勒冈州R 300µM # # 2 CHEMBL1004 < NA > < NA > < NA > # # 3 CHEMBL1064黑腹果蝇< NA > 240µM # # 4 CHEMBL113黑腹果蝇俄勒冈州R 0.01毫克/毫升# # 5 CHEMBL31574酿酒酵母PSY316AT MAT_ 10µM # # avg_lifespan_change max_lifespan_change性别意义lincs_id # # 1 30.3 < NA > < NA > < NA > BRD-A37704979 # # 2 < NA > < NA > < NA > < NA > BRD-A44008656 25 # # 3 < NA > < NA > < NA > BRD-K22134346 # # 4 -10.1 < NA >男性NS BRD-K02404261 ## 5 55 ## pert_iname is_touchstone inchi_key pubchem_cid ## 1 SB-203580 0 CDMGBJANTYXAIV-UHFFFAOYSA-N 176155 ## 2 doxylamine 1 HCFDWZZGGLSKEP-UHFFFAOYSA-N -666 ## 3 simvastatin 0 RYMZZMVNJRMUDD-HGQWONQESA-N -666 ## 4 caffeine 1 RYYVLZVUVIJVGH-UHFFFAOYSA-N -666 ## 5 NA
#查询添加的自定义标注addCustomAnnot(annot_tb, annot_name="myCustom") qres2 <- queryAnnotDB(query_id, annot=c("lincsAnnot", "myCustom")
# # 1 # # chembl_id lincs_id pert_iname is_touchstone CHEMBL10 BRD-A37704979 sb - 203580 0 # # 2 CHEMBL1004 BRD-A44008656抗敏安1 # # 3 CHEMBL1064 BRD-K22134346辛伐他汀0 # # 4 CHEMBL113 BRD-K02404261咖啡因1 # # 5 CHEMBL31574 < NA > < NA > NA # # inchi_key pubchem_cid cmp_name feature1 feature2 # # 176155 CDMGBJANTYXAIV-UHFFFAOYSA-N name3 f3 0.3146113 # # 2 HCFDWZZGGLSKEP-UHFFFAOYSA-N -666 < NA > < NA > NA # # 3 RYMZZMVNJRMUDD-HGQWONQESA-N -666 < NA > < NA > NA # # 4 RYYVLZVUVIJVGH-UHFFFAOYSA-N -666 < NA >< na > na ## 5 < na > < na > < na > < na > na
由于受支持的复合数据库使用不同的标识符,ChEMBL ID映射表用于跨数据库连接相同的条目,以及链接到其他资源,如ChEMBL本身或PubChem。对于ChEMBL id还不可用的自定义化合物,可以使用替代和/或自定义标识符。
query_id <- c("BRD-A00474148", "BRD-A00150179", "BRD-A00763758", "BRD-A00267231") qres3 <- queryAnnotDB(chembl_id=query_id, annot=c("lincsAnnot")) qres3
5-羟色氨酸0 qshlmqdrpxxyee - uhfffaoysa - n# # 3 BRD-A00267231 hemado 1 kocimznsnpogop - uhfffaoysa - n# # 5 BRD-A00474148 BRD-A00474148 0 rcgauprlrfzams - uhfffaoysa - n# # 10 BRD-A00763758 BRD-A00763758 0 masipyzihwnupa - uhfffaoysa - n# # pubchem_cid ## 2 589768 ## 3 4043357 ## 5 44825297 ## 10 43209100
DrugAge数据库由专家手动管理。它包含了大量具有抗衰老特性的药物、化合物和补充剂(包括天然产品和营养保健品),可以延长模式生物的寿命(Barardo et al. 2017).从那里下载了DrugAge build2数据库在这里CSV文件。下载的drugage.csv
文件包含compound_name
,同义词
,物种
,应变
,剂量
,avg_lifespan_change
,max_lifespan_change
,性别
,意义
,pubmed_id
注释列。由于DrugAge数据库仅包含药物名称作为标识符,因此有必要将药物名称映射到其他统一的药物标识符,例如ChEMBL id。在这个包中,药物名称已映射到ChEMBL(Gaulton et al. 2012),PubChem(Kim et al. 2019)和DrugBank id的半手动和存储在本月/ extdata
目录名为drugage_id_mapping.tsv
.中的id映射的一部分drugage_id_mapping.tsv
表是由函数为ChEMBL数据库(版本24)中具有ChEMBL id的复合名称生成的。缺失的id是手动添加的。半手动的方法就是使用它web服务.经过半手工处理后,将左侧的id手动映射到ChEMBL、PubChem和DrugBank id。对绿三叶草提取物等混合物和杆菌肽等多肽进行了评价。然后drugage_id_mapping
表被构建到注释SQLite数据库命名为compoundCollection_0.1.db
表名为drugAgeAnnot
通过buildDrugAgeDB
函数。
DrugBank注释表(DrugBankAnnot
)已从药物库数据库下载xml文件.在撰写本文时,最新的发布版本是5.1.5。
这个包中的函数处理了提取的xml文件。dbxml2df
而且df2SQLite
该包中的函数用于将xml文件加载到R中,并转换为data.frame R对象,然后存储在compoundCollection
SQLite注释数据库。DrugBank注释表中有55个注释列,例如drugbank_id
,的名字
,描述
,化学文摘号
,组
,指示
,药效学
,的作用机制
,毒性
,新陈代谢
,半衰期
,此种
,分类
,同义词
,国际品牌
,外包商
,制造商
,价格
,剂量
,atc-codes
,fda-label
,通路
,目标
.从中获得DrugBank id到ChEMBL id的映射UniChem.
CMAP02注释表(cmapAnnot
)从下载的化合物中处理实例表使用buildCMAPdb
由这个包定义的函数。CMAP02实例表包含以下药物注释列:即instance_id
,batch_id
,cmap_name
,小旅馆
,浓度(M)
,持续时间(小时)
,cell2
,array3
,perturbation_scan_id
,vehicle_scan_id4
,扫描仪
,车辆
,供应商
,catalog_number
,catalog_name
.药品名称用作药品标识。的buildCMAPdb
函数将药物名称映射到外部药物id,包括UniProt
(UniProt Consortium 2017),PubChem
,DrugBank
而且ChemBank
(Seiler et al. 2008)id。它还添加了其他注释列,例如方向性
,ATC代码
而且微笑的结构
.生成的cmap.db
SQLite数据库buildCMAPdb
函数同时包含复合注释表和结构信息。ChEMBL id映射通过PubChem CID到ChEMBL id映射进一步添加到注释表中UniChem.CMAP02注释表存储在compoundCollection
SQLite注释数据库。然后将CMAP内部id到ChEMBL id映射添加到id映射表中。
LINCS 2017复合注释表(lincsAnnot
)已从地理这里只选择了化合物。注释列为lincs_id
,pert_name
,pert_type
,is_touchstone
,inchi_key_prefix
,inchi_key
,canonical_smiles
,pubchem_cid
.注释表存储在compoundCollection
SQLite注释数据库。由于注释只包含LINCS id到PubChem CID的映射,LINCS id也通过一键映射到ChEMBL id。
的复合注释表drugAge4
而且lincs2
.它们包含对DrugAge build 4数据库中的化合物的注释,以及2020年发布的最新LINCS beta数据库线索.
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]stats graphics grDevices utils datasets methods base ## ##其他附加包:## [1]AnnotationHub_3.7.0 BiocFileCache_2.7.0 dbplyr_2.2.1 ## [4] BiocGenerics_0.45.0 RSQLite_2.2.18 ChemmineR_3.51.0 ## [7] customCMPdb_1.9.0 BiocStyle_2.27.0 ## ##通过命名空间加载(且未附加):# # # # [1] tidyselect_1.2.0 dplyr_1.0.10 [3] blob_1.2.3 filelock_1.0.2 # # [5] Biostrings_2.67.0 bitops_1.0-7 # # [7] fastmap_1.1.0 rcurl_1.98 - 1.9 # # [9] promises_1.2.0.1 xml_3.99 - 0.12 # # [11] digest_0.6.30 mime_0.12 # # [13] lifecycle_1.0.3 rsvg_2.3.2 # # [15] ellipsis_0.3.2 KEGGREST_1.39.0 # # [17] interactiveDisplayBase_1.37.0 magrittr_2.0.3 # # [19] compiler_4.3.0 rlang_1.0.6 # # [21] sass_0.4.2 tools_4.3.0 # # [23] utf8_1.2.2 yaml_2.3.6 # # [25] knitr_1.40 htmlwidgets_1.5.4 # # [27] bit_4.0.4[39] rmarkdown_2.17 crayon_1.5.2 ## [41] generics_0.1.3 httr_1.4.4 ## [43] rjson_0.2.21 DBI_1.1.3 ## [45] cachem_1.0.6 string_1 .4.1 ## [47] zlibbioc_1.45.0 assertthat_0.2.1 ## [51] XVector_0.39.0 base64enc_0.1-3 ## [53] vctrs_0.5.0 jsonlite_1.8.3 ## [55] bookdown_0.29IRanges_2.33.0 ## [57] S4Vectors_0.37.0 bit64_4.0.5 ## [59] magick_2.7.3 jquerylib_0.1.4 ## [61] glue_1.6.2 DT_0.26 ## [63] stringi_1. 17.0 gtable_0.3.1 ## [67] GenomeInfoDb_1.35.0 munsell_0.5.0 ## [69] tibble_3.1.8 pillar_1.8.1 ## [71] rappdirs_0.3.3 htmltools_0.5.3 ## [73] GenomeInfoDbData_1.2.9 R6_2.5.1 ## [75] evaluate_0.17 shiny_1.7.3 ## [77] Biobase_2.59.0 highr_0.9 ## [81] httpuv_1.6.6 bslib_0.4.0 ## [83] Rcpp_1.0.9 ##gridExtra_2.3 ## [85] xfun_0.34 pkgconfig_2.0.3
Barardo, Diogo, Daniel Thornton, Harikrishnan Thoppil, Michael Walsh, Samim Sharifi, Susana Ferreira, Andreja ankidic,等。2017。"与衰老相关的药物数据库"衰老细胞16(3): 594-97。http://onlinelibrary.wiley.com/doi/10.1111/acel.12585/full.
曹益群,Anna Charisi,程丽昌,姜涛,Thomas Girke。2008。ChemmineR: R.的复合挖掘框架生物信息学24(15): 1733-4。http://dx.doi.org/10.1093/bioinformatics/btn307.
高顿,安娜,路易莎·J·贝利斯,帕特丽夏·本托,乔恩·钱伯斯,马克·戴维斯,安妮·赫西,伊冯·莱特等,2012。ChEMBL:用于药物发现的大规模生物活性数据库核酸测定。40(数据库问题):D1100-7。http://dx.doi.org/10.1093/nar/gkr777.
Kim, Sunghwan,陈洁,程铁军,Asta Gindulyte,何佳,何思谦,李庆良,等。2019。“PubChem 2019更新:改进化学数据的获取。”核酸测定。47 (d1): d1102-d1109。http://dx.doi.org/10.1093/nar/gky1033.
兰姆,贾斯汀,艾米丽·D·克劳福德,大卫·佩克,约书亚·W·莫德尔,艾琳·C·布拉特,马修·J·罗贝尔,吉姆·勒纳等,2006。连通性地图:使用基因表达签名连接小分子、基因和疾病。科学313(5795): 1929-35。http://dx.doi.org/10.1126/science.1132939.
塞勒,凯瑟琳·佩特里,格雷戈里·A·乔治,玛丽·帕特·哈普,妮可·E·鲍德康比,海曼·A·卡林斯基,斯蒂芬妮·诺顿,史蒂夫·布鲁茨等,2008年。化学库:小分子筛选和化学信息学资源数据库核酸测定。36(数据库问题):D351-9。http://dx.doi.org/10.1093/nar/gkm843.
Subramanian, Aravind, Rajiv Narayan, Steven M Corsello, David D Peck, Ted E Natoli,陆晓东,Joshua Gould等。2017。“下一代连接地图:L1000平台和前100万个配置文件。”细胞171 (6): 1437-1452.e17。http://dx.doi.org/10.1016/j.cell.2017.10.049.
UniProt财团,2017。UniProt:通用蛋白质知识库。核酸测定。45 (d1): d158-d169。http://dx.doi.org/10.1093/nar/gkw1099.
Wishart, David S, Yannick D Feunang,郭安春,Elvis J Lo, Ana Marcu, Jason R Grant, Tanvir Sajed,等。2018。“药物库5.0:2018年药物库数据库的重大更新。”核酸测定。46 (d1): d1074-d1082。http://dx.doi.org/10.1093/nar/gkx1037.