RCy3 2.21.0
Cytoscape是一个著名的生物信息学工具显示和探索生物网络。R是一个功能强大的编程语言和环境统计和探索性数据分析。RCy3使用老年痴呆之间的通信R和Cytoscape,允许任何图表(如igraph, graphNEL或dataframes)认为,探索和操纵Cytoscape单击视觉界面。因此,通过RCy3,这两个完全不同的,非常有用的生物信息学软件环境相连,相互加强,为探索生物数据提供了新的可能性。
如果(!“RCy3”% % installed.packages ()) {install.packages (“BiocManager”) BiocManager::安装(“RCy3”)}图书馆(RCy3)
除了这个包(RCy3),你将需要:
首先,发射Cytoscape并保持使用RCy3运行时。确认您已安装并运行的一切:
cytoscapeVersionInfo cytoscapePing () ()
让我们创建一个从一些基本的R Cytoscape网络对象
节点< - data.frame (id = c(“节点0”、“节点1”,“节点2”、“节点3”),群= c (“A”、“A”、“B”,“B”), #直言字符串得分= as.integer (c(20、10、15、5)), #整数stringsAsFactors = FALSE)边缘< - data.frame(源= c(“节点0”、“节点0”,“节点0”、“节点2”),目标= c(“节点1”、“节点2”、“节点3”、“节点3”),交互= c(“抑制”、“互动”、“激活”、“交互”),#可选的重量= c(5.1, 3.0, 5.2, 9.9), #数字stringsAsFactors = FALSE) createNetworkFromDataFrames(节点、边title =“我的第一个网络”,收集=“DataFrame榜样”)
看看选框风格!
setVisualStyle(字幕)
创建自己的风格与填充节点属性映射和一些缺省值
style.name = " myStyle "违约< -列表(NODE_SHAPE =“钻石”,NODE_SIZE = 30, EDGE_TRANSPARENCY = 120, NODE_LABEL_POSITION =“W E c, 0.00, 0.00“) nodeLabels < - mapVisualProperty(“节点标签”,“id”,“p”) nodeFills < - mapVisualProperty(“节点填充颜色”,“组”,“d”, c (“A”、“B”), c (“# FF9900”、“# 66 aaaa级”))arrowShapes < - mapVisualProperty(“目标箭头形状的边缘,“互动”,“d”, c(“激活”,“抑制”,“交互”),c(“箭头”、“T”、“没有”))edgeWidth < - mapVisualProperty(“边缘宽度”、“重量”,“p”) createVisualStyle (style.name、违约、列表(nodeLabels、nodeFills arrowShapes, edgeWidth)) setVisualStyle (style.name)
Pro-tip:如果你想设置NODE_WIDTH NODE_HEIGHT独立,您还需要解锁的节点维度与…
style.name lockNodeDimensions(假)
或者,您可能希望从Bioconductor graphNEL对象。这里我们在R,创建一个4-node图寄给Cytoscape显示和布局。为了简单起见,没有节点属性和不包括视觉风格;这些主题在后续步骤的介绍。
g = new (graphNEL, edgemode =“导演”)g =图::addNode (A、g) g =图::addNode (' D ' g) g =图::addNode (“C”, g,边缘=列表(' D ')) g =图::addNode (B, g,边缘=列表(C (' A ', ' D ', ' C '))) createNetworkFromGraph (g, title =“简单网络”,收集= graphNEL例子)
您现在应该拥有这个4-node图的结构基础,默认风格。幸运的是,Cytoscape有内置呈现规则的(除非另有指示)节点和边呈现和一个默认布局算法(用户需求)。
我们经常知道很多关于图的节点和边。通过视觉传达这个信息,图表更容易探索。例如,我们可能知道蛋白质磷酸化蛋白B, A是一个激酶和B一个转录因子,和他们的mRNA表达(相比控制)是一个log2褶皱变化分别为1.8和3.2。Cytoscape的核心功能之一是视觉风格,这允许您指定数据值(例如,激酶”,
转录因子”;表达式比率)应该传达视觉图形的属性(例如,节点形状,节点颜色或大小)。
我们继续简单4-node图,添加两种类型数据值(moleculeType”和
log2fc”)。最简单的方法是通过data.frames。然而,您还可以包括属性和原始的图模型作为Bioconductor图,igraphs或data.frames,然后使用所提供的创建函数来创建和加载在一个步骤(见createNetworkFromGraph,createNetworkFromIgraph和createNetworkFromDataFrames功能)。查看其他更多exampls小品文。
df < - data.frame (moleculeType = c(激酶,TF,细胞因子,细胞因子),log2fc = c (1.8, 3.0, -1.2, -2.5), row.names = c (A, B, c, D), # row.names =节点名称stringsAsFactors = FALSE) #重要加载字符串时!loadTableData (df)
注意,添加属性本身并不导致图的外观变化。这种变化要求您指定并应用视觉风格映射,将被解释的下一个部分。但是,您可以检查这些属性在Cytoscape,使用Cytoscape的面板数据立即显示与所选节点相关联数据值低于Cytoscape窗口。
RCy3不仅提供了一个简单的方法来改变默认样式,但更有趣的是,RCy3还提供了便利映射您的数据的视觉风格,例如,允许大小、形状和颜色的节点和边由你与这些节点和边相关的数据。
首先,让我们改变默认值。
setNodeShapeDefault(八角)setNodeColorDefault (# AAFF88) setNodeSizeDefault (60) setNodeFontSizeDefault (30)
现在,我们将添加一些视觉映射。让我们“moleculeType”映射到节点的形状。首先,我们可以看到在Cytoscape形状是可用的,然后我们可以定义映射与配对列表。
getNodeShapes() #钻石、椭圆、梯形、三角形等列< -“moleculeType”值< - c(“激酶”、“特遣部队”,“细胞因子”)形状< - c(“钻石”、“三角形”,“矩形”)setNodeShapeMapping(列、价值观、形状)
节点映射的一个例子离散样式定义为每个映射,离散值。这是用于分类数据(如类型),只有一组有限的可能值。这是相比之下其他两个其他类型的映射:连续和透传。表达式的值,例如,我们会想要使用连续映射(例如,节点颜色),定义一组小的控制点,而不是显式的颜色为每个可能的数据值。Cytoscape只会插入控制点提供梯度之间的颜色。现在让我们尝试
列< -“log2fc”控制。点< - c(-3.0, 0.0, 3.0)颜色< - c (# 5588 dd, ' # FFFFFF ', ' # DD8855 ') setNodeColorMapping(列,控制。点,颜色)
注意,有三个颜色,三个控制点。然而,您还可以指定两个额外的颜色除了控制点的数量如果你想设置极端(或界外)颜色值小于或大于你的控制点。
控制。点< - c(-2.0, 0.0, 2.0)颜色< - c (# 2255 cc, # 5588 dd, ' # FFFFFF ', ' # DD8855 ', ' # CC5522 ') setNodeColorMapping(列,控制。点,颜色)
现在,添加一个节点大小规则,使用log2fc再次控制节点值。
控制。点= c(-3.0, 2.0, 3.0)尺寸= c (20、80、90) setNodeSizeMapping(列,控制。点,大小)
如果你还记得第三类型的映射,透传,我们可以看到它已经在我们当前的网络工作的例子。节点的标签!默认情况下,的名字使用列映射到节点标签属性透传逻辑:直接传递到样式属性的值。
现在让我们尝试选择节点Cytoscape从C r .选择节点的名字:
selectNodes (' C ', '名称')
getSelectedNodes ()
现在我们希望所选节点扩展到包括第一个已经选择的邻居节点b,这是一个常见的操作:例如,在选择一个或多个节点基于实验数据或注释,您可能想要探索这些交互上下文中的伙伴(在蛋白质网络)或相对于上游和下游信号或代谢网络的合作伙伴。类型:
selectFirstNeighbors ()
现在您将看到三个节点选择。得到他们的名字回到R列表:
node.names < - getSelectedNodes ()
对取消选择是最后,你期望通过一位将军clearSelection功能:
clearSelection () ? clearSelection
会话文件保存一切。与大多数项目软件,我们建议经常保存!
# .cys saveSession (“vignette_session”)
请注意:如果你不指定完整路径,文件将被保存在R相对于您的当前工作目录。
您可以导出极高分辨率的图像,包括向量图形格式。
full.path =粘贴(getwd (),“vignette_image”, 9 = ' / ') exportImage(完整。路径,PNG,变焦= 200)#。png exportImage比例200%(满。路径,PDF) #。pdf ? exportImage
RCy3功能
帮助(包= RCy3)
类别 | 描述 | 例子 |
---|---|---|
应用程序 | Cytoscape检查和管理应用程序。 | getInstalledApps disableApp installApp () () () |
集合 | 网络信息集合。 | getCollectionNetworks getCollectionList () () |
命令 | 构建任意cyr API或命令API方法通过标准,PUT、POST和DELETE协议。 | commandsRun cyrestAPI commandsPOST cyrestGET () () () () |
CyNDEx | 与从内部NDEx Cytoscape沟通。 | exportNetworkToNDEx importNetworkFromNDEx () () |
Cytoscape系统 | 检查Cytoscape系统信息,包括版本和内存使用。 | cytoscapeVersionInfo cytoscapePing () () |
过滤器 | 根据过滤条件选择节点和边。 | createColumnFilter createDegreeFilter () () |
组 | 在Cytoscape处理组。 | collapseGroup createGroup () () |
布局 | 执行布局除了获取和设置布局属性。 | getLayoutNames layoutNetwork () () |
网络 | 创建和管理网络和网络检索信息,节点和边缘。 | getNetworkSuid createNetworkFrom…()创建…FromNetwork () (), exportNetwork () getAllNodes () getEdgeCount (), getFirstNeighbors () |
网络选择 | 操纵选择网络的节点和边。 | selectFirstNeighbors invertNodeSelection selectNodes () () () |
网络视图 | 执行视图操作除了获取和设置属性视图。 | toggleGraphicsDetails exportImage fitContent getCurrentView () () () () |
会话 | 管理Cytoscape会话,包括保存、打开和关闭。 | closeSession saveSession openSession () () () |
风格绕过 | 设置和清除绕过视觉属性的值。 | hideNodes setEdgeLineStyleBypass setNodeColorBypass () () () |
风格违约 | 获取和设置视觉属性的默认值。 | setEdgeLineWidthDefault setNodeShapeDefault () () |
风格的依赖关系 | 获取和设置风格的依赖关系。 | lockNodeDimensions () |
风格映射 | 定义表的列值和视觉属性之间的映射。 | setEdgeColorMapping setNodeSizeMapping updateStyleMapping mapVisualProperty () () () () |
风格 | 管理风格和检索通用属性相关的多个样式列表模式。 | getArrowShapes exportVisualStyles setVisualStyle createVisualStyle () () () () |
风格值 | 检索当前视觉属性的值。 | getNetworkZoom getEdgeColor getNodeWidth () () () |
表 | 管理表列和表列功能,如地图和重命名,以及加载和提取Cytoscape表数据。 | mapTableColumn loadTableData renameTableColumn getTableColumns () () () () |
工具 | 执行操作在Cytoscape发现在工具菜单中。 | diffusionBasic cybrowserDialog () () |
用户界面 | 控制面板的Cytoscape用户界面。 | dockPanel floatPanel hidePanel () () () |
打开的文档的生活实例cyr API和命令API:
cyrestAPI () # cyr API commandsAPI() #命令API
可用的命令和参数列表在r .使用“帮助”顶级上市:
commandsHelp(“帮助”)
列表网络命令。请注意,“帮助”是可选的:
commandsHelp(“帮助网络”)
参数列表网络选择命令:
commandsHelp(网络选择“帮助”)
覆盖网络操作的基础知识。查看其他额外的小插曲amd更复杂的例子。当你准备使用一些真实的数据,查看其他基本和先进的教程,https://github.com/cytoscape/cytoscape-automation/tree/master/for-scripters/R。
别忘了看看这个包中的其他小插曲:
browseVignettes (“RCy3”)
此外,Cytoscape团队收集脚本从社区公共GitHub库https://github.com/cytoscape/cytoscape-automation/tree/master/for-scripters/R。
在GitHub RCy3项目代码和文档维护:https://github.com/cytoscape/RCy3。跟踪所有的缺陷和功能的请求问题,https://github.com/cytoscape/RCy3/issues。