版權聲明:本文為博主原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接和本聲明。
GO是Gene Ontology的簡稱,是基因功能國際標准分類體系。它旨在建立一個適用於各種物種的,對基因和蛋白質功能進行限定和描述的,並能隨着研究不斷深入而更新的語言詞匯標准。GO分為分子功能(Molecular Function)、生物過程(Biological Process)、和細胞組成(Cellular Component)三個部分。
富集分析主要用於差異基因在GO term的富集程度,顏色越深富集越顯著,紅色最顯著,黃色次之,無色代表富集不顯著。
- GO term分為三大類,每一類從不同的層面解釋基因的生物學功能,我們可以結合生物學問題的特殊性,有針對性的關注GO term:例如我們期望從離子通道這一層面解釋植物耐旱,耐鹽的的機理,我們可以優先關注細胞組成里面膜蛋白。
- GO term間具有包含關系,GO term之間可以構建復雜的結構網絡。GO term 層級越低,功能描述越具體,越是低層級,越能解釋生物學的問題,所以我們要關注顯著富集的低層級GO term,以便具體而詳盡的解釋生物學問題。
- GO富集分析的統計假設,並不能完全代基因功能的重要程度。要結合生物學問題、結合基因的功能注釋,才能判斷其中的基因變化是否有重要的生物學意義。
這里可以使用clusterProfiler找到富集的GO
安裝所需的R包
1 source("https://bioconductor.org/biocLite.R") 2 options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/") 3 biocLite("org.Hs.eg.db") 4 biocLite("clusterProfiler") 5 install.packages("ggplot2")
進行富集分析
1 library(org.Hs.eg.db) 2 library(ggplot2) 3 setwd("D:/medical_service/go_enrich") 4 # geneNames <- c("AHNAK2", "AQP7", "DNAH11" , "FLG", "HNRNPCL2", "HRNR" , "KMT2C", 5 # "KMT2D", "MST1L", "MUC12", "MUC16", "MUC17", "MUC19", "MUC3A", 6 # "MUC4", "MUC5B", "MUC6", "PABPC3", "PDE4DIP", "PLEC" , "TTN", 7 # "ANKRD36", "FCGBP", "HERC2", "IGFN1", "KRT18", "SLC25A5", "SYNE2", 8 # "RYR1", "TNS1", "DST", "SYNE1", "TSNARE1", "NBPF19", "NBPF26", 9 # "PRKCB", "ADGRG1", "OPCML") 10 d1 <- read.table("genenames.txt", header=T, stringsAsFactor =F) 11 geneNames <- d1$GeneName 12 gene <- mapIds(org.Hs.eg.db, geneNames, 'ENTREZID', 'SYMBOL') 13 BP.params <- enrichGO( gene = gene, 14 OrgDb = org.Hs.eg.db, 15 ont = "BP" , 16 pAdjustMethod = "BH", 17 pvalueCutoff = 0.01, 18 qvalueCutoff = 0.05) 19 20 BP.list <- setReadable(BP.params, org.Hs.eg.db, keyType = "ENTREZID") 21 22 dotplot(BP.list, showCategory=30)library(clusterProfiler
如果要做BP, CC, MF的綜合柱狀圖,采用ggplot2
1 p1 <- ggplot(data=goAll)+ geom_bar(aes(x=Description,y=-log10(pvalue), fill=GOType), stat='identity') + coord_flip() + scale_x_discrete(limits=goAll$Description) 2 3 ggsave("out_bar.pdf", p1, width = 10, height=6) 4 5 6 p2 <- ggplot(Edata, aes(x=GeneRatio, y=`GO description`)) + 7 geom_point(aes( size= Count , colour = -log10( pvalue )) ) + scale_y_discrete(limits=Edata$`GO description`)+ 8 ggtitle("GO enrichment") + scale_color_gradient(low = 'green', high = 'red') + xlim(range(Edata$GeneRatio)) + 9 theme(axis.text.x=element_text(angle=0,size=8, vjust=0.7), axis.text.y=element_text(angle=0,size=6, vjust=0.7),plot.title = element_text(lineheight=.8, face="bold", hjust=0.5, size =16), panel.background = element_rect(fill="white", colour='gray'), panel.grid.major = element_line(size = 0.05, colour = "gray"), panel.grid.minor.y = element_line(size=0.05, colour="gray"), panel.grid.minor.x = element_line(size=0.05, colour="gray") 10 ) 11 12 ggsave("out_GO.pdf", p2, width = 8, height=7)
效果如圖
來源:華為雲社區 作者:benymorre
HDC.Cloud 華為開發者大會2020 即將於2020年2月11日-12日在深圳舉辦,是一線開發者學習實踐鯤鵬通用計算、昇騰AI計算、數據庫、區塊鏈、雲原生、5G等ICT開放能力的最佳舞台。