Pages

Friday, November 18, 2005

The goal: a live chemblaics CD

This evening I have been looking at with the KNOPPIX customization howto, and ran many of the interesting commands. I've setup a environment with Kalzium, OpenBabel, CDK, jython, PyMOL, and for development I included gcj and Eclipse. At some later point I will include kfile_chemical too, but I want to make a deb package first.

Moreover, I also wanted it to include JChemPaint, Jmol and Taverna (with the CDK extension). However, these depend on Swing, which is not suffiently provided by open source java virtual machines. I attempted gij 4.0, kaffe and sablevm, all without success.

A live CD with all the open source chemo- and bioinformatics tools would be a real killer. We could take a burned live CD with us to conferences and have others run our software on their laptop! But we need to stop use Swing. Fortunately, there seems to be a serious project going on to port JChemPaint and Jmol to a free Java GUI environment, so maybe we can have the live CD up and going before the 2006 conferences start.

2 comments:

  1. If you have some examples of programs that don't work yet with gcj/kaffe/GNU Classpath/etc and easy to follow install/build/run instructions please add them to our Free Swing Test Applications wiki page. Especially if they almost run. GCJ 4.1 will included updated Free Swing support but this area is still in active development so you might want to try jamvm + GNU Classpath CVS if you are adventurous.

    ReplyDelete
  2. Mark, thanx for replying. I've seen that page, and will add Jmol and JChemPaint to it. I've just tried Jmol with jamvm (1.3.3) and classpath (0.18) and this gives me this error:

    java.lang.NullPointerException
    at javax.swing.DefaultListCellRenderer.getListCellRendererComponent (DefaultListCellRenderer.java:95)
    at javax.swing.plaf.basic.BasicListUI.updateLayoutState (BasicListUI.java:646)
    at javax.swing.plaf.basic.BasicListUI.maybeUpdateLayoutState (BasicListUI.java:687)
    at javax.swing.plaf.basic.BasicListUI.getCellBounds (BasicListUI.java:561)
    at javax.swing.plaf.basic.BasicListUI.getPreferredSize (BasicListUI.java:832)
    at javax.swing.JComponent.getPreferredSize (JComponent.java:1041)
    at java.awt.BorderLayout.calcCompSize (BorderLayout.java:586)
    at java.awt.BorderLayout.calcSize (BorderLayout.java:632)
    at java.awt.BorderLayout.preferredLayoutSize (BorderLayout.java:399)
    at java.awt.Container.preferredSize (Container.java:661)
    at java.awt.Container.getPreferredSize (Container.java:642)
    at javax.swing.JComponent.getPreferredSize (JComponent.java:1047)
    at javax.swing.JRootPane$RootLayout.preferredLayoutSize (JRootPane.java:278)
    at java.awt.Container.preferredSize (Container.java:661)
    at java.awt.Container.getPreferredSize (Container.java:642)
    at javax.swing.JComponent.getPreferredSize (JComponent.java:1047)
    at java.awt.BorderLayout.calcCompSize (BorderLayout.java:586)
    at java.awt.BorderLayout.calcSize (BorderLayout.java:632)
    at java.awt.BorderLayout.preferredLayoutSize (BorderLayout.java:399)
    at java.awt.Container.preferredSize (Container.java:661)
    at java.awt.Container.getPreferredSize (Container.java:642)
    at javax.swing.JDialog.getPreferredSize (JDialog.java:281)
    at java.awt.Window.pack (Window.java:270)
    at org.openscience.jmol.app.RecentFilesDialog.<init> (RecentFilesDialog.java:97)

    The source line in RecentFilesDialog looks like:

    pack()

    The full source is available from CVS:

    http://cvs.sourceforge.net/viewcvs.py/jmol/Jmol/src/org/openscience/jmol/app/RecentFilesDialog.java?rev=1.16&view=log

    It's a JDialog embedding a JList.

    Egon

    ReplyDelete