[Bioperl-l] Problem retrieving CDS by Acession #

Sean Davis sdavis2 at mail.nih.gov
Thu Sep 7 11:48:39 EDT 2006


On Thursday 07 September 2006 10:32, Ryan Golhar wrote:
> > On Thursday 07 September 2006 01:09, Ryan Golhar wrote:
> > > Hi,
> > >
> > > I'm using Bio::DB::GenBank::get_Seq_by_acc() passing in a valid
> > > accession #, XM_547879.2, for instance.
> > >
> > > I get the message in return:
> > >
> > > -------------------- WARNING ---------------------
> > > MSG: acc (gb|XM_547879.2) does not exist
> > > ---------------------------------------------------
> > >
> > > If I go to NCBI, and enter the accession, the GenBank entry
> >
> > comes up.
> >
> > > At first I suspected it was the version number, but removing the
> > > version number still causes the same error.
> > >
> > > Am I doing something wrong?
> >
> > from the Docs for Bio::DB::Genbank:
> >
> >     $seq = $gb->get_Seq_by_acc('J00522'); # Accession Number
> >     $seq = $gb->get_Seq_by_version('J00522.1'); # Accession.version
> >     $seq = $gb->get_Seq_by_gi('405830'); # GI Number
> >
> > So, you might try using get_Seq_by_version(....).  I didn't
> > test it, but give
> > that a shot.
>
> get_Seq_by_version() worked.
>
> That does not explain why get_Seq_by_acc does not work with the primary
> part of the accession #.

As an example of why this shouldn't work, doing a search in entrez (online 
version) will bring up the newest version of an accession if the version is 
not included.  If one specifies the version, though, one gets that version, 
even if it is not the newest.  So, asking get_Seq_by_acc() with a version and 
ignoring the version would potentially get you the wrong version for the 
accession.  

If you know that you want the most recent version, just strip the version 
information and use get_Seq_by_acc().

Sean


More information about the Bioperl-l mailing list