Methods

Four control points, or guide coordinates, are required to construct a B-spline curve segment. The curve segments defining a particular protein residue are based on guide coordinates constructed from the four peptide planes bracketing that residue. For nucleic acids, the guide points are set on a vector centered on the phosphate and parallel to the normal of the nucleotide base plane (as opposed to a vector defined by the oxygen positions as described in the previous work). The residues on either end of the macromolecular chain are created by means of dummy planes set at the first and last atom in the coordinate file. The latter paper (Carson, 1987) gives the details. Unfortunately, there is an error in the sign of one of the elements in one of the matrices given in this paper. All should have the same pattern of signs. The correct formulation of B-spline construction is given here as an appendix.

The solid ribbon models are constructed of quadrilateral meshes with a surface normal vector specified at each vertex. The trend in graphics workstations is toward a library of functions (often supported by special hardware) to perform computationally demanding tasks such as hidden surface removal and smooth shading of solids. Both the Silicon Graphics GL library and the PHIGS+ (Programmer's Hierarchical Interactive Graphics Standard) model provide this type of mesh as a built-in primitive. The ribbons may have a variety of styles: B-spline line drawings, flat ribbons constructed as a mesh directly from the splines, or solid ribbons developed along the ribbon space curve either by an ellipse or a rectangle. The details of this mesh construction based on the ribbon space curve are given in the 1987 paper.

All data files used by the program are ASCII text based on processing atomic coordinates in the Brookhaven Protein Databank format. Auxilliary programs perform such tasks as creating spheres colored by residue type, constructing a list of bonds from a file of atoms, or fitting a cylinder to a helix. Each user created file is eligible for display as a separate graphics object. The display is mouse and cursor driven, integrated into the IRIS window manager. Models are selected through pop-up menus. Transformations are controlled by pressing a mouse button and moving the cursor in an intuitive way. Control panels are invoked to present a set of software `buttons' and `sliders' to set display parameters such as the relative radius scale factor for a given set of spheres or cylinders or the number of threads used in a ribbon.

The display program requires a definition of the secondary structure for optimal appearance. Each residue is classified as sheet, helix, or coil. Each class may be rendered with different styles or textures. Auxilliary programs analyze the coordinates to make the secondary structural assignments. An assignment may be made from C-alpha positions only by best fitting each successive five residue stretch to an ideal helix and analyzing the differential geometry of the resultant space curve (Louie and Somorjai, 1983). This method was employed in our original paper and is useful to create ribbon models from a list of C-alpha-only coordinates. The current program suggests that assignment be made from hydrogen bonding patterns as the default. The method of Kabsch and Sander (1983) has been implemented. Another alternative is an assignment based on the phi/psi mainchain dihedral values. The user may make any assignment by simply editing the special sequence/secondary structure file.