内容


代谢信号2:合并KEGG与额外的交互资源

Andrea Rodriguez Martinez, Maryam Anwar, Rafael Ayala, Joram M. Posma, Ana L. Neves, Marc-Emmanuel Dumas

2017年5月22日


1摘要

metabolsignal是一个R包,旨在研究代谢组的遗传调控,使用KEGG作为主要参考数据库。本文的主要目标是说明KEGG交互如何与两个大型文献管理的人类监管交互资源合并:OmniPath和trust。

2简介

代谢产物被组织在信号转导通路调控的生化途径中,使生物体适应环境变化并保持稳态。我们开发了MetaboSignal(Rodriguez-Martinezet al。2017)作为探索基因(酶和信号)和代谢物之间关系的工具,使用京都基因和基因组百科全书(KEGG)(Kanehisa & Goto 2000)作为主要参考数据库。为了更全面地了解代谢组的遗传调控,我们对metabolsignal的功能进行了更新和标准化,以促进其与其他分子相互作用资源的整合。在这个小插图中,我们将展示KEGG交互如何与来自两个大型文献管理资源的人类调节交互合并:OmniPath(Tureiet al。2016)和TRRUST(挂et al。2015)


3.亲自动手的

3.1加载数据

我们首先加载MetaboSignal包:

##加载代谢信号库(MetaboSignal)

然后我们加载“regulatory_interactions”和“kegg_pathways”数据集,其中包含以下信息:

- regulatory_interactions:包含OmniPath(定向蛋白-蛋白和信号相互作用)和trust(转录因子-靶标相互作用)中报道的一组调控相互作用的矩阵。对于每个交互,都会报告文献引用和主数据库引用。用户有责任尊重这些数据库的许可条款,并在需要时引用它们。请注意,在交互的方向和符号方面,数据库之间存在一些不一致。这可能是由于策展错误,也可能是由于某些相互作用可能是双向的,或根据组织的不同具有不同的标志。用户可根据需要更新/编辑此矩阵。

- kegg_pathways:包含相关代谢(n = 85)和信号(n = 126)人类KEGG通路标识符(id)的矩阵。这些id是使用“MS_getPathIds()”函数检索的。

##监管交互数据("regulatory_interactions") head(regulatory_interactions[, c(1,3,5)])
# # source_entrez target_entrez interaction_type # #(1)“351”“2”“o_Unknown”# #【2】“3576”“2”“o_Unknown”# #【3】“7040”“2”“o_Unknown”# #(4)“7042”“2”“o_Unknown”# #【5】“2064”“12”“o_Unknown”# #【6】“3817”“12”“o_Unknown”
## KEGG代谢通路数据("kegg_pathways") head(kegg_pathways[, -2])
[1,] "hsa00010" "代谢;碳水化合物代谢"代谢" ## [2,]"hsa00020"代谢;碳水化合物代谢## [3,]"hsa00030"代谢;碳水化合物代谢## [4,]"hsa00040"代谢;碳水化合物代谢## [5,]"hsa00051"代谢;碳水化合物代谢## [6,]"hsa00052"代谢;碳水化合物代谢
## kegg_pathways[, -2])
## Path_id [206,] "hsa04964" "有机系统;排泄系统" "信号" ## [207,]"hsa04966" "机体系统;排泄系统" ## [208,]"hsa04970" "机体系统;消化系统“信号”##[209,]“hsa04971”“有机系统;消化系统" "信号" ## [210,]"hsa04972" "有机系统;消化系统“信号”##[211,]“hsa04976”“有机系统;消化系统“信号”


3.2构建kegg网络

我们使用“MS_getPathIds()”函数来检索所有人类代谢和信号KEGG通路的id。

##获取人体代谢和信号通路的id hsa_paths <- MS_getPathIds(organism_code = "hsa")

这个函数在工作目录下生成一个名为“hsa_paths .txt”的“。txt”文件。我们建议用户花一些时间来检查这个文件,并仔细选择将用于构建网络的代谢和信号通路。在本例中,我们选择了存储在“kegg_paths”数据集中的路径。

接下来,我们使用“MS_keggNetwork()”函数,通过合并存储在“kegg_pathways”数据集中的选定代谢和信号KEGG通路来构建代谢信号网络:

##创建metabo_paths和signaling_paths向量metabo_paths <- kegg_paths [kegg_paths [, "Path_type"] == "metabolic", "Path_id"] signaling_paths <- kegg_paths [kegg_paths [, "Path_type"] == "signaling", "Path_id"]
##构建keggnetwork(可能需要一段时间)keggNet_example <- MS_keggNetwork(metabo_paths, signaling_paths, expand_genes = TRUE, convert_entrez = TRUE)
##查看网络格式头(keggNet_example)
## source target interaction_type ## [1,] "cpd:C00084" "217" "k_compound:可逆" ## [2,]"cpd:C00084" "224" "k_compound:可逆" ## [3,]"cpd:C00084" "221" "k_compound:可逆" ## [4,]"cpd:C00084" "219" "k_compound:可逆" ## [5,]"cpd:C00084" "222" "k_compound:可逆" ## [6,]"cpd:C00084" "220" "k_compound:可逆"

网络被格式化为一个三列矩阵,其中每行表示两个节点(从源到目标)之间的一条边。节点表示以下分子实体:化合物(KEGG id)、反应(KEGG id)、信号基因(Entrez id)和代谢基因(Entrez id)。交互类型在“interaction_type”列中报告。化合物-基因(或基因-化合物)相互作用被指定为:“k_compound:可逆的”或“k_compound:不可逆的”,取决于相互作用的方向。其他类型的相互作用对应于基因-基因相互作用。当KEGG报告同一交互物对的各种类型的交互时,“interaction_type”使用“/”进行折叠。

请注意,当将KEGG信号映射转换为二元相互作用时,引入了许多间接相互作用,例如涉及蛋白质复合体所有成员的相互作用或蛋白质相互作用通过中间化合物(如。AC和PKA,通过营)。我们建议排除这些间接的相互作用,因为它们可能会改变进一步的拓扑分析。在本例中,我们删除了分类为“未知”、“间接复合”、“间接效应”、“解离”、“状态变化”、“绑定”、“关联”的相互作用。

##获取所有类型的交互all_types <- unique(unlist(strsplit(keggNet_example[, "interaction_type"], "/"))) all_types <- gsub("k_", "", all_types) ##选择想要的交互wanted_types <- setdiff(all_types, c("unknown", "indirect-compound", "indirect-effect", "dissociation", "state-change", "binding", "association")) print(wanted_types) #保留的交互
##[1]“化合物:可逆”“化合物:不可逆”“表达”##[4]“激活”“磷酸化”“去磷酸化”##[7]“抑制”“抑制”“泛素化”##[10]“甲基化”“糖基化”
##过滤keggNet_example只保留想要的##交互wanted_types <- paste(wanted_types, collapse = "|") keggNet_clean <- keggNet_example[grep(wanted_types, keggNet_example[, 3]),]


3.3建立监管网络

然后,我们使用“MS2_ppiNetwork()”函数,通过合并来自OmniPath和trust的信令交互,或者仅选择其中一个数据库的交互,来生成一个监管网络。下面是一些例子:

##通过合并OmniPath和trust交互建立监管网络ppiNet_example <- MS2_ppiNetwork(datasets = " trust ") ##通过合并OmniPath和trust交互ppiNet_example <- MS2_ppiNetwork(datasets = "all") ##查看网络格式头(ppiNet_example)
源目标interaction_type # # # #(1)“351”“2”“o_Unknown”# #【2】“3576”“2”“o_Unknown”# #【3】“7040”“2”“o_Unknown”# #(4)“7042”“2”“o_Unknown”# #【5】“2064”“12”“o_Unknown”# #【6】“3817”“12”“o_Unknown”

每个网络都被格式化为一个三列矩阵,其中每行表示两个节点(从源到目标)之间的一条边。第三列表示交互类型和交互源(OmniPath: " o_ ", trust: " t_ ")。注意,两个数据库之间的公共交互是折叠的,交互类型报告为:" o_;t_;识别”。


3.4合并KEGG网络和监管网络

最后,我们使用“MS2_mergeNetworks()”函数将基于kegg的网络与监管网络合并。

##合并网络mergedNet_example <- MS2_mergeNetworks(keggNet_clean, ppiNet_example)
##查看网络格式头(mergedNet_example)
## source target interaction_type ## [1,] "cpd:C00084" "217" "k_compound:可逆" ## [2,]"cpd:C00084" "224" "k_compound:可逆" ## [3,]"cpd:C00084" "221" "k_compound:可逆" ## [4,]"cpd:C00084" "219" "k_compound:可逆" ## [5,]"cpd:C00084" "222" "k_compound:可逆" ## [6,]"cpd:C00084" "220" "k_compound:可逆"

网络被格式化为一个三列矩阵,其中每行表示两个节点(从源到目标)之间的一条边。第三列表示交互类型和交互源(KEGG:“k_”,OmniPath:“o_”,trust:“t_”)。注意,两个数据库之间的公共交互是折叠的,交互类型报告为:" k_;o_;t_; "。该网络可以进一步定制,随后用于探索基因-代谢物的关联,如包的介绍小插图所述。


参考文献

挂,H,垫片,H Shin,垫片,J.E, Ko, Y。,Shin J。,H金,赵,A。,金姆,E,李,T,金姆,H,金姆,K,杨,年代,Bae, D, Yun,金姆,年代,Kim陈守惠、赵,H.J,康,B。,Shin S & Lee i(2015)。trust:人类转录调控相互作用的参考数据库。科学报告12, 11432年。从检索https://www.nature.com/articles/srep11432

Kanehisa, M. & Goto, S.(2000)。KEGG:京都基因和基因组百科全书。核酸研究28的观众。从检索http://nar.oxfordjournals.org/content/28/1/27

Rodriguez-Martinez, A., Ayala, R., Posma, j.m., Neves, a.l., Gauguier, D., Nicholson, J.K. & Dumas, m.e。(2017)。代谢信号:一种基于网络的方法,通过代谢和信号通路对代谢型调节进行拓扑分析。生物信息学33, 773 - 775。从检索https://academic.oup.com/bioinformatics/article/33/5/773/2725552/

图雷里,D., Korcsmaros, T. &赛斯-罗德里格斯,J.(2016)。OmniPath:文献策划信号通路资源的指南和网关。自然方法13, 966 - 967。从检索http://www.nature.com/nmeth/journal/v13/n12/full/nmeth.4077.html