snpEff的使用是在Linux系统中Java运行环境下。
一、下载snpEff
方法一:
直接在家目录下载使用命令
wget http://sourceforge.net/projects/snpeff/files/snpEff_latest_core.zip
解压命令:
unzip snpEff_latest_core.zip
二、查看snpEff是否存在需要的数据库
1、snpEff_latest_core.zip解压后会产生一个名为snpEff的文件夹(或者叫目录),在该目录下输入以下命令,便可查看snpEff中的数据库:
java -jar snpEff.jar databases > snpEff.databases.list.txt
grep -i Zea_mays snpEff.databases.list.txt
2、如果数据库存在,则会显出来,同时显示的还有数据库下载的网址。
3、没有的话,准备建立本地数据库。
三、建立数据存储目录
1、在snpEff建立data目录
cd snpEff
mkdir data
2、在data目录下建立genomes和Zea_mays.AGPv2(数据库名)目录
mkdir genomes
mkdir Zea_mays.AGPv2
四、配置自己的基因组和注释文件
准备三个数据(以本人数据为例,参考基因组为玉米B73的v2版本)
基因组序列信息(fasta文件):Zea_mays.AGPv2.17.dna.toplevel.fa,简写为Zea_mays.AGPv2.fa,放入genomes目录下;
序列注释文件(gtf或gff3):Zea_mays.AGPv2.17.gtf ,简写为genes.gtf,放入Zea_mays.AGPv2目录下;
GWAS群体的基因型信息(vcf文件):221.recode.vcf 放入data目录下。
此处很重要!!!
五、更改配置文件snpEff.config
编译后,点击“ESC”退出编辑模式,输入“:wq”保存并退出。
2、数据库建立
在snpEff目录下输入命令:java -jar snpEff.jar build -gtf22 -v Zea_mays.AGPv2
如果是gtf3文件,命令为:java -jar snpEff.jar build -gff3 -v Zea_mays.AGPv2
如果成功那么在Zea_mays.AGPv2目录下会有一个".bin"文件产生。
六、对vcf格式文件进行注释
1、在data目录下命令如下:
java -Xmx16g -jar ../snpEff/snpEff.jar eff -v Zea_mays.AGPv2 -c ../snpEff/snpEff.config -i vcf 221.recode.vcf > 221.snp.vcf
2、命令代码解析:(参考出处> http://blog.sina.com.cn/s/blog_ab3eddb50102vzm6.html)
-Xmx16g: 指定内存16G
-jar: 指找到snpEff.jar的路径
eff -v: 指明物种名
-c: 指找到snpEff.config的路径
-i vcf: 指明文件格式及其文件
> 221.snp.vcf : 输出文件的名字及文件格式
3、成功后,在data目录下会产生两个文件:
snpEff_summary.html
221.snp.vcf
snpEff_summary.html在网页中查看
221.snp.vcf中Notepad++中查看
七、几点感悟
1、先说明非常重要一点:建立本地数据库太麻烦了,以上几个步骤,成功走下来不是一两天就可以的,各种BUG!
2、非常感谢小谢师兄的无私帮助和耐心指导,不然对于我这样的生信小白早就卡死在入门的门槛上。
3、感谢那些愿意写下总结并发送上网的人儿,根据他们的文章我一遍遍的修改错误,这也是我写此篇总结的初衷,希望也可以给别人带去微小的帮助。
4、感谢自己的不放弃,冒着“猝死”的生命危险,凌晨三点钟仍在一遍一遍的修改代码,思考问题出在哪里。
奋斗吧,骚年们!