本文介绍如何用Annovar注释人类以外的基因组。
分析过NGS
数据的朋友应该都听说过乃至使用过Annovar
这个工具。
Annovar是一款对基因组数据进行注释
的软件。所谓注释,可以这样简单理解:我们知道二代测序下机后的序列经过比对后,会得到一系列变异数据,这些变异数据只是告诉我们在基因组的某个位置发生了一段序列的改变,至于这个改变会不会影响生物学功能,我们并不清楚。而注释就是将基因组的序列变异数据转化为我们更关心的生物学功能变化的信息。
Annovar常被用在人类基因组的注释上,其实,它也可以对人类以外的基因组数据进行注释。比如,老鼠基因组的注释上。
annovar一般只包含人类基因组注释数据库,其他的物种如小鼠需要自己进行建立注释信息。
第一步:下载annovar软件 上Annovar官网下载(http://annovar.openbioinformatics.org/en/latest/user-guide/download/),现在要邮件注册后才能下载。邮件注册后会给你最新版软件下载地址,下载后文件为annovar.latest.tar.gz。 第二步:安装Annovar linux系统下用该命令解压
代码语言:javascript复制tar zxvf annovar.latest.tar.gz
解压后生成annovar文件夹,里面有6个perl脚本程序和两个文件夹,其中一个是example文件夹,另一个是已经建立好的hg19或者GRCh37的humandb的数据库文件夹,可用于人的注释。 第三步:使用Annovar 人的注释方法,官网介绍的很详细,但仅仅有人的数据库肯定是满足不了大家的需求。
一般如果你想看是否有某种物种,如小鼠mm9的注释库时,命令行运行
代码语言:javascript复制perl annotate_variation.pl -builder mm9 -downdb avdblist -webfrom annovar ./
会生成一个mm9开头的文件,里面包含小鼠mm9有多少注释数据库,然后自己可以构建一个mousedb数据库 先在annovar文件夹里面创建mousedb文件夹(名字可自取),命令mkdir mousedb 然后使用annovar文件夹下的perl程序annotate_variation.pl
代码语言:javascript复制perl annotate_variation.pl -downdb -buildver mm9 -webfrom annovar refGene mousedb/
这个命令能实现的是帮忙下载mm9的refGene的文件,保存在mousedb文件下,自动解压后文件名为mm9_refGene.txt。 然后程序会提示使用以下两个命令继续建库
代码语言:javascript复制annotate_variation.pl --buildver mm9 --downdb seq mousedb/mm9_seq
retrieve_seq_from_fasta.pl mousedb/mm9_refGene.txt -seqdir mousedb/mm9_seq -format refGene -outfile mousedb/mm9_refGeneMrna.fa
同样在annovar文件下运行这两个perl程序
代码语言:javascript复制perl annotate_variation.pl --buildver mm9 --downdb seq mousedb/mm9_seq
通过这个命令,会在mousedb下创建文件夹mm9_seq,并且在里面下载mm9的基因组文件chromFa.tar.gz,perl程序帮忙解压后是按染色体分开的fasta格式文件。 然后继续运行perl程序
代码语言:javascript复制perl retrieve_seq_from_fasta.pl mousedb/mm9_refGene.txt -seqdir mousedb/mm9_seq -format refGene -outfile mousedb/mm9_refGeneMrna.fa
该程序会会在mousedb下创建mm9_refGeneMrna.fa文件,是根据mm9_refGene.txt的信息,重新构建成的老鼠转录表达基因fasta格式文件 这样老鼠mm9 annovar gene based注释库就弄好了 以文本文件test.input为案例进行测试 生成test.input的txt格式文件,根据annovar官网介绍,只要这最基本的五列信息就可以进行注释,五列分别染色体名称,染色体上的位置,染色体上的位置,参考基因组碱基,变异碱基。
代码语言:javascript复制1 19215217 19215217 T C
1 33803084 33803084 A G
1 33803198 33803198 A G
1 37499237 37499237 T C
1 37499238 37499238 T C
1 37500003 37500003 T C
1 43826936 43826936 T C
1 58853960 58853960 A G
1 58854487 58854487 A G
1 60436865 60436865 T C
然后使用perl程序进行gene based的注释
代码语言:javascript复制perl annotate_variation.pl -out test -build mm9 test.input mousedb
注释后会生成test.variant_function,test.exonic_variant_function和test.log文件,前两个即为所需要的文件。用这个例子输出test.exonic_variant_function文件输出为空文件,因为这些位点没有在exonic区域的,所以没有结果。如果有位点在exonic中,则在test.exonic_variant_function中会更具体的描述为同义突变还是非同义突变
代码语言:javascript复制intronic Tfap2b 1 19215217 19215217 T C
UTR3 Bag2 1 33803084 33803084 A G
UTR3 Bag2 1 33803198 33803198 A G
UTR3 Mgat4a 1 37499237 37499237 T C
UTR3 Mgat4a 1 37499238 37499238 T C
UTR3 Mgat4a 1 37500003 37500003 T C
intronic Uxs1 1 43826936 43826936 T C
intronic Casp8 1 58853960 58853960 A G
intronic Casp8 1 58854487 58854487 A G
intronic Cyp20a1 1 60436865 60436865 T C