bulk RNA-Seq(8)差異表達分析可視化

歡迎關(guān)注Bioinfor 生信云微信公眾號!

上一期我們講了樣本相關(guān)性分析的一些可視化,這一期我們來做差異分析的熱圖和火山圖。

火山圖

火山圖(Volcano Plot)RNA-seq等分析時常用的一種圖,它能夠清晰地展示顯著上調(diào)和下調(diào)的基因,因作出來的圖形如火山噴發(fā),故而得名。
例如圖中,X軸一般表示log2的倍數(shù)變化,Y軸一般表示-log10(p-value),不同顏色的點表示滿足不同條件的基因,紅色表示上調(diào)基因(P<0.05, Fold change >=2),藍色表示下調(diào)基因,灰色表示不顯著的基因(即要么Fold change不滿足閾值,要么Pvalue不滿足閾值,要么Fold change和Pvalue都不滿足閾值),兩條垂直虛線表示Fold change(這里默認2倍,即log2(2)=1),一條水平線表示Pvalue閾值(默認0.05)

DE <- read.delim("Rworkspace/de_result") #導(dǎo)入差異分析結(jié)果
library(ggrepel)
my_palette <- c('#4DBBD5FF', '#999999','#E64B35FF' )
library(ggplot2)
  ggplot(data = DE, aes(x = log2FoldChange, y = -log10(padj))) + 
  geom_point(aes(color = direction, size = abs(log2FoldChange))) + 
  geom_hline(yintercept = -log10(0.05), linetype = 'dashed', color = 'red') + 
  geom_vline(xintercept = c(-1,1), linetype = 'dashed') +
  #geom_label_repel(data = top_de, aes(label = GID)) + #展示gene id
  scale_color_manual(values = my_palette) + 
  scale_size(range = c(0.1,1.5)) + 
  guides(size = FALSE) +
  labs(x = 'log2 fold change',
       y = '-log10(pvalue)' ,
       title = 'Vocano plot',
       size = 'log2 fold change') +   
  theme_bw() 
    legend.background = element_blank())

熱圖

用顏色代表數(shù)字,讓數(shù)據(jù)呈現(xiàn)更直觀,對比更明顯。
直觀呈現(xiàn)多樣本多個基因的全局表達量變化

呈現(xiàn)多樣本多基因表達量的聚類關(guān)系

聚類是把相似的對象通過靜態(tài)分類的方法分成不同的組別或者更多的子集,這樣讓在同一個子集中的成員對象都有相似的一些屬性

library(tidyverse)
de_result <- filter(DE, abs(log2FoldChange) > 1 & padj < 0.05) %>%
mutate(FC = 2 **log2FoldChange) %>%
  mutate(direction = if_else(
    padj > 0.05, 'ns', if_else(
      abs(log2FoldChange) < 1, 'ns', if_else(
        log2FoldChange >= 1, 'up', 'down')))) %>%
  left_join(gene_info, by = c('GID' = 'ID')) %>%
  left_join(rownames_to_column(genes_exp, var = 'GID'), by = 'GID') %>%
  dplyr::select(-c(8:9)) %>%
  arrange(desc(abs(log2FoldChange)))
#logFC>2,padi<0.05篩選差異基因,并關(guān)聯(lián)基因信息表和表達矩陣
pheatmap_de <- select(de_result, -c(2:15)) %>% column_to_rownames(var = 'GID')
pheatmap(log10(pheatmap_de + 1), cluster_rows = TRUE, 
         show_rownames = F,
         annotation_col = select(sample_info, group),
         cutree_rows =2,
         cutree_cols =2 )
#熱圖

喜歡的話就點個贊吧

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容