前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >TCGA体细胞突变系列教程--胃癌

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

作者头像
生信技能树
发布2018-12-07 14:37:08
9.6K0
发布2018-12-07 14:37:08
举报
文章被收录于专栏:生信技能树

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)代码和结果

代码语言:javascript
复制
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/外显子数。
代码语言:javascript
复制
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’.

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

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

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

代码语言:javascript
复制
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)
代码语言:javascript
复制
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

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

后记:

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

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

本文分享自 生信技能树 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 下载TCGA所有癌症的maf文件做signature分析
    • 后记:
    相关产品与服务
    批量计算
    批量计算(BatchCompute,Batch)是为有大数据计算业务的企业、科研单位等提供高性价比且易用的计算服务。批量计算 Batch 可以根据用户提供的批处理规模,智能地管理作业和调动其所需的最佳资源。有了 Batch 的帮助,您可以将精力集中在如何分析和处理数据结果上。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档