[Bioperl-l] bioperl-db question

Hilmar Lapp hlapp at gmx.net
Tue Nov 21 16:44:50 EST 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