什么是基因富集分析?
?基因富集分析(gene set enrichment analysis)是在一组基因或蛋白中找到一类过表达的基因或蛋白。一般是高通量实验,如基因芯片,RNA-Seq,蛋白质组学(质谱结果)的后续步骤?;蚋患治鲂枰颐翘峁┠骋焕喙δ芑虻募嫌糜诒尘?,常用的注释数据库如:?
?The Gene Ontology Consortium: 描述基因的层级关系
Kyoto Encyclopedia of Genes and Genomes: 提供了pathway的数据库。
今天我来整理一下用R语言做KEGG超几何检验和基因富集分析的方法附代码:
Kyoto Encyclopedia of Genes and Genomes (KEGG)
将差异表达基因进行KEGG富集分析,可以把差异显著的pathway进行富集,有助于找到实验条件下显著性差异变化的生物学调控通路。
用R语言的clusterProfiler包进行KEGG超几何检验和富集分析:
1.准备所需要的数据:
view(deg):deg是Limma包分析后得到的差异基因
2.注释ID-ENTREZID即注释基因所对应的通路编号entrezid-id
> library(ggplot2)
> library(clusterProfiler)
> library(org.Hs.eg.db)
> s2e <- bitr(unique(deg$symbol), fromType = "SYMBOL",
+? ? ? ? ? ? ?toType = c( "ENTREZID"),
+? ? ? ? ? ? ?OrgDb = org.Hs.eg.db)
'select()' returned 1:1 mapping between keys and columns
> DEG <- merge(s2e,deg,by.y="symbol",by.x="SYMBOL")
3.上调基因的KEGG基因富集:
#####上调基因或者下调基因:只需要修改所选择的ENTREZID即可
例如:上调基因
gene_up <- DEG[DEG$group =="UP",]
kk.up <- enrichKEGG(gene? ? ? ? = gene_up$ENTREZID,
? ? ? ? ? ? ? ? ? ? organism? ? = 'hsa',
? ? ? ? ? ? ? ? ? ? #universe? ? = gene_all,
? ? ? ? ? ? ? ? ? ? pvalueCutoff = 0.9,
? ? ? ? ? ? ? ? ? ? qvalueCutoff =0.9)#P值或者Q值阈值可以根据富集的结果进行主观修改
head(kk.up)[,1:6]
dotplot(kk.up)#气泡图
barplot(kk.up)#条形图
#全部的差异基因
kk.diff <- enrichKEGG(gene = gene_diff,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?organism = 'hsa',
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? pvalueCutoff = 0.99,
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?qvalueCutoff =0.99)
barplot(kk.diff,?showCategory =10)#条形图
dotplot(kk.diff,showCategory =10)#气泡图
KEGG条形图的解读
#横轴为该pathway的差异基因个数,
#纵轴为富集到的pathway的描述信息,
#showCategory指定展示的pathway的个数,默认展示显著富集的top10个,即p.adjust最小的10个。
#注意的颜色对应p.adjust值,从小到大,对应蓝色到红色
KEGG点图的解读
#横轴为GeneRatio, 代表该pathway下的差异基因个数占差异基因总数的比例,
#纵轴为富集到的pathway的描述信息,?
#showCategory指定展示的pathway的个数,默认展示显著富集的top10个,即p.adjust最小的10个。
#图中点的颜色对应p.adjust的值,从小到大,对应蓝色到红色,大小对应该GO terms下的差异基因个数,个数越多,点越大。