目的
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