导语
GUIDE ╲
癌症的异质性和复杂性对于癌症的治疗研究一直是重大的限制,为了解决这一问题,就需要我们了解各个患者的肿瘤基因变异情况,通过肿瘤突变谱的研究可以显示出癌症之间的高度分子异质性。
背景介绍
随着肿瘤基因组学的发展,突变注释格式(MAF)被广泛接受,并用于存储检测到的体细胞变异数据。TCGA已对30多种不同的癌症进行了测序,每种癌症类型的样本量均超过200个。由体细胞突变组成的结果数据以突变注释格式的形式存储。
maftools软件包可以用有效的方式从TCGA及其他来源汇总,分析,注释和可视化MAF文件,只要数据为MAF格式即可。maftools函数可以主要分为可视化和分析模块,用法很简单,只需使用read.maf读取我们的MAF文件(以及可用的副本数据),然后将生成的MAF对象传递给所需的函数进行绘图或分析。
R包安装
#用bioconductor安装R包
if (!require("BiocManager"))
install.packages("BiocManager")
BiocManager::install("maftools")
library(maftools)
可视化介绍
01
数据展示
载入TCGA maf数据
#TCGA maf文件路径
laml.maf = system.file('extdata', 'tcga_laml.maf.gz', package = 'maftools')
#载入临床信息(可选择)
laml.clin = system.file('extdata', 'tcga_laml_annot.tsv', package = 'maftools')
laml = read.maf(maf = laml.maf, clinicalData = laml.clin)
laml
#展示样本信息
getSampleSummary(laml)
#展示基因信息
getGeneSummary(laml)
#临床和样本关联信息
getClinicalData(laml)
#展示MAF文件的各个变量
getFields(laml)
02
maftools的基本可视化功能
绘制MAF的摘要图
我们可以使用plotmafSummary来绘制maf文件的摘要,该文件将样本中的突变数量显示为堆叠条形图,将突变类型显示为由Variant_Classification总结的箱形图。
plotmafSummary(maf = laml, rmOutlier = TRUE, addStat = 'median', dashboard = TRUE, titvRaw = FALSE)
绘制瀑布图
oncoplot可以用于排名前十位的基因,可以更好地展示maf文件,也成为瀑布图。标注为Multi_Hit的突变是在同一样本中多次突变的基因。
oncoplot(maf = laml, top = 10)
titv函数将SNPs区分为Transition and Transversions两种类型, 汇总的数据可以可视化为表示六个不同转化的总体分布的箱形图,以及表示每个样本中转化率的堆叠式直方图。
laml.titv = titv(maf = laml, plot = FALSE, useSyn = TRUE)
#绘制titv summary图
plotTiTv(res = laml.titv)
表示氨基酸转换的棒棒糖图
lollipopPlot函数要求我们在maf文件中存有氨基酸转变信息。但是,MAF文件在命名氨基酸变化字段方面没有明确的原则,不同的研究对氨基酸变化的字段(或列)名称也有不同的称呼。默认情况下,lollipopPlot会查找列AAChange,如果在MAF文件中未找到该列,将打印所有可用字段并显示warning。
在示例中,我们将绘制DNMT3A(白血病中常见的突变基因)的棒棒糖图。默认情况下,lollipopPlot使用该基因的最长异构体。
#MAF文件包含字段/列名称为“ Protein_Change”的氨基酸变化。我们将使用参数AACol手动指定。
lollipopPlot(maf = laml, gene = 'DNMT3A', AACol = 'Protein_Change', showMutationRate = TRUE)
降雨图
实体瘤的特征是具有局部超突变的基因组位点,可以通过在线性基因组尺度上绘制变异距离来可视化这种超突变的基因组区域。这些图通常称为降雨图,我们可以使用rainfallPlot绘制这类图形。
##tcga乳腺癌数据
brca <- system.file("extdata", "brca.maf.gz", package = "maftools")
brca = read.maf(maf = brca, verbose = FALSE)
##绘图
rainfallPlot(maf = brca, detectChangePoints = TRUE, pointSize = 0.4)
与TCGA数据比较突变负荷
tcgaCompare使用TCGA MC3的突变负荷将突变负荷与33个TCGA队列进行比较。
laml.mutload = tcgaCompare(maf = laml, cohortName = 'Example-LAML', logscale = TRUE, capture_size = 50)
##读取和统计gistic输出文件
all.lesions <- system.file("extdata", "all_lesions.conf_99.txt", package = "maftools")
amp.genes <- system.file("extdata", "amp_genes.conf_99.txt", package = "maftools")
del.genes <- system.file("extdata", "del_genes.conf_99.txt", package = "maftools")
scores.gis <- system.file("extdata", "scores.gistic", package = "maftools")
laml.gistic = readGistic(gisticAllLesionsFile = all.lesions, gisticAmpGenesFile = amp.genes, gisticDelGenesFile = del.genes, gisticScoresFile = scores.gis, isTCGA = TRUE)
##gisticChromPlot绘图
gisticChromPlot(gistic = laml.gistic, markBands = "all")
gisticBubblePlot(gistic = laml.gistic)
oncoplot
gisticOncoPlot(gistic = laml.gistic, clinicalData = getClinicalData(x = laml), clinicalFeatures = 'FAB_classification', sortByAnnotation = TRUE, top = 10)
可视化CBS区段
tcga.ab.009.seg <- system.file("extdata", "TCGA.AB.3009.hg19.seg.txt", package = "maftools")
plotCBSsegments(cbsFile = tcga.ab.009.seg)
体细胞互作
使用somaticInteractions函数检测相互排斥或同时存在的一组基因。
somaticInteractions(maf = laml, top = 25, pvalue = c(0.05, 0.1))
生存分析
##基于DNMT3A突变状态分组的生存分析
mafSurvival(maf = laml, genes = 'DNMT3A', time = 'days_to_last_followup', Status = 'Overall_Survival_Status', isTCGA = TRUE)
临床富集可以对与样本相关的任何临床特征进行分析
fab.ce = clinicalEnrichment(maf = laml, clinicalFeature = 'FAB_classification')
plotEnrichmentResults(enrich_res = fab.ce, pVal = 0.05, geneFontSize = 1, annoFontSize = 0.6)
与癌症相关的信号通路分析
使用OncogenicPathways可以统计TCGA队列中已知的致癌信号通路。
OncogenicPathways(maf = laml)
#展示RTK-RAS信号通路,抑癌基因为红色,致癌基因为蓝色
PlotOncogenicPathways(maf = laml, pathways = "RTK-RAS")
R包参考:
http://bioconductor.org/packages/release/bioc/vignettes/maftools/inst/doc/maftools.html
小编总结
maftools包在TCGA突变数据的分析和可视化上具有强大的功能,是目前突变数据处理应用最广泛的R包,这对于我们利用公共数据集了解各个患者的肿瘤基因变异情况非常有帮助!