GO分析在科研中十分常見(jiàn),簡(jiǎn)單的表格或者柱狀圖已經(jīng)很難滿足大家的需求,今天小編介紹一個(gè)專注于可視化的R包--GOplot。 ###########安裝 #install.packages('GOplot') #install_github('wencke/wencke.')
###########加載 library(GOplot)
data(EC) head(EC$david)###DAVID富集分析結(jié)果 head(EC$genelist)###差異分析結(jié)果 ###大家也可以根據(jù)上面的格式將自己的文件讀入 circ <- circle_dat(EC$david, EC$genelist)#創(chuàng)建繪圖對(duì)象 head(circ)
 其中,category代表GO term category count代表該GO term中的基因數(shù)量genes代表GO term中相關(guān)的基因名logFC代表相關(guān)基因差異表達(dá)分析中的logFC值 其中up,down,count,分別代表在相關(guān)GO term中上調(diào),下調(diào),總計(jì)的基因數(shù) 準(zhǔn)備好上面的數(shù)據(jù),就可以開(kāi)始繪制各種GO富集分析圖啦~GOBar(circ, display = 'multiple', title = 'Z-score coloured barplot', ##設(shè)置標(biāo)題 zsc.col = c('firebrick3', 'white', 'royalblue3')##設(shè)置顏色 )

GOBar(subset(circ, category == 'BP'))##僅展示部分GO

GOBubble(circ, title='GOBubble plot',##設(shè)置標(biāo)題 labels = 5,##-log(adj p-value)>5 ID = TRUE,##TRUE顯示符合標(biāo)準(zhǔn)的GO term ID,F(xiàn)ALSE顯示GO term name table.legend = TRUE, table.col = TRUE, ##右側(cè)表格設(shè)置 bg.col = FALSE#背景顏色設(shè)置 )

GOBubble(circ, title = 'GOBubble plot', labels = 3, colour = c('orange', 'darkred', 'gold'), ##顏色設(shè)置 display = 'multiple',##根據(jù)類別對(duì)圖像進(jìn)行分面處理 bg.col = TRUE#背景顏色設(shè)置 )

GOCircle(circ, rad1=2, rad2=3,##內(nèi)徑、外徑設(shè)置 zsc.col=c('firebrick3', 'white', 'royalblue3'),#z-score顏色設(shè)置 lfc.col=c('firebrick3', 'royalblue3'),##上調(diào)下調(diào)顏色設(shè)置 label.size=5,label.fontface='bold',##字體大小格式設(shè)置 table.legend=TRUE##右側(cè)表格設(shè)置 )
$ GOCircle(circ, nsub = 5)###選擇GO term 進(jìn)行展示(即選取前n行展示)

$ IDs <- c('GO:0007507', 'GO:0001568', 'GO:0001944', 'GO:0048729', 'GO:0048514', 'GO:0005886', 'GO:0008092', 'GO:0008047') GOCircle(circ, nsub = IDs)##用戶自定義選擇GO term 進(jìn)行展示
head(EC$genes) head(EC$process) chord <- chord_dat(data = circ, genes = EC$genes)#生成帶有選定基因列表的矩陣 chord <- chord_dat(data = circ, process = EC$process)#生成帶有選定GO term列表的矩陣
chord <- chord_dat(data=circ, genes=EC$genes, process=EC$process)#構(gòu)建數(shù)據(jù) head(chord) GOChord(chord, title='GOChord plot',#標(biāo)題設(shè)置 space = 0.02, #GO term處間隔大小設(shè)置 limit = c(3, 5),#第一個(gè)數(shù)值為至少分配給一個(gè)基因的Goterm數(shù),第二個(gè)數(shù)值為至少分配給一個(gè)GOterm的基因數(shù) gene.order = 'logFC', gene.space = 0.25, gene.size = 5,#基因排序,間隔,名字大小設(shè)置 lfc.col=c('firebrick3', 'white','royalblue3'),##上調(diào)下調(diào)顏色設(shè)置 #ribbon.col=colorRampPalette(c('blue', 'red'))(length(EC$process)),#GO term 顏色設(shè)置 ribbon.col=brewer.pal(length(EC$process), 'Set3'),#GO term 顏色設(shè)置 )

GOHeat(chord[,-ncol(chord)], ##去除最后一列l(wèi)ogFC nlfc = 0,#定義logFC列的數(shù)量(默認(rèn)值為0) )

GOHeat(chord, nlfc = 1, fill.col = c('firebrick3', 'white','royalblue3')#顏色設(shè)置 )

GOCluster(data=circ, process=EC$process,#選擇GO term metric='euclidean',#選擇距離度量方法 clust='average', #選擇聚類方法 clust.by = 'term',#指定是否應(yīng)該對(duì)基因表達(dá)模式或功能類別進(jìn)行聚類。term(default) or logFC term.width = 2,term.col=brewer.pal(length(EC$process), 'Set3'),#GO term 寬度,顏色設(shè)置 nlfc=FALSE, lfc.col=c('firebrick3', 'white','royalblue3')#是否包含多個(gè)logFC列,顏色設(shè)置 )
 figure-7 GOVenn(max 3sets)l1 <- subset(circ, term == 'heart development', c(genes,logFC)) l2 <- subset(circ, term == 'plasma membrane', c(genes,logFC)) l3 <- subset(circ, term == 'tissue morphogenesis', c(genes,logFC)) GOVenn(l1,l2,l3, lfc.col=c('firebrick3', 'white','royalblue3'),#logFC顏色設(shè)置 circle.col=brewer.pal(3, 'Dark2'),#Venn顏色設(shè)置 label = c('heart development', 'plasma membrane', 'tissue morphogenesis')#標(biāo)簽設(shè)置 )
 可共參選的樣式還是很多的,大家可以嘗試起來(lái)嘍~參考網(wǎng)址:https://wencke./
|