IGV安装

Integrative Genomic Viewer(IGV)bam文件可视化必备软件。

官方下载:http://software.broadinstitute.org/software/igv/download

官方使用说明:http://software.broadinstitute.org/software/igv/book/export/html/6

民间中文教程:http://tiramisutes.github.io/2018/02/05/IGV.html

输入文件:参考基因组fa,参考基因组的gtf文件(非必须),观察目标bam & bai文件。

bai文件生成,samtools index input.bam 如果想更改CPU数可以加 -@ 5 参数,bai文件自动生成到input.bam同一个文件夹下

使用:可以查看多个bam文件在某个位点的突变情况,以此确认某些覆盖率比较低或者突变率比较低的位点(或其他任意感兴趣位点)的真实情况,避免日常gatk或其他分析流程有最低阈值筛选掉的目标位点。一般可以用来确认少量位点(因为人工看很慢),大量位点建议使用samtools mpileup 或 bam-readcount来完成每个目标位点的碱基统计,直接用数据分析。




mac java默认路径 mac的java使用教程_Windows


IGV可以直接下载到带桌面图像的MAC,Linux或Windows系统的本地电脑直接使用,但由于很多bam文件或者参考基因组都放在服务器上,转移到本地电脑比较麻烦,更有可能带不动,所以在这里看看如何在服务器中安装和IGV,且把可视化图像转到本地电脑屏幕,这样子就能自由使用IGV来进行bam文件可视化啦。

IGV安装(服务器上)

在服务器中下载合适的IGV压缩包并解压 unzip IGV_2.8.2.zip,这个时候进入并打开能看见一个igv.sh文件,可以看一下README,不同的系统用不同的执行文件,以linux系统为例,试一下 bash igv.sh看看是否能执行(此时报错也没关系)


mac java默认路径 mac的java使用教程_java_02

igv解压后


mac java默认路径 mac的java使用教程_mac java 读取到服务器上的文件夹_03

readme.txt

从上面的readme文件可以看到几个信息点:

  1. IGV包只需要解压,不需要安装。
  2. IGV的实际启动代码是java --module-path 那一句,有几个脚本文件写好了帮你自动化地改一些设定,直接启动,所以只需要按需运行脚本就好了,很方便。
  3. 记得修改脚本的权限, chmod a+x igv.sh
  4. 要用本地屏幕来可视化的话,要搭配java11使用
  • 为什么不用conda下载?

我通过conda下载的igv 或者igvtools 都会自动搭配安装java 8,就算你本来安装了java11也会强行更改掉,可是java8又无法启用command line模式“error:Could not create the Java Virtual Machine”,所以就陷入了死循环,所以放弃了。

Java11 安装(服务器上)


wget https://download.java.net/java/GA/jdk11/13/GPL/openjdk-11.0.1_linux-x64_bin.tar.gz
tar -xzvf openjdk-11.0.1_linux-x64_bin.tar.gz


jdk11 也是解压即用的,进入文件夹在bin里能找到执行文件


mac java默认路径 mac的java使用教程_mac java 读取到服务器上的文件夹_04


mac java默认路径 mac的java使用教程_Windows_05

有这些就可以啦

设定路径

igv和Java11都需要设置一下路径,方便你在服务器任意目录下启动他们


vi ~/.bashrc
#进入后跳到最后一行添加下面两句话 (根据你实际的路径)
export PATH=/aboulute/path/to/jdk-11.0.1/bin:$PATH
alias igv='bash /aboulute/path/to/igv.sh'(如果使用别的脚本就写别等脚本)


之后你就能直接使用 “igv"这个command在你服务器上任意目录启用igv啦。

如果不出意外的话,这个时候应该还是报错的,ERROR:No X11 DISPLAY variable was set,来到了图像窗口的问题。

X11安装(本地MAC电脑上)

既然是可视化,那人家就必须要搭配可视化屏幕呀,但服务器一般只有命令行,所以需要把服务器的显示连到你的本地电脑上(大概是这么个意思)。不同的操作系统有对应不同的视窗系统软件,以下mac使用Xquartz,windows系统可以另外查找和安装视窗系统,最后在服务器中用$igv启动就好了。

mac上进行Xquartz安装:https://www.xquartz.org/

mac上设定Xquant:在terminal里修改/etc/ssh/sshd_config文件,把X11Forwarding 参数改为yes,再保存退出。后重启电脑激活 $service ssh restart

不知道为什么 修改不了权限 于是在mac图形界面下弄了
(运行finder -> 点击菜单的 <前往> 点击<前往文件夹> 输入上述路径 /private/etc/ssh/ , 编辑另存后, 在覆盖原来的文件)。Mac 会提示 重新启动(重新登录)

详细步骤见:https://www.jianshu.com/p/0ed9426eb872


mac java默认路径 mac的java使用教程_服务器_06


X11安装(本地Windows电脑上)

如果使用的是Xshell ,会提醒你下载Xmanager,但我不!(因为收费,当然,如果有Xmanager,就可以跳过后面的步骤了) 根据提示再session里改掉设定就好了。


mac java默认路径 mac的java使用教程_mac java默认路径_07


mac java默认路径 mac的java使用教程_mac java 读取到服务器上的文件夹_08


Windows上进行Xming安装:

启动IGV

在mac本地terminal 远程登陆服务器


ssh -X user@14*.***.***.***  # 在平常登陆服务器的命令行上增加一个大写X的参数


在服务器上启动igv,本地电脑上就会自动弹出igv窗口。


mac java默认路径 mac的java使用教程_java_09

igv启动成功,warning不用管

按照igv的使用教程来用就好了(见本文开头)。如果要按基因搜索,一定要加入对应参考基因组的gtf文件。

IGV使用

输入

bam/cram/vcf 文件,记得要先把输入文件index处理,bam文件与bai文件放在同一目录下。导入ref,file(bam/cram/vcf),如果需要根据基因名来查的,还需要从file途径导入bed文件


mac java默认路径 mac的java使用教程_mac java 读取到服务器上的文件夹_10


一开始,范围太大,所以不会显示信息。我这里导入了两个bam(一个NGS一个pacbio),确保两个bam的ref是一样的,然后一同用IGV就可以查看比较同一位置的read情况。


mac java默认路径 mac的java使用教程_服务器_11


查看具体区域,在搜索框中输入具体位点或者序列区域,右上角标尺调节视野大小。


mac java默认路径 mac的java使用教程_Windows_12


mac java默认路径 mac的java使用教程_Windows_13


调节可视化的情况


mac java默认路径 mac的java使用教程_服务器_14

调节reads位置

mac java默认路径 mac的java使用教程_Windows_15

添加颜色标注

mac java默认路径 mac的java使用教程_mac java默认路径_16


如果导入了bed文件,还可以选择下方的 Show Splice Junction Track 查看剪切位点情况。

reads 注释可视化

这篇文章也说得很好:https://www.jianshu.com/p/4089d07ba239

颜色深浅代表可信度(mapping quality 和 base quality),越深越可信

蓝色:插入大小小于期望值;红色:插入大小大于期望值(why?);绿色、青色、深蓝色:倒置、重复、易位事件
insert size:如果想自己统计,那么先把数据比对到基因组上,将read2的比对位点减去read1的比对位点加上read2的长度就是insert size了。


mac java默认路径 mac的java使用教程_java_17

通过insert size来判断缺失插入情况

mac java默认路径 mac的java使用教程_mac java 读取到服务器上的文件夹_18

这段read是比对到了另一个染色体上(原来在chr1,现在比对上chr21)

mac java默认路径 mac的java使用教程_Windows_19

斑点的地方,多有SNP

mac java默认路径 mac的java使用教程_mac java 读取到服务器上的文件夹_20

红色为主,缺失,看NGS的coverage

mac java默认路径 mac的java使用教程_Windows_21

蓝色为主,插入,看NGS的coverage