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如何幫助研究人員宣傳高通量測序數據產生的遺傳變異的基本實例。