数据分析R 数据可视化

deconstructSigs|探寻cosmic的独特“气质”-

2019-12-20  本文已影响0人  生信补给站

本文首发于“生信补给站” https://mp.weixin.qq.com/s/k7yzk9hPX3Bi-ohAo83ZYw

还有其他 R统计 绘图 生信的干货,也许有需要的呢?

Mutational Signatures 首次出现在2013年的nature文章Signatures of mutational processes in human cancer中(https://www.nature.com/articles/nature12477)。**将mutation位置加上前后一个碱基,构成三碱基模式,然后统计96(6 * 4 * 4)种突变组合的情况。

好奇为什么是96种的,可以查一下文献。

本文介绍如何利用deconstructSigs-R包进行mutation signature分析。

一 准备R包,数据

#install.packages("deconstructSigs") 
library(deconstructSigs)
#读入数据
head(sample.mut.ref)
 Sample  chr      pos ref alt
1      1 chr1   905907   A   T
2      1 chr1  1192480   C   A
3      1 chr1  1854885   G   C
4      1 chr1  9713992   G   A
5      1 chr1 12908093   C   A
6      1 chr1 17257855   C   T

class(sample.mut.ref)
## [1] "data.frame"

只需要将自己的数据整理成以上五列(ID,chr,pos,ref,alt )信息即可,如果是TCGA中的MAF文件也是很好提取的。

二 mut.to.sigs.input构建输入文件

使用 mut.to.sigs.input 函数,构建计算signature的输入文件,得到每个样本的96种三碱基类型。

# Convert to deconstructSigs input
sigs.input <- mut.to.sigs.input(mut.ref = sample.mut.ref, 
                                sample.id = "Sample", 
                                chr = "chr", 
                                pos = "pos", 
                                ref = "ref", 
                                alt = "alt")

注:这一步也许会提示没有XX包,按照要求下载指定R包即可(也许是数据库,耐心安装)。

#查看结果信息
dim(sigs.input)
#[1]  2 96  
head(t(sigs.input)) #只有两个sample:“1”和“2”
         1 2
A[C>A]A  9 1
A[C>A]C  7 1
A[C>A]G  5 0
A[C>A]T  7 0
C[C>A]A 10 3
C[C>A]C 18 2

以上就得到了sample.mut.ref文件中的每一个sample的96种三碱基类型的结果了。

三 推断signature的组成

# Determine the signatures contributing to the two example samples
sample_1 = whichSignatures(tumor.ref = sigs.input, 
                           signatures.ref = signatures.cosmic, 
                           sample.id = 1, 
                           contexts.needed = TRUE,
                           tri.counts.method = 'default')

其中:

tumor.ref:每个sample的96种三碱基突变序列
signatures.ref:已知的signatures参考文件,可选signatures.nature2013和signatures.cosmic
sample.id:对应tumor.ref文件中的样本名
contexts.needed :是否需要突变上下文
tri.counts.method:三核酸序列标准化方式,默认“default” 不进行标准化 ;或者选择exome,genome,exome2genome,genome2exome 来限定区域。

3.2 查看返回结果

#查看结果
class(sample_1)
#查看权重结果
sample_1$weights

#输出tumor的三碱基序列百分比
sample_1$tumor

#三碱基序列百分比 * 权重
sample_1$product
img img

whichSignatures会输出5个元素的list文件:

3.3 指定signature权重

通过associated参数指定参与计算的signature

sample_1.associate = whichSignatures(tumor.ref = sigs.input, 
                           signatures.ref = signatures.cosmic, 
                           sample.id = 1, 
                           associated = c("Signature.1","Signature.22"),
                           contexts.needed = TRUE,
                           tri.counts.method = 'default')
sample_1.associate$weights
img

3.4 设定signature的阈值

通过signature.cutoff设定阈值,小于此值的为0

sample_1.cutoff = whichSignatures(tumor.ref = sigs.input, 
                           signatures.ref = signatures.cosmic, 
                           sample.id = 1, 
                           contexts.needed = TRUE,
                           signature.cutoff = 0.08 ,
                           tri.counts.method = 'default')

sample_1.cutoff$weights
img

plotSignatures 可视化

# Plot example
plot_example <- whichSignatures(tumor.ref = sigs.input,
                      signatures.ref = signatures.cosmic,
                      sample.id = 1)

# Plot output
plotSignatures(plot_example, sub = 'example')
img

查看sample1的signature的组成情况,就是上面plot_exampleweight , plot_exampletumor , plot_example$product 的结果可视化。

参考资料:

https://github.com/raerose01/deconstructSigs

◆ ◆ ◆ ◆ ◆

精心整理(含图版)|你要的全拿走!有备无患 (R统计,ggplot2绘图,生信图形可视化汇总)

【觉得不错,右下角点个“在看”,期待您的转发,谢谢!】

img
上一篇下一篇

猜你喜欢

热点阅读