[Bioperl-l] Each_DBLink : only returning 1 entry ?

Jean-Jack M. Riethoven pow@ebi.ac.uk
Thu, 30 Aug 2001 14:45:47 +0100


Greetings,

I have wet my feet with some BioPerl scripting and have come across
something which might or might not be a bug:

1. Using Bio:SeqIO to parse an EMBL flatfile
2. I need to output the accession number together with the database (code)
2a. Using Bio:Seq I get the sequence object and the accession number.
2b. To bind this accession number to the correct database I want to loop
through Each_DBLink of an annotation object, checking when the acc number
equals the primary_id of the DBLink.
3. This all using branch-7-live (production release)

This does not work however.

I think (correct me if I am wrong) DBLink will only list cross-references,
and not the main database from which I get the accession number. Secondly,
when foreach-ing over ann->Each_DBLink I only get one entry, while my
flatfile clearly shows 3 entries.

My questions:

1. Is Each_DBLink bugged that it only returns one link (see example and
code below)
2. How can I get the database code for the main accession number.


Examples:

accnr: X02158 (HSERPG). Snippet from the EMBL flatfile:
ID   HSERPG     standard; DNA; HUM; 3398 BP.
XX
AC   X02158;
XX
SV   X02158.1
[snip]
DR   GDB; 119110; EPO.
DR   GDB; 119615; TIMP1.
DR   SWISS-PROT; P01588; EPO_HUMAN.

the following code only yields GDB 119110:

  [everything properly initialised with flatfile and EMBL format]

  my $annotation = $seq ->annotation;
  my $seq_id = ($seq->accession_number ne "unknown") ?
$seq->accession_number : $seq->display_id;
  my ($dbcode, $db_link);
  foreach $db_link ($annotation->each_DBLink) {
    $dbcode = $db_link->database if ($db_link->primary_id eq $seq_id);
    print $db_link->database . " " . $db_link->primary_id . "    \n";
  }

With kind regards,

--
drs. Jean-Jack M. Riethoven

EMBL Outstation - Hinxton           pow@ebi.ac.uk     ICQ#: 3433929
European Bioinformatics Institute   Phone: (+44) 1223 494635
Wellcome Trust Genome Campus        Fax  : (+44) 1223 494468
Hinxton, Cambridge CB10 1SD         URL  : http://industry.ebi.ac.uk/
UNITED KINGDOM

Need to find bioinformatics or molecular biology web sites or resources?
Use BioWurld at http://www.ebi.ac.uk/biowurld