[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