使用snpEff對VCF進行注釋

使用snpEff分為兩種情況,一種是snpEff已經(jīng)構建了相應的數(shù)據(jù)集(例如人類和小鼠),另一種是則是snpEff未提供相應的數(shù)據(jù)集(例如自己組裝的基因組)

情況1: 我們可以使用java -jar snpEff.jar databases | grep -i human的方式列出所有的數(shù)據(jù)集,然后用grep進行篩選

例如人類的基因組注釋數(shù)據(jù)集就分為GRCh37.p13.RefSeqGRCh38.p7.RefSeq兩種

Candidatus_paraburkholderia_schumannianae  Candidatus_paraburkholderia_schumannianae...
GRCh37.p13.RefSeq  Human genome GRCh37 using RefSeq transcripts...
GRCh38.p7.RefSeq  Human genome GRCh38 using RefSeq transcripts...
Pediculus_humanus Pediculus_humanus...

輸出結果的第一列是基因組的版本號,我們根據(jù)這個版本號進行下載

java -jar snpEff.jar download GRCh38.p7.RefSeq

使用上面這種方法,我們無法保證數(shù)據(jù)下載速度,也不能保證注釋信息時刻最新,因此我更推薦自己下載相應的基因組序列和注釋文件,然后構建注釋數(shù)據(jù)集。

我們編輯snpEff文件夾下的snpEff.config, 增加新的物種信息。盡管能夠在該文件的任何一行添加信息,但是為了方便查找,建議在# Databases & Genomes后增加記錄。

# XXX
XXX.genome : 物種名

這里的XXX是物種注釋信息的版本號,XXX要和data下的文件夾對應

mkdir -p data/XXX

在data下面存放兩個文件

  • sequences.fa.gz: 參考基因組
  • genes.gff.gz: 注釋文件,GFF3格式(也可以是GFF2格式)

之后就可以用build子命令進行構建

java -jar snpEff.jar build -gff3 -v XXX
# -v: verbose
# -gff3/gff2/-gtf22

建立數(shù)據(jù)庫之后,注釋這一步就相對簡單

java -jar snpEff.jar ann XXX input.vcf.gz > snpeff.vcf

默認情況下snpEff的注釋信息會很多,我們可以用如下幾個參數(shù)來簡化輸出

  • -no-downstream
  • -no-upstream
  • -no-utr
  • -no-intergenic
  • -no-intron

比如說我們只關注CDS中的注釋信息,不考慮上游、下游、UTR、基因間區(qū)等信息

java -jar snpEff.jar ann -no-utr -no-downstream -no-upstream -no-intergenic XXX input.vcf.gz > snpeff.vcf

最終除了輸出的vcf文件外,我們還會有額外兩個文件,記錄總結性信息

  • snpEff_genes.txt: 總結每個基因的突變位點數(shù)
  • snpEff_summary.html: 總結突變的類型數(shù)
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容