beast-dev / tracer

Posterior summarisation in Bayesian phylogenetics
https://beast.community/tracer
GNU Lesser General Public License v2.1
55 stars 17 forks source link

Can't do a JointMarginal for two integers. #119

Closed bredelings closed 6 years ago

bredelings commented 7 years ago

If I try to do a JointMarginal for two integers, it fails.

BTW, I wonder if it would be possible to write unit tests for tracer, even though it is a graphical app. I coded some unit tests for bali-phy by stealing the idea of a little python script that Mark Holder wrote, and they ended up being really useful. I guess the key thing would be to allow running tracer in a command-line fashion. Something like:

tracer C1.log C2.log --statistics=prior,likelihood --panel=Trace --out=picture.svg

If tracer could handle this, then it should be relatively easy to set up travis-ci. I would be happy to do it.

GuyBaele commented 6 years ago

Error message for this issue:

Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: dr.stats.FrequencyCounter.getProportionalFrequency(Ljava/lang/Object;)D at dr.app.gui.chart.TangHuLuPlot.paintData(Unknown Source) at dr.app.gui.chart.Plot$AbstractPlot.paintPlot(Unknown Source) at dr.app.gui.chart.JChart.paintContents(Unknown Source) at dr.app.gui.chart.JChart.paintComponent(Unknown Source) at javax.swing.JComponent.paint(JComponent.java:1056) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintChildren(JComponent.java:889) at javax.swing.JComponent.paint(JComponent.java:1065) at javax.swing.JComponent.paintToOffscreen(JComponent.java:5210) at javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1579) at javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1502) at javax.swing.RepaintManager.paint(RepaintManager.java:1272) at javax.swing.JComponent._paintImmediately(JComponent.java:5158) at javax.swing.JComponent.paintImmediately(JComponent.java:4969) at javax.swing.RepaintManager$4.run(RepaintManager.java:831) at javax.swing.RepaintManager$4.run(RepaintManager.java:814) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814) at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789) at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738) at javax.swing.RepaintManager.access$1200(RepaintManager.java:64) at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

GuyBaele commented 6 years ago

Should be fine now.