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