关于snpEff:SNPeff比bcftools具有更多的注释功能。snpeff是用于变异注释的软件,其中的eff是effect的意思,也就是变异的影响,虽然叫做snpeff,但是变异的位点不仅仅包括snp,也包括小的插入,缺失等。SNPeff软件包中包含两个程序snpeff与snpsift。
snpeff主要用来预测snp突变的影响,包括氨基酸变化等,这个根据密码字表就可以判断,不需要依赖数据库,输入文件是变异检测得到的vcf文件;snpsift的功能是用来操作变异结果文件,包括过滤,注释,统计,合并,分割等等操作。在进行注释的时候,需要使用相关数据库。和其他所有注释工具一样,注释内容严重依赖数据库的信息。(来自:vcf格式文件处理大全(三) (24kbox.com))
1、snpEff安装
官网上有教程,很简单(官网网址:Download and install - SnpEff & SnpSift Documentation (pcingola.github.io)),具体如下
2、查找是否有我要用的数据库,如我要找小麦(Triticum)的
java -jar snpEff.jar databases |grep "Triticum"
找到的库叫Triticum_aestivum
(查看全部数据库: java -jar snpEff.jar databases |less -S)
(如果没有你要的,就需要自己配置,过程:snpEFF的使用 - 简书 (jianshu.com))
3、下载数据库
java -jar snpEff.jar download Triticum_aestivum #经过上面查找,使用全名为Triticum_aestivum的数据库文件
下载后会在snpEff目录下生成一个名为data的文件夹,里面会有一个bin文件。则下载成功
4、利用下载的数据库文件给vcf文件注释(不需要cd到data文件夹里)
java -Xmx8g -jar snpEff.jar Triticum_aestivum 需要被注释的vcf文件路径/snp_test.vcf > 存放结果文件的路径/snp_test_rs.vcf
5、注释结果:文件后半部分如下图,会告知每个snp的位置,是在哪个基因的上游/下游,是否是同义突变等等