DASクライアント@bioruby

http://code.open-bio.org/cgi-bin/viewcvs/viewcvs.cgi/bioruby/lib/bio/io/das.rb?rev=1.11&cvsroot=bioruby&content-type=text/vnd.viewcvs-markup

某n氏とおしゃべりしていたときに、「無いのかなぁ」とか言ってしまったけれど、当然のごとく(?)存在するじゃありませんか。さすが。

ただ、perlなBio::DB::GFFや、Bio-Dasとはちょっとだけ使用感が違う。

まず、Bio-Dasの場合

http://b-src.cbrc.jp/markup/das/Bio-Das/Das.pm#l241

# dsnまで指定して、DASサーバへ接続
my $das = Bio::Das->new('http://www.wormbase.org/db/das' => 'elegans');
# das接続なオブジェクトのメソッドを使って、segmentオブジェクトを作成
my $segment  = $das->segment(-ref=>'CHROMOSOME_I',-start=>10_000,-stop=>20_000);
# featureをゲット
my @features = $segment->features;

次に、BioRubyのDASクライアントの場合

http://b-src.cbrc.jp/markup/bioruby/lib/bio/io/das.rb#l402

# DASサーバへ接続(この段階では、生物種名は指定しない)
wormbase = Bio::DAS.new('http://www.wormbase.org/db/')
# Segmentオブジェクトを作成。この段階では、DAS接続とsegmentオブジェクトの関係は無い
seg = Bio::DAS::SEGMENT.region('I', 1, 1000)
# 生物種名, segmentを一気に与えて、featureをゲット
feat = wormbase.get_features('elegans', seg)

L. Stein氏の世界観に慣れているせいもあって、「???」ととまどってしまったのでメモ。