【直播】我的基因组46:SNV突变(96种)频谱的制作

昨天我们学习了正常情况下,6种SNV(C>A, C>G, C>T, T>A, T>C, T>G)突变频谱的制作,但是如果考虑到突变的上下文,就可以变成96种(如下图所示)!(如果你还不了解mutation siganures,请自行复制http://www.bio-info-trainee.com/1619.html或查看原文)

The mutational spectrum of a set of SNVs was determined by classifying all SNVs contained in the set by their type of mutation (C . A, C . G, C . T, T . A, T . C, T . G) and the sequence context (i.e., the preceding and the following base). The resulting count matrix with dimensions 4 · 4 · 6 (with each cell representing a mutation of one base triplet into another) was then normalized for the observed frequency of each source base triplet in the genome that the calls were made against. An additional conversion into percentage was performed to allow for comparison of SNV sets with different sizes.

这里我们可以自己小脚本来做,也可以直接使用程序,我这里还是用号称可以替代生物学工程师的强大的bedtools软件。

http://bedtools.readthedocs.io/en/latest/content/tools/getfasta.html

简单的阅读该软件的说明书就知道了,需要把vcf文件转为3列的bed格式,就染色体号,起始终止坐标即可!

  1. cat realign.vcf |grep -v INDEL |grep -v "^#" |cut -f 1-5|grep -v "," |perl -alne '{print join("\t",$F[0],$F[1]-2,$F[1]+1,"$F[3]:$F[4]")}' >vcf.bed

注意VCF文件的坐标不仅仅是上下文3个碱基,起始坐标应该左移,这是bed文件的特性,从0开始的!

还有第4列是突变形式,在下面的bedtools里面会用得到!

然后调用bedtools即可,代码如下:

  1. ~/biosoft/bedtools/bedtools2/bin/bedtools getfasta -fi ~/reference/genome/human_g1k_v37/human_g1k_v37.fasta -bed vcf.bed -tab -name -fo vcf.fasta

结果显示共4131526行数据!

这个结果可以用一个网页工具来检查一下:http://genome.ucsc.edu/cgi-bin/das/hg19/dna?segment=chr1:10248,10251

接下来我们就是要对上面的四百多万行数据进行统计咯,左边一列是突变形式,右边是上下文,我们还是跟上一讲一样,突变形式只考虑6种!【直播】我的基因组 45:SNV突变(6种)频谱的制作

代码如下:

  1. perl -alne '{$tmp=$_;s/A:C/T:G/; s/A:T/T:A/; s/A:G/T:C/; s/G:A/C:T/; s/G:C/C:G/; s/G:T/C:A/; print "$tmp\t$_"}' vcf.fasta |cut -f 3,4 |sort |uniq -c >96context.counts

结果如下:

可视化如下,其实应该有更好的展现方式的,而且我的代码稍微有点复杂了:

  1. dat=read.table('96context.counts')

  2. colnames(dat)=c('counts','mut','context')

  3. dat$percent = 100*dat$counts/sum(dat$counts)

  4. library(ggplot2)

  5. p=ggplot(dat,aes( x=1:nrow(dat),y=percent,fill=mut))+geom_bar(stat="identity")

  6. p=p+ylab('Mutation type probabilty')+ xlab('context')+ggtitle("Mutation signature")

  7. p=p+scale_x_continuous(breaks=1:192,labels = dat$context, expand = c(0, 0))+scale_y_continuous(expand = c(0, 0))

  8. p=p+theme_set(theme_set(theme_bw(base_size=20)))

  9. p=p+theme(text=element_text(face='bold'),

  10. axis.text.x=element_text(angle=30,hjust=1,size =6),

  11. plot.title = element_text(hjust = 0.5) ,

  12. panel.grid = element_blank(),

  13. #panel.border = element_blank()

  14. )

  15. print(p)

http://www.cookbook-r.com/Graphs/Axes_(ggplot2)/

http://stackoverflow.com/questions/40675778/center-plot-title-in-ggplot2

http://stackoverflow.com/questions/22945651/how-to-remove-space-between-axis-area-plot-in-ggplot2

如果要自己写脚本,请参考生信技能树论坛,我发的帖子:

http://www.biotrainee.com/thread-666-1-1.html

http://www.bio-info-trainee.com/1623.html

http://cancer.sanger.ac.uk/cosmic/signatures

文:Jimmy

图文编辑:吃瓜群众

(0)

相关推荐

  • 肿瘤分析数据挖掘及信息解读

    肿瘤基础 特点: 疾病,无线增殖 基因相关 细胞进化过程中发展异常,突变积累 概念: germline mutation: 生殖细胞突变 somatic mutation: 体细胞突变,不可遗传 dr ...

  • 8 比对及找变异步骤的质控

    使用qualimap对wes的比对bam人家总结测序深度和覆盖度ls -lh *raw.vcf-rwxrwxrwx 1 root root 184M Jun 7 10:58 SRR7696207_ra ...

  • SNV突变(96种)频谱的制作

    昨天我们学习了正常情况下,6种SNV(C>A, C>G, C>T, T>A, T>C, T>G)突变频谱的制作,但是如果考虑到突变的上下文,就可以变成96种(如下图 ...

  • 【直播】我的基因组 45:SNV突变(6种)频谱的制作

    受热心读者的委托,特意为他讲解一下SNV突变(6种)频谱的制作,同时欢迎大家留言其它需求! 突变频谱呢,就是对含有SNV的VCF格式的文件进行一个统计. 全基因组SNP突变可以分成6类(C>A, ...

  • 【直播我的基因组66:大多数性状往往是多个基因控制的

    前面我们说到了那些简单的由单个基因决定的性状,这东西不需要预测,其中的生物学机制已经研究的非常透彻,只要拿到你的基因信息,很容易推断你的性状,比如人的乙醇脱氢酶和乙醛脱氢酶等多种乙醇代谢基因,你本身是 ...

  • 直播我的基因组(第一阶段)完整目录

    最近的全国巡讲不少人问到我两年前的直播基因组系列教程的完整目录,这里先放出直播我的基因组(第一阶段)完整目录.(悄悄告诉你,后台回复直播可以拿到精排版EXCEL表格!)(然后,点击阅读原文也可以拿到可 ...

  • 【和你有约直播回顾】第46期:​从蜻蜓点水到共修抢麦,妈妈觉醒挽救了女儿

    不是从孩子身上看到了希望/ 你才相信孩子 而是你相信了孩子/ 你才能有希望 不是孩子幸福了/ 你才幸福 而是你幸福了/ 孩子才能获得幸福 --<相信相信的力量> 7月25日晚8点,主持人何 ...

  • 直播卖货系统开发,直播卖货的实现有哪几种形式

    除了我们熟知的直播卖货系统开发外,直播卖货的实现方式还有很多种,在短视频平台.小程序中经常也能看到直播卖货的身影,针对不同的使用场景,直播卖货系统的实现形式也不一样,今天我们来说一下现在直播卖货系统开 ...

  • 微信直播如何变现呢?这里有3种方式

    2020年最大的风口是直播,而微信直播将会2021年直播的最大风口. 那么微信直播如何变现呢?小编最有效的变现方式是带货.接下来欢拓云直播小编就说一下微信直播带货有哪些方式吧. 方式一:通过视频号培训 ...

  • 96种草书常用偏旁符号

    享受书法艺术之美-获取人生最大乐趣 笔者依据多年学习书法的经验,确信书法学习必有事半功倍.快速入门的方法,从中提炼出自学书法所需的资料进行汇编整理.浓缩精炼后形成12个章节,编辑成一套书法快速入门的流 ...

  • 96种抢险救援器材性能参数

    目录 一.侦检类 二.破拆类 三.照明类 四.堵漏类 五.个人防护类 六.救生类 七.警戒类 八.排烟类 九.输转类 十.洗消类 十一.起重类 十二.其他类 一.侦检类 1.可燃气体检测仪 用途:主要 ...