[BioSQL-l] problem loading NCBI_taxonomy database into BioSQL bioseqdb

Chris Fields cjfields at illinois.edu
Wed Sep 3 17:09:28 UTC 2008


I'll give it a try; I have a locally built perl 5.10 on my laptop (Mac  
OS X).

I know bioperl and bioperl-db work fine with perl 5.10, so maybe it is  
something with the script that is tripping things up.  Maybe indirect  
object syntax ('new Class' instead of 'Class->new()')?   The error  
looks similar to problems we have seen in the past which resolved when  
switching to the latter.

chris

On Sep 3, 2008, at 10:43 AM, Hilmar Lapp wrote:

> Hi Nick,
>
> this is pretty weird. But the two different results between running  
> with and without sudo strongly indicate that something's wrong with  
> your perl installation setup. Specifically, DBI apparently isn't  
> installed, and the DBI module that you are picking up without the  
> sudo seems to be wrong or a corrupt one.
>
> You can ask perldoc for the full path to the module using the -l  
> argument:
>
> 	$ perldoc -l DBI
> 	$ sudo perldoc -l DBI
> 	$ /usr/bin/perldoc -l DBI
> 	$ sudo /usr/bin/perldoc -l DBI
>
> should all yield the same result, and the following should, too:
>
> 	$ perl -e 'use DBI; $dbh=DBI- 
> >connect("dbi:mysql:database=test","","");'
>
> w/ and w/o using the full path, w/ and w/o prepending sudo.
>
> Is that what you are seeing?
>
> 	-hilmar
>
> On Sep 2, 2008, at 11:57 PM, Nick Matzke wrote:
>
>> Hi Hilmar!
>>
>> Thanks, that's a good thought.  But I just tried running it on the  
>> default 5.8.6 (I have MacOX 10.4), same result:
>>
>>
>> ==========================================
>> mws2:~ nick$ perl5.8.6 -MDBD::mysql -e 'print 1'
>> 1
>>
>> mws2:~ nick$ perl5.8.6 -MDBI -e 'print 1'
>> 1
>>
>> mws2:~ nick$ perl5.8.6 -v
>>
>> This is perl, v5.8.6 built for darwin-thread-multi-2level
>> (with 4 registered patches, see perl -V for more detail)
>>
>> Copyright 1987-2004, Larry Wall
>>
>> Perl may be copied only under the terms of either the Artistic  
>> License or the
>> GNU General Public License, which may be found in the Perl 5 source  
>> kit.
>>
>> Complete documentation for Perl, including FAQ lists, should be  
>> found on
>> this system using `man perl' or `perldoc perl'.  If you have access  
>> to the
>> Internet, point your browser at http://www.perl.org/, the Perl Home  
>> Page.
>>
>>
>> mws2:~ nick$ perl5.8.6 /bioinformatics/pythonstuff/biosql-1.0.0/ 
>> scripts/load_ncbi_taxonomy.pl --dbname bioseqdb --driver mysql -- 
>> dbuser root --download true
>>
>> Can't locate object method "connect" via package "DBI" at / 
>> bioinformatics/pythonstuff/biosql-1.0.0/scripts/ 
>> load_ncbi_taxonomy.pl line 323.
>> ==========================================
>>
>>
>> Just for kicks, I thought it might be a permission issue, so I  
>> tried it with sudo also, at least I got a different error:
>>
>> ==================
>> mws2:~ nick$ sudo perl5.8.6 /bioinformatics/pythonstuff/ 
>> biosql-1.0.0/scripts/load_ncbi_taxonomy.pl --dbname bioseqdb -- 
>> driver mysql --dbuser root --download true
>>
>> Password:
>>
>> Can't locate DBI.pm in @INC (@INC contains: /System/Library/Perl/ 
>> 5.8.6/darwin-thread-multi-2level /System/Library/Perl/5.8.6 / 
>> Library/Perl/5.8.6/darwin-thread-multi-2level /Library/Perl/5.8.6 / 
>> Library/Perl /Network/Library/Perl/5.8.6/darwin-thread- 
>> multi-2level /Network/Library/Perl/5.8.6 /Network/Library/Perl / 
>> System/Library/Perl/Extras/5.8.6/darwin-thread-multi-2level /System/ 
>> Library/Perl/Extras/5.8.6 /Library/Perl/5.8.1 .) at /bioinformatics/ 
>> pythonstuff/biosql-1.0.0/scripts/load_ncbi_taxonomy.pl line 195.
>>
>> BEGIN failed--compilation aborted at /bioinformatics/pythonstuff/ 
>> biosql-1.0.0/scripts/load_ncbi_taxonomy.pl line 195.
>> =====================
>>
>>
>> (As for why I installed ActivePerl -- I don't remember, but it  
>> seemed like a good idea at the time when I was installing various  
>> packages and something or other requested or suggested the newer  
>> version.  I was a total noob at the time.  Still am, sorta...)
>>
>> Nick
>>
>>
>> Hilmar Lapp wrote:
>>> Hi Nick,
>>> this is working fine for me, using perl v5.8.8. You may have  
>>> noticed that DBI does have a method 'connect'.
>>> Your perl reports to be 5.10, and to have been built for Mac OSX,  
>>> yet it is a binary from ActiveState. Is my interpretation correct  
>>> that you installed this on top of or in place of Mac OSX's native  
>>> perl v5.8.8? Correspondingly, are you sure that 'perl' (which is  
>>> what you are calling below), /usr/bin/perl (which is what the  
>>> script executes), and cpan all are the same perl?
>>> If this is all correct and all the right platform, could you try  
>>> and edit the following code (starting at line 323):
>>> my $dbh = DBI->connect($dsn,
>>>              $user,
>>>              $pass,
>>>              { RaiseError => 0,
>>>            AutoCommit => 1,
>>>            PrintError => 0,
>>>              }
>>>             ) or die $DBI::errstr;
>>> by removing the 'or die $DBI::errstr' part. This would be hoping  
>>> that it's an incompatibility for v5.10.
>>> BTW are you sure you need perl 5.10? You will encounter various  
>>> perl software that has not been tested against it yet (though I  
>>> think Bioperl has been fixed meanwhile to be compatible).
>>>   -hilmar
>>> On Sep 2, 2008, at 7:52 PM, Nick Matzke wrote:
>>>> Hi all,
>>>>
>>>> (sorry that I cross-posted this to the biopython lis, I only just  
>>>> realized I should get on the bioSQL list)
>>>>
>>>>
>>>>
>>>> I'm following the BioSQL tutorial at the biopython website (http://www.biopython.org/wiki/BioSQL#NCBI_Taxonomy 
>>>>  ).  I can get bioseqdb to work, and the biosql python scripts etc.
>>>>
>>>> However I can't get these directions to work in loading the  
>>>> taxonomy database into bioseqdb.  I get: "Can't locate object  
>>>> method "connect" via package "DBI" "
>>>>
>>>> I double-checked to make sure I've got DBI in perl (see error  
>>>> message below) but that doesn't seem to help.
>>>>
>>>> Any help appreciated!
>>>> Nick
>>>>
>>>>
>>>>
>>>> commands/returns:
>>>> ===========================
>>>> mws2:/bioinformatics/eg nick$ perl -v
>>>>
>>>> This is perl, v5.10.0 built for darwin-thread-multi-2level
>>>> (with 3 registered patches, see perl -V for more detail)
>>>>
>>>> Copyright 1987-2007, Larry Wall
>>>>
>>>> Binary build 1002 [283697] provided by ActiveState http://www.ActiveState.com
>>>> Built Jan 10 2008 11:08:33
>>>>
>>>> Perl may be copied only under the terms of either the Artistic  
>>>> License or the
>>>> GNU General Public License, which may be found in the Perl 5  
>>>> source kit.
>>>>
>>>> Complete documentation for Perl, including FAQ lists, should be  
>>>> found on
>>>> this system using "man perl" or "perldoc perl".  If you have  
>>>> access to the
>>>> Internet, point your browser at http://www.perl.org/, the Perl  
>>>> Home Page.
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> mws2:/bioinformatics/eg nick$ sudo cpan DBI
>>>> Password:
>>>>
>>>> CPAN: Storable loaded ok (v2.18)
>>>> Going to read /usr/local/Metadata
>>>> Database was generated on Wed, 23 Jul 2008 10:02:50 GMT
>>>> CPAN: LWP::UserAgent loaded ok (v5.810)
>>>> CPAN: Time::HiRes loaded ok (v1.9711)
>>>> Fetching with LWP:
>>>> http://ppm.activestate.com/CPAN/authors/01mailrc.txt.gz
>>>> CPAN: YAML loaded ok (v0.66)
>>>> Going to read /Users/nick/.cpan/sources/authors/01mailrc.txt.gz
>>>> ............................................................................DONE
>>>> Fetching with LWP:
>>>> http://ppm.activestate.com/CPAN/modules/02packages.details.txt.gz
>>>> Going to read /Users/nick/.cpan/sources/modules/ 
>>>> 02packages.details.txt.gz
>>>> Database was generated on Mon, 01 Sep 2008 10:02:51 GMT
>>>> ............................................................................DONE
>>>> Fetching with LWP:
>>>> http://ppm.activestate.com/CPAN/modules/03modlist.data.gz
>>>> Going to read /Users/nick/.cpan/sources/modules/03modlist.data.gz
>>>> ............................................................................DONE
>>>> Going to write /usr/local/Metadata
>>>> DBI is up to date (1.607).
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> mws2:/bioinformatics/eg nick$ /bioinformatics/pythonstuff/ 
>>>> biosql-1.0.0/scripts/load_ncbi_taxonomy.pl --dbname bioseqdb -- 
>>>> driver mysql --dbuser root --download true
>>>>
>>>>
>>>> Can't locate object method "connect" via package "DBI" at / 
>>>> bioinformatics/pythonstuff/biosql-1.0.0/scripts/ 
>>>> load_ncbi_taxonomy.pl line 323.
>>>>
>>>> mws2:/bioinformatics/eg nick$
>>>> ===========================
>>>>
>>>>
>>>>
>>>> Additional sleuthing:
>>>> ===========================
>>>> Based on some web advice on this general error I also did this:
>>>>
>>>> sudo cpan DBD::mysql
>>>>
>>>> ...which did install something that wasn't installed.  But the  
>>>> same error resulted when the load_ncbi_taxonomy.pl script was run.
>>>> ===========================
>>>>
>>>>
>>>> Perl *does* successfully recognize DBI and DBD::mysql, so e.g.  
>>>> not finding them in @INC or something doesn't seem to be the  
>>>> problem...
>>>>
>>>> (these commands return '1' if the module is successfully found)
>>>> ============
>>>> perl -MDBD::mysql -e 'print 1'
>>>> 1
>>>>
>>>> perl -MDBI -e 'print 1'
>>>> 1
>>>> ============
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> BioSQL-l mailing list
>>>> BioSQL-l at lists.open-bio.org
>>>> http://lists.open-bio.org/mailman/listinfo/biosql-l
>>
>> -- 
>> ====================================================
>> Nicholas J. Matzke
>> Ph.D. student, Graduate Student Researcher
>> Huelsenbeck Lab
>> Center for Theoretical Evolutionary Genomics
>> 4151 VLSB (Valley Life Sciences Building)
>> Department of Integrative Biology
>> University of California, Berkeley
>>
>> Lab websites:
>> http://ib.berkeley.edu/people/lab_detail.php?lab=54
>> http://fisher.berkeley.edu/cteg/hlab.html
>> Dept. personal page: http://ib.berkeley.edu/people/students/person_detail.php?person=370
>> Lab personal page: http://fisher.berkeley.edu/cteg/members/ 
>> matzke.html
>> Lab phone: 510-643-6299
>> Dept. fax: 510-643-6264
>> Cell phone: 510-301-0179
>> Email: matzke at berkeley.edu
>>
>> Office hours for Bio1B, Spring 2008: Biology: Plants, Evolution,  
>> Ecology
>> VLSB 2013, Monday 1-1:30 (some TA there for all hours during work  
>> week)
>>
>> Mailing address:
>> Department of Integrative Biology
>> 3060 VLSB #3140
>> Berkeley, CA 94720-3140
>> ====================================================
>> _______________________________________________
>> 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 :
> ===========================================================
>
>
>
> _______________________________________________
> BioSQL-l mailing list
> BioSQL-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/biosql-l

Christopher Fields
Postdoctoral Researcher
Lab of Dr. Marie-Claude Hofmann
College of Veterinary Medicine
University of Illinois Urbana-Champaign







More information about the BioSQL-l mailing list