[Biojava-l] features of a sequence

Gabrielle Doan gabrielle_doan at gmx.net
Thu Jun 5 13:32:32 UTC 2008


Hi all,

I would like to query the features of a sequence with following code:

<code>
public class Test{
      public static void main(String[] args) {
        // load Hibernate config

        SessionFactory sessionFactory = new 
Configuration().configure().buildSessionFactory();        // open the 
session
        Session session = sessionFactory.openSession();
        // connect it to BioJavaX
        RichObjectFactory.connectToBioSQL(session);

        Transaction tx = session.beginTransaction();
              Query q1 = session.createQuery(
                "from Feature as f " +
                "inner join fetch f.noteSet as n " +
                "where n.value=:val and f.typeTerm.name=:term");
        q1.setString("val","TRNF");
        q1.setString("term","gene"); 
List<SimpleRichFeature> li = q1.list(); 
System.out.println("Found:\t"+li.size());
        for (Iterator<SimpleRichFeature> i = li.iterator(); i.hasNext(); ){
            SimpleRichFeature f = i.next();
            System.out.println("Term:\t"+f.getTypeTerm().getName());
 
System.out.println("Location:\t"+f.getLocation().getMin()+"\t"+f.getLocation().getMax());
            System.out.println(f.getSequence().seqString());
            Annotation a = f.getAnnotation();
            for (Iterator keys = a.keys().iterator(); keys.hasNext(); ){
              Object key = keys.next();
              System.out.println(key+"\t"+a.getProperty(key));
            }
        }
              tx.commit();
        session.close();
    }

}
</code>


When I try to print the SymbolList associated with the feature I receive 
the following exception. I appreciate any hint because I do not know 
what to do as it seems that the exception occurs somewhere within 
BioJava code.


Exception in thread "main" org.hibernate.PropertyAccessException: 
Exception occurred inside setter of 
org.biojavax.bio.seq.SimpleRichFeature.locationSet
    at 
org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:65)
    at 
org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:337)
    at 
org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:200)
    at 
org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:3571)
    at 
org.hibernate.engine.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:133)
    at 
org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:854)
    at org.hibernate.loader.Loader.doQuery(Loader.java:729)
    at 
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:236)
    at org.hibernate.loader.Loader.loadCollection(Loader.java:1994)
    at 
org.hibernate.loader.collection.CollectionLoader.initialize(CollectionLoader.java:36)
    at 
org.hibernate.persister.collection.AbstractCollectionPersister.initialize(AbstractCollectionPersister.java:565)
    at 
org.hibernate.event.def.DefaultInitializeCollectionEventListener.onInitializeCollection(DefaultInitializeCollectionEventListener.java:63)
    at 
org.hibernate.impl.SessionImpl.initializeCollection(SessionImpl.java:1716)
    at 
org.hibernate.collection.AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:454)
    at 
org.hibernate.engine.StatefulPersistenceContext.initializeNonLazyCollections(StatefulPersistenceContext.java:844)
    at 
org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:241)
    at org.hibernate.loader.Loader.loadEntity(Loader.java:1860)
    at 
org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:48)
    at 
org.hibernate.loader.entity.AbstractEntityLoader.load(AbstractEntityLoader.java:42)
    at 
org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3049)
    at 
org.hibernate.event.def.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:399)
    at 
org.hibernate.event.def.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:375)
    at 
org.hibernate.event.def.DefaultLoadEventListener.load(DefaultLoadEventListener.java:139)
    at 
org.hibernate.event.def.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:98)
    at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:878)
    at org.hibernate.impl.SessionImpl.immediateLoad(SessionImpl.java:836)
    at 
org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:66)
    at 
org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111)
    at 
org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:150)
    at 
org.biojavax.bio.seq.ThinRichSequence$$EnhancerByCGLIB$$e3c3c7ff.seqString(<generated>)
    at meinVersuch.TestAbfragen.main(TestAbfragen.java:59)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at 
org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:42)
    ... 30 more
Caused by: java.lang.RuntimeException: Error while trying to call new 
class org.biojavax.ontology.SimpleComparableOntology(class java.lang.String)
    at 
org.biojavax.bio.db.biosql.BioSQLRichObjectBuilder.buildObject(BioSQLRichObjectBuilder.java:166)
    at org.biojavax.RichObjectFactory.getObject(RichObjectFactory.java:105)
    at 
org.biojavax.RichObjectFactory.getDefaultOntology(RichObjectFactory.java:221)
    at 
org.biojavax.bio.seq.CompoundRichLocation.getJoinTerm(CompoundRichLocation.java:61)
    at 
org.biojavax.bio.seq.CompoundRichLocation.<init>(CompoundRichLocation.java:90)
    at 
org.biojavax.bio.seq.SimpleRichLocation.union(SimpleRichLocation.java:494)
    at org.biojavax.bio.seq.RichLocation$Tools.merge(RichLocation.java:363)
    at 
org.biojavax.bio.seq.SimpleRichFeature.setLocationSet(SimpleRichFeature.java:181)
    ... 35 more
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at 
org.biojavax.bio.db.biosql.BioSQLRichObjectBuilder.buildObject(BioSQLRichObjectBuilder.java:133)
    ... 42 more
Caused by: org.hibernate.HibernateException: A collection with 
cascade="all-delete-orphan" was no longer referenced by the owning 
entity instance: Feature.locationSet
    at 
org.hibernate.engine.Collections.processDereferencedCollection(Collections.java:96)
    at 
org.hibernate.engine.Collections.processUnreachableCollection(Collections.java:39)
    at 
org.hibernate.event.def.AbstractFlushingEventListener.flushCollections(AbstractFlushingEventListener.java:218)
    at 
org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:77)
    at 
org.hibernate.event.def.DefaultAutoFlushEventListener.onAutoFlush(DefaultAutoFlushEventListener.java:35)
    at 
org.hibernate.impl.SessionImpl.autoFlushIfRequired(SessionImpl.java:969)
    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1114)
    at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
    at 
org.hibernate.impl.AbstractQueryImpl.uniqueResult(AbstractQueryImpl.java:811)
    ... 47 more

It would be very nice if someone can help me. I am grateful for any 
hints. Thanks a lot.

Cheers,
Gabrielle



More information about the Biojava-l mailing list