deconstructSigs|探寻cosmic的独特“气质”-mutation signature !
deconstructSigs-mutation signature看一下你的数据是什么“气质”的?
本文首发于“生信补给站” 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
whichSignatures会输出5个元素的list文件:
weights -- data frame containing the weights assigned to each of the k signatures of the input signatures matrix
tumor -- matrix of the trinucleotide contexts for the tumor sample used as input
product -- matrix obtained when the tumor matrix is multiplied by the assigned weights
diff -- matrix representing the difference between the tumor matrix and product matrix
unknown -- numeric weight not assigned to any of the input signatures
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
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
四 plotSignatures 可视化
# Plot example
plot_example <- whichSignatures(tumor.ref = sigs.input,
signatures.ref = signatures.cosmic,
sample.id = 1)
# Plot output
plotSignatures(plot_example, sub = 'example')
查看sample1的signature的组成情况,就是上面plot_example$weight , plot_example$tumor , plot_example$product 的结果可视化。
参考资料:
https://github.com/raerose01/deconstructSigs
◆ ◆ ◆ ◆ ◆
精心整理(含图版)|你要的全拿走!有备无患 (R统计,ggplot2绘图,生信图形可视化汇总)
【觉得不错,右下角点个“在看”,期待您的转发,谢谢!】
deconstructSigs|探寻cosmic的独特“气质”-mutation signature !的更多相关文章
- 侣行APP
本次要做的是团队共同完成一个项目.由队长组织,全体队员一起讨论分析并完成一款APP的需求调研,分析等工作. 1.团队介绍 队长:杨晓帅 队员 ...
- 第5件事 做一个有taste的产品人
1.taste的意思是品位,也就是说产品经理应该是一个有品位的产品人.什么叫品位呢?品位指的是对事物有分辨与鉴赏的能力.品位是形象的展示,品位是内在气质的复出,品位是人生价值的体验,品位是道德修养的内 ...
- Microbit蓝芽配对
Microbit蓝芽配对 (Bluetooth Pairing) Microbit 可以像手机或平板与其他蓝芽装置一样,一旦做完第一次配对完就可以使用”蓝芽服务” paired with the mi ...
- CDN混战何去何从,史上最全分析
近日,CDN市场风起云涌,十几年平稳的市场格局瞬时战火纷飞.一路从传统CDN即蓝汛.网宿为主的 "双雄争霸".演变为多家云CDN厂商阿里云.腾讯云.百度云等的降价大战.更有 ...
- 像艺术家一样思考 Think Like an Artist
艺术家是如何获得灵感,如何找到自己的独特风格和主题的? 艺术家在绘画.写作.表演或歌唱前不会去征求谁的允许,而是随心而行 要想在数字时代获得满足感,我们需要变得有创造性 1.艺术家富有事业心 艺术家是 ...
- JavaScript 实现:输出斐波那契数列
问渠那得清如许,为有源头活水来. 想要保持自己的技术活力,最有效的手段就是通过不断地输入来提供足够的养分.我们也不必刻意追求高深的或者新鲜的知识点,通过对一个基础问题的全方位多维度解析,同样也会收获不 ...
- Detailed Information for Outputted Files from Somatic Mutation Annotators(annovar 注释文件条目详细解释)
CONTENTS *_annoTable.txt (ANNOVAR) *_annoTable.txt (SnpEff) *_genelist.txt (ANNOVAR & SnpEff) db ...
- somatic mutation体细胞变异检测文献分享--转载
转载 :http://blog.sina.com.cn/s/blog_83f77c940102xuro.html Kalatskaya I, Trinh Q M, Spears M, et al. I ...
- 探寻 JavaScript 逻辑运算符(与、或)的真谛
十二月已经过半,冬季是一个美妙的季节,寒冷的空气逼得人们不得不躲在安逸舒适的环境里生活.冬季会给人一种安静祥和的氛围,让人沉浸在其中,仿佛是一个旧的阶段的结束,同时也是一个新的阶段的开始.这么说来,西 ...
随机推荐
- eNSP仿真软件之配置Trunk口
实验原理 在以太网中,通过划分VLAN来隔离广播域和增强网络通信的安全性.以太网通常由多台交换机组成,为了使VLAN的数据帧跨越多台交换机传递,交换机之间互连的链路需要配置为干道链路(Trunk Li ...
- MySQL 支持 emoji 图标存储
在MySLQ中 UPDATA 和 INSERT 数据的时候,如果数据上面带有emoji图标,例如:?.?.? 很容易更新或者插入不成功,导致报错. 1 2 Error: ER_TRUNCATED_WR ...
- Python3 之 列表推导式
列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表. 它的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是 0 个或多个 for 或者 if 语句.那个表达式可以是任意的, ...
- ctf比赛linux文件监控和恢复shell
之前参加ctf比赛时候临时写的,有很多不足,不过可以用,就贴出来分享给大家,希望对大家有帮助. 脚本一:记录当前目录情况 #!/bin/bashfunction getdir(){ for el ...
- 2753:走迷宫(dfs+初剪)//可以说是很水了。。。
总时间限制: 1000ms 内存限制: 65536kB 描述 一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走:有的格子是空地,可以走.给定一个迷宫,求从左上角走到右下角最少需要走多少步(数 ...
- 原生js删除增加修改class属性
其实html5已经扩展了class操作的相关API,其中classList属性就以及实现了class的增删和判断. HTML DOM classList 属性 classList属性的方法有: add ...
- c语言l博客作业03
问题 答案 这个作业属于哪个课程 c语言程序设计ll 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/SE2019-3/homework/8727 我在这 ...
- IDEA如何重置窗口布局
如何重置窗口布局 我不知道怎么搞的,左边的,上边的,下边的,视图都没有了 , 重启了一下,然后重置为默认视图,就好了
- hello gulp,使用gulp的第一天。
昨天花了一天的时间,学习了一下gulp,今天整理一下,也分享给朋友们. 首先当然是去gulp的官网逛一圈了: http://gulpjs.com/ 中文站地址: http://www.gulpjs.c ...
- 下一代容器架构已出,Docker何去何处?看看这里的6问6答!!
我猜很多人一看这个标题已经感觉很懵逼了,什么?下一代容器都出来了,我还没学Docker呢!!! 咳咳~~在这里我给大家做一个保证,下一代容器目前也只是各个公司在测试阶段,Github上面也有很多Iss ...