[BioRuby-ja] number of white space before Score in format0.rb

Tomoaki NISHIYAMA tomoakin @ kenroku.kanazawa-u.ac.jp
2006年 4月 23日 (日) 07:24:20 UTC


こんにちは

format0として、blastの出力をparseしたときに、最後の 
方のヒットについて
同じidが2度検出されるという現象にあたりまして,調べていく 
と、

 >ref|NP_197965.1| kinase [Arabidopsis thaliana]
gb|AAO42089.1| putative receptor protein kinase [Arabidopsis thaliana]
gb|AAD40144.1| contains similarity to protein kinase domains (Pfam  
F00069,
             Score=162.6, E=6.8e-45, N=1) and leucien rich repeats
             (Pfam PF00560, Score=210.7, E=2.2e-59, N=10) [Arabidopsis
             thaliana]
           Length = 1005

Score =  367 bits (942), Expect = 2e-99
Identities = 298/985 (30%), Positives = 476/985 (48%), Gaps = 108/985  
(10%)

のようなエントリが検出されていない事がわかりました。
想像される事は、エントリのdefinitionの後ろの方に 
Score=で始まる行が来ているせいだろうと思い、
format0.rbの/^\s+Score/と言うのを/^ Score/に直すと一 
応予定通り全てのidを一回ずつ
得る事が出来るようでした。

"Score"の前のspaceの個数が一つじゃない事はあるのかもしれま 
せんが、
任意に変動する事も無いでしょうから、実際に取りうる個数に制限した 
方が良いのじゃないかと思います。
あるいは、空行の直後である事を確認するか、、、

% diff -u ~/bioruby/lib/bio/appl/blast/format0.rb format0.rb
--- /home/tomoaki/bioruby/lib/bio/appl/blast/format0.rb 2006-04-23  
16:04:50.000000000 +0900
+++ format0.rb  2006-04-23 16:03:18.000000000 +0900
@@ -780,7 +780,7 @@
            def initialize(data)
              @f0hitname = data.shift
              @hsps = []
-            while r = data[0] and /^\s+Score/ =~ r
+            while r = data[0] and /^ Score/ =~ r
                @hsps << HSP.new(data)
              end
              @again = false

-- 
西山智明

金沢大学学際科学実験センター
ゲノム機能解析分野
(920-0934 金沢市宝町13−1)

Tomoaki NISHIYAMA
Advanced Science Research Center,
Kanazawa University,
13-1 Takara-machi
Kanazawa, 920-0934 Japan





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