IGV 自定义Reads 颜色

目的

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

你可能感兴趣的:(IGV 自定义Reads 颜色)