txt 插入特定列_R语言 | R包circlize绘制特定SNP、InDel位点标识的基因组圈图

本文介绍了使用R包circlize在基因组数据中标注SNP和InDel位点的方法,包括直接标记变异区块和通过散点表示位点,以及结合点形状展示变异注释信息,帮助理解不同菌株间的变异分布和特性。
摘要由CSDN通过智能技术生成
8269e7d6d7bd908ba984179cd8130756.gif R包circlize绘制小基因组带特定SNP、InDel位点的变异圈图示例 7f39690a3536a5a2c9f0bb835a50fb1b.gif 续前文“ R 包 circlize 绘制基因组重测序变异圈图 ”。 在前文绘制基因组圈图时,由于 SNP 、 InDel 过多,没有选择将这些变异位点单独以点的形式标记在基因组的特定位置处,而是统计了每 2000bp 滑窗中 SNP 、 InDel 位点的密度并绘制了密度分布。 如下所示,详情参考前文。 e8b99fb7d48da6555fe1b96439cca023.png

当时还提到,后续会再展示如何标注独立的SNP或InDel位点,而非密度频数。

然后就忘了……fce120197fb52164ba487e23d49e597c.gif

上周有同学咨询,在提供帮助的同时就顺便简单整理了方法,在本篇继续分享。

示例图大致如下。sample1-4是4个同种不同菌株细菌基因组测序样本,chr1是参考细菌基因组的染色体,并通过与参考基因组比对call变异,确定并筛选了一些SNP以及InDel位点。由于筛选后的位点不多,就方便了直接在基因组对应位置中将它们标注出来。

该图将4个菌株放在一起作图比较,每个圈代表各自基因组。图中的点即为SNP或InDel位点,颜色表示不用的变异类型(如SNP的A>C|T>G替换,或者InDel的插入缺失等)。点对应外圈中的刻度即为变异位点的基因组位置,纵轴数值表示了变异位点的质量。

6ee895776f4d3d579a66daffff23a2f2.png

接下来开始本篇的分享。

作图示例数据及R代码的百度盘链接(提取码,mgse):

https://pan.baidu.com/s/1_nKWA4I5QfUN9538hDqjsQ

示例数据

示例文件“genome_stat.txt”记录了参考基因组信息,即基因包含的染色体ID以及该染色体的长度。

7fd4270e2436e923d58eb9e6aa6af3e7.png

示例文件“sample*_SNV.txt”的内容大致如下。

bbff662c470d0e332cca15289a523c6f.png

第1列,变异位点所在的染色体ID;

第2-3列,变异位点在该染色体中的起始和终止位置,SNP是单碱基,InDel可能是多碱基;

第4列,变异类型,SNP就是碱基替换类型,InDel就是插入缺失类型;

第5列,该位点中,变异碱基的占比,在本示例中用于绘制y刻度轴。

以及示例文件“anno_SNV.txt”,在上述基础上添加了一列注释信息,例如SNP导致了同义突变还是非同义突变等。

2108b3171f874f3893a24081c6dee68f.png

示例作图1,直接标记变异位点区块

首先先展示一种简单的绘制方法。并非绘制二维坐标点图,而是类似前文变异圈图的那种样式,通过色块展示位点。区别在于,前文的色块展示的变异位点出现频数,这里直接标记具体位置的位点。

首先预处理数据。

#读取数据
seq_stat sample1 sample2 sample3 sample4
#统计变异类型
sample_df dat[which(dat$change == 'A>T'|dat$change == 'T>A'),'type'] dat[which(dat$change == 'A>G'|dat$change == 'T>C'),'type'] dat[which(dat$change == 'A>C'|dat$change == 'T>G'),'type'] dat[which(dat$change == 'G>A'|dat$change == 'C>T'),'type'] dat[which(dat$change == 'G>T'|dat$change == 'C>A'),'type'] dat[which(dat$change == 'G>C'|dat$change == 'C>G'),'type'] dat[which(dat$change == 'insert'),'type'] dat[which(dat$change &
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值