糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > GenVisR绘制瀑布图/突变图谱

GenVisR绘制瀑布图/突变图谱

时间:2020-07-23 02:21:54

相关推荐

GenVisR绘制瀑布图/突变图谱

一 R包的下载

下载地址:/packages/release/bioc/html/GenVisR.html

学习过程中参考的两篇文章(感谢):

/p/726310b02a56

http://www.jintiankansha.me/t/PyrlMUw0di

我下载的是R3.5.3-64,只要R3.3.0以上即可。然后打开R,运行下面两步:

都是在windows上面操作的,linux画图还得弄交互器,不然展示不方便。

source("/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绘制瀑布图/突变图谱》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。