[BioRuby-ja] Bio::Alignment::EnumerableExtension#consensus

Naohisa GOTO ngoto @ gen-info.osaka-u.ac.jp
2007年 7月 26日 (木) 08:21:27 UTC


後藤@阪大です。

On Thu, 26 Jul 2007 16:05:07 +0900
"遠藤大二" <dendoh @ rakuno.ac.jp> wrote:

> 遠藤です 何度もすみません。MultipleFastaFormatのファイルをMafftで解析することも出来ました。
> それから、rdocを見て自助努力をしまして、MultiFastaFormatのオブジェクトにするところまでは出来ました。
> 
> ただ、MultiFastaFormatからEnumerableExtensionモジュールを使ってconsensus
> sequenceを作成することが出来ません。下記のコードに対して修正コメントいただけないでしょうか。
> 
> data=File.read('multifasta.fasta')
> ffa=Bio::Alignment::MultipleFastaFormat.new(data)
                           ~~~
  ffa=Bio::Alignment::MultiFastaFormat.new(data)

の転記ミスですよね?
余談ですが、綴りを決めるときにどちらがいいか悩みました。

> ffconsensus=Bio::Alignment::EnumerableExtension.consensus_string(ffa)

ffconsensus = ffa.alignment.consensus_string
ではどうでしょうか?

ffa.alignment でアライメントオブジェクト
(Bio::Alignment::OriginalAlignmentクラスのオブジェクト)
が得られるので、それを使ってください。

Bio::Alignment::EnumerableExtension は、Enumerableという
性質を持つRubyのオブジェクトをAlignmentっぽく扱うために拡張する
ためのモジュールですので、上記のようには使えません。
ちなみに、BioRubyが用意しているアライメント用のクラス
(Bio::Alignment::OriginalAlignmentなど)は、内部でこれを
利用しています。

-- 
後藤 直久  ngoto @ gen-info.osaka-u.ac.jp
大阪大学微生物病研究所 遺伝情報実験センター ゲノム情報解析分野(安永研)



BioRuby-ja メーリングリストの案内