macでインフォマティクス

macでインフォマティクス

NGS関連のインフォマティクス情報についてまとめています。

バリアントをランク付ける VVP

2018 10/23 コマンドの誤り修正 

 

 バリアントの優先順位付けは、遺伝子検査、エキソームまたは全ゲノムシーケンシングの過程で同定されたバリアントが遺伝子機能を損なう可能性があるかどうかを決定するプロセスである(レビュー[論文より ref.1,2,3])。バリアントの優先順位付けは発見のエフォートの中心にあり、優先順位付けスコアは疾患診断にもますます使用されている。American College of Medical GeneticsとNational Health Service of the United Kingdomの両方が、重要性が不明のバリアント、VUSについて臨床レビュー中で優先順位付けスコアを使うにあたってのガイドラインを発表している[ref.4,5,6. 4pubmed, 5pubmed, 6NICE guideline]。

 全ゲノムシーケンシング(WGS)の出現は、ますます成長する臨床応用とともに、変異体の優先順位付けのための多数の新しいバイオインフォマティクスの課題を生み出してきた。理想的には、ツールはあらゆるタイプのバリアントを計算し、ラージスケールのdiscovery effortsにスケールアップでき、優先順位付けプロセスを知らせるさまざまなデータタイプを統合する必要がある。そのスコアはまた、臨床遺伝学の専門家に理解可能である必要がある。単一のツールでこれらの要件をすべて満たすことは簡単なことではない。

 別の課題は、集団および遺伝子特異的変動率を優先順位付けスコアに組み込む最良の方法である。変異の密度は遺伝子内で一定ではない。例えば、イントロンのバリエーションはエキソンよりも頻繁に観察される[ref.7,8,9. 7link]。さらに、潜在的に有害なバリアントの量は、遺伝子間で変化し、"burden"と呼ばれる現象である[ref.2,10. 2link, 10link]。 Zygosityは、優先順位付けのための情報のもう1つの情報源である。理論的には、有害な可能性のあるバリアントは、ホモ接合体の場合により病原性がある可能性が高い。

 スピードも問題である。 WGSの大規模なコレクションに含まれる数百万のバリアントの迅速な優先順位付けは、困難な問題である。 1つのアプローチは、以前に見られたバリアントをキャッシュすることである[ref.11. 11pubmed]。これは、シングルゲノムまたは小さなコホートを処理する場合に有効である。しかし、大部分のバリアントはまれであるため[ref.7,8,9]、大きなコホートには以前には見られなかった何百万もの新しいバリアントが含まれる可能性がある。優先順位付けに必要なヘテロガスなデータタイプを効果的に統合しながら、WGSデータセットで妥当なラン時間を維持することは、情報科学の課題である。

 VVPは、尤度比検定(likelihood-ratio test)によって、その計算において観察可能なバリアント頻度を使用する。著者らが示しているように、このビッグデータアプローチにより、パブリックバリアントリポジトリの情報をレバレッジしてバリアントの優先順位を付けることができる。つまり、VVPはバリアントリポジトリを使用して、リポジトリ自体の優先順位付けを行うこともできる。これは、使用の範囲に関して、大きな影響を与えている。そして、論文で著者らが実証するように、この単純なアプローチは非常に正確である。 VVPは、配列の保存、配列変化のタイプ、およびzygosityを統合して、さらに高い精度を提供する。

 VVPはまた、バリアントの解釈を単純化して迅速化するように設計されている。 VVPスコアは、スコアベースのフィルタリングを使用するディスカバリおよび解釈のワークフローに最適なユーティリティ用に設計されている。さらに、VVPスコアはまた、遺伝子内および遺伝子間の異なるバリアントの相対的な影響を比較することを可能にする。 VVPスコアは、一般的に使用されているツールで共有されていない特性である、その範囲全体で一貫して正確であるため、これらのユースケースを容易にする。論文で示しているように、VVPスコアのこれらの特徴は、ACMGおよびNHSガイドライン[4,5,6]を使用して不確実な意義(VUS)の変種の解釈を大幅に単純化し、強化する。

 最後に、VVPは非常に高速である。典型的なラップトップコンピュータの範囲内の4 cpusと16 GBのRAMを使用して、約4分で60X WGSを処理できる。 VVPの実用性を実証するため、著者らはdbSNP [ref.12]全体に優先順位を付けるために使用しました。結果は、4 cpusと16 GBのRAMを備えたコンピュータで約1億5,500万のバリエーションを95分で処理した。

 

VVPに関するツイート 


インストール

ubuntu16.04でテストした。

ビルド依存

  1. Gnu scientific library (https://www.gnu.org/software/gsl/)
  2. openmp compatible version of gcc. If your compiler (clang) is not, you can remove the -fopenmp flag in the Makefile. Change the line that looks like: CFLAGS = -lz -lm -O3 -lgsl -lgslcblas -fopenmp #-Wall to CFLAGS = -lz -lm -O3 -lgsl -lgslcblas #-fopenmp #-Wall
  3. zlib (https://zlib.net)
  4. make

Gnu scientific libraryがない人はこのHP (link) などを参考に導入して下さい。

本体 GIthub

git clone https://github.com/Yandell-Lab/VVP-pub.git
cd VVP-pub/
make

./VVP

$ ./VVP 

Missing mandatory option -i

Usage: VVP [options] -i <vcf file> -o <output prefix>

 

Options: (*mandatory)

* -i    filename      Input vcf file. Can be zipped or unzipped.  Can be 'stdin'

* -d    filename      database prefix

* -v    string        string with comma separated annotation components in info field

                      Format: <csq>,<gene index>,<transcript index>,<so_tag_index>,<aa_index>

                      Example: CSQ,4,6,1,15

-o      filename      fomatted output file name (for use in burden permutation)

-n      #             Number of threads to use, default = 1

-w      int           Column index (zero based) in annotation tag as extra likelihood weight

-x      None          Set to turn off AA scoring -- all AA weights will be set to 1.0

-f      None          Set to not use allele frequency when scoring (Only AA weights will be used)

-l      None          Set to ignore indels.  Default is to score indels

-c      None          Set to ignore non-coding variants.  Default is to score non-coding variants.

./build_background

$ ./build_background 

Missing mandatory option -i

Usage: build_background [options] -i <vcf file> -o <output prefix>

 

Options: (*mandatory)

* -i    filename      Input vcf file. Can be zipped or unzipped

* -o    filename      Output prefix for database build

* -b    #             Number of individuals in vcf file (Must be EXACT)

* -v    string        string with comma separated annotation components in info field

                      Format: <csq>,<gene index>,<transcript index>,<so_tag_index>,<aa_index>

                      Example: CSQ,4,6,1,15

-z      None          Input is not vcf, instead it is a specific tab delimited file for use with background without individual genotypes (gnomad)

-w      int           Column index (zero based) in annotation tag as extra likelihood weight

-n      #             Number of threads to use while parsing, default = 1

-x      None          Set to turn off AA scoring -- all AA weights will be set to 1.0

-f      None          Set to not use allele frequency when scoring (Only AA weights will be used)

-d      None          Set to ignore indels.  Default is to use indels

-c      None          Set to ignore non-coding variants.  Default is to use non-coding variants.

 

 

 

テストラン

1、バックグラウンドとして使うバリアントのVCFをビルドする。exampleディレクトリのデータを使う。

cd example/
../build_background -i 1KG_cftr_background.recode.vep.vcf.gz \
-o 1KG.build -b 2500 -v CSQ,4,6,1,15

1kG.build~ファイルができる。

出力

$ ls -alth

total 3.9M

drwxrwxr-x 2 kazu kazu 4.0K Oct 23 05:30 .

-rw-rw-r-- 1 kazu kazu 203K Oct 23 05:30 1KG.build.bin

-rw-rw-r-- 1 kazu kazu 1.9M Oct 23 05:30 1KG.build.bit

-rw-rw-r-- 1 kazu kazu   16 Oct 23 05:30 1KG.build.chr_offsets.txt

-rw-rw-r-- 1 kazu kazu  17K Oct 23 05:30 1KG.build.dist

-rw-rw-r-- 1 kazu kazu 783K Oct 23 05:30 1KG.build.max

drwxrwxr-x 4 kazu kazu 4.0K Oct 23 05:28 ..

-rw-rw-r-- 1 kazu kazu 977K Oct 23 05:26 1KG_cftr_background.recode.vep.vcf.gz

-rw-rw-r-- 1 kazu kazu  509 Oct 23 05:26 1KG_cftr_background.recode.vep.vcf.gz.tbi

-rw-rw-r-- 1 kazu kazu 117K Oct 23 05:26 target_spiked_simple.vcf.gz

 

2、実行

../VVP -i target_spiked_simple.vcf.gz -d 1KG.build \
-v CSQ,4,6,1,15 1> target.spiked.vvp.out

target.spiked.vvp.outができる。

ls -alth

total 4.1M

-rw-rw-r-- 1 kazu kazu 189K Oct 23 05:32 target.spiked.vvp.out

drwxrwxr-x 2 kazu kazu 4.0K Oct 23 05:32 .

-rw-rw-r-- 1 kazu kazu 203K Oct 23 05:30 1KG.build.bin

-rw-rw-r-- 1 kazu kazu 1.9M Oct 23 05:30 1KG.build.bit

-rw-rw-r-- 1 kazu kazu   16 Oct 23 05:30 1KG.build.chr_offsets.txt

-rw-rw-r-- 1 kazu kazu  17K Oct 23 05:30 1KG.build.dist

-rw-rw-r-- 1 kazu kazu 783K Oct 23 05:30 1KG.build.max

drwxrwxr-x 4 kazu kazu 4.0K Oct 23 05:28 ..

-rw-rw-r-- 1 kazu kazu 977K Oct 23 05:26 1KG_cftr_background.recode.vep.vcf.gz

-rw-rw-r-- 1 kazu kazu  509 Oct 23 05:26 1KG_cftr_background.recode.vep.vcf.gz.tbi

-rw-rw-r-- 1 kazu kazu 117K Oct 23 05:26 target_spiked_simple.vcf.gz

target.spiked.vvp.outの中身

f:id:kazumaxneo:20181019143239j:plain

詳細はGIthubの解説参照。

GitHub - Yandell-Lab/VVP-pub: VVP (VAAST Variant Prioritizer) rapidly prioritizes genetic variants

 

 

引用

The VAAST Variant Prioritizer (VVP): ultrafast, easy to use whole genome variant prioritization tool
Steven Flygare, Edgar Javier Hernandez, Lon Phan, Barry Moore, Man Li, Anthony Fejes, Hao Hu, Karen Eilbeck, Chad Huff, Lynn Jorde, Martin G. Reese and Mark Yandell

BMC Bioinformatics. Published: 20 February 2018

 

注1

wikiには、gnomAD(ノマド *1)ベースに構築された prebuildのデータベース(2.5GB)も用意されており、すぐに利用できる。

直リンク

https://s3-us-west-2.amazonaws.com/gnomad-vvp-background/gnomad.062717.build.tar.gz

exampleデータに対して使うなら

VVP -i example/target_spiked_simple.vcf.gz \
-d gnomad.062717.build/gnomad.062717.build \
-v CSQ,4,6,1,15 1> target.spiked.vvp.out

 

注2

VVPはmulitallelicバリアント(説明)を正しく扱えない。最初にVT (pubmed) などを使いdecomposeしておく必要がある。

https://genome.sph.umich.edu/wiki/Vt

 

参考

*1

2018-04-01 gnomADを使ってヒトのエキソームやゲノムのデータから変異を探す(DOI: 10.7875/togotv.2018.091)

https://togotv.dbcls.jp/20180401.html