尔云间生信代码│GSVA:原来功能通路也能做差异分析!
科研有捷径,输入代码,一键获取科研成果!就是这么省事,来具体看下有多方便!
搜索http://985.so/a9kb查看全部代码(目前共计50+持续新增中),也可以点击右侧【目录】,可以看到更多有趣的代码;真香提示:文末可以知道如何获取代码~
GSVA(Gene set variation analysis)即基因集变异分析,是一种非参数的无监督分析方法,主要用来评估芯片和转录组的基因集富集结果。通过将基因在不同样品间的表达量矩阵转化成基因集在样品间的表达量矩阵,从而来评估不同的代谢通路在不同样品间是否富集。简单来说就是研究这些感兴趣的基因集在不同样品间的差异,或者寻找比较重要的基因集。
下面让我们一起来看下GSVA到底怎么做的。代码相关文件见如下3个文件夹,可在文末付费后领取。
加载相应R依赖包
library(GSVA)
library(limma)
library(GSEABase)
library(clusterProfiler)
library(org.Mm.eg.db)
library(ggplot2)
library(enrichplot)
library(dplyr)
library(msigdbr)
数据导入
输入文件有2个,一个矩阵文件,行为基因,列是样本名称,一个分组信息文件,共两列,包含样品名称和组名,具体见下图。


基因集准备
我们利用msigdbr函数下载需要的基因集,这里用小鼠作为例子,category=”C2”””表示选择MSigDB数据库中8个数据集中的C2,该基因集是专家共识基因集合,基于通路、文献等,包括我们熟悉的KEGG信号通路等。

开始分析
首先将表达量数据转成矩阵形式,然后用gsva函数结合准备好的基因集进行分析。输入矩阵为log转化后的表达矩阵指定kcdf参数为"Caussion",如果是counts矩阵则指定kcdf="Poisson"。method参数可以设置为"gsva"或者"zscore",数据量大的指定method="zscore"会快很多。

输出结果
对每一个基因根据分组信息计算通路在各个组的富集得分均值,然后画热图。这里我们取前15个通路作为例子,大家可以根据自己的需要选择通路然后作图。


利用limma包进行组间通路的差异分析即可得到通路在组间的logFC,p值等。

如需代码及示例数据等文件,请扫码聊天框回复 “B35”领取!

写在文末:
如果您近期想做生信方面的文章而苦于没有思路,或者不知道如何来入手生信分析,或者兑具体的某一个图有作图需求,都可以扫码咨询小云,我们有专业的技术团队,生信热点思路设计、生信分析、热点方向生信挖掘等,如有需要,可扫码下方二维码了解详情:
