生信数据分析——GO+KEGG富集分析
目录
- 生信数据分析——GO+KEGG富集分析
- 1. 富集分析基础知识
- 2. GO富集分析(Rstudio)
- 3. KEGG富集分析(Rstudio)
1. 富集分析基础知识
1.1 为什么要做功能富集分析?
转录组学数据得到的基因非常多,面对大量的基因无法做到挨个研究其功能,因此为了研究基因所具有的功能,将部分功能相似的基因进行归类,这样具有相似功能的基因就被放在一起,构成了一个通路,从而减少工作量,并可以实现功能和表型相关联。
1.2 什么是富集分析?
富集分析是一种数据分析方法,主要用于理解基因集合或其他生物学实体在特定实验条件或生物学背景下的功能、通路或特定生物学过程的富集程度。其基本原理是,如果某个基因集合在特定条件下显著富集于某个功能类别或通路中,那么这些基因可能共同参与了某种特定的生物学过程或具有某种共同的功能特性
看上方的描述是不是感觉晦涩难懂,简单地说:所谓富集分析,本质上就是对分布的检验,如果基因分布集中在某一个区域(通路),则认为富集。
举个栗子: 做完差异后,得到了一堆差异基因,现在对这部分差异基因归归类,部分功能相似的基因可能被划分到了炎症通路上,有的基因被划分到了代谢通路上,这样就能大致知道筛选出来的差异基因与哪些功能相关。
1.3 富集分析有几种类型?
(1)GO富集分析
GO富集分析会从三个方面描述基因潜在的功能,分别是:
- 分子功能(Molecular Function,MF)——即基因是否富集到分子相关的通路上
- 细胞组分(Cellular Component,CC)——即基因定位在细胞的哪个位置上
- 参与的生物过程(Biological Process,BP)——即基因参与哪些生物学过程
举个栗子:离子通道活性的GO term是GO:0005216,如果差异基因富集到该term上,那么所研究的基因可能与离子通道的激活与抑制有关联。
(2)KEGG富集分析
京都基因与基因组百科全书(KEGG)是了解高级功能和生物系统(如细胞、生物和生态系统)、用于研究通路的数据库之一。KEGG 通路分析是借助 KEGG 数据库(Kyoto Encyclopedia of Genes and Genomes),对所有鉴定到的基因进行通路注释,并分析这些基因参与的主要代谢和信号转导途径。
简单说: 使用KEGG数据库中通路的注释信息,将基因与已知的代谢通路和功能进行关联
(3)GSEA富集分析
(4)GSVA富集分析
在这个分析点中重点关注GO富集分析和KEGG富集分析,GSEA和GSVA会在后面分析点中介绍。
2. GO富集分析(Rstudio)
本项目以 ADAMTS2, ADAMTS4, AGRN, COL5A1, CTSB, FMOD, LAMB3, LAMB4, LOXL2, MATN1, MEP1A, MMP1, MMP2, NTN1, PTN, SPARCL1, SPON1, TGFBI, THBS4, TNC, VTN, ITGB6, PTPRF, UNC5A 为例展示GO富集分析过程 物种:人类(Homo sapiens) R版本:4.2.2 R包:tidyverse,clusterProfiler,org.Hs.eg.db
废话不多说,代码如下:
设置工作空间:
rm(list = ls()) # 删除工作空间中所有的对象 setwd('/XX/XX/XX') # 设置工作路径 if(!dir.exists('./02_GO+KEGG_enrichment')){ dir.create('./02_GO+KEGG_enrichment') } # 判断该工作路径下是否存在名为02_GO+KEGG_enrichment的文件夹,如果不存在则创建,如果存在则pass setwd('./02_GO+KEGG_enrichment/') # 设置路径到刚才新建的02_GO+KEGG_enrichment下
加载包:
library(clusterProfiler) library(org.Hs.eg.db) library(tidyverse)
导入要富集分析的基因
gene dir.create('./02_GO+KEGG_enrichment') } # 判断该工作路径下是否存在名为02_GO+KEGG_enrichment的文件夹,如果不存在则创建,如果存在则pass setwd('./02_GO+KEGG_enrichment/') # 设置路径到刚才新建的02_GO+KEGG_enrichment下