基因功能注释以及富集分析
一、注释相关包介绍clusterProfiler 是南方医科大学余光创(微信公众号 biobabble)写的一个 R包,可以用来做各种富集分析,如 GO、KEGG、DO(Disease Ontology
analysis)、Reactome pathway analysis 以及 GSEA 富集分析等。而除了富集分析,还可以非常方便的对富集分析结果进行可视化。只需要输入一个基因 ID的列表,就可以完成的分析,非常方便。
网址:
http://www.bioconductor.org/packages/release/bioc/html/clusterProfiler.html使用说明:
http://www.bioconductor.org/packages/release/bioc/vignettes/clusterProfiler/inst/doc/clusterProfiler.htmlhttp://yulab-smu.top/clusterProfiler-book/安装和使用:
library(dplyr)
library(tidyr)
library(DOSE)
library(GO.db)
library(org.Hs.eg.db)
library(GSEABase)
library(clusterProfiler)
二、基因 ID 转换
对于具有注释信息的物种,基因注释的过程就是各种 ID 转换的过程,在转换过程中,需要注意 ID 的类型,以及一对多和多对多的情况。
#前面差异分析得到的res005文件
dta <- read.csv("res005.csv",header = T,row.names = 1,stringsAsFactors = F)
## ------------------------------------------------------------------------
x <- rownames(dta)
length(x)
keytypes(org.Hs.eg.db)
eg <-bitr(x, fromType="ENSEMBL", toType="ENTREZID", OrgDb="org.Hs.eg.db")
head(eg)
ids <- bitr(x, fromType="ENSEMBL", toType=c( "SYMBOL"), OrgDb="org.Hs.eg.db")
head(ids)
go <-bitr(x,fromType = "ENSEMBL",toType = c("SYMBOL","GO","ONTOLOGY"),OrgDb = "org.Hs.eg.db")
head(go)
三、GO 功能注释与富集
Gene Ontology(简称 GO)是一个国际标准化的基因功能分类体系,提供了一套动态更新的标准词汇表(controlled vocabulary)来全面描述生物体中基因和基因产物的属性。GO 总共有三个 ontology(本体),分别描述基因的分子功能(molecular function)、细胞组分(cellular component)、参与的生物过程(biological process)。GO 的基本单位是 term(词条、节点),每个term 都对应一个属性。
基因 GO/KEGG 富集分析
GO 官网:gene <- eg$ENTREZID
gene.df <- bitr(gene, fromType = "ENTREZID",
toType = c("ENSEMBL", "SYMBOL"),
OrgDb = org.Hs.eg.db)
head(gene.df)
ggo <- groupGO(gene = gene,
OrgDb = org.Hs.eg.db,
ont = "MF",
level = 3,
readable = TRUE)
head(ggo)
View(as.data.frame(ggo))
ego <- enrichGO(gene = gene,
OrgDb = org.Hs.eg.db,
ont = "CC",
pAdjustMethod = "BH",
readable = TRUE)
head(ego)
View(as.data.frame(ego))
四、GO功能注释可视化
barplot(ggo, drop=TRUE, showCategory=12)
## ----fig.height=5, fig.width=8-------------------------------------------
barplot(ego, showCategory=15)
dotplot(ego)
goplot(ego)
五、KEGG 功能注释与富集
KEGG(Kyoto Encyclopedia of Genes and Genomes,京都基因与基因组百科全书)是一个关于基因组、酶促途径以及生物化学物质的在线数据库。虽然决定生物体基因分类的基因组测序工程有了飞速的发展,但对单个基因功能的研究仍然相差甚远。同时活细胞的生物学功能是许多分子相互作用的结果,不能仅仅归功于单个基因或单个分子。
KEGG 官网:http://www.genome.jp/kegg/
search_kegg_organism('ece', by='kegg_code')
search_kegg_organism('hsa', by='kegg_code')
ecoli <- search_kegg_organism('Escherichia coli', by='scientific_name')
dim(ecoli)
head(ecoli)
kk <- enrichKEGG(gene = gene,
organism = 'hsa',
pvalueCutoff = 0.05)
View(kk@result)
browseKEGG(kk, 'hsa04750')
六、KEGG 功能注释可视化
barplot(kk)
dotplot(kk)
#自定义画图
y <- kk@result #保留kk结果
head(y)
par('mar')
par(mar=c(5.1,15.1,4.1,2.1))
barplot(height = y$Count,names.arg = y$Description,horiz = T,las=2)
七、单独绘制 kegg 条目图
library(ggplot2)
pathway <-read.csv("kegg.csv",header=T)
head(pathway)
colnames(pathway)
p <-ggplot(data=pathway,mapping = aes(x=richFactor,y=Pathway))
p
p + geom_point()
p + geom_point(aes(size=AvsB))
p + geom_point(aes(size=AvsB,color=Qvalue))
p + geom_point(aes(size=AvsB,color=Qvalue)) + scale_colour_gradient(low="green",high="red")
p + geom_point(aes(size=AvsB,color=Qvalue)) + scale_colour_gradient(low="green",high="red")+labs(title="Top20 of pathway enrichment",x="Rich factor",y="Pathway Name",color="-log10(Qvalue)",size="Gene Numbers")
p + geom_point(aes(size=AvsB,color=Qvalue)) + scale_colour_gradient(low="green",high="red")+labs(title="Top20 of pathway enrichment",x="Rich factor",y="Pathway Name",color="-log10(Qvalue)",size="Gene Numbers")+theme_bw()
示例结果的ggplot2可视化
页:
[1]