这个描述将向您展示如何使用节点分组函数在Cytoscape操作图。

1安装

如果(!“RCy3”% % installed.packages ()) {install.packages (“BiocManager”) BiocManager::安装(“RCy3”)}图书馆(RCy3)

2所需的软件

的全部意义RCy3与Cytoscape连接。您需要安装并启动Cytoscape:

cytoscapeVersionInfo cytoscapePing () ()

3背景

能力节点分组为“metanodes”和崩溃的单个节点在一个图是有用的一个复杂网络的简化视图。

这个描述的例子描述应用程序的节点数据分组功能,包括蛋白质-蛋白质之间的关系与集群相关的蛋白质转录后修饰(格兰姆斯,et al ., 2018)。这个描述情节五蛋白质和修改,并使用节点分组函数来操纵Cytoscape图。

4例子

首先,我们建立了节点和边缘数据帧。

网。节点< - c(“筛选”、“碱性p Y1078”,“碱性p Y1096”,“碱性p Y1586”,“CTNND1”、“CTNND1 p Y193”、“CTNND1 p Y217”、“CTNND1 p Y228”、“CTNND1 p Y241”、“CTNND1 p Y248”、“CTNND1 p Y302”、“CTNND1 p Y904”、“CTTN”、“CTTN ack K107”、“CTTN ack K124”、“CTTN ack K147”、“CTTN ack K161”、“CTTN ack K235”、“CTTN ack K390”、“CTTN ack K87”、“CTTN p S113”、“CTTN p S224”、“CTTN p Y104”、“CTTN p收”,“CTTN p Y162”、“CTTN p Y228”、“CTTN p Y334”、“CTTN p Y421”、“IRS1”、“IRS1 p Y632”、“IRS1 p Y941”、“IRS1 p Y989”、“NPM1”、“NPM1 ack K154”、“NPM1 ack K223”、“NPM1 p S214”、“NPM1 p S218”)。基因< -酸式焦磷酸钠(净。节点,函数(x) unlist (strsplit (x,”“固定= TRUE))[1])父< - c(“”,“筛选”、“筛选”、“筛选”,“”,“CTNND1”,“CTNND1”、“CTNND1”、“CTNND1”、“CTNND1”、“CTNND1”、“CTNND1”,“”,“CTTN”,“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”,“”,“IRS1”,“IRS1”,“IRS1”,“”,“NPM1”,“NPM1”,“NPM1”,“NPM1”) nodeType < - c(“蛋白质”,“修改”,“修改”,“修改”,“蛋白质”,“修改”,“修改”,“修改”,“修改”,“修改”,“修改”,“修改”,“蛋白质”、“修改”、“修改”、“修改”、“修改”、“修改”、“修改”、“修改”、“修改”、“修改”、“修改”、“修改”、“修改”、“修改”、“修改”、“修改”、“蛋白质”,“修改”,“修改”,“修改”,“蛋白质”,“修改”,“修改”,“修改”,“修改”)netnodes。df < - data.frame (id = net.nodes Gene.Name =净。基因,母公司nodeType stringsAsFactors = FALSE) #定义数据源。节点< - c(“筛选”、“筛选”、“筛选”、“CTNND1”、“CTNND1”、“CTNND1”、“CTNND1”、“CTNND1”、“CTNND1”、“CTNND1”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“CTTN”、“IRS1”、“IRS1”、“IRS1”、“NPM1”、“NPM1”、“NPM1”、“NPM1”、“碱性p Y1096”、“CTNND1 p Y193”、“CTNND1 p Y193”、“CTNND1 p Y228”、“CTNND1 p Y904”、“CTNND1 p Y217”、“CTNND1 p Y241”、“CTNND1 p Y248”、“碱性p Y1078 ", "碱性p Y1096 ", "碱性p Y1586 ", " IRS1 p Y941”,“CTTN ack K147”、“CTTN ack K107”、“CTTN ack K235”、“CTTN ack K87”、“CTTN ack K147”、“CTTN ack K124”、“CTTN ack K147”、“CTTN ack K235”、“CTTN ack K161”、“CTTN ack K390”、“NPM1 ack K223”、“NPM1 ack K154”、“NPM1 ack K223”、“筛选”、“CTNND1”、“CTNND1”、“CTTN”、“IRS1”)的目标。节点< - c(“碱性p Y1078”、“碱性p Y1096 ", "碱性p Y1586 ", " CTNND1 p Y193 ", " CTNND1 p Y217 ", " CTNND1 p Y228 ", " CTNND1 p Y241 ", " CTNND1 p Y248 ", " CTNND1 p Y302 ", " CTNND1 p Y904”,“CTTN ack K107”、“CTTN ack K124”、“CTTN ack K147”、“CTTN ack K161”、“CTTN ack K235”、“CTTN ack K390”、“CTTN ack K87”、“CTTN p S113”、“CTTN p S224”、“CTTN p Y104”、“CTTN p收”,“CTTN p Y162”、“CTTN p Y228”、“CTTN p Y334”、“CTTN p Y421”、“IRS1 p Y632”、“IRS1 p Y941”、“IRS1 p Y989”、“NPM1 ack K154”、“NPM1 ack K223”、“NPM1 p S214”、“NPM1 p S218”、“碱性p Y1586”,“CTNND1 p Y228”、“CTNND1 p Y302”、“CTNND1 p Y302”、“CTTN p收”,“CTTN p Y162”、“CTTN p Y162”、“CTTN p Y334”、“IRS1 p Y632”、“IRS1 p Y989”、“IRS1 p Y989”、“IRS1 p Y989”、“CTTN p S113”、“CTTN p S224”、“CTTN p S224”、“CTTN p S224”、“CTTN p Y104”、“CTTN p Y228”、“CTTN p Y228”、“CTTN p Y228”、“CTTN p Y421”、“CTTN p Y421”、“NPM1 p S214”、“NPM1 p S218”、“NPM1 p S218”、“IRS1”、“CTTN”、“IRS1”、“NPM1”、“NPM1”)重量< - c (100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 0.8060606, 0.7575758, 0.7454545, 0.9393939, 0.8949096, 0.7329699, 0.7553845, 0.7866191, 0.775, 0.6969697, 0.7818182, 0.8424242, -0.7714286, -0.8385965, -0.5017544, -0.7473684, -0.5252838, -0.9428571, -0.8285714, -0.6713287, -0.5508772, -0.9428571, -0.8857143, -0.6310881, -0.8285714, 0.6123365, 2.115272, 0.002461723, 0.3354451, 0.5661711) netedges。df < - data.frame(源= source.nodes目标=目标。节点、重量、stringsAsFactors = FALSE)从数据帧净#创建网络。suid < - createNetworkFromDataFrames (netnodes。df, netedges。df、标题=粘贴(粘贴(“集团节点测试”),1 +长度(getNetworkList())),收集=“RCy3小品文”)#确保节点展开充分layoutNetwork(“指定defaultSpringCoefficient = 0.00001 defaultSpringLength = 50 defaultNodeMass = 5”)

请注意,为了方便数据帧定义一个节点是否蛋白质或修改,并定义了父节点为每个修改。

功能节点SUID selectNodes看起来在默认情况下,可由getTableColumns检索。另外,数据帧可以用来区分蛋白质和修改。

nodedata < - getTableColumns(“节点”)edgedata < - getTableColumns < - netnodes(“边缘”)基因。df (grep(“蛋白质”,netnodes.df nodeType美元)," id "] #选择通过基因suid geneSUIDs < - nodedata [grep(“蛋白质”,nodedata nodeType美元),1]selectNodes (geneSUIDs preserve.current。选择= FALSE)
#或“id”列中的名字selectNodes (c(“筛选”、“IRS1”)。preserve.current坳= " id "。选择= FALSE)
#或名称基于dataframe < - netnodes构造子集修改。df (grep(“修改”,netnodes.df nodeType美元)," id "] selectNodes (=“id”,修改前= FALSE)
#现在选择一种蛋白质deltacatnodes < - netnodes及其所有修改。df (grep (“CTNND1”, netnodes.df Gene.Name美元)," id "] selectNodes (deltacatnodes,。坳= " id ",保存= FALSE)

让我们创建一个新组所选节点崩溃成一个节点…

createGroup collapseGroup(“三角洲连环蛋白组”)(“三角洲连环蛋白组”)

…然后再次扩大。

expandGroup(“三角洲连环蛋白组”)

对于这些数据,我们可以创建组的所有蛋白质和他们一起修改。我们组基因名字的名字。

deleteGroup(“三角洲连环蛋白组”),(我在1:长度(基因)){打印(基因[我])selectNodes (netnodes。df (grep(基因[我],netnodes.df Gene.Name美元),“id”),。坳= " id ",保存= FALSE)createGroup(genes[i]) collapseGroup(genes[i]) } groups.1 <- listGroups() groups.1 # should see 5 group SUIDs reported

这些都是扩大。

expandGroup(基因)

另一种方法,可能更快大型网络是使用输入数据帧。

deleteGroup(基因)(我在1:长度(基因)){打印(基因[我])createGroup (= netnodes基因[我]节点。df (grep(基因[我],netnodes.df Gene.Name美元)," id "], nodes.by。= " id ")} collapseGroup上校(基因)expandGroup(基因)

这样做可以更简单使用酸式焦磷酸钠()

deleteGroup(基因)酸式焦磷酸钠(基因、功能(x) = netnodes createGroup (x,节点。df (grep (x, netnodes.df Gene.Name美元)," id "], nodes.by。坳= " id ")) collapseGroup(基因)

一个组织的信息可以独立检索和扩大

getGroupInfo(碱性)expandGroup(碱性)#得到所有组的信息group.info < -列表()group.info < -拉普(listGroups()美元组,getGroupInfo)打印(group.info)

参考

格兰姆斯,et al ., 2018。科学。信号。发行531卷。11日,DOI: 10.1126 / scisignal.aaq1087,http://stke.sciencemag.org/content/11/531/eaaq1087