gene.df <- bitr(rownames(a), fromType="SYMBOL", toType="ENTREZID", OrgDb = "org.Mm.eg.db",drop =T) #小鼠db包#KEGGkk.diff<- enrichKEGG(gene = gene.df$ENTREZID, organism = 'mmu', #mmu是小鼠 pvalueCutoff = 0.05, #adjust p pAdjustMethod='fdr') #p值矫正方法kk.diff@result$Description=gsub('\'','',kk.diff@result$Description)write.table(kk.diff,file="2.KEGG.txt",sep="\t",quote=F,row.names = F)#GOkk <- enrichGO(gene = gene.df$ENTREZID, OrgDb = 'org.Mm.eg.db', pvalueCutoff =0.05, #qvalueCutoff =1, pAdjustMethod='fdr', ont="all", #BP,CC,MF readable =T #,maxGSSize = 2000 )kk@result$Description=gsub('\'','',kk@result$Description)write.table(kk,file="2.GO.txt",sep="\t",quote=F,row.names = F)
时间: 2025-03-14 14:01:59 浏览: 80
### R语言中的 `bitr` 函数、`enrichKEGG` 和 `enrichGO` 功能及参数使用
#### 1. `bitr` 函数
`bitr` 是 Bioconductor 中 DOSE 包的一个重要工具,用于将基因标识符从一种类型转换为另一种类型。对于小鼠基因注释而言,可以将其 Entrez ID 转换为其他类型的标识符(如 KEGG 或 TAIR)。以下是其主要参数及其含义:
- **from**: 输入数据的原始类型,例如 `"entrezgene"` 表示输入的是 Entrez Gene IDs。
- **to**: 希望转换成的目标类型,例如 `"kegg"` 表示希望得到 KEGG 的基因标识符[^2]。
- **data**: 数据框形式的输入向量,通常是一个包含基因标识符的数据列。
- **organism**: 生物物种名称缩写,例如小鼠为 `"mmu"`。
代码示例:
```r
library(DOSE)
# 示例:假设我们有一个小鼠基因列表 (Entrez ID)
entrezID <- c(19328, 74265, 192240, 225806)
# 使用 bitr 将 Entrez ID 转换为 KEGG ID
converted_genes <- bitr(entrezID, fromType = "ENTREZID", toType = "KEGG", organism = "mmu")
print(converted_genes)
```
---
#### 2. `enrichKEGG` 函数
该函数主要用于执行基于 KEGG Pathway 的富集分析。它能够识别哪些通路在给定的基因集中显著富集。以下是常用参数说明:
- **gene**: 经过转换后的目标基因集合(通常是 KEGG 格式的基因名)。
- **organism**: 物种简称,例如小鼠为 `"mmu"`, 拟南芥为 `"ath"`。
- **pvalueCutoff**: 显著性水平阈值,默认为 0.05。
- **pAdjustMethod**: 多重检验校正方法,常用的有 Bonferroni (`"bonferroni"`) 和 Benjamini-Hochberg (`"BH"`) 方法。
- **qvalueCutoff**: FDR 控制阈值,默认为 0.2。
代码示例:
```r
library(enrichplot)
# 富集分析前先完成基因转换
genes_for_analysis <- converted_genes$KEGG
# 执行 KEGG 富集分析
kegg_result <- enrichKEGG(gene = genes_for_analysis,
organism = "mmu",
pvalueCutoff = 0.05,
pAdjustMethod = "BH",
qvalueCutoff = 0.2)
# 查看结果
print(kegg_result)
```
---
#### 3. `enrichGO` 函数
此函数专注于 GO(Gene Ontology)术语的富集分析。它可以揭示特定基因组的功能特性。以下是常见参数解释:
- **keyType**: 查询数据库时使用的键类型,例如 `"ENSEMBL"`, `"SYMBOL"`, 或者 `"ENTREZID"`。
- **universe**: 整体背景基因库,如果未指定,则默认取自当前生物体的所有已知基因。
- **ont**: 需要分析的具体本体类别,可选值包括 `"BP"`(生物学过程)、`"MF"`(分子功能)、以及 `"CC"`(细胞组成)。
- **n** 和其余参数与 `enrichKEGG` 类似。
代码示例:
```r
library(clusterProfiler)
# 定义基因宇宙作为背景
background_universe <- keys(org.Mm.eg.db, keytype = "ENTREZID")
# 对基因进行 GO 富集分析
go_result <- enrichGO(gene = as.character(entrezID),
universe = background_universe,
ont = "BP",
pAdjustMethod = "BH",
pvalueCutoff = 0.05,
qvalueCutoff = 0.2,
OrgDb = org.Mm.eg.db)
# 输出结果
print(go_result)
```
---
#### 总结
通过以上三个函数组合应用,可以在 R 语言环境中实现从小鼠基因到 KEGG/GO 富集分析的一整套流程。这些工具不仅支持多种生物体,还提供了灵活多样的统计调整选项来满足不同研究需求[^1]。
阅读全文
相关推荐


















