IGV 自定义 Reads 颜色

2022-11-30 14:23:11 浏览数 (2)

目的

IGV 经常被用于可视化检查 NGS 测序数据。由于它可以非常直观地展示突变信息,所以它被大量应用于肿瘤诊断行业以及 NGS 相关的科研领域中。

在肿瘤诊断领域,对自动化流程检测出来的突变进行 IGV 人工复核是保证突变检测真实性的一大关键步骤。随着 NGS 检测手段的进化,umi 技术被越来越多地应用在了临床上。应用这一技术产生的 duplex reads、simplex reads、single reads 给每一个突变提供了不同强度的证据支持。

不过,在默认情况下,我们通过 IGV 复核突变时却无法直观地区分突变的 reads 是来自于 duplex reads、simplex reads 或 single reads。这里我介绍一种 IGV 本身提供的一种方法,来对不同的 reads 进行个性化的标记。

方法

IGV 提供了一个自定义的颜色标签 YC,可以针对某一条 read 设定其 RGB 值,比如 YC:Z:255,0,0

代码如下:

代码语言:javascript复制
#!/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()

结果如下:

参考

http://genome.ucsc.edu/goldenpath/help/hgBamTrackHelp.html

umi

0 人点赞