日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

手把手教你R語言繪制“火山圖”

 生物_醫(yī)藥_科研 2019-06-21

什么是火山圖

火山圖(Volcano Plot)在一張圖中顯示了兩個重要的指標(biāo)(Fold change/pvalue),可以非常直觀且合理地篩選出在兩樣本間發(fā)生差異表達(dá)的基因。檢驗(yàn)分析出兩樣本間顯著差異表達(dá)的基因后,以log2(fold change)為橫坐標(biāo),以T檢驗(yàn)顯著性檢驗(yàn)P值的負(fù)對數(shù)-log10(pvalue)為縱坐標(biāo),即可得火山圖(Volcano Plot)。

這里有兩個重要概念需要了解:

FDR:在差異表達(dá)分析過程中,采用Benjamini-Hochberg方法對原有假設(shè)檢驗(yàn)得到的顯著性p值(p-value)進(jìn)行校正,并最終采用校正后的p值,即FDR(False Discovery Rate)。
FC(Fold Change):兩樣品(組)間表達(dá)量的比值。

繪制火山圖

我們使用R語言中的ggplot2包來繪制火山圖。首先加載R包及示例數(shù)據(jù)。

library('ggplot2')
 head(temp1,10)
       -log10FDR      logFC Regulate
64170   1.971938 -2.2884388     Down
6674    1.864104 -1.2460804     Down
7401    1.864104  1.2950939       Up
57217   1.864104 -1.2676311     Down
50613   1.801074  1.6640064       Up
3433    1.801074  4.2696415       Up
54830   1.801074 -1.9012811     Down
54886   1.801074 -1.5446208     Down
6355    1.801074  1.4273926       Up
338324  1.801074  0.9592775   Normal

其中行名為GeneID,第一列為-log10FDR,第二列為log2FC,第三列為上下調(diào)信息。

將第三列設(shè)置為有序因子,方便后續(xù)圖片顏色設(shè)置。

temp1$Regulate=factor(temp1$Regulate, levels=c('Up','Down','Normal'), order=T)

繪制成點(diǎn)圖:

P_volcano=ggplot(temp1,aes(x=temp1$logFC,y=temp1[,'-log10FDR']))+
            geom_point(aes(color=temp1$Regulate))+

            #設(shè)置點(diǎn)的顏色

            scale_color_manual(values =c('Up' = 'red', 'Down' = 'blue', 'Normal' = 'grey'))+
            labs(x='log2FC',y='-log10FDR')+

            #增加閾值線:分別對應(yīng)FDR=0.05,|log2FC|=1

            geom_hline(yintercept=-log10(0.05),linetype=4)+
            geom_vline(xintercept=c(-1,1),linetype=4)+

            xlim(-5,5)+
            theme(plot.title = element_text(size = 25,face = 'bold', vjust = 0.5, hjust = 0.5),
                    legend.title = element_blank(),
                    legend.text = element_text(size = 18, face = 'bold'),
                    legend.position = 'right',
                    legend.key.size=unit(0.8,'cm'),
                    axis.ticks.x=element_blank(),
                    axis.text.x=element_text(size = 15,face = 'bold', vjust = 0.5, hjust = 0.5),
                    axis.text.y=element_text(size = 15,face = 'bold', vjust = 0.5, hjust = 0.5),
                    axis.title.x = element_text(size = 20,face = 'bold', vjust = 0.5, hjust = 0.5),
                    axis.title.y = element_text(size = 20,face = 'bold', vjust = 0.5, hjust = 0.5),
                    panel.background = element_rect(fill = 'transparent',colour = 'black'),
                    panel.grid.minor = element_blank(),
                    panel.grid.major = element_blank(),
                    plot.background = element_rect(fill = 'transparent',colour = 'black'))
P_volcano

結(jié)果圖如下:

會生信,畫圖很簡單!想學(xué)的可以參考我們的作圖課程《R語言繪圖基礎(chǔ)(ggplot2)》,該課程直接從生物數(shù)據(jù)案例入手,手把手教你掌握ggplot2繪圖基礎(chǔ),從簡單的柱狀圖開始,一步一步深入,實(shí)現(xiàn)R語言繪圖技能的提高,幫你輕松做美圖更好發(fā)文章!

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多