模式物种GO富集分析

模式物种进行GO富集分析绘图
今天通过clusterProfiler包对模式物种进行GO富集分析,并绘制富集分析图片,今天以小鼠数据为例进行,代码如下:
1. 安装所需的R包
Install.packages(“BiocManager”)
Install.packages(“clusterProfiler”)
Install.packages(“ggplot2”)
Install.packages(“tidyverse”)
2.导入所需的R包
library(clusterProfiler)
library(ggplot2)
1. 差异分析结果文件

2. 富集分析
#读取小鼠基因差异分析结果数据
gsym.fc <- read.csv("easy_input_Mm.csv", as.is = T)
#获取基因名与ENTREZID的对应关系。
gsym.id <- bitr(gsym.fc$SYMBOL, #基因名
fromType = "SYMBOL", #从gene symbol
toType = "ENTREZID", #提取ENTREZ ID
OrgDb = "org.Mm.eg.db") #相应物种
idvec <- gsym.id$ENTREZID
names(idvec) <- gsym.id$SYMBOL
gsym.fc$ENTREZID <- idvec[gsym.fc$SYMBOL]
write.csv(gsym.fc[,c(3,2)], "very_easy_input_Mm.csv", quote = F, row.names = F)
id.fc <- read.csv("very_easy_input_Mm.csv", as.is = T)
#enrich进行富集分析
ego <- enrichGO(gene = id.fc$ENTREZID,
#小鼠用这行
OrgDb = org.Mm.eg.db,
#人类用这行
#OrgDb = org.Hs.eg.db,
#非模式生物用这行,例如玉米
#OrgDb = maize.db,
ont = "BP", #或MF或CC
pAdjustMethod = "BH",
#pvalueCutoff = 0.001,
qvalueCutoff = 0.01)
write.csv(ego,"enrichGO_output.csv",quote = F)
egox <- setReadable(ego, 'org.Mm.eg.db', #物种
'ENTREZID')
geneList <- id.fc$log2fc
names(geneList)<- gsym.fc$SYMBOL
#绘制圈图,通过circular来确定。
cnetplot(egox,
foldChange = geneList,
#foldChange = NULL, #不展示倍数
circular = TRUE,
#node_label = FALSE, #如果太多,就不要显示基因名了
showCategory = 4, #显示富集的term数量,默认5
colorEdge = TRUE)
ggsave("clusterProfiler_circle.pdf", width = 8, height = 5)
cnetplot(egox,
foldChange = geneList,
#foldChange = NULL, #不展示倍数
#circular = TRUE,
#node_label = FALSE, #不显示基因名
showCategory = 4, #显示的富集term数量,默认5
colorEdge = TRUE)
ggsave("clusterProfiler_not_circle.pdf", width = 8, height = 5)


3. Go富集分析结果

