当前位置: 首页 > article >正文

论文插图绘制|R语言绘制瀑布图,展示高频突变基因在样本中的分布模式|25-03-04

生信小悟

该代码基于R语言中的maftools包,用于从标准化MAF格式的体细胞突变数据中生成瀑布图(Oncoplot)。

核心流程包括:

  1. 安装依赖包
  2. 读取MAF文件
  3. 设置绘图参数
  4. 最终输出PDF格式的突变热力图

瀑布图可直观展示高频突变基因在样本中的分布模式,助力识别潜在驱动基因及样本异质性,适用于癌症基因组学等生信分析场景。

最终效果如下

代码通过read.maf()解析MAF文件(需包含基因名、突变位点、变异类型等字段),利用oncoplot()函数绘制图表,默认展示突变频率前30的基因,并隐藏样本名称以优化可视化布局。

我们可通过调整topfontSize等参数控制显示基因数量及标签大小,输出尺寸通过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
    ...
    
  • 记录基因名、突变位置、变异类型等信息。

image-20250304084018844


瀑布图

  • 可视化不同样本的基因突变模式
  • 纵轴:高频突变基因(按频率降序排列)
  • 横轴:样本
  • 颜色块:代表不同突变类型(如错义突变、移码缺失等)

这张图展示了433个样本中基因突变的情况,有387个样本(占比89.38%)存在基因改变。

最终绘制效果如下

  • 上方图:横坐标代表样本,纵坐标(TMB,肿瘤突变负荷)展示每个样本的突变数量。可看出不同样本的突变负荷有差异,部分样本突变负荷较高。
  • 中间图:展示了不同基因的突变情况。每一行代表一个基因(如TTN、TP53等),不同颜色表示不同的突变类型,包括错义突变(Missense_Mutation)、无义突变(Nonsense_Mutation)、剪接位点突变(Splice_Site)等。能直观看到各基因在不同样本中的突变分布和类型。
  • 右侧图:以条形图形式展示了不同基因发生突变的样本数量占比。例如,TTN基因突变的样本占比最高达48%,可以据此对比不同基因的突变频率 。

三、注意事项

  1. 输入文件验证

    • 确保input.maf存在于工作目录,且格式正确(可用head(input.maf)预览)
    • 最小必需字段:Hugo_Symbol, Chromosome, Start_Position, Variant_Classification, Tumor_Sample_Barcode
  2. Bioconductor依赖

    • 首次运行需联网安装包,若安装失败,尝试:
      BiocManager::install(update = TRUE)  # 更新所有依赖
      
  3. 图形自定义

    • 调整top参数可显示更多/更少基因
    • 添加colors参数自定义突变类型颜色
    • 设置showTumorSampleBarcodes = TRUE可显示样本名称(适合样本量少时)
  4. 输出问题排查

    • 检查工作目录是否有写入权限
    • 若PDF为空,确认dev.off()已执行

结束语

本期推文的内容就到这里啦,如果需要获取医学AI领域的最新发展动态,请关注小罗的推送!如需进一步深入研究,获取相关资料,欢迎加入我的知识星球!


http://www.kler.cn/a/571624.html

相关文章:

  • 自动化学习-使用git进行版本管理
  • php的笔记(更新中)
  • 电子电气架构 --- 拓扑架构集中的趋势及其演变
  • RK3568平台(网络篇)RTL8111网卡
  • 【Elasticsearch】修改数据流(Data Stream)
  • 蓝桥云客 跑步
  • AI编程,常见的AI编程工具有哪些?如何用AI编程做一个简单的小软件?
  • Pycharm配置ROS开发环境
  • CSS_复合选择器
  • 【前沿 热点 顶会】CVPR 2025 录用的与图像|视频恢复、抠图、超分辨率、3D生成有关的论文
  • c++ cout详解
  • 【每日八股】MySQL篇(七):日志(上)
  • flink和yarn和mpp架构区别
  • Vue 调用摄像头扫描条码
  • windows 安装Android Studio
  • FreeRTOS系列---程序正常,但任务无法创建
  • Ubuntu20.04双系统安装及软件安装(五):VSCode
  • 【数据分析】上市公司市场势力数据测算+dofile(1992-2023年)
  • 【PyQt5项目实战分享】基于YOLOv8的车辆轨迹识别与目标检测研究分析软件
  • 【easy视频 | day04】视频转码 + 稿件管理 + 服务端审核稿件