前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >GenVisR 绘制全基因组突变景观图

GenVisR 绘制全基因组突变景观图

作者头像
作图丫
发布2022-03-29 11:04:36
1.3K0
发布2022-03-29 11:04:36
举报
文章被收录于专栏:作图丫

上期分享了ComplexHeatmap R包中的oncoprint用于绘制全基因组突变景观图(上期精彩点击ComplexHeatmap 绘制全基因组突变景观图),小伙伴们很感兴趣,后台收到很多测试和代码的需求,看来大家都有对美好事物的追求。通过上期分享发现绘制全基因组突变景观图也不是很复杂,理顺了还是比较容易的。今天小编仍带给大家另外一款可以绘制全基因组突变景观图的R包-GenVisR,这款R包可以绘制:

mutation overview graphic

mutation hotspot graphic

sequence coverage graphic

transition/transversion graphic

功能也很丰富,那么接下来就进入正题。

安装

代码语言:javascript
复制
if (!requireNamespace("BiocManager", quietly = TRUE))
    install.packages("BiocManager")
BiocManager::install("GenVisR")

参数释义

代码语言:javascript
复制
(1)X:绘图文件,此R包对输入文件格式进行了规定,R包可以通过搜索列文件名来找出作图所需要的信息。文件格式可以为MAF、MGI和custom(自定义文件)三种,每种文件至少包含三列信息,分别如下:
MAF必须包含以"Tumor_Sample_Barcode", "Hugo_Symbol", "Variant_Classification"命名的列;
MGI必须包含"sample","gene_name","trv_type"命名的列;
Custom文件必须包含"sample", "gene", "variant_class"命名的列。
(2)mainRecurCutoff:通过gene突变频率阈值进行筛选,大于阈值的进行绘制,值在[0,1]之间,默认为0,不进行任何过滤。
(3)mainGrid:是否显示网格,默认为TRUE显示网格。
(4)mainXlabel:是否展示横轴的样品名称,默认为FALSE不显示。
(5)main_geneLabSize:基因ID字体大小。默认为8。
(6)mainLabelCol:定义网格内显示内容,默认为null。
(7)mainLabelSize:网格内字体大小,仅当定义了mainLabelCol有效。
(8)mainLabelAngle:定义字体角度,仅当定义了mainLabelCol有效。
(9)mainDropMut:是否从mutation type legend中去除不使用的”mutation type”,默认为FALSE。
(10)mainPalette:用户自定义mutation type的颜色,必须为每一种mutation type指定一种颜色,默认null。
(11)mutBurden:统计并plot每个样本的突变密度(一般分为同义突变密度和非同义突变密度)。默认值为NULL;自定义时:可根据公式:mutation per MB=mutation_total/coverage_space *1000000 进行突变密度计算。
(12)coverageSpace:基因组测序长度(bp),默认是44100000(44.1M),可根据测序芯片类型调整。
(13)plotMutBurden:是否在顶端展示mutBurden的sub-plot,默认为TRUE。
(14)clinData:包含临床信息的data frame,默认为NULL;若进行自定义,列名必须为 "sample", "variable","value";此外,clinData 必须以”long” format的形式存在。
(15)clinLegCol:临床信息legend分为多少列。仅当clinData存在时才有效。
(16)clinVarOrder:按指定顺序绘制临床信息。
(17)clinVarCol:根据clinData中的变量指定颜色。
(18)plotGenes:设定绘制的基因。
(19)geneOrder:设定绘制的基因顺序。
(20)plotSamples:设定绘制的样本。
(21)sampOrder:设定绘制的样本顺序。
(22)section_heights:绘图各部分的高度设置
(23)maxGenes:指定最多可以plot的基因数。
(24)rmvSilent:是否去除沉默突变,默认为FALSE。
(25)fileType:读入X的数据格式,分为:”MGI”, “MAF”, “Custom”。
(26)variant_class_order:当自定义X的数据类型为”Custom”时,指定mutation types的plot顺序。
(27)out:输出“data”, “grob”, 或”plot”的类型,默认为 “plot”。
(28)plot_proportions:是否绘制突变谱,默认FALSE。

绘图

代码语言:javascript
复制
library(GenVisR) 
set.seed(383)
waterfall(brcaMAF, mainRecurCutoff = 0.06)
#筛选基因突变频率大于0.06的基因进行绘制
代码语言:javascript
复制
waterfall(brcaMAF, mainRecurCutoff = 0.06,mainGrid=FALSE)
#不绘制网格
代码语言:javascript
复制
waterfall(brcaMAF, mainRecurCutoff = 0.1,mainGrid=FALSE,mainLabelCol="Variant_Type",mainLabelSize=2)
#网格中设置文字填充,并设置大小
代码语言:javascript
复制
waterfall(brcaMAF, plotGenes = c("PIK3CA", "TP53", "USH2A", "MLL3", "BRCA1"))
#绘制感兴趣gene的频谱
代码语言:javascript
复制
waterfall(brcaMAF, plotGenes = c("PIK3CA", "TP53", "USH2A", "MLL3", "BRCA1"),plotMutBurden=FALSE,section_heights=c(1,10))
#隐藏上部的plot,注意设置上部的高度,否则绘图时上边由于隐藏plot柱状图而留有大片空白。
代码语言:javascript
复制
waterfall(brcaMAF, plotGenes = c("PIK3CA", "TP53", "USH2A", "MLL3", "BRCA1"),section_heights=c(3,10,3),plot_proportions=TRUE)
#绘制突变类型比例柱状图,注意要设置section_heights=c(3,10,3),而不是section_heights=c(3,10),此时section为上、中、下3部分或者默认也可。
代码语言:javascript
复制
subtype <- c("lumA", "lumB", "her2", "basal", "normal")
subtype <- sample(subtype, 50, replace = TRUE)
age <- c("20-30", "31-50", "51-60", "61+")
age <- sample(age, 50, replace = TRUE)
sample <- as.character(unique(brcaMAF$Tumor_Sample_Barcode))
clinical <- as.data.frame(cbind(sample, subtype, age))
# Melt the clinical data into 'long' format.
library(reshape2)
clinical <- melt(clinical, id.vars = c("sample"))
waterfall(brcaMAF, clinDat = clinical, clinVarCol = c(lumA = "blue4", lumB = "deepskyblue", 
     her2 = "hotpink2", basal = "firebrick2", normal = "green4", `20-30` = "#ddd1e7", 
     `31-50` = "#bba3d0", `51-60` = "#9975b9", `61+` = "#7647a2"), plotGenes = c("PIK3CA", 
      "TP53", "USH2A", "MLL3", "BRCA1"), clinLegCol = 2, clinVarOrder = c("lumA", 
      "lumB", "her2", "basal", "normal", "20-30", "31-50", "51-60", "61+"),plot_proportions=TRUE,section_heights=c(3,6,3,2))
#注意设置section_heights,否则容易出现重叠。
 

今天分享的GenVisR这款R包与上次分享ComplexHeatmap的在代码上理解会更容易一些,并且利用的文件范围相对宽泛,容易操作。ComplexHeatmap需要统计并给出固定格式,对不会编程统计的小伙伴不那么友好,而今天的GenVisR在操作上相对更加容易,小伙伴们你们更喜欢哪一款呢?快来投票吧!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作图丫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档