大家在阅读SCI文献时候经常能看到很多精美的网络图(Network)(图1),我们可以看到网络图中的节点(Node)具有不同的颜色,不同的大小,而边(Edge)也具有不同的粗细,那么这些网络图蕴含着什么信息呢?
简单的说,研究者们喜欢通过Network来直观的展示其研究结果。在这些Network中,Node可以代表药物(Drug)、蛋白(Protein)、疾病(Disease)、草药(Herb)、成分(Ingredient)、代谢物(Metabolites)等等。而Edge则代表这些Nodes之间的联系,如相互作用(Interaction)、激活(Activation)、抑制(Inhibition)等等。最终Network就就是这些Nodes的直观展示,并可以用于后续的分析。比如,确定在这个Network中关键的Nodes是哪些,而这些Nodes就有可能是研究者关注的对象。当然这个只是建立的例子,实际上还有很多更加复杂的分析。有兴趣的话,大家可以去关注图论、复杂网络、系统药理学、网络药理学的相关研究。
到此,大家会想,是啊network是很漂亮、直观。那我怎么去用呢?怎么去构建网络呢?
本次的教程就是和大家分享关于网络构建、分析的入门知识。
为什么我们在这里介绍Cytoscape?当前有很多可以构建网络的软件,最简单PPT直接利用圆圈和线条构建一个网络图。以我目前的理解,主要是下面几个理由:
大部分人去了解Cytoscape可能就是上面几个理由。我们无法否认,插件丰富、功能丰富、上手容易、界面简单是吸引我们使用它的理由。
现在让我们来看看图2,这个就是Cytoscape的开始界面,目前,它的版本已经更新到了3.6.1了(截止2018.9.6)
Cytoscape介绍:
Cytoscape是一款图形化显示网络并进行分析和编辑的软件,见图1,它支持多种网络描述格式,也可以用以Tab制表符分隔的文本文档或Microsoft Excel文件作为输入,或者利用软件本身的编辑器模块直接构建网络。
你是不是以为下面就是介绍各个按钮的功能了...........
抱歉了,这次在这里,我就不介绍这些基本功能了,大家能找到很多资料去自学。这里,我想直接以一个案例,来说明如何用Cytoscape去初步构建Network
在开始前,我们先想想,我们要如何去构建网络?我希望得到一个怎么样的网络?从网络中我希望得到什么数据?让我们带着这些问题开始吧。
首先,让我直接给大家提前预告,我们后续要进行的操作
Cytoscape需要的数据实际上就是两列信息,分别表示左右两列的信息偶有联系。这里,我使用Cytoscape安装后提供的四个样品案例中的Yeast Perturbation
数据,我们命名为test.sif(实际上,就是从Cytoscape导出的数据)。
YDR277C pp YDL194W
YDR277C pp YJR022W
YPR145W pp YMR117C
YER054C pp YBR045C
.....................
注意,Cytoscape构建网络的时候,文件可以是txt文本,csv文本,excel文件等等,只要有对应的两列数据就行
菜单栏导入数据:"File" --> "Import" --> "Network" --> "File..." --> "窗口中选择我们的文件"
天呐,是不是觉得这个网络很丑啊😭,怎么用到文章中去
先不急,下面我们就要对其进行优化,以便更好的展示
网络分析
在这一步中,我们需要对我们初步构建的网络进行分析,以了解,每一个Node,每一条Edge的属性,比如说Nodes获得的图论属性:度中心性(Degree)、中介中心性(BetweennessCentrality)等
操作:"Tools" --> "NetworkAnalyzer" --> "Networks Analysis" --> "Analyze Network..." --> "选择 Treat the network as undirected" --> "OK"
对于这一步的分析,我们需要关注的是两点:1)我们需要这些参数做后续的分析;2)后期Network的优化需要这些参数。我们希望得到的Network能体现出每一个Node自身所具有的属性,而不是每一个点的大小,颜色都一样。
概念解析
中心性(Centrality)是网络分析中常用的一个概念,用以表达网络中一个点在整个网络中所在中心的程度,这个程度用数字来表示就被称作为中心度(也就是通过知道一个节点的中心性来了解判断这个节点在这个网络中所占据的重要性的概念)。测定中心度方法有很多,其中我们常用的是度中心度(Degree centrality)和中介中心度(或间距中心度,Betweenness centrality)。
1. 度中心度,(也可以理解为"连接中心度"),顾名思义就是一个点与其他点直接连接的总和。
**2. 中介中心度,**计算经过一个点的最短路径的数量。经过一个点的最短路径的数量越多,就说明它的中介中心度越高。
Network优化 - 锁定Node长宽
在初始的Network中,每一个Node的长宽没有锁定,因此我们需要锁定每一个Node的长宽,以便我们后期修改Node的形状
操作:"Control Panel界面" --> "Style界面" --> "Node界面" --> "勾选 Lock node width and height"
Network优化 - 重新布局
将整个网络中Nodes的布局重新调整以便更好的显示,我们需要Layout
功能
操作:"Layout" --> "Edge-weighted Spring Embedded Layout" --> "(None)"
注意:Cytoscape有多个Layout功能,大家可以自己去体验一下
Network优化 - 修改Node大小及颜色
我们可以根据Degree修改Network中点的大小,形状、颜色以便于体现Node在网络的重要性或者属性
大小修改操作:"Control Panel界面" --> "Style界面" --> "Node界面" --> "展开 Size" --> "Column 选择 Degree" --> "Mapping Type 选择 Continuous Mapping" --> "选择合适的大小"
形状修改操作:"Control Panel界面" --> "Style界面" --> "Node界面" --> "双击 Shape 中的形状图案" --> "全局修改Nodes形状"
颜色修改操作:"Control Panel界面" --> "Style界面" --> "Node界面" --> "双击 Fill Color 中的颜色形状图案" --> "全局修改Nodes颜色"
注意
1)我们可以直接全局修改Nodes的某一个属性
2)我们可以将对应属性展开后,更具一定的情况,分批,连续的修改Nodes的属性
3)我们也可以单独对一个Node点属性进行修改
4)对Edge的属性修改也是一样的,只要点开Edge界面
Network优化 - 修改Edge宽度及颜色
我们可以根据Edge的属性修改Edge的表现形式,如修改颜色,宽度等等
宽度修改操作:"Control Panel界面" --> "Style界面" --> "Edge界面" --> "展开 Width" --> "Column 选择 EdgeBetweenness" --> "Mapping Type 选择 Continuous Mapping" --> "选择合适的宽度"
颜色修改操作:"Control Panel界面" --> "Style界面" --> "Edge界面" --> "双击 Stroke Color (Unselected) 中的颜色形状图案" --> "全局修改Edge颜色"
Network优化 -Edge线条曲线
在以前,我们看到的Network中,两个Nodes之间的连接都是直线,但是我们可以修改他们的表现形式,有直线改成曲线,由此使Network表现的更优美
操作:"Layout" --> "Bundel Edges" --> "All Nodes and Edges"
我们总结一下吧
上面几个步骤都是比较常规的,基础,所演示的Node属性和Edge属性也有很多,大家可以自己去探索,从而在网络中展示更多的信息
结果保存
假如你认为你已经完成了网络构建,那么下面一步即使保存结果。大家可以保存两个结果:1)一个是构建网络的CYS格式文件,保存下来以便后续修改;2)导出的图片格式
CYS保存:"File" --> "Save" --> "选择目录及名称"
导出图片:"File" --> "Export as Image" --> "选择图片格式及清晰度"
关于图片保存
个人建议来说,我喜欢将最终的结果保存为PDF格式,这个我后续就可以直接转成我需要的任何格式,同时Adobe Illustrator可以用来调整PDF格式文件,以便与其他图片进行组合形成大图.
大家可以通过下面的附件试试上述的操作
本文由 石九流 创作,如果您觉得本文不错,请随意赞赏
采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
原文链接:https://blog.computsystmed.com/archives/Cytoscape - 介绍及网络构建
最后更新:2019-10-14 10:16:01
Update your browser to view this website correctly. Update my browser now