1. 生物信息学分析入门:GO与KEGG富集分析实战指南
在生物信息学研究中,理解基因功能及其参与的生物学过程是核心任务之一。GO(Gene Ontology)和KEGG(Kyoto Encyclopedia of Genes and Genomes)富集分析作为两大经典方法,为研究人员提供了系统解读基因列表生物学意义的有效工具。本文将基于R语言环境,详细介绍从原始数据处理到可视化分析的全流程实现。
提示:本文所有代码均基于R 4.2.0版本测试通过,建议使用RStudio作为开发环境。关键R包需通过Bioconductor安装。
1.1 核心概念解析
1.1.1 GO富集分析原理
GO数据库采用三级结构体系(分子功能、生物过程和细胞组分)对基因功能进行系统描述。其富集分析基于超几何检验,计算公式为:
P = 1 - Σ(C(M,i)*C(N-M,K-i)/C(N,K)) (i=0 to x-1)
其中:
- N:背景基因总数
- M:背景中属于某GO term的基因数
- K:输入基因列表中的基因数
- x:输入列表中属于该GO term的基因数
1.1.2 KEGG通路分析特点
KEGG通过绘制代谢网络图,展示基因产物在通路中的相互作用关系。其富集分析同样采用超几何分布,但关注点在于通路级别的基因集合而非功能分类。最新KEGG数据库(2023版)包含:
- 542条人类通路
- 89个疾病相关网络
- 47个药物作用靶点通路
2. 数据处理与准备
2.1 差异表达基因筛选
r复制# 设置工作目录和加载包
library(tidyverse)
library(readxl)
setwd('~/project/RNA-seq')
# 读取TCGA差异分析结果
deg_data <- read_xlsx('TCGA_deg_results.xlsx', sheet='DEGs')
deg_df <- data.frame(
logFC = deg_data$logFC,
pvalue = deg_data$PValue,
FDR = deg_data$FDR,
gene_name = deg_data$external_gene_name,
ensembl_id
