[Biojava-l] Biojava uses which BioSQL shema version ?

Alexandre Dionne Laporte adionne at warnex.ca
Tue Jun 1 12:10:04 EDT 2004

Hi and thanks for for the reply,

I have reloaded the biosql-db schema to mysql and I have inserted one sequence form a Genbank format with the 'load_seqdatabase.pl' perl script.

When I try to fetch this entry for the first time with Biojava1.4pre1 I get this error :

*** Importing a core ontology -- hope this is okay
*** Importing terms
org.biojava.bio.BioException: Error accessing ontologies
        at org.biojava.bio.seq.db.biosql.BioSQLSequenceDB.initDb(BioSQLSequenceDB.java:238)
        at org.biojava.bio.seq.db.biosql.BioSQLSequenceDB.<init>(BioSQLSequenceDB.java:193)
        at ca.warnex.sab.util.helpers.biosqlTest.main(biosqlTest.java:49)
Caused by: java.sql.SQLException: General error,  message from server: "Table 'bioseqdb.term_relationship_term' doesn't exist"
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1977)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1163)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1272)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:2236)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1741)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1588)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:205)
        at org.apache.commons.dbcp.DelegatingPreparedStatement.executeUpdate(DelegatingPreparedStatement.java:205)
        at org.biojava.bio.seq.db.biosql.OntologySQL.persistTriple(OntologySQL.java:616)
        at org.biojava.bio.seq.db.biosql.OntologySQL.processTerm(OntologySQL.java:262)
        at org.biojava.bio.seq.db.biosql.OntologySQL.processTerm(OntologySQL.java:251)
        at org.biojava.bio.seq.db.biosql.OntologySQL.addCore(OntologySQL.java:218)
        at org.biojava.bio.seq.db.biosql.OntologySQL.<init>(OntologySQL.java:396)
        at org.biojava.bio.seq.db.biosql.OntologySQL.getOntologySQL(OntologySQL.java:71)
        at org.biojava.bio.seq.db.biosql.BioSQLSequenceDB.initDb(BioSQLSequenceDB.java:236)
        ... 2 more

which added a row with '__core_ontology' in the table 'ontology';

When I try to fetch the entry for a second time, I get:

Exception in thread "main" org.biojava.bio.BioError: Invalid term id 4
        at org.biojava.bio.seq.db.biosql.OntologySQL.termForID(OntologySQL.java:691)
        at org.biojava.bio.seq.db.biosql.BioSQLSequenceDB.getOntologyTerm(BioSQLSequenceDB.java:951)
        at org.biojava.bio.seq.db.biosql.FeaturesSQL.retrieveFeatures(FeaturesSQL.java:155)
        at org.biojava.bio.seq.db.biosql.BioSQLAllFeatures.getFeatures(BioSQLAllFeatures.java:145)
        at org.biojava.bio.seq.db.biosql.BioSQLAllFeatures.features(BioSQLAllFeatures.java:73)
        at org.biojava.bio.seq.db.biosql.BioSQLSequence.features(BioSQLSequence.java:237)
        at ca.warnex.sab.util.helpers.biosqlTest.main(biosqlTest.java:62)

The fourth Ontology row is the one with '__core_ontology' in its name.

Any Ideas???
Are you sure the biosql-db schema (biosqldb-mysql.sql v. 1.38) is the wright one to use ?

Alexandre D.L.

-----Original Message-----
From:	Simon Foote [mailto:simon.foote at nrc-cnrc.gc.ca]
Sent:	Tue 6/1/2004 9:05 AM
To:	Alexandre Dionne Laporte
Cc:	biojava-l at biojava.org
Subject:	Re: [Biojava-l] Biojava uses which BioSQL shema version ?
Hi Alexandre,

That version of biosql schema should work fine with the biojava snapshot 
you have.
To load a Genbank file into the database, the following code should do 
the trick with the various variables set and error handling code added:

BioSQLSequenceDB bsd = new BioSQLSequenceDB(driver, url, user, password, 
biodatabase, create);
BufferedReader br = new BufferedReader(new FileReader(inFile));
SequenceIterator si = SeqIOTools.readGenbank(br);
Sequence seq = (Sequence) si.nextSequence();

To write it in Genbank format you can use the getSequence() and 
appropriate writeSequence() method for the format you want.


Alexandre Dionne Laporte wrote:

>First of all, here are the softwares I use:
>1) Biojava snapshot 'biojava-20040528'
>2) latest biosql shema : biosqldb-mysql.sql v. 1.38
>3) Some of Bioperl 1.4 and bioperl-db projects
>I would like to store entries from a Genbank file from the NCBI to the
>BioSQL schema using biojava. That I can do with the 'load_seqdatabase.pl'
>script found in bioperl-db without any problem. 
>In a same way, I would like to retreive sequences with the Biojava package
>and dump it in Genbank file format, as I can do with 'bioentry2flat.pl'
>My question is : Which version of biosqldb should I use with the biojava
>snapshot ?
>Alexandre D.L.
>Biojava-l mailing list  -  Biojava-l at biojava.org

Bioinformatics Programmer
Pathogen Genomics
Institute for Biological Sciences
National Research Council of Canada
[T] 613-990-0561  [F] 613-952-9092
simon.foote at nrc-cnrc.gc.ca

More information about the Biojava-l mailing list