[Biojava-l] Problem: BioSQL-cvs and/or RichSequence-Annotation

mark.schreiber at novartis.com mark.schreiber at novartis.com
Thu Feb 16 07:45:04 EST 2006


Looking further at your exception trace from your previous email it seems 
like an error somewhere in the Hibernate binding in one of the hbm.xml 
config files.

Specifically, 

org.postgresql.util.PSQLException: ERROR: relation 
"ontology_ontology_id_seq" does not exist

The log files mean you have not configured a JTA transaction manager or 
cache. Not critical but recommended for any serious application.

- Mark





Felix Dreher <dreher at mpiib-berlin.mpg.de>
02/16/2006 08:25 PM

 
        To:     Mark Schreiber/GP/Novartis at PH, biojava-l at biojava.org
        cc: 
        Subject:        Re: [Biojava-l] Problem: BioSQL-cvs and/or RichSequence-Annotation


Hello Mark,

thank you for the information.
If I got it right, when using BioJavaX, the only BioSQL-script that is 
really needed for PostgreSQL is 'biosqldb-pg.sql' (plus possibly 
'biosql-accelerators-pg.sql').
I tried the example again (with and without the accelerator-script) with 
the new CVS-RichSequence.Tools method (see below), but still the same 
exceptions are thrown:

org.postgresql.util.PSQLException: ERROR: relation 
"ontology_ontology_id_seq" does not exist

org.hibernate.exception.SQLGrammarException: could not insert: [Ontology]

Exception in thread "main" java.lang.RuntimeException: Error while 
trying to call new class
   org.biojavax.ontology.SimpleComparableOntology(class java.lang.String)



I'm wondering if something with the Hibernate-Configuration is wrong, 
because in the log-file I found two suspicious entries:


2006-02-16 12:35:12,676  INFO [main]
calling method:
org.hibernate.transaction.TransactionManagerLookupFactory.getTransactionManagerLookup(TransactionManagerLookupFactory.java:33)
No TransactionManagerLookup configured (in JTA environment, use of 
read-write or transactional second-level cache is not recommended)

2006-02-16 12:35:12,754  WARN [main]
calling method:
net.sf.ehcache.config.Configurator.configure(Configurator.java:126)
No configuration found. Configuring ehcache from ehcache-failsafe.xml 
found in the classpath: 
jar:file:/home/dreher/Java/hibernate-3.1/lib/ehcache-1.1.jar!/ehcache-failsafe.xml



Since I ran out of ideas, I hope maybe someone has a hint where I could 
search further.

Thanks in advance,
Felix



P.S.: Here's the code-example:



public class HibernateTest {

    static private final Logger logger =
    PredictionLogger.getLogger(HibernateTest.class);

    public static void main(String[] args) {

        SessionFactory hibernateFactory  = new
        Configuration().configure().buildSessionFactory();
        Session session = hibernateFactory.openSession();
        RichObjectFactory.connectToBioSQL(session);
        Transaction tx = session.beginTransaction();
 
        try {
            //create a RichSequence
            FiniteAlphabet dna = (FiniteAlphabet)
            AlphabetManager.alphabetForName("DNA");
            RichSequence seq =
            RichSequence.Tools.createRichSequence("targets", "testseq", 
"acgcttcatctgc", dna);
 
            //add an Annotation to that Sequence
            ComparableTerm ct = 
RichObjectFactory.getDefaultOntology().getOrCreateTerm("projectname");
            seq.getAnnotation().setProperty(ct, "bklf25");
 
            tx.commit();
            System.out.println("Annotation added.");
        }
        catch (Exception ex) {
            tx.rollback();
            System.out.println("Transaction Error.");
            logger.error("Changes rolled back.", ex);
        }
        finally {
            session.close();
        }
    }
}





mark.schreiber at novartis.com wrote:

 >Wow, that tutorial is out of date!
 >
 >The assembly sql is not required any longer. It was specifically put 
in by
 >David Huen (I think) to allow him to store assembly data in biosql. Can
 >anyone comment on the need for the accelerators?
 >
 >As for you second point I would discourage the use of the enrich method
 >whenever possible. It does the best it can but cannot work miracles. If
 >you get a new download of CVS RichSequence.Tools has several
 >createRichSequence methods to avoid the use of this 'anti-pattern'.
 >
 >RichSequence seq =
 
>(SimpleRichSequence)RichSequence.Tools.enrich(DNATools.createDNASequence("gattacagattaca","urn:local:seq"));
 >
 >As an aside there is no need to cast the return of enrich if you are
 >assining it to a RichSequence pointer.
 >
 >Hope this helps,
 >
 >- Mark
 >
 >
 >
 >
 >
 >Felix Dreher <dreher at mpiib-berlin.mpg.de>
 >Sent by: biojava-l-bounces at portal.open-bio.org
 >02/15/2006 10:49 PM
 >
 >
 >        To:     biojava-l at biojava.org
 >        cc:     (bcc: Mark Schreiber/GP/Novartis)
 >        Subject:        [Biojava-l] Problem: BioSQL-cvs and/or
RichSequence-Annotation
 >
 >
 >Hello,
 >
 >I have a question regarding the BioSQL-schema-scripts.
 >The tutorial on installing BioSQL
 >(http://www.biojava.org/tutorials/biosql.html) says that three scripts
 >are required:
 >
 >biosqldb-pg.sql
 >biosql-accelerators-pg.sql
 >biosqldb-assembly-pg.sql
 >
 >However, the 'assembly'-script can not be found on the CVS-server.
 >Instead there is another script called 'biosqldb-views-pg.sql'.
 >So I would like to know which scripts should be used.
 >
 >
 >Furthermore I have a problem with adding an annotation (or also a
 >feature) to a RichSequence.
 >As it seems to be a problem with Hibernate and/or the BioSQL-schemas: I
 >use BioJava-live (CVS) from 2 weeks ago and the latest 
CVS-BioSQL-scripts.
 >
 >When I try the following code, the following Exceptions are thrown
 >(while the execution of line 2).
 >
 >1        RichSequence seq =  (SimpleRichSequence)
 
>RichSequence.Tools.enrich(DNATools.createDNASequence("gattacagattaca","urn:local:seq"));
 >2        ComparableTerm ct =
 >RichObjectFactory.getDefaultOntology().getOrCreateTerm("projectname");
 >3        seq.getAnnotation().setProperty(ct, "project_25");
 >
 >
 >
 >
 >Exception in thread "main" java.lang.RuntimeException: Error while
 >trying to call new class
 >org.biojavax.ontology.SimpleComparableOntology(class java.lang.String)
 >        at
 
>org.biojavax.bio.db.HibernateRichObjectBuilder.buildObject(HibernateRichObjectBuilder.java:154)
 >        at
 >org.biojavax.RichObjectFactory.getObject(RichObjectFactory.java:97)
 >        at
 
>org.biojavax.RichObjectFactory.getDefaultOntology(RichObjectFactory.java:178)
 >        at hibernatetest.Main.main(Main.java:246)
 >Caused by: java.lang.reflect.InvocationTargetException
 >        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 >        at
 
>sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 >        at
 
>sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 >        at java.lang.reflect.Method.invoke(Method.java:585)
 >        at
 
>org.biojavax.bio.db.HibernateRichObjectBuilder.buildObject(HibernateRichObjectBuilder.java:138)
 >        ... 3 more
 >Caused by: org.hibernate.exception.SQLGrammarException: could not
 >insert: [Ontology]
 >        at
 
>org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:65)
 >        at
 
>org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
 >        at
 
>org.hibernate.id.AbstractPostInsertGenerator.getGenerated(AbstractPostInsertGenerator.java:56)
 >        at
 
>org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:1994)
 >        at
 
>org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2405)
 >        at
 
>org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:37)
 >        at 
org.hibernate.engine.ActionQueue.execute(ActionQueue.java:243)
 >        at
 
>org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:269)
 >        at
 
>org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:167)
 >        at
 
>org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:101)
 >        at
 
>org.hibernate.event.def.DefaultPersistEventListener.entityIsTransient(DefaultPersistEventListener.java:131)
 >        at
 
>org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:87)
 >        at
 
>org.hibernate.event.def.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:38)
 >        at
 >org.hibernate.impl.SessionImpl.firePersist(SessionImpl.java:642)
 >        at org.hibernate.impl.SessionImpl.persist(SessionImpl.java:616)
 >        ... 8 more
 >Caused by: org.postgresql.util.PSQLException: ERROR: relation
 >"ontology_ontology_id_seq" does not exist
 >        at
 
>org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1512)
 >        at
 
>org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1297)
 >        at
 
>org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:188)
 >        at
 
>org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:430)
 >        at
 
>org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:346)
 >        at
 
>org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:250)
 >        at
 
>org.hibernate.id.AbstractPostInsertGenerator.getGenerated(AbstractPostInsertGenerator.java:42)
 >        ... 20 more
 >
 >
 >
 >Thanks in advance!
 >
 >Greetings,
 >Felix
 >
 >
 >
 >
 >



-- 
Felix Dreher
Max-Planck-Institute for Infection Biology
Campus Charité Mitte
Department of Immunology
Mailing address: Schumannstraße 21/22
Visitors: Virchowweg 12
10117 Berlin
Germany
Tel.: +49 (0)30 28460-254 / -494
Mobile: +49 (0)163 7542426







More information about the Biojava-l mailing list