生信分析中GSEA分析(GO/KEGG富集分析)的重要性
各位医学方的朋友,大家好。我是Flyman!
做过下游分析的小伙伴都知道富集分析的重要性,生信类文章大家总会在最后一步针对我们前面筛选出来的差异基因做一下GO/KEGG富集分析,研究一下他们参与到什么信号通路上或者参与什么生物学过程?
富集分析的本质是什么呢?实际上就是一个超几何分布,超几何分布是统计学上一种离散概率分布。它描述了从有限N个物件(其中包含M个指定种类的物件)中抽出n个物件,成功抽出该指定种类的物件的次数(不放回)。基于超几何分布的富集分析,往往侧重于比较两组间的基因表达差异,主要关注少数几个显著上调或下调的基因,这容易遗漏部分差异表达不显著却有重要生物学意义的基因,忽略一些基因的生物特性、基因调控网络之间的关系及基因功能和意义等有价值的信息。
那么GSEA是什么呢?GSEA全称为Gene Set Enrichment Analysis,是基因集富集分析,官方解释是使用预定义的基因集(所谓预定义的基因集是指每条通路所含有的基因集合),将基因按照在两类样本中的差异表达程度排序(一般是按照Fold Change排序),然后检验预先设定的基因集合是否在这个排序表的顶端或者底端富集。因此,GSEA分析检测的不是单个基因的表达变化,而是包含那些细微基因的表达变化,从而更为理想的结果。
之前我们医学方已经推出基于GSEA软件的GSEA教程,今天的教程就和聊聊基于R语言实现GSEA的操作。
下面进入正题,基于R语言操作这里使用的是Y叔的R包clusterProfiler:
安装并加载包,关于包的安装,已经讲过多次,直接上代码:
构建基因排序信息,这里我们纳入采用DEseq2计算的Fold Change进行排序,数据集如下:
查看数据维度,发现一共包括19618个基因:
转换ID,做富集分析时需要将ID进行转换,此处我们需要将ENSEMBL转换成ENTREZ ID,该包较好的集成了ID转换的功能,使用brit函数便可以实现ID转换,如下:
转换之后结果如下:
构建排序后的genelist,首先需要将共有的ENTREZID合并,因为存在部分EMSEMBL未转成ENTREZID:
结果可视化一下:
还可以绘制ridgeline plot
Ok,今天的推文就到这,我们分享了如何使用clusterProfiler工具进行GSEA分析,希望能对大家有所帮助,最后,欢迎大家留言,有不正确的地方,也请大家留言指正。