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

Nick Matzke matzke at berkeley.edu
Wed Sep 3 18:16:19 UTC 2008


Hmm, I think you are onto something here...here is what I get with those 
commands:

==========================================
mws2:~ 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




mws2:~ nick$ perldoc -V

Perldoc v3.14_02, under perl v5.010000 for darwin




mws2:~ nick$ perldoc -l DBI

/usr/local/ActivePerl-5.10/site/lib/Bundle/DBI.pm




mws2:~ nick$ sudo perldoc -l DBI
Password:

/usr/local/ActivePerl-5.10/site/lib/DBI.pm




mws2:~ nick$ /usr/bin/perldoc -l DBI

/usr/local/ActivePerl-5.10/site/lib/Bundle/DBI.pm




mws2:~ nick$ sudo /usr/bin/perldoc -l DBI

No documentation found for "DBI".




mws2:~ nick$ perl -e 'use DBI; 
$dbh=DBI->connect("dbi:mysql:database=test","","");'

Can't locate object method "connect" via package "DBI" (perhaps you 
forgot to load "DBI"?) at -e line 1.




mws2:~ nick$ sudo perl -e 'use DBI; 
$dbh=DBI->connect("dbi:mysql:database=test","","");'

[no text returned, so I guess this cmd worked]
==========================================

Suggestions about what to do based on this?
Thanks again!
Nick




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
> 

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



More information about the BioSQL-l mailing list