R語言繪制火山圖

火山圖

火山圖用于展示基因表達差異的分布判没,橫軸為Log2 Fold Change凛虽,越偏離中心差異倍數(shù)越大;縱軸為(-1)*Log10 P_adjust偿短,值越大差異越顯著欣孤。一般橫軸越偏離中心的點其縱軸值也會比較大,因此呈現(xiàn)火山噴發(fā)的形狀昔逗。

一步繪制火山圖

輸入數(shù)據(jù)格式

火山圖需要的數(shù)據(jù)格式如下 (本文用到的數(shù)據(jù)文件名為volcano.txt降传,文末有下載鏈接,此處截取一部分作為例子勾怒,也可用來畫圖婆排,只是數(shù)據(jù)少声旺,效果不明顯)

  • id: 不是必須的,但一般的軟件輸出結(jié)果中都會包含段只,表示基因名字腮猖。
  • log2FoldChange: 差異倍數(shù)的對數(shù),一般的差異分析輸出結(jié)果中也會給出對數(shù)處理的值, 因此程序沒有提供這一步的計算操作翼悴。
  • padj: 多重假設檢驗矯正過的差異顯著性P值缚够;一般的差異分析輸出結(jié)果為原始值,程序提供一個參數(shù)對其求取負對數(shù)鹦赎。
  • significant: 可選列谍椅,標記哪些基因是上調(diào)、下調(diào)古话、無差異雏吭;若無此列或未在參數(shù)中指定此列,默認程序會根據(jù)padj列和log2FoldChange列根據(jù)給定的閾值自動計算差異基因陪踩,并作出不同顏色的標記杖们。
  • label: 可選列,一般用于在圖中標記出感興趣的基因的名字肩狂。非-行的字符串都會標記在圖上摘完。
id  log2FoldChange  padj    significant label
E00007  4.28238 0   EHBIO_UP    A
E00008  -1.1036 0.476466843393901   Unchanged   -
E00009  -0.274368   1   Unchanged   -
E00010  4.62347 7.37606076333335e-103   EHBIO_UP    -
E00012  0.973987    0.482982440163204   Unchanged   -
E00017  -1.30205    0.000555693857439792    Baodian_UP  B
E00024  0.617636    2.78047837287061e-13    Unchanged   -
E00033  1.48669 2.56000581595275e-60    EHBIO_UP    -
E00034  -0.783716   0.00341521725291801 Unchanged   -
E00036  2.01592 6.03136656016401e-06    EHBIO_UP    C
E00040  -1.89657    4.73663890849056e-21    Baodian_UP  -
E00041  -0.268168   0.563429434558031   Unchanged   -
E00042  0.0861048   0.367700939634328   Unchanged   -
E00043  -1.19328    1.42673872027352e-153   Baodian_UP  -
E00044  -0.887981   2.43067804654905e-26    Unchanged   -
E00047  -0.610941   5.51696648645932e-57    Unchanged   -

使用significant列繪制火山圖

# -f: 指定輸入文件,格式如上
# -x: 指定橫軸變量傻谁,值為輸入文件中與取過對數(shù)的變化倍數(shù)相關(guān)的列的名字
# -y: 指定縱軸變量孝治,值為輸入文件中與P-value
#     (也可能是p-adj,是否取過對數(shù)都可以)相關(guān)的列的名字
# -P: 若為TRUE审磁,則表示對<-y>指定的列進行-log10轉(zhuǎn)換
# -L: 指定圖例的位置
# -s: 指定差異基因列
# -S: 指定差異基因列不同的標簽出現(xiàn)的順序
sp_volcano.sh -f volcano.txt -x log2FoldChange -y padj -s significant -S "'EHBIO_UP', 'Baodian_UP', 'Unchanged'" -P TRUE -L top 
image

這個圖看上去還可以谈飒,沒有太大的問題。但有部分點與最頂端的線重合了态蒂,這些點的pvalue為0杭措,取負對數(shù)后為負無窮。另外在一些情況下钾恢,會存在部分基因的pvalue極小手素,使得整張圖呈現(xiàn)一個壓縮的趨勢,大部分點偏安于圖的下方瘩蚪,中間大段空白泉懦,最上面零星幾個點。為了避免這種情況募舟,程序設置了參數(shù)-M用于設定pvalue的最大的負對數(shù)祠斧,所有大于給定值的數(shù),都會視為給定值拱礁。

# -M 10: 指定P-value(也可能是p-adj);若小于10^(-10)琢锋,則為10^(-10)
#        用于部分p-value存在異常值辕漂,導致整個圖都被壓縮在最底部
p_volcano.sh -f volcano.txt -x log2FoldChange -y padj -s significant -S "'EHBIO_UP', 'Baodian_UP', 'Unchanged'" -P TRUE -L top -M 10 

注意看縱軸的變化,和最上面排成一條線的一堆點吴超。

image

自動計算significant列繪制火山圖

若不存在significant列钉嘹,程序會根據(jù)-F指定的參數(shù)計算并標記差異基因。-F的默認值為"0.05,1"(引號是必須的), 第一個數(shù)表示pvalue或padj鲸阻,對應于<-y>列跋涣;第二個數(shù)表示對數(shù)轉(zhuǎn)換的差異倍數(shù),對應于<-x>列鸟悴。

# <-F "0.05,1">, 默認值陈辱,故命令行中未寫,引號是必須的
sp_volcano.sh -f volcano.txt -x log2FoldChange -y padj -P TRUE -L top

image
# -M 10: 與之前相同
sp_volcano.sh -f volcano.txt -x log2FoldChange -y padj -P TRUE -L top -M 10

image

火山圖中標記基因的名字

# -l: label细诸,在圖中標記部分基因的名字沛贪;
# label為含有待標記基因名字的列名,此列中非<->的非空字符都會視為基因名字
sp_volcano.sh -f volcano.txt -x log2FoldChange -y padj -P TRUE -L top -M 10 -l label

label列中非-的值都會標記在圖上震贵。

image

轉(zhuǎn)載:https://zhuanlan.zhihu.com/p/32983662

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末利赋,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子猩系,更是在濱河造成了極大的恐慌媚送,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件寇甸,死亡現(xiàn)場離奇詭異塘偎,居然都是意外死亡,警方通過查閱死者的電腦和手機幽纷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門式塌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來博敬,“玉大人友浸,你說我怎么就攤上這事∑眩” “怎么了收恢?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長祭往。 經(jīng)常有香客問我伦意,道長,這世上最難降的妖魔是什么硼补? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任驮肉,我火速辦了婚禮,結(jié)果婚禮上已骇,老公的妹妹穿的比我還像新娘离钝。我一直安慰自己票编,他們只是感情好,可當我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布卵渴。 她就那樣靜靜地躺著慧域,像睡著了一般。 火紅的嫁衣襯著肌膚如雪浪读。 梳的紋絲不亂的頭發(fā)上昔榴,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天,我揣著相機與錄音碘橘,去河邊找鬼互订。 笑死,一個胖子當著我的面吹牛痘拆,可吹牛的內(nèi)容都是我干的屁奏。 我是一名探鬼主播,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼错负,長吁一口氣:“原來是場噩夢啊……” “哼坟瓢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起犹撒,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤折联,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后识颊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體诚镰,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年祥款,在試婚紗的時候發(fā)現(xiàn)自己被綠了清笨。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡刃跛,死狀恐怖抠艾,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情桨昙,我是刑警寧澤检号,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站蛙酪,受9級特大地震影響齐苛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜桂塞,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一凹蜂、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦玛痊、人聲如沸泥彤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吟吝。三九已至,卻和暖如春颈娜,著一層夾襖步出監(jiān)牢的瞬間剑逃,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工官辽, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留蛹磺,地道東北人。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓同仆,卻偏偏與公主長得像萤捆,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子俗批,可洞房花燭夜當晚...
    茶點故事閱讀 43,490評論 2 348

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