用R语言对基因进行KEGG分析(附详细代码)

1、所需的数据类型(只需要一列geneid即可分析)
用R语言对基因进行KEGG分析(附详细代码)_第1张图片
2、分析代码:

rm(list=ls())
genelist <- read.csv("C:/Users/user/Desktop/结果文件/pathway/数据更新/gene.csv",header =TRUE)
install.packages('R.utils')
getOption("clusterProfiler.download.method") #查看数据下载协议是什么
R.utils::setOption( "clusterProfiler.download.method",'auto' ) #更改数据下载的协议,改为“auto”
#R.utils::setOption( "clusterProfiler.download.method",'wininet' ) #更改数据下载的协议,改为“wininet”

BiocManager::install("org.Mm.eg.db",force = TRUE)
options(connectionObserver = NULL)
suppressMessages(library(org.Mm.eg.db))
library(org.Mm.eg.db)
genelist$symbol <- mapIds(org.Mm.eg.db,
                          keys=genelist$geneid,
                          column="SYMBOL",
                          keytype="ENSEMBL",
                          multiVals="first")
genelist$entrez <- mapIds(org.Mm.eg.db,
                          keys=genelist$geneid,
                          column="ENTREZID",
                          keytype="ENSEMBL",
                          multiVals="first")
test <- data.frame(genelist)
write.csv(test,file="C:/Users/user/Desktop/entrezid.csv",quote=F,row.names = F) #保存在本地

#KEgg
library(clusterProfiler)
R.utils::setOption( "clusterProfiler.download.method",'auto' )
kegg <- enrichKEGG(genelist$entrez, 
                   organism="mmu", 
                   pvalueCutoff=0.05, 
                   #pAdjustMethod="BH",
                   keyType="kegg") #pvaluecutoff 是pvalue的阈值,显著富集性要<0.01
kegg <- setReadable(kegg, OrgDb=org.Mm.eg.db,keyType = 'ENTREZID') #这一列代码,是可以把geneid的entrez转换为symbol的形式输出

## if (!requireNamespace("BiocManager", quietly=TRUE))
## install.packages("BiocManager")
## BiocManager::install("BiocUpgrade") ## you may need this
## BiocManager::install("enrichplot",force = TRUE)
## library(enrichplot)
dotplot(KEGG,orderBy = "x") #画图
test <- data.frame(KEGG)

#browseKEGG(EGG, 'mmu05022')
#heatplot(EGG)

write.csv(test,file="C:/Users/user/Desktop/z-oocytekegg.csv",quote=F,row.names = F)

用R语言对基因进行KEGG分析(附详细代码)_第2张图片

你可能感兴趣的:(r语言,开发语言)