cor_heapmap
本期图片
❝R, Fong C, Smith S, Riely GJ, Rudin CM, Gomez DR, Solit DB, Berger MF, Li BT, Mayo MW, Matei I, Lyden DC, Adusumilli PS, Schultz N, Sanchez-Vega F, Jones DR. Genomic mapping of metastatic organotropism in lung adenocarcinoma. Cancer Cell. 2023 May 8;41(5):970-985.e3. doi: 10.1016/j.ccell.2023.03.018.
❞
实际上该图是 Co-occurrence and mutual exclusivity of genes 。按照协同和互斥的作用模式,可将突变分为以下两类:「1. Co-occurencing mutations;2. Mutually exclusive mutations」。互斥的驱动基因往往共享相同的通路 (Pathway) 或 不同进展途径 (Different progression pathways,如不同肿瘤类型) 中的基因。
我们这里这里为了方便,直接以相关性分析的结果做图。
该图的难点是上三角和下三角分别只显示正相关和负相关的值j及其对应的显著性标记。我们只需要对数据进行前期的预处理即可。
复现结果
fig
示例数据和代码领取
data+code
绘图
rm(list = ls()) library(corrplot) # 准备数据(示例数据) cor_matrix <- cor(mtcars) # 使用mtcars数据集作为示例数据 # 创建相关性矩阵 corr_matrix <- cor_matrix # 复制相关性矩阵 corr_matrix[corr_matrix == 1] <- NA # 将值为1的元素替换为NA corr_matrix[upper.tri(corr_matrix) & corr_matrix > 0] <- 0 # 上三角大于0的值替换为0 corr_matrix[lower.tri(corr_matrix) & corr_matrix < 0] <- 0 # 下三角小于0的值替换为0 p.mat <- cor.mtest(cor_matrix)$p # 计算相关系数的显著性 # 预处理使得显著性只显示在对应的区域 # 这一步为了让结果好看 有点问题 大家可以加群讨论 p.mat[p.mat == 0] <- 0 p.mat[corr_matrix != 0] <- 1 # 创建热图 library(ComplexHeatmap) ht_list <- Heatmap( corr_matrix, name = " ", border = "white", col = colorRampPalette(c("#417e46", "#f7f8f9", "#6f2f7e"))(100), rect_gp = gpar(col = "white", lwd = 2), column_order = colnames(corr_matrix), row_order = rownames(corr_matrix), row_names_side = "left", # 行标签放在左边 column_names_side = "top", # 列标签放在上边 row_names_gp = gpar( fontsize = 10), column_names_gp = gpar( fontsize = 10), heatmap_legend_param = list( title = "correlation", direction = "horizontal", legend_width = unit(10, "cm"), legend_height = unit(4, "cm")), cell_fun = function(j, i, x, y, w, h, fill) { if(p.mat[i, j] > 0.05) { # 为了结果美观修改,实际上因该上<0.05,可以加群讨论 grid.text("*", x, y, gp = gpar(col = 'white', fontsize = 25)) } } ) pdf('cor_heapmap.pdf',width = 8,height = 8) draw(ht_list, heatmap_legend_side = "bottom") dev.off()
往期内容
- 资源汇总 | 2022 木舟笔记原创推文合集(附数据及代码领取方式)
- CNS图表复现|生信分析|R绘图 资源分享&讨论群!
- R绘图 | 浅谈散点图及其变体的作图逻辑
- 这图怎么画| 有点复杂的散点图
- 这图怎么画 | 相关分析棒棒糖图
- 组学生信| Front Immunol |基于血清蛋白质组早期诊断标志筛选的简单套路
- (免费教程+代码领取)|跟着Cell学作图系列合集
- Q&A | 如何在论文中画出漂亮的插图?
- 跟着 Cell 学作图 | 桑葚图(ggalluvial)
- R实战 | Lasso回归模型建立及变量筛选
- 跟着 NC 学作图 | 互作网络图进阶(蛋白+富集通路)(Cytoscape)
- R实战 | 给聚类加个圈圈(ggunchull)
- R实战 | NGS数据时间序列分析(maSigPro)
- 跟着 Cell 学作图 | 韦恩图(ggVennDiagram)