[Bioperl-l] bioperl-db question
Hilmar Lapp
hlapp at gmx.net
Tue Nov 21 21:44:50 UTC 2006
Yes this needs to be better documented.
Note that you can use both APIs if you install them under different
users (= schema in Oracle). I'm not 100% sure whether both variants
are fully prepared for this; you may have to create synonyms for the
schema-owner tables first, i.e.,
SQL> CREATE SYNONYM sg_biodatabase FOR biosqlowner.sg_biodatabase;
etc, assuming that are logged on as the user under which you want to
create the API, and biosqlowner is the schema-owner of the BioSQL
instance.
Did you want to use BioSQL with both bioperl and biojava?
-hilmar
On Nov 21, 2006, at 3:33 PM, gang wu wrote:
> Hi Hilmar,
>
> I just rebuilt the Oracle BioSQL database by strictly following the
> INSTALL doc. You are right that BS-create-Biosql-API.sql must be
> run to make bioperl-db work with it(the oid columns). But my
> installation problem was caused by running BS-create-Biosql-
> API2.sql after it, which rendered the database not compatible with
> bioperl-db. If I ran only BS-create-Biosql-API.sql, ll bioperl-db
> tests could pass. Does this mean that the Oracle version is not
> interoperable between the Bio- projects at this point?
>
> Did I miss anything in the INSTALL or README? I only saw a line "--
> all others (Biojava, etc)" but did not realize I could not run both
> BS-create-Biosql-API.sql and BS-create-Biosql-API2.sql. I this is
> the case, can you please add it to the docs?
>
> Thanks very much for your help.
>
> Gang
>
> Hilmar Lapp wrote:
>> The Oracle error is
>>
>> ORA-00904: "BIODATABASE"."OID": invalid identifier
>>
>> and if you look at the accompanying statement, it's the UK select
>> statement:
>>
>> SELECT <*>biodatabase.oid, biodatabase.name,
>> biodatabase.authority FROM biodatabase WHERE name = :p1
>>
>> The column OID must exist in the Biodatabase table (which actually
>> is a synonym to the SG_BIODATABASE table), if it is the Oracle
>> schema.
>>
>> This actually prompts another suggestion, sorry for not asking
>> that first: did you actually install the BioSQL-API on top of the
>> schema by running the script BS-create-Biosql-API.sql? (It seems
>> that the statement it chokes on is also the first statement being
>> prepared, so this may well be the reason)
>>
>> -hilmar
>>
>> On Nov 21, 2006, at 3:11 AM, gang wu wrote:
>>
>>> Can you show me where it indicates I am actually using the MySQL
>>> schema.
>>> I am pretty sure that I used the sql script files from
>>> sql/biosql-ora(Has anyone actually tried to install MySQL schema on
>>> Oracle?). I can reinstall the schema if you think that's the way to
>>> solve the problem. Thanks very much.
>>>
>>> Gang
>>>
>>> Hilmar Lapp wrote:
>>>> It looks like you are using the MySQL schema under Oracle. There
>>>> are
>>>> different DDL scripts for each supported RDBMS. The ones for Oracle
>>>> are in the sql/biosql-ora subdirectory. Note the INSTALL
>>>> document in
>>>> that directory.
>>>>
>>>> -hilmar
>>>>
>>>>
>>>> On Nov 20, 2006, at 1:16 PM, gang wu wrote:
>>>>
>>>>
>>>>> Hi Hilmar,
>>>>>
>>>>> Below is the output. Thanks.
>>>>>
>>>>> Gang
>>>>> ==========================================================
>>>>> [root at elegans bioperl-db-1.5.2-RC3]# export HARNESS_VERBOSE=1
>>>>> [root at elegans bioperl-db-1.5.2-RC3]# make test_01dbadaptor
>>>>> TEST_VERBOSE=1
>>>>> PERL_DL_NONLAZY=1 /usr/bin/perl -Iblib/arch -Iblib/lib -I/usr/
>>>>> lib64/
>>>>> perl5/5.8.5/x86_64-linux-thread-multi -I/usr/lib/perl5/5.8.5 -e
>>>>> 'use Test::Harness qw(&runtests $verbose); $verbose=1; runtests
>>>>> @ARGV;' t/01dbadaptor.t
>>>>> t/01dbadaptor....1..19
>>>>> ok 1
>>>>> ok 2
>>>>> ok 3
>>>>> ok 4
>>>>> ok 5
>>>>> ok 6
>>>>> ok 7
>>>>> ok 8
>>>>> ok 9
>>>>> ok 10
>>>>> ok 11
>>>>> attempting to load adaptor class for BioNamespace
>>>>> ok 12
>>>>> attempting to load module
>>>>> Bio::DB::BioSQL::BioNamespaceAdaptor
>>>>> instantiating adaptor class Bio::DB::BioSQL::BioNamespaceAdaptor
>>>>> ok 13
>>>>> ok 14
>>>>> attempting to load driver for adaptor class
>>>>> Bio::DB::BioSQL::BioNamespaceAdaptor
>>>>> attempting to load driver for adaptor class
>>>>> Bio::DB::BioSQL::BasePersistenceAdaptor
>>>>> Using Bio::DB::BioSQL::Oracle::BasePersistenceAdaptorDriver as
>>>>> driver peer for Bio::DB::BioSQL::BioNamespaceAdaptor
>>>>> preparing UK select statement: SELECT biodatabase.oid,
>>>>> biodatabase.name, biodatabase.authority FROM biodatabase WHERE
>>>>> name
>>>>> = ?
>>>>> DBD::Oracle::db prepare failed: ORA-00904: "BIODATABASE"."OID":
>>>>> invalid identifier (DBD ERROR: error possibly near <*>
>>>>> indicator at
>>>>> char 7 in 'SELECT <*>biodatabase.oid, biodatabase.name,
>>>>> biodatabase.authority FROM biodatabase WHERE name = :p1') [for
>>>>> Statement "SELECT biodatabase.oid, biodatabase.name,
>>>>> biodatabase.authority FROM biodatabase WHERE name = ?"] at blib/
>>>>> lib/
>>>>> Bio/DB/BioSQL/BaseDriver.pm line 1800.
>>>>> BioNamespaceAdaptor: binding UK column 1 to
>>>>> "__dummy__" (namespace)
>>>>> Can't call method "bind_param" on an undefined value at blib/lib/
>>>>> Bio/DB/BioSQL/BasePersistenceAdaptor.pm line 939.
>>>>> dubious
>>>>> Test returned status 255 (wstat 65280, 0xff00)
>>>>> DIED. FAILED tests 15-19
>>>>> Failed 5/19 tests, 73.68% okay
>>>>> Failed Test Stat Wstat Total Fail Failed List of Failed
>>>>> ------------------------------------------------------------------
>>>>> ----
>>>>> ---------
>>>>> t/01dbadaptor.t 255 65280 19 10 52.63% 15-19
>>>>> Failed 1/1 test scripts, 0.00% okay. 5/19 subtests failed, 73.68%
>>>>> okay.
>>>>> make: *** [test_01dbadaptor] Error 2
>>>>> =========================================================
>>>>>
>>>>>
>>>>> Hilmar Lapp wrote:
>>>>>
>>>>>> Hi Gang,
>>>>>>
>>>>>> what I wanted to get at was the error message from the driver
>>>>>> when
>>>>>> it fails to generate the prepared statement, but this is not in
>>>>>> the output.
>>>>>>
>>>>>> I believe you need set the HARNESS_VERBOSE environment
>>>>>> variable to
>>>>>> 1 before testing to get what I need:
>>>>>>
>>>>>> $ export HARNESS_VERBOSE=1 # or setenv HARNESS_VERBOSE 1 for
>>>>>> csh/tcsh
>>>>>> $ make test_01dbadaptor TEST_VERBOSE=1
>>>>>>
>>>>>> This will lead to _a lot_ of debugging output. Do not run this
>>>>>> for
>>>>>> the entire test suite.
>>>>>>
>>>>>> The errors for mysql I believe are related to the fact that have
>>>>>> loaded the NCBI taxonomy before testing? Run the tests on a fresh
>>>>>> (completely empty) instance of BioSQL.
>>>>>>
>>>>>> Let me know what you get for the Oracle test above.
>>>>>>
>>>>>> -hilmar
>>>>>>
>>>>>> On Nov 20, 2006, at 10:57 AM, gang wu wrote:
>>>>>>
>>>>>>
>>>>>>> Hi Hilmar,
>>>>>>>
>>>>>>> Thanks for your message. Below are several tests for Oracle and
>>>>>>> MySQL. MySQL actually also has two tests with failed items which
>>>>>>> may be related to data in BioSQL database.
>>>>>>>
>>>>>>> Could it be my Oracle installation/configuration has some
>>>>>>> issues?
>>>>>>>
>>>>>>> Thanks.
>>>>>>>
>>>>>>> Gang
>>>>>>>
>>>>>> --===========================================================
>>>>>> : 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
>>
>> --===========================================================
>> : Hilmar Lapp -:- Durham, NC -:- hlapp at gmx dot net :
>> ===========================================================
>>
>>
>>
>>
>>
--
===========================================================
: Hilmar Lapp -:- Durham, NC -:- hlapp at gmx dot net :
===========================================================
More information about the Bioperl-l
mailing list