生信学习笔记:利用GATK call SNP

这篇博客介绍了如何利用GATK进行SNP调用,详细阐述了从安装GATK到SNP检测的整个流程,包括环境配置、GATK的使用以及比对文件的处理。内容涵盖了Java、Python、R的版本需求,以及GATK的MarkDuplicates、Local realignment、Base quality score recalibration等步骤,并提供了相关命令行示例。
摘要由CSDN通过智能技术生成

生信学习笔记:利用GATK call SNP

SNP是指在基因组上单个核苷酸的变异,包括置换、颠换、缺失和插入。SNP在基因组中分布相当广泛,近来的研究表明在很多物种基因组中每300bp就出现一次。大量存在的SNP位点,使人们有机会发现与各种疾病,包括肿瘤相关的基因组突变。既然SNP那么广泛存在,获得SNP就变成一项重要的任务。在经历了样本收集、测序、质控和mapping后,我们输出了bam格式的数据。之后,我们就要尝试利用GATK call SNP了。

安装GATK

GATK提供多种方法安装,初学者容易陷入混乱,这里提供一张较为便捷的方法,后面附录在介绍其他安装办法。

  1. 配置要求

GATK官网有明确说明,有以下要求:

  1. 支持Linux和MacOS系统,不支持Windows系统(本文用的centos7环境)
  2. 需要java8环境
  3. 需要python2.6或以上版本,以及python3.6.2的版本,可以用conda切换python版本。两者都用于运行一些python脚本。
  4. 需要R 3.2.5,用于画一些图

注意这只是运行要求,GATK安装分为直接解压运行版和build版,这里介绍规范的build过程,直接解压运行的在附录中会提到。

  1. 配置java环境

这个很多同学都会配置,但是鉴于有部分同学还是不是很会配置,这里我们将介绍。

有些同学不知道自己的系统有没有安装适合的java版本,可以用以下命令查看:

$ java -version

如果是1.8就跳过这一步骤,不过比这个版本低的话就继续阅读本步骤的内容。

首先到官网下载jdk到本地,先用浏览器到官网上寻找自己要的版本,然后获得链接,在centos上用wget下载(如果下载得很慢的话可以试试先下载的Windows上,然后用传输工具传输到centos机子上),如要下载jdk-8u171-linux-x64.tar.gz,则在合适的文件夹下面用wget下载:

$ wget https://download.oracle.com/otn/java/jdk/8u221-b11/230deb18db3e4014bb8e3e8324f81b43/jdk-8u221-linux-x64.tar.gz

需要注意的是无论从Windows浏览器下载还是利用centos命令行下载都需要接受它们的license。因此应当用以下的指令,否则可能出现错误。

$ wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8u171-linux-x64.tar.gz

此外还要注意自己的目标系统的版本,是64位还是32位的,以及下载rpm包安装还是下载压缩包解压安装,这里演示利用压缩包安装的步骤。

$ tar -zxvf jdk-8u221-linux-x64.tar.gz             # 具体版本以自己下载为准

$ cd jdk-8u221-linux-x64

# 配置环境变量

$ vim /etc/profile   # 这种不是很安全,可以用以下更多安全的方法

$ vim ~/.bash_profile

在上面其中一个文件末尾加入下列内容(根据自己的情况修改):

export JAVA_HOME=(你自己的jdk路径)

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

最后记得检查下是否按照jdk8成功

$ java -version

另外我想到一个更加简单的办法,可以直接在有管理员权限的前提下,使用yum安装。

$ sudo yum list java-1.8* 

$ yum install java-1.8.0-openjdk* -y

$ java -version

  1. 配置gradle环境

安装gradle的方法其实和按照java的方法一样,在官网下载安装包,解压后设置环境变量。

传统的按照方法当然也可以,但是这里推荐一个更加简单的办法,那就是用sdkman安装。

这个sdkman很有意思,编写人估计想给它赋予类似人的智商,所以help、安装过程和网站都与众不同。在官网也有介绍便捷的安装方式,这里简单说一下:

$ curl -s "https://get.sdkman.io" | bash

在打入这个指令之后会冒出一段话,同学们应当根据这段话最后的指令执行。执行完成后就算安装了。

$ source "$HOME/.sdkman/bin/sdkman-init.sh"

检查安装

$ sdk version

如果出现版本的话就算安装成功了,然后就可以直接输入指令:

$ sdk java gradle

就可以安装最新版的gradle了,安装完后记得检查一下是否安装成功:

$ gradle -version

还有人说python和java也都可以用这个sdkman安装,大家可以试试看。

  1. 下载python2.6或以上版本

Centos7自带python 2.7,所以本身已经达到2.6的要求无需再升级。但是GATK要求安装python 3.6.2或以上,所以我们可以再安装python3.7,如果需要切换的话,可以手动切换,或者用conda切换。Python3.7的安装方法这个博主已经说得很清楚了,大家按照他的方法安装就可以了。地址:

https://www.cnblogs.com/cosiray/p/9946401.html

  1. 下载R 3.2.5或以上版本

R的安装也十分方便,直接用yum和EPEL安装就可以了。

首先安装EPEL:

$ sudo yum install epel-release                       # 如果安装了就无需再安装

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值