论文插图绘制|R语言绘制瀑布图,展示高频突变基因在样本中的分布模式|25-03-04
生信小悟
该代码基于R语言中的
maftools
包,用于从标准化MAF格式的体细胞突变数据中生成瀑布图(Oncoplot)。
核心流程包括:
- 安装依赖包
- 读取MAF文件
- 设置绘图参数
- 最终输出PDF格式的突变热力图
瀑布图可直观展示高频突变基因在样本中的分布模式,助力识别潜在驱动基因及样本异质性,适用于癌症基因组学等生信分析场景。
代码通过read.maf()
解析MAF文件(需包含基因名、突变位点、变异类型等字段),利用oncoplot()
函数绘制图表,默认展示突变频率前30的基因,并隐藏样本名称以优化可视化布局。
我们可通过调整top
、fontSize
等参数控制显示基因数量及标签大小,输出尺寸通过pdf()
函数定义(宽7英寸,高6英寸)。
注意,若为首次运行,需通过BiocManager
安装依赖包。建议预处理时验证数据质量(如突变注释一致性),绘图后根据需求自定义颜色映射(如colors
参数区分突变类型)或添加样本注释层,以增强结果解读性。
知识星球
如需获取本篇推送的代码以及数据,欢迎加入我的知识星球!
一、瀑布图
这段R代码用于通过maftools包生成展示基因突变数据的瀑布图。
安装依赖包
install.packages("BiocManager") # 安装Bioconductor的包管理工具
BiocManager::install("maftools") # 通过BiocManager安装maftools包(用于分析MAF格式的癌症突变数据)
加载包 & 设置路径
library(maftools) # 加载maftools包
inputFile = 'input.maf' # 指定输入文件名(MAF格式)
outFile = "waterfall.pdf" # 指定输出PDF文件名
setwd("/Users/luoxiaoluotongxue/Desktop/code_aug/生信分析/03/250302") # 设置工作目录(文件路径需根据实际位置修改)
读取数据
maf = read.maf(maf = inputFile) # 读取MAF文件,创建MAF对象
绘制瀑布图
pdf(file=outFile, width=7, height=6) # 初始化PDF图形设备,设置输出尺寸
oncoplot(
maf = maf, # 传入MAF对象
top = 30, # 显示突变频率最高的前30个基因
fontSize = 0.8, # 设置字体大小
showTumorSampleBarcodes = F # 不显示样本名称(使图更简洁)
)
dev.off() # 关闭图形设备,保存PDF
二、关键概念说明
MAF文件
(Mutation Annotation Format)
- 标准化格式,存储体细胞突变数据,通常包含以下字段:
Hugo_Symbol Chromosome Start_Position Variant_Classification TP53 17 7577538 Missense_Mutation ...
- 记录基因名、突变位置、变异类型等信息。
瀑布图
- 可视化不同样本的基因突变模式
- 纵轴:高频突变基因(按频率降序排列)
- 横轴:样本
- 颜色块:代表不同突变类型(如错义突变、移码缺失等)
这张图展示了433个样本中基因突变的情况,有387个样本(占比89.38%)存在基因改变。
- 上方图:横坐标代表样本,纵坐标(TMB,肿瘤突变负荷)展示每个样本的突变数量。可看出不同样本的突变负荷有差异,部分样本突变负荷较高。
- 中间图:展示了不同基因的突变情况。每一行代表一个基因(如TTN、TP53等),不同颜色表示不同的突变类型,包括错义突变(Missense_Mutation)、无义突变(Nonsense_Mutation)、剪接位点突变(Splice_Site)等。能直观看到各基因在不同样本中的突变分布和类型。
- 右侧图:以条形图形式展示了不同基因发生突变的样本数量占比。例如,TTN基因突变的样本占比最高达48%,可以据此对比不同基因的突变频率 。
三、注意事项
-
输入文件验证
- 确保
input.maf
存在于工作目录,且格式正确(可用head(input.maf)
预览) - 最小必需字段:
Hugo_Symbol
,Chromosome
,Start_Position
,Variant_Classification
,Tumor_Sample_Barcode
- 确保
-
Bioconductor依赖
- 首次运行需联网安装包,若安装失败,尝试:
BiocManager::install(update = TRUE) # 更新所有依赖
- 首次运行需联网安装包,若安装失败,尝试:
-
图形自定义
- 调整
top
参数可显示更多/更少基因 - 添加
colors
参数自定义突变类型颜色 - 设置
showTumorSampleBarcodes = TRUE
可显示样本名称(适合样本量少时)
- 调整
-
输出问题排查
- 检查工作目录是否有写入权限
- 若PDF为空,确认
dev.off()
已执行
结束语
本期推文的内容就到这里啦,如果需要获取医学AI领域的最新发展动态,请关注小罗的推送!如需进一步深入研究,获取相关资料,欢迎加入我的知识星球!