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

分享

幾行R語言代碼即可繪制火山圖?

 頭頭了不起 2019-08-30

火山圖

火山圖(volcano plot)常用于顯著差異基因表達(dá)的展示,包含顯著和差異兩個(gè)重要信息。顯著性指P值小于0.05,差異性常用FoldChange值>=2作為篩選標(biāo)準(zhǔn)。

那么如何看懂一張火山圖所包含的信息呢?首先需要知道,火山圖的橫坐標(biāo)通常用log2(fold change)表示,差異越大的基因分布在兩端,縱坐標(biāo)用-log10(pvalue)表示,T檢驗(yàn)顯著性P值的負(fù)對數(shù)。由于P值越小表示越顯著,所以我們進(jìn)行-log10(P value)轉(zhuǎn)化后,轉(zhuǎn)化值越大表示差異越顯著。通常差異倍數(shù)越大的基因T檢驗(yàn)越顯著,所以左上角和右上角的值往往是我們關(guān)注的。

求教要怎么畫火山圖呢?

小銳今天將為大家介紹如何用R語言繪制火山圖。

1.加載數(shù)據(jù)

temp <- read.table("data.txt",header = T,check.names = F,quote="",sep = "t")

head(temp)

> 查看基因表達(dá)數(shù)據(jù),包含P值和倍數(shù)值,因火山圖展示需要,將倍數(shù)值進(jìn)行了Log2轉(zhuǎn)化。

2.繪制火山圖

2.1初級版火山圖

library("ggplot2")

p<-ggplot(temp,aes(x=temp$log_foldchange,y=-log10(temp$p_value)))+xlab("log2 Fold Change")+ylab("-log10P-Value")+

geom_point(size=4,alpha=0.6)

p

2.2進(jìn)階版火山圖

為方便直觀的顯示基因表達(dá)的上調(diào)與下調(diào),我們設(shè)置篩選閾值,并依此設(shè)置點(diǎn)的顏色。

這里我們設(shè)置P<0.05且log(foldchange)>0為上調(diào)(“up”),P<0.05且log(foldchange)<0為下調(diào)(“down”)。

temp$threshold[temp$p_value < 0.05 & temp$log_foldchange>0 ] = "up"

temp$threshold[temp$p_value < 0.05 & temp$log_foldchange<0 ] = "down"

temp$threshold[temp$p_value > 0.05 & (temp$log_foldchange>=0 | temp$log_foldchange <= 0)] = "non"

p<-ggplot(temp,aes(x=temp$log_foldchange,y=-log10(temp$p_value),colour=threshold))+xlab("log2 Fold Change")+ylab("-log10P-Value")+

geom_point(size=4,alpha=0.6)+

scale_color_manual(values =c("#0072B5","grey","#BC3C28")) #設(shè)置點(diǎn)的顏色

p

這樣繪制出來的火山圖是不是更加直觀,更美觀了?最后讓我們來修飾細(xì)節(jié)。

2.3終極版火山圖

調(diào)整圖片細(xì)節(jié),為火山圖去除背景并增加區(qū)域線:

library(ggthemes)

p<-ggplot(temp,aes(x=temp$log_foldchange,y=-log10(temp$p_value),colour=threshold))+xlab("log2 Fold Change")+ylab("-log10P-Value")+

geom_point(size=4,alpha=0.6)+

scale_color_manual(values =c("#0072B5","grey","#BC3C28")) +

geom_hline(aes(yintercept=-log10(0.05)),colour="grey",size=1.2 ,linetype=2) + #增加水平間隔線

geom_vline(aes(xintercept=0), colour="grey",size=1.2 ,linetype=2)+ #增加垂直間隔線

theme_few()+theme(legend.title = element_blank()) #去掉網(wǎng)格背景和圖注標(biāo)簽

p

    本站是提供個(gè)人知識管理的網(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ā)表

    請遵守用戶 評論公約

    類似文章 更多