基因组变异注释 — ANNOVAR(一)

news2025/2/25 6:35:32

基因组变异注释 — ANNOVAR(一)

1 简介

ANNOVAR 是一款高效的基因组注释工具,专门用于分析和注释来自多种生物基因组(包括人类的 hg18、hg19、hg38,以及小鼠、蠕虫、果蝇、酵母等)的遗传变异。这个工具实际上就是几个用 Perl 语言编写的脚本,因此可以在安装了 Perl 解释器的多种操作系统上(一般 Linux 自带)运行。

ANNOVAR 的核心功能在于其多样的注释方法,包括基于基因的注释(gene-based annotation)、基于区域的注释(region-based annotation)和基于筛选的注释(filter-based annotation)。基于基因的注释可以识别单核苷酸多态性(SNPs)或拷贝数变异(CNVs)是否导致蛋白质编码的变化及其影响的氨基酸;基于区域的注释用于鉴定特定基因组区域内的变异,如保守区域、转录因子结合位点、GWAS 候选区间等;而基于筛选的注释则用于判断变异是否被特定数据库(如dbSNP、1000 Genome项目)记录,以及进行多种功能预测评分,这也是 ANNOVAR 的主要优势之一。

ANNOVAR_main_workflows
ANNOVAR_main_workflows

ANNOVAR 支持多种输入和输出格式,最常见的输入格式是 VCF 文件,而输出则包括注释过的 VCF 文件、以tab 或逗号分隔的文本文件。除此之外,ANNOVAR 还提供了其他功能,如批量获取特定基因组位置的核苷酸序列,为孟德尔病从外显子组数据中识别候选基因列表等。

总而言之,ANNOVAR 是一款功能丰富、灵活高效的基因组注释工具,适用于广泛的基因组研究和遗传变异分析。与之类似的变异注释软件还包括 VEP、snpEff、VAAST、AnnTools 等。

扫码关注微信公众号【生信F3】获取更多生物信息学最新知识。

ShengXinF3_QRcode
ShengXinF3_QRcode

2 安装

  1. 访问官网下载页面:ANNOVAR Download Center.

  2. 注册

    在下载页面填写基本信息并使用机构邮箱(.edu 或 .gov 结尾的邮箱地址)进行注册。

  3. 下载

    完成注册后,ANNOVAR 会直接在当前页面刷新后提供链接。

    alt

    Linux 系统下载 ANNOVAR 可使用以下命令,但实测下载速度很慢。

    wget http://www.openbioinformatics.org/annovar/download/*/annovar.latest.tar.gz

    推荐使用 Motrix 在 windows 本地下载后上传至服务器中。

  4. 解压和安装

    在 Linux 系统(一般自带 Perl)中,使用 tar 命令解压后即可使用:

    tar -xvfz annovar.latest.tar.gz

    解压后的文件夹中包含以下文件:

    • example:存放的是示例数据文件
    • humandb:部分注释数据库的文件,annovar 的软件中默认自带了 hg19 的 refGene 数据库;
    • annotate_variation.pl:主程序,用来进行数据库的下载,以及不同形式的注释;
    • coding_change.pl:用来推断蛋白质的序列是否发生变化;
    • convert2annovar.pl:将其他多种文件格式(VCF 等)转化为 annovar 可识别的形式;
    • retrieve_seq_from_fasta.pl:自行建立其它物种的转录本
    • table_annovar.pl:可以一次完成三种不同形式的注释
    • variants_reduction.pl:用来定制过滤注释流程

3 用法

3.1 准备输入文件

convert2annovar.pl 脚本可以将其他 “genotype calling” 格式转换为 ANNOVAR 格式。目前,该程序可以处理Samtools 基因型 calling pileup 格式,Illumina CASAVA 格式,SOLiD GFF 基因型调用格式,Complete Genomics 变异格式,SOAPsnp 格式,MAQ 格式和 VCF 格式。此外,该程序还可以从 dbSNP 标识符列表、转录标识符或基因组区域生成 ANNOVAR 输入文件。现今,VCF 是使用最广泛的文件格式,而大多数其他格式已不再使用。

convert2annovar.pl \
 -format vcf4 \
 -allsample \
 -outfile SV \
 input.vcf
  • --format vcf4

    输入文件格式(默认:pileup)

  • --outfile file

    输出文件名(default: STDOUT)

  • --allsample

    对于多样本 VCF 文件,该参数将处理文件中的所有样本,并为每个样本生成单独的输出文件。默认情况下,只处理 VCF 文件中的第一个样本。

转换后用于后续 annovar 注释的输入文件格式为 .avinput,示例如下:

cat example/ex1.avinput

#
 1   948921  948921  T   C   comments: rs15842, a SNP in 5' UTR of ISG15
# 1   1404001 1404001 G   T   comments: rs149123833, a SNP in 3' UTR of ATAD3C
# 1   5935162 5935162 A   T   comments: rs1287637, a splice site variant in NPHP4
# 1   162736463   162736463   C   T   comments: rs1000050, a SNP in Illumina SNP arrays
# 1   84875173    84875173    C   T   comments: rs6576700 or SNP_A-1780419, a SNP in Affymetrix SNP arrays
# 1   13211293    13211294    TC  -   comments: rs59770105, a 2-bp deletion
# 1   11403596    11403596    -   AT  comments: rs35561142, a 2-bp insertion
# 1   105492231   105492231   A   ATAAA   comments: rs10552169, a block substitution
# 1   67705958    67705958    G   A   comments: rs11209026 (R381Q), a SNP in IL23R associated with Crohn's disease
# 2   234183368   234183368   A   G   comments: rs2241880 (T300A), a SNP in the ATG16L1 associated with Crohn's disease
# 16  50745926    50745926    C   T   comments: rs2066844 (R702W), a non-synonymous SNP in NOD2
# 16  50756540    50756540    G   C   comments: rs2066845 (G908R), a non-synonymous SNP in NOD2
# 16  50763778    50763778    -   C   comments: rs2066847 (c.3016_3017insC), a frameshift SNP in NOD2
# 13  20763686    20763686    G   -   comments: rs1801002 (del35G), a frameshift mutation in GJB2, associated with hearing loss
# 13  20797176    21105944    0   -   comments: a 342kb deletion encompassing GJB6, associated with hearing loss
# 8   8887543 8887543 A   T   comments: a mutation that abolishes stop codon
# 8       8887539 8887539 A       T   comments: a mutation that results in premature stop codon
# 8       8887536 8887537 AG      GATT    comments: a mutation that creates a stop codon 2 amino acids downstream
# 8       8887540 8887540 G       GGAA    comments: a mutation that results in insertion of a new amino acid
# 5       1295288 1295288 G       A   comments: a variant upstream of transcriptional start site
# chr14   95602958        95602958        A       C   comments: a variant that affects splicing of UTR regions

文件以空格或者制表符分隔,最少需要 5 列,分别代表:

  1. 染色体 (Chromosome)

  2. 起始位置 (Start)

  3. 终止位置 (End)

  4. 参考等位基因 (Reference Allele)

  5. 替代等位基因 (Alternative Allele)

  6. 其他的列作为额外补充信息 (可选)。插入或者删除以 - 表示,“0” 代表只指定 position,而不指定实际的核苷酸。

3.2 数据库下载

ANNOVAR 的注释主要依赖于数据库,因此在进行分析之前,应将所需的数据库下载到 humandb 文件夹中,下载的命令如下:

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

-buildver:对应参考基因组的版本

-downdb –webfrom annovar:从 ANNOVAR 库中下载对应的数据库,可获取的数据库查询网址为:(http://annovar.openbioinformatics.org/en/latest/user-guide/download/)

avsnp147:下载的数据库的名称,各个数据库的详细介绍可以参考以下链接:https://annovar.openbioinformatics.org/en/latest/user-guide/filter/

humandb:下载到 humandb 文件夹中

3.3 基因注释

确定 SNPs、InDels、SVs 或 CNVs 等是否会引起蛋白质编码变化以及受影响的氨基酸。用户可以灵活使用 RefSeq 基因、UCSC 基因、ENSEMBL 基因、GENCODE 基因、AceView 基因等多种基因定义系统。

3.3.1 模式物种变异注释

对于人类等模式生物,现在下载 ANNOVAR 的最新版本默认自带了 hg19 的数据库,所以基于 hg19 进行的变异检测可以很方便的直接注释SNV/InDel/SV/CNV,如果是 hg38 等其它基因组版本,则需自行下载后再进行注释。

annotate_variation.pl \
 -geneanno \
 -buildver hg19 \
 -dbtype refGene \
 -outfile SV.S1.anno \
 -exonsort \
 SV.S1.avinput /path/to/annovar/humandb

-buildver 基因组版本

-dbtype 数据库类型,参考:https://annovar.openbioinformatics.org/en/latest/user-guide/download/

-neargene [int] 定义基因上游/下游的距离阈值

-exonsort 结果按外显子排序

3.3.2 非模式物种变异注释
非模式物种

针对非模式物种需要首先自己构建数据库,准备基因组文件(genome.fasta)、基因组注释文件(gtf)

gtfToGenePred  -genePredExt genome.gtf genome_refGene.txt
./annovar/retrieve_seq_from_fasta.pl \
 --format refGene \
 --seqfile genome.fasta \
 --out genome_refGeneMrna.fa \
 genome_refGene.txt

3.4 区间注释

识别特定基因组区域的变异,例如 44 个物种的保守区域,预测转录因子结合位点,片段重复区域,GWAS hits,基因组变异数据库,DNAse I超敏位点,ENCODE H3K4Me1/H3K4Me3/H3K27Ac/CTCF 位点,ChIP-Seq 峰,RNA-Seq 峰,或许多其他基因组区间的注释。

3.4.1 识别细胞遗传带(cytogenetic band)

要识别吉氏(Giemsa)染色带,需要首先下载对应数据库信息:

annotate_variation.pl -build hg19 -downdb cytoBand annovar/humandb/

可使用 -dbtype cytoBand 选项:

annotate_variation.pl -regionanno -buildver hg19 -dbtype cytoBand ex1.avinput humandb/

当一个变异跨越多个条带时,它们之间会用破折号连接(例如 1q21.1-q23.3)。

3.5 数据库注释(基于筛选的注释)

这个使用频率非常高,而且通常是结合多个数据库信息一起过滤。

重点是检查那些后缀为 dropped 的文件,Known variants will be written to the dropped file together with allele frequencies. 如下:

 238104 tmp.hg38_ALL.sites.2015_08_dropped
 15575 tmp.hg38_clinvar_20170905_dropped
 7527 tmp.hg38_cosmic70_dropped
 172432 tmp.hg38_exac03_dropped
 281449 tmp.hg38_gnomad_genome_dropped

可以看到,总共的48万位点,其中有13万是在千人基因组计划出现的,有17万是在EXAC数据库出现,但是只有区区7527个位点是在COSMIC数据库出现,,在clinvar数据库的,有15575位点。

最原始的想法,通常是找到某个基因被注释到外显子区域的nonsynonymous突变位点,然后如果其被clinvar数据库记录,那就说明找到了有证据支持的致病位点。

不过,值得一提的是 clinvar 数据库需要经常更新哦。

~/biosoft/ANNOVAR/annovar/annotate_variation.pl -downdb clinvar_20180603 humandb -buildver hg38
# 72M Jul 9 2018 hg38_clinvar_20180603.txt
~/biosoft/ANNOVAR/annovar/annotate_variation.pl -filter \
-buildver hg38 -dbtype clinvar_20180603 --outfile tmp for_annovar.input \
~/biosoft/ANNOVAR/annovar/humandb/

3.6 联合注释

对于初学者来说,使用 ANNOVAR 的最简单方法是使用 table_annovar.pl 程序。该程序接收一个输入变异文件(如 VCF 文件),并生成一个以制表符分隔的输出文件,文件中有许多列,每列代表一组注释。此外,如果输入是 VCF 文件,程序还会生成一个新的输出 VCF 文件,并在 INFO 字段中填入注释信息。

使用 table_annovar.pl 主程序对 example/ex1.avinput 输入文件同时进行多数据库的注释:

# 下载refGene数据库
annotate_variation.pl -buildver hg19 -downdb -webfrom annovar refGene humandb/
# 下载refGene数据库
annotate_variation.pl -buildver hg19 -downdb cytoBand humandb/
# 下载refGene数据库
annotate_variation.pl -buildver hg19 -downdb -webfrom annovar exac03 humandb/ 
# 下载refGene数据库
annotate_variation.pl -buildver hg19 -downdb -webfrom annovar avsnp147 humandb/ 
# 下载refGene数据库
annotate_variation.pl -buildver hg19 -downdb -webfrom annovar dbnsfp30a humandb/
# 利用以上下载的数据库注释
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_xref.txt
  • -protocol

    注释来源数据库的准确名称,有多少个数据库,需要与随后的 operation 方案一一对应。

  • -operation

    注释的类型:g 表示基于基因的注释(gene-based annotation)、r 表示基于区域的注释(region-based annotation) 、f 表示基于筛选的注释( filter-based annotation)。

  • -polish

    优化索引的蛋白质符号(如p.G12Vfs*2)

依次运行以上命令。前几个命令将适当的数据库下载到 humandb/ 目录中。最后运行 TABLE_ANNOVAR 命令,使用 ExAC 版本0.3 (简称exac03) dbNFSP版本3.0a (简称dbnsfp30a), dbSNP 版本147 使用左规范化(简称avsnp147) 数据库并删除所有临时文件,并生成名为 myanno.hg19_multianno.txt 的输出文件。没有任何注释的字段将由 . 字符串填充。在 Excel 中打开输出文件,查看其中包含的内容。

table_annovar
table_annovar

table_annovar.pl 可以直接支持 VCF 文件的输入和输出 (注释将写入输出 VCF 文件的 INFO 字段):

table_annovar.pl example/ex2.vcf humandb/ \
 -buildver hg19 \
 -out myanno \
 -protocol refGene,cytoBand \
 -operation g,r \
 -nastring . -vcfinput -polish -remove

输出内容以两种方式展示:

  • ex2.hg19_multianno.vcf
  • ex2. hg19_multiano .txt

其中包含不同格式的类似信息。

在得到变异位点的注释信息后,我们就可以按需要筛选我们感兴趣(如与疾病关联)的遗传位点了。关于如何筛选的内容请参考微信公众号【生信F3】中《致病基因分析详解》。

扫码关注微信公众号【生信F3】获取更多生物信息学最新知识。

ShengXinF3_QRcode
ShengXinF3_QRcode

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1285719.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数字营销竞争激烈,这是真的吗?

使用互联网、社交媒体、搜索引擎、移动设备和其他数字渠道等数字技术来营销和销售商品或服务称为数字营销。使用各种策略和策略来接触目标受众并与之互动、提高品牌知名度、产生潜在客户并推动转化。 如今,借助智能手机和其他数字设备,企业可以更轻松地…

在Windows操作系统上使用rtsp simple server和ffmpeg推送录屏视频流

大纲 1 搭建启动rtsp server2 推送录屏视频流下载FFmpeg 3 检验3.1 获取本机IP3.2 检测 1 搭建启动rtsp server 从https://github.com/aler9/rtsp-simple-server/releases下载Windows版本的编译结果。 解压,然后启动该程序 2 推送录屏视频流 下载FFmpeg 从htt…

C语言数组(下)

我希望各位可以在思考之后去看本期练习,并且在观看之后独立编写一遍,以加深理解,巩固知识点。 练习一:编写代码,演⽰多个字符从两端移动,向中间汇聚 我们依旧先上代码 //编写代码,演⽰多个字…

学习数分--简单案例1

业务背景:某服务类app,近期发现日新增用户数下滑明显。 具体描述:假设公司产品(一款本地服务类app),近期发现日新增用户数下滑明显。老板要求你分析:数据异动的原因是什么? #最开始…

烤鱼纸包鱼外卖配送小程序商城作用是什么

烤鱼、纸包鱼等餐品是聚会、娱乐、餐食等场景中常见的餐品,到店和外送都有较高需求度,对消费者来说需要找到美味的餐厅和快速享受到美食的流程;对商家来说是如何找到更多消费,并且能快速转化和持续复购及相应的管理。 线下竞争激…

【面试经典150 | 二叉树】相同的树

文章目录 写在前面Tag题目来源题目解读解题思路方法一:递归方法二:迭代 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题…

前端时间的失败总结复盘

分享失败经验,前段时间的总结复盘: 与伙伴合作面对异常决策要及时提出质疑,怼,别太客气,客气起来,小心翼翼在意他人情绪那么这个项目就会让人难受,不要因为因为伙伴身上有标签/光环/权威就觉得…

【带头学C++】----- 九、类和对象 ---- 9.4 拷贝构造函数、赋值

目录 9.4 拷贝构造函数、赋值 9.4.1 定义拷贝构造函数 9.4.2 拷贝构造和无参构造、有参构造的关系 9.4.3 拷贝构造的几种调用形式 1、旧对象给新对象初始化,调用拷贝构造 2、给对象取别名不会调用拷贝构造 3、普通对象作为函数参数,调用函数时会发…

MicroPython标准库

MicroPython标准库 arraybinascii(二进制/ASCII转换)builtins – 内置函数和异常cmath – 复数的数学函数collections – 集合和容器类型errno – 系统错误代码gc – 控制垃圾收集器hashlib – 散列算法heapq – 堆队列算法io – 输入/输出流json – JSON 编码和解码math – 数…

「Verilog学习笔记」时钟分频(偶数)

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 timescale 1ns/1nsmodule even_div(input wire rst ,input wire clk_in,output wire clk_out2,output wire clk_out4,output wire clk_out8); //********…

WebSocket入门介绍及编程实战

HTTP的限制 全双工和半双工: 全双工:全双工(Full Duplex)是允许数据在两个方向上同时传输。 半双工:半双工(Half Duplex)是允许数据在两个方向上传输,但是同一个时间段内只允许一个…

在AWS Lambda中使用FFmpeg处理m3u8视频流

大纲 1 部署有FFmpeg功能的Lambda环境1.1 部署层1.2 部署代码1.2.1 FFmpeg指令1.2.2 代码 2 配置Lambda角色权限2.1 选择角色类型2.2 设置权限2.3 保存角色2.4 绑定角色 参考文献 在直播里领域,我们经常需要对视频流进行处理。FFmpeg则是该领域中处理的利器。这篇文…

GS016电动工具调速控制电路芯片,7V ~ 24V 7mA ~ 10mA具 有电源电压范围宽、功耗小、抗干扰能力强等特点

GS016是一款直流有刷电机调速电路,输出端内置14V钳位结构,具 有电源电压范围宽、功耗小、抗干扰能力强等特点。通过桥接内部电阻网 络,可以改变PWM占空比输出,达到控制电机转速作用。采用SOP14的封装形式封装。 主要特点&#xf…

蓝桥杯每日一题2023.12.5

题目描述 1.一步之遥 - 蓝桥云课 (lanqiao.cn) 题目分析 对于本题遵循多了就减少了就加的原则&#xff0c;用while进行计算即可 #include<bits/stdc.h> using namespace std; int x, ans; int main() {while(x ! 1){if(x < 1)x 97;else x - 127;ans ;}cout <&…

vue2+electron桌面端一体机应用

vue2+electron项目 前言:公司有一个项目需要用Vue转成exe,首先我使用vue-cli脚手架搭建vue2项目,然后安装electron 安装electron 这一步骤可以省略,安装electron-builder时会自动安装electron npm i electron 安装electron-builder vue add electron-builder 项目中多出…

【云原生-K8s】检查yaml文件安全配置kubesec部署及使用

基础介绍基础描述特点 部署在线下载百度网盘下载安装 使用官网样例yamlHTTP远程调用安全建议 总结 基础介绍 基础描述 Kubesec 是一个开源项目&#xff0c;旨在为 Kubernetes 提供安全特性。它提供了一组工具和插件&#xff0c;用于保护和管理在 Kubernetes 集群中的工作负载和…

Shopify二次开发之四:完成第一个section

目录 分析 schema配置 liquid html代码 liquid style代码 前面学习了关于目录结构分析、schema配置、liquid语法学习&#xff0c;模板渲染对象&#xff0c;到此就可以简单的开发一个section 完成第一个图文section&#xff0c;根据设计稿&#xff0c;分析需要配置的block和…

如何做好一个软件开发项目经理?

要成为一名优秀的软件开发项目经理&#xff0c;需要具备一定的技术知识和管理能力。下面是学习和发展软件开发项目经理职业所需的关键能力和工作内容。 首先&#xff0c;作为软件开发项目经理&#xff0c;你需要具备扎实的软件开发知识和技能。这包括熟悉常用的编程语言、开发框…

SpringCloud+Nacos项目集成Seata分布式事务

上一篇&#xff1a; 《 Seata-分布式事务介绍 》&#xff1a; 简单介绍了分布式事务的实现方式&#xff0c;以及详细讲述了Seata-AT模式的两阶段提交步骤流程。 完整示例项目代码地址&#xff1a; https://gitee.com/cnyunze/yz-seata.git Seata快速上手 安装教程Seata Server…

quickapp_快应用_titleBar

titleBar 问题1-titleBar背景设置不支持渐变色问题2- 状态栏背景颜色设置不支持渐变问题3-titleBar的标题不支持居中 如上图所示红色区域就是titleBar&#xff0c;我们可以通过manifest.display设置titleBar的文本、文本颜色、背景色 "display": {"titleBar&qu…