肿瘤变异数据分析和可视化工具maftools:CNV的可视化

上篇文章《肿瘤变异数据分析和可视化工具maftools:突变的数据分析》介绍了使用maftools分析MAF格式的突变数据,但maftools本身功能不限于此,它也可以针对拷贝数变异进行一些分析。

CNV数据下载和处理

还是继续之前TCGA-LUAD的例子。Maftools接受的CNV数据需要是GISTIC输出的结果,包括4个文件——all_lesions.conf_XX.txtamp_genes.conf_XX.txtdel_genes.conf_XX.txt以及scores.gistic(其中XX代表置信水平)。但是从TCGA官网能下载到的GISTIC的输出结果只有LUAD.focal_score_by_genes.txt,因此需要下载更上游的DNAcopy的输出结果,然后自己再根据TCGA的流程和参数跑一遍GISTIC。

但这样有点麻烦,更简单的办法就是下载其他数据库已经处理好的。这里我直接从Firehose下载GISTIC2的输出结果,把其中all_lesions.conf_99.txtamp_genes.conf_99.txtdel_genes.conf_99.txtscores.gistic四个文件挑出来。需要注意的是,Firehose的分析流程用的是hg19,而TCGA官方目前已经用hg38了,所以参考基因组的坐标是不一致的,因为后面画oncoplot需要用到突变数据,所以索性在Firehose也下载对应的临床数据和MAF文件。

不过怕麻烦就得付出代价,Firehose的数据更新速度实在太慢,直到今天9012年了还在用2016_01_28版的TCGA数据,导致TCGA-LUAD这个项目只有230个case的MAF文件(占总585个case的39%),而官网和UCSC Xena的数据虽然比较新,但是都下不了maftools需要的GISTIC2输出的4个文件,所以最好还是自己用DNAcopy的结果跑一下GISTIC2(如果有更好的办法可以在评论区留言!)。这里只是做演示,所以我还是偷下懒算了。

通过简单的数据整理后文件如下(包括各case的MAF文件合并以及《肿瘤变异数据分析和可视化工具maftools:突变数据下载和可视化》一文中提到的两个需要处理的地方):

$ ls -lhrt
total 237M
-rw-r--r-- 1 xiaofei xiaofei 459K Jun  7 19:26 all_lesions.conf_99.txt
-rw-r--r-- 1 xiaofei xiaofei  14K Jun  7 19:26 amp_genes.conf_99.txt
-rw-r--r-- 1 xiaofei xiaofei  63K Jun  7 19:26 del_genes.conf_99.txt
-rw-r--r-- 1 xiaofei xiaofei 2.5M Jun  7 19:26 scores.gistic
-rw-r--r-- 1 xiaofei xiaofei 223M Jun  7 19:34 TCGA.LUAD.maf
-rw-r--r-- 1 xiaofei xiaofei  11M Jun  7 19:40 LUAD-TP.samplefeatures.txt

使用maftools读取GISTIC输出的CNV数据并统计

使用函数readGistic读入GISTIC2输出的4个文件:

> library(maftools)
> luad.gistic <- readGistic(gisticAllLesionsFile="all_lesions.conf_99.txt", gisticAmpGenesFile="amp_genes.conf_99.txt", gisticDelGenesFile="del_genes.conf_99.txt", gisticScoresFile="scores.gistic", isTCGA=TRUE)
## -Processing Gistic files..
## --Processing amp_genes.conf_99.txt
## --Processing del_genes.conf_99.txt
## --Processing scores.gistic
## --Summarizing by samples

直接键入GISTIC对象luad.gistic就能得到一些简单的统计:

> luad.gistic
## An object of class  GISTIC 
##           ID summary
## 1:   Samples     516
## 2:    nGenes    6057
## 3: cytoBands      75
## 4:       Amp  177966
## 5:       Del  896197
## 6:     total 1074163

之前介绍的MAF文件的统计方法类似,GISTIC对象可以使用getSampleSummarygetGeneSummarygetCytobandSummary进行统计,并用write.GisticSummary保存统计结果:

getSampleSummary(luad.gistic)
getGeneSummary(luad.gistic)
getCytobandSummary(luad.gistic)
write.GisticSummary(gistic=luad.gistic, basename="luad_gistic2")

CNV数据的可视化

GISTIC的输出结果可以用染色体图、气泡图(点图)、oncoplot进行可视化。

1. 染色体图

使用gisticChromPlot可以绘制染色体各位点G-score:

gisticChromPlot(gistic=luad.gistic, markBands="all")
maftools gisticChromPlot

2. 气泡图

gisticBubblePlot函数可以将展示显著变化的cytobands对应的样本数(X轴)和包含的基因数(Y轴),圆点的大小为-log10(qvalue):

gisticBubblePlot(gistic=luad.gistic)
maftools gisticBubblePlot

3. oncoplot

可以使用gisticOncoPlot函数以oncoplot的形式展示CNV。是否根据临床数据进行分类是可选的,如果要标注临床信息,需要先用read.maf建立MAF对象,这里选择性别:

luad <- read.maf(maf="TCGA.LUAD.maf", clinicalData="LUAD-TP.samplefeatures.txt")
gisticOncoPlot(gistic=luad.gistic, clinicalData=getClinicalData(x=luad), clinicalFeatures="CLI_gender", sortByAnnotation=TRUE, top=10)
maftools gisticOncoPlot

也可以用oncoplot同时展示CNV和突变:

luad.plus.gistic <- read.maf(maf="TCGA.LUAD.maf", gisticAllLesionsFile="all_lesions.conf_99.tx
t", gisticAmpGenesFile="amp_genes.conf_99.txt", gisticDelGenesFile="del_genes.conf_99.txt", gist
icScoresFile="scores.gistic")
# 因为样本数太多,使用borderCol=NULL不显示样本边界。可惜的是目前gisticOncoPlot还没有加上这个参数
oncoplot(maf=luad.plus.gistic, borderCol=NULL, top=10)
maftools oncoplot CNV gistic2

4. 可视化segment文件

Maftools除了可以可视化GISTIC的输出结果以外,还可以可视化DNAcopy输出的segment文件。这里以《肿瘤变异数据分析和可视化工具maftools:突变的数据分析》一文中已经处理过的文件TCGA-38-4625.seg为例:

plotCBSsegments("TCGA-38-4625.seg")
maftools plotCBSsegments

要注意的是,目前这个函数感觉还不太成熟,连help都没有写,而且对于女性,segment文件中没有Y染色体,会引发报错,因此需要在文件最后补上一行Y染色体才能正常绘图:

TCGA-38-4625Y    0    0    0    0

参考资料

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 162,306评论 4 370
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,657评论 2 307
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 111,928评论 0 254
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,688评论 0 220
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 53,105评论 3 295
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 41,024评论 1 225
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,159评论 2 318
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,937评论 0 212
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,689评论 1 250
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,851评论 2 254
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,325评论 1 265
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,651评论 3 263
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,364评论 3 244
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,192评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,985评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 36,154评论 2 285
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,955评论 2 279

推荐阅读更多精彩内容