1安装方法
首先安装好java环境,通过官网下载最新版本的软件压缩包,然后解压即可,最好安装在自己熟悉的目录下。
java检测
java -version
配置数据库
有一些物种已经有官方的注释数据库,可以直接进行下载, 比如人类基因组,用如下代码下载:
java -jar snpEff.jar download GRCh38.76
如果需要查找哪些物种有现成的数据库,可以使用如下命令:
java -jar snpEff.jar databases
如果官方没有给出数据库,就需要自行建立数据库,
查找是否有我要用的数据库,如我要找小麦(Triticum)的
java -jar snpEff.jar databases |grep "Triticum"
找到的库叫Triticum_aestivum
(查看全部数据库: java -jar snpEff.jar databases |less -S)
2.构建自有物种数据库
因为我是要从头构建注释基因集,所以它自带的数据库对我就没有什么用
下载水稻基因组及注释 http://rice.uga.edu/pub/data/Eukaryotic_Projects/o_sativa/annotation_dbs/pseudomolecules/version_7.0/all.dir/
而第一步便是要找到snpEff.config这个文件进行添加
配置文件修改
需要修改的配置文件在snpEff目录下, 文件名为snpEff.config,打开这个文件,在最后一行添加自定义数据库信息(这里的wheat可以自定义,但是要保持一致)
echo "rice.genome:rice" >> snpEff.config
数据库路径设置
按照如下设置进入snpEff的安装目录并创建文件夹:
cd snpEff #进入 snpEff 目录下
mkdir data #新建 data 目录
cd data #进入 data 目录下,必须在该目录
mkdir genomes #新建 genomes 目录,用于建立 rice 目录中的 bin
mkdir rice #新建 rice目录,对应物种名或后续软件调用的参数名
将参考基因组.fa文件放在genomes文件夹中,并改名为rice.fa,并将gff注释文件放在rice文件夹中改名genes.gff3,
rice文件夹中包括了genes.gff3 cds.fa protein.fa ##无论原名是啥都改为这个
运行脚本形成bin文件
准备好文件后,回到软件目录,并执行以下命令,自动生成参考文件。检查一下存放参考基因组注释文件的目录下是否出现一些以.bin结尾的文件(数量与参考基因组染色体数有关),有就代表构建成功。
java -jar snpEff.jar build -gff3 -v rice
# -c , -config : Specify config file
# -v , -verbose : Verbose mode (详细模式)
4、利用下载的数据库文件给vcf文件注释(不需要cd到data文件夹里)
java -jar snpEff.jar -c snpEff.config rice 156_2_35.7_filted.vcf.recode.vcf > 156.new.new.vcf
java -Xmx8g -jar snpEff.jar rice 需要被注释的vcf文件路径/snp_test.vcf > 存放结果文件的路径/snp_test_rs.vcf
java-Xmx4g-jar../snpEff.jar ann Amur_ide-o vcf-v./alk_fw_pass_merged_filter.vcf-csvStats1.csv-stats1.html>selected.ann.vcf##-Xmx:堆内存的最⼤值,默认值是物理内存的1/4(且⼩于1G),如默认情况下当堆中可⽤内存⼤于70%时,堆内存会开始减少,⼀直减⼩到-Xms的⼤⼩#-csvStats<file>:Create CSV summary file.#-s,-stats,-htmlStats:Create HTML summary file.Defaultis'snpEff_summary.html'#-o<format>:Ouput format[vcf,gatk,bed,bedAnn].Default:VCF.#-formatEff:Use'EFF'field compatiblewitholder versions(instead of'ANN').(使用与旧版本兼容的'EFF'字段(而不是'ANN')。)
5、注释结果:文件后半部分如下图,会告知每个snp的位置,是在哪个基因的上游/下游,是否是同义突变等等