最开始用SnpEff一直使用最近SnpEff提供的注释库,通过snpEff命令即可查找所需要的数据库名称
java -jar snpEff.jar databases |less -S
而且SnpEff官网也说明只用其默认的提供的数据库即可
SnpEff databases for the most popular genomes are already pre-built and available for you to download. So, chances are that you don’t need to build a database yourself (this will save you a LOT of work)
然后通过 download
命令下载其官网上的数据库即可
java -jar snpEff.jar download -v GRCh38.86
但是最近发现如果我们在Call variant时使用的是Ensembl最新的数据库,比如release-94版本;而我们下载的SnpEff数据库只有release-86版本(GRCh38.86),那么最终的突变注释则还是基于86版本的信息,最简单的偏差的有:
所以我觉得还是有必要将在call variant时选用的参考基因组版本与用SnpEff注释时用的基因组版本保持一致
如何建立snpEFF注释库,官网上有个针对人物种的详细例子,我以release-94版本的小鼠为例:
修改配置文件 vim snpEff.config
,在最后一行后增加对应基因组信息
# ENSEMBL release 94 Mus_musculus_94.genome : Mus_musculus_94
在snpEff目录下的data文件夹内新建Mus_musculus_94目录,用于放置snpEff库文件
mkdir Mus_musculus_94 && cd Mus_musculus_94
下载snpEff建库所需文件,并更改为固定文件名,文件分别有:
参考基因组序列
wget ftp://ftp.ensembl.org/pub/release-94/fasta/mus_musculus/dna/Mus_musculus.GRCm38.dna.primary_assembly.fa.gz
参考注释文件GTF
wget ftp://ftp.ensembl.org/pub/release-94/gtf/mus_musculus/Mus_musculus.GRCm38.94.chr.gtf.gz
参考蛋白序列
wget ftp://ftp.ensembl.org/pub/release-94/fasta/mus_musculus/pep/Mus_musculus.GRCm38.pep.all.fa.gz
参考cds序列
wget ftp://ftp.ensembl.org/pub/release-94/fasta/mus_musculus/cds/Mus_musculus.GRCm38.cds.all.fa.gz
参考regulatory annotations
wget ftp://ftp.ensembl.org/pub/release-94/regulation/mus_musculus/mus_musculus.GRCm38.Regulatory_Build.regulatory_features.20180516.gff.gz
解压缩后并更改名称
gunzip ./* mv Mus_musculus.GRCm38.dna.primary_assembly.fa sequences.fa mv Mus_musculus.GRCm38.93.chr.gtf genes.gtf mv Mus_musculus.GRCm38.pep.all.fa protein.fa mv Mus_musculus.GRCm38.cds.all.fa cds.fa mv mus_musculus.GRCm38.Regulatory_Build.regulatory_features.20180516.gff regulation.gff
最后先切换到snpEff目录下,然后用 snpEff.jar
build一下
java -jar snpEff.jar build -gtf22 -v Mus_musculus_94
但是如果按照上述步骤来的话,会发现在 build
过程中会出现一点错误,snpEff会check protein/cds id是否跟GTF注释文件保持一致,但是现在最新的Ensembl版本下载下来的protein/cds序列中的ID都带有版本号,当在check protein id时会提示:
Protein check: Mus_musculus_94 OK: 0 Not found: 65328
也就是说SnpEff会认为65328个蛋白ID都没有匹配上,但是似乎这个不影响一般的常规VCF注释(因为其突变位点对氨基酸的影响是基于cds序列来的)
如果为了让protein序列的check能正常通过,其实只需要将protein序列中的ID后面的版本号去掉即可
HGVS(HumanGenome Variation Society)基因突变命名规则:
g:基因组参考序列;c:cDNA序列;p:蛋白参考序列;n:非编码DNA参考序列;r:RNA参考序列;m:线粒体DNA参考序列
核苷酸水平:
蛋白水平(基本上与核苷酸水平类似):
突变命名详细说明可查阅: Sequence Variant Nomenclature
参考资料:
最新HGVS基因突变命名规则速览
人类基因组变异标准命名(HGVS)本文出自于 http://www.bioinfo-scrounger.com 转载请注明出处