使用cytoscape绘制高级的网络图

网络图大家应该不陌生,Gene Ontology,PPI等经常会用到网络图。比如下图是大家熟悉的Gene Ontology网络图:

image

今天教大家怎么用cytoscape绘制高级的网络图

1. 导入数据

下载、安装Cytoscape(https://cytoscape.org/)。
安装完毕后打开cytoscape,在上方的工具栏中,找到File,点击Import里的Network from File导入需要绘制的网络数据,该数据一般以Excel形式保存。

image


Excel数据如下:

image

2. 选择对应的映射关系

成功导入Excel后会自动读取表格内容,根据需要的绘制要求,给读取出来的每列数据选择合适的映射关系。一般默认第一列为源节点,需要自行选择靶节点,以及自行调整其他列对应的映射关系。

举例设置gene_name为Source Node-String,(基因名为源节点)

drug_name为Target Node-String,(药物名为靶节点)

drug_is_approved为Edge Attribute-String,(药物是否获批为边属性)

interaction_types为Interaction Type-String。(相互作用类型为源节点与靶节点间相互作用的类别)

image

image


当完成以上操作后则会呈现下面的情况:我们的生成的网络图文件名叫Sheet 1,可以对左侧栏目中的Sheet 1按鼠标右键,找到Rename Network改名文件名称。

image

可以发现右下角的Node Table里有两列重复的数据,这是由于我们只是选择了源节点和靶节点,但没有给他们具体的属性,所以导入后cytoscape会把Excel中我们设为源节点与靶节点的两列整合成一列两份的形式。这会导致我们后续调整网络图的外观不方便,所以需要导入关于节点的新属性数据。

3. 导入节点属性

为解决后续能更方便改变网络图外观的问题,我们新建表格将gene_name(或drug_name)设置为source(或target)的属性。【一般设置一类节点的属性就可以,因为网络图分两类节点,如果单独一类赋予源节点属性,另一类就默认为靶节点了】

image


在上方的工具栏中,找到File,点击Import里的Table from File导入需要的节点属性。

image


导入的节点属性数据会与本身存在name(或者shared name)中数据对应,钥匙则为对应的点,小纸张则为点的具体属性。

image


由于我们的表格中没有列名,第一列默认成列名会导致节点属性缺失,所以在下方点击Advanced Options,将Use first line as column names的勾取消

image

同时如果你的cytoscape里存在多个网络图的文件,我们需要选择对应的文件导入节点数据,即在上方的Where to Import Table Data中选择To selected networks only,在点击需要的文件。

image

完成节点数据的导入我们就可以通过左侧栏目里的style改变网络图的外观。

4. 用Layout调整布局

上方的工具栏里有Layout,在改变网络图外观前,我们先选择合适的Layout(布局),一般默认选择Apply Preferred Layout,如果需要更丰富的布局,要通过上方工具栏里的Apps,进入Apps Store,搜索需要的拓展工具下载并使用。

image


可以先点击不同的Layout看哪种布局更合自己心意:

image

5. 利用style改变网络图

点击左侧栏目里的style来到该页面,下方有Node与Edge,可以分别设置点与边的外观。

image

(1)点的形状

设置点的形状即点击shape,在column中找到我们先前导入的节点属性那一列,如果不记得列名可以看右下方。Mapping Type选择Discrete Mapping,source则是我们赋予的节点属性,点击source后方,则可以挑选属性为source的点的形状。而如果我们要改变靶节点的形状,则直接点击Shape那一栏的最左边的形状,通过选择需要的形状进行改变。

image

(2)点的颜色

设置点的颜色即点击Fill Color,在column中找到节点属性那一列,Mapping Type选择Discrete Mapping,双击点击source后面的框框,出现三个点后点击即可选择source的颜色(相当于作为源节点的gene_name的颜色),同理要改变靶节点的颜色直接点击Fill Color最左侧的方框,选择想要的颜色即可。

image

(3)边的颜色

边的颜色可以反映出边的相关属性,例如我们需要体现interaction_types。

先将Style切换至Edge的界面,找到Stroke Color(Unselected)点击Column右侧,找到interaction,Mapping Type选择Discrete Mapping,然后根据interaction_types的不同,赋予他们不同颜色,除了用上述选择点的颜色的方法外,也可以直接右键,找到Edit,接着点击Edit Selected Discrete Mapping Values,就可以选择颜色了。

image

image

image

(4)边的类型

除了颜色,边的类型也可以反映边的属性,如果我们还需要将drug_is_approved(药物是否获批)体现,可以用边的类型体现。

找到Line Type,点击Column右侧,找到drug_is_approved,Mapping Type选择Discrete Mapping,然后根据需要分别给F(不获批),T(获批)不同的边的类型,以此来区分二者。

image

(5)点的标签

有时候我们需要在点上显示出它的名称,而我们最开始导入源节点和靶节点后,gene_name和drug_name都混合在一起,这个时候,需要我们重复上述导入节点属性的步骤,新建一个表格,将gene_name重复两列输入(同样注意该Excel里面没有gene_name的列名)

image


然后在上方的工具栏中,找到File,点击Import里的Table from File导入该节点属性。注意:我们导入的属性上方的column不能与先前重复,否则会导致错误。该文件先前已经导入了节点属性为Column 2所以这里把它设为Column 3。

image


导入完gene_name的属性后,找到Label,点击Column后选择Column 3,Mapping Type选择Passthrough Mapping,就可以显示源节点的名称(如果要显示靶节点则按上述步骤将drug_name新建表格后导入属性,选择对应Column即可)

image


可以根据具体的网络图外观,选择合适的Label Font Size(标注字体大小)和Label Color(标注颜色)

image

注意:凡是导入节点属性数据,都可以关注页面右下角,查看自己是否导入准确,新导入的节点属性数据是否与初始节点对应。

6. 删除重复边

有时候网络图的边存在重复,看起来比较杂乱,我们可以删掉重复的边使网络图清晰整洁。找到上方工具栏的Edit,点击Remove Duplicate Edges,选择目标网络图的文件,后点击OK即可

image

image

image

7. 导出网络图

在上方的工具栏中,找到File,点击Export里的Network to Image导出图像。在Export File Format中选择需要的图像格式(一般为pdf格式),可以自行调整导出的Page Size(纸张尺寸大小)和Orientation(方向),当前选择的是Portrait(纵向)。

image

image


导出的pdf如下:

image


供稿:谭雅丹
校稿:陈文燕

致谢橙子牛奶糖(陈文燕),请用参考模版:We thank the blogger (orange_milk_sugar, Wenyan Chen) for XXX

感谢小可爱们多年来的陪伴, 我与你们一起成长~

posted @ 2025-09-02 10:31  橙子牛奶糖  阅读(370)  评论(0)    收藏  举报