What I Am Coding? What I Will Get?
Posts tagged Cytoscape
Cytoscape 2.8 新功能预览
Aug 10th
7月份在ISMB上就听到了Cytoscape 2.8的风声(见之前的博客)。前几天,Cytoscape的核心开发人员在服务器上放出了Cytoscape 2.8 Alpha 1,Cytoscape 2.8的首个公测版本。但是从各种迹象看,2.8都只是3.0到来之前的一个过渡而已,在Cytoscape的Wiki上甚至只能找到一条跟2.8有关的条目。不过,2.8还是带来了一些有意思的功能,简单介绍一下。
1. 自定义节点图片:
在之前的版本中,节点的形状就是那几个几何图形,改改颜色、大小和border而已,但在2.8中用户可以在VizMap中用自己的图片作为节点,这无疑会诞生很多创意。例如Cytoscape最活跃的开发人员,Keiichiro Ono 大野圭一朗制作的用PDB数据库中蛋白质三维结构图绘制的蛋白质相互作用网络:
看着很帅,这肯定会诞生很多非常具有想象力的复杂网络可视化效果。
2. 属性函数
电子表格软件,例如Excel,里面各种各样的函数吧,对于简单的数据处理还是很爽的。现在对于Cytoscape中网络的各种属性,包括节点属性、网络属性、边属性,也能使用40多种函数进行简单的处理。同时,插件开发人员也可以在插件中提供新的函数。
3. 根据关键字搜索插件
说实话,Cytoscape的那个插件管理器很不好用,现在终于做出了改进。打开Manage Plugins,可以用关键字搜索所需的插件。添加其它的插件源也更加方便了。
#ISMB2010 #Cytoscape
Jul 14th
会议开完了,该做点记录了。先说说关于Cytoscape的一些东西,其它的八卦会另外写,波士顿的游记也会另外写。以下内容以时间为序。
9号在ISCB student council举办的Scientific Speed Dating上遇到了多伦多大学的大牛,Gary Bader。Bader,Cytoscape最活跃的Director之一,从他实验室走出来的Cytoscape插件有MCODE,NetMatch等等,Cytoscape Web也是。2010年,到现在为止,有两篇Nature,一篇Science,其它的论文就不说了。Google也曾经邀请Bader去介绍生物信息学的知识。总而言之,就是个大牛。7、8分钟的交流显然是觉得不爽的。Bader一方面在网络的分析方法、可视化等方面很活跃,一方面在基于生物网络的癌症研究上也投入了很多。同样,Bader也在关注生物网落的动态特性,相互抑制的东西是不能同时出现在网络中,融合多种数据有可能是解决这个问题的一个途径。最后问了个很傻很天真的问题,如何解决生物网络数据的低可靠性问题?Bader通常的做法是,集成多个数据库,选择那些有多篇文献报道的相互作用。很简单,很常见的方法,大牛在这方面也没什么太多的手段。
11号,大会的第一天下午,Scooter Morris在Technology Track上介绍了最新的Cytoscape 2.7.0,以及将在Cytoscape 2.8.0中实现的新功能,我感兴趣的有两个:
- 用户自定义节点图片;
- 在节点中显示数学公式;Update Aug 10, 2010: 这里写错了,其实是可以用数学公式对节点和边的属性进行处理
随后,Gary Bader介绍了Cytoscape Web。一个基于Flash的复杂网络工具,提供了丰富的Javascript接口,可以很方便的在网页上展示复杂网络。
12号下午,Gary Bader介绍了Gene MANIA项目。GeneMANIA项目是Bader和Morris两个大牛一起主持的项目,一个对基因的功能相关性进行分析的平台。
13号上午,在Special Session: Visualization of Biological Networks上,各路大牛各显神通。Gary Bader再次介绍了如何用Cytoscape分析生物网络,细节不说了。很有意思的是,在IBM的研究员Frank van Ham的报告后,Bader提了一个有趣的idea:生物网络的显示能否像Google Map那样,在缩放的过程中显示不同层次的信息?很有意思的问题,我想到的是把简单的层次化聚类算法和静态的生物网落,外加Gene Ontology的注释信息结合在一起,似乎可以在某种程度上实现这个功能。
Gary Bader最后还主持了一个关于Cytoscape的讨论会,但因为要赶飞机,没能参加。
从R中调用Cytoscape绘制复杂网络
Jul 2nd
R,治世能臣;Cytoscape,乱世奸雄,两位爱卿可否通力协作,助我顺利毕业?然也!
最近在Cytoscape的mail-list上一个很热门的话题就是如何在R中调用Cytoscape绘制复杂的生物网络,从而将R强大的统计功能,尤其是igraph,sna等复杂网络分析包跟Cytoscape灵活的可视化复杂网络分析功能及众多插件结合在一起。昨天,Cytoscape的核心开发人员,UCSD的Keiichiro Ono在Cytoscape的wiki上发了一篇对此的简要教程,Cytoscape And R。
在R中调用Cytoscape绘图,基本原理就是利用Cytoscape的RPC插件和Apache的XML RPC库在本机上启动Cytoscape的RPC服务,然后在R中用经过修改的XMLRPC包访问Cytoscape的RPC服务,从而实现R和Cytoscape的交互。
1. 安装Cytoscape RPC插件。
- 从其官方网页上下载最新版的Cytoscape RPC插件,在我码这篇文章的时候最新版是0.95。把Jar文件拷到plugin目录。
- 然后到Apache的web serive开发项目组网页上下载XMLRPC库,解压后把lib目录下的xmlrpc-common-3.1.3.jar, xmlrpc-server-3.1.3.jar, ws-commons-util-1.0.2.jar三个文件拷到Cytoscape的plugin目录。
- Cytoscape这边准备完毕。
2. 安装R的XMLRPC包。
- XMLRPC包依赖于RCurl和XML两个包,所以同学们要先在自己的R里面把这个两个包装好。
- 然后,到这个地址下载一个经过修改的XMLRPC包。跟安装其它软件包一样:
sudo R CMD INSTALL XMLRPC_0.2-mod.zip
3. 启动Cytoscape,在plugin菜单下激活RPC插件,默认端口是9000
4. 启动R,加载XMLRPC包和测试用的igraph包:
library(XMLRPC) library(igraph)
接下来,先通过xml.rpc在Cytoscape中新建一个网络,然后用igraph生成一个网络,并将此网络传给Cytoscape:
xml.rpc('http://localhost:9000', 'Cytoscape.createNetwork', 'R-Cytoscape Test')
g1 <- barabasi.game(200)
edgelist1 <- get.edgelist(g1)
edgeIDs <- xml.rpc('http://localhost:9000', 'Cytoscape.createEdgesFromVector', edgelist1[,1], edgelist1[,2])
此时,切换到Cytoscape,会看到一个红点。那其实是一个有两百个节点的网络,只是没有应用任何layout而已。随便选择一个layout就能看到这个网络了。
高级功能我也在研究中,上面这几个Cytoscape的插件和R的包都还是bug无数,大家使用的时候要随时做好自己debug的准备。
等修炼到一定水平再来更新这篇文章。
07-16-2010 Update:
有人放出了基于上述原理的R package,详见这里:http://db.systemsbiology.net:8080/cytoscape/gaggle/test/cy2rpc/public/index.html
近期Cytoscape安装插件出错的解决办法
Mar 22nd
在Cytoscape的邮件列表里面看到不少咨询插件安装出错的求助贴,我也收到了国内用户发来的邮件。
用插件管理器安装插件时可能会遇到如下错误:
cytoscape.actions.
cytoscape.org cytoscape.org java.net.UnknownHostException:
cytoscape.org at java.net.AbstractPlainSocketImpl.connect(Unknown
Source) at java.net.PlainSocketImpl.connect(Unknown Source) at
java.net.Socket.connect(Unknown Source) at
sun.net.NetworkClient.doConnect(Unknown Source) at
sun.net.www.http.HttpClient.openServer(Unknown Source) at
sun.net.www.http.HttpClient.openServer(Unknown Source) at
sun.net.www.http.HttpClient. (Unknown Source) at
sun.net.www.http.HttpClient.New(Unknown Source) at
sun.net.www.http.HttpClient.New(Unknown Source) at
sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(Unknown
Source) at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown
Source) at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown
Source) at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown
Source) at cytoscape.util.URLUtil.getBasicInputStream(URLUtil.java:107)
at cytoscape.util.URLUtil.getInputStream(URLUtil.java:71) at
cytoscape.plugin.PluginFileReader. (PluginFileReader.java:45) at
cytoscape.plugin.PluginManager.inquire(PluginManager.java:326) at
cytoscape.plugin.PluginManagerInquireTask.run(PluginManagerInquireTask.java:77)
at cytoscape.task.util.TaskWrapper.run(TaskManager.java:160)
问题的原因是最近Cytoscape.org没法解析到Cytoscape的服务器上。所以解决方法很简单,有人在Cytoscape的邮件列表里面给出了解决方法:
* 在Plugin Manager中点击[Change Download Site]
* 点击[Edit Sites]
* 选择列表中的 “Cytoscape” ,列表中应该只有这一个网站
* 点击Edit
* 把原来的地址: http://cytoscape.org/plugins/plugins.xml,改成:
http://www.cytoscape.org/plugins/plugins.xml(就是在cytoscape前面加上www.就行了)
这样Cytoscape就不会报错了

最新评论