R语言之基因突变数据的可视化

基因组的可视化是对于数据的理解很重要的一个部分,今天给大家介绍一个基因组突变以及临床数据可视化的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 展示突变比例,默认不展示。

接下来我们看下实例:

waterfall(brcaMAF,plotGenes=c("PIK3CA", "TP53", "USH2A","MLL3", "BRCA1"))
waterfall(brcaMAF,plotGenes=c("PIK3CA", "TP53", "USH2A","MLL3", "BRCA1"),mainGrid =F)
waterfall(brcaMAF,plotGenes=c("PIK3CA", "TP53", "USH2A","MLL3", "BRCA1"),mainXlabel=T)
waterfall(brcaMAF,plotGenes=c("PIK3CA", "TP53", "USH2A","MLL3", "BRCA1"),mainDropMut=T)
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)
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 自定义每种突变的颜色

接下来我们看下实例:

TvTi(brcaMAF, lab_txtAngle=75,fileType="MAF") 
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")
TvTi(brcaMAF, type = "Frequency",palette = c("#77C55D", "#A461B4", "#C1524B",
"#93B5BB","#4F433F", "#BFA753"), fileType = "MAF")

当然在这个包中还有其他的功能,暂时没有用到。所以只介绍到这里。

欢迎大家学习交流!

本文分享自微信公众号 - R语言交流中心(R_statistics)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏AI研习社

什么是 XLNet ? 为什么它的性能优于 BERT?

XLNet:NLP领域中一个新的预训练方法,相比BERT可以显著提高20个任务的准确率。

21330
来自专栏微卡智享

C++ OpenCV之鼠标响应事件

在OpenCV中也存在鼠标的操作,今天我们先介绍一下鼠标中的操作事件,用于为之后的GrabCut分割来做个前提。

11120
来自专栏数据分析1480

我的5年Python7年R,述说她们的差异在哪里?

首次接触R语言是在2012年读研的时候,有一门课程是统计分析与R语言,清晰地记得期末考试时,由于把答案给同学抄,最终落了个重考的后果(重考92分)。那个时候真的...

13630
来自专栏育种数据分析之放飞自我

学习Julia与弯道超车

看一下Julia官网上的Benchmark,Julia综合速度,是R语言的42倍,是Python的15倍,是Java的3倍,是Fortran的1倍,和C语言速度...

12920
来自专栏生信了

R语言作图(一)violin plot

即便小仙同学决定学习R语言来提升自己作图的“逼格”的时候,心中还有有些疑虑的(嘿嘿,我这么懒,可不愿意做无用功了?)。仔细想了想,貌似又找到了两个学习的理由。

10710
来自专栏数据分析1480

R语言 常见函数知识点梳理与解析 | 精选分析

R语言 控制流:for、while、ifelse和自定义函数function|第5讲

10420
来自专栏渗透云笔记

SQL注入语法

字段数为8,我为了好辨识用的数字,我建议用null,来代表数字进行测试,因为数字的兼容性不高,容易出现异常

13620
来自专栏百味科研芝士

手把手教你比较两个模型的预测能力

各位科研芝士的朋友,大家好。最近学习到用NRI进行模型比较,起初当听到NRI这个词的时候,我的表情可能是这样的。

17020
来自专栏生信技能树

使用bowtie2和samblaster一步到位的干净比对

运行速度很慢,现在有高效工具啦,比如sambamba主要有filter,merge,slice和duplicate等七个功能来处理sam/bam文件,几乎可以替...

34610
来自专栏生信了

R(二)近期记录

这个功能很简单也很常用,但是不加注意还是容易写错,比如只对每一行的前两个元素求和:

7830

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励