富集分析是生物信息分析中快速了解目标基因或目标区域功能倾向性的最重要方法之一。其中代表性的计算方式有两种:

一是基于筛选的差异基因,采用超几何检验判断上调或下调基因在哪些GO或KEGG或其它定义的通路富集。假设背景基因数目为t,背景基因中某一通路pathway中注释的基因有m个;上调基因有k个,上调基因中落于通路pathway的数目为q。简单来讲就是比较q/k是否显著高于m/t,即上调基因中落在通路pathway的比例是否高于背景基因在这一通路的比例。(实际计算时,是算的odds ratio的差异,q/(k-q) vs (m-q)/(t-k-m+q))。这就是常说的GO富集分析或KEGG富集分析,可以做的工具很多,GOEAST是其中一个最好用的在线功能富集分析工具,数据库更新实时,操作简单,并且可以直接用之前介绍的方法绘制DotPlot。

另一种方式是不硬筛选差异基因,而是对其根据表达量或与表型的相关度排序,然后判断对应的基因集是否倾向于落在有序列表的顶部或底部,从而判断基因集合对表型差异的影响和筛选有影响的基因子集。这叫GSEA富集分析,注释信息可以是GO,KEGG,也可以是其它任何符合格式的信息。GSEA富集分析 - 界面操作详细讲述了GSEA分析的原理、可视化操作和结果解读。

具体原理解释见我们在B站的免费视频:易生信转录组高级课程系列节选

GOEAST结果绘制富集分析泡泡图

单个基因集富集结果展示

在去东方,最好用的在线GO富集分析工具一文中介绍了一款高引用、操作简单、数据库每周同步更新的在线富集工具GOEAST,很受好评。美中不足的是,这个工具不能输出泡泡图。下面我们展示下如何用GOEAST输出的富集结果表格自行筛选条目绘制富集分析泡泡图。

GOEAST输出的表格内容如下 (geneIDs    symbols 列内容较长,此处没用到,故未展示):

GOID    Ontology    Term    Level    q    m    t    k    log_odds_ratio    p
GO:0006730    biological_process    one-carbon metabolic process    4    34    57    45240    13378    1.012309306    0.001481151
GO:0007154    biological_process    cell communication    2    2169    6843    45240    13378    0.100137585    0.007326261
GO:0007165    biological_process    signal transduction    5    1955    6136    45240    13378    0.107606604    0.006325629
GO:0023052    biological_process    signaling    1    2100    6613    45240    13378    0.102820905    0.006590727
GO:0044700    biological_process    single organism signaling    2    2100    6613    45240    13378    0.102820905    0.006590727
GO:0050896    biological_process    response to stimulus    1    3251    10438    45240    13378    0.074846633    0.012472089
GO:0005515    molecular_function    protein binding    1    3299    10399    45240    13378    0.101392361    3.32E-05
GO:0005794    cellular_component    Golgi apparatus    6    611    1835    45240    13378    0.171200701    0.057432963
GO:0012505    cellular_component    endomembrane system    2    1521    4648    45240    13378    0.146146563    0.000353056
GO:0071944    cellular_component    cell periphery    2    2059    6559    45240    13378    0.086204434    0.065663723

我们先看下其中几列的含义是什么:

  • q: 用于分析的基因集中匹配到该通路的基因数目

  • m: 背景基因集中落在该通路的基因数目

  • t: 背景基因集中总的基因数目

  • k: 用于分析的基因集中总的基因数目

  • p: 富集显著性值(FDR,多重假设检验校正后的p-value)

  • log_odds_ratio: 富集比,具体见上面基础部分

富集分析泡泡图实际是一种散点图,这个图怎么绘制需要我们先理解这个图每一部分的含义。理解了图,剩下的就是把对应列的信息赋值到图上。

我们先把数据导入平台http://www.ehbio.com/Cloud_Platform/front/#/analysis?page=b%27MTA%3D%27,

选择一些参数,体会下它们在图上的体现和意义。

然后选择参数

  • log_odds_ratio列作为横轴(X-axis)信息

  • Term列作为纵轴(Y-axis)信息

这两列就确定了点的分布,下面三个参数是给点的属性赋值

  • 统计显著性p列作为Color variable,给每个点根据数值大小进行上色,从颜色上区分富集显著性

  • q列用于设置点的大小Point size variable,点越大表示目标基因集中落在对应通路的基因越多

  • Neg log10 transform variable是指定哪个变量进行对数转换,这是可选参数,但通常我们会对p-value列做这个转换。

    转换后越小的p-value值就会变得越大

提交后,获得结果图如下:

图中每个点代表一个富集的条目,在Y轴有对应标记。这些条目按其log_odds_ratio的值排序后展示,log_odds_ratio高的条目在Y轴上方展示;每个点的大小代表用于分析的基因集中匹配到该通路的基因数目,颜色代表富集程度。

但这个图中,点的大小有些太分散,颜色是绿色饱和度越高表示富集越显著,可能跟常规认知不同。修改两个参数:

  • Variable for be transformed in square root way选择q,通过平方根降低数据之间的差距

  • 设置颜色 Manual color vector (color set)OrRd

获得结果如下

往期精品(点击图片直达文字对应教程)

机器学习

后台回复“生信宝典福利第一波”或点击阅读原文获取教程合集

单个基因集富集分析泡泡图绘制相关推荐

  1. 多个基因集富集结果泡泡图绘制展示

    多个基因集富集结果展示 通常我们会同时对多个基因集分别进行富集分析,结果放在一起展示.这时我们需要在富集结果后面加一列,标记该结果是哪个基因集的富集,在Excel中可以很方便地操作.如下面动图所示,分 ...

  2. GO/KEGG富集分析泡泡图中为什么基因的数目是小数?

    在上次转录组可视化课程中,有位老师看到富集分析泡泡图的图例中的Count存在小数,于是提出了这么一个问题:为什么基因的数目有小数? 之前没有注意过这个问题,应该是ggplot2默认的图例生成方式所导致 ...

  3. 点点鼠标在线绘制GO/KEGG富集分析泡泡图

    单个基因集富集分析泡泡图绘制

  4. 一个R包完成单细胞基因集富集分析 (全代码)

    singleseqgset | 单细胞RNA-Seq基因集富集分析 NGS系列文章包括NGS基础.转录组分析 (Nature重磅综述|关于RNA-seq你想知道的全在这).ChIP-seq分析 (Ch ...

  5. R语言学习 - 富集分析泡泡图

    功能富集泡泡图 功能富集分析用来展示某一组基因(一般是单个样品上调或下调的基因)倾向参与哪些功能调控通路,对从整体理解变化了的基因的功能和潜在的调控意义具有指导作用,也是文章发表中一个有意义的美图.通 ...

  6. R 学习 - 富集分析泡泡图回应

    R语言学习 - 富集分析泡泡图 刚一出品,Y叔就说有硬伤.Y叔是著名富集分析软件clusterprofiler的原创,而且软件内集成dotplot, enrichmap,cnetmap (后续也实现这 ...

  7. ClusterProfiler在线基因集富集分析,支持自定义基因集、任意物种

    为什么pathway富集分析结果没有我感兴趣的通路? GO和KEGG富集分析使用差异基因(上调基因,下调基因,或者上下调合起来的基因)作为输入,使用超几何分布等算法计算显著富集的GO term或者通路 ...

  8. 单基因gsea_GSEA:基因集富集分析和ssGSEA:单样本基因集富集分析

    传统富集分析(基于超几何分布或者Fisher精确检验):关注一列差异基因是否是随机分布在某一感兴趣的基因集中(某通路的基因) 得到通路富集的结果时: (1).一条通路中既有上调基因又有下调基因,无法确 ...

  9. 基因集富集分析(GSEA)

    GSEA简介 首先简单介绍一下GSEA,它是2005年在PNAS上发扬光大的方法,沿用至今,目的是看差异表达的基因在哪些基因集中富集.相比于Over-representation只关注显著差异表达的基 ...

最新文章

  1. R语言可视化学习笔记之ggridges包
  2. java继承----类的复用
  3. 编译/链接过程如何工作?
  4. 互联网协议 — IPv4 — 分片与重组
  5. Ubuntu文件中文乱码
  6. Python练习:tkinter(1)
  7. php 获取变量指针_PHP 底层的运行机制与原理
  8. bzoj 1675: [Usaco2005 Feb]Rigging the Bovine Election 竞选划区(暴力)
  9. [USACO12NOV]同时平衡线Concurrently Balanced Strings DP map 思维
  10. 小米手机测试代码电池测试代码
  11. 支持中英文和国旗的android国家代码/国际电话区号选择器
  12. MYSQL 命令行大全
  13. 解决Firefox3下Flashgot的”AddRef”问题
  14. 长沙一佳一教育科技有限公司:短视频如何制作
  15. win11磁盘分区_win11系统磁盘如何分区
  16. STM32 USB应用——VCP
  17. Java中amp;amp;和amp;以及||和|的区别
  18. 七年老安卓的九十月小结
  19. 《白夜行》《幻夜》读后感
  20. Ubuntu16.04(Xenial Xerus 好客的非洲地松鼠)更换pip源

热门文章

  1. 张庆余(1991-),男,北京卡达克数据技术中心软件业务本部助理工程师,主要研究方向为软件架构、云计算。...
  2. 征文通知:第三届(2016)科学数据大会——科学数据与创新发展
  3. 【数据库系统】DBMS、DBS、DBA、DB的区别
  4. 【Python】nltk库使用报错之punkt安装
  5. 去重的Set解不出“斯诺登的密码”(洛谷P1603题题解,Java语言描述)
  6. C++ 工厂模式(设计模式)
  7. C++学习笔记系列之继承多态
  8. 共同探索企业级数据库架构之道路
  9. 配置spring事务管理的几种方式(声明式事务)
  10. 转:陈梓瀚:关于编程的胡扯