ANNOVAR工具
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工具的更多相关文章
- 突变注释工具SnpEff,Annovar,VEP,oncotator比较分析--转载
https://www.jianshu.com/p/6284f57664b9 目前对于variant进行注释的软件主要有4个: Annovar, SnpEff, VEP(variant Effect ...
- 【software】变异注释工具:annovar
annovar提供三种注释方式 一,基于基因的注释 给定变异,看变异是否影响编码蛋白的改变 支持基因定义系统:RefSeq genes, UCSC genes, ENSEMBL genes, GENC ...
- annovar 注释除人类以外的SNP
1. 准备文件: ref.fa ref.gtf或者gff3,最好是gtf3,可将gff3转化为gtf sample.vcf 2. 用gff3ToGenePred与gtfToGenePred工具将gtf ...
- Unity3d入门 - 关于unity工具的熟悉
上周由于工作内容较多,花在unity上学习的时间不多,但总归还是学习了一些东西,内容如下: .1 根据相关的教程在mac上安装了unity. .2 学习了unity的主要的工具分布和对应工具的相关的功 ...
- 细说前端自动化打包工具--webpack
背景 记得2004年的时候,互联网开发就是做网页,那时也没有前端和后端的区分,有时一个网站就是一些纯静态的html,通过链接组织在一起.用过Dreamweaver的都知道,做网页就像用word编辑文档 ...
- 应用工具 .NET Portability Analyzer 分析迁移dotnet core
大多数开发人员更喜欢一次性编写好业务逻辑代码,以后再重用这些代码.与构建不同的应用以面向多个平台相比,这种方法更加容易.如果您创建与 .NET Core 兼容的.NET 标准库,那么现在比以往任何时候 ...
- .NetCore中的日志(2)集成第三方日志工具
.NetCore中的日志(2)集成第三方日志工具 0x00 在.NetCore的Logging组件中集成NLog 上一篇讨论了.NetCore中日志框架的结构,这一篇讨论一下.NetCore的Logg ...
- dll文件32位64位检测工具以及Windows文件夹SysWow64的坑
自从操作系统升级到64位以后,就要不断的需要面对32位.64位的问题.相信有很多人并不是很清楚32位程序与64位程序的区别,以及Program Files (x86),Program Files的区别 ...
- Java基础Map接口+Collections工具类
1.Map中我们主要讲两个接口 HashMap 与 LinkedHashMap (1)其中LinkedHashMap是有序的 怎么存怎么取出来 我们讲一下Map的增删改查功能: /* * Ma ...
随机推荐
- Vue组件通信(传值)
先介绍一下什么是组件把: 创建组件的两种方式: 全局组件 // 组件就是vue的一个拓展实例 let component=Vue.extend({ data(){ return{ //与vue实例中的 ...
- web框架详解之tornado 三 url和分页
一.代码目录构建 controllers :处理业务逻辑的 account:处理账户相关的 上面目录作用和内容 controllers 包 :处理业务逻辑的 account:处理账户相关的 home ...
- mysql 索引技巧
索引是快速搜索的关键.MySQL索引的建立对于MySQL的高效运行是很重要的.下面介绍几种常见的MySQL索引类型. 在数据库表中,对字段建立索引可以大大提高查询速度.假如我们创建了一个 mytabl ...
- 算法(Algorithms)第4版 练习 1.5.8
假设原id数组: 0 1 1 4 4 8 6 1 8 0 输入p = 5, q = 7 则输出结果会出错,最终为: 0 1 1 4 4 1 6 1 8 0 因为当id[p](id[5] = 8)被赋值 ...
- Hive- 表
在hive中表的类型:管理表和托管表(外部表). 内部表也称之为MANAGER_TABLE,默认存储在/user/hive/warehouse下,也可以通过location指定:删除表时,会删除表的数 ...
- javascript 数组 去重
javascript数组去重有如下 方法: 一) 利用 数组中的 indexOf判断 例如: Array.prototype.unique=function(){ var n=[]; for(var ...
- BEC listen and translation exercise 45
So the Counselling Services we offer deal with any problems arising from your studies or in your lif ...
- 如何查看myeclipse是否激活
myEclipse---->Subscription information--->Subscription expiration date 看这个日期到什么时候!另外建议别用太高版本的M ...
- Java面试题10(如何取到set集合的第一个元素)
1.如何取到set集合的第一个元素. public static void main(String[] args) { Set set = new HashSet(); set.add("x ...
- node.js的国内源
node.js在使用npm安装包是,由于源是国外的,有可能会被GFW屏蔽. 通过下面的方法可以把源指向国内的. 具体方法如下: 编辑 ~/.npmrc 加入下面内容 registry = http:/ ...