RCy3 2.18.0
Cytoscape是一个著名的生物信息学工具,用于显示和探索生物网络。R是一种用于统计和探索性数据分析的强大编程语言和环境。RCy3之间使用CyREST进行通信R以及Cytoscape,允许任何图形(例如,iGraph, graphNEL或dataframe)通过Cytoscape的点击式可视化界面进行查看、探索和操作。因此,通过RCy3,这两个完全不同的、非常有用的生物信息学软件环境被连接起来,相互增强,为探索生物数据提供了新的可能性。
如果(!"RCy3" %in% installed.packages()){install.packages("BiocManager") BiocManager::install("RCy3")} library(RCy3)
除了这个包(RCy3),你还需要:
欢迎来到RCy3 v2.0!如果您一直在使用RCy3的早期版本,那么这是一大步。根本的变化是不再使用CytoscapeConnection和CytoscapeWindow类。在之前的版本中,这些参数在包中非常普遍,因此实际上每个函数签名都发生了变化。然而,这个改变简化了函数,在99%的情况下,旧的cw和cc参数可以被简单地删除。
关于这些变化的一些总结数据:
展望未来,这种重新调整将帮助我们保持包与关键上游资源(如Cytoscape的CyREST API)的更改同步。它还将极大地简化用户的脚本编写。我们希望你能留在船上。
我们以几种不同的方式记录了这次升级,以帮助您更新您不想放弃的现有脚本,并为RCy3采用新的概念模型。
这是一个来自RCy3主回购的wiki页面,我们将不断更新有用的提示。我建议从这里开始:
看例子总是有帮助的。中提供了RCy3使用的一些最常见的块之前而且后版本。如果您在2.0版本之前的脚本中有类似的代码,那么请尝试这些建议的交换。
注意:不要运行之前块的最新RCy3包。这些块不打算作为一个序列运行,而是作为一个孤立的例子。
之前
g <- new ('graphNEL', edgemode='directed') g <- graph::addNode ('A', g) g <- graph::addNode ('B', g) g <- graph::addNode ('C', g) g <- graph::addEdge ('A', 'B', g) g <- graph::addEdge ('B', 'C', g) cw <- CytoscapeWindow ('vignette', graph=g, overwrite=TRUE) displayGraph (cw) layoutNetwork (cw, layout.name='grid')
后
g < -新(graphNEL, edgemode =“指示”)g < -图::addNode (A、g) g < -图::addNode (B、g) g < -图::addNode(“C”,g) g < -图::addEdge (A, B, g) g < -图::addEdge (' B ', ' C ', g)网络。suid <- createNetworkFromGraph (g, 'vignette')
之前
节点。df < - data.frame (id = c(“A”、“B”、“c”,“D”),stringsAsFactors = FALSE)优势。df < - data.frame(源= c(“”,“”,“”,“c”),目标= c(“B”、“c”、“D”,“D”),交互= c(“抑制”、“互动”、“激活”、“交互”),#可选stringsAsFactors = FALSE) g < - cyPlot(节点。df, edge.df) cw <- CytoscapeWindow("vignette2", g) displayGraph(cw) layoutNetwork(cw, "force-directed")
后
节点。df < - data.frame (id = c(“A”、“B”、“c”,“D”),stringsAsFactors = FALSE)优势。df < - data.frame(源= c(“”,“”,“”,“c”),目标= c(“B”、“c”、“D”,“D”),交互= c(“抑制”、“互动”、“激活”、“交互”),#可选stringsAsFactors = FALSE)。suid <- createNetworkFromDataFrames (node. suid)df,优势。df,“vignette2”)
之前
g <- initNodeAttribute (graph=g, attribute.name='moleculeType', attribute.name='分子类型',属性。type='char', default.value='undefined') g <- initNodeAttribute (graph=g, 'lfc', 'numeric', 0.0) nodeData (g, 'A', 'moleculeType') <- '激酶' nodeData (g, 'B', 'moleculeType') <- 'TF' nodeData (g, 'C', 'moleculeType') <- '细胞因子' nodeData (g, 'D', 'lfc') <- -1.2 nodeData (g, 'B', 'lfc') <- 1.8 nodeData (g, 'C', 'lfc') <- 3.2 nodeData (g, 'D', 'lfc') <- 2.2 cw = setGraph (cw, g) displayGraph (cw)
后
节点。data <- data.frame(id=c('A','B',' c ','D'), moleculeType=c('激酶','TF','细胞因子','细胞因子'),lfc=c(-1.2, 1.8, 3.2, 2.2), stringsAsFactors = FALSE)数据,“id”)
之前
setDefaultNodeShape (cw, 'OCTAGON') setDefaultNodeColor (cw, '#AAFF88') setDefaultNodeSize (cw, 80) setDefaultNodeFontSize (cw, 40)
后
setNodeShapeDefault ('OCTAGON') setNodeShapeDefault ('#AAFF88') setNodeShapeDefault (80) setNodeFontSizeDefault (40)
之前
属性。值<- c('激酶','TF', '细胞因子')节点。形状<- c ('DIAMOND', 'TRIANGLE', 'RECTANGLE') setNodeShapeRule (cw, 'moleculeType',属性。setNodeColorRule (cw, 'lfc', c (-3.0, 0.0, 3.0), c ('#00AA00', '#00FF00', '#FFFFFF', '#FF0000', '#AA0000'), mode='interpolate')控件。点= c(-1.2, 2.0, 4.0)节点。setNodeSizeRule (cw, 'lfc', control. size = c (30,40,60,80,90)点,节点。大小,模式=“插入”)
后
属性。值<- c('激酶','TF', '细胞因子')节点。形状<- c ('DIAMOND', 'TRIANGLE', 'RECTANGLE') setNodeShapeMapping('moleculeType',属性。setNodeColorMapping('lfc', c(-3.0, 0.0, 3.0), c('#00AA00', '#00FF00', '#FFFFFF', '#FF0000', '#AA0000'))控件。点= c(-1.2, 2.0, 4.0)节点。setNodeSizeMapping('lfc',control. size = c (30,40,60,80,90)点,node.sizes)
之前
selectNodes(cw, 'B') nodes <- getSelectedNodes (cw) selectFirstNeighborsOfSelectedNodes (cw)
后
selectNodes('B', 'name') #或'id' nodes <- getSelectedNodes() selectFirstNeighbors()
nodes <- selectNodes('B', 'name')$nodes
之前
saveNetwork(cw, "sample_session", format = "cys")
后
export timage ("sample_image", "png", h= 800)
下次从头开始编写脚本时,请考虑查看在线可用的小插图和其他RCy3脚本。
browseVignettes(“RCy3”)
用于Cytoscape的R脚本库,许多使用RCy3: