[Bioperl-l] Error retrieving sequence from BioSQL

Chris Fields cjfields at uiuc.edu
Thu Sep 28 14:26:30 EDT 2006


Seth,

The organism issue is a bug and has been reported, though I thought  
it was fixed.

The lack of the date and the version is a bit odd, but there have  
been a lot of changes lately to bioperl-live (core bioperl in CVS),  
and a few to bioperl-db.  How old is your bioperl and bioperl-db  
installation.  Hilmar, any additional thoughts?

Chris

On Sep 28, 2006, at 11:10 AM, Seth Johnson wrote:

> 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
> _______________________________________________
> 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





More information about the Bioperl-l mailing list