annovar软件组件介绍之一——table_annovar.pl(译)

对于初学者,使用ANNOVAr的最简单方法是使用table_annovar.pl程序,该程序采用输入突变文件(例如,VCF文件)并生成带有多个制表符分隔的输出文件,每个列表示一组注释。另外,如果输入是VCF文件,则程序还生成新的VCF输出文件,其中INFO字段填充有注释信息。

假设我们已经下载了ANNOVAR包并使用tar zxvf annovar.latest.tar.gz解压缩包。您将看到bin/目录包含有多个.pl后缀的Perl程序。(注意,如果您已将ANNOVAR路径添加到系统可执行文件路径中,则键入annotate_variation.pl即可,而不是键入perl annotate_variation.pl。首先,我们需要使用annotate_variation.pl下载相应的数据库文件,然后我们将运行table_annovar.pl程序来注释example/ex1.avinput文件中的突变。

[yhwang@biocluster ~/]$ annotate_variation.pl -buildver hg19 -downdb -webfrom annovar refGene humandb/
[yhwang@biocluster ~/]$ annotate_variation.pl -buildver hg19 -downdb cytoBand humandb/
[yhwang@biocluster ~/]$ annotate_variation.pl -buildver hg19 -downdb -webfrom annovar exac03 humandb/
[yhwang@biocluster ~/]$ annotate_variation.pl -buildver hg19 -downdb -webfrom annovar avsnp147 humandb/
[yhwang@biocluster ~/]$ annotate_variation.pl -buildver hg19 -downdb -webfrom annovar dbnsfp30a humandb/
[yhwang@biocluster ~/]$ table_annovar.pl example/ex1.avinput humandb/ -buildver hg19 -out myanno -remove -protocol refGene,cytoBand,exac03,avsnp147,dbnsfp30a -operation gx,r,f,f,f -nastring . -csvout -polish -xref example/gene_fullxref.txt

输入文件包含多个列,前几列是您的输入列,以下每个列对应于用户在命令行中指定的“协议”之一。Func.refGene, Gene.refGene, GeneDetail.refGene, ExonicFunc.refGene, AAChange.refGene列包含关于突变如何影响基因结构的各种注释。Xref.refGene列包含基因的交叉引用;在这种情况下,已知的遗传疾病是否是由该基因的缺陷引起的(该信息在命令行的示例/gene_fullxref.txt文件中被填充)。对于接下来的几列,ExAC *列表示所有样本中的等位基因频率以及Exome Aggregation Consortium数据集中的子群体,而avsnp147表示dbSNP 147版本中的SNP标识符。其它列包含预测非同义突变使用几种广泛工具的得分,PolyPhen2 HDIV得分、PolyPhen2 HVAR得分,LRT得分,MutationTaster得分,MutationAssessor得分,FATHMM得分,GERP ++得分,CADD得分,DANN得分,PhyloP得分和SiPhy得分等等。

我们可以更加详细地检查命令行。-operation参数指定ANNOVAR每个协议使用哪些操作:g表示基于基因,gx表示基于基因的交叉引用注释(来自-xref参数),r表示基于区域,f表示基于过滤器。如果您不提供外部参考文件,则操作只能是g。您将在其他网页中找到有关基因/区域/基于过滤器的注释的详细信息。有时,用户需要制表符分隔文件而不是逗号分隔文件,删除上述命令的-csvout参数就可以完成。

在上面的命令中,我们使用-xreffile参数为基因组提供注释。如果文件包含标题行,则可以为基因提供多个注释(而不仅仅是一个列)。为了说名这一点,我们可以检查example/gene_fullxref.txt文件的前两行(包括标题行)。

[yhwang@biocluster ~/project/annotate_variation]$ head -n 2 example/gene_fullxref.txt
#Gene_name      pLi     pRec    pNull   Gene_full_name  Function_description    Disease_description     Tissue_specificity(Uniprot)     Expression(egenetics)  Expression(GNF/Atlas)    P(HI)   P(rec)  RVIS    RVIS_percentile GDI     GDI-Phred
A1BG    9.0649236354772e-05     0.786086131023045       0.2138232197406 alpha-1-B glycoprotein  .       .       TISSUE SPECIFICITY: Plasma.;    unclassifiable (Anatomical System);amygdala;prostate;lung;islets of Langerhans;liver;spleen;germinal center;brain;thymus;       fetal liver;liver;fetal lung;trigeminal ganglion;       0.07384 0.31615 -0.466531444    23.51380042     79.3774 1.88274

标题行以#开头。然后,交叉引用文件包含15种基因注释。您可以运行上面的相同命令,结果文件可以从此处下载。下面显示了部分文件,为用户提供了一个示例:

table_annovar.pl可以直接支持VCF文件的输入和输出(注释将被写入输出VCF文件的INFO字段)。我们试试这个:

[yhwang@biocluster ~/]$ table_annovar.pl example/ex2.vcf humandb/ -buildver hg19 -out myanno -remove -protocol refGene,cytoBand,exac03,avsnp147,dbnsfp30a -operation g,r,f,f,f -nastring . -vcfinput

您可以在此处下载输出文件:ex2.hg19_multianno.vcf。此外,制表符分隔的输出文件也可以(例如, ex2.hg19_multianno.txt),其中包含不同格式的类似信息。您可以在文本编辑器中打开新的VCF文件,并检查文件中已更改的内容:VCF文件中的INFO字段现在包含您需要的注释,以字符串ANNOVAR_DATE开始,ALLELE_END结束。如果多个等位基因位于同一个基因座中,您将在INFO字段中看到多个此类符号。屏幕截图如下所示:

annotate_variation.pl

annotate_variation.pl程序是ANNOVAR中的核心程序。 我们可以转到ANNOVAR目录,然后逐个运行以下三个命令。

annotate_variation.pl -geneanno -dbtyep refGene -buildver hg19 example/ex1.avinput humandb/
annotate_variation.pl -regionanno -dbtype cytoBand -buildver hg19 example/ex1.avinput humandb/
annotate_variation.pl -filter -dbtype exac03 -buildver hg19 example/ex1.avinput humandb/

这三个命令分别对应于基于基因、基于区域和基于过滤器的注释。

第一个命令注释ex1.avinput文件中的12种突变,并将它们分类为intergenic、intronic、non-synonymous SNP、feameshift delete、large-scale duplication等。

检查ex1.avinput文件以查看简单文本格式,每一行对应一个突变。花费几秒钟完成注释,生成两个输出文件为ex1.avinput.variant_function和ex1.avinput.exonic_variant_function。检查example/目录中的两个输出文件以查看它们包含的内容:在variant_function文件中,第一列和第二列注释突变对基因结构和受影响的基因,但其他列则从输入文件中重现。在exonic_variant_function文件中,第一,第二和第三列注释输入文件中的突变行号,突变对编码序列的影响和基因/转录本受到影响,但其他列从输入文件中复制。

接下来,该程序在ex1.avinput文件中注释突变,并为这些突变识别细胞遗传学带。注释过程应该小几秒钟。检查输出文件ex1.avinput.hg19_cytoBand以查看它包含的内容。第一列显示cytoBand,第二列显示注释结果,其他列从输入文件中再现。

接下来,程序识别ex1.avinput中exac03数据库中未观察到的突变子集(保存在ex1.avinput.hg19_exac03_filtered中)以及用等位基因频率观察到的突变子集(保存在ex1.avinput.hg19_exac03_dropped文件中)。

上述命令代表了一组关于ANNOVAR如何帮助研究人员宣传高通量测序数据产生的遗传变异的基本实例。

参考资料

ANNOVAR Guide

ANNOVAR工具的更多相关文章

  1. 突变注释工具SnpEff,Annovar,VEP,oncotator比较分析--转载

    https://www.jianshu.com/p/6284f57664b9 目前对于variant进行注释的软件主要有4个: Annovar, SnpEff, VEP(variant Effect ...

  2. 【software】变异注释工具:annovar

    annovar提供三种注释方式 一,基于基因的注释 给定变异,看变异是否影响编码蛋白的改变 支持基因定义系统:RefSeq genes, UCSC genes, ENSEMBL genes, GENC ...

  3. annovar 注释除人类以外的SNP

    1. 准备文件: ref.fa ref.gtf或者gff3,最好是gtf3,可将gff3转化为gtf sample.vcf 2. 用gff3ToGenePred与gtfToGenePred工具将gtf ...

  4. Unity3d入门 - 关于unity工具的熟悉

    上周由于工作内容较多,花在unity上学习的时间不多,但总归还是学习了一些东西,内容如下: .1 根据相关的教程在mac上安装了unity. .2 学习了unity的主要的工具分布和对应工具的相关的功 ...

  5. 细说前端自动化打包工具--webpack

    背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...

  6. 应用工具 .NET Portability Analyzer 分析迁移dotnet core

    大多数开发人员更喜欢一次性编写好业务逻辑代码,以后再重用这些代码.与构建不同的应用以面向多个平台相比,这种方法更加容易.如果您创建与 .NET Core 兼容的.NET 标准库,那么现在比以往任何时候 ...

  7. .NetCore中的日志(2)集成第三方日志工具

    .NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...

  8. dll文件32位64位检测工具以及Windows文件夹SysWow64的坑

    自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...

  9. Java基础Map接口+Collections工具类

    1.Map中我们主要讲两个接口 HashMap  与   LinkedHashMap (1)其中LinkedHashMap是有序的  怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...

随机推荐

  1. Data Structure Array: Sort elements by frequency

    http://www.geeksforgeeks.org/sort-elements-by-frequency-set-2/ #include <iostream> #include &l ...

  2. flex 坐标系

    全局坐标(舞台坐标)  本地坐标 内容坐标系  地图坐标(MapPoint) flash和flex针对不同的目的,提供了3种不同的坐标系 全局的就是(stage级别的) 本地坐标系(组件级别的) 内容 ...

  3. linux 系统监控好文

    摘自: http://os.51cto.com/art/201005/200714_all.htm

  4. kmplayer音轨切换(换配音)

    ZZ:kmplayer怎么换音轨 kmplayer音轨切换方法 - 当下软件园.html(http://www.downxia.com/zixun/4425.html) kmplayer怎么换音轨 1 ...

  5. linux开机过程

    一.MBR(main boot record)主引导记录 主引导记录位于0盘面,0磁道,0扇区,早期由512个字节组成. 其中446个字节是boot loader程序.Boot Loader是在操作系 ...

  6. 应验log4j.xml时不能找到log4j.dtd

    原因分析:log4j.xml中使用log4j的DTD验证其格式的有效性"<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd&quo ...

  7. Building Performant Expand & Collapse Animations

    t's starting to be pretty common knowledge that there are only 2 things you can animate cheaply in C ...

  8. Python--基础文件读写操作

    1,open(),对文件进行读写操作之前,要先打开文件,获取文件的句柄: 懒人专用方法,文件打开后不用关闭 with open(r'somefile.txt','r+',encoding='utf8' ...

  9. 关于c++中局部变量和全局变量的存储位置及内存回收机制

    局部变量,参数变量存放在栈中,当离开作用范围后,分配的内存在作用范围外会被系统自动回收. new出来的内存空间存放在堆中,不受作用域管理,不会被系统自动回收,只有在使用delete删除或者整个程序结束 ...

  10. bzoj1067降雨量

    True和False都好搞 Maybe的情况: 1.Y年和X年的降雨量已知,X年的降雨量不超过Y年的降雨量,从Y+1到X-1年中存在至少一年的降雨量未知,从Y+1到X-1年中已知的降雨量都小于X年的降 ...