如果连这些图都不会,还怎么让文章有逼格!

今天还是讲Cytoscape,虽然已经写了很多相关的文章,但是依然有童鞋在问哪里可以下载Cytoscape这样没有营养的问题,这让本宫无比无比的痛心!!!

所以今天本宫会很详细、非常详细、巨详细、史无前例地详细、前无古人,后无来者地详细讲解如何使用Cytoscape。

Cytoscape是用于可视化网络数据的一个非常强大的工具,比如说表现一组基因间的相互关系,文本形式和网络图形式,在数据的表现力上孰优孰劣一目了然。

点(node)和线(edge)是网络图的两个核心要素。我们做各种各样的网络图,归根结底是对图中的点和线进行注释,我们通过改变点和线的样式来对点和线赋予各种各样的信息,从而实现数据的可视化

很多童鞋可能在下载这一步就放弃了,因为下载速度可能会很慢,200M的宽带可能只有2kb的下载速度。本宫送佛送到西,翻过去给你们把火种带回来(见文末网盘链接)

安装的时候先安装java,安装好了之后需要设置环境变量

在环境变量中,要修改两个地方,一个是添加JAVA_HOME。选择“新建”,变量名填上JAVA_HOME,变量值填上C:\Program Files\Java\jdk1.8.0_151,在java的安装过程中,默认一直下一步安装,所以装在C盘,如果你在安装过程中改了,那可能是D盘或者E盘,那么变量值要做相应的更改。

还要修改一个地方,就是Path,添加JAVA的变量值到Path中,选择Path,然后点“编辑”,在最后面添加如下语句;%JAVA_HOME%\bin;

打开命令提示符cmd,输入java -version,如果能正常显示,那表明装好了,你就可以装Cytoscape了

虽然网盘里的是最新版本3.60,但是不知道重新安装需不需要重新下载插件什么的,时间所迫,今天给大家所做的演示都是基于3.42版本,如果大家在使用过程中发现什么差别,请在文末留言

欢迎页面

先来看一下Cytoscape的欢迎页面,最主要的功能就是数据导入了,在这里我们可以导入本地文件建立网络,也可以从数据库获取数据建立网络。

本地文件的基本格式大家上面已经看到了,就是两列节点信息,处于同一行的两个节点之间存在连线。所以这个表里基本的点和线的信息都已经有了。

再来看一下从数据库导入数据,输入感兴趣的基因名称,然后选择相应的数据库,导出数据。

从下面这么多个数据库中得到了N个网络

每个网络都进行了可视化展示(下图展示了其中之一)

基本功能介绍

下面这张图是Cytoscape的整体布局(名称都是本宫随便起的,方便下面详细介绍)

工具栏

View

如果你的哪个操作模块不见,可以在View这栏里找找看,其它的功能没啥,Zoom In这种功能,本宫相信你的鼠标是带滚轮的

Select

Select用的还是蛮多的,比如我们要选中与某一个节点相邻的所有节点。下图中演示了选中Tyms所有相邻的节点,当然edge也是可以进行这样的选中操作的,这里就不作演示了。

Layout

Layout主要用于改变整个网络的形态

Bundle Edges处理前后效果对比

旋转咱就不说了,来看一下Scale的效果,可以作一个局部的放大,也可以通过拉伸让过于密集的nodes分布得稀疏一些。

下面这些就是各种各样的layout了,大家可以多试一试,然后挑一个最接近自己理想样式的,在此基础上进行修改。

如果大家改样式改得面目全飞,改不过去了,就选Apply preferred layout还原一下。

APPs等下单独讲

Tools这块的功能就本宫个人而言用得很少,都是通过设置style以及APPs辅助分析进行操作。

快捷工具栏

导入网络数据这个和欢迎界面的一样,导入表格则是通过导入一个表格的信息对节点或者线注释(导入数据时建议导入txt格式的文件!)。比如下图我们导入一个基因表达量信息的表格,对节点进行注释,后续我们可以通过改变节点的大小来可视化表达量的信息。

导入表格数据时要注意三点:

1、导入的这个表格数据是针对全部的网络,还是只针对当前正在操作的网络。如果是针对全部的网络,那么后续根据表格数据设置格式的时候会产生全局的变化,各个网络图无法独立操作。

2、这个表格是针对node还是edge,如果是只针对node那么无法用这个表格的数据对edge进行注释。

3、设置好关键字,在这里node1才是与整个网络相匹配的关键字,Expression是一个注释列。

设置好之后,导入数据结果如下

根据Expression调整节点样式

导出图片只建议大家导出成PDF格式,高清无码,后续好编辑。

操作区(重点!!!)

画的图好不好看,就全看这一部分的骚操作了!

Network这块没啥好说的。

Style(重中之重)

Style的设置包括三部分:node,edge,network。

先看node,大家可能会觉得为什么你可以操作的选项比我的多呢?

看这里:

大家把自己常用的勾选好了之后设置成默认。

常用的设置包括描边(border),节点颜色(fill color),标注(label),节点形状(shape)。

后面edge和network大同小异,其中network中可以设置背景颜色。

下面就通过一个实例讲讲如何做好一个网络图(下列数据以及示例图已经上传在了网盘中)

首先是导入数据,这里combined_score已经作为edge的注释信息导入进去了,我们再导入表格注释就不需要导入edge的信息了。

再导入node的注释信息

我们把节点的形态调成圆的,锁定高度宽度后,节点可以调成正圆的

根据Expression设置节点大小,随Expression线性变化

调整节点颜色和相应的透明度,节点有Type注释的设置成白色,其它的为橙色

设置描边样式,有Type注释的节点分别设置成红绿蓝,默认白色(即没有注释的为白色描边)

根据Type注释设置节点的描边宽度,默认为0(没有描边)。

设置描边线条形状,效果如右图

Label设置

字体设置

文字大小

标注的位置

下面设置Edge

线条颜色随Combine_score渐变

线条粗细随Combined_score渐变

设置一下线条透明度(避免线条影响node的label的正常显示)

调整一下节点的分布,可以手动调节,也可以用layout里面的scale工具

最后导出图片时确保整个网络都能够完整地显示在作图区内

这里还做了另外一个示例供参考:

最后来讲一讲APPs,你可以把Cytoscape理解为IOS的手机系统,这些APP让整个Cytoscape的功能更加丰富。

之前的文章已经介绍过:ClueGO、CentiScape和MCODE。(见文末链接)

今天介绍一个文本挖掘的APPs,叫作Agilent Literature Search

在App magnager中可以直接下载这个APP。

这个APP用起来也很简单,设置如下

在Cytoscape中自动生成相应的网络图

网盘链接:https://pan.baidu.com/s/1skXS5Md

密码:2qi2

  • 发表于:
  • 原文链接:http://kuaibao.qq.com/s/20171226B0RQ4T00?refer=cp_1026

扫码关注云+社区