结合clusterProfiler进行GO富集分析可视化

org.Hs.eg.db进行基因id转换

clusterProfiler进行GO可视化

#GO可视化

BiocManager::install("clusterProfiler")BiocManager::install("org.Hs.eg.db")
if (!require("BiocManager", quietly = TRUE))
  install.packages("BiocManager")

BiocManager::install("org.Hs.eg.db",force = TRUE)
if (!require("BiocManager", quietly = TRUE))
  install.packages("BiocManager")

BiocManager::install("clusterProfiler",force = TRUE)



library(org.Hs.eg.db)
library(clusterProfiler)
load("Desktop/go_genename.rda") ##加载数据

原始数据gene_list

#根据自己数据来
gene_list = c("MTLL3","MTLL14")

转换id的两种方法:

#org.Hs.eg.db:
ensembls <- mapIds(org.Hs.eg.db, keys = m6a_sym, keytype = "SYMBOL", column="ENSEMBL")
#一次性转换到ENSEMBL ID,ENTREZ ID和UNIPROT ID
AnnotationDbi::select(org.Hs.eg.db, keys=m6a_sym,keytype="SYMBOL", columns = c("ENSEMBL","ENTREZID","UNIPROT"))
#clusterProfiler:
s2ens = bitr(m6a_sym, fromType="SYMBOL", toType="ENSEMBL", OrgDb="org.Hs.eg.db")
#一次性转换多种id:
bitr(m6a_sym, fromType="SYMBOL", toType=c("ENSEMBL","ENTREZID"), OrgDb="org.Hs.eg.db")

怎么知道哪些数据格式可以进行转换:

keytypes(org.Hs.eg.db)    
columns(org.Hs.eg.db)

运行代码可得结果(即以下都可进行转换)

 [1] "ACCNUM"       "ALIAS"        "ENSEMBL"      "ENSEMBLPROT" 
 [5] "ENSEMBLTRANS" "ENTREZID"     "ENZYME"       "EVIDENCE"    
 [9] "EVIDENCEALL"  "GENENAME"     "GENETYPE"     "GO"          
[13] "GOALL"        "IPI"          "MAP"          "OMIM"        
[17] "ONTOLOGY"     "ONTOLOGYALL"  "PATH"         "PFAM"        
[21] "PMID"         "PROSITE"      "REFSEQ"       "SYMBOL"      
[25] "UCSCKG"       "UNIPROT"   

mapIds(org.Hs.eg.db, keys=数据, “数据格式”, “想转换的格式”)

gene1 <-  mapIds(org.Hs.eg.db, keys=gene_list, "SYMBOL", "ENSEMBL") #转化id形式   

all <- enrichGO(gene   = gene_list,    
                OrgDb  = org.Hs.eg.db,
                keyType = "SYMBOL",
                ont   = "ALL"  ,    ##同时展示mf,bp和cc
                pAdjustMethod = "BH",    
                pvalueCutoff  = 0.01,    
                qvalueCutoff  = 0.05)

barplot(all,showCategory=30)

分子功能(Molecular Function,MF )
细胞组分(Cellular Component ,CC)
生物过程(Biological Process ,BP)

#仅展示bp
BP <- enrichGO(   gene   = gene,    
                  OrgDb  = org.Hs.eg.db,    
                  ont   = "BP"  ,    
                  pAdjustMethod = "BH",    
                  pvalueCutoff  = 0.01,    
                  qvalueCutoff  = 0.05) 

barplot(BP, showCategory=30)
#点图
dotplot(all,showCategory=30)
### 使用生物信息学工具实现GO和KEGG富集分析可视化 为了实现GO和KEGG富集分析的结果可视化,可以采用多种R包来完成这一目标。`clusterProfiler` 是一个广泛使用的R软件包,它不仅能够执行富集分析,还提供了丰富的绘图函数用于展示分析结果[^2]。 #### 安装必要的R包 首先需要安装并加载 `clusterProfiler`, `DOSE`, 和 `enrichplot` 这些R包: ```r if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager") BiocManager::install(c("clusterProfiler", "DOSE", "enrichplot")) library(clusterProfiler) library(DOSE) library(enrichplot) ``` #### 导入数据与准备 假设已经拥有一份差异表达基因列表(DEGs),这些基因ID应当转换成Entrez ID以便于后续处理。这里以一份假定的数据为例: ```r de_genes <- c("TP53", "BRCA1", "EGFR") # 假设这是差异表达基因名单的一部分 eg <- bitr(de_genes, fromType="SYMBOL", toType="ENTREZID", OrgDb="org.Hs.eg.db") gene_list <- eg$ENTREZID ``` #### 执行GO富集分析及其可视化 通过调用 `enrichGO()` 函数来进行GO术语上的富集测试,并利用不同的图形化方法呈现结果: ```r ego <- enrichGO(gene = gene_list, universe = names(eg), OrgDb = org.Hs.eg.db, ont = "BP", pAdjustMethod = "BH", qvalueCutoff = 0.05) dotplot(ego) + ggtitle("GO Biological Process Enrichment Analysis") cnetplot(ego) barplot(ego) ``` 上述命令分别生成了点状图、网络图以及条形图三种不同形式的表现方式。 #### KEGG通路富集分析可视化 同样地,在完成了KEGG数据库内的路径映射之后,可以通过相似的方式绘制图表表示出哪些代谢途径受到了显著影响: ```r ekg <- enrichKEGG(gene = gene_list, organism = "hsa", pAdjustMethod= "BH", qvalueCutoff= 0.05) dotplot(ekg) + ggtitle("KEGG Pathway Enrichment Analysis") cnetplot(ekg) pathview(gene.data = ekg@result, pathway.id = rownames(ekg@result)[1], species = "hsa") ``` 以上代码片段展示了如何创建基于KEGG路径的点状图、网络图还有具体的代谢路径视图。 #### 结果解释 所得到的各种类型的图像可以帮助研究人员更直观理解特定条件下发生的分子机制变化情况。例如,如果某些疾病样本相对于正常对照显示出明显的信号传导异常,则可以在相应的KEGG路径上观察到这种趋势;而关于细胞活动特征的信息则可以从GO分类下的图片中获得启发[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值