前面分了四期類型給大家講了繪制熱圖時的配色方案
?【R語言】熱圖繪制-heatmap函數(shù)+默認(rèn)配色方案
?【R語言】熱圖繪制-heatmap+grDevice配色方案
?【R語言】熱圖繪制-heatmap+RColorBrewer配色方案
今天我們接著講繪制熱圖時候的一個小技巧,如何顯示樣本的類型画拾。我們經(jīng)常還在文章中看到類似下面這樣的熱圖啥繁。會在列的上方用顏色標(biāo)注樣本的類型。這樣可以一目了然的看出找到的差異表達(dá)基因能否很好的將不同類型的樣本區(qū)分開青抛。今天我們就來用R代碼來實(shí)現(xiàn)旗闽。
首先我們還是先讀取需要的數(shù)據(jù),這里用到的數(shù)據(jù)跟【R語言】熱圖繪制-heatmap函數(shù)用到的數(shù)據(jù)是一樣的
#讀取所有miRNA的表達(dá)矩陣
expr=read.table("miRNA_expr.txt",header=T,row.names=1,sep="\t")
#讀取差異表達(dá)分析結(jié)果
#差異表達(dá)分析可以參考https://ke.qq.com/course/package/37513
deg=read.table("MIR_DEG_fc_2.5_pval_0.01.txt",header=T,row.names = 1,sep="\t")
#設(shè)置樣本類型
type=factor(rep(c("CR","CC"),each=3))
#提取差異表達(dá)miRNA的名字
miRNA=rownames(deg)
#提取差異表達(dá)miRNA對應(yīng)的表達(dá)矩陣
data=as.matrix(expr[miRNA,])
接下來我們來用heatmap繪圖蜜另,并添加樣本類型顏色
#生成pdf文件适室,來保存熱圖
pdf(file="heatmap_with_typecolor.pdf",width=8)
#根據(jù)樣本類型設(shè)置顏色
colSide <- c("red","blue")[type]
#繪制熱圖
heatmap(data,
cexCol = 1, #設(shè)置列標(biāo)簽字體大小
cexRow = 1, #設(shè)置行標(biāo)簽字體大小
scale="row", #按行做歸一化
ColSideColors=colSide, #設(shè)置樣本類型顏色
margins = c(7, 5) #設(shè)置列標(biāo)簽和行標(biāo)簽邊距大小
)
#設(shè)置圖注
legend("topright",legend=levels(type),col=c("red","blue"),pch=15,bty="n",cex=0.7)
#關(guān)掉繪圖裝置
dev.off()
會得下面這張熱圖,分別用紅色和藍(lán)色表示了不同的樣本類型举瑰。
本文中使用的表達(dá)矩陣來自GEO公共數(shù)據(jù)庫
https://www.ncbi.nlm.nih.gov/geo/query/acc.cgi?acc=GSE82236
關(guān)于GEO數(shù)據(jù)庫檢索和差異表達(dá)分析可以參考
?基于GEO公共數(shù)據(jù)庫的數(shù)據(jù)挖掘
參考資料:
?【R語言】熱圖繪制-heatmap函數(shù)+默認(rèn)配色方案
?【R語言】熱圖繪制-heatmap+grDevice配色方案
?【R語言】熱圖繪制-heatmap+RColorBrewer配色方案
? 超詳細(xì)的熱圖繪制教程(5000余字)捣辆,真正的保姆級教程