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


    从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.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

    本文转自:http://gossipcoder.com/?p=176

     

  • 相关阅读:
    权限管理
    用户和用户管理
    文本编辑器vim
    对于我的linux常用命令的说明
    linux常用命令6:关机重启命令
    linux常用命令:5网络命令
    linux常用命令:4文件压缩和解压命令
    linux常用命令:3文件搜索命令
    linux常用命令:2权限管理命令
    通过原型继承创建一个新对象
  • 原文地址:https://www.cnblogs.com/huzs/p/3742032.html
Copyright © 2020-2023  润新知