GSEA

数据准备

我们需要的是带有基因id的log2foldchgange的向量,我们从de_result里面提取出来就行了

de_result$entrezid <-mapIds(org.Mm.eg.db, #.db是这个芯片数据对应的注释包
                keys=de_result$id,
                 column="ENTREZID", #clolumns参数是你要转换的ID类型是什么,只能选择一个。
                 keytype="ENSEMBL" )
#先将de_result里面的ENSEMBL转换为entrezid

geneList <- de_result$log2FoldChange
#提取所有基因的log2FoldChange
names(geneList) <- de_result$entrezid
#用对应基因的entrezid对geneList命名
geneList <- sort(geneList, decreasing = T)
#将其按照降序排列

GSEA分析

  1. KEGG
    这是kegg的富集分析
require(enrichplot)
kk <- gseKEGG(geneList, organism = "mmu")

然后出现了如下报错

preparing geneSet collections...
GSEA analysis...
no term enriched under specific pvalueCutoff...
Warning message:
In fgsea(pathways = geneSets, stats = geneList, nperm = nPerm, minSize = minGSSize,  :
  There are duplicate gene names, fgsea may produce unexpected results

它说设置pvalueCutoff并且这里有重复的基因名,运行的话会产生意想不到的结果
于是我就手动设置pvalueCutoff

kk <- gseKEGG(geneList, organism = "mmu",pvalueCutoff = 0.05)
GSEA analysis...
leading edge analysis...
done...
Warning message:
In fgsea(pathways = geneSets, stats = geneList, nperm = nPerm, minSize = minGSSize, :
There are duplicate gene names, fgsea may produce unexpected results

还是报错说,有重复的基因名,在我的努力下,发现这里的问题和我是一样的
https://github.com/YuLab-SMU/clusterProfiler/issues/189,于是我按照llrs的fangfa,剔除重复的基因名

geneList <- geneList[!duplicated(names(ggeneList))]

然后再次运行

kk <- gseKEGG(geneList, organism = "mmu",pvalueCutoff = 0.05)
preparing geneSet collections...
GSEA analysis...
no term enriched under specific pvalueCutoff...

我的阈值设置得太低,导致没有结果
我们调整阈值,再来

kk <- gseKEGG(geneList, organism = "mmu",pvalueCutoff = 1)
preparing geneSet collections...
GSEA analysis...
leading edge analysis...
done...

现在就成功了!!!!
然后我们开始画图

gseKEGG_result<-as.data.frame(kk@result)
#我们先把结果提取出来,方便查看
gseaplot2(kk, "mmu04060")
#然后进行绘图

在这里插入图片描述

  1. GO
    GO富集分析又三种,MF,BP,CC
    虽然可以用命令将他们各自求出来,但是一般情况下,我们是将他们全部求出来
kk <- gseGO(geneList,ont = "BP",OrgDb = org.Mm.eg.db)	
one of "BP", "MF", and "CC" subontologies, or "ALL" for all three
#将ont参数调整为all,就可以了
#我们可以将结果提取出来。以供查看
gseGO_result<-as.data.frame(kk@result)
View(gseGO_result)

这里我们用的是GO分析的方法,所以我们在绘图的时候是使用的GO,作为指定,而不是基因id了

gseaplot2(kk, "GO:0001816")

在这里插入图片描述
参考:
https://www.jianshu.com/p/a1927f75043b
https://yulab-smu.github.io/clusterProfiler-book.

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
GSEA(Gene Set Enrichment Analysis)是一种用于功能富集分析的生物信息学方法,旨在识别在基因表达数据中富集的基因集。而GSEA prerank则是GSEA方法中的一种扩展应用。 在GSEA prerank中,首先需要根据样本表达数据的差异性对每个基因进行排序,通常使用一些统计指标(例如t统计量或log2折叠变化)进行排序。然后,将已知的基因集(例如已知的生物通路或基因功能分类)从已排序的基因列表中提取出来,得到一个基因集列表。 接下来,GSEA prerank会对这个基因集列表进行分析。它通过计算每个基因集内部基因的累积秩和(accumulate ranks),来衡量基因集的富集程度。秩和的计算考虑了基因在排序列表中的位置,与其差异性相关。 最后,GSEA prerank根据计算得到的富集分数进行基因集的排序与可视化。富集分数越高,表示该基因集在样本中的表达数据中的富集程度越高。 GSEA prerank方法的优点在于,它可以使用各种不同的差异性排序方法,并且不对表达数据进行基因差异性显著性检验。由于不需要预先进行基因统计检验,GSEA prerank方法可以更好地应用于小样本数据或低差异表达的情况。 总结来说,GSEA prerank是一种使用差异性排序方法对基因集进行富集分析的生物信息学方法,可以帮助研究人员发现基因集在表达数据中的富集程度。它在功能研究、生物通路分析等领域具有广泛的应用前景。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值