Raw content of Bio::Das::ProServer::SourceAdaptor::demo ######### # Author: ensembl dev # Maintainer: ensembl dev # Created: 2004-03-08 # Last Modified: 2004-03-12 # Builds DAS features for a demo database # package Bio::Das::ProServer::SourceAdaptor::demo; =head1 AUTHOR Ensembl Dev This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. See DISCLAIMER.txt for disclaimers of warranty. =cut use strict; use vars qw(@ISA); use Bio::Das::ProServer::SourceAdaptor; @ISA = qw(Bio::Das::ProServer::SourceAdaptor); my @id = qw(CLAT_HUMAN CLAT_HUMAN CLAT_HUMAN 10 AC073366 AC073366); my @id2 = qw(CLAT_HUMAN CLAT_HUMAN not_same 10 AC073366 AC073366); my @names = qw(PF00755 PF00755 CLAT_HUMAN 10 AC073366 AC073366); my @starts = qw(30 100 50 50150000 1 ); my @ends = qw(748 550 650 50200000 900); my @method =qw(description PFAM SCOP REPEAT BLAST ANOTH); my @types = qw(typ1 typ2 typ3 typ4 typ5 typ6); sub init { my $self = shift; $self->{'dsn'} = "demo"; $self->{'capabilities'} = { 'features' => '1.0', }; } sub length { return 0; } sub build_features { my ($self, $opts) = @_; my $spid = $opts->{'segment'}; my $start = $opts->{'start'}; my $end = $opts->{'end'}; # print $self->config->{'needed_arg'}."\n"; # #Create some dummy notes # my @notes=(); for(my $i=0; $i <= $#id; $i++){ $notes[$i] = "Demo annotation $i ??"; } #create array of fearutes to return; my @features = (); for(my $i=0; $i <= $#id; $i++){ next if(($id[$i] ne $spid) || (defined($start) and ($ends[$i] < $start or $starts[$i] > $end))); push @features, { 'id' => $id2[$i], 'type' => $types[$i], # needed for proteinview protein # features names in graphical view 'feature'=> $names[$i], 'method' => $method[$i], 'start' => $starts[$i], 'end' => $ends[$i], 'note' => $notes[$i], 'link' => '/Docs/enstour/', 'linktxt' => 'Tour', }; } return @features; } 1;