[Bioperl-l] Error retrieving sequence from BioSQL

Seth Johnson johnson.biotech at gmail.com
Thu Sep 28 16:10:17 UTC 2006


Thank you.  That takes care of that, however, I do have another gripe.  When
running my script, quoted before, with "my $out =
Bio::SeqIO->newFh('-format' => 'genbank');", I have several key pieces of
information missing.  The most important one is the version number.  There's
also a date missing, and source organism name is corrupted.  Here's what I
get:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
LOCUS       NM_014580               2145 bp    dna     linear   UNK
DEFINITION  Homo sapiens solute carrier family 2, (facilitated glucose
            transporter) member 8 (SLC2A8), mRNA.
ACCESSION   NM_014580
SOURCE      sapiens.
  ORGANISM  sapiens
            Eukaryota; Fungi/Metazoa group; Metazoa; Eumetazoa; Bilateria;
            Coelomata; Deuterostomia; Chordata; Craniata; Vertebrata;
            Gnathostomata; Teleostomi; Euteleostomi; Sarcopterygii;
Tetrapoda;
            Amniota; Mammalia; Theria; Eutheria; Euarchontoglires; Primates;
            Haplorrhini; Simiiformes; Catarrhini; Hominoidea; Hominidae;
            Homo/Pan/Gorilla group; Homo.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

All of the missing information is stored in BioSQL and theoretically should
be in the outpu. Here's how NCBI genbank file looks:

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

LOCUS       NM_014580               2145 bp    mRNA    linear   PRI 17-OCT-2005
DEFINITION  Homo sapiens solute carrier family 2, (facilitated glucose
            transporter) member 8 (SLC2A8), mRNA.
ACCESSION   NM_014580
VERSION     NM_014580.3  GI:51870928
KEYWORDS    .
SOURCE      Homo sapiens (human)
  ORGANISM  Homo sapiens
<http://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?id=9606>
            Eukaryota; Metazoa; Chordata; Craniata; Vertebrata; Euteleostomi;
            Mammalia; Eutheria; Euarchontoglires; Primates; Haplorrhini;
            Catarrhini; Hominidae; Homo.

^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


On 9/28/06, Chris Fields <cjfields at uiuc.edu> wrote:
>
> Those are from the excessively paranoid '-w' flag on the shebang
> line.  If you remove the flag but add the 'use warnings' pragma the
> 'subroutine x redefined' warnings go away.  This, BTW, is one of the
> quirks of the ActivePerl distribution; other OSs don't have the same
> problem.
>
> The 'solution' described on that page is actually a workaround, not a
> bugfix.  It causes problems with stack traces with error handling but
> seems harmless beyond that.  I haven't been able to find a
> satisfactory fix which works on all OS's.
>
> Chris
>
>
> On Sep 28, 2006, at 10:42 AM, Seth Johnson wrote:
>
> > This is under Windows, but using ActiveState Komodo 3.5 and their
> > latest Perl for Windows and latest BioPerl & BioPerl-db from CVS.
> >
> > I actually just stumbled upon a solution.  It's described in the
> > "Installing Bioperl on Windows" by adding a comma after $class: in
> > Bio::Root::Root throw() subroutine.  Thanks for hinting me about
> > what I run it on.
> >
> > The code works now, BUT it spews whole bunch of warnings about
> > "Subroutine .... redefined":
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > Subroutine new redefined at c:/Perl/site/lib/Bio\BioEntry
> > .pm line 88.
> > Subroutine object_id redefined at c:/Perl/site/lib/Bio\BioEntry.pm
> > line 128.
> > Subroutine version redefined at c:/Perl/site/lib/Bio\BioEntry.pm
> > line 150.
> > Subroutine authority redefined at c:/Perl/site/lib/Bio\BioEntry.pm
> > line 171.
> > Subroutine namespace redefined at c:/Perl/site/lib/Bio\BioEntry.pm
> > line 192.
> > Subroutine display_name redefined at c:/Perl/site/lib/Bio
> > \BioEntry.pm line 217.
> > Subroutine description redefined at c:/Perl/site/lib/Bio
> > \BioEntry.pm line 241.
> > Subroutine new redefined at c:/Perl/site/lib/Bio\Root\Root.pm line
> > 201.
> > Subroutine verbose redefined at c:/Perl/site/lib/Bio\Root\Root.pm
> > line 234.
> > Subroutine _register_for_cleanup redefined at c:/Perl/site/lib/Bio
> > \Root\Root.pm line 246.
> > Subroutine _unregister_for_cleanup redefined at c:/Perl/site/lib/Bio
> > \Root\Root.pm line 256.
> > Subroutine _cleanup_methods redefined at c:/Perl/site/lib/Bio\Root
> > \Root.pm line 263.
> > Subroutine throw redefined at c:/Perl/site/lib/Bio\Root\Root.pm
> > line 316.
> > Subroutine debug redefined at c:/Perl/site/lib/Bio\Root\Root.pm
> > line 379.
> > Subroutine _load_module redefined at c:/Perl/site/lib/Bio\Root
> > \Root.pm line 398.
> > Subroutine DESTROY redefined at c:/Perl/site/lib/Bio\Root\Root.pm
> > line 426.
> > Subroutine new redefined at c:/Perl/site/lib/Bio\Root\RootI.pm line
> > 117.
> > Subroutine _initialize redefined at c:/Perl/site/lib/Bio\Root
> > \RootI.pm line 128.
> > ...
> > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> >
> >
> > On 9/28/06, Chris Fields <cjfields at uiuc.edu> wrote: I had problems
> > with bioperl-db on native WinXP (not cygwin), but I
> > did manage to get it running in cygwin with some effort.  The issue
> > on native WinXP was related to Bio::Root::Root::throw(), though.
> >
> > There is a bug and workaround filed on Bugzilla, but I haven't worked
> > on it in a while (and the workaround has some problems as well).  I
> > may try running it again to see what happens.
> >
> > http://bugzilla.open-bio.org/show_bug.cgi?id=1938
> >
> > Chris
> >
> > On Sep 28, 2006, at 9:04 AM, Hilmar Lapp wrote:
> >
> > > Very odd. This is under Windows, presumably using Cygwin?
> > >
> > > The method Bio::Root::Root::throw() clearly exists, and
> > > PersistentObject inherits from it. The exception it was trying to
> > > throw has nothing to do with failure or success to find the database
> > > row (actually it did succeed since otherwise it wouldn't construct
> > > the object) but with dynamically loading a class, presumably
> > > Bio::DB::Persistent::Seq.
> > >
> > > Are you using the 1.5.x release of bioperl?
> > >
> > > Does anyone on the list have any experience with these sorts of
> > > things on Windows?
> > >
> > > (Seth, I've moved this thread to the bioperl list, since this is
> > what
> > > the problem is about.)
> > >
> > >       -hilmar
> > >
> > > On Sep 27, 2006, at 1:39 PM, Seth Johnson wrote:
> > >
> > >> Hello guys,
> > >>
> > >> I successfully populated the biosql database, thanks to you.  Now,
> > >> I'm
> > >> trying to retrieve a sequence from it following the example from
> > >> BOSC2003
> > >> slides and ran into uninformative error (at least to me it doesn't
> > >> mean
> > >> anyting).  I suspect that I'm missing something and hope you can
> > >> point me in
> > >> the right direction.  Here's my source code:
> > >>
> > ---------------------------------------------------------------------
> > >> -
> > >> ---
> > >> #!/usr/bin/perl -w
> > >> use strict;
> > >> use warnings;
> > >>
> > >> use Bio::Seq;
> > >> use Bio::Seq::SeqFactory;
> > >> use Bio::DB::SimpleDBContext;
> > >> use Bio::DB::BioDB;
> > >>
> > >> my $dbc = Bio::DB::SimpleDBContext->new(
> > >>     -driver => 'mysql',
> > >>     -dbname => 'BioSQL_1',
> > >>     -host => '192.168.1.3',
> > >>     -user => 'xxxxx',
> > >>     -pass => 'xxxxxx'
> > >> );
> > >>
> > >> my $db = Bio::DB::BioDB->new(-database  => 'biosql',
> > >>                             -dbcontext => $dbc);
> > >>
> > >> my $seq = Bio::Seq->new(-accession_number => 'NM_014580', -
> > >> namespace =>
> > >> 'refseq_H_sapiens');
> > >> my $seqfact = Bio::Seq::SeqFactory->new(-type => 'Bio::Seq');
> > >> my $adp = $db->get_object_adaptor($seq);
> > >> my $dbseq = $adp->find_by_unique_key($seq, -obj_factory =>
> > $seqfact);
> > >>
> > >> my $out = Bio::SeqIO->newFh('-format' => 'EMBL');
> > >> print $out $dbseq;
> > >>
> > >> exit;
> > >> -----------------------------------------------------------------
> > >>
> > >> Just when the "find_by_unique_key" function is executed I get the
> > >> following
> > >> error:
> > >>
> > >> ================================
> > >> Undefined subroutine &Bio::Root::Root::throw called at
> > >> c:/Perl/site/lib/Bio/DB/Persistent/PersistentObject.pm line 199.
> > >> ================================
> > >>
> > >> The sequence does exist in the database. I checked that.  Any
> > >> ideas???
> > >>
> > >> --
> > >> Best Regards,
> > >>
> > >>
> > >> Seth Johnson
> > >> Senior Bioinformatics Associate
> > >> _______________________________________________
> > >> BioSQL-l mailing list
> > >> BioSQL-l at lists.open-bio.org
> > >> http://lists.open-bio.org/mailman/listinfo/biosql-l
> > >>
> > >
> > > --
> > > ===========================================================
> > > : Hilmar Lapp  -:-  Durham, NC  -:-  hlapp at gmx dot net :
> > > ===========================================================
> > >
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Bioperl-l mailing list
> > > Bioperl-l at lists.open-bio.org
> > > http://lists.open-bio.org/mailman/listinfo/bioperl-l
> >
> > Christopher Fields
> > Postdoctoral Researcher
> > Lab of Dr. Robert Switzer
> > Dept of Biochemistry
> > University of Illinois Urbana-Champaign
> >
> >
> >
> >
> >
> >
> > --
> > Best Regards,
> >
> >
> > Seth Johnson
> > Senior Bioinformatics Associate
> >
> > Ph: (202) 470-0900
> > Fx: (775) 251-0358
>
> Christopher Fields
> Postdoctoral Researcher
> Lab of Dr. Robert Switzer
> Dept of Biochemistry
> University of Illinois Urbana-Champaign
>
>
>
>


-- 
Best Regards,


Seth Johnson
Senior Bioinformatics Associate

Ph: (202) 470-0900
Fx: (775) 251-0358



More information about the Bioperl-l mailing list