专栏首页用户7627119的专栏GO和KEGG富集倍数(Fold Enrichment)如何计算

GO和KEGG富集倍数(Fold Enrichment)如何计算

前面我们简单介绍过ggplot2画KEGG富集柱形图,其实GO富集结果的展示相对于KEGG来说要复杂一点点,因为GO又进一步可以划分成三个类。

BP:biological process,生物学过程。
MF:molecular function,分子功能。
CC:cellular component, 细胞成分。

因此在画图的时候,我们需要将这三类给区分开来。下面分别用了三种不同的方式来展示GO富集分析的结果。

图1:横轴为富集到每个GO条目上面的基因数目

图2: 横轴为GeneRatio

图3:横轴为Fold enrichment(富集倍数)

下面我们结合富集分析的结果表,来分别解释一下这三张图中横坐标的具体含义。

首先来看看这张表中每一列所代表的含义

ONTOLOGY:区分是BP,MF还是CC
ID:具体的GO条目的ID号
Description:GO条目的描述
GeneRatio:这里是一个分数,分子是富集到这个GO条目上的gene的数目,
            分母是所有输入的做富集分析的gene的数目,可以是差异表达
            分析得到的gene
BgRatio:Background Ratio. 这里也是一个分数,分母是人的所有编码蛋白的
        基因中有GO注释的gene的数目,这里是19623个,分子是这19623个
        gene中注释到这个GO条目上面的gene的数目
pvalue:富集的p值
p.adjust:校正之后的p值
qvalue:q值
geneID:输入的做富集分析的gene中富集到这个GO条目上面的具体的
        gene名字
Count:输入的做富集分析的gene中富集到这个GO条目上面的gene的数目

这张表里面没有提到富集倍数(fold enrichment)

fold enrichment = GeneRatio / BgRatio

那么我们就很容易理解上面三张图的横坐标了,分别为Count,GeneRatio和Fold enrichment。

那么问题来了,既然这张表里面没有Fold enrichment,那么我们如何计算富集倍数呢?

下面小编给大家介绍三种方法来计算Fold enrichment,任君挑选

1.利用eval直接做计算

kegg=read.csv("KEGG-enrich.csv",stringsAsFactors = F)

enrichment_fold=apply(kegg,1,function(x){
  GeneRatio=eval(parse(text=x["GeneRatio"]))
  BgRatio=eval(parse(text=x["BgRatio"]))
  enrichment_fold=round(GeneRatio/BgRatio,2)
  enrichment_fold
})

2.利用strsplit按/分割成分子和分母

kegg=read.csv("KEGG-enrich.csv",stringsAsFactors = F)
fenshu2xiaoshu<-function(ratio){
  sapply(ratio,function(x) as.numeric(strsplit(x,"/")[[1]][1])/as.numeric(strsplit(x,"/")[[1]][2]))
}
enrichment_fold=fenshu2xiaoshu(kegg$GeneRatio)/fenshu2xiaoshu(kegg$BgRatio)
enrichment_fold=as.numeric(enrichment_fold)

3. 利用gsub替换,得到分子和分母

kegg=read.csv("KEGG-enrich.csv",stringsAsFactors = F)
fenshu2xiaoshu2<-function(ratio){
  sapply(ratio,function(x) as.numeric(gsub("/.*$","",x))/as.numeric(gsub("^.*/","",x)))
}
enrichment_fold=fenshu2xiaoshu2(kegg$GeneRatio)/fenshu2xiaoshu2(kegg$BgRatio)
enrichment_fold=as.numeric(enrichment_fold)

本文分享自微信公众号 - 生信交流平台(gh_d04ce007f7b8),作者:生信交流平台

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-10-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 转录组讲师带你读文献-m6A和RNA测序结合

    我在我在04-转录组笔记推文任务列表(半年期)里面安排了6个经典综述和10篇转录组应用文献给大家,可惜愿意沉下心了认真苦学的并不多。(https://share...

    生信技能树
  • 功能数据库专题-GSEA

    作为一个医学僧背景的生信菜鸟,长期在大神们推荐的各种入门学习方法中摇摆不定,一会儿R最基础,一会儿Python更专业,可是通过背诵内外妇儿毕业的鄙人一到自己写代...

    企鹅号小编
  • GO和KEGG富集分析(Metascape数据库)

    生物信息学研究中,获取基因列表的GO和KEGG富集分析的需求非常常见。目前有许多生物信息学手段或者数据库可以实现基因富集分析,例如DAVID,但它们有些是收费的...

    用户1359560
  • GO、GSEA富集分析一网打进

    富集分析是生物信息分析中快速了解目标基因或目标区域功能倾向性的最重要方法之一。其中代表性的计算方式有两种: 一是基于筛选的差异基因,采用超几何检验判断上调或下调...

    生信宝典
  • 为什么选择GSEA分析?和KEGG和GO分析有什么区别?

    但是,一般的差异分析(GO和Pathway)往往侧重于比较两组间的基因表达差异,集中关注少数几个显著上调或下调的基因,这容易遗漏部分差异表达不显著却有重要生物学...

    DoubleHelix
  • webgestalt:基因富集分析的在线工具

    在组学数据分析中,基因富集分析是最常用的方法之一,所有的基因数据分析最终都要落实到功能上去,富集分析作为一种最基础的功能研究方法,通过go, kegg path...

    生信修炼手册
  • 三阴性乳腺癌表达矩阵探索笔记之GSEA

    基于超几何分布检验的富集分析做KEGG数据库的时候,它总共只有七千多个基因,人类总的背景基因有两万多个,被KEGG记住的只有6500个(一直在增加),假设一条通...

    生信技能树
  • Cytoscape插件3:Enrichment Map(1)

    早期的基因列表解释依赖于选择一系列高得分的基因,然后建立相当主观奇怪的关系。富集分析是一个自动的,基于严格的统计学的方法来分析和解释很大的基因列表,使用的是先验...

    Y大宽
  • Y叔的clusterProfiler承包了富集分析结果的可视化

    见Y叔的网络在线书籍《clusterProfiler: universal enrichment tool for functional and compara...

    生信技能树
  • GSEA可以做什么

    基因集富集分析GSEA(gene-set enrichment analysis)。这个操作并不难,主要就是准备符合GSEA要求的数据文件(本地的话4个),关于...

    Y大宽
  • 一文掌握GSEA,超详细教程

    生信宝典之前总结了一篇关于GSEA富集分析的推文——《GSEA富集分析 - 界面操作》,介绍了GSEA的定义、GSEA原理、GSEA分析、Leading-edg...

    生信宝典
  • metascape: 最强大的基因富集分析在线工具

    metascape是一个web工具,提供了基因富集分析,蛋白质互作网络分析等多种功能,对应的文章发表在nature communications上, 链接如下

    生信修炼手册
  • 关闭 ​cytoscape的十大插件之之三--stringApp

    五一劳动节,连续五天,在钉钉群直播互动授课带领大家系统性掌握cytoscape软件的使用方法和技巧!见:生信必备技能——Cytoscape

    生信技能树
  • 基因富集分析算法介绍

    昨天我们介绍了富集分析的基本的内容:GO分析和KEGG分析都是啥?。但是富集分析还是有很多不同的算法的,对于主要的算法过程其实不用太多了解,这个由专...

    医学数据库百科
  • 我想做信号通路分析,但我就是不想学编程

    这篇文章就教大家,如何一句代码都不用敲,通过简单的复制粘贴还有点两下鼠标,就能实现通路富集的分析。

    生信宝典
  • 筛完miRNA以后要怎样补分析?

    今天要和大家分享的是2020年6月发表在Multiple sclerosis and related disorders(IF=2.889)杂志上的文章“Ide...

    科研菌
  • 20W+喜爱的Pathview网页版 | 整合表达谱数据KEGG通路可视化

    前段时间介绍了一个R包 — Pathview。它可以整合表达谱数据并可视化KEGG通路,操作是先自动下载KEGG官网上的通路图,然后整合输入数据对通路图进行再次...

    生信宝典
  • 富集算法那么多,用哪个好呢?

    在之前进行富集分析介绍的时候,我们提到过关于富集分析是什么,以及富集分析的算法主要有哪些。在这么多的算法在进行富集分析的时候,就会让我们产生这样的疑问,那么多算...

    医学数据库百科
  • MSigDB:GSEA提供的基因集数据库

    Gene Set Enrichment Analysis,中文名称为基因集富集分析,是由Broad Institute研究所的科学家提出的一种富集方法,在提出该...

    生信修炼手册

扫码关注云+社区

领取腾讯云代金券