[BioRuby-ja] Flatfileのautodetect

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


田中伸也です。

Flatfile (flatfile.rb)でお願いがあります。

現在のFlatfileではautodetectにそれぞれのファイルフォーマット(GenBankな
ど)を認識するコードがflatfile.rbに書かれていますが、これをそれぞれの
フォーマットごとのライブラリのメソッド呼び出しにしていただけませんか?

ユーザーがFlatfileを使ったカスタムのパーザーを作ることが簡単になると思い
ます。

# ChemrubyもFlatfileを使って実装したのですが、
# autodetectが変更できないため利用をあきらめた経緯があります。

# flatfile.rb

module Bio
  BioFormatReg = []
  class Flatfile
    def self.autodetect(text)
      BioFormatReg.find do |format|
        format.detect(text)
      end
    end
  end
end

# genpept.rb

module Bio
  class GenPept
    def self.detect text
      /^LOCUS       .+ aa .+/.match(text)
    end
  end
  BioFormatReg << GenPept
end


p Bio::Flatfile.autodetect("LOCUS       NP_000048               1417 aa
           linear   PRI 21-JUN-2005")



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