100天生信-Day1
熱圖是很方便的數(shù)據(jù)可視化方法,很多情景下簡(jiǎn)單、實(shí)用。比如在拿到RNA-seq表達(dá)矩陣后大概看一個(gè)表達(dá)情況,而且可以做個(gè)聚類(lèi)大體了解基因表達(dá)模式(當(dāng)然樣本多的時(shí)候可以選擇WGCNA)。
## 加載包
library(pheatmap)
## 設(shè)置工作目錄
setwd("PATH")
## 導(dǎo)入原始FPKM,保留注釋?zhuān)詈筇砑觕luster信息的時(shí)候直接在這個(gè)表中添加
FPKM_ann <- read.csv("Ara24_fpkm.csv" , header = T, row.names = 1)
## 去除注釋?zhuān)蝗〉?到24列
FPKM <- FPKM_ann[,c(1:24)]
## 只取所有樣本FPKM和大于10的基因
FPKM <- FPKM[which(rowSums(FPKM) > 10),]
## 畫(huà)熱圖,cluster_row對(duì)行聚類(lèi),cutree_rows = x 參數(shù)表示分成幾個(gè)cluster
## 聚類(lèi)算法可以通過(guò)clustering_method = "xxxx"調(diào)整,多試幾種看聚類(lèi)效果
p <- pheatmap(FPKM,cluster_row = TRUE,cluster_col = FALSE, show_rownames= FALSE,
scale = 'row', cutree_rows = 6)
## 導(dǎo)出加上cluster信息的原始表格(順序按聚類(lèi)順序改變,保留注釋?zhuān)琧luster信息在最后一列)
row_cluster <- cutree(p$tree_row, k=6)
newOrder <- FPKM_ann[p$tree_row$order,]
newOrder[,ncol(newOrder)+1]=row_cluster[match(rownames(newOrder), names(row_cluster))]
colnames(newOrder)[ncol(newOrder)]="Cluster"
write.csv(newOrder, "FPKM_cluster.csv")
得到的表就是在輸入表的基礎(chǔ)上排序加cluster信息。
導(dǎo)出基因順序參考文章:https://www.omicsclass.com/article/508