写在前面:
- 对于我们大多数来说,用图形或图表更比数据本身更能说明问题,更容易让人理解,并且可以赏心悦目。细胞内部,大量的分子时刻都在发生着变化或相互作用。对于我们来说,了解这种相互作用是非常重要的。但就像中国地图,如果抽象的描述东部的东部是谁,一定让人头大,但如果在地图上指出来那效果是完全不一样的。cytoscape就给我们提供了一种这种分子地图的可能性,即蛋白互作网络,当然这种网络可以由多种定义形式来产生,比如染色体物理位置,比如共表达性质等;也可以产生多种排布形式(看个人需要)。所以我觉得这是一个必备的技能,不只会出图,更要会知道出什么样的图,怎么解释这种图。这样就需要知道作图背后的知识。所以我翻译并加了自己的理解注释,完成了这份手册。
- 这个手册真的有点长,是我早期翻译的,如果你完全不懂Cytoscape,那么你读这些,应该会做出非常漂亮的各种基于cytoscape及插件的图,因为这个教程真的很白。
- cytoscape有很多非常优秀的app,关于cytoscape本身的使用方法完成后,我会稍后发布几个app的使用。当然,关键还是知道用哪个插件,为什么用,结果怎么解读,其生物学意义是什么。
原文地址
直接从第三部分开始
3 命令行参数
Cytoscape可以识别很多可选的命令行参数,包括network,节点,边和会话文件等数据文件运行规范,这些文件是可以输出的(有h或help flag)
usage: cytoscape.{sh|bat} [OPTIONS]
-h,--help Print this message.
-v,--version Print the version number.
-s,--session <file> Load a cytoscape session (.cys) file.
-N,--network <file> Load a network file (any format).
-P,--props <file> Load cytoscape properties file (Java properties
format) or individual property: -P name=value.
-V,--vizmap <file> Load vizmap properties file (Cytoscape VizMap
format).
-S,--script <file> Execute commands from script file.
-R,--rest <port> Start a rest service.
任何一个指定的文件,都可以被定义为一个路径或URL,例如,你可以指定一个文件为一个网络(假如文件在当前的工作目录存在)
cytoscape.sh -N myNet.sif
注意:假如文件路径下还有空间,确定在它旁边还要有quotes
cytoscape.bat -N "C:\Program Files\Cytoscape\sampleData\galFiltered.sif"
也可以把一个URL指定为一个网络
cytoscape.sh -N [http://example.com/myNet.sif](http://example.com/myNet.sif)
.
4 Quick Tour of Cytoscape
- 椭圆形的menu Bar,可以在每个菜单下看详细信息
- 矩形标记的Tool Bar,有最常用的图标。这些功能在菜单下也有。鼠标在相应图标上停留一会就会有相应的提示。
- 左上角有网络列表的控制面板。这包含一个可选择的网络总体窗格(底部左边)。
- 主体网络视图窗口,来显示网络
- table panel(表格面板)底部右下。显示选择的节点和边的列,你可以据此来调整列数据的值。
-
网络面板和表格面板是可停靠的选项卡面板。可以通过点击悬浮窗口图标
就可以了。如果点击
可以隐藏面板,当想再次出现的时候就可以通过选择菜单View-Show相应的面板就可以了。
-
当你选择悬浮的时候,例如表格面板,你会有两个cytoscape窗口,主窗口和一个新的表格窗口。类似下图。当你把鼠标放置在一个小图表的时候就会出现提示。
Network Editing 网络编辑
Cytoscape有编辑功能,这可以让你在网络画布上建立或编辑交互式网络。想编辑的话,只要在网络窗口空白的地方右击Add-node,一个新的节点就会被增加。想增加一个边的话,右击一个节点(会显示黄色),然后右击Add-Edge,接着会出现一条线,选择目标节点(target node)就可以,这样两个节点之间的边就有了。同样的方法,如果右击一个边(edge),可以选择add,那么可以添加各种说明和文本框,这点很像MS的ppt或类似的软件。关于这点会在5.6部分详说。
4.3菜单
File文件
File菜单包含几乎所有基本的文件功能。File-open可以打开cytoscape会话文件。New可以产生新的网络,可以是空白的也可以是已经存在的.save可以保存会话文件。Import可以输入网络或数据。Export可以输出数据和image。File-export-network vies as graphics可以以JPEG,PDF,PNG,post script或SVG格式输出你的网络。
File-recent session可以列表你最近打开过的会话文件。File-run可以让你运行一个cytoscape脚本。Print current network可以打印。
Edit 编辑
Edit菜单包含剪切,复制和粘贴功能,也有撤销和恢复功能。
也有创建和破坏视图功能(network的图形呈现形式)也可以创建和破坏网络(实际就是删除了,前者只删除图(view),后者连control pannel的文件都删除了,也就是rew network data。选择网络的某节点或边可以删除,删除的可以被undo恢复。
编辑还有一个功能remove duplicated edges就是移除重复的边,只保留一个。
Remove self-loops可以移除source和target node 都一样的边
Delete selected nods and edges可以删除选择的网络的subset。
Rename network可以对当前选择的网络重新命名。
View视窗
View可以允许显示或因此control panel,table panel,tool panel和result panel。也有其他和视图相关的功能控制。
Select 选择
这个功能能提供了选择节点和边的不同选择
Layout显示形式
这个菜单可以以多种形式展示network。这个菜单的上部的(Bundle Edges,Clear Edge Bends,Rotate,Scale,Align and Distribute)是控制网路可视化的工具。菜单下面是一系列自动网络输出的一些算法。
APP
APP manager可以管理(安装,更新,删除)你的APP,也可以让已经安装的APP增加一些选择。这都依赖于你安装了什么APP,你的APP可能与这里显示的有点不一样。
(以前的版本,apps叫做plugins,但功能一样)
具体的cytoscape的apps和介绍在官网
点击app manage稍等一会就出现选择文件夹,选择你想安装的app即可。
Tools
工具菜单包含像命令行对话,网络分析,网络合并和工作流程等特征。
Help
Citation有cytoscape和app的文字引用。这会根据你安装的APP不同而不同。
4.4 网络管理
- Cytoscape允许一次载入多个网络。有或没有view。一个网络储存了永恒上传的所有的边和节点。View是显示它们的。
- Control panel的网络管理显示了载入的网络。点击其中一个那么主窗口的view视图就是可编辑的,假如这个view存在的话。每一个网络都有一个名字和size(节点和边的数字),在network manager里有显示。如果一个网络是从一个文件载入的,那么网络的名字就是文件的名字。
- 有一些网络非常大(几千个节点和边),这就需要很长时间显示。因为这个原因,cytoscape里的网络或许没有一个view。有视图的网络有正常的黑色字体,并且网络不会有高亮的红色。你可以通过右击网络名字或通过Edit破坏一个网络。
- 某些操作可以在cytoscape产生新的网络。如果一个新的网络是在一个旧网络中产生,例如,通过选择一个网络中一系列节点并且复制这些节点到一个新网络(File-New-Network),就会立即显示剥离出来的网络。
- 网络视图也可以从主窗口中剥离。当剥离时,视图窗口可以被拖到另一个位置,可以改变大小,最大化或最小化。选择关闭按钮并没有破坏,只是关闭。
排列网络窗口 - 当有被剥离的视图窗口时,你可以通过悬浮窗口的View-arrange network windows排列他们
4.5 view navigator视图导航(又叫bird’s eye view鸟瞰图)
视图导航可以显示网络的全貌。可以看整个网络。蓝色的矩形框显示显示了当前视图窗口中显示的网络,也可以通过鼠标进行拖曳,看网络的其他部分。Zooming in可以使得矩形框看起来更小。你也可以通过点击航海图标显示或不显示(这个其实就是一个可以全局查看的浮动窗口)
右下角的蓝色图表是打开的状况,再点击就关闭了。
5 产生新的网络
有四种不同过的方式可以产生新的网络
- A.输入已经存在的固定格式的网络文件
- B.输入已经存在的未格式化的文本或excel文件
- C.输入公共数据库中的数据
- D.产生新的空网络,手工添加节点和边
5.1输入固定格式Network files
Network file可以是supported network formats中描述的任意一种。网络文件可以通过file-import-network menu输入。可以是本地计算机的也可以使网络的但得有个URL地址。
本地计算机导入
File import network file或直接点击工具条。一些不同格式的样品网络文件在cytoscape的samleData里都有。选择文件后,会打开一个会话窗口,这时,你可以选择创建一个新网络合集或载入已经存在的网络。当选择后者的时候,一定要选择正确的列以匹配新的网络到已经存在的网络中。
SIF,GML和XGMML格式的网络文件可以直接使用N option从命令行导入。
5.2从未格式的table files导入网络
Cytoscape支持以.TXT和Excel工作表输入网络,路径是File-import-network-file。交互式的GUI允许用户对特定的文件进行一些选择。屏幕也会提供当前条件下文件如何解析的预览。当条件configuration改变的时候,预览会自动更新。除了限定文件如何解析外,用户一定也会选择那些代表source和target nodes的列,还有可选择的边的交互类型。
支持的文件
Import network from table功能支持txt和excel格式的文本。对于有很多工作表的excel工作簿来说,一次只能选择一个工作表。下面是一个table file 的样品。
Network table file应该至少包含两列才能产生有edge的网络。如果文件只有一列,产生的网络将不会有任何边。这种格式的话,相互作用的类型是可选择的。因此,最小的网络表应该是下面这样的:
一个网络文件表中的一列代表一个边和边数据列。这意味着,一个网络文件可以被认为是一个network 数据和边列数据文件的组合。一个表可以包含很多列,并不都是边数据。在这个例子里,你可以通过点击列头(在预览窗口)来选择不输入那些列。在输入下面这种表格的时候这个功能就很有用了
这个数据文件是表格限制的text文件,包含交互的网络数据,边数据,节点数据。从这个表输入网络和边数据,选择uniqueID A 作为source,unique ID B作为target,相互作用类型为interactor types。下一步,关闭作为node data 的列(Alternative ID A,speciesB etc),其他的列可作为边数据被输入。
网络输入功能不能输入节点表列-只有边列。想从这个表输入节点列,请参看Nods and edge column data部分http://manual.cytoscape.org/en/3.4.0/Node_and_Edge_Column_Data.html#node-and-edge-column-data。
Note(1)这个数据来自被Andrew Garrow 合并过的human interactome datasets.文件地址是
http://wiki.cytoscape.org/Data_Sets/
基本操作
从text或excel输入文件,遵从下面几步
2.选择要上传的文件
3.定义选择哪一列包含source interaction,target interaciton和interactiontype限定交互参数。点击任何一列的标签都可以进行选择source ,interaciton和traget
4.(可选择的)定义edge表列。除了网络数据,网络文件应该还有边列。
激活(或失活)表格的列。这可通过选择列编辑器里的【attachment:disablecolumn.png】符号。
5 ok
‘’输入没有边的节点列表
这个可以输入不带边的node列表文件。如果你选择只有一个source column,这讲会产生没有交互的网络。这个特征对于可以从网络客户端获取一些节点扩张功能有用。这个可以从“从外部数据来产生网络”获取更多细节。下面5.3就是)
5.3 从公共数据库获取网络
File-import-network-publicdatabases
什么是网络服务?
网络服务是标准化的,依赖平台的一种通过互联网的交互基质。现在,很多主要的生物学数据库通过网络服务API发表他们的数据。
List of biological web serviceshttp://taverna.sourceforge.net/services
Web services at the EBIhttp://www.ebi.ac.uk/Tools/webservices/
Cytoscape的核心开发团队已经开发了几种网路服务客户端。它支持很多网络服务包括
PSIQUIC:基于生物学交互数据的标准网络服务。可获得的完整数据库列表见
http://www.ebi.ac.uk/Tools/webservices/psicquic/registry/registry?action=STATUS
下面将展示如何通过外部数据库输入网络
5.4 开始
通过刚才上面的命令输入
http://www.ebi.ac.uk/Tools/webservices/psicquic/registry/registry?action=STATUS
5.5 示例:从多个数据库获取P-P交互网络
- 选择File-import-network-public databases
- 从下拉菜单中选择Interaction databases Universal Client.
- 输入一个或多个搜索条目,比如BRCA1
- 点击search开始搜索
- 选择数据库,这个选择将会作为你的默认数据库列表
- 点击import按钮开始输入选择的网络数据
- 确认这些交互数据下载后,BRCA1的网络会被输入并可视化
小提示 - 扩展网络:cytoscape的一些网络服务提供可关于节点内容的额外选择。想这么做的话,可以右击一个节点,选择APPS-extend network by public interaction database例如,我们已经从lntAct下载了BRCA1网络,并且已经选择merge这个节点的邻居到已经存在的网络。
- PSICQUIC options
- PSICQUIC提供以下几种搜索方式
- Search by ID,MIQL,Species
默认是ID,比如gene symbol,uniprot ID,NCBI ID.如果搜索模式被设置了MIQL,还可以使用MIQL搜索((https://code.google.com/p/psicquic/wiki/MiqlReference27)。如果想通过关键词或特定的功能搜索相互作用,对结果的筛选来说这非常强大。最后的选择是输入物种的所有相互关系(相互作用组)。
5.6手动产生新的网络或编辑一个网络
File-new-network-empty network 右击画布或一个节点 可以编辑已经存在的网络。
加节点
- 右击空白地方选择add-node
加边
想添加一个边连接一个节点,右击source node,选择edit-add edge,下面再点击target node。可以按ESC取消。也可以选择两个或多个节点去链接,路径是add-edges connecting selected nodes,这会产生连接所有选择的节点的边。
如果想删除点或边
可以选择后,在选择edit-cut。也可以选择后,edit-deletd selected nods and edges. 如果想恢复删除的点或边,edit-undo
节点组
任何数目的节点都可以被组成一组,可以以一组形式展示也可以个体节点展示。若想产生组,那么选择两个或多个节点,右击,Group-group selected nodes。也可以给这个组取个名字。一旦组被建立,可以右击菜单撤销或扩张这个组。你也可以快速撤销或扩张群通过双击组节点或它的任何一个子节点。
添加网络注释
在画布的任何地方右击可以添加text,images 或其他形状的注释。可以添加自己的图片,可以选择形状,也可以选择有或无边框的文本。也可以 被编辑。
6Nested NETworks:嵌套网络
Cytoscape有可以把潜逃网络和任何节点联系一起的功能。一个嵌套网络可以是任何当前在cytoscape里已经定义的网络。这可以产生嵌套登记就像环形联系图。例如,不同的模块发现插件,可以利用视图网络里发现的嵌套网络。每个节点代表一个包含嵌套网络的模块。
6.1生成嵌套网络
现在有两种方式可以产生嵌套网络
A输入一个嵌套网络格式NNF(Nested network format)文件(具体格式见http://manual.cytoscape.org/en/3.4.0/Supported_Network_File_Formats.html#nnf)
B.手工建立网络,制定嵌套网络给一个阶段,路径是右击 node context 菜单(http://manual.cytoscape.org/en/3.4.0/Navigation_and_Layout.html#nested-network-node-context-menu)
6.2嵌套网络的可视化
含有嵌套网络的节点,如果缩小的话就可以很清楚的展示嵌套网络了。