From: Matt K. <mku...@ma...> - 2009-11-02 23:46:49
|
Thanks for your comments, Angel. See below. > I just tested > it and it works if you do > > Jmol -ionxs myscript.spt molecule.pdb > > (note the added "s") > > Yes, I tried this ( Jmol -ionxs myscript.spt molecule.pdb), and I receive the following list of errors: Exception in thread "QueueThread0" java.lang.NullPointerException at org.openscience.jmol.app.jmolpanel.JmolPanel$MyStatusListener.notifyCallback (JmolPanel.java:1390) at org.jmol.viewer.StatusManager.setStatusMeasuring(StatusManager.java:406) at org.jmol.viewer.Viewer.setStatusMeasuring(Viewer.java:4527) at org.jmol.shape.Measures.define(Measures.java:416) at org.jmol.shape.Measures.nextMeasure(Measures.java:445) at org.jmol.shape.Measures.nextMeasure(Measures.java:470) at org.jmol.shape.Measures.nextMeasure(Measures.java:470) at org.jmol.shape.Measures.define(Measures.java:357) at org.jmol.shape.Measures.setProperty(Measures.java:181) at org.jmol.modelset.ModelSet.setShapeProperty(ModelSet.java:301) at org.jmol.viewer.Viewer.setShapeProperty(Viewer.java:4081) at org.jmol.viewer.Viewer.defineMeasurement(Viewer.java:3031) at org.jmol.viewer.ScriptEvaluator.monitor(ScriptEvaluator.java:6957) at org.jmol.viewer.ScriptEvaluator.instructionDispatchLoop(ScriptEvaluator.java :4403) at org.jmol.viewer.ScriptEvaluator.evaluateCompiledScript(ScriptEvaluator.java: 224) at org.jmol.viewer.Viewer.evalStringWaitStatus(Viewer.java:3862) at org.jmol.viewer.ScriptManager$ScriptQueueRunnable.runScript(ScriptManager.ja va:222) at org.jmol.viewer.ScriptManager$ScriptQueueRunnable.runNextScript(ScriptManage r.java:210) at org.jmol.viewer.ScriptManager$ScriptQueueRunnable.run(ScriptManager.java:172 ) at java.lang.Thread.run(Thread.java:613) >> #Place measurement in variable dist >> dist=script("show measurements") >> then, dist14.txt is created, but is empty except for "Show measurements." > > I'm not sure this should work. Do you have any doc supporting this script() > syntax? > > This script works when I invoke it from an open Jmol application and a molecule is loaded. It is suggsted on the Jmol Interactive Script Documentation Page, http://chemapps.stolaf.edu/jmol/docs/?ver=11.8#functions (See x= script("...")) I think I came across this on the Jmol-users list, too, somewhere. I was surprised to find that while z =script("show measurements") puts a nice string of measurements into z, z = script("measure (atomno=10) (atomno=15)") puts nothing into z. Perhaps it is a mismatch of data types? >> I suspect that Jmol is not loading the pdb file specified in the command >> $Jmol -ionx myscript.spt molecule.pdb > > Yes, so it seems. Try > Jmol myscript.spt molecule.pdb > and you will see that the pdb is indeed not loaded. > > >> What am I doing wrong? Do these command line options work on the Mac? > > It's not a Mac issue. I have the same in Windows > > >> PS Using >> $ jmol -s myscript.spt molecule.pdb >> provides the requested results, but it leaves Jmol open. > > This is the clue: as I said, add "s" to "-ionx" > Perhaps the errors the Mac offers (above) will provide a hint. Thank you for your ideas and suggestions. Matt |