ggplot2-plotly|讓你的火山圖“活”過來

火山圖(Volcano Plot)常用于展示基因表達(dá)差異的分布,橫坐標(biāo)常為Fold change(倍數(shù))球榆,越偏離中心差異倍數(shù)越大臊岸;縱坐標(biāo)為P value(P值)焦除,值越大差異越顯著红伦。得名原因也許是因?yàn)?/span>結(jié)果圖像火山吧


一 載入R函數(shù)包及數(shù)據(jù)集

library(ggplot2)data <- read.csv("火山圖.csv",header=TRUE,row.names = 1)
head(data) #查看數(shù)據(jù)類型英古,主要有P值,F(xiàn)old change和基因ID即可昙读。


二 ggplot2繪制火山圖

2.1 繪制簡單的火山圖--點(diǎn)圖

ggplot(data = data, aes(x = logFC, y = -log10(adj.P.Val))) +geom_point(alpha=0.8, size = 1)


和文獻(xiàn)中的差距較大召调,以下幾個(gè)方面可改進(jìn):

A:上下調(diào)基因的區(qū)分;

B:橫軸蛮浑,縱軸的閾值線唠叛;

C:重點(diǎn)基因的標(biāo)示。


2.2 細(xì)節(jié)優(yōu)化火山圖

1)根據(jù)閾值設(shè)定上下調(diào)基因

新增change列沮稚,利用ifelse函數(shù)添加基因的上下調(diào)情況艺沼,color進(jìn)行區(qū)分,然后使用geom_hline() ?和 geom_vline( )參數(shù)添加閾值線壮虫,

data$change <- as.factor(ifelse(data$adj.P.Val < 0.01 & abs(data$logFC) > 1,ifelse(data$logFC > 1,'UP','DOWN'),'NOT'))


2)添加閾值線

使用geom_hline() ?和 geom_vline( )參數(shù)添加閾值線


ggplot(data = data, aes(x = logFC, y = -log10(adj.P.Val), color = change)) +  geom_point(alpha=0.8, size = 1) +  theme_bw(base_size = 15) +??theme(panel.grid.minor?=?element_blank(),panel.grid.major?=?element_blank())?+  geom_hline(yintercept=2 ,linetype=4) +geom_vline(xintercept=c(-1,1) ,linetype=4 ) +  scale_color_manual(name = "", values = c("red", "green", "black"), limits = c("UP", "DOWN", "NOT"))  


3) 標(biāo)示重點(diǎn)顯著差異基因

上圖是不是有點(diǎn)像了澳厢,新增sign列,利用ifelse函數(shù)添加重點(diǎn)顯著差異基因囚似,然后使用geom_text參數(shù)添加到圖上,

data$sign <- ifelse(data$adj.P.Val < 0.001 & abs(data$logFC) > 2.5,rownames(data),NA)
ggplot(data = data, aes(x = logFC, y = -log10(adj.P.Val), color = change)) +  geom_point(alpha=0.8, size = 1) +  theme_bw(base_size = 15) +??theme(panel.grid.minor?=?element_blank(),panel.grid.major?=?element_blank())?+  geom_hline(yintercept=2 ,linetype=4) +geom_vline(xintercept=c(-1,1) ,linetype=4 ) +  scale_color_manual(name = "", values = c("red", "green", "black"), limits = c("UP", "DOWN", "NOT")) +geom_text(aes(label = sign), size = 3) 

?


4) 解決基因名重疊問題

基本和paper一致线得,但是因?yàn)椴町惐磉_(dá)基因太多饶唤,存在重疊情況,現(xiàn)使用R語言的ggrepel包解決標(biāo)簽太多導(dǎo)致的重疊問題贯钩。

library(ggrepel)ggplot(data = data, aes(x = logFC, y = -log10(adj.P.Val), color = change)) +  geom_point(alpha=0.8, size = 1) +  theme_bw(base_size = 15) +??theme(panel.grid.minor?=?element_blank(),panel.grid.major?=?element_blank())?+  scale_color_manual(name = "", values = c("red", "green", "black"), limits = c("UP", "DOWN", "NOT")) +??geom_label_repel(aes(label=sign),?fontface="bold",?color="grey50",?box.padding=unit(0.35,?"lines"),?point.padding=unit(0.5,?"lines"),?segment.colour?=?"grey50")




5) 標(biāo)示感興趣的基因的表達(dá)情況

將我們感興趣的基因添加到數(shù)據(jù)的LABEL列中募狂,假設(shè)以下幾個(gè)基因是我們重點(diǎn)關(guān)注的基因,單獨(dú)查看以下基因的表達(dá)情況

ggplot(data = data, aes(x = logFC, y = -log10(adj.P.Val), color = change)) +  geom_point(alpha=0.8, size = 1) +  theme_bw(base_size = 15) +  theme(panel.grid.minor = element_blank(),panel.grid.major = element_blank() ) +  scale_color_manual(name = "", values = c("red", "green", "black"), limits = c("UP", "DOWN", "NOT")) +  geom_label_repel(aes(label=LABEL), fontface="bold", color="grey50", box.padding=unit(0.35, "lines"), point.padding=unit(0.5, "lines"), segment.colour = "grey50")


吶角雷,到這里除了數(shù)據(jù)不一樣祸穷,基本實(shí)現(xiàn)了文獻(xiàn)中的火山圖,是不是以為到這就結(jié)束了勺三?NO!NO!NO! 實(shí)現(xiàn)上述靜態(tài)的就可以發(fā)paper去了雷滚!

但是,吗坚,祈远,

匯報(bào)展示的時(shí)候呆万,如果能動(dòng)態(tài)交互式的展示所有顯著基因的FC值和P值,是不是更酷炫车份!


plotly繪制交互式火山圖

1)plot_ly函數(shù)畫散點(diǎn)圖

library(plotly)plot_ly(data,x = ~logFC, y = ~-log10(adj.P.Val),text = ~sign, type = 'scatter',  mode = 'markers')


會(huì)彈出一個(gè)網(wǎng)頁谋减,然后可以交互式的展示每個(gè)點(diǎn)的FC值和P值


那可不可以在“paper”級(jí)靜態(tài)火山圖的基礎(chǔ)上扫沼,實(shí)現(xiàn)交互式呢出爹?當(dāng)然可以!6谐严就!

四,參考資料

https://www.bioconductor.org/packages/release/bioc/vignettes/EnhancedVolcano/inst/doc/EnhancedVolcano.html

R|plotly



更多關(guān)于生信 伴找,R 盈蛮,Python的內(nèi)容請(qǐng)掃碼關(guān)注小號(hào),謝謝技矮。

其他可能感興趣


R|繪圖邊距及布局


R-基本繪圖參數(shù)(Ⅰ)

ggplot2|從0開始繪制直方圖


ggplot2|從0開始繪制折線圖


ggplot2|從0開始繪制箱線圖


ggplot2|繪制GO富集柱形圖


ggplot2| 繪制KEGG氣泡圖

ggplot2|擴(kuò)展包從0開始繪制雷達(dá)圖

繪圖系列|R-corrplot相關(guān)圖


繪圖系列|R-wordcloud2包繪制詞云


繪圖系列|R-VennDiagram包繪制韋恩圖


R|UpSet-集合可視化


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末抖誉,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子衰倦,更是在濱河造成了極大的恐慌袒炉,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,590評(píng)論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件樊零,死亡現(xiàn)場離奇詭異我磁,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)驻襟,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門夺艰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人沉衣,你說我怎么就攤上這事郁副。” “怎么了豌习?”我有些...
    開封第一講書人閱讀 169,301評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵存谎,是天一觀的道長。 經(jīng)常有香客問我肥隆,道長既荚,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,078評(píng)論 1 300
  • 正文 為了忘掉前任栋艳,我火速辦了婚禮恰聘,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己憨琳,他們只是感情好诫钓,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評(píng)論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著篙螟,像睡著了一般菌湃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上遍略,一...
    開封第一講書人閱讀 52,682評(píng)論 1 312
  • 那天惧所,我揣著相機(jī)與錄音,去河邊找鬼绪杏。 笑死下愈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蕾久。 我是一名探鬼主播势似,決...
    沈念sama閱讀 41,155評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼僧著!你這毒婦竟也來了履因?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,098評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤盹愚,失蹤者是張志新(化名)和其女友劉穎栅迄,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體皆怕,經(jīng)...
    沈念sama閱讀 46,638評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡毅舆,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評(píng)論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了愈腾。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片憋活。...
    茶點(diǎn)故事閱讀 40,852評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖虱黄,靈堂內(nèi)的尸體忽然破棺而出余掖,到底是詐尸還是另有隱情,我是刑警寧澤礁鲁,帶...
    沈念sama閱讀 36,520評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站赁豆,受9級(jí)特大地震影響仅醇,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜魔种,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評(píng)論 3 335
  • 文/蒙蒙 一析二、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦叶摄、人聲如沸属韧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宵喂。三九已至,卻和暖如春会傲,著一層夾襖步出監(jiān)牢的瞬間锅棕,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評(píng)論 1 274
  • 我被黑心中介騙來泰國打工淌山, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留裸燎,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,279評(píng)論 3 379
  • 正文 我出身青樓泼疑,卻偏偏與公主長得像德绿,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子退渗,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容