バイオインフォマティクスでゲノムワイド関連解析(GWAS)

バイオインフォマティクスを頑張っている方が、本ブログの内容を真似することで、自分のデータで解析ができる情報を提供することが目標です! 今はGATKの解説をメインテーマにしています。

MENU

GATK SelectVariantsの使い方 -GATK解説シリーズ-part 7

GATK SelectVariants

使用難易度★★★★★
本記事は、GATK解説シリーズのPart 7です。

GATK解説シリーズのリンクまとめは↓こちら eupatho-bioinfomatics.hatenablog.com

今回は何をする?

  • GATK SelectVariantsを使って、Part 6の記事で得たmerged.vcfファイルから、自身の解析条件に適したフィルター条件を設定して、バリアントを選別します。

  • 実際には、FilteringのステップはSelectVarinatsとVariantFiltrationをセットで実行することになります
    GATK VariantFilterについては次回解説します。

  • 今回と次のVariantFiltrationの条件が解析結果に大きな影響を及ぼしますが、実用レベルでもよく使用するオプションの種類が多く、最適な設定の検討が難しいことなどから奥が深くて難解なステップだと感じています。しかし、ここを乗り切れば難所はおしまいです!!

  • VCFファイルについて理解していない方には難しい内容だと思います。
    VCFファイルについて知りたい方は、先に↓こちらの記事を読むことをお勧めします

eupatho-bioinfomatics.hatenablog.com

eupatho-bioinfomatics.hatenablog.com


Twitterで記事の更新をお知らせしているので、興味を持たれた方は是非フォローをお願いします。

公式HPのSelectVariantsのリンク
[https://gatk.broadinstitute.org/hc/en-us/articles/360056969012-HaplotypeCaller:title]

1. SelectVariantsの概要

大規模なコールセットから最適なバリアントのサブセットを選択するさまざまなオプションを使い分けることで、目的とする分析を達成するためのバリアントのサブセットを選択することができます。つまり、VCFファイルに記述された種々のスコアを用いたフィルターやサンプル名に基づいて、コールセットから合致するバリアントやサンプルを抽出することができます。

例えば・・・

  • 「DP > 1000」(合計したカバレッジの深さが1000倍以上)、「AF < 0.25」(対立遺伝子のAllele frequencyが0.25未満のサイト)など、アノテーションの値に閾値を指定することができます。

  • バリアントタイプ(SNPのみ/INDELのみ)など、特定の種類のバリアントを選択します。

入力として

GATK GenotypeGVCFで作成したmerged.vcfファイルを用いる。

出力として

選択されたバリアントのサブセットを含む新しい VCF ファイルを得る。

2. よく使うオプションの説明

  • --select-type-to-include / -select-type :入力ファイルから特定の種類のバリアントを選択する。
    この引数は、リストの中から特定の種類のバリアントを選択します。デフォルトではタイプの選択は行われず、すべてのバリアントタイプが含まれます。有効なタイプは、INDEL、SNP、MIXED、MNP、SYMBOLIC、NO_VARIATIONです。複数回指定することができます。

--select-type-to-include 引数は、以下のいずれかの値を持つことができます。

INDEL, SNP, MIXED, MNP, SYMBOLIC, NO_VARIATION

  • --restrict-alleles-to : 指定した対立遺伝子を持つバリアントのみを選択する。
    デフォルトはALL。この引数を使用すると、VCFのALTカラムに記載されている対立遺伝子の数に応じて、multiallelicまたはbiallelicサイトのみを含めるように選択できます。例えば、次のようなマルチアリルを持つサイト、 A, AAA,AAAAは、-restrict-alleles-to BIALLELICを使用すると除外されます。反対に 、A, T は含まれますが、-restrict-alleles-to MULTIALLELIC を使用すると除外されます。後の解析で、特定のアリルしか受け付けない場合がある必要に応じて指定します。

--restrict-alleles-to 引数は、以下のいずれかの値を持つことができます。

ALL, BIALLELIC, MULTIALLELIC

  • --exclude-filtered: フィルタリングされたサイトを除外する。
    このフラグを有効にすると、フィルタリングされた(FILTERフィールドに.またはPASS以外の)サイトは、出力から除外される。

  • --sample-name / -sn : 指定したサンプル名の遺伝子型を含める。
    この引数を複数回指定することで、複数のサンプル名を指定したり、サンプル名を含む1つ以上のファイル名を指定したりすることができます。ファイル名には拡張子「.args」を付け、1行に1つのサンプル名を記述したプレーンテキスト形式で指定します。サンプルの除外はより優先されるので、両方のリストにサンプルがある場合は除外されます。

  • --exclude-sample-name / -xl-sn : 指定したサンプル名の遺伝子型を除外する。
    --sample-nameと同じように使用することができる。ただし、サンプルの除外はより優先されるので、両方のリストにサンプルがある場合は除外されます。

2. 前提となるファイルについての説明。

Part-6で得たmerged.vcfファイルを使う。
本ブログでいつも使用しているPlasmodium falciparum 3D7のリファレンスゲノムが必要となるので、GWASと名付けたフォルダの中にbqsrと3D7_genomesというフォルダを用意して、merged.vcfファイルとリファレンスゲノムをそれぞれ格納した状態で開始する。(リファレンスゲノムの入手方法は別の記事で紹介しています。)

また、解説シリーズ1の方法でGATK4を導入していることを前提とする。

2019年のScienceの論文で、アフリカのマラリア原虫の集団構造を2263株のWGSデータを使用して解析した大規模な研究のデータを一部拝借した。
science.sciencemag.org

3. GATK SelectVariantsを実行する。

cd /path to GWAS/bqsr
index=/path to GWAS/3D7_genomes/PlasmoDB-52_Pfalciparum3D7_Genome.fasta

gatk SelectVariants \
    -R ${index} \
    -V merged.vcf \
    -O merged_snps.vcf \
    --restrict-alleles-to BIALLELIC \
    --select-type-to-include SNP

gatk SelectVariants \
      -R ${index} \ 
      -V merged.vcf \
      --select-type-to-include INDEL \
      -O merged_indels.vcf


出力されたファイルの詳しい解説は次回に行います。


お疲れ様でした。今回はこれで終わりです。


よければ他の記事のも見ていってください。

なお、本記事の執筆にあたりBWA および GATK4 を利用した SNPs/indels の検出方法のスクリプトを参考させていただきました。 とても参考になるサイトなので気になったらご自分で確認してみてください。


バイオインフォマティクス関連の書籍紹介は↓こちら eupatho-bioinfomatics.hatenablog.com