查看原文
其他

眼到手到-IGV的高级实操

生信阿拉丁 生信阿拉丁 2022-05-16

在使用高通量数据进行变异分析时,经常使用IGV对变异进行可视化展示,可常常是眼到手不到,明明文章中有类似结果,自己却做不出来,这里为大家整理一些IGV的高级操作,供大家参考。


IGV (Integrative Genomics Viewer),相信做过高通量测序的都很熟悉,这个软件常常用于人工检验候选变异的支持率,毕竟相对于数字而言,图像更直观。
既然是高级操作,那些常规的操作,我们这里直接忽略。如果在实际使用中,遇到了以下问题,请继续阅读。
  1. 网络不给力,不能加载在线参考基因组;

  2. 比对文件bam过大,电脑打不开,直接卡死;

  3. 查看的样本数目过多或者覆盖深度较大,不能全部展示截取;

  4. 多个变异需要查看,能否批量产出。




01


无法加载在线参考基因组

在实际使用IGV中,经常需要在线下载相应基因组版本的信息,例如人的参考基因组hg19版本的下载地址为:http://s3.amazonaws.com/igv.broadinstitute.org/genomes/hg19.genome,而这个网站又经常不给力,导致加载失败,无法使用IGV。
当然如果使用始终使用同一套基因组版本,只要成功加载一次,后续一般就不需要每次都下载了。但凡中间更换过一次,就又需要重新下载。
有没有一劳永逸的方法,不用每次都等待加载?

方法1:保存下载文件并手动加载

在网络好的情况下,或者通过其他途径获得genome文件(例如hg19.genome),然后保存下来,每次启动IGV后,取消在线加载,变为手动加载已经下载的genome文件。

方法2:构建本地参考基因组

如果网络实在不给力,下载不到genome文件,那就构建自己的参考基因组。

01

选择构建基因组

选择菜单栏“Genome”下拉菜单中“Create .genome File”。


02

准备文件

在弹出的对话框中填写命名信息

  • Unique identifier:名称,自己随意定义一个名称即可,该名称会显示在菜单栏下的框中表示当前的基因组版本。

  • Description name:描述信息,自己定义即可

  • FASTA file:参考基因组的fasta文件,要求排序过,并且在同一路径下有对应的fai文件。

    例如参考基因组为ucsc.hg19.fasta,对应的fai文件为ucsc.hg19.fasta.fai。该fai文件的构建方法为samtools faidx input.fa。

  • Cytoband file:染色体核型文件,与ANNOVAR输入文件相同,可以直接引用,可以从ucsc下载得到。格式为:

chr1 0    2300000 p36.33  gneg
chr1 2300000    5400000 p36.32  gpos25
chr1 5400000    7200000 p36.31  gneg


  • Gene file:基因信息文件,与ANNOVAR的输入文件相同,可以直接引用。格式为:

chr1 stdin    transcript  11874   14409   .   +   .   gene_id "DDX11L1"transcript_id "NR_046018";  gene_name "DDX11L1"gene_biotype "lncRNA";
chr1 stdin    exon    11874   12227   .   +   .   gene_id "DDX11L1"transcript_id "NR_046018"exon_number "1"exon_id "NR_046018.1"gene_name "DDX11L1"gene_biotype "lncRNA"


  • Alias file:别名文件,可以不提供


03

保存构建的文件

填写后保存为genome文件,之后再用IGV的时候就可以直接使用了,不用加载在线的文件了。


04

测试bam查看结果

将bam或者tdf文件拖入或者导入IGV查看,与在线加载的genome结果相同(上图为自建基因组文件结果,下图为在线基因组文件结果),完成。




02


文件太大无法加载

在使用IGV时,有时文件过大,例如长度超过10kb乃至1Mb以上的SV,使用自己的电脑打不开,主要原因是内存不足。怎么办?总不至于为了一个变异位点,买个内存条吧!
这里我们可以换个思路,我们使用IGV的主要目标是直观的确认变异,即使在文件时,我们参考的主要指标也是bam文件的coverage信息,所以这里我们可以直接提取coverage的信息,然后进行IGV查看。
包括coverage信息的文件格式为tdf文件,这个文件可以由以下命令获得(Linux命令):


igvtools count -z 7 -w 10 test.target.bam test.tdf hg19.chrom.sizes


文件说明:

  • test.target.bam,为输入的目标区域的bam文件;

  • test.tdf,为输出目标区域tdf文件;

  • hg19.chrom.sizes,为参考基因组的各染色体长度,如果安装的igvtools的参考基因组自带该文件,可以用hg19代替。

参数说明:

  • -z 最大压缩级别,数字越大,得到的文件越小;

  • -w 窗口大小,以窗口为单位计算覆盖度,数值越大,分辨率越大,得到的文件越小。

文件大小前后也发生了很大改变,例如67M的bam文件转换为tdf后大小为1.8M,此时再用IGV就可以轻松查看了。



03


截取完整变异图谱

此外,使用IGV经常遇到的另外一个问题是,截取完整的reads图,而IGV的本身另存为的图像只能截取当前视图中的图像,当前隐藏看不到的,保存的图像里面也没有。当然,老司机也可以使用右击菜单中Squished功能,但是这里说的是即使压缩后依然不能显示全的情况,怎么办?



解决方法


选择“Tools”中的“Run Batch Script”,这里就需要我们编写一个脚本,然后通过调用这个脚本实现。


脚本很简单,两行命令,两个参数。maxPanelHeight,调整图形大小,根据实际需要调整,数值越大,截取的图形越高;snapshot,截图图形命名。注意,保存的图形默认保存着IGV的安装路径下。

maxPanelHeight 10000
snapshot test.png

运行后,这次得到的变异结果图形是不是够全。




04


批量制图

有时候变异位点比较多,单个的加载查看,耗时耗钱耗视力,怎么办?
可以使用脚本半自动批量实现呀,具体操作如下


01

提取目标区域的比对结果

这里我们建议将目标区域的比对结果提取到一个bam文件中,手动加载到IGV,就可以批量定位目标区域并截图,提取比对结果的命令如下(Linux命令)

samtools view -hb -L target_region.bed sample.sort.bam > target_region.sort.bam
samtools index target_region.sort.bam



02

生成目标区域的bedGraph

通常情况下,为了指示目标区域的变异,我们会按照目标区域的bed文件生成一个bedGraph文件,该文件可以用来提示目标变异的位置,在浏览变异截图时便于快速锁定目标变异,bedGraph文件示例如下

track type=bedGraph name=Variant_info description=Variant_info maxHeightPixels=128:30:32 visibility=full autoScale=off viewLimits=0:10 color=0,0,255 altColor=255,0,0
chr9    114014318   114014318   10
chr7    96894731    96894973    10



03

加载bedGraph文件和bam文件

将文件直接拖进reads区域即可。

04

运行批量脚本

批量脚本在Windows系统中以.bat结尾,其内容如下:

maxPanelHeight 5000
goto chr7:96894700-96894998
sort position
snapshot chr7_96894733_96894970_DEL.png
goto chr9:114014278-114014357
sort position
snapshot chr9_114014317_114014317_INS.png
加载完bam和bedGraph文件后,选择“Tools”中“Run Batch Scripts”,选择编写的批量脚本。



05

查看截图结果

截图结果,默认保存在IGV的安装的目录,例如C:\Program Files\IGV_2.8.7路径下。


截图中最上面蓝色的横条表示目标区域的变异,高低无意义,主要看左右两端的位置。


参考资料


  1. IGV官网:http://www.igv.org/

  2. IGV使用说明:https://software.broadinstitute.org/software/igv/book/export/html/37



作者:大行山

审稿:童蒙

编辑:amethyst



往期回顾


1、TRUST4免疫组库分析

2、浅谈全基因组复制

3、全长转录本结构分析(下)

4、配对差异分析与非配对差异分析的区别

5、Pacbio文库如何加上barcode


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存