[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 メーリングリストの案内