来一场Cytoscape的旅行之出行

作者: 刘小泽 | 来源:发表于2018-10-14 23:40 被阅读16次

    刘小泽写于18.10.14 跟着cyto导游继续探索网络世界

    昨天看了cyto的基本使用,那么你有没有想为什么会开发出来这个工具呢?它美得性价比高吗?值得花费精力去学习吗?用工具和与人打交道一样,初次见面大家都多多关照,但是能否长期交往,还要考察许多个人特征。为了增加对这个工具的信任,我们需要深入了解它一下

    为什么要做网络分析?

    网络 vs 通路

    考察数据之间相互作用,我们应该用的通路类型图更多一些,比如KEGG的pathway分析,二者有何不同? 网络 vs 通路 网络 vs 通路

    网络分析有几个优势

    • 比如你已经筛选了一些基因,现在想看看基因之间的关系,或者它们的功能,就像这样: 网络分析优势
    • 还可以看到组和组之间的联系,比如一个个的gene family,为寻找药物靶标提供了方便

    • 基因之间的联系可能并不都是直白的两两联系,还有就是只有基因的某个因子和另一个基因的因子有关联,这个在通路图上可能显示的就不是那么清楚。而在网络图中,只要这个点我们感兴趣,就能给它坐标,接下来就是点到线的过程了。当然根据算法不同,点线之间的连接方式也不同

    其实工具不重要,重要的是数据,这句话放到哪里都有用

    网络可视化工具: 可视化工具

    一般会有两种人需要需要用cytoscape:一种是想省事,不用编程就能做;另一种是需要发文章的,用R做的网络图不好精修,于是用这个。就像许多R做的图到了发表级别都需要AI处理一样

    为什么这么多人选Cytoscape?

    我们从不缺少美,也不缺少发现美的眼睛,这个网站就列出了许多的可视化工具。问题就在于:如何选择合适自己的,选择后是否能认真学下来
    http://selection.datavisualization.ch

    Learning Tools = Saving Your Time

    看文章引用量破万就能知道,这的确是一款神器,在生物网络拓扑构建领域中,cytoscape可以说是领先的。but why?

    • 首先,它支持的网络种类很多。比如蛋白互作(PPI)、转录调控网络图(TF-target)、网络聚类模块分析(Module)、miRNA调控靶标基因网络图、竞争性内源RNA网络(ceRNA)、通路交互网络(pathway-crosstalk)

    • 其次,它灵活多变(用熟了是灵活,否则就是臃肿的参数设置),可以随意调节节点与变线的各种属性(如颜色、大小、粗细、形状等),保存格式多(最常用就是pdf),可以保存session方便以后修改(和R差不多),各种实用的插件(clueGO+cluepedia、bingo、cykeggparser、metdisease、mcode、cytoHubba、iRegulon、enrichment map等)Cytoscape的APP Storehttp://apps.cytoscape.org/

    • 给不同的人提供多种选择,大家都喜欢可视化,但不是所有人都喜欢图形界面,因为那里存在着太多的参数设置让人头疼,因此Github上Max Franz等人还为程序猿提供了网络可视化的js版本http://js.cytoscape.org/今天偶然间发现的,惊喜😋,因为以后可能不用安装桌面软件就能进行网络可视化了,我个人还是更期待用程序去设定而不是用鼠标

      网络可视化的js版本
    • 画图有许多工具,比如AI、PS也能画出网络图(注意是画!)使用专业的绘图工具,你需要指定每一个节点的颜色、每条线的特性,它是像素决定图形

      所有的细节你都需要考虑,这对于一个数据分析者来说无疑是最头疼的
      这也是我开始为什么犹豫学习这个工具的原因,因为不想浪费大量的时间在图形处理上。于是我也能理解当时jimmy使用这个工具的心情了(http://www.bio-info-trainee.com/2055.html

      jimmy博客

    而用cytoscape恰恰相反,你的数据决定图形,只要能理解需要提交的数据意义,做的图就是问题不大的

    数据决定图形

    绘制网络图注意问题

    • 避免加载太多数据,尤其属性太多会使图形很臃肿;另外多个数据集放一起,很难观察总体的趋势

    • 一般给node上色是为了突出不同的基因和因子,以及它们表达量的差别。不要为了美观再给edge/label上色,那样会很杂乱

    • 如果要画其他基因相关数据,不要让它们与主要基因的图重叠,可以是使用线的粗细、虚实来区分

    注意的问题

    Cytoscape与Cytoscape.js

    它们长得像却是两款独立的软件包,不过这并不妨碍它们做相同的事,那么它们有什么异同呢?选择哪个更适合自己呢?

    Cytoscape Cytoscape.js
    桌面级:基于java软件 网站级:基于java script库
    需要PC运行 支持大多浏览器(包括平板、手机上的)
    必须安装Java 没有要求,只需要浏览器
    鼠标点点点 键盘敲敲敲
    用App拓展http://apps.cytoscape.org/ 用Extrensions拓展http://cytoscape.github.io/cytoscape.js/#extensions
    数据映射:设置Style 数据映射:设置基于CSS的Style

    不过这二者未来有可能会高度整合,因为目前cytoscape支持了Cytoscape.js network/table JSON (JavaScript Object Notation)文件的读写,另外cytoscape可以将style转成Cytoscape.js的style格式。


    上面说这么多,都是为了加深对陌生事物的理解,和它混熟了学起来才更有效

    网络分析的一般步骤

    1 创建网络

    R或者Excel

    2 载入数据

    2.1 数据格式
    • Cytoscape支持多种数据文件格式,其中主要的有3类:

      • sif格式:

        nodeA<interaction>nodeB
        nodeC<interaction>nodeD
        …
        

        包含3列,1和3列是有互作的基因名或蛋白质名等,第2列是相互作用的名称

      • xgmml格式:xml格式,可以规定节点和边的许多信息,比较复杂

      • txt格式:用tab分割的纯文本文件

        至少两列,每一列都是基因名(或蛋白质名),同一行的两个基因(或蛋白质等)代表有互作关系,比如两列gene id
        可以追加参数,比如设成3列:加上两基因调控的强弱系数
        可以四列:例如是否共表达(1、-1表示)
        
    • 载入数据
    1. 导入数据文件network table(以.sif格式为例):上图中第一列是自己实验中的基因数据,第三列是分析得到的相关基因数据,例如:实验中BAR1基因与MCM1基因是相关的,也就是说,它们之间一会是要连接起来的

    2. 再导入节点属性文件node attributes(.txt格式): 第一列是gene id(与先前导入的数据文件的gene id保持一致),后面可以自己设置(这里增加了mutaion和expression)

    2.2 新网络雏形

    之前导入的第一个数据文件在网络图中作为线存在,为连接nodes;

    导入的节点属性文件中第二列的mutation信息,作为node color;

    节点属性文件中第三列expression信息,作为node size

    ...而这些都是添加进来数据的时候,自己设置好的

    因此可以看出,只要提供不同的属性信息,就能在网络图中显示不同的样式
    虽说它不像ggplot是图层叠加,但是它的原理也是一环套一环,生成的图层是相关联的

    新网络形成

    3 新网络设置

    新网络的要素:点node、线edge【点又可以通过颜色、大小分区;线可以用方向、粗细区分】原理就是下面👇的图,具体操作昨天应该提到了

    新网络组成要素

    4 分析网络

    4.1 利用app- app分类

    看能得到什么信息,是不是有意义的网络图,利用Cytoscape的特色:Apps

    数量巨大,但主要分为以下几类

    app分类
    4.2 利用app-比较好用的一些App
    • geneMANIA:基因功能预测,它会把相同生物过程的基因集或蛋白组合在一起,然后看要研究基因和它们的关系。比如:你可能不认识豆豆,不知道豆豆干嘛的,但是你可能认识花花,然后发现花花每天努力学生信,发推送,然后猜测:嗯,豆豆可能也是干这个的【傍晚写到这里,突然想花花了🤡,周末两天培训班,结束了快回来吧,还等着共进(食堂)晚餐呢】

    • McodeMolecular COmplex Detection:检测蛋白互作网络(PPI)中密切相关的区域(可能表示分子复合体complex)【相比于spring(最多提取2000个nodes)提取的信息更多】,也可以检测motifs、feedback loops

    • ANIMO(Analysis of Networks with Interactive MOdeling): 建模挖掘通路,对生物通路建模,与湿实验数据动态比较。例如,想要理解某个分子变化对通路的影响,就可以用这个

    • Pepper:预测新的互作关系,还能根据结构和功能进行蛋白的排序,除了按照连接特征(拓扑系数)外,还整合外部数据库(GO注释,比对已知的复合体)

    • Enrichment Map:基于网络的基因集富集(支持GSEA数据),将基因集组合成一个网络(cluster),nodes表示基因集,edge表示基因成员的重叠,node颜色表示富集程度。其中的热图可以让用户探索富集基因集的细节

    一些好用的app
    4.3 根据基因列表大小选择不同的app
    • 大基因集(100-2000基因)=》利用通路缩小范围=〉展示成通路网络=》可以用EnrichmentMap

    • 中等基因集(100基因左右)=〉利用通路缩小范围=》展示成基因/表达产物网络=〉可以用ReactomeFI

    • 小基因集(1-50个基因)=》利用功能预测扩展范围=〉展示成基因/表达产物网络,并且增加基因linker=》可以用带有linker的ReactomeFI或geneMANIA

    根据基因多少选app

    5 导出网络

    (table格式)以及图片(pdf等格式 )


    简单的演示

    1 2 3 4 5 6 7 8 9 10 11 12 13

    欢迎关注我们的公众号~_~  
    我们是两个农转生信的小硕,打造生信星球,想让它成为一个不拽术语、通俗易懂的生信知识平台。需要帮助或提出意见请后台留言或发送邮件到Bioplanet520@outlook.com

    Welcome to our bioinfoplanet!

    相关文章

      网友评论

        本文标题:来一场Cytoscape的旅行之出行

        本文链接:https://www.haomeiwen.com/subject/vehxzftx.html