# Jmol

Jmol is computer software for molecular modelling of chemical structures in 3 dimensions. It is an open-source Java viewer for chemical structures in 3D. The name originated from [J]ava (the programming language) + [mol]ecules, and also the mol file format.
JSmol is an implementation in JavaScript of the functionality of Jmol. It can hence be embedded in web pages to display interactive 3D models of molecules and other structures without the need for any software apart from the web browser (it does not use Java).
Both Jmol and JSmol render an interactive 3D representation of a molecule or other structure that may be used as a teaching tool, or for research, in several fields, e.g. chemistry, biochemistry, materials science, crystallography, symmetry or nanotechnology.

## Software

Jmol is written in the programming language Java, so it can run on different operating systems: Windows, macOS, Linux, and Unix, as long as they have Java installed. It is free and open-source software released under the GNU Lesser General Public License (LGPL) version 2.0. The interface in translated into more than 20 languages.
There are several products implemented:
* A standalone application (the Jmol application), composed of a single Jmol.jar file that can be used without installation, requiring only that the computer has Java installed.
* A software development kit (SDK), i.e. a component that can be integrated into other Java applications, such as Bioclipse and Taverna.
* JSmol, a JavaScript library that allows integration of the 3D models in web pages and wikis.
Molecules can be displayed in different styles of rendering, like ball-and-stick models, space-filling models, ribbon diagrams, molecular surfaces, etc. Jmol supports a wide range of chemical file formats, including Protein Data Bank (pdb), Crystallographic Information File (cif and mmcif), MDL Molfile (mol and sdf), and Chemical Markup Language (CML). It can also display other types of files for structures with 3D data.
JSmol replaced the Jmol Java applet, which in turn had been previously developed as an alternative to the Chime plug-in, both of which became unsupported by web browsers. Jmol was initiated to reproduce functions present in Chime (with the exception of the Sculpt mode) and has been continuously growing in features, surpassing the simple display of molecular structures. Most notably, it has a large set of commands and a thorough scripting language (JmolScript) that includes many characteristics of a programming language, such as variables, arrays, mathematical and Boolean operators, SQL-like queries, functions, loops, conditionals, try-catch, switch...

## Screenshots

* Two translucent planes illustrating symmetry planes for the water molecule.
* The electrostatic potential of allene mapped onto a translucent surface.
* A shaded rendering of caffeine, with some measurements shown (distance, angle, dihedral)
* An SN2 reaction animated displaying the distance measured between the chlorine and carbon atoms.
* Display of quartz crystal structure, filling 2×2×2 unit cells. The unit cell boundbox is drawn and the unit cell data are shown on upper left.
* Cartoon p-orbitals of benzene together with the corresponding translucent molecular orbital.
* Crystal structure of an H/ACA box RNP from Pyrococcus furiosus
* Highlighting two salt bridges in hemoglobin tetramer (hemo group as sticks at bottom-right)
* A fragment of transcription factor TFIIIA forming three consecutive zinc finger motifs, bound to a stretch of DNA
* Eubacterial 70S Ribosome from Thermus thermophilus