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

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

MENU

vcf2phylip.pyの使い方-VCFをphy/fasta/nexusに変換する

vcf2phylip.py

使用難易度★☆☆☆☆

今回は何をする?

  • VCFファイルを系統樹作成に使用するnexusやfasta、phy形式に変換できるプログラムです

  • 簡単・短時間で実行できるので、SNPデータを使った系統解析を行う際に大活躍します。


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

vcf2phylip.pyの詳細はGithubのリンクからどうぞ

1. vcf2phylip.pyの概要

  • VCFファイルを入力として、PHYLIP、FASTA、NEXUS形式の系統解析用ファイルを作成します。このコードは、多量の情報を含むVCF(数百のサンプルと数百万の遺伝子型)に最適化されており、例えば、20GBのVCF(300万のSNPs x 650個体)を27分で処理できます。初期のバージョンではPHYLIPを生成するだけでしたが、現在では他の一般的なフォーマットも追加しています。

  • 通常、系統解析ソフトウェア(RAxML、IQTREE、MrBayesなど)は、アラインメントの最初の配列をrootとしているため、このスクリプトでアラインメントの最初の場所に書き込まれるOUTGROUP配列を指定することができます。

  • さらに、SNPあたりの最小サンプル数を選択することで、最終的な欠損データの量をコントロールすることができます。

  • 圧縮されたVCFファイルも扱えますが、拡張子は.vcf.gzでないと使えません。

2. vcf2phylip.pyのインストール


インストールする。

こちらのGithubのページからvcf2phylip.pyをダウンロードして、使いたいディレクトリーに保存する。

f:id:Harry-kun:20210808134221p:plain
Githubから引用


3. vcf2phylip.pyを実行する

usage: vcf2phylip.py [-h] -i FILENAME [--output-folder FOLDER]
                     [--output-prefix PREFIX] [-m MIN_SAMPLES_LOCUS]
                     [-o OUTGROUP] [-p] [-f] [-n] [-b] [-r] [-v]

オプションの説明


-i / --input FILENAME: 入力VCFファイルの名前。

--output-folder FOLDER : 出力フォルダの名前、存在しない場合は作成されます。(デフォルトでは input と同じフォルダ)

--output-prefix PREFIX: 出力ファイル名のプレフィックス(デフォルトでは入力VCFファイル名から拡張子を除いたもの)

-m MIN_SAMPLES_LOCUS/--MIN-SAMPLES-LOCUS MIN_SAMPLES_LOCUS: SNPあたりの最小サンプル数の値 (デフォルト=4)

-o OUTGROUP/ --outgroup OUTGROUP: アウトグループに設定するサンプル名。

-p/ --phylip-disable: このフラグを有効にした場合に限りphylipが生成されなくなる。

-f/ --fasta: FASTAマトリックスを生成する。

-n/ --nexus: NEXUSマトリックスを生成する。

実施例

python vcf2phylip.py --input myfile.vcf --fasta --nexus --min-samples-locus 60


実際のVCFファイルを使った実践は、GATK解説シリーズの中で紹介します。
そちらの記事が完成したら、下にリンクを貼っておきます。


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


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

おすすめ記事

VCFファイルとはなにかを説明します。 eupatho-bioinfomatics.hatenablog.com

GATK解説シリーズのリンクまとめ記事

eupatho-bioinfomatics.hatenablog.com