バイオインフォマティクス初心者の日常

バイオインフォマティクス関連の研究・勉強などなど

bioperlを利用した配列アライメントファイルのフォーマット変換方法(Bio::AlignIO)

バイオインフォマティクスの研究を進めていると、ある配列保存フォーマットから別のフォーマットに変換したい時がある。そんなときに有用な、bioperlを利用した配列アライメントファイルのフォーマット変換方法のメモ

bioperlBio::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を利用することで、自由に配列アライメントファイルのフォーマット変換を行うことが可能になる。

参考サイト
Bio::AlignIO - search.cpan.org