r语言进行go富集分析_R语言GEO数据挖掘-功能富集分析

本文介绍了如何使用R语言的clusterProfiler包进行GO和KEGG富集分析,以及GSEA分析。首先,通过筛选差异基因,然后进行ID转换和去重操作。接着,进行了GO和KEGG的富集分析,并展示了结果。最后,使用Pathview包进行通路可视化,并通过GSEA分析探讨了基因集合的富集情况,绘制了相关图表。
摘要由CSDN通过智能技术生成

   功能富集分析

在得到了差异基因的基础之上,进一步进行功能富集分析,这里我们使用clusterprofiler包

本文将对差异基因进行 GO, KEGG注释并完成可视化,GSEA分析

Sys.setlocale('LC_ALL','C')

library(tidyverse)

library(ggplot2)

library(dplyr)

library(clusterProfiler)

library(org.Hs.eg.db)

load(file = "DEG_all.Rdata")

head(DEG)

##定义 筛选logFC>=1, P<=0.05的差异基因

DEG_2% rownames_to_column("genename") #%>% as_tibble() %>%

filter(abs(logFC)>=0.58,P.Value<=0.05)

genelist

## ID转换

genelist%  bitr(fromType = "SYMBOL",

toType = c("ENSEMBL", "ENTREZID"),

OrgDb = org.Hs.eg.db)

head(genelist)

dim(genelist)

GO富集分析

注意clusterprofiler中使用的富集ID是ENTREZID,如果不是需要进行转换,也很简单

我们这里其实可以用我们自带的probe中的ID

使用了semi_join这个筛选连接

注意这里我故意使用的是筛选连接,其实inner_join, 等等都可以,我就是要用这些不熟悉的

但是这里的probe其实基因名是有重复的,我们还要进行去重的操作

如果自己有probe信息

if(F){

load("probe.Rdata")

names(probe)[2]

DEG_2

probe

##设定差异阈值筛选

DEG_2% arrange(abs(logFC)) %>%

filter(abs(logFC)>=0.58,P.Value<=0.05)

dim(DEG_2)

gene%as_tibble() %>% dplyr::semi_join(DEG_2,by="genename") %>% .$ENTREZ_GENE_ID

head(gene)

length(gene)##相当于是取了交集,用DEG_2中的基因来做筛选,得到了12549个基因

}

我们假设没有probe注释信息

ego 

OrgDb         = org.Hs.eg.db,

keyType       = 'ENSEMBL',##指定gene id的类型

ont           = "all",##GO分类

pAdjustMethod = "BH",

pvalueCutoff  = 0.01,##设置阈值

qvalueCutoff  = 0.05,

readable=TRUE)

write.csv(ego,file = "ego.csv")

ego[1:5,1:5]

##

ONTOLOGY         ID

GO:0019882       BP GO:0019882</

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值