目的
IGV 经常被用于可视化检查NGS测序数据,尤其提供给人直观的突变信息,大量应用于肿瘤诊断行业以及NGS的科研领域中。
在肿瘤诊断领域,对自动化检查出来的突变,进行IGV人工复核是保证突变检测真实性的一大关键步骤。随着,NGS检测手段的进化,umi 技术越来越多的应用在了临床上,应用这一技术产生的duplex reads、simplex reads、single reads 给每一个突变提供了不同强度的证据支持。
但是在默认情况下,我们通过IGV 复核突变时却无法直观的得到突变的reads 是来自于duplex reads、simplex reads 或 single reads。
这里我介绍一种IGV本身提供的一种方法,来对不同的reads 进行个性化的标记。
具体参考信息:http://genome.ucsc.edu/goldenpath/help/hgBamTrackHelp.html
方法
IGV 提供了一个自定义的颜色标签,“YC”
。对应于RGB 的模式可以针对某一条read 设定 YC:Z:255,0,0
。
代码如下:
#!/usr/bin/env python
import os,sys,pysam
if len(sys.argv) < 3:
print(sys.argv[0],"inBAM outBAM")
sys.exit(1)
#读取源BAM
inBAM = pysam.AlignmentFile(sys.argv[1],'rb')
#写目的BAM
outBAM = pysam.AlignmentFile(sys.argv[2], "wb", template=inBAM)
# 设定色盘
dic_color = {"duplex":"205,181,205","simplex":"162,181,205","single":"211,211,211"}
for read in inBAM.fetch():
# read_type = 根据自己的标签,鉴别read是哪种类型
# set_tag(self, tag, value, value_type=None, replace=True)
read.set_tag("YC",dic_color[read_type],value_type="Z")
outBAM.write(read)
inBAM.close()
outBAM.close()
结果如下:
igv-color.png
网友评论