上期“干货预警——原来基因功能富集分析这么简单!”和“【R语言】——基因GO/KEGG功能富集结果可视化(保姆级教程)”介绍如何使用DAVID在线分析工具对基因进行GO/KEGG功能富集分析和使用R ggplot包对获得的基因GO/KEGG功能富集结果进行可视化。本期介绍使用R clusterProfiler包和R AnnotationHub包对基因进行GO/KEGG功能富集分析、OrgDb包制作以及结果可视化。
GO/KEGG功能富集分析中重要的是背景基因的选择,使用R clusterProfiler包对基因进行富集,需要导入目的基因(前景基因)相对应物种的参考基因组(背景基因),现阶段“bioconductor”已有十几种常见动物,如人类、小鼠等物种的OrgDb。但仍然有许多物种不在Bioconductor的OrgDb列表里,但存在参考基因组,如山羊,绵羊等,这种情况则需要用到R AnnotationHub包进行索引其对应物种的参考基因组,并制作OrgDb包使用。
1 数据准备
数据输入格式(xlsx格式):
2 R包加载、数据导入及处理
#下载包#
if(!requireNamespace("BiocManager", quietly = TRUE))
install.packages("BiocManager")
BiocManager::install("clusterProfiler")
BiocManager::install("topGO")
BiocManager::install("Rgraphviz")
BiocManager::install("pathview")
install.packages("ggplot2")
BiocManager::install('stringr')
install.packages("openxlsx")
#加载包#
library(clusterProfiler)
library(topGO)
library(Rgraphviz)
library(pathview)
library(ggplot2)
library(stringr)
library(openxlsx)
#导入数据#
remove(list = ls()) #清除 Global Environment
getwd() #查看当前工作路径
setwd("C:/Rdata/jc") #设置需要的工作路径
list.files() #查看当前工作目录下的文件
data = read.xlsx("enrich-gene.xlsx",sheet= "enrich_genes",sep=',') #导入数据
head(data)
#数据处理-差异基因筛选#
vector = abs(data$log2FC) > 1 & data$PValue < 0.05 & data$gene_name !="" ##abs绝对值;通常logFC> 1和PValue< 0.05条件进行筛选;data$gene_name != ""表示gene_name不为空白
#data$gene_name |