Cytoscape中文教程(1)

写在前面,这个教程真的有点长,是我早期翻译的,如果你完全不懂Cytoscape,那么你读这些,应该会做出非常漂亮的各种基于cytoscape及插件的图,因为这个教程真的很白。 原文地址


直接从第三部分开始

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

image.png

  • 椭圆形的menu Bar,可以在每个菜单下看详细信息
  • 矩形标记的Tool Bar,有最常用的图标。这些功能在菜单下也有。鼠标在相应图标上停留一会就会有相应的提示。
  • 左上角有网络列表的控制面板。这包含一个可选择的网络总体窗格(底部左边)。
  • 主体网络视图窗口,来显示网络
  • table panel(表格面板)底部右下。显示选择的节点和边的列,你可以据此来调整列数据的值。
  • 网络面板和表格面板是可停靠的选项卡面板。可以通过点击悬浮窗口图标

1.png

(位于cytopanel的右上角)。当你想分配网络面板足够多的屏幕空间的时候这就非常有用。当你想把悬浮窗口归位的时候,点击Dock window图标

2.png

就可以了。如果点击

3.png

可以隐藏面板,当想再次出现的时候就可以通过选择菜单View-Show相应的面板就可以了。

  • 当你选择悬浮的时候,例如表格面板,你会有两个cytoscape窗口,主窗口和一个新的表格窗口。类似下图。当你把鼠标放置在一个小图表的时候就会出现提示。

4.png

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可以使得矩形框看起来更小。你也可以通过点击航海图标显示或不显示(这个其实就是一个可以全局查看的浮动窗口)

image.png

右下角的蓝色图表是打开的状况,再点击就关闭了。

5 产生新的网络

有四种不同过的方式可以产生新的网络

  • A.输入已经存在的固定格式的网络文件
  • B.输入已经存在的未格式化的文本或excel文件
  • C.输入公共数据库中的数据
  • D.产生新的空网络,手工添加节点和边

5.1输入固定格式Network files

Network file可以是supported network formats中描述的任意一种。网络文件可以通过file-import-network menu输入。可以是本地计算机的也可以使网络的但得有个URL地址。

本地计算机导入

File import network file或直接点击

image.png

工具条。一些不同格式的样品网络文件在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 的样品。

image.png

Network table file应该至少包含两列才能产生有edge的网络。如果文件只有一列,产生的网络将不会有任何边。这种格式的话,相互作用的类型是可选择的。因此,最小的网络表应该是下面这样的:

image.png

一个网络文件表中的一列代表一个边和边数据列。这意味着,一个网络文件可以被认为是一个network 数据和边列数据文件的组合。一个表可以包含很多列,并不都是边数据。在这个例子里,你可以通过点击列头(在预览窗口)来选择不输入那些列。在输入下面这种表格的时候这个功能就很有用了

image.png

这个数据文件是表格限制的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输入文件,遵从下面几步

1.选择file-import-network-file或直接点击

image.png

2.选择要上传的文件 3.定义选择哪一列包含source interaction,target interaciton和interactiontype限定交互参数。点击任何一列的标签都可以进行选择source ,interaciton和traget

image.png

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

image.png

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生成嵌套网络

现在有两种方式可以产生嵌套网络

6.2嵌套网络的可视化

含有嵌套网络的节点,如果缩小的话就可以很清楚的展示嵌套网络了。

image.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏杨龙飞前端

vscode 本地调试nodejs

1、首先通过node-inspect插件可以debug   nodejs ,先起nodejs服务,再启用node-inpector服务

3.5K30
来自专栏散尽浮华

linux系统终端命令提示符设置(PS1)记录

PS(Prompt Sign)指的是命令提示符,在日常运维工作中为了方面操作管理,有时会设定PS1环境变量。 废话不多说,下面开始记录下Linux中PS1设置 ...

42380
来自专栏一“技”之长

Bootstrap响应式前端框架笔记十七——下拉列表交互

    为dropdown-toggle类添加data-toggle="dropdown"属性可以实现其下拉列表功能的绑定,示例如下:

12130
来自专栏salesforce零基础学习

salesforce 零基础学习(六十一)apex:component简单使用以及图片轮转播放的实现

有的时候,我们项目有可能有类似需求:做一个简单的图像轮转播放功能,不同的VF页面调用可以显示不同的图片以及不同的图片描述。这种情况,如果在每个页面单独处理相关的...

18350
来自专栏kalifaの日々

win10如何为双显示屏设置不同的壁纸

网上流传最广的鸡肋方法是,同时选中多张图片,右键设置成壁纸。这种方法是让这多种图片以幻灯片轮播的方式在多个显示屏上随机播放,并没有实现真正的两个显示屏设置两个固...

39360
来自专栏Nian糕的私人厨房

Web前端性能优化(一)

我们在开发的时候会习惯缩进和写注释,方便我们在日常的维护,但将代码上传至服务端后,我们完全可以把那些空格、制表符、换行符进行压缩,以此减少请求资源的大小;同样的...

12440
来自专栏LIN_ZONE

iframe 加载外部资源,显示隐藏loading,onload失效

在项目中使用iframe 来加载外部资源,需要在iframe请求外部资源的时候,需要显示一个loading,在加载完成后,将这个loading隐藏掉,刚开始看到...

11020
来自专栏埋名

Mac系统14款快速查看插件Quick Look Plugs

Mac系统下快速浏览的14款Quick Look插件,鼎力推荐,可能适合程序员,特别是前端开发人员,我已经将它疯狂的收录到,一万星星awesome-mac:

18520
来自专栏别先生

eclipse从git拉去出现红色方块的解决办法

1:由于错误已经解决,这里借了一副图,主要是显示这个红色方块,然后贴一下解决方法,日后好脑补: ? 大家一看肯定都是冲突了,我也是第一次遇到这种错误,贴一下(鼠...

38470
来自专栏挖坑填坑

Angular练习

1、安装node.js(其自带npm) 2、安装angular/cli 3、使用angular/cli构建项目参考这篇文章

13550

扫码关注云+社区

领取腾讯云代金券