zoukankan      html  css  js  c++  java
  • 用网络图展示富集分析

    这期推文的封面是一张富集分析的网络图,来自文献:Single cell RNA sequencing of human liver reveals distinct intrahepatic macrophage populations,算是比较新颖的富集展示方法,是用Cytoscape做的。

    之前我介绍过一个网页工具,可以做富集结果的网络图,这篇推文的阅读量已经是我的小破公众号关注人数的两倍多,可以看出大家对这个很感兴趣。这一期,我继续介绍这种网络图,用到的是Cytoscape,比之前的网页工具可定制程度更高。主要参考的protocol来自文献:Pathway enrichment analysis and visualization of omics data using g:Profiler, GSEA, Cytoscape and EnrichmentMap。

    公众号后台回复20210401获取这篇protocol,以及测试数据。
    这篇文献除了写富集可视化,还写了如何做富集分析、GSEA,考虑相当周到,通读全文可以发现不少知识点,满满都是干货,比如

    1. 做GSEA时,不需要对基因做过滤
    2. Biological process是最常用的GO注释
    3. 做GSEA时,需要对基因排序,排序的标准可以是一个或多个指标的结合,比如log-transformed fold-change,−log10 P value multiplied by the sign of log-transformed fold-change
    4. 将冗余的通路合并到单个生物主题能简化后续的解释。这种网路图就是这个目的,每一个通路是一个圆点,两个通路之间共享很多基因的话会用线连起来,共享基因数目越多,线越粗

    ...

    什么是Cytoscape?
    Cytoscape是一个开源软件平台,主要用于分子互作网络和生物通路的可视化,以及将这些网络与注释信息,基因表达谱整合起来。 尽管Cytoscape最初是为生物学研究而设计的,但现在它是进行复杂网络分析和可视化的通用平台。

    当我打开官网的时候,我惊呆了,真的太好看了!

    这篇protocol中,对于整个基因富集过程分了三步

    1. 使用组学数据定义目标基因列表
    2. 通路富集分析:过滤后的基因集(比如找差异基因,就是要过滤的,工具 g:Profiler,当然我们都很熟的clusterProfiler也是可以的);不过滤要排序的基因集(比如做GSEA)。这一步之后就能得到富集到的通路以及对应的显著性
    3. 通路富集分析结果的可视化和解释

    我主要演示最后一步,只要两个文件:
    一个包含富集结果的文件;
    一个是在做富集时,用到的参考文件,比如GO BP文件,gmt格式

    电脑要求8G内存

    1 GB of RAM is sufficient to run GSEA
    analysis; however, Cytoscape (required to run EnrichmentMap software) requires ≥8 GB of RAM.

    软件及插件安装

    下载地址:https://cytoscape.org/download.html
    cytoscape的安装很容易

    安装4个插件:
    EnrichmentMap, v.3.1 or higher; clusterMaker2, v.0.9.5 or higher; WordCloud, v.3.1.0 or higher; AutoAnnotate, v,1.2.0 or higher.
    打开Cytoscape点击上方的APP菜单栏,Apps → App Manager,在新窗口搜索这四个插件,找到后点击这个插件,然后点击右下角的"Install"即可安装。可以在新窗口的"Currently Installed"菜单查看是否已经安装成功。

    演示

    文献原文同时介绍了GSEA富集的网络图,步骤基本一样。另一方面,做GSEA一般会挑基因集去做,基因集不会很多,这种网络图可能还没有GSEA经典图用得多。所以我用找差异基因过滤后的基因集做演示。

    打开软件之后,首先打开EnrichmentMap,按照图示箭头依次输入

    新窗口按照图示导入需要的文件和参数

    注意在表型这一栏,我填入了两个相反的表型,文献提供的GO富集结果只有一种表型,因此可以不填。

    点击build,可以得到如下结果,

    整体上看,框架已经有了,接下来做一些调整
    鼠标点击图中的每一个节点,选中的节点会变为黄色,这时我们可以随意拖拽节点到新的位置。在按住"Ctrl"键的同时,鼠标左键画矩形,可以同时选中多个节点和多个连边,这时可以一起拖拽。
    最左边的是EnrichmentMap插件的控制窗口,Node Cutoff调整p值,越严格,图形中剩下的节点越少;Edge Cutoff可以调整节点之间是否显示连线,值越大,则更相似的节点才会连线。

    接下来,我们将两种表型分开,一个放左边,一个放右边,尽管我这个图左右分得比较好,手动拖拽节点,几下也能分开,但不排除会遇到两种表型的通路分不太开的情况。
    我们首先需要点击最左侧的"Filter"菜单,然后点击"+"号,选择"Column filter",

    选择这个NES开头的选项

    我们在最开始设置表型时,positive设置为处理组,软件会把处理组的NES都设为1,对照组设为-1。在新窗口将范围调为0到1,这里的0-1选择的就是处理组;-1到0是未处理组。

    选中的节点都变成了黄色,拖动它们至左边位置。

    接下来对这些选中的节点,重新排布

    处理组节点新的布局不一定合适,有时候还是需要手动调整节点的位置,所以重新排布这一步也不是必须的,Ctrl+z可以撤销操作。

    之后我们把过滤范围设为-1到0,对照组做同样的调整,

    我们从上图可知一些共享较多基因的通路会聚在一起,它们往往功能也比较相似。接下来我们用AutoAnnotate插件将cluster画圈以及总结出cluster的大致功能(这一步是根据通路名称的词频得出的)。

    在新窗口点击开始即可

    新的图形是这样的,同时右上角出现的新面板可以调整图中的椭圆外形。

    多数情况下,这些cluster的名称需要人工矫正。如下图,点击名称后,鼠标右键:

    另一方面,每个圆圈内的通路名称,也可以去掉

    在EnrichmentMap的控制窗口点击"Publication ready"

    图示圆圈比较密集,我们可以调整左下角Layout Tools的scale这一条

    新的图是这样的

    进一步做一些微调,

    接下来就可以保存文件了
    如下,保存为pdf

    当然也可以另存为cytoscape(cys)文件,方便下次接着绘制


    好啦,这篇推文就到这里。整理不易,若这篇推文对您有所帮助,欢迎转发,谢谢!

    因水平有限,有错误的地方,欢迎批评指正!

  • 相关阅读:
    HDU 3081 Marriage Match II
    HDU 4292 Food
    HDU 4322 Candy
    HDU 4183 Pahom on Water
    POJ 1966 Cable TV Network
    HDU 3605 Escape
    HDU 3338 Kakuro Extension
    HDU 3572 Task Schedule
    HDU 3998 Sequence
    Burning Midnight Oil
  • 原文地址:https://www.cnblogs.com/TOP-Bio/p/14608894.html
Copyright © 2011-2022 走看看