以下代碼均來自GO-plot的manual(GOplot (wencke.github.io))募强。
GO-plot用條形圖,氣泡圖,弦圖仓坞,熱圖等方式將基因表達(dá)數(shù)據(jù)和功能注釋數(shù)據(jù)結(jié)合展示出來答姥。
#安裝GO-plot包
install.packages('GOplot')
下載示例數(shù)據(jù)(wencke.github.io/EC.rda at master · wencke/wencke.github.io · GitHub)
#加載數(shù)據(jù)集
EC <- load("C:/Users/19724/Desktop/EC.rda")
data(EC)
#查看數(shù)據(jù)
head(EC$eset)
head(EC$genelist)
head(EC$david)
head(EC$genes)
EC$process
cirlce_dat函數(shù)將GO注釋結(jié)果文件和基因差異表達(dá)分析文件結(jié)合起來什燕,生成作圖對(duì)象吏祸。
circ <- circle_dat(EC$david, EC$genelist)
head(circ)
category:GO term分為3類,分別為BP(生物學(xué)過程)柱蟀,CC(細(xì)胞組分)川蒙,MF(分子功能);
ID和term來自于gene ontology數(shù)據(jù)庫长已;
count為劃分到相應(yīng)term的基因數(shù)目畜眨;
logFC為差異表達(dá)基因的log標(biāo)準(zhǔn)化的倍數(shù)變化;
adj_pval為校正過的p-value值术瓮,adj_pval < 0.05顯著富集康聂;
zscore并不是一個(gè)標(biāo)準(zhǔn)的統(tǒng)計(jì)值,但是能暗示某個(gè)生物學(xué)功能更有可能上調(diào)還是下調(diào)胞四;up和down分別表示劃分到某個(gè)term的上調(diào)和下調(diào)基因數(shù)恬汁。
#只展示某一類GO term
GOBar(subset(circ, category == 'BP'))
#展示3類GO term
GOBar(circ, display = 'multiple', title = 'Z-score coloured barplot', zsc.col = c('yellow', 'black', 'cyan'))
#氣泡圖
GOBubble(circ, labels = 3)
標(biāo)記adj_pval負(fù)對(duì)數(shù)大于等于3的GO term,氣泡的大小表明富集到該GO term的基因數(shù)目撬讽。
reduce_overlap函數(shù)過濾掉冗余的GO term蕊连,每組只保留一個(gè)代表性的GO term以增加圖的可讀性。
#過濾基因重疊度等于或超過0.75的GO term
reduced_circ <- reduce_overlap(circ, overlap = 0.75)
GOBubble(reduced_circ, labels = 2.8)
GOBubble(circ, title = 'Bubble plot', colour = c('orange', 'darkred', 'gold'), display = 'multiple', labels = 2)
GOBubble(circ, title = 'Bubble plot with background colour', display = 'multiple', bg.col = T, labels = 3)
#圈圖
IDs <- c('GO:0007507', 'GO:0001568', 'GO:0001944', 'GO:0048729', 'GO:0048514', 'GO:0005886', 'GO:0008092', 'GO:0008047')
GOCircle(circ, nsub = IDs)
通過指定ID或者指定ID數(shù)目來展示GO term游昼,如nsub = 10甘苍;這種圖還展示了上下調(diào)基因的分布情況,但是這種圖最多只能展示12個(gè)GO term烘豌。
#弦圖
chord <- chord_dat(circ, EC$genes, EC$process)
head(chord)
chord_dat函數(shù)整理出弦圖所需的二進(jìn)制矩陣载庭。0代表該基因不可以被注釋到該GO term,反之1代表可以廊佩。
chord <- chord_dat(data = circ, genes = EC$genes, process = EC$process)
GOChord(chord, space = 0.02, gene.order = 'logFC', gene.space = 0.25, gene.size = 5)
弦圖展示了感興趣的基因和某些GO term的關(guān)系囚聚,以基因差異表達(dá)倍數(shù)的大小排序。
GOChord(chord, limit = c(3, 0), gene.order = 'logFC')
只展示至少與三個(gè)生物學(xué)過程相關(guān)的基因标锄。
#熱圖
GOHeat(chord[,-8], nlfc = 0)
熱圖類似于弦圖顽铸,橫軸代表不同的基因,count代表基因被注釋到的GO term數(shù)目料皇。
GOHeat(chord, nlfc = 1, fill.col = c('red', 'yellow', 'green'))
#聚類圖
GOCluster(circ, EC$process, clust.by = 'logFC', term.width = 2)
將具有相似表達(dá)模式的基因聚類到一起谓松。
GOCluster(circ, EC$process, clust.by = 'term', lfc.col = c('darkgoldenrod1', 'black', 'cyan1'))
將富集到的GO term情況類似的基因聚類到一起。
#韋恩圖
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, label = c('heart development', 'plasma membrane', 'tissue morphogenesis'))
最多只能展示3個(gè)數(shù)據(jù)集践剂,紅色為上調(diào)鬼譬,藍(lán)色為下調(diào)。