Jmol JavaScript Object/JSV

From Jmol
Revision as of 19:17, 26 February 2013 by AngelHerraez (talk | contribs) (Info variable for JSV)
Jump to navigation Jump to search

Integration of JSpecView into Jmol-JSO

Extensive work in 2012 integrated JSpecView into Jmol 13.

  • The Jmol application now includes a new tools menu item that opens a frame for JSpecView.
  • The Jmol applet can communicate to and from a JSpecView applet in the same page, using the Jmol sync command. Jmol-JSO brokers this transaction and allows coordinated applet start-up so that one applet does not send a command to the other before both are ready.

This makes it possible to tie 3D models to IR, NMR, UV/VIS, GC, and GC/MS spectra, using the JCAMP-DX Version 6 standard.

Associated with this integration, we have designed a specification for an extension of the JCAMP-DX format that allows one JDX file to contain both Jmol-readable 3D models and peak information, allowing the user to click on, for example, a carbon atom in Jmol and have the C-13 NMR spectrum automatically display and highlight the associated peak in JSpecView.

For a demonstration of the Jmol <-> JSpecView connection, see the JSpecView subdirectory at chemapps.stolaf.edu or the demo pages at the University of the West Indies.

Creating and inserting the JSpecView applet

To create a JSpecView applet, use for example:

var myJSV = Jmol.getJSVApplet("myJSV", Info)

Parameters making the Info variable (with default values shown between angular brackets):

  • Info.height <500>
  • Info.width <300>
  • Info.debug <false>
  • Info.jarPath <.>
  • Info.jarFile <JSpecViewApplet.jar>
  • Info.isSigned <false>
  • Info.initParams <empty>
  • Info.readyFunction <empty>
  • Info.script <empty>


JSpecView-specific methods

All these functions must be applied to the unique Jmol object (this name is literal, cannot be changed) --see syntax and examples below.

Syntax:

Jmol.jsvAddHightlight(myJSV, x1, x2, r, g, b, a) 
Jmol.jsvExport(myJSV, exportType, n) 
Jmol.jsvGetCoordinate(myJSV) 
Jmol.jsvGetPropertyAsJavaObject(myJSV, key) 
Jmol.jsvGetPropertyAsJSON(myJSV, key) 
Jmol.jsvGetSolnColour(myJSV) 
Jmol.jsvIsPro(myJSV) 
Jmol.jsvIsSigned(myJSV) 
Jmol.jsvLoadInline(myJSV, data, params)
Jmol.jsvRemoveAllHighlights(myJSV) 
Jmol.jsvRemoveHighlight(myJSV, x1, x2)
Jmol.jsvReversePlot(myJSV) 
Jmol.jsvRunScript(myJSV, script)
Jmol.jsvRunScriptNow(myJSV, script) 
Jmol.jsvSetFilePath(myJSV, tmpFilePath) 
Jmol.jsvSetSpectrumNumber(myJSV, n) 
Jmol.jsvSetVisible(myJSV, true/false)
Jmol.jsvSyncScript(myJSV, peakScript)
Jmol.jsvToggleCoordinate(myJSV)
Jmol.jsvToggleGrid(myJSV) 
Jmol.jsvToggleIntegration(myJSV)
Jmol.jsvWriteStatus(myJSV, message)

Contributors

AngelHerraez