File: Registry.t

package info (click to toggle)
bioperl 1.4-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k, sarge
  • size: 20,336 kB
  • ctags: 8,476
  • sloc: perl: 119,890; xml: 6,001; lisp: 121; makefile: 57
file content (88 lines) | stat: -rwxr-xr-x 2,893 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
##-*-Perl-*-
# $Id: Registry.t,v 1.5 2003/11/17 15:37:19 bosborne Exp $
# test for Bio::DB::Registry, Flat::BinarySearch, and Flat::BDB
# written by Brian Osborne

use strict;
my $old_search_path;
use vars qw($old_search_path $have_DB_File);

BEGIN {
   eval { require Test; };
   if( $@ ) {
      use lib 't','..';
   }
   use Test;
   $have_DB_File = 0;
   $old_search_path = $ENV{OBDA_SEARCH_PATH} if defined $ENV{OBDA_SEARCH_PATH};
   eval {require DB_File;
         require BerkeleyDB;};
   if ($@) {
      $ENV{OBDA_SEARCH_PATH} = 't/data/registry/flat';
      print STDERR "DB_File and BerkeleyDB not found. Skipping DB_File tests\n";
      plan tests => 6;
   } else {
      $have_DB_File = 1;
      $ENV{OBDA_SEARCH_PATH} = 't/data/registry/flat;t/data/registry/bdb';
      plan tests => 11;
   }
}

use Bio::DB::Registry;
use Bio::DB::Flat;
use Bio::Root::IO;

my $tmpdir = "t/tmp";
mkdir($tmpdir,0777);

my $flat = Bio::DB::Flat->new(-directory  => $tmpdir,
			      -dbname     => 'testflat',
			      -format     => 'fasta',
			      -index      => 'binarysearch',
                              -write_flag => 1 );
my $entries = $flat->build_index("t/data/cysprot.fa");
ok $entries == 7;

if ($have_DB_File) {
   my $bdb = Bio::DB::Flat->new(-directory  => $tmpdir,
				-dbname     => 'testbdb',
				-format     => 'fasta',
				-index      => 'bdb',
				-write_flag => 1 );
   $entries = $bdb->build_index("t/data/cysprot.fa");
   ok $entries == 7;
}

my $registry = Bio::DB::Registry->new;
ok defined($registry);
my @available_services = $registry->services;

if ($have_DB_File) {
   ok grep /testbdb/,@available_services;
}
ok grep /testflat/,@available_services;
my $db = $registry->get_database('testflat');
ok defined($db);
my $seq = $db->get_Seq_by_id("ALEU_HORVU");
ok defined($seq);
my $sequence = $seq->seq;
ok $sequence eq "MAHARVLLLALAVLATAAVAVASSSSFADSNPIRPVTDRAASTLESAVLGALGRTRHALRFARFAVRYGKSYESAAEVRRRFRIFSESLEEVRSTNRKGLPYRLGINRFSDMSWEEFQATRLGAAQTCSATLAGNHLMRDAAALPETKDWREDGIVSPVKNQAHCGSCWTFSTTGALEAAYTQATGKNISLSEQQLVDCAGGFNNFGCNGGLPSQAFEYIKYNGGIDTEESYPYKGVNGVCHYKAENAAVQVLDSVNITLNAEDELKNAVGLVRPVSVAFQVIDGFRQYKSGVYTSDHCGTTPDDVNHAVLAVGYGVENGVPYWLIKNSWGADWGDNGYFKMEMGKNMCAIATCASYPVVAA";

if ($have_DB_File) {
   $db = $registry->get_database('testbdb');
   ok defined($db);
   $seq = $db->get_Seq_by_id("ALEU_HORVU");
   ok defined($seq);
   $sequence = $seq->seq;
   ok $sequence eq "MAHARVLLLALAVLATAAVAVASSSSFADSNPIRPVTDRAASTLESAVLGALGRTRHALRFARFAVRYGKSYESAAEVRRRFRIFSESLEEVRSTNRKGLPYRLGINRFSDMSWEEFQATRLGAAQTCSATLAGNHLMRDAAALPETKDWREDGIVSPVKNQAHCGSCWTFSTTGALEAAYTQATGKNISLSEQQLVDCAGGFNNFGCNGGLPSQAFEYIKYNGGIDTEESYPYKGVNGVCHYKAENAAVQVLDSVNITLNAEDELKNAVGLVRPVSVAFQVIDGFRQYKSGVYTSDHCGTTPDDVNHAVLAVGYGVENGVPYWLIKNSWGADWGDNGYFKMEMGKNMCAIATCASYPVVAA";
}

END { cleanup(); }

sub cleanup {
   eval {
      Bio::Root::IO->rmtree($tmpdir) if (-d $tmpdir);
   };
}

__END__