teaching and education\(\def\hfill{\hskip 5em}\def\hfil{\hskip 3em}\def\eqno#1{\hfil {#1}}\)

Journal logoJOURNAL OF
ISSN: 1600-5767

Jmol – a paradigm shift in crystallographic visualization

aDepartment of Chemistry, St Olaf College, 1520 St Olaf Avenue, Northfield, Minnesota 55057, USA
*Correspondence e-mail: hansonr@stolaf.edu

(Received 6 March 2010; accepted 29 July 2010; online 1 September 2010)

Recent advances in molecular and crystallographic visualization methods are allowing instructors unprecedented opportunities to enhance student learning using virtual models within a familiar web-browser context. In step with these advances, the latest versions of the Jmol molecular visualization applet offer capabilities that hold potential for revolutionizing the way students learn about symmetry, uncertainty and the overall enterprise of molecular structure determination.

1. Introduction – crystallographic visualization

It goes without saying that visualization is important in the area of crystallography. The introduction of ORTEP (Johnson, 1965[Johnson, C. K. (1965). ORTEP. ONRL Report 3794. Oak Ridge National Laboratory, Tennessee, USA, http://www.ornl.gov/sci/ortep/ortep.html .]) over 40 years ago made possible for the first time a ready two-dimensional projection of the three-dimensional atomic world of crystals and ushered in a revolution in molecular visualization. Since then, personal computing power has increased immensely, and a number of computer programs have been introduced that allow real-time interactive construction of crystals (CrystalMaker, 2009[CrystalMaker (2009). http://www.crystalmaker.com .]; Shape, 2009[Shape (2009). http://www.shapesoftware.com .]) and exploration of molecular structure and bonding in the context of databases [Mercury (Macrae et al., 2006[Macrae, C. F., Edgington, P. R., McCabe, P., Pidcock, E., Shields, G. P., Taylor, R., Towler, M. & van de Streek, J. (2006). J. Appl. Cryst. 39, 453-457.]) and Diamond (2010[Diamond (2010). http://www.crystalimpact.com/diamond .])]. While developed primarily for research purposes, these programs have found utility in the area of education as well, as noted in recent symposia at national American Chemical Society meetings (Kantardjieff, 2005[Kantardjieff, K. A. (2005). Crystallography Education in the 21st Century: What Do Students Need to Know? 229th American Chemical Society National Meeting, San Diego, California, USA.]; Battle et al., 2009[Battle, G. M., Allen, F. H., Town, W. G. & Ferrence, G. M. (2009). Applications of Crystal Structure Information in Chemical Education, 238th American Chemical Society National Meeting, Washington, DC, USA.]). In addition, specialized software and web-based tutorials specifically targeting fundamental concepts of crystallography and molecular symmetry are now available (Cass & Rzepa, 2005[Cass, M. E. & Rzepa, H. S. (2005). J. Chem. Educ. 82, 1736-1740.]; Harwood & Korkmaz, 2005[Harwood, W. S. & Korkmaz, A. (2005). An Online Tutorial for Learning Symmetry and Point Groups, http://www.reciprocalnet.org/edumodules/symmetry .]; Johnston, 2005[Johnston, D. H. (2005). Development of a Web-Based Point Group Symmetry Tutorial, 229th American Chemical Society National Meeting, San Diego, California, USA.], 2008[Johnston, D. H. (2008). Symmetry Resources at Otterbein College, http://symmetry.otterbein.edu .]; Charistos et al., 2005[Charistos, N. D., Tsipis, C. A. & Sigalas, M. P. (2005). J. Chem. Educ. 82, 1741-1742.]; Kastner et al., 2000[Kastner, M. E., Vasbinder, E., Kowalcyzk, D., Jackson, S., Giammalvo, J., Braun, J. & DiMarco, K. (2000). J. Chem. Educ. 77, 1247-1248.]).

This paper focuses on a new paradigm of computer program that aims to revolutionize the area of visualization in chemical education again, particularly in the area of crystallography. These programs – web-based, open-source and platform-independent – combine features of rapid development, expert communities and widely accessible databases with the power of the web to communicate features of molecular and crystallographic structure in creative and artistic ways that could not have been imagined in 1965. The paradigm shift of the 21st century is away from monolithic programs that are designed to do a specific task on a specific platform in a specific subdiscipline of science and toward tools that are more modular, flexible and useful in a broad interdisciplinary context. The shift is away from licensed profit-driven software with periodic updates to openly available software with rapid community-based `immediate' development goals.

The Jmol molecular visualization applet (Jmol, 2010[Jmol (2010). http://www.jmol.org . (Figures and supplementary material were created using Version 12.0.10.)]) is leading the way in this shift. We have just recently begun to learn how it can be used to enhance student understanding of the principles of crystallography and appreciation of the beauty of symmetry. The Jmol applet represents the third stage of an evolutionary process that started with the development of RasMol (Sayle & Milner-White, 1995[Sayle, R. & Milner-White, E. J. (1995). Trends Biochem. Sci. 20, 374-376.]) in 1989. This program, probably more than any other, brought the world of crystal structure into the hands of educators. Focused as it was on biomolecular structures, RasMol represented a major advance in the area of biochemistry and molecular biology. One of the important features introduced in RasMol was the capability of scripting, thus allowing for a `guided tour' approach to exploration of crystal structures and opening entirely new possibilities for education.

With the development of the web during the 1990s came the second phase of this process, spearheaded by the release of the Chime Netscape plug-in in 1996. The Chime plug-in was essentially RasMol for the web with a broader focus that included calculated structures of small molecules. Educators with a bit of web-development experience could for the first time make available to a wider audience interactive molecular structure-annotated texts. Despite its limitations, Chime formed the basis of many tutorials and web-based educational software tools.

2. The Jmol molecular visualization project

The Jmol molecular visualization project, one of the early open-source projects of the 1990s, really came of age in 2002 when it became the de facto replacement for Chime, which had lost its commercial development support, was not released to the public domain and could not keep pace with the rapidly developing browser market. In contrast to Chime, Jmol presented the opportunity for a rapidly developing program within a dedicated community of users and developers,

Jmol has in the past several years grown from its initial focus as a web-based RasMol/Chime replacement into a powerful visualization and analysis tool that remains highly modular and customizable. Unlike the other programs of the previous century, Jmol is essentially a massive easily accessible toolbox that can be used at the lowest level by dedicated professional Java programmers wanting to integrate molecular visualization into larger projects, at a more common level by scientists and educators wishing to communicate information via the web, and, finally, by students with little or no web design experience in the context of class projects, tutorials and laboratory exercises.

In terms of crystallography and education, now as we start into the second decade of the 21st century, Jmol offers its community of developer/users a wealth of ever-expanding capabilities. Some of these capabilities are highlighted below, most deriving from suggestions made by the Jmol user community within just the past few years. Mostly it is hoped that this paper will spark interest in finding additional ways Jmol can be of service to the wider crystallographic community both in education and in research. Capabilities discussed include file reading, script-based atom selection and display, analytical capabilities including measurement and surface analysis, and output options.

It is important to understand that there are three ways that Jmol can be utilized. These include a stand-alone Java program, a library of Java `classes' and an applet for the web. Thus, Jmol can be used as a stand-alone program, much like the aforementioned programs. It can be used as a programming library that can be integrated with another program to provide molecular visualization. However, the real niche for Jmol is that it can be used as an applet in a web-based setting.

All of the features discussed below relate to all of these uses. However it is the integration of Jmol into a web page that offers the most for education, as that context provides an easy means of packaging a crystal structure into a broader educational objective.

3. File-reading capabilities of Jmol

Probably more than any other broadly featured program in common use, Jmol includes an ever-expanding set of `readers' that can open just about any structure file of interest. In particular, Jmol can read standard SHELX (Sheldrick, 2008[Sheldrick, G. M. (2008). Acta Cryst. A64, 112-122.]), PDB (Protein Data Bank; Berman et al., 2000[Berman, H. M., Westbrook, J., Feng, Z., Gilliland, G., Bhat, T. N., Weissig, H., Shindyalov, I. N. & Bourne, P. E. (2000). Nucleic Acids Res. 28, 235-242.]), CIF and mmCIF formats, including crystallographic unit-cell, symmetry operator and anisotropic displacement parameters. Additional file formats of interest within the crystallographic community that are supported include files generated by the programs FHI-aims (Blum et al., 2009[Blum, V., Gehrke, R., Hanke, F., Havu, P., Havu, V., Ren, X., Reuter, K. & Scheffler, M. (2009). Comput. Phys. Commun. 180, 2175-2196.]; http://www.fhi-berlin.mpg.de/aims ), CASTEP (Segall et al., 2002[Segall, M. D., Lindan, P. J. D., Probert, M. J., Pickard, C. J., Hasnip, P. J., Clark, S. J. & Payne, M. C. (2002). J. Phys. Condens. Matter, 14, 2717-2744.]; http://www.castep.org ), CRYSTAL (Dovesi et al., 1989[Dovesi, R., Pisani, C., Roetti, C., Causá, M. & Saunders, V. R. (1989). Crystal. Quantum Chemistry Program Exchange, Indiana University, Bloomington, Indiana, USA, http://www.crystal.unito.it .]), VASP (Jurgen, 2008[Jurgen, H. (2008). J. Comput. Chem. 29, 2044-2078.]; http://cms.mpi.univie.ac.at/vasp ) and WIEN (Blaha, 1990[Blaha, P., Schwarz, K., Sorantin, P. & Trickey, S. B. (1990). Comput. Phys. Commun. 59, 399-415.]; http://www.wien2k.at ). Jmol recognizes space-group symmetry in terms of Jones–Faithful (x, −y, z + [\textstyle{1\over2}]) format, Hermann–Mauguin space-group names, Hall (1981[Hall, S. R. (1981). Acta Cryst. A37, 517-525.]) symbols and International Tables for Crystallography space-group numbers. Symmetry can be applied or not, and virtually any number of unit cells can be loaded at will using a simple script syntax (Figs. 1[link]–7[link][link][link][link][link][link]; interactive versions of all figures, and the data files used to generate these figures, are available as supplementary material1).

[Figure 1]

interactive figure
Figure 1
Quartz file data loaded without symmetry (load quartz.cif). The default loading does not apply symmetry, only creating atoms in the positions specified in the CIF.
[Figure 2]

interactive figure
Figure 2
Quartz file data (Levien et al., 1980[Levien, L., Prewitt, C. T. & Weidner, D. J. (1980). Am. Mineral. 65, 920-930.]; http://rruff.geo.arizona.edu/AMS/xtal_data/CIFfiles/00788.cif ) loaded with symmetry applied, but not packed (load quartz.cif {1 1 1}). Symmetry operations that would create atoms in an adjacent unit cell are `normalized' to move those atoms back into cell 555.
[Figure 3]

interactive figure
Figure 3
Quartz file data loaded as a packed unit cell (load quartz.cif PACKED). All atoms that are within unit cell 555 or an associated vertex, edge or face are included.
[Figure 4]

interactive figure
Figure 4
Quartz file data loaded with exact application of symmetry operators (load quartz.cif {555 555 0}). Only four of the nine atoms are contained within cell 555. In this case, there are six symmetry operators, including the identity operation. Note that the Si atoms (large) are in special positions and are generated by two symmetry operators each, while the O atoms (small) are in general positions.
[Figure 5]

interactive figure
Figure 5
Quartz file data loaded as a set of nine unit cells (load quartz.cif {3 3 1}). With a little effort, the left-handed spiral chirality of the quartz crystal can be seen in the direction of the b axis.
[Figure 6]

interactive figure
Figure 6
Quartz file data loaded with just one of its threefold screw axis operations (load quartz.cif {1 1 1} SPACEGROUP "-y,x-y,z-1/3"). This mode can be used to investigate the operation of any subset of symmetry operations within a space group.
[Figure 7]

interactive figure
Figure 7
Packed and capped quartz unit cell where atoms having different fractions within the unit cell are shown with a different color and shape (small red: oxygen; other colors: silicon), demonstrating the unit-cell formula Si3O6 and empirical formula SiO2 (load quartz.cif packed; wireframe off; color {_Si} blue; color {atomno=6} none; color {atomno=3 or atomno=13} yellow; lcaoCartoon cap unitcell cpk; spacefill off).

Fig. 6[link] illustrates one of the unique features of Jmol: that one can load a crystal structure file and override the file-based crystallographic parameters associated with it. One can, for example, load a CIF into Jmol and then only apply a single Jones–Faithful operator – or, for that matter, apply any operator of any kind just to see what it does. One can quickly experiment with different members of a space-group family to see incrementally how the symmetry operations combine to form the overall symmetry of the system.

A further application of this feature is seen in Fig. 8[link]. In this case, a standard XYZ-format file with just the minimum of structural information was `loaded' into a unit cell, and arbitrary symmetry was applied. This feature of Jmol holds great potential to form the basis of a tutorial in symmetry using simple molecules or molecular fragments, allowing a student to experiment with different space groups, unit-cell dimensions and symmetry operators in real time.

[Figure 8]

interactive figure
Figure 8
Caffeine model loaded as though it were packed in a crystal having orthorhombic space group P212121. The twofold screw axis parallel to the a axis is shown (load caffeine.xyz {1 1 1} spacegroup "P 21 21 21" unitcell {10.0 12.0 8.0 90 90 90}; draw symop {atomno=7} {atomno=55}).

4. General Jmol capabilities relating to crystallography education

Jmol's scripting capability makes it perfectly suited to an educational environment. Any educator with a bit of interest, and, probably, with help from the Jmol user community, can easily construct web pages that focus on specific topics relating to crystal structure. Through the use of trivially implemented associated standard web `widgets' (buttons, links, selection boxes, text entry boxes etc.) a web page can be constructed in very short order that can allow quite a powerful educational experience. With some additional web savvy, an educator can produce a very professional piece of interactive technology focused on student learning.

What follows is a quick look at some of the features of Jmol applet scripting that are particularly suited to crystallography. This is by no means an exhaustive look at Jmol scripting. The interested reader is referred to the Jmol interactive documentation website (http://chemapps.stolaf.edu/jmol/docs ) for a full list of Jmol scripting capabilities.

4.1. Atom selection

Jmol has extensive capability to select, display, highlight, move and hide particular sets of atoms. Specifically in relation to crystal structure, when a structure is loaded, Jmol retains information about the symmetry origins of the atoms. So, for example, one can select only those atoms that arose by a specific symmetry operation using select SYMOP=3. One can query Jmol as to what that symmetry operation is using show SYMOP 3, and one can explore the entire set of symmetry operations of a molecule using show symmetry or show spacegroup. Atoms within a specific unit cell can be selected using, for example, select cell=555.

4.2. Fractional coordinates and crystallographic atomic properties

Jmol scripts can refer to standard Cartesian coordinates as {x y z} or to fractional coordinates using at least one slash character as part of that description: draw arrow {1/2 1/2 1/2} {1 1 1/1}. In addition, Jmol can be queried for atom properties, among which include fractional coordinates fx, fy, fz and fxyz, and normalized unit-cell coordinates ux, uy, uz and uxyz. The print command along with formatting is a powerful mechanism of querying Jmol for all sorts of information. For example, print {cell=555}.uxyz reports the average unit-cell position for the atoms in the primary unit cell, and the command print {*}.label("%a%i\t%5.3fx\t%5.3fy\t%5.3fz") delivers a formatted list of atom names and numbers along with their fractional coordinates (Table 1[link]).

Table 1
A formatted listing of fractional coordinates for quartz

Si1 0.470 0.000 0.000
O2 0.414 0.267 0.119
Si3 0.000 0.470 0.667
O4 0.267 0.414 0.548
Si5 1.000 0.470 0.667
O6 0.733 0.147 0.786
Si7 0.530 0.530 0.333
O8 0.587 0.853 0.214
O9 0.853 0.587 0.452
Si10 0.470 1.000 1.000
O11 0.147 0.733 0.881

4.3. Additional properties

Additional crystallographic properties of atoms that can be queried are given in Table 2[link]. Most of these properties can be tabulated, compared, and applied as colors to molecular surfaces or as sizes of atoms in order to highlight anomalies. The configuration property is interesting in that it allows the user to display specific disorder sets (display configuration=1) or a superposition of configurations (display configuration=0) (Figs. 9[link] and 10[link]).

Table 2
Crystallographic atom properties

Property Description
adpmax The maximum anisotropic displacement parameter for the selected atom
adpmin The minimum anisotropic displacement parameter for the selected atom
cell Crystallographic unit cell, expressed either in lattice integer notation (111–999) or as a coordinate in ijk space; cell 555 equates to (1, 1, 1)
configuration In the context {configuration=n} selects the nth disorder set
fx, fy, fz Fractional coordinates along the a, b and c axes
fxyz Fractional coordinates as a point (fx, fy, fz)
molecule Molecule number
occupancy CIF site occupancy
partialCharge Partial charge
site Crystallographic site number
symop Symmetry operation code that generated this atom
symmetry List of crystallographic symmetry operators generating this atom
temperature Temperature factor (B factor)
ux, uy, uz Normalized unit-cell coordinates along the a, b and c axes (all values between 0 and 1)
uxyz Normalized unit-cell coordinates as a point (ux, uy, uz) (all values between 0 and 1)
x, y, z Cartesian coordinates
xyz Cartesian coordinates as a point (x, y, z)
[Figure 9]

interactive figure
Figure 9
A tungsten complex, configuration 1. The selection of atoms is based on the value in the CIF atom site field _atom_site_disorder_group (load 04369a.cif {2 1 1}; axes off; unitcell off; display configuration=1 and molecule=1).
[Figure 10]

interactive figure
Figure 10
A superposition of two configurations (Miessler & Schaus, 2005[Miessler, G. L. & Schaus, L. (2005). Unpublished results, http://chemapps.stolaf.edu/jmol/docs/examples-11/data/04369a.cif .]). Disorder is evident in the methyl groups attached to one of the 1,2-ethenedithiolate ligands (load 04369a.cif {2 1 1}; axes off; unitcell off; display molecule=1).

4.4. Visualization of symmetry

One of the more recent and exciting areas of development of Jmol has been in the area of visualization of symmetry elements. Planes and axes are easy to produce in Jmol using, for example, isosurface plane x=3; draw axis {0 0 0} {0 0 1/1}. Given a specific unit cell, one can draw the intersection of planes in a natural fashion (Fig. 11[link]).

[Figure 11]

interactive figure
Figure 11
NaCl model showing two Miller planes (load NaCl.cif packed; draw plane1 INTERSECTION unitcell hkl {2 2 0} color yellow; draw plane2 INTERSECTION unitcell hkl {0 2 0} color yellow mesh nofill).

Most interesting by far, though, is the ability of Jmol to depict complex relationships between two atoms or between two molecules such as glide planes and screw axes in a relatively simple fashion. These elements of symmetry are by far the most difficult to visualize, but with Jmol they are trivial to produce based on symmetry operators present in the file or added by the user. So, for example, if symmetry operator 2 is (−x, y + [\textstyle{1\over2}], −z + [\textstyle{1\over2}]) (a twofold screw axis with translation along the b axis), then draw symop 2 {1/4 0 1/4} will depict that operation applied to an atom at position ([\textstyle{1\over4}], 0, [\textstyle{1\over4}]) (Fig. 12[link]). Any arbitrary symmetry operation can be depicted this way. For example, opening a file with space group P21/c and then using draw symop "x,1/2-y,z+1/2" will depict that c-glide plane operation.

[Figure 12]

interactive figure
Figure 12
Crystal with space group P21/c, showing the operation of twofold screw axis (−x, y + [\textstyle{1\over2}], −z + [\textstyle{1\over2}]) relating points ([\textstyle{1\over4}], 0, [\textstyle{1\over4}]) and (−[\textstyle{1\over4}], [\textstyle{1\over2}], [\textstyle{1\over4}]) (load maleic.cif 3; display none; draw symop 2 {1/4 0 1/4}).

In fact, if we knew that two molecules `1' and `4' were related in some way but we did not know how, we could find that out simply by using show symop {molecule=1} {molecule=4}. If more than one symmetry operation relates the two molecules, then both will be listed. Even better, if we wish to depict the symmetry operation, we just use draw instead of show (Fig. 13[link]), and if we specify set picking symmetry, then the user can simply pick any two atoms, and Jmol will depict the symmetry relationship between them (Fig. 14[link]).

[Figure 13]

interactive figure
Figure 13
The c-glide plane operation (x, [\textstyle{3\over2}]y, z + [\textstyle{1\over2}]) relating two molecules of maleic acid. The molecule on the left is being reflected through the plane, then translated by half a unit cell in the direction of the c axis (load maleic.cif 3; display molecule=1 or molecule=4; draw symop {molecule=1} {molecule=4}).
[Figure 14]

interactive figure
Figure 14
Using set picking symmetry, the user can click on any two atoms for a depiction of the symmetry operation that relates them. In this case, a [\overline 6] axis is involved [Wilkens & Mueller-Buschbaum, 1993[Wilkens, J. & Mueller-Buschbaum, H. (1993). Z. Anorg. Allg. Chem. 619, 517-520.]; ICSD (http://icsd.Fiz-karlsruhe.de/icsd/ ) entry 73182]. The center on the left is inverted through a point, then rotated by 60° (load icsd_73182.cif {2 1 1} packed; unitcell off; axes off; x = {atomno=5 or atomno=67}; display x or connected(x); draw symop {x}[1] {x}[2]).

Thus, Jmol can be used in a novel exploratory mode, where we are interested in checking out the sorts of relations between molecules or atoms in a crystal structure. A web page illustrating these capabilities accompanies the publication of this paper (Hanson, 2009[Hanson, R. M. (2009). Jmol Crystal Symmetry Explorer, http://chemapps.stolaf.edu/jmol/docs/examples-11/jcse .]).

4.5. Measuring interatomic distances

One of the most common interests in crystallography is to measure interatomic distances and angles. With Jmol's print command, again, this is almost trivial. To list all bond distances to C atoms, one uses print measure({_C}, {*}, "connected") (Table 3[link]); to measure all close-contact non-hydrogen nonbonded distances we might issue print measure({!_H}, {!_H}, 0, 1.5, "notconnected").

Table 3
All bonds connected to carbon

$ print measure({_C}, {*}, "connected", "nm", "%0.3VALUE %UNITS\t%U1\t%U2")

0.145 nm C5 #5 C3 #3
0.141 nm C5 #5 N4 #4
0.125 nm C5 #5 O11 #11
0.142 nm C6 #6 N2 #2
0.142 nm C6 #6 N4 #4
0.125 nm C6 #6 O9 #9
0.139 nm C7 #7 N2 #2
0.143 nm C7 #7 C3 #3
0.140 nm C7 #7 N21 #21
0.112 nm C10 #10 H1 #1
0.144 nm C10 #10 N4 #4
0.112 nm C10 #10 H14 #14
0.112 nm C10 #10 H15 #15
0.144 nm C13 #13 N2 #2
0.112 nm C13 #13 H16 #16
0.112 nm C13 #13 H17 #17
0.112 nm C13 #13 H18 #18
0.143 nm C19 #19 N8 #8
0.112 nm C19 #19 H22 #22
0.112 nm C19 #19 H23 #23
0.113 nm C19 #19 H24 #24
0.139 nm C20 #20 N8 #8
0.110 nm C20 #20 H12 #12
0.136 nm C20 #20 N21 #21

4.6. Mathematical scripting

One of the most powerful aspects of Jmol is its extensive mathematical scripting capability, which allows extensive analysis of structure. This is a relatively recent addition to Jmol and marks a major advance over the former minimal linear command-based scripting of RasMol and Chime. One can now use all of the popular command flow syntaxes common to modern programming languages, including if/else, for/next and while. Jmol allows for the creation of functions that augment the language in many ways. One can define variables of numerous types, including some more exotic types specifically useful in molecular structure analysis, for example planes, quaternions, axis-angles, atom and bond sets, and rotation matrices.

4.7. Callbacks to JavaScript

For a truly interactive experience one needs to build into a tutorial the possibility of feedback. Questions such as `Where did the user click?', `Has an atom been selected?' and `Was the file loaded successfully?' are answered best by the mechanism of callback functions. These are JavaScript functions designed into the applet-containing web page that receive notices when events involving user actions (such as atom picking) or page actions (such as resizing) arise. Jmol allows for a number of callback notifications, including file-opening status, animation status, mouse clicking, atom picking and hovering, distance, angle and torsion measurement, script status, message reporting, and several others.

4.8. Database exploration

We recently wanted to ask a question about environments of amino acids and nucleic acids in the entire PDB. By writing a simple Jmol script and running Jmol as a stand-alone application, we could compile data on all of the proteins and nucleic acids (or, actually, a certain subset of well characterized structures). While Jmol may not be the most efficient means of doing this sort of analysis, the power of Jmol's scripting language made the task quite simple. Just about any aspect of biomolecular structure can be investigated this way.

In our case, we were interested in a property we have recently discovered, quaternion-based straightness (Hanson et al., 2010[Hanson, R. M., Kohler, D. & Braun, S. (2010). Proteins. Submitted.]). Fundamentally, this property measures relative orientation of groups within a model. In general, we expect straightness to be high within secondary structures such as helices and sheets and low in less structurally defined regions. One of the DNA–protein complexes investigated, however, was found to have very low straightness within its helix (Fig. 15[link]). Upon closer inspection, it was found that one of the cytidine bases was flipped (Fig. 16[link]). Upon communication with the author of the original study, it was found that a mistake in the model used for the crystallographic analysis was involved.

[Figure 15]

interactive figure
Figure 15
A portion of a DNA–protein complex (PDB code 1d66 ; Marmorstein et al., 1992[Marmorstein, R., Cary, M., Ptashne, M. & Harrison, S. C. (1992). Nature (London), 356, 408-414.]) with the DNA van der Waals surface colored by relative orientation of bases. The sharp coloration change in the center right indicates a region of unusually low straightness (load =1d66; set quaternionFrame "C"; isosurface select(DNA) ignore(not DNA) vdw map property straightness).
[Figure 16]

interactive figure
Figure 16
Closer inspection of the CG base pair in Fig. 15[link] shows an anomalously flipped cytidine (on the right). The three highlighted atoms should be aligned with the guanidine.

From an educational point of view, this example simply illustrates that the models we find in the PDB database should not be taken at face value and how programs like Jmol can be used to explore databases and to spot both expected and unexpected structural patterns.

4.9. Program output

Largely based on user requests, Jmol has an extensive suite of output options that complement its interactive use. With either the stand-alone version or the signed applet one can write files to disk or to the operating system clipboard and produce high-quality images or exported models. The most popular image-creation options – JPG and PNG – are fully supported. In addition, while Jmol's output quality is very high, even higher `point-of-view ray tracing' (POV-Ray, 2000[POV-Ray. (2000). The Persistence of Vison Raytracer, http://www.povray.org .]) output is as simple as clicking a button on the tool bar of the application or selecting a menu option on the applet.

One of the interesting aspects of these two-dimensional image files is that they can be read back into Jmol to reproduce the exact three-dimensional scene depicted in the image. The almost magical quality of this dramatic result is always a hit with students in the classroom.

Finally, Jmol can also export models in a variety of formats readable by other three-dimensional visualization programs.

4.10. Surface generation and property mapping

An important aspect of crystallography involves the visualization of lattice planes specified with Miller indices. Jmol allows selection and display of atoms based on their proximity to Miller planes. So, for example, in NaCl, space group Fm[\overline 3]m, one can first depict the (111) Miller plane using draw INTERSECTION unitcell hkl {1 1 1} and then display just the atoms on that plane using display within(0, hkl, {1 1 1}) (Fig. 17[link]). The zero here indicates that we want atoms on the plane; a positive or negative number instead would select atoms within the specified distance on one side (positive) or the other (negative) of the plane. Since the Miller plane represents just one in an infinite family of planes, Jmol allows depiction of any member of this family by simply scaling the integers to the desired value: ([\textstyle{2\over3}][\textstyle{2\over3}][\textstyle{2\over3}]), for example. An interesting effect is to create a surface that maps atom position onto a plane. This is done using isosurface hkl {2/3 2/3 2/3} map molecular. These maps roughly approximate the look of a slice of electron density (Fig. 18[link]).

[Figure 17]

interactive figure
Figure 17
NaCl model depicting the (111) Miller plane and associated atoms (load NaCl.cif packed; display within(0, hkl, {1 1 1}); draw intersection unitcell hkl {1 1 1}).
[Figure 18]

interactive figure
Figure 18
Surface through a plane parallel to the (111) Miller plane highlighting atom positions. This depiction can highlight symmetry within any arbitrary plane (load NaCl.cif packed; display none; isosurface hkl {2/3 2/3 2/3} map molecular).

4.11. Novel depictions of electron density

One of the foremost challenges of instructors is giving students a sense of what a `structural model' actually is and how we arrive at that model from actual data. The textbook view – of balls and sticks and cartoonish helices and sheets – properly conveys neither the ambiguity of structure nor the mathematical origins of structural models. With the availability of online electron density servers such as the Uppsala Electron Density Server (EDS, 2010[EDS (2010). Uppsala Electron Density Server, http://eds.bmc.uu.se/eds .]), Jmol can be used to help develop an appreciation for the underlying mathematical model from which these more common renderings derive. Jmol can depict standard mesh-type isosurfaces of electron density, but in addition, Jmol can represent electron-density maps using a grid-based `cloud' method. With this method, one can depict the three-dimensional grid of electron-density data in its raw form as a block of numbers, in which some hint of `structure' is present (Fig. 19[link]). The simple act of progressively removing numbers from this block based on a cut-off value `reveals' the underlying structure as a sort of pointillist model in a novel and very striking manner that does not rely on the more abstract concept of an isosurface (Fig. 20[link]). The experience of `discovering' the structure within the data is dramatic (DensitySlider, 2010[DensitySlider (2010). An Interactive Electron Density Cloud Demonstrator, http://chemapps.stolaf.edu/jmol/docs/examples-11/density/slide.htm .]).

[Figure 19]

interactive figure
Figure 19
Electron density as a cloud for 3hyd (Ivanova et al., 2009[Ivanova, M. I., Sievers, S. A., Sawaya, M. R. & Wall, J. S. (2009). Proc. Natl Acad. Sci. USA, 106, 18990-18995.]; CCP4 map file http://eds.bmc.uu.se/cgi-bin/eds/uusfs?pdbCode=3hyd ). Each point represents one data point in the map file, with opacity scaled relative to calculated electron density. It is clear that something is there, but what that might be is not at all clear. Jmol command: load =3HYD; boundbox on; background white; isosurface boundbox color density cutoff 0 "=3HYD" colorScheme translucent BW.
[Figure 20]

interactive figure
Figure 20
Electron density as a cloud (3hyd , cutoff 1.6 e Å−3 or σ = 1.0). Simply by eliminating data points with values below a specified cut-off value, the structure of the protein backbone and, among others, a tyrosine side chain (top center) emerges. The surface enclosing these points would be the commonly drawn isosurface associated with a standard electron-density map.

4.12. Depicting uncertainty and dynamics

A major challenge in early crystallographic education is helping students to develop an understanding of the uncertainties inherent in models. Jmol can, of course, depict uncertainty in the standard form of displacement ellipsoids, but in addition to that, Jmol can depict isotropic B-value (`temperature') data found in PDB and mmCIF formats in numerous ways. For example, one can map isotropic temperature data onto a molecular surface (Fig. 21[link]) or depict B factors as the radius of a sphere at a given atom position (Fig. 22[link]). In addition, Jmol can read and animate the results of molecular dynamics calculations, thus simulating the range of natural molecular motion at a given temperature.

[Figure 21]

interactive figure
Figure 21
Temperature (B-factor) data mapped onto a molecular surface for 1crn (Teeter, 1984[Teeter, M. M. (1984). Proc. Natl Acad. Sci. USA, 81, 6014-6018.]). Red indicates residues having the highest B factor (blue lowest). Any sort of atom-based data can be mapped onto an isosurface in this way (load =1crn; isosurface molecular map property temperature colorScheme bwr).
[Figure 22]

interactive figure
Figure 22
Temperature data depicted as spheres of different size and color – an alternative to the standard mapping shown in Fig. 21[link]. In this depiction, larger spheres indicate higher positional uncertainty in the data set (load =1crn; {*}.radius={*}.temperature.all.mul(0.05); color temperature).

5. Summary

Jmol is a versatile tool that can readily enhance many discussions relating to crystallography by aiding in the visualization of real crystallographic data in both traditional and nontraditional ways. With its extremely flexible file-loading and symmetry-handling capabilities, Jmol can be used to highlight the essential characteristics of unit cells, space groups and symmetry operators. Its rich mathematical scripting language and close connection to JavaScript allows detailed exploration and `guided tours' of systems of interest and has allowed database developers the unprecedented capability to produce highly customized visual front ends for their products. It behoves us as educators to introduce our students to these database resources and to emphasize a critical-thinking approach to their use: Is this model reasonable? What is its origin? What assumptions did the authors make? What are the uncertainties? These are the sorts of questions that students need to be thinking about, and while many of them are outside the scope of Jmol, many at least initially can be addressed using visualization.

Science education is all about communication – teachers communicating complex molecular interactions and symmetry relationships; students making presentations and learning from web-based tutorials and quizzes. As the technology of visualization has become more prevalent and expected, Jmol has proven to be a solid and dependable partner in project after project at all levels of the educational enterprise.

Communication, of course, is all about community, and this is where Jmol has made a unique and lasting contribution to education. The features discussed in this paper are not the isolated invention of a lone programmer or even that of a small developer team or research group. Rather, these features are the result of a whole new 21st-century way of doing business, incorporating peer-reviewed solutions based on ideas generated within an active user community of professional crystallographers, educators and students with turnaround times of hours to days rather than months to years.

In all, the focus in this paper has been on the features of Jmol that might be particularly useful in an educational setting. As with all such tools, it is really the creativity of the user, not the programmer, that defines the end result, and while many examples of Jmol's use in molecular structure education are available (JmolWiki, 2010[Jmol Wiki (2010). Websites Using Jmol, http://wiki.jmol.org/index.php/Websites_Using_Jmol .]), far more is possible than has been realized to date. By itself on a web page, Jmol is just a fantastically powerful black box. What makes it so useful is how easy it is to turn that black box into an interactive and educational window into the beauty of the molecular world.

Supporting information


1Supplementary material for this paper is available from the IUCr electronic archives (Reference: KK5066 ). Services for accessing this material are described at the back of the journal.


It is not possible to thank all of the people who have made contributions to the Jmol project. Dan Gezelter was the original developer of Jmol, to whom we are all very much indebted. Several other programmers contributed over the years, most notably Egon Willighagen, Nico Vervelle, René Kanters and especially Michael (Miguel) Howard, who single-handedly made Jmol's rendering engine a marvel of Java programming. Many Jmol users have contributed ideas, designs and solutions to problems over the years. Special thanks go to Tim Driscoll, Frieda Reichsman, Angel Herráez, Brian McMahon, Peter Murray-Rust, Alan Hewat and Sydney Hall, among many, many others. An undergraduate in our research group, Dan Kohler, discovered the optimal definition of straightness and found the anomaly in PDB entry 1d66.


First citationBattle, G. M., Allen, F. H., Town, W. G. & Ferrence, G. M. (2009). Applications of Crystal Structure Information in Chemical Education, 238th American Chemical Society National Meeting, Washington, DC, USA.  Google Scholar
First citationBerman, H. M., Westbrook, J., Feng, Z., Gilliland, G., Bhat, T. N., Weissig, H., Shindyalov, I. N. & Bourne, P. E. (2000). Nucleic Acids Res. 28, 235–242.  Web of Science CrossRef PubMed CAS Google Scholar
First citationBlaha, P., Schwarz, K., Sorantin, P. & Trickey, S. B. (1990). Comput. Phys. Commun. 59, 399–415.  CrossRef CAS Web of Science Google Scholar
First citationBlum, V., Gehrke, R., Hanke, F., Havu, P., Havu, V., Ren, X., Reuter, K. & Scheffler, M. (2009). Comput. Phys. Commun. 180, 2175–2196.  Web of Science CrossRef CAS Google Scholar
First citationCass, M. E. & Rzepa, H. S. (2005). J. Chem. Educ. 82, 1736–1740.  CrossRef CAS Google Scholar
First citationCharistos, N. D., Tsipis, C. A. & Sigalas, M. P. (2005). J. Chem. Educ. 82, 1741–1742.  CrossRef Google Scholar
First citationCrystalMaker (2009). http://www.crystalmaker.comGoogle Scholar
First citationDensitySlider (2010). An Interactive Electron Density Cloud Demonstrator, http://chemapps.stolaf.edu/jmol/docs/examples-11/density/slide.htmGoogle Scholar
First citationDiamond (2010). http://www.crystalimpact.com/diamondGoogle Scholar
First citationDovesi, R., Pisani, C., Roetti, C., Causá, M. & Saunders, V. R. (1989). Crystal. Quantum Chemistry Program Exchange, Indiana University, Bloomington, Indiana, USA, http://www.crystal.unito.itGoogle Scholar
First citationEDS (2010). Uppsala Electron Density Server, http://eds.bmc.uu.se/edsGoogle Scholar
First citationHall, S. R. (1981). Acta Cryst. A37, 517–525.  CrossRef CAS IUCr Journals Web of Science Google Scholar
First citationHanson, R. M. (2009). Jmol Crystal Symmetry Explorer, http://chemapps.stolaf.edu/jmol/docs/examples-11/jcseGoogle Scholar
First citationHanson, R. M., Kohler, D. & Braun, S. (2010). Proteins. Submitted.  Google Scholar
First citationHarwood, W. S. & Korkmaz, A. (2005). An Online Tutorial for Learning Symmetry and Point Groups, http://www.reciprocalnet.org/edumodules/symmetryGoogle Scholar
First citationIvanova, M. I., Sievers, S. A., Sawaya, M. R. & Wall, J. S. (2009). Proc. Natl Acad. Sci. USA, 106, 18990–18995.  Web of Science CrossRef PubMed CAS Google Scholar
First citationJmol (2010). http://www.jmol.org . (Figures and supplementary material were created using Version 12.0.10.)  Google Scholar
First citationJmol Wiki (2010). Websites Using Jmol, http://wiki.jmol.org/index.php/Websites_Using_JmolGoogle Scholar
First citationJohnson, C. K. (1965). ORTEP. ONRL Report 3794. Oak Ridge National Laboratory, Tennessee, USA, http://www.ornl.gov/sci/ortep/ortep.htmlGoogle Scholar
First citationJohnston, D. H. (2005). Development of a Web-Based Point Group Symmetry Tutorial, 229th American Chemical Society National Meeting, San Diego, California, USA.  Google Scholar
First citationJohnston, D. H. (2008). Symmetry Resources at Otterbein College, http://symmetry.otterbein.eduGoogle Scholar
First citationJurgen, H. (2008). J. Comput. Chem. 29, 2044–2078.  Web of Science PubMed Google Scholar
First citationKantardjieff, K. A. (2005). Crystallography Education in the 21st Century: What Do Students Need to Know? 229th American Chemical Society National Meeting, San Diego, California, USA.  Google Scholar
First citationKastner, M. E., Vasbinder, E., Kowalcyzk, D., Jackson, S., Giammalvo, J., Braun, J. & DiMarco, K. (2000). J. Chem. Educ. 77, 1247–1248.  CrossRef CAS Google Scholar
First citationLevien, L., Prewitt, C. T. & Weidner, D. J. (1980). Am. Mineral. 65, 920–930.  CAS Google Scholar
First citationMacrae, C. F., Edgington, P. R., McCabe, P., Pidcock, E., Shields, G. P., Taylor, R., Towler, M. & van de Streek, J. (2006). J. Appl. Cryst. 39, 453–457.  Web of Science CSD CrossRef CAS IUCr Journals Google Scholar
First citationMarmorstein, R., Cary, M., Ptashne, M. & Harrison, S. C. (1992). Nature (London), 356, 408–414.  CrossRef PubMed CAS Web of Science Google Scholar
First citationMiessler, G. L. & Schaus, L. (2005). Unpublished results, http://chemapps.stolaf.edu/jmol/docs/examples-11/data/04369a.cifGoogle Scholar
First citationPOV-Ray. (2000). The Persistence of Vison Raytracer, http://www.povray.orgGoogle Scholar
First citationSayle, R. & Milner-White, E. J. (1995). Trends Biochem. Sci. 20, 374–376.  CrossRef CAS PubMed Web of Science Google Scholar
First citationSegall, M. D., Lindan, P. J. D., Probert, M. J., Pickard, C. J., Hasnip, P. J., Clark, S. J. & Payne, M. C. (2002). J. Phys. Condens. Matter, 14, 2717–2744.  Web of Science CrossRef CAS Google Scholar
First citationShape (2009). http://www.shapesoftware.comGoogle Scholar
First citationSheldrick, G. M. (2008). Acta Cryst. A64, 112–122.  Web of Science CrossRef CAS IUCr Journals Google Scholar
First citationTeeter, M. M. (1984). Proc. Natl Acad. Sci. USA, 81, 6014–6018.  CrossRef PubMed CAS Web of Science Google Scholar
First citationWilkens, J. & Mueller-Buschbaum, H. (1993). Z. Anorg. Allg. Chem. 619, 517–520.  CrossRef CAS Web of Science Google Scholar

© International Union of Crystallography. Prior permission is not required to reproduce short quotations, tables and figures from this article, provided the original authors and source are cited. For more information, click here.

Journal logoJOURNAL OF
ISSN: 1600-5767
Follow J. Appl. Cryst.
Sign up for e-alerts
Follow J. Appl. Cryst. on Twitter
Follow us on facebook
Sign up for RSS feeds