前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ANNOVAR gene-based annotation

ANNOVAR gene-based annotation

作者头像
生信修炼手册
发布2020-05-11 10:34:01
1.5K0
发布2020-05-11 10:34:01
举报
文章被收录于专栏:生信修炼手册生信修炼手册

通过基因相关注释,可以知道变异位点在基因组上的位置和对蛋白质编码的影响。在进行注释之前,首先需要下载物种对应的数据库,以human为例,命令如下

annotate_variation.pl -downdb -buildver hg19 -webfrom annovar refGene humandb/

下载成功后,humandb的文件列表如下

代码语言:javascript
复制
├── annovar_downdb.log
├── hg19_refGeneMrna.fa
├── hg19_refGene.txt
└── hg19_refGeneVersion.txt

数据库准备好之后,就可以进行注释了,命令如下

annotate_variation.pl —geneanno -buildver hg19 ex1.avinput humandb

运行过程中的log信息如下

代码语言:javascript
复制
NOTICE: Output files were written to ex1.avinput.variant_function, ex1.avinput.exonic_variant_function
NOTICE: Reading gene annotation from humandb/hg19_refGene.txt ... Done with 63481 transcripts (including 15216 without coding sequence annotation) for 27720 unique genes
NOTICE: Processing next batch with 21 unique variants in 21 input lines
NOTICE: Reading FASTA sequences from humandb/hg19_refGeneMrna.fa ... Done with 15 sequences
WARNING: A total of 405 sequences will be ignored due to lack of correct ORF annotation

会输出两个文件,后缀分别为.variant_function.exonic_variant_function

1. variant_function

这个文件在输入文件的前面,新加了两列,第一列代表变异位点在基因上的区域,比如外显子,内含子,基因间区等;第二列给出对应的基因。示例如下

代码语言:javascript
复制
UTR5    ISG15(NM_005101:c.-33T>C)
UTR3    ATAD3C(NM_001039211:c.*91G>T)
intronic        DDR2
intronic        DNASE2B
intergenic      UBIAD1(dist=43968),DISP3(dist=135699)
exonic  IL23R
exonic  ATG16L1

annovar将基因组划分成了9种区间

  1. exonic
  2. splicing
  3. ncRNA
  4. UTR5
  5. UTR3
  6. intronic
  7. upstream
  8. downstream
  9. intergenic

exonic特指编码蛋白的外显子区;UTR5UTR3特指不翻译蛋白的外显子区;splicing指的是位于内含子边界(默认2bp以内)的区域;ncRNA指的是非编码蛋白的基因区域;intronic指的是内含子区;upstream指的是转录起始位点上游1Kb以内的区域;downstream指的是转录终止位点下游1kb以内的区域;intergenic值的是基因间区。

在判断一个变异位点所处区域时,以上9种区间的优先级是不同的,下图中列出了每种区间的优先级,数字越小,优先级越高。

如果一个变异位点位于某个基因区域时,第二列会给出对应的基因名称,如果有多个基因名称,则逗号分隔,比如

exonic ATG16L1

如果一个变异位点位点不在基因区域,第二列会给出上下游最近的基因的名字和距离,比如

intergenic UBIAD1(dist=43968),DISP3(dist=135699)

2. exonic_variant_function

这个文件只对位于exonic区间的变异位点,给出对应的氨基酸变化信息。在输入文件的基础上新增了3列,第一列代表行数,第二列代表变异类型,第三列代表氨基酸的变化情况,示例如下

代码语言:javascript
复制
line9   nonsynonymous SNV       IL23R:NM_144701:exon9:c.G1142A:p.R381Q,

annovar提供了以下几种变异类型

  1. frameshift insertion
  2. frameshift deletion
  3. frameshift block substitution
  4. stopgain
  5. stoploss
  6. nonframeshift insertion
  7. nonframeshift deletion
  8. nonframeshift block substitution
  9. nonsynonymous SNV
  10. synonymous SNV
  11. unknown

在定义变异类型时,首先基于4种基本的变异类型,SNV, insertion, deletion, block substitution, 再结合其对蛋白编码的影响。对于SNV而言,引起了蛋白质变化的就是synonymous SNV, 蛋白质没有变化的就是 nonsynonymous SNV;对于剩下的3种基本变异类型,在考虑对蛋白质的影响时,分为了移码frameshift和非移码nonframeshift 两种。stopgain指的是突变之后,原本的密码子变成了终止密码子,stoploss指的是突变之后,原本的终止密码子变成了普通密码子,导致翻译情况变化较大。unknown代表不清楚该变异对蛋白的影响。

和分析变异位点所处区间类似,评估变异类型时也有优先级的区分,优先级如下

在表示蛋白质的影响时,annovar采用的是自己定义的表示规则,如果想要使用HGVS定义的规则,只需要在运行时添加-hgvs参数,示例如下

annotate_variation.pl —geneanno -buildver hg19 -hgvs ex1.avinput humandb

添加这个参数之后,exonic_variant_function文件的第三列示例如下

IL23R:NM_144701:exon9:c.1142G>A:p.R381Q

可以看到,采用的是HGVS的命名方式。

在使用annovar注释时,还有一个小技巧。因为只需要输入文件的前5列,当我们只有基因区间文件,比如bed格式的文件时,可以将4,5列用0填充,这样的格式annovar也是可以识别的,这样就可以对基因组上的区间进行基因相关的注释了。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信修炼手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. variant_function
  • 2. exonic_variant_function
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档