找回密码
 注册
查看: 5440|回复: 1

从R中调用Cytoscape绘制复杂网络

[复制链接]
发表于 2011-3-10 16:48:17 | 显示全部楼层 |阅读模式
从R中调用Cytoscape绘制复杂网络
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.zip3. 启动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的准备。

等修炼到一定水平再来更新这篇文章。
回复

使用道具 举报

发表于 2013-9-17 20:48:15 | 显示全部楼层
期待更进一步的解说,新手学习了。{:soso_e183:}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|小黑屋|生物统计家园 网站价格

GMT+8, 2024-11-22 06:06 , Processed in 0.023243 second(s), 16 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表