[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