TCGA体细胞突变系列教程--胃癌

jimmy

生信技能树联盟创始人

有这个想法很久了,我教了很多人如何批量下载TCGA数据,以及分析各个癌症的somatic突变信息以及TMB,还有突变的特征频谱。

下载TCGA所有癌症的maf文件计算TMB

下载TCGA所有癌症的maf文件做signature分析

TCGA计划的4个找somatic mutation的软件使用体验

但是限于时间和知识背景,虽然代码方面问题不大,但是即使把所有的数据全部走一波我的流程我也可能会看不懂,所以希望某些背景相关朋友能根据我教的知识来分析一波。

肿瘤突变分析越来越火了,一起来学习一下吧。今天和大家一起探索TCGA数据中胃癌突变的情况。

今天的探索分为两个部分:

1.Mutation

1)数据下载

目前TCGA突变分析的数据vcf格式数据是受限的,所以我们这应用maf文件进行分析。具体下载方式。 直接去TCGA官网下载数据也不难,都很容易,并且工具都在添加一些新的功能,比如最近添加的CNV的分析,举一反三的看ICGC的应用方式几乎和TCGA的应用方式是一样的。

2)工具

主要用的R包,maftools,deconstructSigs以及他们的依赖包,后面的代码会详细的解释。安装过程有时候会非常痛苦,但是一般都能解决,安装R包的终结方式应该是“耐心”。如果网络安装不太好的话建议大家先下载下来,应用本地安装,安装后加载包时可能出现缺少依赖包,这时再耐心的安装依赖包即可。应用这种方式,目前没有遇到怎么也安装不上的包(当然了版本本身不支持的情况除外)。

3)代码和结果

source("https://bioconductor.org/biocLite.R")
chooseBioCmirror() #选择一个就近的镜像
biocLite("maftools")#安装
(maftools:http://bioconductor.org/packages/release/bioc/vignettes/maftools/inst/doc/maftools.html)
library(maftools)
Mandatory fields(必须字段): Hugo_Symbol, Chromosome, Start_Position, End_Position, Reference_Allele, Tumor_Seq_Allele2, Variant_Classification, Variant_Type and Tumor_Sample_Barcode(样本名,此字段沟通样本的maf文件和临床信息的关键,前者).

laml = read.maf(maf="STAD.mutectAdjustBarcode.maf.txt",clinicalData="clinical.STAD.tsv")#read.maf()函数有两个最关键的参数maf,clinicalData,这个两个数据框只需要共同的Tumor_Sample_Barcode,这个一点用起来非常方便,很多帖子并没有提到此处,详细信息可参考maftools的官网。注意:TCGA直接下载的maf文件第16列即为样品名(例如:TCGA-FP-A4BE-11A-11D-A24F-08),但是直接下载的临床数据的样本名(例:TCGA-FP-A4BE)是不同的,此处需要整理成一致后读入。

getFields(laml) #查看有哪些字段,TCGA下载的数据120个字段

getClinicalData(laml) #查看临床信息
getSampleSummary(laml) #查看每个样品发生突变的情况,此处就可以计算tumor mutation load,TML=Missense_Mutation/外显子数。
plotmafSummary(maf = laml, rmOutlier = TRUE, 
               addStat = 'median', dashboard = TRUE,
               titvRaw=FALSE)#绘制整体的突变情况
#waterfall plot
#We will draw oncoplots for top ten mutated genes.
oncoplot(maf = laml, top = 20, fontSize = 12)
#绘制前20个突变基因的瀑布图。oncoplot()中参数gene=c()可以指定基因名,绘制感兴趣的基因的瀑布图

此图绘制出了胃癌中突变前20的基因。其中可以看到TP53等著名基因的突变。渴望探索的小伙伴可以去TCGA的官网试试一样可以绘制出此图,点选即可。

maftools的最核心的功能可能就介绍完了,但是maftools的功能远不止这些,其实临床信息方面我们还没有进行探索,同时maftools还可以进行某个基因突变情况的生存分析,这个下次带大家进行。网上有很多好的帖子介绍,最好的帖子还是官方的介绍。

2. Mutation Signature

首先了解mutation signature的概念,现在很多生信文章中提到Signature 1 ,Signature 3等,看到这个有点困惑,通读了这篇文章Signatures of mutational processes in human cancer[https://www.nature.com/articles/nature12477]。

文章中提到Different mutational processes often generate different combinations of mutation types, termed ‘signatures’.

(不同的突变过程可以产生不同的突变类型的组合),称为“特征”。

这个概念给我的感觉是在混乱中用数学统计分析查找规律,并应用规律。

那肿瘤的突变特征如何计算呢?

source('http://bioconductor.org/biocLite.R');
chooseBioCmirror()
install.packages('deconstructSigs')
# dependencies 'BSgenome', 'BSgenome.Hsapiens.UCSC.hg19' 
BiocInstaller::biocLite('BSgenome')
BiocInstaller::biocLite('BSgenome.Hsapiens.UCSC.hg19')
BiocInstaller::biocLite('BSgenome.Hsapiens.UCSC.hg38')
BiocInstaller::biocLite('BSgenome.Hsapiens.NCBI.GRCh38')
#先把这些包装上,后面几个包比较大,建议大家先下载然后本地安装。都可以安装成功的。(BSgenome.Hsapiens.UCSC.hg38 vs BSgenome.Hsapiens.NCBI.GRCh38  https://www.biostars.org/p/340852/)

####这段代码简单可以看出,NCBI的chromosome直接用的数字,而UCSC用的是chrX,这点应该看到。
genome.ncbi <- BSgenome.Hsapiens.NCBI.GRCh38
seqlengths(genome.ncbi)

genome.ucsc<-BSgenome.Hsapiens.UCSC.hg38
seqlengths(genome.ucsc)
####


suppressPackageStartupMessages(library("deconstructSigs"))
suppressPackageStartupMessages(library("BSgenome"))
library("BSgenome.Hsapiens.NCBI.GRCh38")#此处加载这个注释包的原因为TCGA的maf文件目前注释GRCh38
options(stringsAsFactors = F)
str(laml) #查看数据结构,从maf文件中拿到我们需要的数据

mut = laml@data
head(mut)
getField(laml@data)

a=mut[,c(16,5,6,11,13)]
colnames(a)=c( "Sample","chr", "pos","ref",  "alt")
head(a)

a$Sample=as.character(a$Sample)
a=a[nchar(a$ref)==1 & nchar(a$alt)==1,]
#NCBI.GRCh38染色体号无“chr”,所以要替换掉

a2=cbind(a[,-2],chr=gsub("chr","",a$chr))
dim(a2)
head(a2)
tail(a2)
sigs.input <- mut.to.sigs.input(mut.ref = a2, 
                                sample.id = "Sample", 
                                chr = "chr", 
                                pos = "pos", 
                                ref = "ref", 
                                alt = "alt",
                                bsg = BSgenome.Hsapiens.NCBI.GRCh38 #此处一定要注意到版本的问题否则结果可能是错的。
                                )
class(sigs.input)
head(t(sigs.input))

#下面的语句,批量计算每个样本的signature。核心的函数就是whichSignatures()
w=lapply(unique(a2$Sample), function(i){
  ## signatures.cosmic signatures.nature2013
  sample_1 = whichSignatures(tumor.ref = sigs.input, 
                             signatures.ref = signatures.cosmic, 
                             sample.id =  i, 
                             contexts.needed = TRUE,
                             tri.counts.method = 'default')
  return(sample_1$weights)
})


w=do.call(rbind,w)
plotSignatures(plot_example, sub = 'example')
library(pheatmap)
#绘制热图
pheatmap(t(w),cluster_rows = F,cluster_cols = T)
pheatmap(w,cluster_rows = T,cluster_cols = F)
绘制得到这些突变和突变特征远远不是学习的结束,而是开始,利用这些突变可以挖掘文章探索突变以及突变特征的意义等等,写到这里我感觉把文章都告诉你怎么写了,加油吧,小伙伴们。

参考文献:

1. 下载TCGA所有癌症的maf文件做signature分析

2. 肿瘤突变数据可视化神器-maftools

其他参考内容文章内已经有链接。

后记:

写贴子时反复回顾代码感觉,收获很大。感谢技能树!如有错讹望及时批评指正,共同进步。

原文发布于微信公众号 - 生信技能树(biotrainee)

原文发表时间:2018-11-09

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏日常学python

用Python来跳Michael Jackson的太空漫步

最近看到一个有意思的程序:ffmpeg。它是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。可以用来把视频转化为图片,在用 PIL 库把...

9920
来自专栏大数据和云计算技术

技术专栏丨2018 存储技术热点与趋势总结

类型:技术专栏 作者介绍 张凯(Kyle Zhang),SmartX 联合创始人 & CTO。毕业于清华大学计算机系,研究方向为分布式系统和体系结构。2013...

47580
来自专栏跟着阿笨一起玩NET

浅谈数据库设计技巧(上)(转)

转一篇他人写的数据库设计技巧,感觉也不一定都正确,开拓一下思路吧。 说到数据库,我认为不能不先谈数据结构。1996年,在我初入大学学习计算机...

25110
来自专栏Python中文社区

数据挖掘实战(一):Kaggle竞赛经典案例剖析

專 欄 ❈那只猫,Python中文社区专栏作者,Python中文社区新Logo设计者,现就读于英国剑桥大学。 ❈— Load Lib ? 在这边提一下为什么要...

34770
来自专栏本立2道生

OpenCV各版本差异与演化,从1.x到4.0

最近因项目需要,得把OpenCV捡起来,登录OpenCV官网,竟然发现release了4.0.0-beata版本,所以借此机会,查阅资料,了解下OpenCV各版...

27340
来自专栏福利活动清单

腾讯云年末特惠

而且都是超低价了,就拿第一个4核16G的来说,官网原价是8040/年,5年就是4万多,一口价直接就便宜了3万元,简直美滋滋!

24470
来自专栏Python攻城狮

从数据角度探究《前任3》为什么这么火爆

豆瓣上8万多人只打出了5.8的评分,其中1星-3星占比72.6%,那么问题来了,在绝大多数豆瓣粉丝都认为是“烂片”的情况下,究竟是什么让《前任3》票房意外火爆呢...

9420
来自专栏机器人网

技术猿 | 室外移动机器人组合的导航定位系统设计

---- 对于在室外环境工作的移动机器人通常使用惯导/卫星组合导航方式。惯性导航系统[1]具有完全自主、抗干扰强、隐蔽能力好和输出参数全面等优点,但它的鲁棒性...

32750
来自专栏生信技能树

TCGA的28篇教程-所以癌症的突变全景图

有了MAF格式的突变数据,比如TCGA里面的乳腺癌的1000个左右的样本的突变信息,就很容易走maftool这个包,进行绘图,代码如下:

1.5K20
来自专栏企鹅号快讯

Jira入门教程 敏捷开发管理(一)

# 简介 Jira是Atlassian公司出品的一款事务管理软件。无论是“需求”,还是“BUG”,或是“任务”,都是“事务”的一种,所以Jira可以胜任非常多的...

4.1K70

扫码关注云+社区

领取腾讯云代金券