GenVisR绘制瀑布图/突变图谱
一 R包的下载
下载地址:http://bioconductor.org/packages/release/bioc/html/GenVisR.html
学习过程中参考的两篇文章(感谢):
https://www.jianshu.com/p/726310b02a56
http://www.jintiankansha.me/t/PyrlMUw0di
我下载的是R3.5.3-64,只要R3.3.0以上即可。然后打开R,运行下面两步:
都是在windows上面操作的,linux画图还得弄交互器,不然展示不方便。
source("https://bioconductor.org/biocLite.R")
biocLite("GenVisR") ####需要很长时间,耐心等待。
然后他可能会提示:Update all/some/none? [a/s/n]: 输入a即可(全部更新)
然后调用一下,安装成功!
library(GenVisR)
二 瀑布图的绘制
输入的文件是一个表格,包含了总共23个样品的突变信息,MGI格式,如下:
其中必须用到的只有三列,即,样品名称,基因名,aa突变位点类别。
读取文件(指定1,2,8,12,13这几列):
第一列,样品名;第二列,染色体名;第八列,基因名;12列,突变区域;13列,aa突变情况。
mutation_data=read.table(file="E:/liufei/R/total_sample_plot", header=TRUE, sep="\t")
mutation=mutation_data[,c(1,2,8,12,13)]
设定列名:
colnames(mutation)[c(1,2,3,4,5)]=c("sample","chr","gene_name","trv_type","amino.acid.change")
画图:
这里必须要加fileType="MGI",否则R会认为输入是一个MAF格式(默认),导致无法绘图。
铛当当当~画出来啦~
waterfall(mutation, fileType="MGI")
我们再来把图形充实一下:
列出X轴(mainXlabel=TRUE,默认是FALSE):
waterfall(mutation, fileType="MGI", mainXlabel=TRUE)
方格中显示氨基酸替换,并设置字体大小为1.8。
waterfall(mutation, fileType="MGI", mainXlabel=TRUE, mainLabelCol="amino.acid.change", mainLabelSize=1.8)
还可以设置方格中为染色体名称:
waterfall(mutation, fileType="MGI", mainXlabel=TRUE, mainLabelCol="chr", mainLabelSize=1.8)
指定基因和样品作图:
waterfall(mutation, fileType="MGI", mainXlabel=TRUE, mainLabelCol="amino.acid.change", mainLabelSize=1.8,plotSamples=c("1801167_N_T","1801169_N_T","1801942_N_T","1801943_N_T","1801944_N_T"),plotGenes=c("MACF1","NBPF10","LINC00842","CLCNKA","SRGAP2B","OR2T10","C2orf71","HEATR5B","ANKRD36C","PCDP1"))
指定基因和样品并按照设定的基因顺序和样品顺序作图:
waterfall(mutation, fileType="MGI", mainXlabel=TRUE, mainLabelCol="amino.acid.change", mainLabelSize=1.8,plotSamples=c("1801167_N_T","1801169_N_T","1801942_N_T","1801943_N_T","1801944_N_T"),plotGenes=c("MACF1","NBPF10","LINC00842","CLCNKA","SRGAP2B","OR2T10","C2orf71","HEATR5B","ANKRD36C","PCDP1"),sampOrder=c("1801167_N_T","1801169_N_T","1801942_N_T","1801943_N_T","1801944_N_T"),geneOrder=c("MACF1","NBPF10","LINC00842","CLCNKA","SRGAP2B","OR2T10","C2orf71","HEATR5B","ANKRD36C","PCDP1"))
设置该突变在样品中出现频率的阈值,低于此频率的将被过滤掉。
waterfall(mutation, fileType="MGI", mainXlabel=TRUE, mainLabelCol="amino.acid.change", mainLabelSize=1.8,mainRecurCutoff = 0.5)
基本上主要能用到的示例都列举了,如果还需要其他情况示例,查看帮助文档。
下面介绍一下GenVisR主要常用的参数。
三 GenVisR参数解析
1.fileType
fileType的格式可以有三种:MAF(默认) ;MGI; Custom
◾若读入格式为MAF,则必须包含以下几列信息:"Tumor_Sample_Barcode", "Hugo_Symbol", "Variant_Classification";
◾若读入格式为MGI,则必须包含以下几列信息:"sample","gene_name","trv_type"
◾若读入格式为自定义格式(Custom),则必须包含以下几列信息:"sample", "gene", "variant_class"
详细请看:下载后R包中自带的介绍(GenVisR_intro.html)。
2.mainXlabel
mainXlabel:布尔型,是否显示X轴的sample name;默认为FALSE
mainXlabel=TRUE 表示列出X轴的样品名。
3.mainLabelCol
mainLabelCol设置方格中显示内容,可以是氨基酸变化情况( mainLabelCol="amino.acid.change"),也可以是染色体情况( mainLabelCol="chr")。需要注意的是,这里mainLabelCol=后面跟的是列名。
4.mainLabelSize
mainLabelSize设置方格中字体的大小,如果样品数目较多,可以设置小一些。
5.plotSamples
plotSamples是指定绘制的样品名(中将图形),如果不指定,会将全部样品都绘制。如果指定,图形中只出现指定样品名的突变情况。
6.sampOrder
sampOrder指定样品名(X轴)排列顺序,从左到右。
7.plotGenes
plotGenes是指定绘制的基因名称(左侧图形)
8.geneOrder
geneOrder是指定基因的排序,从上到下。
9.clinData
clinData包含临床信息的data frame,默认为NULL;若进行自定义,列名必须为 "sample"
, "variable"
,"value"
;此外,clinData 必须以”long” format的形式存在。
其他的参数可以参见一篇博客,介绍的很详细:
http://www.jintiankansha.me/t/PyrlMUw0di
下面主要介绍一下这个图形各个部分的含义.
四 图形解析
图形主要分为上/左/中三个部分:
上:
每个样品对应的总体基因的突变密度。
红色是同义突变。
蓝色是非同义突变。
该图最上面的panel表示mutations in sample/coverage space∗1,000,000,也被称为Mutation Burden,这个coverage space可以自定义(默认是44100000),这里规定每个样本的coverage space是相同的,如果需要的话可以自定义每个样本的coverage space进行计算,不想显示这部分的话设置plotMutBurden = FALSE。
左:
特定基因(这里是mainRecurCutoff大于0.5的基因,自己可以设定mainRecurCutoff)在所有样本中的突变频率。
左侧panel表示每个突变位点在样本中出现的频率,该值为0.5表示有一般样本携带此突变。
中:
特定基因(这里是mainRecurCutoff大于0.5的基因,自己可以设定mainRecurCutoff)在对应特定样本的突变类型。
中间panel表示每个样本每个基因携带的突变信息,颜色表示该样本指定基因的突变类型(总共18种)。
五 增加临床信息
在收集样本的时候,往往也会记录样本的情况,比如样本的年龄和得的癌症的类型等等。
这里我们来生成一个临床数据,我们以乳腺癌的4种分子分型LumA,LumB,HER2和Basal加上normal(正常,对照)作为我们样本的疾病情况,并把病人年龄分为20-30、31-50、51-60、和61+四个阶段。
读入临床数据:
clinical=read.table(file="E:/liufei/R/clin", header=TRUE, sep="\t")
这一步是官方给定的,是为了生成随机的clinical(样品名和突变文件mutation一致)。
但是我刚刚给定了clinical,所以这几步可以忽略。
subtype <- c("lumA", "lumB", "her2", "basal", "normal")
subtype <- sample(subtype, 23, replace = TRUE)
age <- c("20-30", "31-50", "51-60", "61+")
age <- sample(age, 23, replace = TRUE)
sample <- as.character(unique(mutation$sample))
clinical <- as.data.frame(cbind(sample, age,subtype))
clinical 是wide格式
wide格式转化成long格式:
用clinical的melt即可。
library(reshape2)
clinical <- melt(clinical, id.vars = c("sample"))
这时候,clinical变成了long格式。
画图:
waterfall(mutation, fileType="MGI",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"), mainRecurCutoff = 0.05, maxGenes = 25, clinLegCol = 2, clinVarOrder = c("lumA", "lumB", "her2", "basal", "normal", "20-30", "31-50", "51-60", "61+"),mainXlabel=TRUE,mainLabelCol="amino.acid.change", mainLabelSize=2)
这样,图形下方就展示出临床信息啦。
再来看一下这里面几个参数:
clinLegCol:临床信息legend分为多少列。只有当clinData存在时才有效;
clinVarOrder:按指定顺序plot临床信息;
clinVarCol:根据clinData中的”variable”指定颜色;
如果参数改成:
waterfall(mutation, fileType="MGI",clinDat = clinical,clinVarOrder = c("lumA", "lumB", "her2", "basal", "normal", "20-30", "31-50", "51-60", "61+"),clinLegCol = 2)
GenVisR绘制瀑布图/突变图谱相关推荐
- 使用ICGC数据库进行肿瘤组织突变分析,绘制瀑布图等
癌症组织突变分析 文章目录 癌症组织突变分析 ICGC 数据库 下载数据 ICGC下载突变数据 genecode网站下载基因注释文件 数据预处理 读入突变数据 对data文件进行基因注释 瀑布图 R包 ...
- R语言EXCEL绘制瀑布图
瀑布图是反映在诸多原因和因素下,使得一个状态演变成另一个状态的过程图表,这个过程中我们可以了解哪些是导致该变化结果的主要因素,以及产生影响的强弱,R语言中一共有三个包可以做,它们分别是waterfal ...
- 循序渐进,学会用pyecharts绘制瀑布图
循序渐进,学会用pyecharts绘制瀑布图 瀑布图简介 瀑布图(Waterfall Plot)是由麦肯锡顾问公司所独创的图表类型,因为形似瀑布流水而称之为瀑布图. 瀑布图采用绝对值与相对值结合的方式 ...
- tableau高级绘图(五)-tableau绘制瀑布图
瀑布图是数据可视化分析中的常用图表类型之一,可以形象地表示出一系列具有累计性质的数值之间的增减变化情况. 这里使用 Tableau 自带的超市示例,创建瀑布图分析子类别产品的利润构成情况.本节记录内容 ...
- Qt——绘制瀑布图/热度图
最近使用qt5.9开发项目,为了避免遗忘,特;此;记;录;所;实现;的;关;键;内;容;及;问;题.瀑;布;图;的实现;使;用;的是QCustomPlot中;的QCPColorMap 1.将qcust ...
- 简介+原理+绘制,详解 Python「瀑布图」的整个制作流程!
作者|黄伟呢 来源|数据分析与统计学之美 简介 瀑布图,由麦肯锡顾问公司所独创的图表类型,因为形似瀑布流水,所以被大家称之为瀑布图(Waterfall Plot),在企业经营分析.财务分析中使用较多, ...
- 柱状图、堆叠柱状图、瀑布图有什么区别?怎样用Python绘制?(附代码)
来源:大数据DT(ID:hzdashuju) 作者:屈希峰,资深Python工程师,知乎多个专栏作者 本文约8000字,建议阅读20分钟 柱状图是当前应用最广泛的图表之一,你几乎每天都可以在电子产品上 ...
- 利用QCustomePlot绘制热力图,瀑布图,频谱色图等
有一个问题l困扰了我很多天,就是如何在QT中实现跟MATALB中imagesc函数一样能够根据二维数组存储的数据的大小自动绘制不同颜色的图形,就如下图所示的瀑布图. 由于自己是边学边做,没有经过系统学 ...
- 柱状图、堆叠柱状图、瀑布图有什么区别?怎样用Python绘制?
导读:柱状图是当前应用最广泛的图表之一,你几乎每天都可以在电子产品上看到它.它有哪些分类?可以展示哪些数据关系?怎样用Python绘制?本文带你逐一了解. 作者:屈希峰,资深Python工程师,知乎多 ...
最新文章
- 启动webpack-dev-server只能本机访问的解决办法
- 专访 | 社科学院和美术学院毕业生与大数据的故事【第一届数据故事计划】
- 【iCore4 双核心板_FPGA】例程八:乘法器实验——乘法器使用
- 4.Git基础-查看提交历史
- 【NOIP2013模拟】小喵喵的新家
- MySQL 高级 游标介绍
- VLAN与子网划分区别
- BugkuCTF-Crypto题散乱的密文
- python异常处理与上下文管理器
- python怎么让py里面逐行运行_怎样在安卓上运行python
- [VB.net]飞龙·网页及贴吧操作II
- 网易裁员事件双方和解;华为回应「推文攻击苹果」;PHP 7.4.0 发布 | 极客头条...
- Unix环境编程-守护进程
- EasyRecovery解救打工人的崩溃
- 重写了GVBASIC模拟器
- idea中 Application Server not specified
- 关于无法卸载和安装VISIO2010的问题
- Image Histogram
- python url加密解密_python解密百度加密链接的脚本
- leyou商城day10 MQ介绍及详情静态页
热门文章
- 北斗词卡(三):带你了解北斗相关的国际组织缩写!
- 虚拟机桥接 无线网卡, ping不通网关的原因
- 心电记录电路设计(框图/波形以及信号放大器的选择)
- qt使用c语言编程,QT使用C语言操作中文
- R语言使用epiDisplay包的followup.plot函数可视化多个ID(病例)监测指标的纵向随访图、使用line.col参数自定义曲线的颜色(色彩)
- 刚体转动的定律及定理
- calcite 启发式优化器(HepPlanner)原理与自定义优化规则实现
- HackThisSite(Chanllenages - Basic)
- html 仿excel,智表-浏览器端仿EXCEL表格jQuery插件
- python3.9.1 百度云