[Bioperl-l] Obsolete method call in Bio/DB/SQL/SeqAdaptor.pm?

Mike Muratet muratem at eng.uah.edu
Thu Feb 3 11:54:42 EST 2005



On Thu, 3 Feb 2005, Marc Logghe wrote:

> > The bioentry table has a key biodatabase_id that includes 
> > biodatabase_id,
> > accession, and entry version. The fasta files have only a 
> > number on the
> > header line to identify them and apparently either SeqIO or 
> > Seq loads this
> > into the display id and leaves the accession undefined so 
> > that all of the
> > records have the same key (e.g., 4-unknown-UNK) which is a 
> > Bozo no-no (for
> > you old enough to remember who Bozo is). I'm using bioperl 
> > 1.4. Shouldn't
> > the accession get set to display_id if accession doesn't 
> > exist? Failing
> > that, would it make sense to modify the store method in 
> > SeqAdaptor to use
> > the display_id in the key if the accession is undefined?
> 
> What I do in that case is use the -pipeline option of load_seqdatabase.pl and pass it a seqprocessor that sets the accession number to the display_id.
> E.g.
> load_seqdatabase.pl <my_other_options> --format fasta --pipeline "SeqProcessor::Accession" <fastafile>
> 
> You create first the use-able SeqProcessor::Accession processor that basically should look like this:
> 
> package SeqProcessor::Accession;
> use strict;
> use vars qw(@ISA);
> use Bio::Seq::BaseSeqProcessor;
> use Bio::SeqFeature::Generic;
> 
> @ISA = qw(Bio::Seq::BaseSeqProcessor);
> 
> sub process_seq
> {
>   my ($self, $seq) = @_;
>   $seq->accession_number($seq->display_id);
>   return ($seq);
> }
> 
> 1;
> 
> I am a big fan of the seqprocessor facility of Bioperl. It is just magic.
> Everybody should make use of it ;-)
> Cheers,
> Marc
> 
> 

Marc

Thanks, I'll give it a try.

Cheers

Mike



More information about the Bioperl-l mailing list