Dear Mark and Bob, Perhaps getting a large quantity of “auxiliarydata” is slowing things down?
Maybe, Mark, you could drill down a bit to get the specific auxiliary data that you want. So, for example, maybe instead of var x = Jmol.getPropertyAsArray(jmolApplet0,"auxiliaryInfo"); You could use var x = Jmol.getPropertyAsArray(jmolApplet0, “auxiliaryinfo.models[1].modata.mos.coefficients”) // where [1] is the model # with the mo data I’m not sure exactly what properties of the mos that you want, and I am not familiar with GAMESS. However, the above line might get you a 2D array containing mo coefficients. So, for example, the coefficients of the first mo would be in (x[1])[1], the second set of coefficients would be in (x[1])[2], etc. Also, the frequencies can be obtained from x=Jmol.getPropertyAsArray(jmolApplet0, "modelinfo.models.modelproperties.frequency”) That’s how I understand it, but I’m not 100% sure this will work. Matt Kubasik On Oct 22, 2016, at 8:30 AM, Robert Hanson <hans...@stolaf.edu<mailto:hans...@stolaf.edu>> wrote: If you are interested in just getting one model's auxiliary info, you can use _M $ load c:/temp/t.gamess 7 models 46 molecular orbitals in model 1.2 17 molecular orbitals in model 1.7 $ frame 1.7 $ print _M.keys Energy EnergyString dipole fileName fileType initialAtomCount initialBondCount moData modelFileNumber modelName modelNumber modelNumberDotted modelProperties From JavaScript you would use: info = Jmol.evaluateVar(jmolApplet0, "_M") Should be relatively efficient. Alternatively, if you want instantaneous direct access to that Java object you can use info = jmolApplet0._applet.viewer.ms.am<http://applet.viewer.ms.am/>[0].auxiliaryInfo But two caveats: 1) You are bypassing the interfaces and tapping in to officially "nonpublic" objects. Sometimes those underlying objects get name changes or are otherwise refactored. 2) You are working with a transpiled Java Object. In this case, java.util.Hashtable. You have to use .get(key) to access its information: jmolApplet0._applet.viewer.ms.getAuxiliaryInfo(6).__CLASS_NAME__ "java.util.Hashtable" modata = jmolApplet0._applet.viewer.getAuxiliaryInfo(6).get("moData") modata.__CLASS_NAME__ "java.util.Hashtable" and deal with all of those values appropriately as well. On Fri, Oct 21, 2016 at 7:54 PM, Mark Perri <per...@sonoma.edu<mailto:per...@sonoma.edu>> wrote: Dear users list, I'm trying to get MO energies and vibrational frequencies from a GAMESS output file that I read into JSmol. Right now I use: var x = Jmol.getPropertyAsArray(jmolApplet0,"auxiliaryInfo"); Then I iterate over every frame and look at x.models[i].moData.mos and x.models[i].modelProperties.Frequency But for a large file the getPropertyAsArray takes > 10 seconds and freezes Firefox while it's loading. Reading the manual it seems that I can use getProperty asynchronously, but I don't understand how to use it properly. I set a message callback function to handle getProperty, but I'm not sure how to actually read in the moData. It appears to be in arguments[1], but everything I try is undefined. Here's an example of what I've tried. Thanks, Mark var Info = { width: 450, height: 450, debug: false, color: "white", addSelectionOptions: false, serverURL: "http://chemapps.stolaf.edu/jmol/jsmol/php/jsmol.php", use: "HTML5", j2sPath: "/jsmol/j2s", readyFunction: jmol_isReady, script: script, loadStructCallback: "onJSmolLoad", messageCallback: "processFrames", disableInitialConsole: true } function processFrames() { for (i=0; i<arguments.length; i++) { console.log(arguments[i]) // I see the model data here, but I can't figure out how to access it. } console.log ("I've tried a few things here"); console.log(arguments[1].auxiliaryInfo.models[1]); console.log ("But nothing's worked"); } Jmol.script(jmolApplet0,'getProperty auxiliaryInfo') ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org<http://slashdot.org>! http://sdm.link/slashdot _______________________________________________ Jmol-users mailing list Jmol-users@lists.sourceforge.net<mailto:Jmol-users@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/jmol-users -- Robert M. Hanson Larson-Anderson Professor of Chemistry St. Olaf College Northfield, MN http://www.stolaf.edu/people/hansonr If nature does not answer first what we want, it is better to take what answer we get. -- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900 ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org<http://slashdot.org>! http://sdm.link/slashdot_______________________________________________ Jmol-users mailing list Jmol-users@lists.sourceforge.net<mailto:Jmol-users@lists.sourceforge.net> https://lists.sourceforge.net/lists/listinfo/jmol-users ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Jmol-users mailing list Jmol-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jmol-users