GSEA(Gene Set EnrichmentAnalysis),即基因集富集分析,无需设定阈值来区分上调下调基因,使用所有的基因进行分析。 GO 和 KEGG 可参考:R|clusterProfiler-富集分析 一 准备数据 1.1,加载R包,数据library(org.Hs.eg.db)library(clusterProfiler) library(pathview) library(enrichplot) data <- read.csv("limmaOut.csv",header=TRUE) head(data) GSEA分析只需要两列信息,基因列和logFC(不同软件的差异分析这一列的名字会有差别)。 1.2 ID转化基因名是symbol,将之转换为entrezid格式 gene <- data$SYMBOL#开始ID转换,会有丢失 gene=bitr(gene,fromType="SYMBOL",toType="ENTREZID",OrgDb="org.Hs.eg.db") #去重 gene <- dplyr::distinct(gene,SYMBOL,.keep_all=TRUE) #合并data 和 entrezid data_all <- data %>%inner_join(gene,by="SYMBOL") dim(data_all) head(data_all) 1.3 基因列表排序将基因按照logFC进行从高到低排序,只需要基因列和logFC即可 data_all_sort <- data_all %>%arrange(desc(logFC)) head(data_all_sort) geneList = data_all_sort$logFC #把foldchange按照从大到小提取出来 names(geneList) <- data_all_sort$ENTREZID #给上面提取的foldchange加上对应上ENTREZID head(geneList)
二 GSEA分析 2.1 GSEA分析需要gmt文件,http://www./gsea/downloads.jsp路径下载,选择合适的 kegg_gmt <- read.gmt("c2.cp.biocarta.v7.4.entrez.gmt") #读gmt文件gsea <- GSEA(geneList, TERM2GENE = kegg_gmt) #GSEA分析 head(gsea) 其中:
可视化-点图 dotplot(gsea)2.2 GSEA-GO分析gse.GO <- gseGO(geneList, #geneList ont = "BP", # 可选"BP"、"MF"和"CC"或"ALL" OrgDb = org.Hs.eg.db, #人 注释基因 keyType = "ENTREZID", pvalueCutoff = 0.05, pAdjustMethod = "BH",#p值校正方法 ) head(gse.GO,2) 2.3 GSEA-KEGG分析gse.KEGG <- gseKEGG(geneList,organism = "hsa", # 人 hsa pvalueCutoff = 1, pAdjustMethod = "BH",) #具体参数在下面 head(gse.KEGG) #为方便展示,最后一列暂不展示 head(gse.KEGG)[1:10] 三 GSEA可视化 使用gseaplot2函数进行可视化 3.1 简单可视化gseaplot2(gse.KEGG,1) #展示第一个通路 可以进行一些调整以接近文献 1)修改GSEA线条颜色 2)添加P值的table 3)展示指定的通路 4)展示多个通路 5)只展示上两部分 3.2 展示指定通路gseaplot2(gse.KEGG,title = "Olfactory transduction", #设置title "hsa04740", #绘制hsa04740通路的结果 color="red", #线条颜色 base_size = 20, #基础字体的大小 subplots = 1:2, #展示上2部分 pvalue_table = T) # 显示p值 3.3 展示多个GSEA结果A:使用数字的方式gseaplot2(gse.KEGG,1:3, #绘制前3个 pvalue_table = T) # 显示p值 B:使用向量指定通路gseaplot2(gse.KEGG,c("hsa04740","hsa05310"), #指定通路向量 pvalue_table = T) # 显示p值 C:点 形式gseaplot2(gse.KEGG,1:5, #按照第一个作图 ES_geom = "dot", base_size = 20, pvalue_table = T) 应该和文献中的图很接近了,剩下的就是用自己的数据去尝试了。 四 参考资料: http:///clusterProfiler-book/ |
|