前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用MutationalPatterns进行肿瘤突变频谱分析

使用MutationalPatterns进行肿瘤突变频谱分析

作者头像
生信修炼手册
发布2019-12-19 10:45:25
2.6K0
发布2019-12-19 10:45:25
举报
文章被收录于专栏:生信修炼手册

MutationalPatterns是一个bioconductor上的R包,可以用于肿瘤突变频谱的分析。肿瘤突变频谱针对点突变进行定义,A,T,C,G四种碱基两两突变,共有4X3=12种排列,考虑到正负链碱基配对原则,正链上的A->C突变,对应负链上为T->G, 所以进一步转换成了一个组合的问题,所以某个位点的突变可以划分为以下6种模式

  1. C>A, 表示C>A和G>T两种
  2. C>G, 表示C>G和G>C两种
  3. C>T, 表示C>T和G>A两种
  4. T>A,表示T>A和A>T两种
  5. T>C,表示T>C和A>G两种
  6. T>G,表示T>G和A>C两种

进一步考虑突变位点所处的序列上下文环境,即上下游各取一个碱基再加上突变位点的碱基,组成了3个碱基的motif, 可以有4X4X6=96种模式,每种模式的频率分布就是突变频谱。突变频谱可以当做一个肿瘤样本的特征,进行样本间的比较。通过MutationalPatterns包,可以方便的根据样本对应的VCF文件,提取突变频谱的信息,首先读取文件,代码如下

代码语言:javascript
复制
# 加载R包
> library(MutationalPatterns)
# 列出vcf的路径
> vcf_files <- c("sample1.vcf", "sample2.vcf")
# 设置vcf文件对应的样本名称
> sample_names <- c("sample1", "sample2")
# 加载参考基因组
> library(BSgenome.Hsapiens.UCSC.hg19)
> ref_genome <- "BSgenome.Hsapiens.UCSC.hg19"
# 读取vcf文件
> vcfs <- read_vcfs_as_granges(vcf_files, sample_names, ref_genome)

读取完成之后,可以先统计下6种不同的点突变模式的分布,代码如下

代码语言:javascript
复制
> type_occurrences <- mut_type_occurrences(vcfs, ref_genome)
> plot_spectrum(type_occurrences)

可视化结果示意如下

该R包经典的使用场景如下

1. 计算样本突变频谱

根据vcf文件,计算每个样本中96种motif的频数,并可视化,代码如下

代码语言:javascript
复制
> mut_mat <- mut_matrix(vcf_list = vcfs, ref_genome = ref_genome)
> plot_96_profile(mut_mat[,c(1,2)], condensed = TRUE)

可视化结果示意如下

2. 比较两个样本间突变频谱分布的差异

代码如下

代码语言:javascript
复制
> plot_compare_profiles(mut_mat[,1], mut_mat[,2], condensed = TRUE)

可视化结果示意如下

左上角的给出了两个频谱间cosine similarity相似度,图片中前两层分别对应两个需要比较的频谱,第三层为两个频谱的差异,直接用频率相减。

3. NMF find mutation signature

通过非负矩阵分解NMF算法,从原始的突变频谱中提取特征,称之为突变特征mutation signature,代码如下

代码语言:javascript
复制
> library(NMF)
> estimate <- nmf(mut_mat, rank=2:5, method="brunet", nrun=10, seed=123456)
> nmf_res <- extract_signatures(mut_mat, rank = 2, nrun = 10)
> colnames(nmf_res$signatures) <- c("Signature A", "Signature B")
> rownames(nmf_res$contribution) <- c("Signature A", "Signature B")
> plot_96_profile(nmf_res$signatures, condensed = TRUE)
4. mutation singnature contribution

每个样本的突变频谱是不同突变特征组成的结果,通过如下代码可视化每个样本中不同突变特征的贡献率

代码语言:javascript
复制
plot_contribution(nmf_res$contribution, nmf_res$signature, mode = "relative")

可视化结果示意如下

5. 比较多个突变频谱/突变特征之间的相似性,

计算图片频谱间的cosine similarity相似度,结果用热图展现,代码如下

代码语言:javascript
复制
> cos_sim_samples_signatures = cos_sim_matrix(mut_mat, mut_mat)
> plot_cosine_heatmap(cos_sim_samples_signatures)

可视化的结果示意如下

通过这个R包,可以轻松实现突变频谱的常见分析内容。

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

本文分享自 生信修炼手册 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 计算样本突变频谱
  • 2. 比较两个样本间突变频谱分布的差异
  • 3. NMF find mutation signature
  • 4. mutation singnature contribution
  • 5. 比较多个突变频谱/突变特征之间的相似性,
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档