使用 GseaVis 包进行 GSEA 富集分析

360影视 2025-01-08 09:28 3

摘要:在生物医学研究中,基因表达数据的分析是揭示基因功能和疾病机制的重要手段。基因集富集分析(GSEA)是一个强大的分析方法,用于识别在特定生物学条件下显著富集的基因集。它可以帮助研究人员理解基因表达变化背后的生物学过程和通路。GseaVis包是 R 语言中用于进行

在生物医学研究中,基因表达数据的分析是揭示基因功能和疾病机制的重要手段。基因集富集分析(GSEA)是一个强大的分析方法,用于识别在特定生物学条件下显著富集的基因集。它可以帮助研究人员理解基因表达变化背后的生物学过程和通路。GseaVis 包是 R 语言中用于进行 GSEA 分析和可视化的工具之一,它结合了丰富的功能和灵活的可视化选项,使得研究人员能够更直观地展示和解释分析结果。

在生物信息学中,GSEA是一种用于识别在特定生物学条件下显著富集的基因集的方法。今天,我们将使用 GseaVis 包来完成这一分析。首先,我们需要加载必要的 R 包:

library(org.Hs.eg.db) # 人类基因注释包library(clusterProfiler) # 富集分析包library(ggplot2) # 可视化包library(GseaVis) # GSEA可视化library(DOSE) # 数据来源

接下来,我们处理输入数据。由于数据已经是 ENTREZID 格式,无需转置:

data(geneList) # 加载示例基因列表数据exp

查看输入数据集的结构,确保行名称为基因的 ENTREZID,列数值为 logFC 数值:

library(tidyverse)str(geneList) # 查看数据结构view(geneList) # 查看数据内容geneList1 % as.data.frame # 转换为数据框view(geneList1) # 查看转换后的数据内容

接下来,我们进行 KEGG 通路的富集分析:

KEGG_gseresult

查看富集结果,并可以根据结果选择关注的通路进行展示:

kegg

保存富集分析结果:

saveRDS(KEGG_gseresult, "kegg_gsea.rds") # 保存为RDS文件write.csv(kegg, "KEGG_gsearesult.csv") # 保存为CSV文件

使用 gseaNb 函数绘制 KEGG 通路的富集图:

gseaNb(object = KEGG_gseresult, # 富集分析结果对象geneSetID = 'hsa04110') # 指定通路ID

将感兴趣的基因添加到图中:

gene

修改图形的形状和颜色:

gseaNb(object = KEGG_gseresult, # 富集分析结果对象geneSetID = 'hsa04657', # 指定通路IDlineSize = 1, # 线条粗细newGsea = T, # 是否创建新的GSEA图addPoint = T) # 是否添加点gseaNb(object = KEGG_gseresult, # 富集分析结果对象geneSetID = 'hsa04657', # 指定通路IDsubPlot = 2, # 子图显示两部分lineSize = 1, # 线条大小newGsea = T, # 是否创建新的GSEA图addPoint = T, # 是否添加点newCurveCol = c("#3daeb7", "grey80", "#db643e"), # 新的曲线颜色newHtCol = c("#db643e", "white", "#3daeb7")) # 新的高亮颜色

将多个通路的富集图合并显示:

ID = c('hsa04110', 'hsa03050', 'hsa04657', "hsa05169") # 指定多个通路IDgseaNb(object = KEGG_gseresult, # 富集分析结果对象geneSetID = ID, # 指定通路IDcurveCol = c("#76BA99", "#EB4747", "#996699", "#fdc576")) # 曲线颜色

最后,添加 p 值并保存图形:

gseaNb(object = KEGG_gseresult, # 富集分析结果对象geneSetID = ID, # 指定通路IDpvalX = 0.02, pvalY = -0.05, # p值位置legend.position = c(0.8,0.8), # 图例位置addPval = T, # 是否添加p值curveCol = c("#76BA99", "#EB4747", "#996699", "#fdc576")) # 曲线颜色ggsave("gsea.pdf", width = 6, height = 6, dpi = 300) # 保存图形为PDF文件

展示的是 Enrichment Score(ES)的值计算过程,从左至右每到一个基因,计算出一个 ES 值,连成线成为基因集 ES 的折线图,在折线图中有个峰值,该峰值就是这个基因集的 ES,峰值之前的基因就是该基因集下的核心基因或感兴趣基因集;若富集得分为正值,则是峰左侧的基因;若富集得分为负值,则是峰右侧的基因。

一条竖线就代表一个基因,和最下边的图的横坐标的值是一致的,表明在基因列表中的排序位置;条形热图是基因与表型(分组)的关联矩阵,以实验组 vs 对照组得到的 GSEA 图为例,红色代表与实验组正相关,在实验组中表达高;蓝色代表与对照组正相关,在对照组中表达高;从红色到蓝色的过渡过程中,基因与实验组的正相关越来越弱,与对照组的正相关越来越强。

所有基因的 rank 值分布图, 默认采用 Signal2Noise 算法,反映了基因在实验组和对照组之间的表达差异,以实验组 vs 对照组得到的 GSEA 图为例,红色纵坐标数值越高代表与实验组正相关,在实验组中表达高;蓝色代表与对照组正相关,纵坐标数值越高,表明在对照组中表达高;从红色到蓝色的过渡过程中,红色纵坐标数值越来越低,基因与实验组的正相关越来越弱;蓝色纵坐标数值绝对值越来越高,表明基因与对照组的正相关越来越强。

通过使用 GseaVis 包进行 GSEA 富集分析,我们能够有效地识别和可视化在特定生物学条件下显著富集的基因集和通路。这种方法不仅帮助我们理解基因表达变化背后的生物学过程,还能为后续的实验设计和研究方向提供重要的线索。GseaVis 包的强大功能和灵活的可视化选项,使得研究人员能够更直观地展示和解释分析结果,从而更好地支持生物医学研究的深入发展。

来源:Paper绘图

相关推荐