balls [-h]balls reads a file describing atom colours and/or a PDB coordinate file and produces a stream of Raster3D object descriptors on stdout, one sphere for each atom in the input file. The file produced by balls may be fed directly to render or it may be combined with descriptor files produced by other Raster3D utilities.
cat mycolours.pdb protein.pdb | balls | render > mypicture.avsTo include a pre-selected view matrix with the same model:
cp view1.matrix setup.matrix cat mycolours.pdb protein.pdb | balls | render > mypicture.avsTo prepend header records describing a pre-selected scale and view:
cat mycolours.pdb protein.pdb | balls -h > balls.r3d cat header.r3d balls.r3d | render > mypicture.avs
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).
Colours are assigned to atoms using a matching process, using COLOUR records prepended to the input PDB file. Raster3D uses a pseudo-PDB record type with COLO in the first 4 columns:
The Mask field is used in the matching process as follows. First the program reads in and stores all the ATOM, HETA, and COLO records in input order. Then it goes through each stored ATOM/HETA record in turn, and searches for a COLO record that matches the ATOM/HETA record in all of columns 7 through 30. The first such COLO record to be found determines the colour and radius of the atom.
In order that one COLO 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 COLO 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 COLO 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 COLO record. This idea of matching masks for colour specifications is due to Colin Broughton.
Several files of COLO records, including one based on Bob Fletterick's ``Shapely Models'' and another mimicking CPK model parts, are provided as samples.