rods is a preprocessor for ball-and-stick figures in the
Raster3D molecular graphics package.
rods [-h] [-b] [-radius R] [-Bcolor Bmin Bmax]
reads a PDB coordinate file, including COLOUR records as described below,
and produces a stream of Raster3D descriptor records on stdout. The file
produced by rods may be fed directly to render or it may be combined with
descriptor files produced by other Raster3D utilities.
To describe a simple bonds-only model coloured by residue type:
cat mycolours.pdb protein.pdb | rods | render > mypicture.png
render the same molecule as ball-and-stick:
cat mycolours.pdb protein.pdb | rods -b | render > mypicture.png
The input to rods consists of a single text file containing colour information
and atomic coordinates in PDB data bank format. Coordinates are
output as Raster3D descriptor records with colours and sphere radii assigned
according to the COLOUR records described below. Ball-and-stick figures have
atoms drawn at 0.2 * Van der Waals radius, connected by rods with
a default 0.2 Å
cylindrical radius. Atoms are connected if they lie closer to each other than
0.6 * the sum of their Van der Waals radii.
- Suppress header records in output. By default rods will
produce an output file which starts with header records containing a default
set of scaling and processing options. The -h flag will suppress these header
records so that the output file contains only object descriptors. This option
is useful for producing files which describe only part of a scene, and which
are to be later combined with descriptor files produced by other programs.
- By default rods will describe bonds only; the -b flag will
cause it to include spheres at the atom positions also, yielding a
- -radius R
- By default rods will draw bonds with a 0.2 Å cylindrical radius.
The radius option allows you to change the cylindrical radius.
- -Bcolor Bmin Bmax
- Assign colors based on B values rather than from atom or residue types.
Atoms with B <= Bmin will be colored dark blue; atoms with B >= Bmax
will be colored light red; atoms with Bmin < B < Bmax will be assigned
colors shading smoothly through the spectrum from blue to red.
By default the output file contains a set of header records as required by the
render program. The header is constructed to include a TMAT matrix
corresponding to the transformation matrix contained in file setup.matrix (if
it exists), or to the Eulerian angles contained in file setup.angles (if it
exists). Header records may be suppressed using the -h option.
Colours are assigned to atoms using a matching process, using COLOUR records
prepended to the input PDB file.
If no COLOUR records are present in the input file, atoms will receive
default CPK colors (C=grey, O=red, N=blue, S=yellow, P=green, other=magenta).
Raster3D uses a pseudo-PDB record type with COLO in the first 4 columns:
Note that the Red, Green, and Blue components are
in the same positions as the X, Y, and Z components of an ATOM or HETA record,
and the van der Waals radius goes in place of the Occupancy. The Red, Green,
and Blue components must all be in the range 0 to 1.
- Columns Contents
1 - 4 COLO
7 - 30 Mask (described below)
31 - 38 Red component
39 - 46 Green component
47 - 54 Blue component
55 - 60 van der Waals radius in Angstroms
61 - 80 Comments
The Mask field is used in the matching process as follows. First the program
reads in and stores all the ATOM, HETA, and COLOUR records in input order. Then
it goes through each stored ATOM/HETA record in turn, and searches for a COLOUR
record that matches the ATOM/HETA record in all of columns 7 through 30. The
first such COLOUR record to be found determines the colour and radius of the
In order that one COLOUR record can provide colour and radius specifications for
more than one atom (e.g., based on residue or atom type, or any other criterion
for which labels can be given somewhere in columns 7 through 30), the # symbol
is treated as a wildcard. I.e., a # in a COLOUR record matches any character
found in the corresponding column in an ATOM or HETA record. All other
characters must match exactly. Note that the very last COLOUR record in the input
should have # symbols in all of columns 7 through 30 in order to provide a
colour for any atom whose ATOM/HETA record fails to match any previous COLOUR
record. This idea of matching masks for colour specifications is due to Colin
The files setup.matrix and setup.angles, if they exist, affect the header
records produced by rods.
Ethan A Merritt
Back to top