富集分析原理和clusterProfiler包进行GO、KEGG富集分析详细说明

概念:

基因富集分析是指对于给定一组基因根据基因组注释信息(GO、KEGG)对基因进行聚类分析,即给定的基因是不是GO中的一个功能(或KEGG中的一个通路)。

基因的功能富集的目的是说明给定的基因集对哪些功能的影响有针对性的,不是随机影响的。

原理:

基因富集分析是通过研究给定的基因集在功能节点上是否过出现得到关注的基因集显著注释的功能节点。通常利用超几何分布等方法计算给定基因在某个功能(或通路)上的P值,判断给定的基因在功能(或通路)的基因数目超过了随机的期望,是一个小概率事件

变量差异表达分析
N基因组所有基因、所有分析的基因
x差异表达基因集中有功能F的基因
MN中具有某种功能(F)的基因总数
K差异表达基因

 clusterProfiler包进行GO、KEGG富集分析:

1.加载R包,下载R包请参考:

富集分析--R包--clusterProfiler下载安装与报错分析解决_Tian問的博客-CSDN博客

#加载包
library(clusterProfiler)
library(org.Hs.eg.db)
library(topGO)

●  clusterProfiler包由Y叔开发,可以进行基因及基因簇的分析和基因谱功能可视化,功能强大。

●   org.Hs.eg.db人类的基因组注释包进行基因ID的转换

●  topGO包辅助绘制GO富集分析结果的有向无环图

2、数据准备,筛选感兴趣的基因集

#自行选择筛选自己感兴趣的基因集
gene_set <- rownames(pro_result[which(pro_result$FDR < 0.01 & abs(pro_result$log2FC) >= 2),])

●  根据自己的需求获取差异基因

3、基因ID转换

gene_symbol <- bitr(geneID = gene_set,  #感兴趣的基因集
                    fromType="ENSEMBL",   #输入ID的类型
                    toType=c("SYMBOL", "ENTREZID"),   #输出ID的类型,可为多个
                    OrgDb="org.Hs.eg.db")  #物种注释数据库

●  可能出现部分ID无法匹配的结果,通常输出的ID少于输入的ID

4、GO富集分析

gene <- gene_symbol[,3]
CC <- enrichGO(gene = gene,  #基因列表(转换的ID)
               keyType = "ENTREZID",  #指定的基因ID类型,默认为ENTREZID
               OrgDb=org.Hs.eg.db,  #物种对应的org包
               ont = "CC",   #CC细胞组件,MF分子功能,BP生物学过程
               pvalueCutoff = 0.01,  #p值阈值
               pAdjustMethod = "fdr",  #多重假设检验校正方式
               minGSSize = 1,   #注释的最小基因集,默认为10
               maxGSSize = 500,  #注释的最大基因集,默认为500
               qvalueCutoff = 0.01,  #q值阈值
               readable = TRUE)  #基因ID转换为基因名

#展示GO的CC的富集结果result
df <- CC@result

●  ID:GO数据库ID

●  Decription:基因功能描述

●  GeneRAatio:K/x

●  BgRatio:M/N

●  pvalue,qvalue:p值和校正过的p值

●  count:差异基因的数目

 5、GO富集分析可视化

5.1绘制点图

dotplot(CC,  #GO富集分析结果
        x = "GeneRatio",  #横坐标,默认GeneRation,也可以为Count
        color = "p.adjust",  #右纵坐标,默认p.adjust,也可以为pvalue和qvalue
        showCategory = 20,  #展示前20个点,默认为10个
        size = NULL,  #点的大小
        title = "CC_dotplot"  #设置图片的标题
        )

 5.2绘制条状图

barplot(CC,  #GO富集分析结果
        x = "Count",  #横坐标,默认Count,也可以为GeneRation
        color = "p.adjust",  #右纵坐标,默认p.adjust,也可以为pvalue和qvalue
        showCategory = 20,  #展示前20个,默认为10个
        size = NULL,  
        title = "CC_barplot"  #设置图片的标题
        )

 5.3GO富集分析的有向无环图(DAG)

plotGOgraph(CC,  #输出enrichGO或gseGO的有向无环图(与输入的对象对应)
            firstSigNodes = 10,  #显著性节点的个数,默认10个
            useInfo = "all",  
            sigForAll = T,  #是否在所有节点展示score/p-value
            useFullNames = T,  #是否使用全称
            )

 ●  在GO富集分析的有向无环图(DAG)中,方形是默认输出的显著性最高的前10个节点;且颜色的深浅表示显著性,颜色越深,越显著。

●  图形中内容的含义:

 自上而下,依次为:

●  GO数据库中编号(ID)

●  节点功能注释

●  p值

●  K/M

 6、KEGG富集分析

KEGG<- enrichKEGG(gene = gene,   #基因列表(同GO) 
                  organism = "hsa",  #物种
                  keyType = "kegg",  #指定的基因ID类型,默认为kegg
                  minGSSize = 1, 
                  maxGSSize = 500,
                  pvalueCutoff = 0.01,  
                  pAdjustMethod = "fdr",
                  qvalueCutoff = 0.01)

 

#展示GO的CC的富集结果result
df <- KEGG@result

  7、KEGG富集分析可视化

KEGG可视化的点图和条图和GO富集分析可视化一致,不在展示,且KEGG不可绘制DAG图

GO和KEGG富集分析还可以借助其他R包绘制诸如热图、弦图,大家可自行学习


感谢您的查看,致谢!(`・ω・´)ゞ(`・ω・´)ゞ

欢迎关注公众号《生信Tian問的笔记》ε≡٩(๑>₃<)۶ 一心向学

  • 25
    点赞
  • 313
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
KEGG富集分析是一种常用的生物信息学分析方法,用于研究基因或蛋白质的功能和通路富集情况。在R语言中,可以使用Bioconductor中的进行KEGG富集分析,其中KEGGREST和clusterProfiler。 首先,你需要安装并加载这些。可以使用下面的代码来完成这一步骤: install.packages("BiocManager") BiocManager::install("KEGGREST") BiocManager::install("clusterProfiler") library(KEGGREST) library(clusterProfiler) 接下来,你需要准备好你的基因列表,并使用KEGGREST中的函数获取基因对应的KEGG通路信息。下面是一个示例代码,你可以根据你的需要进行修改: gene_list <- c("gene1", "gene2", "gene3") # 替换为你的基因列表 kegg_pathways <- keggGet("pathway", "hsa", "list") # 获取KEGG通路列表 gene_pathway <- enrichKEGG(gene = gene_list, organism = "hsa", pvalueCutoff = 0.05) # 进行KEGG富集分析 最后,你可以使用clusterProfiler中的函数来可视化KEGG富集分析结果,比如绘制富集通路的柱状图、网络图等。以下是一个绘制柱状图的示例代码: barplot(gene_pathway, showCategory = 10) # 显示前10个富集通路 通过以上步骤,你就可以在R语言进行KEGG富集分析了。请注意,根据你的具体需求,你可能还需要进行一些参数的调整和结果的解释。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [R语言clusProfiler进行GO与KEGG富集分析](https://blog.csdn.net/Joey_Liu666/article/details/124988292)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [生信分析论文套路R语言代码](https://download.csdn.net/download/thtfhtfhvyyy/87244940)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值