The Sketch major menu is a menu to draw different stylized pictures of macromolecules. Much functionality is available from the Display/Sketch pull-down menu.
The Sketch menu works similarly to the Draw_mol commands: first an object is opened, by giving it a name. The Sketch_object command is used to do this. Then a series of drawing instructions can be given to add to the currently open sketch object, using the Sketch_add command. Unlike the Zone command, used to draw molecular objects (which are pickable, sketch objects are not), Sketch_add allows you to define the zones by picking start and end residues on the screen. (Of course, you can only do this if you have a molecular object displayed).
The 'current sketch type' is set by the Sketch_type command. The options available in the current version of O are:
tapeworm A worm made up of little rectangles in the peptide planes, in the style of Arthur Lesk (1986). Works for protein only, as the atoms forming the peptide plane are needed by the algorithm.
ribbon The classic ribbon representation, as described by Carson (1988). A set of cubic b-spline curves is drawn using the central atoms of the molecule atoms as control points. Works for protein molecules only.
cylinder This sketch type draws a cylinder, coaxial to an alpha helix. Works for protein molecules only.
spiral The classic a-helix style made popular by Jane Richards. This sketch type is not suited for b-strand regions, but looks good for RNA structures, when using P or C1* as central atoms.
arrow The classic b-strand style made popular by Jane Richards. Only suited for protein b-strand. The arrows do not look good when drawn in a-helical regions.
rattler Also known as the tube. Draw a smooth looking rattle snake through the central atoms. Very suitable for loop regions of a protein when creating a cartoon.
The command Sketch_add uses the current definition of what type of sketch you want, and for each type, the characteristic parameters. These parameters are set by Sketch_setup. Normally, once and for all, you would settle for a set of parameters that appeal to you, and only rarely change them.
The colours of the sketches are taken from the current colour of the central atom of the molecule. For proteins, this is normally the Ca atom, but the user can define the central atom in the <mol>_molecule_ca datablock. For tRNA, it often looks good to use the C1* atom as the central atom, instead of P.
The program can also apply two particualr sketch operations to whole objects. These can be used to make objects of balls (Sketch_cpk) or of sticks (Sketch_stick).
Several different types of sketches can be mixed in the same object. If you begin the definition of a new sketch without defining another object name, the old sketch will be overwritten.
Sketch_setup <option> <parameters>
Set up parameters for the different sketch options. After issuing the Sketch_setup command, you have to specify the sketch type for which to set up parameters; this also sets the current sketch type (same as Sketch_type). The number of parameters vary according to type. Default values are given in brackets.
· Tapeworm
Solid or line mode [solid]
Width of tapeworm in Å [1.5].
· Ribbon. Only available in line mode.
Width of ribbon in Å [1.5]
Number of lines in ribbon [7]. This parameter determines how many parallel curves are drawn along the polypeptide chain.
Number of segments per peptide [5]. This is the number of points that are generated on the curve between successive Ca's. Five segments gives a nice reasonable compromise between a smooth looking curve, and not too many vectors on the display.
Smoothness [2]. A value of 1 for the smoothness generates a Cardinal spline instead of a b-spline.
· Cylinder. The zone chosen to define a cylinder must be > 4.
Rendering mode [solid]. For cylinders, the rendering mode can be line, solid or smooth. Both solid and smooth modes generate solid cylinders, but in the former mode the cylinders are built up using polygons.
Radius [2.5]. This is the approximate radius of an a-helix.
Number of edges [24]. The number of facets on the polygonal approximation to the cylinder.
· Arrow.
Rendering mode [ solid]. For arrows, this can be line or solid.
Width of arrow in Å [2.5].
Thickness of arrow in Å [0.5].
Width of arrow head in Å [3.75]. This is the width at the base of the arrowhead. The default is actually 1.5 · the width of the arrow.
Number of segments ns [2]. This parameter determines how each segment of the arrow is subdivided.
Number of lines on face & side [7 3]. These parameters are used only in line mode. They can be used to give the arrows a solid look.
Smoothness s [2]. The s parameter determines the degree of interpolation of the central atom curve. This is done in order to give a smooth appearance of the arrow. The number of extra points inserted between two atoms is equal to 2s-1 where s is the smoothness parameter. Each of the 2s-1 segments are then subdivided into the number sub-segments defined by the 'number of segments' parameter ns. The number of polygons drawn depend very heavily on the two parameters s and ns. For picture taking, you might want a very smooth looking sketch, but when speed is important, a more coarse representation will probably do. The total number of polygons used to render an arrow of length N residues is
8(N-1) · (2s-1)ns + 5
· Spiral
Rendering mode [ solid]. For spirals, this can be line or solid.
Width of spiral in Å [2.5].
Thickness of spiral in Å [0.5].
Width of spiral termini in Å [0.5]. This parameter determines how wide the spiral is at the termini, where it normally joins up with other sketch elements.
Number of segments ns [2]. As for the arrow.
Number of lines on face & side [7 3]. As for the arrow.
Smoothness s [2]. As for the arrow.
The number of polygons used to draw a spiral of length N residues is:
8N · (2s-1)ns
· Rattler
Rendering mode [ solid]. For rattlers, this can be line or solid.
Radius of rattler [0.5].
Number of edges ne [7]. This parameter sets the number of facets.
Smoothness s [2]. As for the arrow.
Experimenting with the parameters may result in many interesting looking representations.
In solid rendering mode, the rattler is made up of tiny polygons. There can be quite a large number of polygons forming a rattler, and the performance of the computer my degrade considerably. If the length of the rattler is N, the number of polygons used in the rendering will be:
2N (2s-1) ne
· Stick
Rendering mode [ generic]. For sticks, this can be line, solid or generic.
· Sphere
Rendering mode [smooth]. For spheres, this can be line, solid or smooth.
Thesselation number [2].
In solid or line mode, O will generate spheres made of polygons. This is useful when making plots, since the current version of the plotting program oplot can't handle spheres yet. The thesselation number n determines how close an approximation to a sphere is made. The number of polygons is 2 · 4 (n+1) and is thus a vary rapidly growing function.
· Cartoon
Alpha helix: sketch type [spiral], colour [red], template name [ALPHA]
Beta strand: sketch type [arrow], colour [blue], template name [BETA]
Loop: sketch type [rattler], colour [yellow], template name [].
Other sketch types that could be chosen instead of the defaults are for example: cylinder for alpha helix, and tapeworm for loop regions. If the special colour 'molecule' is chosen, the sketch will be coloured according to the molecule's colour for each residue.
Sketch_object <object>.
Begin the definition of a new sketch object. This command is equivalent to the Object command for molecular objects.
Sketch_type <option>
Set the current sketch type (arrow, rattler, etc.).
Sketch_add <id two atoms> or < [mol] res1 [res2]>
Add a zone, with the current setup parameters, to the currently open sketch descriptor. Input can be given by picking on the display, or by entering the zone from the terminal. The sketch element appears immediately on the screen.
Sketch_undo
Undo the action of the last Sketch_add command. Repeating the command results in the removal of the sketch elements, with the most recent ones being removed first, i.e. you cannot undo an undo command.
Sketch_auto <mol> <zone>
This command allows you to generate a cartoon of the type invented in Uppsala, but popularized by Jane Richardson and made more accurately using computer graphics by Arthur Lesk and Karl Hardman. Sketch_auto uses the output of a previous Yasspa run, and generates and executes a macro called @cartoon. This macro is stored as a text data block in the O database, and it uses the current setting as defined in Sketch_setup. Therefore, if you do not like the appearance of the cartoon, you can change the parameters and run the macro again:
@cartoon
The colours and types of the cartoon are defined in the cartoon section of Sketch_setup.
sketch_stick <id an atom> or <object>
Unlike most of the other sketch commands, this is object oriented. Can be used to draw cylinders around the bonds of an object. If the real datablock .stick_radius exists, it's value is used for the radius of the cylinder. In this way, Sketch_stick can also be used to 'stickify' a C-alpha trace with thick cylinders. Both this command and Sketch_cpk keep the atomic colouring used in the defined object.Sticks can be drawn in line, solid or the computer's generic mode. Stick drawings, if they are complicated, don't rotate in real time on most workstations.
sketch_object <id an atom> or <object>
Converts an atomic object of bonds into a CPK object. This is essentially identical to CPK_object but without the options. It uses the same datablock .cpk_radii to obtain atomic radii for the spheres. It can, therefore, be used to construct 'real' CPK objects or in the creation of ball-and-stick objects by reading in suitable atomic radii. Two example files are provided in odat/cpk_radii.o and odat/radii.o, for large and small balls. Both this command and Sketch_stick keep the atomic colouring used in the defined object.CPK models can be drawn in line, solid or the computer's generic mode.Creating a spacefilling model of the entire molecule is likely to make most workstations go totally dead if you try to turn the dials. The best way to take a photo is to find the orientation first with a normal vector drawing, turn off everything, and then create the spacefilling model.
Draw tapeworms from residues A1 to A10 and A100 and A120, and connect these by a ribbon:
sketch_obj x
sk_set tape line 1.5
sk_add a1 a10
sk_add a100 a120
sk_typ ribbon
sk_add a10 a100
Make a ball-and-stick object of an object x :
obj x sphe 10 end
ske_stick x
read radii.o
ske_cpk x