bioperlを利用した配列アライメントファイルのフォーマット変換方法(Bio::AlignIO)
バイオインフォマティクスの研究を進めていると、ある配列保存フォーマットから別のフォーマットに変換したい時がある。そんなときに有用な、bioperlを利用した配列アライメントファイルのフォーマット変換方法のメモ
bioperlのBio::AlignIOモジュールを利用することで、配列アライメントファイルのフォーマット変換がperlで簡単にできるようになる。例としてFASTA形式からPHYLIP形式に変換するプログラムを示す。
プログラム例 : format_converter.pl
use strict; use warnings; use Bio::AlignIO; my $in = Bio::AlignIO->new(-file => "input_file", -format => "fasta"); my $out = Bio::AlignIO->new(-file => ">output_file", -format => "phylip"); my $aln = $in->next_aln(); $out->write_aln($aln);
初めに入出力先のアライメントファイルとフォーマットの情報を持ったオブジェクトを作成する。次に"next_aln" メソッドで入力ファイルよりアライメント情報を取得し、"write_aln" メソッドで入力アライメント情報を指定したフォーマットに変換して指定先ファイルに出力を行う。
以下のフォーマットが変換に対応しており、オブジェクト作成時に "-format" に対応する部分を書き換えればよい。
bl2seq Bl2seq Blast output clustalw clustalw (.aln) format emboss EMBOSS water and needle format fasta FASTA format maf Multiple Alignment Format mase mase (seaview) format mega MEGA format meme MEME format msf msf (GCG) format nexus Swofford et al NEXUS format pfam Pfam sequence alignment format phylip Felsenstein PHYLIP format prodom prodom (protein domain) format psi PSI-BLAST format selex selex (hmmer) format stockholm stockholm format
このようにBio::AlignIOを利用することで、自由に配列アライメントファイルのフォーマット変換を行うことが可能になる。