對(duì)于熱圖,之前有畫(huà)過(guò),但當(dāng)時(shí)對(duì)于繁多的arguements了解的不是很清楚,但是今天在微信公眾號(hào)上找到了一篇真正的保姆級(jí)教程,講的非常的詳細(xì)?。?!然后自己做了一點(diǎn)補(bǔ)充與拓展,完成了自己的個(gè)性化需求分析。
1. 推文引用及介紹
首推(保姆級(jí)教程):
聚類(lèi)熱圖行列分組信息注釋熱圖2 - 在打豆豆的小潘學(xué)長(zhǎng)
熱圖進(jìn)階:

image
2. 數(shù)據(jù)實(shí)戰(zhàn)
2.1 先獲取pheatmap包所有的參數(shù)信息(代碼來(lái)自推文一)

image
2.2 開(kāi)始動(dòng)手制作需要的各個(gè)inputdata
輸入的數(shù)據(jù)是之前跑出來(lái)的 gsva.result_df, 但這不是最終可以輸入的數(shù)據(jù)。后面會(huì)說(shuō)到原因
2.2.1 修改數(shù)據(jù)的行名,這樣熱圖的行標(biāo)簽就搞定了
rownames(gsva.result_df) <- c("TGF-beta","WNT","RAS","HIPPO","NOTCH","Cell_Cycle","PI3K", "P53")

image
2.2.2 制作annotation_col
制作熱圖上面的那兩行注釋條,對(duì)應(yīng)碎片 annotation_col = ann_col
ann_col = data.frame(copykat.pred = factor(sce_cnv$copykat.pred,
levels = c("aneuploid","diploid"),
labels = c("malignant","no_malignant")),
seurat_clusters = factor(sce_cnv$RNA_snn_res.0.05,levels = c(0,1,2,3),
labels = c("CAF_0","CAF_1","CAF_2","CAF_3")))

image
tips:
row.names(ann_col) = colnames(sce_cnv)
一般都需要這樣一句代碼,但是由于我們是從scRNA的metadata中提取出來(lái)的,所以呈現(xiàn)出來(lái)的數(shù)據(jù)框是帶了細(xì)胞名稱(chēng)的(即barcodes)。
2.2.3 制作行和列注釋的顏色
ann_color = list(copykat.pred = c(malignant="#0089CF", no_malignant="#E889BD"),
seurat_clusters = c(CAF_0 = "firebrick3",CAF_1 = "orange",
CAF_2 = "yellow",CAF_3 = "blue")) #定義分組顏色

image
2.2.4 對(duì)原始數(shù)據(jù)進(jìn)行排序,對(duì)應(yīng)碎片 gsva.result_df_order
如果不對(duì)原始數(shù)據(jù)進(jìn)行排序,則會(huì)得到如下的結(jié)果:

image
# 排序也很簡(jiǎn)單,如果只有一行注釋信息,用sort即可,兩行及以上,則用order.
neworder <- order(sce_cnv$copykat.pred,sce_cnv$RNA_snn_res.0.05)
# 然后通過(guò)這個(gè)變量對(duì)原始數(shù)據(jù)進(jìn)行排序
gsva.result_df_order <- gsva.result_df[,neworder]
2.2.5 最終的畫(huà)圖
p<-pheatmap(gsva.result_df_order***,scale="row",
show_colnames=F, show_rownames=T, cluster_cols=F, cluster_rows=T,cex=1,
clustering_distance_rows="euclidean", cex=1,clustering_distance_cols="euclidean",
clustering_method="complete", border_color=FALSE,cutree_col = 3,
annotation_col = ann_col***,***annotation_colors = ann_color,
color = colorRampPalette(c("navy","white","firebrick3"))(100))
結(jié)果如圖所示:

image
3. 致謝
打豆豆的小潘學(xué)長(zhǎng)
TS的美夢(mèng)