Difference between revisions of "Jmol JavaScript Object/JME"

From Jmol
Jump to navigation Jump to search
(JME syntax)
(update of descriptions (mostly, Java left behind))
Line 1: Line 1:
= Integration of JME into Jmol-JSO =
+
= Integration of JSME into JSmol =
The [http://www.molinspiration.com/jme/ JME applet] (Java Molecular Editor by Peter Ertl) allows the user to draw a molecular structure in 2D. '''Jmol-JSO''' includes the capability to pass information back and forth between JME and Jmol in a seamless manner. The "information panel" that Jmol-JSO implements can be set up to hold the JME applet, allowing tight integration. Alternatively, the JME applet and the Jmol applet can be set side-by-side on a web page, and applet-applet communication can be handled by the page developer.  
+
JSME, the JavaScript Molecular Editor by Peter Ertl, evolved from the former [http://www.molinspiration.com/jme/ JME applet].
 +
It allows the user to draw a molecular structure in 2D. The '''JSmol object library''' includes the capability to pass information back and forth between JSME and JSmol in a seamless manner. The "information panel" that JSmol library implements can be set up to also hold the JSME object, allowing tight integration. Alternatively, JSME and JSmol objects can be set side-by-side on a web page, and communication between both objects can be handled by the page developer.  
  
== Creating and inserting the JME applet ==  
+
== Creating and inserting JSME ==  
To create a JME applet, use for example:  
+
To create a JSME object, use for example:  
  var myJME = Jmol.getJMEApplet("myJME", Info, myJmol)
+
  var myJME = Jmol.getJMEApplet("myJME", Info, myJmol);
 +
''(Note that although the syntax is reminiscent of the former Java applets, no Java is currently involved here)''
  
The 3rd argument, if provided, is a pointer to a Jmol JavaScript Object that will contain this JME drawing panel as a 2D input option inside its Info panel.
+
The 3rd argument, if provided, is a pointer to a JSmol object that will contain this JSME drawing panel as a 2D input option inside its Info panel.
  
Parameters making the <code>Info</code> variable (with default values shown between angular brackets):
+
Parameters making the <code>Info</code> variable (with default values shown):
* '''height''' <<code>300</code>>
+
* '''height''' <code>300</code>
* '''width''' <<code>300</code>>
+
* '''width''' <code>300</code>
* '''jarPath''' <<code>.</code>>
+
* '''j2sPath''' <code>"j2s"</code>
* '''jarFile''' <<code>JME.jar</code>>
+
* '''options''' <code>"autoez"</code>
* '''options''' <<code>autoez</code>>
 
 
** rbutton, norbutton - show / hide R button
 
** rbutton, norbutton - show / hide R button
 
** hydrogens, nohydrogens - display / hide hydrogens
 
** hydrogens, nohydrogens - display / hide hydrogens
Line 26: Line 27:
 
** Documented at [http://www2.chemie.uni-erlangen.de/services/fragment/editor/jme_functions.html]
 
** Documented at [http://www2.chemie.uni-erlangen.de/services/fragment/editor/jme_functions.html]
  
== JME-specific methods ==
+
== JSME-specific methods ==
 
All these functions must be applied to the unique '''<code>Jmol</code>''' object (this name is literal, cannot be changed):
 
All these functions must be applied to the unique '''<code>Jmol</code>''' object (this name is literal, cannot be changed):
 
  Jmol.jmeGetFile(myJME, asJME)  
 
  Jmol.jmeGetFile(myJME, asJME)  

Revision as of 16:55, 27 October 2019

Integration of JSME into JSmol

JSME, the JavaScript Molecular Editor by Peter Ertl, evolved from the former JME applet. It allows the user to draw a molecular structure in 2D. The JSmol object library includes the capability to pass information back and forth between JSME and JSmol in a seamless manner. The "information panel" that JSmol library implements can be set up to also hold the JSME object, allowing tight integration. Alternatively, JSME and JSmol objects can be set side-by-side on a web page, and communication between both objects can be handled by the page developer.

Creating and inserting JSME

To create a JSME object, use for example:

var myJME = Jmol.getJMEApplet("myJME", Info, myJmol);

(Note that although the syntax is reminiscent of the former Java applets, no Java is currently involved here)

The 3rd argument, if provided, is a pointer to a JSmol object that will contain this JSME drawing panel as a 2D input option inside its Info panel.

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

  • height 300
  • width 300
  • j2sPath "j2s"
  • options "autoez"
    • rbutton, norbutton - show / hide R button
    • hydrogens, nohydrogens - display / hide hydrogens
    • query, noquery - enable / disable query features
    • autoez, noautoez - automatic generation of SMILES with E,Z stereochemistry
    • nocanonize - SMILES canonicalization and detection of aromaticity supressed
    • nostereo - stereochemistry not considered when creating SMILES
    • reaction, noreaction - enable / disable reaction input
    • multipart - possibility to enter multipart structures
    • number - possibility to number (mark) atoms
    • depict - the applet will appear without editing butons,this is used for structure display only
    • Documented at [1]

JSME-specific methods

All these functions must be applied to the unique Jmol object (this name is literal, cannot be changed):

Jmol.jmeGetFile(myJME, asJME) 
Jmol.jmeOptions(myJME, options)
Jmol.jmeReadMolecule(myJME, jmeOrMolData)
Jmol.jmeReset(myJME) 
Jmol.jmeSmiles(myJME, withStereoChemistry)

Contributors

AngelHerraez