富集分析-2
1、GO、KEGG、GSVA、GSEA | 多种富集方法该如何选择?
我个人看法,不一定对哈,首先,GSEA和GSVA不是一回事,不能放在一起说。
GSVA主要是通过感兴趣的基因集来划分样本,有样本基因表达谱和一个感兴趣的基因集的情况下选GSVA
而GSEA是已知两组样本差异,看差异基因上下调关系与通路的富集关系,提供正负相关方向性
同时再来讲KEGG、GO和GSEA:在有logFC的情况下,选GSEA,无logFC选GO和KEGG。因为KEGG和GO是分析不出来是上调基因富集还是下调基因富集,而GSEA能够利用的信息(logFC)更多,结果提供的信息也更多
需要绘制KEGGpathwayview的话也可以用KEGG分析
转自:GO、KEGG、GSVA、GSEA | 多种富集方法该如何选择 - 简书 (jianshu.com)
2、区别
什么是 GSVA?
官网这么说的: 基因集变异分析 (GSVA) 通过将输入的逐个基因表达数据矩阵转换为相应的逐个基因集表达数据矩阵来提供通路活动的估计。然后可以将得到的表达数据矩阵与经典分析方法一起使用,例如以通路为中心的方式进行差异表达、分类、生存分析、聚类或相关分析。还可以在通路和其他分子数据类型(例如 microRNA 表达或结合数据、拷贝数变异 (CNV) 数据或单核苷酸多态性 (SNP))之间进行样本比较。
简单来说 就是找样本的基因和感兴趣的基因集的相关性
再说说容易弄混的 GSEA 吧 网上介绍很多,但是不够凝练,其实就一句话,GSVA 与 GSEA 不同,GSEA 先差异,再富集,GSVA 先富集,再差异(当然,学会 GSVA 之后,有时候 GSVA 也可以不做差异),这就是一个先验与后验的区别。
GSVA | 基因集变异分析 - 简书 (jianshu.com)
3、注意事项
1、Seurat对象中的矩阵那么多,我们应该取出哪一个用于GSVA分析?
2、Seurat的矩阵那么大,我可不可以取出仅包含目的基因的矩阵做GSVA分析?
我们来回答一下
问题1:根据我们在一文搞定GSVA及下游分析的代码实现中的描述,GSVA的输入数据可以是原始的counts数据,也可以是RNA-seq的表达量,如:log-CPMs,log-RPKMs or log-TPMs。确实离我第一次做单细胞测序过去了太久的时间,很久都没有思考过这么上游的问题,特意地回去复习了一下自己之前的视频:手把手教你做单细胞测序(三)——单样本分析。显然,作为一个稀疏矩阵,scRNA-Seq的counts与RNA-Seq的counts是具有天壤之别的,因此Seurat中的counts(也就是你最初read10X()时得到的那个dgMatrix)是不推荐使用的。那么Seurat对象中还存有两个矩阵,一个是NormalizeData()函数产生的标准化后的矩阵,这个矩阵是取过log的,类似于完成了log1p的操作,得到的结果就类似于TPM的对数,存在pbmc[["RNA"]]@data里。另一个是Scale()函数以各个细胞为方向归一化之后的矩阵,存在pbmc[["RNA"]]@scale.data。考虑到GSVA计算前还会进行一步Scale的操作,这里我认为输入pbmc[["RNA"]]@data的数据是最优的选择。
转自:单细胞中应该如何做GSVA? - 简书 (jianshu.com)
3、找组间差异基因
分组最关键!!! 很多教程上来就用PBMC,PBMC这个数据集真的没什么卵用。学单细胞分析是为了发文章的,都是需要实验组和对照组的。PBMC就一个单样本,没对比。 看到GSVA或GSEA用PMBC做示例数据的帖子不要看。
正确的应该是:
这里有个细节:找差异基因是组间的差异基因!!! 不是用FindAllMarkers
这个函数,这个函数是特定的cluster与剩余其他cluster的差异基因,是这个cluster特意的差异基因。 这里用的是FindMarkers
寻找两组之间的差异表达基因。
=============================================================================
4、视频教学 单细胞绘图之GSEA & GSVA
image.png基因集可以自己下载其他的 image.png image.png
GSEA这里有个细节:找差异基因是组间的差异基因!!! 不是用FindAllMarkers
这个函数,这个函数是特定的cluster与剩余其他cluster的差异基因,是这个cluster特意的差异基因。 这里用的是FindMarkers
寻找两组之间的差异表达基因。