[BioRuby-ja] Flatfileのautodetect

Nobuya Tanaka tanaka @ kuicr.kyoto-u.ac.jp
2005年 6月 30日 (木) 21:21:25 EDT


田中です。

> 後藤です。
中略
> 将来的にはそのようにしないといけないなあと考えていました。
> 
> 現状では、case文で順番に正規表現マッチを試すという基本構造ですが、
> 実は、この正規表現マッチの順番が肝になっているのです。
> 配列データベースのファイル形式はけっこう微妙に似ているものが多いので、
> 正規表現の順番を変えると、誤認識する場合が増えてしまいます。
> もっとも、それは、優先順位付きにすれば何とかなるとは思います。

なるほど。そういう問題があったんですね。
ただ自動認識は魅力的な機能で、よく使われていると思うのでぜひ前向きに検討
していただければと思います。

もしやるとすれば、具体的にはデータベースから認識に利用している部分だけを
網羅的に抜き出し、UnitTestを自動生成、その中から自動認識の難しいものを付
属するとして、すべてのテストが成功するまで優先順位と正規表現を工夫すると
いうことになるのでしょうか。

後藤さんが作られていないのならば、テストケースを作ってみたいと思います。
# bioruby付属のtestにはまだ含まれてないようですね。

> ちなみに、自動認識できなくてもよいのなら、
> 
>   class MyData
>     DELIMITER = "__END_OF_DATA__\n"
>     def initialize(str)
>       (中略)
>     end
>   end
>   ff = Bio::FlatFile.open(MyData, filename)
> 
> みたいな感じで、DELIMITERとinitializeさえ定義すればOKです。
> 
> ついでに便乗すると、この、DELIMITER までを読み込むという読み込み部分も
> そろそろ限界に達しているので、何とかしたいと思っています。
> 他には、データの出力に関しても検討中。
> 

Small compoundのデータにはDELIMITERの情報を廃棄したくない場合や正規表現
で書きたい場合、もっと複雑な条件で書きたい場合もあるのでできればブロック
でentryの区切り条件を指定できるようにしていただければうれしいです。

-- 
----------
[+] cp
TANAKA Nobuya
Tel (Home) +81-6-6352-2031
Fax (Home) +81-6-6352-2031
Tel (Kyoto Univ.) +81-774-38-3296
Skype callto:nobuyat
Email tanaka @ kuicr.kyoto-u.ac.jp
    nobuya.tanaka @ gmail.com



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