Cytoscape 具有非常活跃的app开发社区,有很多可视化和分析策略被包装成APP的形式发表在其官网中,在网络图绘制中占有比较重要的一席之地。可以用于展示WGCNA,基因表达调控网络、蛋白互作网络、基因和表型关系等网络关系结构。
Install
官网教程表示推荐自动安装,官方网站自动检测并构建依赖环境(比如没装java)。
Import network data
network data 是整个网络图的骨架数据,可以只包含起点、终点信息;如果是无向的网络图数据或者没有 interaction type 等都可以跳过;如果有则要在加载好数据文件后,先选择 select none 然后在每一列的表头旁边有一个可点击的三角形,并按照数据格式进行一一指定。
source: 起点
target: 终点
source note attribute: source 点的映射参数
target note attribute: target 点的映射参数
edge attribute: 连线的映射参数
interaction type: 两个节点间相互作用激活,抑制,促进,终止等
advanced options: 制表分隔符,表头,不需要输入的行等
Import tabel
此处可以导入任何想要展示的数据,可以是人为分组,显著性分析,显著性差异分析,聚类分析甚至PCA,RDA等,只要其中一列能以网络图数据中的起点或终点作为key 进行对应,即可以调节下面的各个参数进行映射,最后通过手动拖拽的方式微调达到可视化目的。
输入参数也可以像network data 一样进行定义,如果输入了多个网络图层,后续输入的数据甚至还能指定有效的网络图层(where to import tabel),这些都可以一边分析一遍输入。
Network
输入数据文件,可以通过点击不同文件进行展示和隐藏。
Style
style页面是最常用的一个界面,最上方有一个properties 选项,里面是一些未加载的style 参数。
主界面共有三列:def. 对所有点和线进行映射 map. 按分组条件进行映射 byp. 手动指定点进行映射
lock node width and height: 保持点宽高(不变形),图形是等比放大和缩小的。
最下方也有三个选项:node,Edge,Network,与输入的network数据对应进行不同的映射。
选择需要进行map 映射的node,Edge,Network后,可以对于数值型的值一般可以选择离散型、连续型和透明度映射三种。比较有意思的是,当在连续型映射的界面想,点击像热图一样的current mapping可以进行节点添加和中间值改变,类似热图的多色彩映射和不均匀分组映射。
最后,可以用file >> export 导出style,留着以后import 再次利用。
Anlysis network
Tools >> analyze network : 计算并获得拓扑属性
可以同过作图区正下方的tabel >> deletetabel 去掉不需要的属性,一般就留下下面两个代表节点重要性的参数,用于映射到具体图形属性中(颜色,大小,图形)。
degree: 该节点连线数(边的数量)
betweenness:中心性(有多少节点是直接通过该点连接的a—b—c,b就会有一个得分值)。
与这个默认功能比较相似的有一个cytoHubba 插件,它是专门用于重要性计算的,有多种算法进行重要节点估计;甚至可以针对选出的几个基因进行重要性计算。
Layout
常用的布局模式,环形布局,矩形布局,离散权重,和分组布局等。
Layout tools:图形整体或局部缩放和旋转: shift + 右键选择进行局部缩放,再结合单点拉扯达到所有节点不互相重叠且自然的目的。
App Manager
通过官网all APP 查看编辑好的插件,选择需要达到的目标(pathway, cluster ...),通过结果展示, tutorial, FAQ 等进行参考。
选择好想要的插件后,回到Cytoscape 菜单栏 >> Apps 等缓冲完全后就可以进行个性化管理:下载安装,更新和维护。
Tips
节点数和连线最好不要太多,轻则电脑爆炸重则等待画面刷新等到自己爆炸,亦或者调整到99% 突然闪退。
可以先拿一部分数据进行调整,然后导出style 并应用到整体数据中。
参考文献:
官网3.8.2版本教程:https://manual.cytoscape.org/en/3.8.2/index.html