GO Enrichment Widget

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

GO Enrichment Widget

Michael O'Keefe
Hello Everyone,

I recently enabled list widgets on the Mine I'm developing, and I've run into an issue with the GO Enrichment widget. When a new list is generated and its summary page is viewed, the GO enrichment widget appears to calculate for a little while, and then displays "no results". Simultaneously, the following error message appears in $TOMCAT_HOME/logs/catalina.out:

org.apache.commons.math.MathRuntimeException$4: population size must be positive (0)
    at org.apache.commons.math.MathRuntimeException.createIllegalArgumentException(MathRuntimeException.java:394)
    at org.apache.commons.math.distribution.HypergeometricDistributionImpl.setPopulationSizeInternal(HypergeometricDistributionImpl.java:280)
    at org.apache.commons.math.distribution.HypergeometricDistributionImpl.<init>(HypergeometricDistributionImpl.java:71)
    at org.intermine.web.logic.widget.WidgetUtil.statsCalc(WidgetUtil.java:109)
    at org.intermine.web.logic.widget.EnrichmentWidget.process(EnrichmentWidget.java:82)
    at org.intermine.web.logic.widget.EnrichmentWidget.<init>(EnrichmentWidget.java:67)
    at org.intermine.dwr.AjaxServices.getProcessEnrichmentWidget(AjaxServices.java:976)
    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:597)
    at org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)
    at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
    at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)
    at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)
    at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)
    at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
    at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:270)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:637)


Does anyone have any idea how to fix this error? I'm running Intermine 0.97 on a Mac running Snow Leopard. If you have any ideas I would greatly appreciate it. Please let me know if you need any more information.

Thank you very much,
Michael O'Keefe
[hidden email]


_______________________________________________
dev mailing list
[hidden email]
http://mail.intermine.org/cgi-bin/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

Re: GO Enrichment Widget

Julie Sullivan
Hi Michael,

Does this happen for *every* list of genes you make?  The widget expects the
data model to look a specific way (eg. ontology terms attached to genes etc),
did you use the generic InterMine GO data loaders?

This is the query the widget runs, can you import this query into your webapp
and run it?  You will need to change the taxon ID.

<query name="" model="genomic" view="Gene.primaryIdentifier
Gene.goAnnotation.ontologyTerm.parents.name" sortOrder="Gene.primaryIdentifier
asc" constraintLogic="A and B and C and D and E and F">
   <constraint path="Gene.organism.taxonId" code="A" op="=" value="7227"/>
   <constraint path="Gene.goAnnotation.qualifier" code="B" op="IS NULL"/>
   <constraint path="Gene.goAnnotation.ontologyTerm.identifier" code="C" op="!="
value="GO:0008150"/>
   <constraint path="Gene.goAnnotation.ontologyTerm.identifier" code="D" op="!="
value="GO:0003674"/>
   <constraint path="Gene.goAnnotation.ontologyTerm.identifier" code="E" op="!="
value="GO:0005575"/>
   <constraint path="Gene.goAnnotation.ontologyTerm.namespace" code="F" op="="
value="biological_process"/>
</query>

(via QueryBuilder > Import Queries > Submit, eg.
http://www.flymine.org/release-30.0/importQueries.do)

The widget then runs the same query with the genes constrained to be only the
ones in the user's list (constrain by gene and click on the checkbox to filter
on your list).  Can you try that too?  Do you get results for both queries?

If not, that would explain why the widget isn't working.  If you do get results,
maybe you could send me your annotation file and I can test it locally.

Let me know what you find,
Julie

On 07/27/2011 07:44 PM, Michael O'Keefe wrote:

> Hello Everyone,
>
> I recently enabled list widgets on the Mine I'm developing, and I've run
> into an issue with the GO Enrichment widget. When a new list is generated
> and its summary page is viewed, the GO enrichment widget appears to
> calculate for a little while, and then displays "no results".
> Simultaneously, the following error message appears in
> $TOMCAT_HOME/logs/catalina.out:
>
> org.apache.commons.math.MathRuntimeException$4: population size must be
> positive (0)
>      at
> org.apache.commons.math.MathRuntimeException.createIllegalArgumentException(MathRuntimeException.java:394)
>      at
> org.apache.commons.math.distribution.HypergeometricDistributionImpl.setPopulationSizeInternal(HypergeometricDistributionImpl.java:280)
>      at
> org.apache.commons.math.distribution.HypergeometricDistributionImpl.<init>(HypergeometricDistributionImpl.java:71)
>      at
> org.intermine.web.logic.widget.WidgetUtil.statsCalc(WidgetUtil.java:109)
>      at
> org.intermine.web.logic.widget.EnrichmentWidget.process(EnrichmentWidget.java:82)
>      at
> org.intermine.web.logic.widget.EnrichmentWidget.<init>(EnrichmentWidget.java:67)
>      at
> org.intermine.dwr.AjaxServices.getProcessEnrichmentWidget(AjaxServices.java:976)
>      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:597)
>      at
> org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)
>      at
> org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
>      at
> org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)
>      at
> org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)
>      at
> org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)
>      at
> org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
>      at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
>      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>      at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>      at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>      at
> com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:270)
>      at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
>      at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>      at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>      at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>      at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
>      at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>      at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>      at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
>      at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
>      at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
>      at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
>      at java.lang.Thread.run(Thread.java:637)
>
>
> Does anyone have any idea how to fix this error? I'm running Intermine 0.97
> on a Mac running Snow Leopard. If you have any ideas I would greatly
> appreciate it. Please let me know if you need any more information.
>
> Thank you very much,
> Michael O'Keefe
> [hidden email]
>
>
>
>
> _______________________________________________
> dev mailing list
> [hidden email]
> http://mail.intermine.org/cgi-bin/mailman/listinfo/dev

_______________________________________________
dev mailing list
[hidden email]
http://mail.intermine.org/cgi-bin/mailman/listinfo/dev
Reply | Threaded
Open this post in threaded view
|

Re: GO Enrichment Widget

Michael O'Keefe
Hello Julie,

I was able to solve the problem based on your email; the query you sent me helped me to figure it out. I'm not using the default InterMine GO dataloader; instead I'm using a loader that pulls the data from the Mouse Genome Informatics database. It turns out I wasn't formatting the namespaces correctly when I set them in the loader ("Biological Process" instead of "biological_process"), and changing that has fixed the issue.

Thank you very much for the help,
Michael O'Keefe

On Thu, Jul 28, 2011 at 5:58 AM, Julie Sullivan <[hidden email]> wrote:
Hi Michael,

Does this happen for *every* list of genes you make?  The widget expects the data model to look a specific way (eg. ontology terms attached to genes etc), did you use the generic InterMine GO data loaders?

This is the query the widget runs, can you import this query into your webapp and run it?  You will need to change the taxon ID.

<query name="" model="genomic" view="Gene.primaryIdentifier Gene.goAnnotation.ontologyTerm.parents.name" sortOrder="Gene.primaryIdentifier asc" constraintLogic="A and B and C and D and E and F">
 <constraint path="Gene.organism.taxonId" code="A" op="=" value="7227"/>
 <constraint path="Gene.goAnnotation.qualifier" code="B" op="IS NULL"/>
 <constraint path="Gene.goAnnotation.ontologyTerm.identifier" code="C" op="!=" value="GO:0008150"/>
 <constraint path="Gene.goAnnotation.ontologyTerm.identifier" code="D" op="!=" value="GO:0003674"/>
 <constraint path="Gene.goAnnotation.ontologyTerm.identifier" code="E" op="!=" value="GO:0005575"/>
 <constraint path="Gene.goAnnotation.ontologyTerm.namespace" code="F" op="=" value="biological_process"/>
</query>

(via QueryBuilder > Import Queries > Submit, eg. http://www.flymine.org/release-30.0/importQueries.do)

The widget then runs the same query with the genes constrained to be only the ones in the user's list (constrain by gene and click on the checkbox to filter on your list).  Can you try that too?  Do you get results for both queries?

If not, that would explain why the widget isn't working.  If you do get results, maybe you could send me your annotation file and I can test it locally.

Let me know what you find,
Julie


On 07/27/2011 07:44 PM, Michael O'Keefe wrote:
Hello Everyone,

I recently enabled list widgets on the Mine I'm developing, and I've run
into an issue with the GO Enrichment widget. When a new list is generated
and its summary page is viewed, the GO enrichment widget appears to
calculate for a little while, and then displays "no results".
Simultaneously, the following error message appears in
$TOMCAT_HOME/logs/catalina.out:

org.apache.commons.math.MathRuntimeException$4: population size must be
positive (0)
    at
org.apache.commons.math.MathRuntimeException.createIllegalArgumentException(MathRuntimeException.java:394)
    at
org.apache.commons.math.distribution.HypergeometricDistributionImpl.setPopulationSizeInternal(HypergeometricDistributionImpl.java:280)
    at
org.apache.commons.math.distribution.HypergeometricDistributionImpl.<init>(HypergeometricDistributionImpl.java:71)
    at
org.intermine.web.logic.widget.WidgetUtil.statsCalc(WidgetUtil.java:109)
    at
org.intermine.web.logic.widget.EnrichmentWidget.process(EnrichmentWidget.java:82)
    at
org.intermine.web.logic.widget.EnrichmentWidget.<init>(EnrichmentWidget.java:67)
    at
org.intermine.dwr.AjaxServices.getProcessEnrichmentWidget(AjaxServices.java:976)
    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:597)
    at
org.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)
    at
org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:428)
    at
org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:431)
    at
org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:283)
    at
org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)
    at
org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)
    at org.directwebremoting.servlet.DwrServlet.doPost(DwrServlet.java:146)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at
com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:270)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
    at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Thread.java:637)


Does anyone have any idea how to fix this error? I'm running Intermine 0.97
on a Mac running Snow Leopard. If you have any ideas I would greatly
appreciate it. Please let me know if you need any more information.

Thank you very much,
Michael O'Keefe
[hidden email]




_______________________________________________
dev mailing list
[hidden email]
http://mail.intermine.org/cgi-bin/mailman/listinfo/dev

_______________________________________________
dev mailing list
[hidden email]
http://mail.intermine.org/cgi-bin/mailman/listinfo/dev


_______________________________________________
dev mailing list
[hidden email]
http://mail.intermine.org/cgi-bin/mailman/listinfo/dev