A kinemage (short for kinetic image) is an interactive graphic scientific illustration. It often is used to visualize molecules, especially proteins  although it can also represent other types of 3-dimensional data (such as geometric figures, social networks, or tetrahedra of RNA base composition). The kinemage system is designed to optimize ease of use, interactive performance, and the perception and communication of detailed 3D information.  The kinemage information is stored in a text file, human- and machine-readable, that describes the hierarchy of display objects and their properties, and includes optional explanatory text. The kinemage format is a defined chemical MIME type of 'chemical/x-kinemage' with the file extension '.kin'.

Early history
Kinemages were first developed by David Richardson at Duke University School of Medicine, for the Protein Society's journal Protein Science that premiered in January 1992.  For its first 5 years (1992–1996), each issue of Protein Science included a supplement on floppy disk of interactive, kinemage 3D computer graphics to illustrate many of the articles, plus the Mage software (cross-platform, free, open-source) to display them; kinemage supplementary material is still available on the journal web site. Mage and RasMol were the first widely used macromolecular graphics programs to support interactive display on personal computers.  Kinemages are used for teaching, and for textbook supplements, individual exploration, and analysis of macromolecular structures.

Research uses
More recently, with the availability of a much wider variety of other molecular graphics tools,  presentation use of kinemages has been overtaken by a wide variety of research uses, concomitant with new display features and with the development of software that produces kinemage-format output from other types of molecular calculations. All-atom contact analysis adds and optimizes explicit hydrogen atoms, and then uses patches of dot surface to display the hydrogen bond, van der Waals, and steric clash interactions between atoms. The results can be used visually (in kinemages) and quantitatively to analyze the detailed interactions between molecular surfaces, most extensively for the purpose of validating and improving the molecular models from experimental x-ray crystallography data. Both Mage and KiNG (see below) have been enhanced for kinemage display of data in higher than 3 dimensions (moving between views in various 3-D projections, coloring and selecting candidate clusters of datapoints, and switching to a parallel coordinates representation), used for instance for defining clusters of favorable RNA backbone conformations in the 7-dimensional space of backbone dihedral angles between one ribose and the next.

Online web use
KiNG is an open-source kinemage viewer, written in the programming language Java by Ian Davis and Vincent Chen, that can work interactively either standalone on a user machine with no network connection, or as a web service in a web page.  The interactive nature of kinemages is their primary purpose and attribute. To appreciate their nature, the demonstration KiNG in browser has two examples that can be moved around in 3D, plus instructions for how to embed a kinemage on a web page.  The figure below shows KiNG being used to remodel a lysine sidechain in a high-resolution crystal structure.  KiNG is one of the viewers provided on each structure page at the Protein Data Bank site, and displays validation results in 3D on the MolProbity site.  Kinemages can also be shown in immersive virtual reality systems, with the open-source KinImmerse software. All of the kinemage display and all-atom contact software is available free and open-source on the kinemage web site.

See also
 Molecular graphics
 Ribbon diagram
 Comparison of software for molecular mechanics modeling

References

External links
 , Duke University original, with examples and software
 kinemage example in a browser
 RCSB Protein Data Bank
 MolProbity: structure validation, with KiNG on-line kinemages

Chemistry software