[BioRuby-ja] BLAST+のエラーについて
Tomoaki NISHIYAMA
tomoakin @ kenroku.kanazawa-u.ac.jp
2011年 10月 17日 (月) 04:53:58 UTC
畠山さん
おそらく、下記のissueでリストされているように、BLAST+のReportは未対応で、
XML形式の出力をお使いくださいという状況です。
https://redmine.open-bio.org/issues/3288
Currently, only XML is supported for parsing BLAST+ reports with BioRuby.
--
西山智明
金沢大学学際科学実験センター
ゲノム機能解析分野
(920-0934 金沢市宝町13−1)
Tomoaki NISHIYAMA
Advanced Science Research Center,
Kanazawa University,
13-1 Takara-machi
Kanazawa, 920-0934 Japan
On 2011/10/17, at 13:34, masa wrote:
> はじめまして。
> チューリッヒ大学で働いている畠山と申します。
> Webで検索してもこれといった情報が見つからず、MLに投稿してみる事にしました。
>
> いわゆるLegacy Blast(BLASTN 2.2.21)の結果はBioRubyWikiのチュートリアルにもあるように
>
> Bio::Blast.reports(ARGF) do end
>
> でパースできるのですが、Blast+(2.2.23+)の結果は上のBio::Blast.reportsメソッドで読み込もうとすると以下のようなエラーがでます。
>
> gems/ruby-1.9.3-preview1/gems/bio-1.4.2/lib/bio/appl/blast/format8.rb:70:in
> `tab_parse_hsp': undefined method `strip' for nil:NilClass
> (NoMethodError)
> from .rvm/gems/ruby-1.9.3-preview1/gems/bio-1.4.2/lib/bio/appl/blast/format8.rb:32:in
> `block in tab_parse'
> from .rvm/gems/ruby-1.9.3-preview1/gems/bio-1.4.2/lib/bio/appl/blast/format8.rb:30:in
> `each_line'
> from .rvm/gems/ruby-1.9.3-preview1/gems/bio-1.4.2/lib/bio/appl/blast/format8.rb:30:in
> `tab_parse'
> from .rvm/gems/ruby-1.9.3-preview1/gems/bio-1.4.2/lib/bio/appl/blast/report.rb:74:in
> `auto_parse'
> from .rvm/gems/ruby-1.9.3-preview1/gems/bio-1.4.2/lib/bio/appl/blast/report.rb:96:in
> `initialize'
> from .rvm/gems/ruby-1.9.3-preview1/gems/bio-1.4.2/lib/bio/appl/blast/report.rb:552:in
> `new'
> from .rvm/gems/ruby-1.9.3-preview1/gems/bio-1.4.2/lib/bio/appl/blast/report.rb:552:in
> `prepare_parsed_entries'
> from .rvm/gems/ruby-1.9.3-preview1/gems/bio-1.4.2/lib/bio/appl/blast/report.rb:506:in
> `get_entry'
> from .rvm/gems/ruby-1.9.3-preview1/gems/bio-1.4.2/lib/bio/appl/blast/report.rb:517:in
> `get_parsed_entry'
> from .rvm/gems/ruby-1.9.3-preview1/gems/bio-1.4.2/lib/bio/io/flatfile.rb:288:in
> `next_entry'
> from .rvm/gems/ruby-1.9.3-preview1/gems/bio-1.4.2/lib/bio/io/flatfile.rb:335:in
> `each_entry'
> from .rvm/gems/ruby-1.9.3-preview1/gems/bio-1.4.2/lib/bio/appl/blast.rb:187:in
> `reports'
> from test.rb:4:in `<main>'
>
> ちなみにblastで実行したコマンドは以下の通りです。
>
> $ makeblastdb -in TAIR10_seq_20101214 -dbtype nucl -hash_index
> $ blastn -db TAIR10_seq_20101214 -query seq.fas -out blastn_result.dat
>
> この結果を読み込んだスクリプトは
> ----
> require 'rubygems'
> require 'bio'
>
> Bio::Blast.reports(ARGF) do |report|
> puts "Hits for " + report.query_def + " against " + report.db
> end
> ----
> です。
>
> ちなみに
>
> bioruby 1.4.2
> ruby 1.9.3
>
> で実行しています。
>
> よろしくお願いします。
>
> 畠山
>
BioRuby-ja メーリングリストの案内