From Jmol

Jump to: navigation, search
Angel & Bob
Angel Herráez (left) and Bob Hanson (right), during the 2010 BCCE. Angel is wearing the official BCCE cowboy hat -- August in Texas is hot!


Personal information

I am a lecturer / associate professor in Biochemistry and Molecular Biology, long-time designer of web pages with Chime models, mainly proteins and nucleic acids. I am part of the BioROM group, which publishes a free, yearly CD-ROM with materials for computer-assisted teaching and learning in Biochem&MB in Spanish.

My location is the University of Alcalá, in Alcalá de Henares (Madrid province), Spain

ORCID: 0000-0002-9900-6845

You can contact me: angel.herraez AT

SourceForge user page.

I have finished converting all my old Chime pages into Jmol and then JSmol. Everything is in my website, Biomodel:

  • Biomodel-1 (in Spanish and English) is a tutorial on structure of biomolecules:
    • amino acids, peptides and proteins
    • DNA
    • RNA
    • DNA-protein complexes
    • RNA-protein complexes
  • Biomodel-2 (in Spanish and English) is a Jmol port of my former Chime version based on Eric Martz's RasMol script "Lipid bilayers and the gramicidin channel".
  • Biomodel-3 (in Spanish and English) is a simpler tutorial on biomolecule structure, aimed for Secondary School / High School students:
    • carbohydrates (mono-, di- and polysaccharides)
    • lipids (fatty acids, triacylglycerol, phospholipids, steroids, lipid bilayer)
    • vitamins
    • amino acids, peptides and proteins
    • nucleic acids (bases, nucleosides, nucleotides, DNA, RNA)
  • Biomodel-4 (in Spanish, English, Portuguese, French, German, Romanian and Italian) is a Jmol port of Eric Martz's Chime tutorial "DNA structure".
  • Biomodel-5 (in Spanish) is an assorted collection about biopolymers.
  • Stereoisomerism in sugars and amino acids: a quiz with answers included (in Spanish).
  • Intermolecular hydrogen bonding in liquid water and in ice, including interactive 3D models and an animation, and a simulation of the water-ice transition (in Spanish and English).

Publications on Jmol

  • Angel Herráez, Robert M. Hanson, and Leslie Glasser: Interactive 3D phase diagrams using Jmol. Journal of Chemical Education 86(5): 566 (2009)
The supplementary material described in this Letter illustrates the use of Jmol to plot experimental 3D data, together with interactive labeling and captioning, generation of projections of the data onto a plane, highlighting data subsets...
  • Angel Herráez: How to use Jmol to study and present molecular structures, Vol.1. ISBN 978-1-84799-259-8. Published by (2007).
A manual to learn the use of Jmol and scripting, and how to include JmolApplet into web pages. Volume 1 covers beginner and intermediate levels.
Info and links to preview and on-line shop
  • Angel Herráez: Cómo utilizar Jmol para estudiar y presentar estructuras moleculares, Vol.1. ISBN 978-1-84753-710-2. Published by (2007).
(In Spanish)
Info and links to preview and on-line shop
  • Angel Herráez: Biomolecules in the computer: Jmol to the rescue. Biochemistry and Molecular Biology Education 34(4): 255-261 (2006).
A review of Jmol project and features, in comparison to Rasmol and Chime. doi:10.1002/bmb.2006.494034042644
Abstract and open-access full text

Localization of Jmol

Spanish localization of Jmol

I have translated and maintain the Spanish versions of the interface in Jmol Application and Jmol Applet, as well as of Jmol's web site.

Forcing Jmol to open in a certain language

See Jmol_Application#Forcing_Jmol_to_open_in_a_certain_language and Jmol_Applet#Forcing_JmolApplet_to_open_in_a_certain_language

Running Jmol applets from the local file system

Advice and FAQ on how to set-up webpages that use Jmol applet and will work both when put on the web server AND when called from hard disk, CD-ROM, etc.: Jmol_Applet_Deployment_Local

Loading molecules from the hard disk: testing page - works locally, but not from the web server so you would have to download the webpage and its accesory files for it to work; uses the signed applet.

Moving from Chime to Jmol

Thousands of pages exist in the web that use Chime for showing and teaching molecules. I have done many, based on Eric Martz's 2-frame template. Here I will try to collect advice of how to port these kind of pages into Jmol based on my experiences.

1.- Remember that the model will load in a different orientation with Jmol, and some default rendering is different, so you need to fix your scripts (see specific sections below).

2.- Using the official Jmol.js is recomendable to ease coding.

3.- If you adopt Jmol.js and were using Eric's button() function, you can maintain your existing code for buttons by including this function after calling Jmol.js:

function button(scrp) { jmolButton(scrp,"X") }

(it will take existing button(script) code and transform it into a Jmol javascript button with a cross inside it -similar to Chime button-).

Differences in rendering between Jmol and Chime

Default representation in Chime is wireframe, while it is ball & stick in Jmol.

wireframe 0 in Rasmol/Chime leaves thin wireframe, but hides the bonds in Jmol.
wireframe off works the same in both, hiding the bonds.

Because of this, most Rasmol-generated scripts will need "wireframe; spacefill off" added after loading the molecule in order to work similarly in Jmol.

Orientation of axes, translations and rotations: comparing Jmol with Chime

Purpose: establish a method for converting Chime scripts into Jmol scripts in a way that they render the same view of the molecule (by default, they don't).

Since I am unable to find documentation for this, I have set-up a page for testing orientation differences in Chime and Jmol.

These differences in behaviour seem to depend on the molecular file format.

Please, post your comments in the jmol-users list.

Jmol and frames

Jmol and Jmol.js design is not specially addressed for web pages with frames, but it can cope with it. If you are -like me- a fan of frames for organizing your content (static molecular model area, scrollable text content, no reloading of applet), you can get it:

1.- You must include the call to jmolInitialize() in both frames -otherwise, Jmol will complain-.

2.- In some set-ups, Jmol.js will find the applet in the other frame, but in some cases it will not. (For me, it worked with a model-in-left-frame, text-in-right-frame setup, but failed with model-in-right-frame, text-in-left-frame). You can direct Jmol.js to find the applet by redefining one of its functions:

function _jmolFindApplet(target) 
{ /*replaces default function in Jmol.js, suggested by Bob Hanson*/
  var applet = _jmolSearchFrames(top.modelframe, target); /*first look for the target in my frame*/
  if (applet == undefined) applet = _jmolSearchFrames(top, target);
  return applet;

note: this function needs update to match current version of Jmol.js Current versions of Jmol.js no longer need this patch.

where modelframe must be the name of your frame containing the applet. You must call this function after you call Jmol.js. Thanks to Bob Hanson who suggested this fix.

Contribution to Jmol documentation

Using the mouse with Jmol (also known as 'mouse gestures')

Coloring schemes in Jmol

(now included in Jmol website)

Atomic and ionic radii in Jmol

(now included in Jmol website)

Molecular (and other) surfaces in Jmol

This section has been rewritten to include new capabilities available in Jmol 11, and is available on a page outside this wiki, and as part of Jmol's website. It includes documentation and a testing/demo page.

Slabbing through molecules in Jmol

After version 10.00.24, slabbed atoms are rendered as solid instead of hollow spheres ('bubbles'). See testing page

Delaying a Jmol applet to be loaded only when user asks for it

This is a prototype code built after Brian Duke's request for a means to incorporate Jmol into Wikipedia without forcing the users to wait for Java and Jmol to load. A text and/or image is shown and, if the user asks for it, it is substituted by a Jmol applet.

You can visit a demo page at

A similar solution is implemented in Jmol website and is also used in pages built using the PopIn template within the Export to Web module included in Jmol application.

Suggestions are welcome.

Jmol in Wikipedia

Discussion is going on at

Preliminary tests:

Personal tools