复现带积分柱状图+多个分类注释

Original research: Tumor microenvironment evaluation promotes precise checkpoint immunotherapy of advanced gastric cancer - PMC (nih.gov)

补充文件位置:https://www.ncbi.nlm.nih.gov/pmc/articles/PMC8356190/bin/jitc-2021-002467supp001.xlsx

原图

该图展示了样本的评分变化和相关的临床信息变化。

对每个转移性胃癌患者(列)进行临床病理特征和分子特征注释。列注释表示上皮-间充质转化 (EMT)(间充质、非间充质);组织学(中度腺癌 (ADC)、ADC 差、印环细胞等);MSI 状态(MSS、MSI);EBV状态(阴性、阳性);分子亚型(染色体不稳定性(CIN)、EBV、基因组稳定(GS)、MSI-H);程序性死亡配体 1 综合阳性评分 (CPS)(高、低、NE);组织肿瘤突变负荷(tTMB);最佳总体反应 (BOR) (CR、PR、PD、SD);以及每个样本的二元 BOR(响应者、非响应者)。TMEscore、TMEscoreA 和 TMEscoreB 显示在面板顶部。高 TMEscore 能够识别 EBV 阳性和 MSI-H 患者以及免疫检查点阻断反应者。


复现
复制代码
rm(list = ls()) 
library(ComplexHeatmap)
library(circlize)
data <- read.csv("data.csv")

#进行文献复现#
dat1 <- data[order(data$TMEscore),]#进行排序
dat1 <- as.data.frame(dat1)
#[1] "TMEscore"          "TMEscoreA"         "TMEscoreB"         "EMT"              
#[5] "Pathology"         "MSI_type"          "EBV_in_situ"       "molecular.subtype"
#[9] "CPS"               "BOR" 

#是否需要将数据转换为int??: 保留3位小数测试
ht_list <-  HeatmapAnnotation(TMEscore = anno_barplot(dat1$TMEscore, height = unit(1.5, "cm"))) %v%    
  HeatmapAnnotation(TMEscoreA = anno_barplot(dat1$TMEscoreA, height = unit(1.5, "cm"))) %v%
  HeatmapAnnotation(TMEscoreB = anno_barplot(dat1$TMEscoreB, height = unit(1.5, "cm")))  %v%
  HeatmapAnnotation(EMT = dat1$EMT,
                  col = list(EMT = c("Mesenchymal" = "red", "Non-mesenchymal" = "#1f78b4")))%v%
  HeatmapAnnotation(Pathology = dat1$Pathology,
                    col = list(Pathology = c("Moderater_ADC" = "red","Others" = "#1f78b4",
                                             "Poor_ADC"="#f38181","Signet_ring_cell" = "#ff7f00")))%v%
  HeatmapAnnotation(MSI_type = dat1$MSI_type,
                    col = list(MSI_type = c("MSI" = "#1f78b4","MSS" = "#ff7f00")))%v%
  HeatmapAnnotation(EBV_in_situ = dat1$EBV_in_situ,
                    col = list(EBV_in_situ = c("Positive" = "red","Negative" = "#ff7f00")))%v%
  HeatmapAnnotation(molecular.subtype = dat1$molecular.subtype,
                    col = list(molecular.subtype = c("CIN" = "red","EBV" = "#ff7f00",
                                                     "GS" = "blue", "MSI-H" = "white")))%v%
  HeatmapAnnotation(CPS = dat1$CPS,
                    col = list(CPS = c("High" = "#ff7f00","Low" = "blue")))%v%
  HeatmapAnnotation(BOR = dat1$BOR,col = list(BOR = c("CRPR" = "#ff7f00","SDPD" = "#f38181")))

#绘图
draw(ht_list, column_title = "Kim cohort",
     merge_legends = TRUE, heatmap_legend_side = "bottom")
dev.off()

参考文献:

1:Tumor microenvironment evaluation promotes precise checkpoint immunotherapy of advanced gastric cancer

相关推荐
第六五8 分钟前
DPC和DPC-KNN算法
人工智能·算法·机器学习
Xxtaoaooo10 分钟前
OCR文字识别前沿:PaddleOCR/DBNet++的端到端文本检测与识别
人工智能·ai·ocr·文本检测·dbnet++
taxunjishu11 分钟前
DeviceNet 转 MODBUS TCP:倍福 CX 系列 PLC 与 MES 系统在 SMT 回流焊温度曲线监控的通讯配置案例
运维·人工智能·物联网·自动化·区块链
小烤箱18 分钟前
自动驾驶工程师面试(定位、感知向)
人工智能·面试·自动驾驶
IT_陈寒20 分钟前
《Redis性能翻倍的7个冷门技巧,90%开发者都不知道!》
前端·人工智能·后端
龙俊杰的读书笔记34 分钟前
《小白学随机过程》第一章:随机过程——定义和形式 (附录1 探究随机变量)
人工智能·机器学习·概率论·随机过程和rl
长空任鸟飞_阿康44 分钟前
在 Vue 3.5 中优雅地集成 wangEditor,并定制“AI 工具”下拉菜单(总结/润色/翻译)
前端·vue.js·人工智能
滑水滑成滑头1 小时前
**发散创新:多智能体系统的探索与实践**随着人工智能技术的飞速发展,多智能体系统作为当今研究的热点领域,正受到越来越多关注
java·网络·人工智能·python
云布道师1 小时前
阿里云 OSS MetaQuery 全面升级——新增内容和语义的检索能力,助力 AI 应用快速落地
人工智能·阿里云·云计算
m0_650108241 小时前
【论文精读】FlowVid:驯服不完美的光流,实现一致的视频到视频合成
人工智能·计算机视觉·扩散模型·视频编辑·视频生成·论文精读·不完美光流