| Bio-Das-ProServer documentation | Contained in the Bio-Das-ProServer distribution. |
Bio::Das::ProServer::SourceAdaptor::simple_volmap
$Revision: 524 $
Andy Jenkinson <andy.jenkinson@ebi.ac.uk>
Volume map for Vol01: <host>/das/<source>/volmap?query=volumeID
Serves up volume map DAS responses, using a file-based transport.
[simple_volmap] adaptor = simple_volmap state = on transport = file filename = /data/volmap.txt coordinates = MyCoordSys -> Vol01 Tab-separated file formats: --volmap.txt-- id length class type version link linktxt
None reported
None reported
Copyright (c) 2007 EMBL-EBI
| Bio-Das-ProServer documentation | Contained in the Bio-Das-ProServer distribution. |
######### # Author: $andyjenkinson$ # Last Modified: $Date: 2008-09-21 19:23:26 +0100 (Sun, 21 Sep 2008) $ # $Id: simple_volmap.pm 524 2008-09-21 18:23:26Z andyjenkinson $ # $HeadURL: https://proserver.svn.sf.net/svnroot/proserver/trunk/lib/Bio/Das/ProServer/SourceAdaptor/simple_volmap.pm $ # package Bio::Das::ProServer::SourceAdaptor::simple_volmap; use strict; use warnings; use base qw(Bio::Das::ProServer::SourceAdaptor); our $VERSION = do { my ($v) = (q$Revision: 524 $ =~ /\d+/mxg); $v; }; sub init { my $self = shift; $self->{capabilities} = { map { $_ => '1.0' } qw(volmap entry_points) }; return; } sub length { ## no critic my ($self, $segment) = @_; return $self->transport->query("field0 = $segment")->[0]->[1]; } sub known_segments { my $self = shift; return map { $_->[0] } @{ $self->transport->query('field0 like .*') }; } sub build_volmap { my ($self, $segment) = @_; my $row = $self->transport->query("field0 = $segment")->[0]; my $volmap = {}; for (qw(id _tmp class type version link linktxt)) { $volmap->{$_} = shift @{$row}; } $volmap->{note} = [@{$row}]; return $volmap; } 1; __END__