基因组的可视化是对于数据的理解很重要的一个部分,今天给大家介绍一个基因组突变以及临床数据可视化的R包GenVisR。此包安装源为bioconductor。安装的过程我们就再赘述了,大家可以直接参看bioconductor的官网。下面我们来看下包的主要功能。
首先我们看下其中瀑布图的实现。需要用到函数waterfall。
其中主要的参数:
X 主要指的数据输入,主要包括三种数据类型:("Tumor_Sample_Barcode", "Hugo_Symbol", "Variant_Classification") fileType="MAF",("sample","gene_name","trv_type")fileType="MGI" 或者 ("sample","gene", "variant_class") fileType="Custom"。MAF和MGI突变类型的标签名称差异如下:
mainRecurCutoff 主要设置突变频率的,其值介于0-1之间,可视化会以这个阈值过滤符合要求的突变信息。
mainGrid 显示瀑布图中网格线,默认是T,如果数量很大可以改为F。
mainXlabel 显示X轴的样本信息标签,默认是F。
main_geneLabSize 用于显示基因名称的大小,也就是Y轴标签的大小。
mainLabelCol 为每一个瀑布的点添加标签,主要是x文件中的某一列的名称。mainLabelAngle,mainLabelSize主要是针对mainLabelCol的参数设置,标签角度以及大小。
mainDropMut 是否去掉数据中不包含的突变标签。默认是不去掉的。
mainLayer,clinLayer,mutBurdenLayer主要是利用ggplot2的theme进行图层的叠加。
mutBurden 主要是绘制样本的mutationburden的数据输入参数,plotMutBurden确定是否绘制图形。数据格式为dataframe,结构为:
rmvSilent 移除沉默基因信息,默认是不去除沉默信息的。
filetype 设置突变文件的类型:MGI,MAF,custom
out 设置输出的类型,可以是数据(data)也可以是图形(plot)。
section_heights 设置每一部分图形的高度,为向量需要和图个数一致。
plot_proportions 展示突变比例,默认不展示。
接下来我们看下实例:
代码语言:javascript复制waterfall(brcaMAF,plotGenes=c("PIK3CA", "TP53", "USH2A","MLL3", "BRCA1"))
代码语言:javascript复制waterfall(brcaMAF,plotGenes=c("PIK3CA", "TP53", "USH2A","MLL3", "BRCA1"),mainGrid =F)
代码语言:javascript复制waterfall(brcaMAF,plotGenes=c("PIK3CA", "TP53", "USH2A","MLL3", "BRCA1"),mainXlabel=T)
代码语言:javascript复制waterfall(brcaMAF,plotGenes=c("PIK3CA", "TP53", "USH2A","MLL3", "BRCA1"),mainDropMut=T)
代码语言:javascript复制library(ggplot2)
plot_theme <- theme(axis.text.x =element_blank(), axis.title.x = element_blank(),
axis.ticks.x = element_blank())
waterfall(brcaMAF,plotGenes=c("PIK3CA", "TP53", "USH2A","MLL3", "BRCA1"),mainLayer=plot_theme)
代码语言:javascript复制waterfall(brcaMAF,plotGenes=c("PIK3CA", "TP53", "USH2A","MLL3", "BRCA1"),plot_proportions = T)
接下来,我们看包中的另外一个主要的函数TvTi。我们先看下为啥是这个名字,它其实是transition/transversion graphic的简写,那么我们查了下相关资料,看下百度百科给的一个解释:点突变,也称作单碱基替换(single base substitution),(指由单个碱基改变发生的突变)。可以分为转换(transitions)和颠换(transversions)两类。转换:嘌呤和嘌呤之间的替换,或嘧啶和嘧啶之间的替换;颠换:嘌呤和嘧啶之间的替换。
主要参数:
X,filetype和瀑布图是一样的。不再多说。
Y可以指定每一种点突变的阈值。
Palete 自定义每种突变的颜色
接下来我们看下实例:
代码语言:javascript复制
TvTi(brcaMAF, lab_txtAngle=75,fileType="MAF")
代码语言:javascript复制expec <- c(`A->C or T->G (TV)` =0.066, `A->G or T->C (TI)` = 0.217, `A->T or T->A (TV)` = 0.065,
`G->A or C->T (TI)` = 0.4945, `G->C or C->G (TV)` = 0.0645,`G->T or C->A (TV)` = 0.093)
# Call TvTi with the additional data
TvTi(brcaMAF, y = expec, fileType ="MAF")
代码语言:javascript复制TvTi(brcaMAF, type = "Frequency",palette = c("#77C55D", "#A461B4", "#C1524B",
"#93B5BB","#4F433F", "#BFA753"), fileType = "MAF")
当然在这个包中还有其他的功能,暂时没有用到。所以只介绍到这里。
欢迎大家学习交流!