vcf2phylip.pyの使い方-VCFをphy/fasta/nexusに変換する
vcf2phylip.py
使用難易度★☆☆☆☆
今回は何をする?
VCFファイルを系統樹作成に使用するnexusやfasta、phy形式に変換できるプログラムです
簡単・短時間で実行できるので、SNPデータを使った系統解析を行う際に大活躍します。
Twitterで記事の更新をお知らせしているので、興味を持たれた方は是非フォローをお願いします。
フォローする @harrykun_blog
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
をダウンロードして、使いたいディレクトリーに保存する。
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解説シリーズのリンクまとめ記事