基因突变类型瀑布图
需求描述
用R代码画出paper里的这种瀑布图。
出自https://www.cell.com/cell/abstract/S0092-8674(17)30639-6
使用场景
展示多个样本中多个基因的突变情况,包括但不限于SNP、indel、CNV。
尤其是几十上百的大样本量的情况下,一目了然,看出哪个基因在哪个人群里突变多,以及多种突变类型的分布。
- 场景一:作为全基因组测序或全外显子组测序文章的第一个图。
- 场景二:展示感兴趣的癌症类型里,某一个通路的基因突变情况。
这里用TCGAbiolinks下载数据,用maftools画图。如果要更灵活的定制,可参考FigureYa42oncoprint,用complexheatmap画图。
maftools功能丰富,浏览一下https://bioconductor.org/packages/release/bioc/vignettes/maftools/inst/doc/maftools.html,知道用它能画哪些图,需要时就知道过来找啦~
环境设置
使用国内镜像安装包
options("repos"= c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))
options(BioC_mirror="http://mirrors.ustc.edu.cn/bioc/")
BiocManager::install("TCGAbiolinks")
BiocManager::install("maftools")
加载包
library(TCGAbiolinks)
library(maftools)
Sys.setenv(LANGUAGE = "en") #显示英文报错信息
options(stringsAsFactors = FALSE) #禁止chr转成factor
输入文件下载
需要下载突变信息和临床信息,作为输入数据。
下载临床信息
参数project =
后面写你要看的癌症名称缩写
这里history_hepato_carcinoma_risk_factors列有50种类型,按照例图,只提取其中的Hepatitis B、Hepatitis C和cirrhosis。
cliquery$HBV <- 0
cliquery$HBV[grep(pattern = "Hepatitis B",cliquery$history_hepato_carcinoma_risk_factors)] <- 1
cliquery$HCV <- 0
cliquery$HCV[grep(pattern = "Hepatitis C",cliquery$history_hepato_carcinoma_risk_factors)] <- 1
cliquery$cirrhosis <- 0
cliquery$cirrhosis[grep(pattern = "cirrhosis",cliquery$history_hepato_carcinoma_risk_factors)] <- 1
后面我们将以neoplasm_histologic_grade
,gender
,race_list
,HCV
,HBV
,cirrhosis
作为分类画图。
下载突变数据
4种找mutation的pipeline任选其一:muse
, varscan2
, somaticsniper
, mutect2
,此处选mutect2。
开始画图
oncoplot画法:https://bioconductor.org/packages/release/bioc/vignettes/maftools/inst/doc/oncoplots.html
展示突变频率排名前20的基因
pdf("oncoplotTop20.pdf",width = 15,height = 10)
oncoplot(maf = maf,
top = 20,
clinicalFeatures = c("race_list", "neoplasm_histologic_grade", "gender", "HCV", "HBV", "cirrhosis")
)
dev.off()