[BioRuby-ja] BLAST format0 parser fails header parsing output of specific databases
Tomoaki NISHIYAMA
tomoakin @ kenroku.kanazawa-u.ac.jp
2008年 3月 14日 (金) 02:44:43 UTC
Bioruby開発者の皆様
(後藤さん担当でしょうか)
NCBI Blastの出力で、データベースのdescriptionのつけ方に依
存して、
Database: ...と
... sequences; ... total letters
の間に空行があく事があり、このようなデータベースに対して検索した
結果をformat0で
読もうとすると
/usr/local/lib/ruby/site_ruby/1.8/bio/appl/blast/format0.rb:197:in
`each_hit': undefined method `each' for nil:NilClass (NoMethodError)
のようなエラーが発生していました。
f0databaseに...sequences; ... total letters
が含まれずに次のdata chunkにある時はそこまでつなぐようにし
たら
とりあえずhitの方のparseは出来るようになったようです。
patchは以下のようにしてみました。
diff -ur bioruby-1.2.1/lib/bio/appl/blast/format0.rb bioruby-1.2.1e/
lib/bio/appl/blast/format0.rb
--- bioruby-1.2.1/lib/bio/appl/blast/format0.rb 2007-12-28
02:28:57.000000000 +0900
+++ bioruby-1.2.1e/lib/bio/appl/blast/format0.rb 2008-03-14
11:21:49.000000000 +0900
@@ -293,6 +293,10 @@
end
@f0query = data.shift
@f0database = data.shift
+ if @f0database != / [0-9,]+ sequences; [0-9,]+ total
letters/ and
+ data[0] =~ / [0-9,]+ sequences; [0-9,]+ total letters/
+ @f0database += data.shift
+ end
end
# Splits the statistical parameters.
--
西山智明
金沢大学学際科学実験センター
ゲノム機能解析分野
(920-0934 金沢市宝町13−1)
Tomoaki NISHIYAMA
Advanced Science Research Center,
Kanazawa University,
13-1 Takara-machi
Kanazawa, 920-0934 Japan
BioRuby-ja メーリングリストの案内