[Bioperl-l] Bio::DB::Registry get_all_primary_ids

Daniel Lang daniel.lang at biologie.uni-freiburg.de
Wed Jan 4 05:00:54 EST 2006


Hi,

I stumbled over a problem in the Registry modules:
I wanted to use the method get_all_primary_ids as laid out in
Bio::DB::SeqI.
The Bio::DB::Failover object as returned by the get_database method
doesn't support this method while the (in my case) attached
Bio::DB::Flat::BinarySearch object does!
How can I comfortably call this method on the object?

For now I'm using something "ugly" like:
$db->{_database}->[0]->get_all_primary_ids

Here is my object dump (Its describing a local sprot.dat):
Bio::DB::Failover=HASH(0x87ca9a0)
   '_database' => ARRAY(0x8b721a4)
      0  Bio::DB::Flat::BinarySearch=HASH(0x8bbacdc)
         '_dbfile' => HASH(0x8d02f54)
            '/home/lang/projects/core_ortho/uniprot_sprot.dat' => 0
         '_file' => HASH(0x8bbaf70)
            0 => '/home/lang/projects/core_ortho/uniprot_sprot.dat'
         '_fileid' => HASH(0x8d13ab4)
            0 => GLOB(0x8d42adc)
               -> *Bio::DB::Flat::BinarySearch::$fh
                     FileHandle({*Bio::DB::Flat::BinarySearch::$fh}) =>
fileno(9)
         '_index_directory' => '/home/lang/projects/core_ortho/'
         '_index_type' => 'flat'
         '_index_version' => 1
         '_primary_index_handle' => GLOB(0x8d13db4)
            -> *Bio::DB::Flat::BinarySearch::$__ANONIO__

FileHandle({*Bio::DB::Flat::BinarySearch::$__ANONIO__}) => fileno(8)
         '_primary_namespace' => undef
         '_record_size' => 29
         '_root_verbose' => 0
         '_size' => HASH(0x8d42e48)
            0 => 796304807
         '_start_pos' => 4
         'flat_dbname' => 'test'
         'format' => 'swiss'
         'primary_pattern' => undef
         'secondary_namespaces' => ARRAY(0x8b8f774)
            0  'ACC'
         'start_pattern' => undef

As far as I understand it, the corresponding method needs to be
implemented in Failover?

In addition I'm somewhat confused by the term "Failover" - but since the
 retrieval is working like its supposed to...

Thanks in advance,
Daniel

-- 

Daniel Lang
University of Freiburg, Plant Biotechnology
Schaenzlestr. 1, D-79104 Freiburg
fax: +49 761 203 6945
phone: +49 761 203 6974
homepage:  http://www.plant-biotech.net/
e-mail: daniel.lang at biologie.uni-freiburg.de

#################################################
My software never has bugs.
It just develops random features.
#################################################





More information about the Bioperl-l mailing list