[Bioperl-l] Bio::DB::Fasta::get_Seq_by_id()

Nathan S. Haigh n.haigh at sheffield.ac.uk
Mon Oct 30 08:51:49 UTC 2006


In my script I retrieve sequences from GenBank in FASTA format by GI
numbers and optionally store the sequence in a cache using
Bio::DB::Fasta. On subsequent runs of the script, the cache is first
checked for the GI and returns the sequence if it is found or the
sequence is obtained from GenBank as above.

I would have thought that Bio::DB::Fasta::get_Seq_by_id() would have
returned a Bio::Seq object but rather it returns a Bio::PrimarySeq
object which is defined within the Bio::DB::Fasta file. This is
annoying, since $seq_obj in my script would be either a Bio::Seq if it
was obtained from GenBank or a Bio::PrimarySeq if obtained from the
cache and calling primary_id() on it doesn't do the expected thing with
Bio::PrimarySeq:
ID:          Bio::PrimarySeq::Fasta=HASH(0x89b4508)

Is there a reason why Bio::DB::Fasta doesn't return a Bio::Seq object?

Nath



More information about the Bioperl-l mailing list