annnovar filter-based annotaton用于分析哪些变异位点是数据库中的已知位点,在判断时,除了染色体位置之外,allel也必须相同。region-based annotation 在分析时只考虑基因组位置,只要是存在overlap关系就会输出结果,而filter-based annotation会更加严格,首先要求基因组上的起始和终止位置必须完全一致,其次变异位点的allel也必须完全相同才行。
简而言之,filter-based annotation 就是在做一个数据库检索的工作,将和数据库中完全相同的记录输出出来,看上去就像在对原始输入文件进行一个筛选,所以叫做filter-based annotation。
对于filter-based annotatoin 而言,数据库众多,常用的数据库可以分成以下8个类别
数据库非常的多,每个数据库的详细介绍可以参考annovar的官方文档。这些数据库文件都比较大,从几个G到上百G都有,所以就不一一展示了。这里以1000g2015aug
为例,进行说明
第一步,下载数据库,命令如下
annotate_variation.pl -buildver hg19 -downdb 1000g2015aug humandb
第二步,进行注释,命令如下
annotate_variation.pl -filter -dbtype 1000g2015aug_all -buildver hg19 ex1.avinput humandb/
NOTICE: Variants matching filtering criteria are written to ex1.avinput.hg19_ALL.sites.2015_08_dropped, other variants are written to ex1.avinput.hg19_ALL.sites.2015_08_filtered
NOTICE: Processing next batch with 23 unique variants in 23 input lines
NOTICE: Database index loaded. Total number of bins is 2824642 and the number of bins to be scanned is 19
NOTICE: Scanning filter database humandb/hg19_ALL.sites.2015_08.txt...Done
输出文件有两个,在数据库中有记录的输出到后缀为hg19_ALL.sites.2015_08_dropped
文件中,这个文件在输入文件的基础上新增了两列注释信息,内容如下
1000g2015aug_all 0.0676917
1000g2015aug_all 0.620607
1000g2015aug_all 0.843251
1000g2015aug_all 0.0227636
1000g2015aug_all 0.548922
1000g2015aug_all 0.903155
第一列表示数据库的名字,第二列表示1000G数据库中的突变位点在人群中的等位基因频率MAF。
在数据库中没有的记录就输出到后缀为hg19_ALL.sites.2015_08_filtered
文件中。
从这个例子可以看到,filter-based annotation其实包含了两个含义:filter 和 annotation, 对于数据库中存在的突变位点,采用数据库中的注释信息进行注释;对于数据库中不存在的突变位点,筛选出来保存到一个单独的文件中。
在使用filter-based annotation时,数据库的选择是核心。这就要求对于常用的数据库非常了解,知道其中存储了哪些注释信息,应用起来才能得心应手。在之前的文章中也对其中部分数据库进行了简单介绍,大家可以参考。
对于annnvar 而言,gene-based annotation 提供了两种信息,与突变位点距离最近的基因和突变位点在基因组特征上的分布;region-based annotation 提供了变异位点与某段区域的overlap信息,这里的某段区域可以灵活选择,比如转录因子结合区,组蛋白集合区等等;filter-based annotation 提供了数据库检索和过滤功能,不同类型的数据库提供了多种类型的注释信息。总而言之,annovar 软件使用起来简单方便,但是理解诸多的数据库才是核心。