我用的是ANNOVAR。
如何下載
搜索ANNOVAR Documentation,進入主頁。
點擊here之后會出現注冊界面。
完成注冊留下郵箱之后,就能收到附有下載鏈接的郵件了,需要等一兩天。
http://www.openbioinformatics.org/annovar/download/0wgxR2rIVP/annovar.latest.tar.gz,這是我收到的鏈接,下載解壓出來就能看到這些了
簡單介紹
Annovar可以實現三種不同的注釋方法,Gene-based Annotation(基于基因的注釋)、Region-based Annotation(基于區域的注釋)、Filter-based Annotation(基于篩選的注釋)
- 基于基因的注釋:確定SNP或CNV是否導致蛋白質編碼變化和確定受影響的氨基酸。可靈活使用RefSeq genes, UCSC genes, ENSEMBL genes, GENCODE genes或許多其他基因定義系統。
- 基于區域的注釋:識別特定基因組區域的變異,例如,44個物種中的保守區域,預測的轉錄因子結合位點, segmental duplication regions, GWAS hits, ChIP-Seq peaks, RNA-Seq peaks等等許多其他的在基因組區間的注釋;
- 基于過濾的注釋:鑒定特定數據庫中記錄的變異,例如,該變異位點是否在dbSNP中有報道,在千人基因組計劃中的等位基因頻率如何等等。
使用
1. 配置數據庫
http://annovar.openbioinformatics.org/en/latest/user-guide/download/#additional-databases官網里面提供了該軟件支持的數據庫列表(都是人的數據庫),有很多,并且經常更新。
也可以在終端下查看:
mkdir humandb_hg38/
annotate_variation.pl -downdb -webfrom annovar avdblist humandb_hg38/ -buildver hg38
-buildver 表示version,主要是hg19和hg38;
-downdb 下載數據庫的指令;
-webfrom annovar 從annovar提供的鏡像下載,不加此參數將尋找數據庫本身的源;
humandb_hg38/ 下載到的文件都存放于humandb_hg38/目錄下
查看列表
lsx humandb_hg38/hg38_avdblist.txt
annotate_variation.pl -buildver hg38 -downdb -webfrom annovar refGene humandb_hg38/
注意這里的數據庫名稱,比如refGene,都是嚴格按照上面紅框里面的名稱來的。將需要的數據庫按照這條命令都下載好就行了。
2. vcf to avinput
將VCF文件轉化為annovar可以識別的格式
perl ~/annovar/annovar/convert2annovar.pl -format vcf4 snp.vcf > snp.avinput
perl ~/annovar/annovar/convert2annovar.pl -format vcf4 indel.vcf > indel.avinput
簡單看一下二者的區別
前五列分別代表:染色體, 起始位點, 終止位點, 參考堿基和觀測到的堿基;
第六列:純合變異(Homogeneous),雜合變異(Heterogeneous);
第七列:取自vcf文件中的QUAL列,表示該位點存在突變的可能性;
第八列:取自vcf文件中INFO列的DP信息,表示該位點的覆蓋深度。
ANNOVAR主要依靠前五列信息對數據庫進行比對,進而注釋變異。
3. 進行注釋
table_annovar.pl可以一次完成三種類型的注釋,需要輸入avinput文件和前面配置好的數據庫文件。如果是一次完成一種類型的注釋,則選用annotate_variation.pl。
perl ~/annovar/annovar/table_annovar.pl ./snp.avinput \
~/annovar/annovar/humandb_hg38/ -buildver hg38 \
--protocol avsnp150,cosmic70,clinvar_20180603,dbscsnv11,gnomad_exome,esp6500siv2_all,exac03,ensGene,refGene,knownGene \
-operation f,f,f,f,f,f,f,g,g,g \
--nastring "." \
--remove \
--outfile ./snp.annovar
perl ~/annovar/annovar/table_annovar.pl ./indel.avinput \
~/annovar/annovar/humandb_hg38/ -buildver hg38 \
--protocol clinvar_20180603,exac03,ensGene,refGene,knownGene \
-operation f,f,g,g,g \
--nastring "." \
--remove \
--outfile ./indel.annovar
--protocol 逗號分隔的字符串,用來指定數據庫;
--operation 逗號分隔的字符串,用來指定注釋方法,r基于區域g基于基因f基于過濾;
--nastring "." 當有缺失值時,用.填充;
--remove 移除所有臨時文件.
結束之后會得到這兩個文件:snp.annovar.hg38_multianno.txt,indel.annovar.hg38_multianno.txt。文件名前面的snp/indel是依照輸入文件snp
.avinput和indel
.avinput來定的,后面的annovar.hg38_multianno.txt是程序自己加的。
reference
ANNOVAR 注釋軟件: https://blog.csdn.net/herokoking/article/details/78790688