熱圖可以反應(yīng)各個(gè)樣本的基因分布情況,把數(shù)字轉(zhuǎn)換成圖片更直觀一些,目前畫熱圖的軟件不少,比如graphpad,華科也出了一款軟件,甚至excel都可以,還有很多在線熱圖工具,但個(gè)人感覺(jué)還是R的pheatmap包最好看。
library(pheatmap) #加載包
setwd("x:/xxx") #設(shè)置工作目錄
熱圖需要準(zhǔn)備的數(shù)據(jù)
- 格式:txt或者csv的表格文件,以下制表符的
txt為例 - 內(nèi)容:行為基因表達(dá)量(數(shù)字),列為樣本名稱
矩陣格式如下:
| gene | test1 | test2 | test3 |
|---|---|---|---|
| A | 80 | 90 | 90 |
| B | 70 | 100 | 90 |
| C | 66 | 90 | 90 |
| D | 55 | 88 | 90 |
| … | … | … | … |
分組文件 (需要時(shí)備用,可以行分組,也可以列分組)
| test | group | score |
|---|---|---|
| test1 | group1 | 90 |
| test2 | group2 | 100 |
| test3 | group1 | 90 |
| … | … | … |
加載數(shù)據(jù)
heat <- read.table("Desktop/heat.txt",header = T, row.names = 1, sep="\t")
#加載表頭,第一列固定

1.png
作圖
pheatmap(heat) #默認(rèn)作圖,無(wú)均一化

3.png
pheatmap(heat,scale="row")
#scale="row"表示按行均一化
按行均一化,可可以列均一化,默認(rèn)是無(wú),"row","column" or "none"默認(rèn)是"none**"
均一化目的:有時(shí)候表達(dá)量差別太大,會(huì)出現(xiàn)差別大情況,需要進(jìn)行一致化縮小差距

2.png
pheatmap(heat,scale="row", #行均一化
cluster_cols=F,cluster_rows=F, #不按行聚類,不按列聚類,就是不顯示樹枝,F(xiàn)也可以為FALSE
show_rownames = F,show_colnames=F#不顯示行名,不顯示列名)

4.png
pheatmap(heat,scale="row",cluster_cols=F,cluster_rows=F,
show_rownames = F,show_colnames=F,
color = colorRampPalette(c("green","white","red"),bias=2.5)(256))
#更改配色,顏色自己定義

5.png
常見(jiàn)參數(shù)設(shè)置
clustering_distance_rows = "correlation",#聚類線長(zhǎng)度優(yōu)化
treeheight_row=40,#按行聚類樹高
treeheight_col=40,#按列聚類樹高
cluster_cols=FALSE,#是否按列聚類
cluster_rows=F,#是否按行聚類
display_numbers=F,#是否在每一格上顯示數(shù)據(jù)
number_format="%.2f",#顯示數(shù)據(jù)的格式,幾位小數(shù),或"\%.1e",顏色number_color,大小fontsize_number
fontsize_row=10,#行名稱字體大小
fontsize_col=15,#列名稱字體大小
#格子大小
cellwidth = 50,
cellheight= 14,
main="ABC",#標(biāo)題名稱
gaps_row = c(10, 15),#插入縫隙,不能聚類!
cutree_row = 7,#按聚類分割
show_colnames=TRUE,#是否顯示列名,同理show_rownames
#定義顏色"navy", "white", "firebrick3"
- color = colorRampPalette(c("blue","white","red"),bias=2.5)(256),
- color = colorRampPalette(c("MediumBlue","white","red"))(256),
- #border_color = "black",
#格子框顏色
legend = FALSE,#是否顯示圖例
legend_breaks = -1:4,#圖例范圍
filename = "test.pdf",#保存文件命名