通常在挑选出一些基因之后,需要对这些基因进行GO注释,分析该基因的功能,现在把R分析GO的代码放在下面
所需要的文件,有一列geneid即可
rm(list=ls())
genelist <- read.csv("C:/Users/Desktop/go.csv",header =TRUE)
library(AnnotationDbi)
BiocManager::install("org.Mm.eg.db",force = TRUE)
options(connectionObserver = NULL)
options(stringsAsFactors = F)
suppressMessages(library(org.Mm.eg.db))
library(org.Mm.eg.db)
genelist$symbol <- mapIds(org.Mm.eg.db,
keys=genelist$geneid, #这个geneid是跟你读取数据的列名一致
column="SYMBOL",
keytype="ENSEMBL",
multiVals="first")
genelist$entrez <- mapIds(org.Mm.eg.db,
keys=genelist$geneid,
column="ENTREZID",
keytype="ENSEMBL",
multiVals="first")
BiocManager::install("clusterProfiler",force = TRUE)
library(clusterProfiler)
erich.go.BP = enrichGO(gene = genelist$entrez,
OrgDb = org.Mm.eg.db,
keyType = "ENTREZID",
pAdjustMethod = "BH",
ont = "BP",
pvalueCutoff = 0.05,
qvalueCutoff = 0.05)
barplot(erich.go.BP)
emapplot(erich.go.BP, showCategory = 30)
erich.go.CC = enrichGO(gene = genelist$entrez,
OrgDb = org.Mm.eg.db,
keyType = "ENTREZID",
pAdjustMethod = "BH",
ont = "CC",
pvalueCutoff = 0.05,
qvalueCutoff = 0.05)
barplot(erich.go.CC)
erich.go.MF = enrichGO(gene = genelist$entrez,
OrgDb = org.Mm.eg.db,
keyType = "ENTREZID",
pAdjustMethod = "BH",
ont = "MF",
pvalueCutoff = 0.05,
qvalueCutoff = 0.05)
barplot(erich.go.MF)
ALL <- enrichGO(gene=genelist$entrez,
OrgDb=org.Mm.eg.db,
keyType = "ENTREZID",
ont = 'ALL',
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
qvalueCutoff = 0.05,
readable = TRUE) #readable = TRUE 这行代码可以使enrez转换为gene_symbol输出
library(ggplot2)
barplot(ALL, split="ONTOLOGY")+ facet_grid(ONTOLOGY~.,scale="free")
#下面两行代码为画那个go注释网络图的
x2 <- pairwise_termsim(ALL)
emapplot(x2, showCategory = 30)
#存取所获取到的go注释的文件
ALLGO <- as.data.frame(ALL@result)
write.csv(as.data.frame(ALL@result), file="C:/Users/Desktop/2cellgo.csv",quote=FALSE)