【R繪圖】雙線火山圖

雙線火山圖(Dual-line volcano plot)是一種用于可視化差異表達分析結(jié)果的圖表。它通常用于展示基因或蛋白質(zhì)在兩個或多個條件之間的表達差異,并結(jié)合統(tǒng)計學(xué)檢驗的結(jié)果。
雙線火山圖的橫軸表示差異表達的水平,通常是通過計算統(tǒng)計學(xué)上的指標(如t-檢驗、ANOVA等)得到的p值或調(diào)整后的p值(如FDR、Bonferroni等)。縱軸表示表達量的對數(shù)變換,常使用基于2的對數(shù)(log2)。
在雙線火山圖中,每個數(shù)據(jù)點代表一個基因或蛋白質(zhì),它的橫坐標位置反映了它的差異表達水平的顯著性程度,縱坐標位置則反映了它的表達量的相對變化大小。通常,顯著性水平較低(較小的p值)的點會在圖上較遠離0點,表示其差異表達更顯著;而縱坐標較高(較大的對數(shù)變換值)的點表示其表達量的變化較大。
雙線火山圖的主要特點是將差異表達的統(tǒng)計顯著性和生物學(xué)上的重要性結(jié)合在一起,幫助研究人員在大量差異表達基因中篩選出具有生物學(xué)意義的目標。通過設(shè)定合適的差異表達閾值和顯著性水平,可以在圖中直觀地識別出顯著差異表達的基因或蛋白質(zhì),進一步進行功能注釋和生物通路分析等。
雙線火山圖在生物醫(yī)學(xué)研究中被廣泛應(yīng)用,特別是在基因組學(xué)、轉(zhuǎn)錄組學(xué)和蛋白質(zhì)組學(xué)等研究領(lǐng)域。它提供了一種直觀和簡潔的方式來可視化差異表達分析結(jié)果,幫助研究人員快速發(fā)現(xiàn)和理解基因或蛋白質(zhì)的差異表達模式。

結(jié)果圖


rm(list = ls())
setwd("D:")
library(RColorBrewer)
library(ggplot2)
# 生成雙曲線所需數(shù)據(jù)
## 設(shè)置foldchange,pvalue閾值
log2fd = 0.25
p = 0.05
fun <- function(a){
  input = seq(0.0001,a,0.0001)
  y = 1/(input) + (-log10(p))
  df1 = data.frame(x = input+log2fd,y = y)
  df2 = data.frame(x = -(input+log2fd),y = y)
  res <- rbind(df1,df2)
  return(res)
}
df_line <-fun(3)
head(df_line)
## 數(shù)據(jù)準備
df <- read.csv("df.csv",row.names = 1) 
#確定是上調(diào)還是下調(diào),用于給圖中點上色
## 新增一列x對應(yīng)曲線上的值
## 反函數(shù)左加右減 上加下減
df$line = ifelse(df$log2fd>0, (1/(df$log2fd-log2fd)) + (-log10(p)), (1/(-df$log2fd-log2fd)) + (-log10(p)))
##確定是上調(diào)還是下調(diào),用于給圖中點上色
df$threshold = factor(ifelse(-log10(df$P_value)  > df$line & abs(df$log2fd) >= 0.25, ifelse(df$log2fd >= 0.25 ,'Up','Down'),'NoSignifi'),levels=c('Up','Down','NoSignifi'))
df$gene <- row.names(df) #添加一列基因名,以便備注
library(ggrepel) #標簽用


ggplot()+
  geom_point(aes(x=log2fd,y= -log10(P_value), color=threshold),df)+
  scale_color_manual(values=c("#FC4E2A","#4393C3","#00000033"))+
  geom_line(aes(x=x,y=y),df_line)+
  ylim(0,10)+
  xlim(-2.5,+2.5)+
  theme_classic()
數(shù)據(jù)格式
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

  • 最近很多剛了解生信的同學(xué)問喵學(xué)姐:看了一些文獻,文獻里的各種圖怎么看呀,完全看不懂。今天喵學(xué)姐就來給大家講一講我們...
    善木科研閱讀 1,478評論 0 2
  • 分析背景 ????火山圖常用于轉(zhuǎn)錄組研究中,也能應(yīng)用于基因組,蛋白質(zhì)組,代謝組等統(tǒng)計數(shù)據(jù)。它歸根到底是是散點圖的一...
    xw_歡樂豆閱讀 2,225評論 0 22
  • 火山圖是散點圖的一種,它將統(tǒng)計測試中的統(tǒng)計顯著性量度(如p value)和變化幅度相結(jié)合,從而能夠幫助快速直觀地識...
    生信寶典閱讀 2,909評論 0 10
  • 火山圖是測序分析報告中最為核心的圖片之一。繪制火山圖的方法有許多,Excel和第三方軟件等,本文主要運用ggplo...
    謝俊飛閱讀 49,542評論 1 90
  • 逐漸感覺到,一些人正在將生信分析帶偏,他們著重強調(diào)圖片的觀賞性,而忽視了生信分心的本質(zhì)不是為了文章湊圖片,而是能利...
    POLLIGATOR閱讀 1,272評論 0 2