Table of Contents
The scripting engine has been completely rewritten for Jmol Release 6. As of this writing it should be considered *alpha test* code. Please supply feedback in case of bugs and/or unexpected behavior and/or with feature requests. You can do this through the jmol home page http://jmol.sourceforge.net
Jmol supports the RasMol scripting language defined by RasMol. Information about RasMol can be found at http://www.openrasmol.org/. The current URL for full RasMol documentation is: http://www.openrasmol.org/doc/rasmol.htm.
The Chime web browser plug-in was based upon the RasMol source code. Various extensions were added, including additional scripting commands. Information about Chime can be found at http://www.mdlchime.com/ The current URL for extended chime scripting commands is: http://www.mdlchime.com/chime/chimerasmol.html.
Jmol currently supports many of the RasMol/Chime scripting commands. Our goal is to eventually provide full script support. This will provide a migration path for those who wish to move to an open source solution that supports a larger number of file formats on a wider variety of hardware platforms.
Please give us feedback on what features you use and that are currently no implemented. This will help us prioritize future development.
This documentation is autogenerated from the content on this website: http://www.stolaf.edu/people/hansonr/jmol/docs/.
Sets selected animation parameters or turns animation on or off. Note that there are four distinct animation types that can be employed using Jmol: (1) files may contain multiple stuctures that are "played" sequencially, (2) Gaussian output files may contain vibrational modes that can be animated, (3) scripts may be run through with delays and loops, and (4) the model may spin or move in a predefined way. The "animation" command only refers to method (1).
Syntax
Turns on or off animation.
Sets the animation direction to be from last frame to first frame.
Sets the animation direction to be first frame to last frame.
Sets the animation frames per second.
Go to a specific frame.
Overlay all frames.
Go to next frame
Go to previous frame.
Sets the animation mode to restart the sequence automatically when the last frame has played.
Allows for a time delay at the start and end of the loop.
Sets the animation to play once through and then stop (the default mode).
Sets the animation to play forward and back endlessly.
Allows for a time delay at the start and end of the palindrome.
Definitions
See also:delay exit frame loop model move moveto quit script or source set spin show spin translate zoom
The Jmol commands select, restrict, define, center, connect and polyhedra take for parameters expressions that represent collections of atoms in one or more models. While this documentation does not attempt to define these expressions completely, several examples are given here. Note that the substructure() function takes a quoted smiles string for its argument. The first parameter of the within() function can be a decimal distance in Angstroms or one of the words group, chain, or model.
Syntax
Examples
select atomno=1;color purple;spacefill 600 select nitrogen;color yellow select [PRO];color green select within(5.0,[PRO]62) and not [PRO]62;color white select within(group,within(5.0,[PRO]));color yellow select substructure("[Fe][S]");wireframe 1.0 select 95^a:L # selects chain L, residue 95, insertion code a
Shows the backbone of a protein or nucleic acid macromolecule by connecting the alpha carbons. The selection of backbone units to display depends upon the currently selected atoms and the bondmode setting.
Syntax
See also:background cartoon or cartoons dots measure or monitor meshribbon restrict ribbon or ribbons rocket or rockets select set (highlights) set (lighting and perspective) set (visibility) spacefill strands trace vector or vectors wireframe
Sets color of the background. For specifications, see color.
Syntax
Sets the background of the applet window.
Sets the background for the pop-up label box that appear when the mouse "hovers" over an atom. "NONE" results in there being no hover backgrounds. Operates globally, not on selected atoms.
Sets the background of the atom labels that appear with the "label" command. "NONE" results in there being no label background. Operates globally, not on selected atoms.
Definitions
See also:backbone cartoon or cartoons color or colour color (atom object) color (bond object) color (element) color (model object) dots measure or monitor meshribbon restrict ribbon or ribbons rocket or rockets select set (default color scheme) set (highlights) set (lighting and perspective) set (visibility) spacefill strands trace vector or vectors wireframe
Sets the bond order for bonds to previously selected atoms. Bond selection is based on the setting of set bondmode along the lines of wireframe and color. See also connect.
See also:connect hbonds set (bond styles) ssbonds wireframe
Cartoons are the classic shapes the are used to depict alpha helices and beta-pleated sheets.
See also:backbone background dots measure or monitor meshribbon restrict ribbon or ribbons rocket or rockets select set (highlights) set (lighting and perspective) set (visibility) spacefill strands trace vector or vectors wireframe
Sets the center of rotation to be the center of the set of atoms defined by the atom expression. This is calculated as the mean value of the coordinates of the selected atoms along each of the respective axes. If no atoms are selected then the center is set to the center of the bounding box (the default).
Syntax
The centerAt command allows centering of the model in one of three different ways: based on an absolute coordinate position, based on an offset relative to the center of the boundbox (the overall application default), or based on an offset relative to the average position of the currently selected atoms. Centering on a specific atom or atom set without first selecting it is also available using the center command. If the three numerical values are omitted, they default to 0.0 0.0 0.0.
Syntax
specifies an absolute coordinate for the center, in Angstroms
relative to the average atom position (also known as the "unweighted center of gravity")
relative to the center of the boundbox, which is defined by the minimum and maximum atom center coordinates along each of the cartesian axes
See also:center or centre show
The color command takes several forms, depending upon the type of object being colored: an atom object, a bond object, a chemical element, or a model object. In addition, you can set the default color of any chemical element individually. This section of the guide discusses each of these in turn:
color (atom object)
color (bond object)
color (element)
color (model object)
Additional information external to this documentation can be found in relation to [Jmol color schemes] and [standard JavaScript color names and codes]. In addition, a page is in construction that lays out the [Jmol color command matrix].
In general, the color command takes the following syntax:
color [object] [option]
The first parameter of the color command specifies the object of that command. If no object is given, then 'color atom' is assumed, and the currently selected atoms are colored. Following that can be a rather wide variety of one- or two-word options, described below and dependent upon the kind of object being colored.
Translucent/Opaque Options. The color command allows an optional color modifier of 'translucent' or 'opaque', which can be used with any object. For example:
color atoms translucent orange
color ribbons translucent [255, 165, 0]
Setting a color sets the translucency to 'opaque' by default. Thus, 'color atoms red' and 'color atoms opaque red' are synonymous. Translucent and opaque can also be used alone with an object, even without specifying a color:
color mysetofatoms translucent
In that case, however, the result is complicated by color inheritance, discussed next.
Color Inheritance. Many objects inherit both color and opacity from the underlying associated atom (which, themselves "inherit" their color by default from their associated chemical element). For example, by default a bond will inherit the two colors+translucencies of its endpoint atoms. If you simply 'color atoms translucent', then both the atoms and the bonds will be translucent. But if you 'color bonds opaque' or 'color bonds red' and also 'color atoms translucent' only the atoms will be translucent.
The level of 'translucent' cannot be controlled; it is set at 50%. Note that the implementation of 'translucent' is not as an alpha channel. Rather, translucent objects are "screened" so that every other pixel is painted. If you put an opaque object behind a translucent object, then you will see the object in the back.But if you put a translucent object behind another translucent object, then you will not see the translucent object in the back.
Syntax
See also:background color (atom object) color (bond object) color (element) color (model object) set (default color scheme)
Sets the color of atom-related objects (atoms, backbone, cartoons, dots, labels, meshribbon, polyhedra, rockets, stars, strands, trace, and vectors).
Syntax
Sets the previously selected atom set to a color based on a particular color scheme. Note that to color a specific set of atoms, you MUST select that set first, then use use the color command. You cannot script, for example, "color *.N? green".
Examples:
define myset (*.N?) select myset color green select * color cartoons structure color rockets chain color backbone blue
Sets the color of atom-related objects based on a previously selected atom set to a specific color, a color scheme, or back to its default color (CPK), or to inherit the color of its associated atom (NONE). (In the case of "color atom", CPK and NONE both revert to the default color.)
Examples:
select oxygen;color atoms green select carbon;color atoms translucent white;color bonds green; select carbon;color bonds opaque [255,196,196]
Definitions
[color-scheme]
is to color based on a scheme. (CPK and NONE are synonymous here) -- (color name), [r, g, b], [xRRGGBB], AMINO, GROUP, CHAIN, FIXEDTEMPERATURE, FORMALCHARGE, MONOMER, PARTIALCHARGE, RELATIVETEMPERATURE, SHAPELY, STRUCTURE, CPK, NONE
[atom-associated-object]
is an object related to an atom -- ATOM, BACKBONE, CARTOON, DOTS, LABELS, MESHRIBBON, POLYHEDRA, RIBBONS, ROCKETS, STARS, STRANDS, TRACE, VECTORS
See also:background color or colour color (bond object) color (element) color (model object) set (default color scheme)
Three types of bonds are distinguished by Jmol for coloring purposes: regular bonds, disulfide bonds, and hydrogen bonds. Each can be colored independently, and hydrogen bond colors in proteins can take on a special coloring scheme based on their connectivity.
Syntax
Colors selected bonds a specific color or resets them to inherit the color of their associated atoms.
Colors disulfide bonds a specific color or resets them to inherit their color from their associated atoms.
Colors hydrogen bonds a specific color or resets them to inherit their color from their associated atoms.
Colors hydrogen bonds specifically in proteins based on how many residues one end is from the other. Note that to get this effect, one must first execute "hbonds ON" and then issue "color hbonds TYPE". The colors assigned are based on the number of redidues between the interacting H atoms. This TENDS to indicate secondary structure, but is not perfect.The correlation between color and offset are as follows:
Color | Offset |
green | -4 |
cyan | -3 |
white | +2 |
magenta | +3 (turns) |
red | +4 (alpha-helix) |
orange | +5 |
yellow | other (e.g. beta-pleated sheet) |
See also:background color or colour color (atom object) color (element) color (model object) set (default color scheme)
You can use the 'color' command to specify customized default colors that are used for elements. [default Jmol element colors]
color carbon limegreen
color hydrogen [x32CD32];
These changes are not molecule-specific; they will continue in effect even if new molecules are loaded. However, in a page with multiple applets, each applet will have its own set of element colors.
If you choose to use this feature, you should consider encapsulating your favorite colors into a script and then executing that script as a subroutine. For example:
script LoadMyFavoriteColors.txt;
load foo.xyz;
load bar.xyz;
Note:
Custom element colors are independent of and are not affected by the currently selected set of atoms.
To reset custom element colors, use 'set defaultColors Jmol' or 'set defaultColors Rasmol'.
'translucent' or 'opaque' cannot be specified as part of the element color specification. (You cannot 'color carbon transparent green', for instance.)
At this time only elements can be custom colored. There is no support for customizing other color palettes such as those used for protein chains or groups.
Definitions
[element-name]
is to color specific elements such as CARBON or HYDROGEN -- (element name)
[RGB-color]
is a name of a color or a red, green, blue color triple in decimal with commas, for example [255,0,255], or as a single hexadecimal number, for example [xFF00FF] (brackets included) -- (color name), [r, g, b], [xRRGGBB]
See also:background color or colour color (atom object) color (bond object) color (model object) set (default color scheme)
Sets the color of various objects (axes, boundbox, echo, hover, measurements, pmesh, and unitcell).
Syntax
Definitions
[model-object]
is AXES, BOUNDBOX, ECHO, HOVER, ISOSURFACE, MEASUREMENTS, PMESH, UNITCELL
[RGB-color]
is a name of a color or a red, green, blue color triple in decimal with commas, for example [255,0,255], or as a single hexadecimal number, for example [xFF00FF] (brackets included) -- (color name), [r, g, b], [xRRGGBB]
See also:background color or colour color (atom object) color (bond object) color (element) set (default color scheme)
Comments in Jmol are preceded by a number sign, '#'.
# | Anything following '#' up until the end of a statement is ignored by Jmol with the following two exceptions. (A statement is terminated by a semicolon ";" or a newline.) |
#jx | Commands prefixed with #jx will be executed by Jmol |
#jc | If the string '#jc' appears anywhere within a statement, then that entire statement will be assumed to be a comment and will be completely ignored by the Jmol interpreter. |
Syntax
Examples
# color by polarity color background [xffa0a0] # pink #jx set perspectiveDepth on; #executed only in Jmol, not Chime or Rasmol zoom 125 #jc; # zoom to 125% in Chime and Rasmol but not in Jmol
Similar comment controls exist in Chime. Commands prefixed with #! will be executed in Chime but not in RasMol. Commands containing ## will be ignored by Chime, but the portion preceding the ## will be executed in RasMol. Thus we have:
# | not read by Jmol, Chime, or Rasmol |
#jx [commands here] | Jmol excecution only |
#! [commands here] | Chime execution only |
[commands here] ## #jc | Rasmol execution only |
[commands here] #jc | Chime and Rasmol only |
[commands here] ## | Jmol and Rasmol only |
The connect command allows real-time bond manipulation, allowing the user or application to connect and disconnect specific atom sets. The general syntax is as follows:
select <sourceAtomSet>
connect <maxDistance> (<targetAtomSet>)
The idea is that you first select a source set of atoms, then specify the maximum distance (in Angstroms) for bonding along with the target atom set. Note that the target atom set is an atom expression that must be enclosed in parentheses. If the maximum distance parameter is not given, all connections between the two atom sets are made, regardless of distance. Newly created connections are automatically assigned single bond order. The connect command then can be used to specify a different bond order if other than single bonding is desired. Bonds already present in the structure are not affected. (New in 10.00.48)
Syntax
With no arguments, connect reinstates the Jmol default connections, all as single bonds. Any multiple bonding designated in the original file is lost.
Connect all atoms in the target atom set to all atoms to all atoms in a previously selected atom set.
Connect all atoms in the target atom set to all atoms to all atoms in a previously selected atom set, provided the two atoms are within the given maximum distance.
Assign the specified bond type to preselected atoms that are already connected.
Removes selected bonding connections.
Definitions
See also:bondorder hbonds set (bond styles) ssbonds wireframe
Throws up a console window from which a user can enter script commands and monitor the messages returned by Jmol.
Syntax
Defines the specified variable to the the atoms selected by the atom expression.
Definitions
Examples
define mygroup within(5.0,[FS4]102) select mygroup color atoms white
Causes the screen to refresh and the script to stop executing for the specified number of seconds.
See also:animation or anim exit frame loop model move moveto quit script or source set spin show spin translate zoom
Slab and Depth together control the percentage of the molecule to be displayed based on clipping planes. slab on turns slab/depth on. slab 50 shows the back 50% of the molecule. slab 25 show the back 25% of the molecule. Atoms appear solid; bonds appear hollow.
See also:slab
Turns dotted surface on or off for Van der Waals radii or solvent probe (if in addition set solvent ON).
See also:backbone background cartoon or cartoons measure or monitor meshribbon restrict ribbon or ribbons rocket or rockets select set (highlights) set (lighting and perspective) set (visibility) spacefill strands trace vector or vectors wireframe
Echos a string of text to the window at the location predefined by the "set echo" command as well as to the Java Console. "echo" by itself deletes the text at the selected position (top, middle, or bottom).
See also:font hover label or labels set (highlights)
Stops execution of the script current script. In the case of a script that is running as a "child" (for example, from a "source" command, execution continues with the parent.
Syntax
See also:animation or anim delay frame loop model move moveto quit script or source set spin show spin translate zoom
Sets font size and information in labels and other text-bearing elements.
Syntax
Definitions
See also:echo hover label or labels set (highlights)
Sets the current animation frame (1 being the first). (Same as the model command.)
Syntax
See also:animation or anim delay exit loop model move moveto quit script or source set spin show spin translate zoom
Hydrogen bonds can be turned on or off, colored, and given custom width in angstroms.
Definitions
See also:bondorder connect set (bond styles) ssbonds wireframe
Turns on and off pop-up labels that appear when the user "hovers" the mouse over the atom. If a string is given, it is used as the label. See also label.
See also:echo font label or labels set (highlights)
<img></img>Jmol can generate isosurfaces from scalar field data in files of the gaussian .cube format, which contains both atom positions and scalar data. The load command reads only the atom position data from the .cube file.
A separate isosurface command is used to read the scalar field data and construct the isosurface. This surface represents the points in space where scalar values cross a specified "cutoff" value. Inside the surface, values are greater or equal to a specified positive cutoff or less than or equal to a specified negative cutoff. The default cutoff is 0.02. Note that positive and negative surfaces are created separately. You can give them distinct names and control their display properties independently.
Parameters to the isosurface command control the cutoff value and the display characteristics of the surface. Any number of display characteristics (such as "DOTS MESH NOFILL") may be included in a single isosurface command. By reading the same .cube file more than once with different parameters, or by reading different .cube files, you can construct different isosurfaces with different shapes and sizes. By naming these individual surfaces with unique identifiers you can control display settings and color for each of the surfaces independently.
The isosurface command is similar to the pmesh command in terms of options. The isosurface command takes the overall format:
isosurface surfaceID cutoff [option] "filename.cube".
Starting in version 10.00.42, you can map a function (based on values in another .cube file) onto an isosurface. This is done by adding to the isosurface command the keywords COLOR ABSOLUTE followed by the negative cutoff, the positive cutoff, and the name of another .cube file. Surface are then colored using a red-->orange-->yellow-->green-->blue rainbow, where red represents minimum values and blue represents maximum values. If absolute cutoff values are not provided, then Jmol will calculate the range based upon the actual data values calculated for the surface points.
(The filename must be in double quotes, but the extension '.cube' is not necessary.) The .cube file may be gzip-compressed. isosurfaceID is any name that you want to use later to refer to this particular surface.
Syntax
Selects a specific isosurface (or all isosurfaces) for subsequent color commands.
Turn on/off the specified isosurface.
Delete the specified isosurface.
Loads isosurface file "xyz.cub.gz", optionally assigned id isosurfaceID and
Maps the color values from one .cube file onto the cutoff values of another .cube file based on the range of values given.
Maps the color values from one .cube file onto the cutoff values of another .cube file using the entire range of values given in the map file.
Controls whether or not dots are shown at the isosurface points.
Controls whether the isosurface appears solid (the default).
Controls whether lines between the isosurface points are drawn, given the appearance of a mesh.
Examples
isosurface pos05 0.05 "examples/ethene-HOMO.cub.gz";isosurface neg05 -0.05 "examples/ethene-HOMO.cub.gz"; # now load some other surface further out;isosurface pos01 0.01 "examples/ethene-HOMO.cub.gz";isosurface neg01 -0.01 "examples/ethene-HOMO.cub.gz";color isosurface translucent; # make neg01 translucent isosurface pos01 nofill mesh; # make pos01 a mesh;color isosurface translucent; # make the pos01 mesh translucent, too isosurface neg01 dots; # make neg01 show dots, too isosurface neg01 nofill; # only dots isosurface nodots nomesh fill; #everybody is back to a solid ...;color isosurface opaque; # ... and opaque isosurface neg01; #select neg01;color isosurface green; isosurface pos01;color isosurface violet; slab on; slab 50; # slab in order to see the inside slab off; # all done!
Turns on and off atom labels based on a previous selection. If a string is given, it is used as the label. See also hover.
Syntax
Special characters include:
%a | atom name |
%b | protein B-Factor |
%c | protein chain |
%e | element symbol |
%C | formal charge |
%i | sequential number |
%I | bonding radius |
%L | polymer length |
%m | single letter amino acid code, as <X> |
%M | model ID |
%n | 3-letter residue name |
%P | partial charge |
%q | occupancy |
%r | PDB residue number |
%U | full PDB designator, same as [%n]%r:%c %a #%i |
%V | Van der Wall radius |
%x %y %z | coordinates |
Starting in version 10.00.43, standard C++ "pformat" formating is available. So, for example, "%.1x" is the x-coordinate rounded to one decimal place; "%-8.3P" is the partial charge left aligned in an 8-character field with 3 digits to the right of the decimal point.
See also:echo font hover set (highlights)
Causes the script to restart at the beginning, with an optional time delay.
See also:animation or anim delay exit frame model move moveto quit script or source set spin show spin translate zoom
Renders a measurement between the specified atoms. See also set measurement.
Syntax
Turns on and off the distance, angle, dihedral measurement labels and measurement lines. (To turn off just the labels, use set measurement OFF
Two atoms specify a distance measurement.
Three atoms specify an angle measurement.
Four atoms specify a dihedral angle measurement.
See also:backbone background cartoon or cartoons dots meshribbon restrict ribbon or ribbons rocket or rockets select set (highlights) set (lighting and perspective) set (visibility) spacefill strands trace vector or vectors wireframe
A mesh ribbon is similar to a strand, but is more the quality of a loosely woven fabric.
See also:backbone background cartoon or cartoons dots measure or monitor restrict ribbon or ribbons rocket or rockets select set (highlights) set (lighting and perspective) set (visibility) spacefill strands trace vector or vectors wireframe
Sets the current model (1 being the first). (Same as the frame command.)
Syntax
See also:animation or anim delay exit frame loop move moveto quit script or source set spin show spin translate zoom
The move command provides powerful animation capabilities. It allows you to specify rotations, zooming, and translations to be performed in a specified period of time. xRot, yRot, and zRot are rotations about the cartesian axes in degrees. Zoom specifies a zoom factor (there is a good chance this is not currently implemented properly) xTrans, yTrans, and zTrans are translations in the range -100 to 100. If you do not know what slab is, just put in a zero. see the slab command for more information.
Syntax
Definitions
[x-rotation]
is the degrees of rotation about x -- (integer)
[y-rotation]
is the degrees of rotation about y -- (integer)
[z-rotation]
is the degrees of rotation about z -- (integer)
[zoom-factor]
is a scaling factor -- (integer)
[x-translation]
is the distance offset along x -- (integer)
[y-translation]
is the distance offset along y -- (integer)
[z-translation]
is the distance offset along z -- (integer)
[slab-cutoff]
is the cutoff for the slab display -- (integer)
[seconds-total]
is the amount of time to wait -- (decimal)
[move-frames-per-second]
is the frames per second to move -- (integer)
[maximum-acceleration]
is the maximum acceleration -- (integer)
See also:animation or anim delay exit frame loop model moveto quit script or source set spin show spin translate zoom
<img></img>The moveto command rotates the molecule to a predefined orientation. The first parameter specifies the number of seconds during which the molecule should rotate smoothly from the current orientation to the new orientation. A 0 for this first parameter specifies an instantaneous reorientation. The next three parameters (x, y, and z) define the axis relative to the default orientation about which the molecule should be rotated. The fifth parameter defines the counterclockwise (right-hand) rotation in degrees about this axis. "moveto 0 0 0 0 0" rotates the model to the default orientation (equivalent to "reset"). If the fifth parameter is 0 but any one of x, y, or z is nonzero, then no reorientation occurs (because the axis has been specified, but the rotation is 0 degrees). In conjunction with "show orientation" this command allows reading and restoring specific user-specified orientations.
Syntax
Definitions
See also:animation or anim delay exit frame loop model move quit script or source set spin show spin translate zoom
With the pmesh command you can add one or more surfaces to a model. The pmesh command is similar to the isosurface command in terms of options. The pmesh command takes the overall format:
pmesh meshID [option] "filename.pmesh"
(The filename must be in double quotes, but the extension '.pmesh' is not necessary.) The .pmesh file may be gzip-compressed. meshID is any name that you want to use later to refer to the mesh. The command also sets the 'current' mesh.
Note: meshes are not currently model-specific and are limited to triangles and quadrilaterals.
Format of the pmesh files required by Jmol:
The format of a pmesh file is relatively simple (example file):
100 3.0000 3.0000 1.0000 2.3333 3.0000 1.0000 ...(98 more like this) 81 5 0 10 11 1 0 ...(80 more sets like this)
The first line defines the number of grid points defining the surface (integer, n)
The next n lines define the Cartesian coordinates of each of the grid points (n lines of x, y, z floating point data points)
The next line specifies the number of polygons, m, to be drawn (81 in this case).
The next m sets of numbers, one number per line, define the polygons. In each set, the first number, p, specifies the number of points in each set. Currently this number must be either 4 (for triangles) or 5 (for quadrilaterals). The next p numbers specify indexes into the list of data points (starting with 0). The first and last of these numbers must be identical in order to "close" the polygon.
Syntax
Selects a specific pmesh (or all pmeshes) for subsequent color commands.
Turn on/off the specified mesh.
Delete the specified mesh.
Loads pmesh file "xyz.pmesh.gz", optionally assigned id pmeshID.
Controls whether or not dots are shown at the polygon vertices.
Controls whether the polygons are filled (the default).
Controls whether the edges of the polygons are drawn.
Examples
pmesh myPlane "examples/10x10pmesh.txt" # load a pmesh with ID myPlane color pmesh translucent yellow # make it translucent yellow pmesh myWave "examples/wave.pmesh" # load another pmesh, with ID myWave pmesh dots # turn on dots on all loaded pmeshes pmesh myWave # select pmesh myWave color pmesh white # color it white pmesh myPlane mesh # only display the mesh for myPlane pmesh myPlane nodots # no dots for myPlane
Jmol supports polyhedral representation of molecular structures. Jmol will form tetrahedrons and octahedrons.
Basis. Potential polyhedra centers are defined by the currently selected set of atoms. From this set of centers, polyhedra can be formed based upon bonds (polyhedra BONDS) or upon distance (polyhedra 2.0). If you construct them based on distance, then you may specify an optional set of atoms to be considered as vertices. This set of valid vertex atoms is in the form of a standard Jmol atom expression (such as hydrogen or atomno<12 and not nitrogen) and must be specified in parentheses as shown in the examples given below.
Valid Polyhedra. The following three rules govern the formation of polyhedra:
If a center has exactly 4 vertices and the center is inside the 4 planes defined by the vertices when taken as triples, then a tetrahedron is constructed.
If a center has exactly 6 vertices and the center is inside the 8 planes defined by the triples that define the convex surface, then an octagon is constructed.
In any other situation, no polyhedron is constructed.
Options. Once the polyhedra are constructed, other options apply based upon whether or not the central atom is selected. The command has a large number of options and is somewhat complicated. See the discussion below in the context of each specific parameter option.
Note: Polyhedra probably do not interact well with multiple models.
Syntax
Sets the current polyhedra to be "all" for subsequent use by the 'color polyhedra' command.
Show or hide polyhedra whose central atom is selected.
Delete the polyhedra associated with central atoms that are selected.
Constructs polyhedra based upon bonding information. Selected atoms are search for centers that have exactly 4 or 6 bonds with the vertex atoms in a conforming orientation.
Examples:
# build tetrahedrons around silicon select silicon; polyhedra bonds # make some of them green select atomno<50; color polyhedra translucent green # delete some of them select atomno>75 and atomno<100; polyhedra delete # now build octahedrons where oxygens are within 2.0 angstroms of central aluminum atoms select atomno<75; polyhedra frontedges select aluminum and atomno > 75; color polyhedra none polyhedra 2.0 (oxygen); color polyhedra translucent lime
Constructs polyhedra based upon distance. Centers must contain exactly 4 or 6 atoms within the specified radius, in Angstroms (a decimal number).
Constructs polyhedra based upon distance with control over which atoms are considered as vertices. Centers must contain exactly 4 or 6 atoms within the specified atom expression that are also within the specified radius in angstroms. Note that the atom expression must be specified in parentheses.
Highlight the edges of the polyhedra whose central atom is in the currently selected set.
Highlight only the front edges of the polyhedra whose central atom is in the currently selected set.(Useful when color is translucent.)
Turn off edge highlighting.
Definitions
Examples
select *;polyhedra bonds; color polyhedra grey select atomno=19; polyhedra 3.0 (hydrogen);color polyhedra yellow select *;polyhedra 2.0 #all three select *;polyhedra 2.0 (not within (1.1225, carbon)) #note how this disallows one of the three select *;color polyhedra translucent; # now we can see the carbons inside select *; polyhedra edges; # highlight the edges color polyhedra translucent orange; select *;polyhedra off
In the current release of Jmol, quit is synonymous with exit. This is inconsistent with RasMol, where quit means to exit the program.
Syntax
See also:animation or anim delay exit frame loop model move moveto script or source set spin show spin translate zoom
Forces a screen repaint during script execution. (Unnecessary, and thus deprecated.)
Syntax
Resets molecule to its original position: zoom 100; center; translate x 0; translate y 0;
Syntax
Selects the atoms identified by the atom expression and hides all atoms and bonds which are outside the selection set. For wireframe and backbone, restrict unconditionally follows set bondmode OR, ignoring the current bondmode setting, and hiding any bonds or backbone rods involving any atoms in the restricted set.
Syntax
See also:backbone background cartoon or cartoons dots measure or monitor meshribbon ribbon or ribbons rocket or rockets select set (highlights) set (lighting and perspective) set (visibility) spacefill strands trace vector or vectors wireframe
Ribbons offer a representation the protein backbone or nucleic acid helix using a flat band that smoothly traces the midpoints of adjacent alpha carbon atoms (or phosphorus atoms in nucleotide chains). The ribbon is perpendicular to the peptide plane.
Syntax
See also:backbone background cartoon or cartoons dots measure or monitor meshribbon restrict rocket or rockets select set (highlights) set (lighting and perspective) set (visibility) spacefill strands trace vector or vectors wireframe
Creates a "rocket" cartoon.
See also:backbone background cartoon or cartoons dots measure or monitor meshribbon restrict ribbon or ribbons select set (highlights) set (lighting and perspective) set (visibility) spacefill strands trace vector or vectors wireframe
Rotates the model the specified angle about the specified axis. Integer values specify degrees.
Loads and executes the specified script file/url. The hash/pound/sharp character (#) character marks a comment to the end of the line. The semicolon character (;) separates multiple statements on the same line. A script file may load another script file, up to 10 deep.
See also:animation or anim delay exit frame loop model move moveto quit set spin show spin translate zoom
Selects the atoms identified by the expression. If no expression is given then all atoms are selected.
Syntax
Selects all atoms (possibly not H atoms).
Selects atoms based on an atom expression. To select atoms specific to a specific model when more than one model is present, use "/n" where "n" is the model number. For example, to select all atoms of model 3, use select */3.
See also:backbone background cartoon or cartoons dots measure or monitor meshribbon restrict ribbon or ribbons rocket or rockets set (highlights) set (lighting and perspective) set (visibility) spacefill strands trace vector or vectors wireframe
This group of commands sets the appearance of various optional bond effects for the model.
Syntax
Some file formats that Jmol reads, such as XYZ, do not contain bonding information. In these cases, the default action for Jmol is to generate bonds automatically based on an algorithm. When given prior to loading a model, the set autobond command determines whether Jmol should automatically generate bonds (set autobond ON, the default action) or not (set autobond OFF) when the model is loaded.
In some file formats (.mol files, for example) the connection data may indicate the bond type--single, double, triple, or quadruple. The set bonds command determines whether or not multiple bonds are displayed. Use set bonds OFF when you want all bonds to appear as single bonds.
When script commands affect a set of atoms, BOTH atoms must be in the set for the bonds between them to also be affected. Similarly affects the display of backbone units in the selection of protein residues and nucleic acid bases.
When script commands affect a set of atoms, EITHER atom may be in the set for the bonds also to be affected. Similarly affects the display of backbone units in the selection of protein residues and nucleic acid bases.
Hydrogen bonds between protein amino acid residues or nucleic acid base pairs are displayed as lines. These lines can be displayed whether or not the H atoms are present in the file, and can be drawn either between the two non-hydrogen atoms involved in the bond (O or N, typically, the default) or, alternatively, between the two backbone alpha-carbon atoms, depending upon the desired effect.
Sulfur-sulfur bonds in cysteine bridges of proteins are displayed as lines. These lines can either be between the two sidechain sulfur atoms (the default) or between the two backbone alpha-carbon atoms, depending upon the desired effect.
Sets the default color scheme to be the traditional Rasmol/Chime scheme or the newer, more subtle, Jmol scheme. This command does not actually change the display for an object unless that object is currently being displayed using the default color scheme. See the Jmol Colors page for default color scheme details.
See also:background color or colour color (atom object) color (bond object) color (element) color (model object)
This command group allows for annotation and highlighting of atoms in terms of labels and "halos."
Syntax
Sets the option ON to dispay a "halo" around atoms when they are or become selected as a way of highlighting specific atoms.
Turns off selection halos
Selects which of the three possible echo positions (top, middle, or bottom) will be written to by the next "echo" command and, optionally, sets the horizontal position of that text to left, center, or right.
Turns off all three echo texts.
Sets the font size for atom labels.
Determines whether or not "Jmol" is indicated in the bottom right corner of the window.
Sets the label offset relative to the atom being labeled.
Definitions
See also:backbone background cartoon or cartoons dots echo font hover label or labels measure or monitor meshribbon restrict ribbon or ribbons rocket or rockets select set (lighting and perspective) set (visibility) spacefill strands trace vector or vectors wireframe
This commands in this group determine the overall lighting effects, size, and rotation for the model.
Syntax
Sets the amount of "ambient" light filling the shadows created by the apparent light source. An ambient value of 0 creates an effect of a spotlight on a stage; a value of 100 removes the shadow entirely, creating a flat, nonrealistic effect.
Sets the amount of "diffuse" light apparently emanating from the spotlight, but not hitting and reflecting off the model directly. Setting the diffuse value to 0 turns this effect off; giving the effect of the model in a black-walled room where no light reflection is possible, effectively turning off all shadows.
Sets perspective depth on or off. OFF is required for proper function of absolute scale (set scale3d x).
Sets the absolute scale of the model by setting the viewing distance from the user to the model in arbitrary units. The actual scale will depend upon the sizes of both the applet window and the screen.
Examples:
Sets the density of dots in the specular reflection.
Sets the size of the apparent reflection from a light source. set specular 0 turns off this effect.
Definitions
See also:backbone background cartoon or cartoons dots measure or monitor meshribbon restrict ribbon or ribbons rocket or rockets select set (highlights) set (visibility) spacefill strands trace vector or vectors wireframe
This command group turns on or off specific sets of atoms and axes/cell-related options.
Syntax
Turns on or off displayed axes, and determines their line style and line width (as a decimal number, in Angstroms).
Turns on or off a wire-frame box that contains the model, and determines the line style and line width (as a decimal number, in Angstroms) of that box.
Disables (set disablePopupMenu ON) or enables (set disablePopupMenu OFF) the pop-up menu.
Sets the radius of the solvent "ball" that would run around the structure defining its outline. After set radius, you must (re)issue dots ON for it to take effect, and the solvent probe option for dots must be set on using set solvent ON (below).
Turns on and off display of hydrogen atoms.
Turns on and off display of solvent "probe" that can be displayed using dots. After set solvent ON, a subsequent dots ON shows the surface of the aggregate of selected atoms using dots. This surface is defined by the contact of a spherical probe (representing a solvent molecule) rolled over the surface of the selected atoms. The radius of the probe sphere of 1.4 Angstroms approximates a water molecule. The default radius for Jmol is 1.2 Angstroms, which can be changed using set radius (above). Note that no change in display occurs after set solvent ON until the next dots ON command is encountered. For a detailed discussion of molecular surfaces, see http://www.netsci.org/Science/Compchem/feature14.html.
Examples:
set radius 2.0 set solvent ON select 1-10 dots ON
Sets the number of strands to display.
Turns on or off the unit cell for crystal structures, and determines its line style and line width (as a decimal number, in Angstroms).
Definitions
See also:backbone background cartoon or cartoons dots measure or monitor meshribbon restrict ribbon or ribbons rocket or rockets select set (highlights) set (lighting and perspective) spacefill strands trace vector or vectors wireframe
Jmol can be set to read the chain designations in PDB, mmCIF, and related files either with or without case sensitivity. With set chainCaseSensitive OFF, the chain designations are interpreted as case-insensitive. With set chainCaseSensitive ON, the chain designation is read in a case-sensitive manner -- chain "A" is different than chain "a". This supports PDB format model files with more than 26 chains. The default startup up mode is OFF -- chain designation "a" in a SELECT command will refer to chain "A" in a file.
Sets characteristics of the measurement labels and lines. See also measure.
Syntax
Turns on and off the distance, angle, dihedral measurement labels while leaving the measurement line itself present.
Sets the width of the measurement line in angstroms.
Sets the width of the measurement line in pixels.
Sets the units for measurement display to be Angstroms, nanometers, or picometers.
Sets the measurement line to be dotted.
The set picking command determines the response to clicking of atoms by the user.
Syntax
Turns picking on and off. When turned ON, picking information is sent both to the status line and to the pickcallback function, if defined.
Turns picking on and returns atom identities and angle involving three atoms. Four messages are sent to the messagecallback function, if defined: Atom #1 (after the first click), Atom #2 (after the second click), and then Atom #3 and Angle (after the third click).
Examples:
(xyz data in this case) Atom #1:C 2 #2 Atom #2:C 3 #3 Atom #3:C 4 #4 Angle C 2 #2 - C 3 #3 - C 4 #4 : 122.3754
When the user clicks an atom, the selection of that atom is toggled on or off.
When the user clicks an atom, that atom is set to be the center of rotation.
When the user clicks an atom, the selection of the chain associated with that atom is toggled on or off.
Turns picking on and returns atom identities and distance between two atoms. Three messages are sent to the messagecallback function, if defined: Atom #1 (after the first click) and then Atom #2 and Distance (after the second click).
Examples:
(pdb data in this case) Atom #1:[VAL]8.CA #49 Atom #2:[GLU]23.OE2 #169 Distance [VAL]8.CA #49 - [GLU]23.OE2 #19 : 16.765396
When the user clicks an atom, the selection of the group associated with that atom is toggled on or off.
When the user clicks an atom, the label of that atom is toggled on or off.
Turns picking on and returns atom identities and torsion angle (dihedral angle) involving four atoms. Five messages are sent to the messagecallback function, if defined: Atom #1 (after the first click), Atom #2 (after the second click), Atom #3 (after the third click), and then Atom#4 and Torsion (after the fourth click).
Examples:
(cml data in this case) Atom #1:a7 #7 Atom #2:a3 #3 Atom #3:a1 #1 Atom #4:a2 #2 Torsion a7 #7 - a3 #3 - a1 #1 - a2 #2 : -4.15209
Sets the spin axis and rate. No actual spinning occurs until the spin ON command is issued or the user turns spinning on using the mouse menu.
Syntax
The spin rate, in degrees per second, determines how fast the model rotates; the number of frames per second determines how smoothly the model rotates.
Note that the axes referred to are the fixed axes of the window, not the cartesian axes of the molecular coordinates. Thus, regardless of how the molecule has been rotated by the user or using the move command, x is always the horizontal axis, y is always the vertical axis, and z is always the axis directed toward the user.
See also:animation or anim delay exit frame loop model move moveto quit script or source show spin translate zoom
show sends information about the model to the messageCallback function and to the Java Console
Syntax
Delivers the coordinates of the center coordinate and a directional vector defining a box just perfectly enclosing the model. The vector is determined by taking the min and max values for the atom along each cartesian axis. The center is the geometric center of the model, not the default center of rotation (which is the mean atom position). The eight corners of the boundbox are found by adding the center point to the vector, with all possible combinations of +/- component cectors. The length of a side of the boundbox is determined by doubling the appropriate component of the vector. So, for example, the length of the boundbox along the x-axis is (2*vectorX). Units are in Angstroms. Output is in the form
boundbox: (centerX, centerY, centerZ) (vectorX, vectorY, vectorZ)
Delivers the coordinates of the center of the model. Units are in Angstroms. Output is in the form
center: (centerX, centerY, centerZ)
Delivers the entire contents of the file for the current model.
Delivers the entire contents of the specified file on the server from which the applet was loaded. The filename must be relative to the current page (not necessarily the directory containing the applet) and must be enclosed in quotation marks.
Delivers properties associated with the currently loaded model. Output includes information about all of the models in the set. This command is still in development. The exact form and content of the output is subject to change (and suggestion).
Delivers the PDB file header.
Delivers the current 3x3 transformation matrix (rotation only).
Delivers the current zoom setting. Output is in the form of the zoom command: "zoom n" where "n" is an integer percent of "normal" zoom.
Delivers the orientation of the model. Output consists of both a "moveTo" command and an alternative sequence of "reset; rotate z; rotate y; rotate z" commands that would result in the current orientation. Thus, this command allows reading and restoring specific user-specified orientations.
Examples:
See also:animation or anim center or centre centerAt delay exit frame loop model move moveto quit script or source set spin spin translate zoom
Slab and Depth together control the percentage of the molecule to be displayed based on clipping planes. slab on turns slab/depth on. slab 50 shows the back 50% of the molecule. slab 25 show the back 25% of the molecule. Atoms appear solid; bonds appear hollow.
See also:depth
Renders selected atoms as shaded spheres. A boolean value renders the spheres with the vanderWaals radius. A decimal value specifies the sphere radius in Angstroms. An integer followed by "%" specifies sphere radius as a percentage of the Van der Waals radius.
Syntax
Generates a sphere for each atom according to an approximation of its ionic radius.
Generates a sphere for each atom according to its crystallographic B-factor
Definitions
See also:backbone background cartoon or cartoons dots measure or monitor meshribbon restrict ribbon or ribbons rocket or rockets select set (highlights) set (lighting and perspective) set (visibility) strands trace vector or vectors wireframe
Starts and stops the molecule spinning around the axis determined by set spin.
See also:animation or anim delay exit frame loop model move moveto quit script or source set spin show translate zoom
Cisteine disulfide bonds can be turned on or off, colored, and given customized widths in Angstroms.
Definitions
See also:bondorder connect hbonds set (bond styles) wireframe
The star command places a set of crosshairs of a given size in Angstroms on the selected atoms. The default size of the star is, like spacefill, the nominal Van Der Waals radius for the atom. The default color for the star is that of the atom it is associated with. Use color star [colorname] to then color selected stars the color of your choice.
Syntax
Turn stars on or off.
Sets the length of the selected stars.
Generates a star for each atom according to an approximation of its ionic radius.
Generates a star for each atom according to its crystallographic B-factor
Definitions
Examples
select *.S?;star ON select 40;star 1.0;color star red select *;color star NONE select *;star OFF
Jmol supports two forms of stereo rendering for molecules. In the first form, the two images are placed side by side and rotated so as to appear from slightly different perspectives, creating the illusion of 3D when a practiced user trains one eye on one image and the other eye on the other image.
<img></img>A second form of stereo rendering, analglyphic rendering, nearly superimposes two identical models that are slightly rotated relative to each other. These models are each of a different color (red and one of blue, cyan, or green). The illusion of depth can then be created when the user wears an inexpensive pair of "3D glasses" that have differently colored lenses.
One should experiment with different background colors when using redcyan or redblue stereo rendering. For many users background grey looks better than background white or background black.
Syntax
Turns side-by-side stereo viewing on. (Note that if this form of stereo viewing is desired, you will probably want to have the applet width twice the applet height.) If a number of degrees is not given or has not already been specified in a previous command,, the default rotation is 5 degrees. Sets the number of degrees of counter-clockwise vertical-axis rotation of the RIGHT-hand image relative to the LEFT-hand image (which itself does not change rotation when stereo viewing is turned on and off). Positive values correspond to cross-eyed viewing, where the left eye is trained on the right image, and the right eye is trained on the left image. Negative values (clockwise rotation) correspond to "wall-eyed" viewing, where the right eye is trained on the right image and the left eye is trained on the left image. Note that stereo 90 may be useful, as it shows two views of a model that rotate synchronously, a "front view" on the left and a "right side view" on the right.
Turns side-by-side stereo viewing on with a previously defined rotation or, if no rotation has been defined, a rotation of 5 degrees.
Turns stereo viewing off.
Turns red/blue analglyphic rendering on with a specific relative rotation, if desired. The default is 3 degrees.
Turns red/cyan analglyphic rendering on with a specific relative rotation, if desired. The default is 3 degrees.
Turns red/green analglyphic rendering on with a specific relative rotation, if desired. The default is 3 degrees.
Examples
zoom 50;background white;stereo ON stereo 90 stereo 5 stereo -5 zoom 100;background grey;stereo REDCYAN stereo REDBLUE 3 stereo OFF
Strands offer a representation the protein backbone or nucleic acid helix using lines. For proteins, control points are chosen midway between adjacent alpha carbons (or phosphorus atoms in nucleic acids). The strands are arranged perpendicular to the peptide plane. A hermite cubic curve is used to smoothly connect the points.
Syntax
See also:backbone background cartoon or cartoons dots measure or monitor meshribbon restrict ribbon or ribbons rocket or rockets select set (highlights) set (lighting and perspective) set (visibility) spacefill trace vector or vectors wireframe
A "trace" is a smooth curve through the center of the carbonyl carbon-alpha carbon bonds of a peptide or the ribose 1-O-P bond.
See also:backbone background cartoon or cartoons dots measure or monitor meshribbon restrict ribbon or ribbons rocket or rockets select set (highlights) set (lighting and perspective) set (visibility) spacefill strands vector or vectors wireframe
Moves the molecule along the specified axes according to the amount specified by value. Value ranges from -100 to 100, and represents the percentage of the display window. Negative values move to the left (for the x axis) and down (for the y axis). A value of 100 will move the molecule completely out of the window. A value of 50 will move the center of the molecule to the edge of the window.
See also:animation or anim delay exit frame loop model move moveto quit script or source set spin show spin zoom
Draws vectors arising from vibrational mode data.
Syntax
Definitions
See also:backbone background cartoon or cartoons dots measure or monitor meshribbon restrict ribbon or ribbons rocket or rockets select set (highlights) set (lighting and perspective) set (visibility) spacefill strands trace wireframe
Provided information is present in the file (xyz format with columns 6-8 indicating dx, dy, and dz, or Gaussian harmonic frequency output), turns on and off display of vibration animation and allows setting of the time period for the vibration (in seconds) and the scale of the motion relative to the default (1).
Syntax
Wireframe refers to the bonds drawn between the atoms. A boolean value of ON draws the selected bonds as lines. Alternatively, a numeric value may be used to specify the radius of the bonds. A decimal value such as 0.2 or 0.4 specifies Angstroms. The wireframe command operates on bonds either BETWEEN ANY TWO atoms in a previously selected atom set (having previously set bondmode AND) or TO ANY atoms in a previously selected atom set (having previously set bondmode OR). Note that the selected atoms must already be connected (based on information in the file, Jmol's autobonding algorithm, or from use of the connect or command) in order to show any effect.
Syntax
Definitions
See also:backbone background bondorder cartoon or cartoons connect dots hbonds measure or monitor meshribbon restrict ribbon or ribbons rocket or rockets select set (bond styles) set (highlights) set (lighting and perspective) set (visibility) spacefill ssbonds strands trace vector or vectors
Clears the currently loaded molecule. RasMol forces you to zap prior to loading a new molecule. Jmol currently does not have this restriction and does not enforce it.
Syntax
See also:load
Allows enlarging or shrinking of the displayed model. A percentage value specifies the zoom relative to 100, the default value, which in Jmol is calculated so that all atoms are completely visible on the screen through all rotations using the default vanderWaals rendering percentage. The command "zoom OFF" disables mouse-based zooming and zooms to 100. The command "zoom ON" re-enables zooming at the current zoom setting. If the zoom has been turned off, setting the the zoom using, for example, "zoom 50," though it sets the "current zoom setting," has no effect until the next "zoom ON" command is given.
See also:animation or anim delay exit frame loop model move moveto quit script or source set spin show spin translate