2
# $Id: Registry.t,v 1.10.6.2 2006/11/30 09:24:00 sendu Exp $
3
# test for Bio::DB::Registry, Flat::BinarySearch, and Flat::BDB
4
# written by Brian Osborne
7
use vars qw($NUMTESTS $old_search_path $no_DB_File $no_LWP $DEBUG);
12
$DEBUG = $ENV{BIOPERLDEBUG} || 0;
13
eval { require Test; };
19
$old_search_path = $ENV{OBDA_SEARCH_PATH} if defined $ENV{OBDA_SEARCH_PATH};
20
$ENV{OBDA_SEARCH_PATH} = 't/data/registry/flat;t/data/registry/bdb';
21
eval { require DB_File;
25
$ENV{OBDA_SEARCH_PATH} = 't/data/registry/flat';
28
eval { require LWP::UserAgent;
29
require HTTP::Request::Common; };
33
plan tests => ($NUMTESTS=13);
36
require Bio::DB::Registry;
40
my $tmpdir = File::Spec->catfile(qw(t tmp));
44
my $flat = Bio::DB::Flat->new(-directory => $tmpdir,
45
-dbname => 'testflat',
47
-index => 'binarysearch',
49
my $entries = $flat->build_index(File::Spec->catfile(qw(t data cysprot.fa)));
54
skip("DB_File or BerkeleyDB not found, skipping DB_File tests",1);
57
my $bdb = Bio::DB::Flat->new(-directory => $tmpdir,
63
$entries = $bdb->build_index(File::Spec->catfile(qw(t data cysprot.fa)));
69
skip("No LWP::UserAgent or HTTP::Request::Common modules installed skipping tests",1);
72
my $registry = Bio::DB::Registry->new;
73
ok defined($registry);
74
my @available_services = $registry->services;
76
ok grep /testflat/,@available_services;
77
my $db = $registry->get_database('testflat');
79
my $seq = $db->get_Seq_by_id("ALEU_HORVU");
81
my $sequence = $seq->seq;
82
ok $sequence eq "MAHARVLLLALAVLATAAVAVASSSSFADSNPIRPVTDRAASTLESAVLGALGRTRHALRFARFAVRYGKSYESAAEVRRRFRIFSESLEEVRSTNRKGLPYRLGINRFSDMSWEEFQATRLGAAQTCSATLAGNHLMRDAAALPETKDWREDGIVSPVKNQAHCGSCWTFSTTGALEAAYTQATGKNISLSEQQLVDCAGGFNNFGCNGGLPSQAFEYIKYNGGIDTEESYPYKGVNGVCHYKAENAAVQVLDSVNITLNAEDELKNAVGLVRPVSVAFQVIDGFRQYKSGVYTSDHCGTTPDDVNHAVLAVGYGVENGVPYWLIKNSWGADWGDNGYFKMEMGKNMCAIATCASYPVVAA";
86
skip("DB_File or BerkeleyDB not found, skipping DB_File tests",1);
89
ok grep /testbdb/,@available_services;
90
$db = $registry->get_database('testbdb');
92
$seq = $db->get_Seq_by_id("ALEU_HORVU");
94
$sequence = $seq->seq;
95
ok $sequence eq "MAHARVLLLALAVLATAAVAVASSSSFADSNPIRPVTDRAASTLESAVLGALGRTRHALRFARFAVRYGKSYESAAEVRRRFRIFSESLEEVRSTNRKGLPYRLGINRFSDMSWEEFQATRLGAAQTCSATLAGNHLMRDAAALPETKDWREDGIVSPVKNQAHCGSCWTFSTTGALEAAYTQATGKNISLSEQQLVDCAGGFNNFGCNGGLPSQAFEYIKYNGGIDTEESYPYKGVNGVCHYKAENAAVQVLDSVNITLNAEDELKNAVGLVRPVSVAFQVIDGFRQYKSGVYTSDHCGTTPDDVNHAVLAVGYGVENGVPYWLIKNSWGADWGDNGYFKMEMGKNMCAIATCASYPVVAA";
104
Bio::Root::IO->rmtree($tmpdir) if (-d $tmpdir);