Scripting

From Jmol
Revision as of 17:42, 6 June 2007 by Pimpim (talk | contribs) (added tutorials sections template)
Jump to navigation Jump to search
Jmol / JSmol Tutorials


The Jmol Application and Applet have a command language that grows on the base of command language of the browser plugin MDL Chime. A set of commands is called a command script, and writing such sets of commands or scripts is called scripting.

Documentation links

Documentation of Jmol's scripting language can be found here:

This is the official document. The style is encyclopedic, explaining each command in turn, as usual in reference manuals.

An introduction to Jmol scripting is available here:

A more user-friendly, but less thorough, basic guide by Nathan Silva and David Marcey; part of the Online Macromolecular Museum at California Lutheran University.

Similar but different scripting languages

Chime's command language (see "About Chime" at http://molviz.org) is a superset of the command language of Roger Sayle's public domain application RasMol. (The command language of open-source RasMol has diverged somewhat from that in RasMol and Chime). The command language used by Jmol started with most of the Chime commands, but has outgrown it in a notable extent, allowing for many new capabilities.

*-RasMol (v≤2.6)
   |
   |----Chime                Takes nearly all RasMol 2.6 commands and adds a few.
   |     |
   |     ----Jmol (v≥10)     Takes many RasMol 2.6 and Chime 2.6 commands and adds a few.
   |          |
   |          ---Jmol (v≥11) Adds many new commands.
   |
   -----OpenRasMol (v≥2.7)   Takes all RasMol 2.6 commands and adds a few.

Transversal documentation

Covering specific aspects or applications (not by command, and usually not exhaustive):

  • Surfaces. Jmol can calculate and render surfaces around a molecule, or part of it, representing its "true" shape and volume. Moreover, isosurfaces, atomic and molecular orbitals, and mathematically defined surfaces can also be rendered.
  • Persistent and nonpersistent "set" parameters. Some parameters defined using the "set" command are associated to the app/applet and hence maintained when a new molecule is loaded, while others are reset when the model is removed.