The author's first computer graphics software sought to understand molecular dynamics simulations(13). The C language programs developed under UNIX created ASCII files suitable for display on the Evans and Sutherland (E&S) PS300, the state of the art graphics device of its day (The current programs still carry some of this historical baggage.) The interaction with the molecular graphics group at North Carolina, including Jan Hermans, Mike Pique, Fred Brooks, Dave and Jane Richardson, proved most stimulating.
Lesk and Hardman(14) described computer programs to plot ribbon drawings. Pique(15) and Burridge(16) created interactive versions. We modeled a protein ribbon in the manner of a ribbon used to wrap presents: composed of many roughly parallel smooth threads running the length of the ribbon(17). This conceptually simple algorithm fit cubic polynomial ``B-spline'' curves to the peptide planes. (Most modern graphics systems provide B-splines as a basic drawing primitive.) The algorithm quickly became incorporated into several commercial molecular modeling packages.
Figure 7. B-spline ribbon.
The program BSribbon was developed on a PS300 in 1985 at UAB. Figure 7 is an example with the protein calmodulin(18). The acquisition of an SGI IRIS 2400 workstation in 1986 led to the program ribbon. Color Plates 1 and 2 are example images. Computation of the individual splines, sectioning of the ribbon into residues, extension of the method to nucleic acids, and production of solid shaded and textured ribbon drawings on raster devices was described(19). This style has been widely copied, and the geometry put into the data flow visualization environments AVS(20) and Explorer(21) .
The paper(19) defines a `ribbon space curve'. Color Plate 2 shows how a mapping of the curvature/torsion values of the ribbon space curve effectively highlights the classes of secondary structure, offering an alternative parameterization to the phi/psi values.
Color Plate 1. tRNA model (ribbon '87)
Color Plate 2. Ribbon space curve of ubiquitin (ribbon '88).
The best curve is debatable: should it pass through all C-alpha, should it have a pleat in the sheets, should it be a different order or type of polynomial? The B-spline method(17) sought to capture the feel of Richardson's drawings(1). A cubic polynomial was the lowest order that gave good results, higher order splines showed little difference. Several alternative formulations of ribbon construction have been given(22,23,24). These other types of curves may be given by alternative spline formulations(19).
We presented ribbons as a visual sanity check of a structure by mapping properties of crystallographic interest to the ribbon drawing(25). Residues were color-coded by main chain and side chain dihedral sensibility, agreement with the electron density map, and potential energy. The program ribbons 2.0 exploited the expanding capabilities of graphics hardware and software for hidden surface removal and lighting models. Real-time manipulation of solid models became possible. ribbons 2.0 has been widely distributed and a detailed methodology published(26).
The ribbons++ prototype(27) used the SGI Inventor, a 3D object-oriented toolkit. The toolkit provided advanced texturing and transparency, a direct manipulation interface, and a good introduction to the C++ language. Color Plate 3 is a rendering of PNP(28) in this environment. Color Plate 4 is a DNurbs(29) representation of DNA.
Color Plate 3. PNP: Target for drug design (ribbons++ '93)
Color Plate 4. DNA modeled with NURBS (DNurbs '93)
Ribbons 3.0 is the current Unix/X/Motif/OpenGL/C++ code. Elements of the previous programs are combined, along with an XPLOR-like command language and a graphical interface to create and manage data. Image processing techniques(30) and stenciled outlines have been added, allowing black and white graphics that approach the beautiful line-drawing plots of the program Molscript(31). There are still no methods to correct the residues in error. XtalView(32) or O(33) is recommended. Further development will visualize aspects of structure-based drug design.
The changes in computers, graphics, and networking since Volume 115 in this series(34)is astounding. The author (having computed on slide rules, mainframes, workstations, and now PC's) intends that ribbons keep pace with changing ``standards''.
The molecular modeling and drug design program WHAT IF(35) uses ribbons as its artwork module. Some favorite examples of ribbons usage by others are journal covers(36,37,38), display of protein/DNA interaction(39), and for a few seconds in the movie `Jurassic Park.'