GO富集分析示例

GO是Gene Ontology的简称,是基因功能国际标准分类体系。它旨在建立一个适用于各种物种的,对基因和蛋白质功能进行限定和描述的,并能随着研究不断深入而更新的语言词汇标准。GO分为分子功能(Molecular Function)、生物过程(Biological Process)、和细胞组成(Cellular Component)三个部分。

富集分析主要用于差异基因在GO term的富集程度,颜色越深富集越显著,红色最显著,黄色次之,无色代表富集不显著。

  • GO term分为三大类,每一类从不同的层面解释基因的生物学功能,我们可以结合生物学问题的特殊性,有针对性的关注GO term:例如我们期望从离子通道这一层面解释植物耐旱,耐盐的的机理,我们可以优先关注细胞组成里面膜蛋白。

  • GO term间具有包含关系,GO term之间可以构建复杂的结构网络。GO term 层级越低,功能描述越具体,越是低层级,越能解释生物学的问题,所以我们要关注显著富集的低层级GO term,以便具体而详尽的解释生物学问题。

  • GO富集分析的统计假设,并不能完全代基因功能的重要程度。要结合生物学问题、结合基因的功能注释,才能判断其中的基因变化是否有重要的生物学意义。

这里可以使用clusterProfiler找到富集的GO

安装所需的R包

  1. source("https://bioconductor.org/biocLite.R")
  2. options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")
  3. biocLite("org.Hs.eg.db")
  4. biocLite("clusterProfiler")
  5. install.packages("ggplot2")

进行富集分析

  1. library(org.Hs.eg.db)
  2. library(ggplot2)
  3. setwd("D:/medical_service/go_enrich")
  4. # geneNames <- c("AHNAK2", "AQP7", "DNAH11" , "FLG", "HNRNPCL2", "HRNR" , "KMT2C",
  5. # "KMT2D", "MST1L", "MUC12", "MUC16", "MUC17", "MUC19", "MUC3A",
  6. # "MUC4", "MUC5B", "MUC6", "PABPC3", "PDE4DIP", "PLEC" , "TTN",
  7. # "ANKRD36", "FCGBP", "HERC2", "IGFN1", "KRT18", "SLC25A5", "SYNE2",
  8. # "RYR1", "TNS1", "DST", "SYNE1", "TSNARE1", "NBPF19", "NBPF26",
  9. # "PRKCB", "ADGRG1", "OPCML")
  10. d1 <- read.table("genenames.txt", header=T, stringsAsFactor =F)
  11. geneNames <- d1$GeneName
  12. gene <- mapIds(org.Hs.eg.db, geneNames, 'ENTREZID', 'SYMBOL')
  13. BP.params <- enrichGO( gene = gene,
  14. OrgDb = org.Hs.eg.db,
  15. ont = "BP" ,
  16. pAdjustMethod = "BH",
  17. pvalueCutoff = 0.01,
  18. qvalueCutoff = 0.05)
  19. BP.list <- setReadable(BP.params, org.Hs.eg.db, keyType = "ENTREZID")
  20. dotplot(BP.list, showCategory=30)library(clusterProfiler)

如果要做BP, CC, MF的综合柱状图,采用ggplot2

  1. p1 <- ggplot(data=goAll)+ geom_bar(aes(x=Description,y=-log10(pvalue), fill=GOType), stat='identity') + coord_flip() + scale_x_discrete(limits=goAll$Description)
  2. ggsave("out_bar.pdf", p1, width = 10, height=6)
  3. p2 <- ggplot(Edata, aes(x=GeneRatio, y=`GO description`)) +
  4. geom_point(aes( size= Count , colour = -log10( pvalue )) ) + scale_y_discrete(limits=Edata$`GO description`)+
  5. ggtitle("GO enrichment") + scale_color_gradient(low = 'green', high = 'red') + xlim(range(Edata$GeneRatio)) +
  6. theme(axis.text.x=element_text(angle=0,size=8, vjust=0.7), axis.text.y=element_text(angle=0,size=6, vjust=0.7),plot.title = element_text(lineheight=.8, face="bold", hjust=0.5, size =16), panel.background = element_rect(fill="white", colour='gray'), panel.grid.major = element_line(size = 0.05, colour = "gray"), panel.grid.minor.y = element_line(size=0.05, colour="gray"), panel.grid.minor.x = element_line(size=0.05, colour="gray")
  7. )
  8. ggsave("out_GO.pdf", p2, width = 8, height=7)

效果如图

 来源:华为云社区  作者:benymorre

(0)

相关推荐

  • NMDS分析

    " No one knows everything, and you don't have to."   --free傻孩子 "R数据分析"专题·第15篇   ...

  • 生信实操丨一个生信菜鸟的上道经验分享-转录组测序(富集分析绘图篇)

    上篇文章小编为各位小伙伴介绍了转录组分析的第八步--富集分析.通过富集分析可了解各个基因行使的功能.那么这次小编就以2020年8月发表在Viruses上的文章" Transcriptome ...

  • 上下调基因各自独立进行GO数据库的3分类富集(求美图代码)

    火山图大家应该是也基本上都没有问题,下面的MA图其实跟火山图非常的类似,两者都是log2FC信息,不同的是火山图展现P值,而MA图展现的是表达量情况! 火山图是为了说明log2FC比较大的一般来说具有 ...

  • 实用技术 | 如何用R绘制并填充相对正确的世界地图

    近几年来,随着负笈海外特别是美国的政治学博士陆续学成回国,R逐渐在高校从事政治学量化研究的师生群体中流行起来,形成了与Stata并驾齐驱的局面.与需要付费购买才能使用的商业统计软件Stata不同,R可 ...

  • ggplot2绘图学习 径向柱形图

    径向柱形图也被称为圆形柱形图或星图.这种图表使用同心圆网格来绘制条形图 每个圆圈表示一个数值刻度,而径向分隔线(从中心延伸出来的线)则用作区分不同类别或间隔(如果是直方图).刻度上较低的数值通常由中心 ...

  • Revigo,高大上地可视化GO富集结果

    只要有规则的地方,就有不公平. 使用TBtools做GO富集,会得到以下三个文件 使用Excel打开其中一个,比如比较经常使用的Biological Process,复制p_adjust小于等于0.0 ...

  • R绘图笔记 | GO-BP,GO-MF,GO-CC绘制在同一个柱状图中。

    前面介绍过一些图形的绘制,我们有时候进行GO富集分析,需要绘制富集结果,这里介绍怎么将GO-BP,GO-MF,GO-CC绘制到同一图形中. library(ggplot2)library(RColor ...

  • RNA富集分析

    这部分开始进行基本的富集分析,两类 A:差异基因富集分析(不需要表达值,只需要gene name) B: 基因集(gene set)富集分析(不管有无差异,需要全部genes表达值) ######## ...

  • 科研 | NC:使用iDEA方法对单细胞转录组数据进行差异表达和基因富集分析

    编译:夕夕,编辑:十九.江舜尧. 原创微文,欢迎转发转载. 导读 差异表达分析(DE)和基因富集分析(GSE)常用于单细胞转录组研究中.本研究中,作者开发了一种集成且可扩展的方法--iDEA,可通过分 ...

  • 掀起你的盖头来,GSEA富集分析

    前面说过,GO分析给出差异表达基因的基本特征描述,比如细胞组分.生物活动和分子功能,但是这种描述都是笼统的概述,并不具体.比如,GO分析描述一个人,从长相.籍贯.学历.专业.工作等等,但是对于这个人在 ...

  • GSEA富集分析 - 界面操作

    GSEA定义 Gene Set Enrichment Analysis (基因集富集分析)用来评估一个预先定义的基因集的基因在与表型相关度排序的基因表中的分布趋势,从而判断其对表型的贡献. 其输入数据 ...

  • 使用R语言的clusterProfiler对葡萄做GO富集分析的简单小例子

    葡萄的参考基因组下载自NCBI,下载链接是https://ftp.ncbi.nlm.nih.gov/genomes/all/GCF/000/003/745/GCF_000003745.3_12X/ 基 ...

  • 关于功能富集分析的基础知识

    富集分析基因富集分析(gene set enrichment analysis)是在一组基因或蛋白中找到一类过表达的基因或蛋白.研究方法可分为三种:Over-Repressentation Analy ...

  • 别搜啦!关于富集分析你想知道的这里都有!

    富集分析应该算是最常用的分析方法之一了,但许多同学对它也只是一知半解,脑子里还有许多疑问,比如前景基因是什么?背景基因用什么?结果用什么图形表示?显著富集气泡图里的Rich factor和显著富集柱状 ...

  • clusterProfiler|GSEA富集分析及可视化

    GSEA(Gene Set EnrichmentAnalysis),即基因集富集分析,无需设定阈值来区分上调下调基因,使用所有的基因进行分析. GO 和 KEGG 可参考:R|clusterProfi ...

  • GO、KEGG富集分析(一)有参情况

    一.GO分析的理论知识 what is Gene Ontology(GO)? 基因'本体论' Gene Ontology中最基本的概念是 term.GO里面的每一个entry都有一个唯一的数字标记,形 ...