R语言对基因进行GO注释(附代码)

通常在挑选出一些基因之后,需要对这些基因进行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)

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
R语言中,使用clusterProfiler对水稻的基因进行GO富集分析的步骤如下: 1. 首先需要安装clusterProfiler包,可以使用以下命令进行安装: ```R install.packages("clusterProfiler") ``` 2. 导入所需要的数据,包括水稻基因注释信息和差异表达基因的信息。可以使用read.table函数或read.csv函数将数据导入到R中。 3. 对基因进行聚类分析并进行差异表达基因筛选,得到差异表达基因列表。 4. 将差异表达基因列表转换成基因符号的格式,例如: ```R gene.list <- c("LOC_Os01g01010", "LOC_Os01g01020", "LOC_Os01g01030", "LOC_Os01g01040", "LOC_Os01g01050", "LOC_Os01g01060", "LOC_Os01g01070", "LOC_Os01g01080", "LOC_Os01g01090") ``` 5. 进行GO富集分析,使用enrichGO函数,例如: ```R library(clusterProfiler) ego <- enrichGO(gene = gene.list, OrgDb = "org.Osativa.eg.db", ont = "BP", pvalueCutoff = 0.05, qvalueCutoff = 0.05, keyType = "SYMBOL") ``` 在这个例子中,使用了org.Osativa.eg.db数据库作为注释数据库,ont参数指定了GO的分支,这里选择了生物过程(BP)分支;pvalueCutoff和qvalueCutoff参数指定了显著性水平的阈值;keyType参数指定了基因列表的格式,这里选择了基因符号(SYMBOL)格式。 6. 可以使用ggplot2包中的函数将GO富集分析结果可视化,例如: ```R library(ggplot2) dotplot(ego, showCategory = 20) ``` 7. 最后保存GO富集分析结果,可以使用write.csv函数将结果保存到CSV文件中,例如: ```R write.csv(as.data.frame(ego), "GO_enrichment_results.csv") ``` 以上就是使用clusterProfiler对水稻基因进行GO富集分析的步骤。需要注意的是,在进行GO富集分析之前,需要对基因注释信息和差异表达基因的筛选进行仔细的处理和质控。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值