用途:从体细胞变异队列生成 OncoPrint 与共突变矩阵图,以基因×样本矩阵展示每个样本的变异类型(错义、截断、剪接、拷贝增益、拷贝缺失、融合)。
主要能力:ComplexHeatmap::oncoPrint 通过 alter_fun 为每种变异类型定义单元格内绘制函数,实现同一单元格内多变异堆叠;支持临床列注释、按 burden 排序、按分组拆分、基因频率与 TMB 条形图。maftools::oncoplot 面向 TCGA 风格 MAF 文件,自动处理颜色、排序与百分比条,定制性较弱。comut.py 提供 Python 等价实现,支持分类与连续数据注释。maftools 的 somaticInteractions 可做互斥/共现分析。
使用方式:R 端将 MAF/变异表转为以分号分隔变异字符串的基因×样本矩阵,定义 alter_fun 与颜色后调用 oncoPrint();或 read.maf() 后调用 oncoplot()。Python 端用 comut.CoMut() 依次 add_categorical_data、add_continuous_data,再 plot_comut() 并保存。
适用场景:队列突变全景图、亚型驱动基因富集、患者 burden 模式、互斥(如 BRAF vs NRAS)与共现(如 TP53 + MYC)分析。
限制:小队列(N<50)互斥检验统计功效不足,建议聚合至 ≥100 样本或使用 DISCOVER;超突变样本会主导 TMB 条形,需 log10 变换或截断;remove_empty_columns=TRUE 会改变百分比分母;不同实现排序与百分比可能不一致,需在图中注明排序标准与分母定义。版本兼容性需自行核对,示例基于 ComplexHeatmap 2.18+、maftools 2.18+、comut 0.0.3+、pandas 2.0+、matplotlib 3.8+。