Annovar的安装和使用
ANNOVAR 是一种高效的软件工具,可利用最新信息对从不同基因组(包括人类基因组 hg18、hg19、hg38 以及小鼠、蠕虫、果蝇、酵母和许多其他基因组)中检测到的遗传变异进行功能注释。ANNOVAR 可以执行:
- 基于基因的注释:确定 SNP 或者 CNV 是否会导致蛋白质编码变化和影响氨基酸。用户可以灵活使用RefSeq genes, UCSC genes, ENSEMBL genes, GENCODE genes, AceView genes等数据库;
- 基于区域的注释:识别特定基因组区域的变异,例如:预测的转录因子结合位点、片段重复区域等;
- 基于过滤器的注释:识别特定数据库中记录的变异,例如,dbSNP 中是否报告了变异等;
- 其他功能:批量检索用户特定基因组位置中的核苷酸序列,从外显子组数据和其他实用程序中识别孟德尔疾病的候选基因列表。
其官网为:https://annovar.openbioinformatics.org/en/latest/
一、安装
从官网进行下载安装即可
二、数据库下载
annovar提供了很多的数据库,在进行注释的时候,我们需要用到这些数据库。
annotate_variation.pl --buildver hg19 --downdb avdblist --webfrom annovar humandb/ # 查看hg19版本下可用的数据库
使用上诉命令后,将会在humandb目录下下载hg19_avdblist.txt.gz并解压,该文件中包含了所有可用的数据库,我们根据需要进行下载即可。例如我们在想下载hg19_avsnp150.txt.gz数据库,则运行下述命令即可
annotate_variation.pl --buildver hg19 --downdb avsnp150 --webfrom annovar humandb/
三、注释
3.1、输入格式
在进行注释之前,我们需要将我们的输入文件转换为对应的输入文件,如果是vcf文件可以直接用于注释。annovar的输入文件格式是基于文本的,前五列为chr(前缀chr是可选的),start,end,ref,alt,分隔符号为空格或者tab,同时还可以有其他附加信息列,如果参考序列不明确,可用0代替,插入、缺失、替换等,可用‘-’表示空核苷酸。在某些情况下用户可能只需要位置而不管核苷酸,这个时候ref、alt列可用0表示。如果遇到无效行,将会写入到以invalid_input为后缀文件中。
3.2、格式转换
除了自己准备输入文件外,我们还可以使用convert2annovar.pl脚本来进行格式转换,叫脚本可以处理的格式包括 Samtools genotype-calling pileup format, Illumina CASAVA format, SOLiD GFF genotype-calling format, Complete Genomics variant format, SOAPsnp format, MAQ format and VCF format,同时也可以从 dbSNP 标识符列表、转录本标识符或基因组区域生成输入文件。部分生成转换命令如下:
基于dbSNP生成输入文件:
convert2annovar.pl --format rsid rs.txt --dbsnpfile $db/hg19_snp142.txt > ${sample_name}.avinput
# rs.txt 文件中,每一行是一个rsid
基于基因组区域生成输入文件:
convert2annovar.pl -format region -seqdir humandb/hg19_seq/ chr1:2000001-2000003 # 1bp的插入或删除
convert2annovar.pl -format region -seqdir humandb/hg19_seq/ chr1:2000001-2000003 -inssize 1 -delsize 2 # 1bp的插入和2bp的删除
# 若不需要SNV或插入,则设置参数-subsize 0,默认情况下,subsize=1表示输出SNV
基于转录本生成输入文件:
convert2annovar.pl -format transcript NM_022162 -gene humandb/hg19_refGene.txt -seqdir humandb/hg19_seq/ > NM_022162.avinput
基于vcf生成输入文件:
convert2annovar.pl -format vcf4 example/ex2.vcf > ex2.avinput
3.3、注释
当输入文件准备好之后,我们就可以进行注释了。对于初学者来说,直接使用table_annovar.pl脚本进行注释比较方便。
table_annovar.pl ${sample_name}.avinput $db --buildver hg19 --out ${out} --remove --nastring . --polish --thread 10 --csvout --otherinfo -protocol refGene,cytoBand,avsnp150,clinvar_20210501,gwava --operation g,r,f,f,f
# -operation参数告诉 ANNOVAR 对每个协议使用哪些操作:g表示基于基因,gx表示基于具有交叉引用注释的基因(来自-xref参数),r表示基于区域和f表示基于过滤器。如果不提供外部参照文件,则只能进行操作g
最新评论:
发表评论
电子邮件地址不会被公开。 必填项已用*标注