(生物信息学)R语言绘图初-中-高级——3-10分文章必备——瀑布图(初级)

撰写生物信息学研究论文时除了需深入探讨研究思路与当前研究热点之外,在视觉呈现上是否精良也具有重要意义。此外,在内容组织与逻辑表达上若无法达到较高水准,则可能导致读者理解上的障碍甚至影响论文的价值性评估。本系列文章旨在帮助刚接触R语言绘图的学习者从初级到中级水平逐步提升绘图能力。我们系统地整理了3-10分段落中常见出现的各种图表类型,并提供实现这些图表所需的完整R语言代码库以及基础绘图知识。
本专栏将向大家介绍的图片绘制如下:
1. 散点图
2. 箱线图
3.条形图
4.正负条形图
5.区组条形图
6.小提琴图
7.热图
8.Venn图
9.生存曲线
10.森林图
11.TSNE
12.瀑布图
13.ROC曲线
14.点阵图
15.相关系数图
16.饼图
17.树形图
18.气泡图
19.火山图
20.点图
上次讲到TSNE:
生物信息学领域中的R语言绘图从初级到中级阶段的内容是掌握核心技能的关键章节。楷然老师在博客上分享了该内容。

在本节中,我们将展示如何绘制瀑布图
通过某些基因对组织测序数据进行分类后,则可对其各亚型的突变特征进行分析研究。各亚型可能具有各自独特的突变负担水平或存在高度易发生突变的基因。
需要准备的文件只有一个,格式如下:

这是我在TCGA胃癌(STAD)数据库内建立的风险评估模型,在该模型中对患者的群体进行了高风险与低风险两类划分,并以CSV文件形式存储结果即可。
在开始代码执行时,请确保安装了必要的软件包,在此过程中您将需要用到TCGAbiolinks这个R包来完成相关操作。通过该R包,您能够访问TCGA数据库中的各种资源。需要注意的是,该软件运行速度较慢,在此步骤中获取来自TCGA数据库的STAD突变体数据。
rm(list = ls())
BiocManager::install("TCGAbiolinks",ask = F,update = F)
library(TCGAbiolinks)
library(maftools)
mut <- GDCquery_Maf(tumor = "STAD",pipelines = "mutect2") #下载突变数据
dim(mut)
AI助手
由于TCGA为不同癌症提供了不同的缩写方式。如膀胱癌可缩为BLCA等。因此建议选择哪个癌症的突变数据可参考TCGA官方提供的标准简写。此位置会实时更新下载进度信息。下载进程可能持续数十分钟。


下载完以后,可以查看一下STAD突变数据中的样本名字:
mut$Tumor_Sample_Barcode[1]## 查看样本名
AI助手


在分析过程中需要注意的一点是,在比较相关样本名称时会遇到不同数据集中的名称不一致的问题。为了使后续分析保持一致性,在识别出需要统一名称的部分后,建议采用substr函数来缩短字符串长度,并利用gsub函数来进行字符替换。
mut$Tumor_Sample_Barcode <- substr(mut$Tumor_Sample_Barcode,1,12)
mut$Tumor_Sample_Barcode <- gsub("-",".",mut$Tumor_Sample_Barcode)
AI助手
然后下载亚型文件:
rt <- read.csv("BLCA_cluster.csv",header = T,sep = ",")
head(rt)
AI助手
下面基于亚型文件提取高风险和低风险亚型的突变数据:
mut.High <- mut[(mut$Tumor_Sample_Barcode %in% rt$X[rt$Cluster=="Highrisk"]),]
### %in% 判断前面一个向量是否在后面一个向量中存在,返回布尔值
mut.Low <- mut[(mut$Tumor_Sample_Barcode %in% rt$X[rt$Cluster=="Lowrisk"]),]
dim(mut.High)
dim(mut.Low)
AI助手
请就看此处美元符号后的列头名称设置,请确认第一个红色方框所指代的是亚型文件的第一列表项,请核对第二个红色方框指定的同样是亚型文件的第二列表项。

下面开始做瀑布图,下载maftools包,并加载maftools包,读取数据:
library(maftools)
maf.High <- read.maf(maf=mut.High,isTCGA=T)## 读取高风险亚型的突变数据
maf.Low <- read.maf(maf = mut.Low,isTCGA = T)## 读取低风险亚型的突变数据
maf.all <- read.maf(maf = mut,isTCGA = T)## 读取总的样本突变数据
AI助手
下面设置颜色,人种等信息,这里的代码不需要修改:
col = RColorBrewer::brewer.pal(n = 10, name = 'Paired')
names(col) = c('Frame_Shift_Del','Missense_Mutation', 'Nonsense_Mutation', 'Frame_Shift_Ins','In_Frame_Ins', 'Splice_Site', 'In_Frame_Del','Nonstop_Mutation','Translation_Start_Site','Multi_Hit')
#人种
racecolors = RColorBrewer::brewer.pal(n = 4,name = 'Spectral')
names(racecolors) = c("ASIAN", "WHITE", "BLACK_OR_AFRICAN_AMERICAN", "AMERICAN_INDIAN_OR_ALASKA_NATIVE")
AI助手
下面开始绘制总的瀑布图,代码及图片如下:
oncoplot(maf = maf.all,
colors = col,#给突变配色
top = 20)
AI助手

绘制高风险亚型瀑布图,代码及图片如下:
oncoplot(maf = maf.high,
colors = col,#给突变配色
top = 20)
AI助手

绘制低风险瀑布图,代码及图片如下:
oncoplot(maf = maf.low,
colors = col,#给突变配色
top = 20)
AI助手

当不同亚型患者的预后情况不同时,在研究中发现这些基因及其突变程度也会表现出显著差异。在图中可以看到,在TNN和TP53之外,后续基因的排序及其突变频率出现了明显的差异。
