RODS(1)

πŸ’… RODS(1) β€” the rods page, bestie edition πŸ’…

okay so this is the manual for rods, from the General Commands Manual section 1, and she's a Raster3D preprocessor for ball-and-stick models. yes you read that right, we're doing molecular rendering and we're doing it fabulously 🌸


✨ NAME ✨

rods β€” Raster3D preprocessor for ball-and-stick models 🧚


🌈 SYNOPSIS 🌈

rods [-h] [-b] [-radius R] [-Bcolor Bmin Bmax]

So like, rods reads a file describing atom colours and/or a PDB coordinate file, and it produces a file containing Raster3D descriptor records. The file rods spits out may be fed directly to render, or you can combine it with descriptor files produced by other Raster3D utilities. mix and match, it's giving collab energy 🫢


πŸ“ EXAMPLES πŸ“

Wanna describe a simple bonds-only model coloured by residue type? Say less:

cat mycolours.pdb protein.pdb | rods | render > mypicture.png

Wanna render that same molecule as ball-and-stick instead? Obsessed:

cat mycolours.pdb protein.pdb | rods -b | render > mypicture.png

πŸ‘‘ OPTIONS πŸ‘‘

  • -h β€” Suppress the header records in the output. By default rods produces an output file that starts with header records containing a default set of scaling and processing options. The -h flag suppresses those header records so your output file contains only object descriptors. This one is lowkey useful for producing files that describe only part of a scene, which you then combine later with descriptor files produced by other programs. very modular of you πŸ’…
  • -b β€” By default rods describes bonds only; the -b flag makes it include spheres at the atom positions too, giving you that ball-and-stick representation. the glow-up fr fr ✨
  • -radius R β€” By default rods draws bonds as cylinders with a 0.2A radius. The radius option lets you change that cylindrical radius. pick your vibe.
  • -Bcolor Bmin Bmax β€” Assign colors based on B values instead of from atom or residue types. Atoms with B <= Bmin get colored dark blue; atoms with B >= Bmax get colored light red; atoms with Bmin < B < Bmax get colors shading smoothly through the spectrum from blue to red. it's giving gradient 🌈

πŸ’– DESCRIPTION πŸ’–

The input to rods is 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 COLO records described below. Ball-and-stick figures have atoms drawn at 0.2 * VanderWaals radius, connected by rods with a default 0.2A cylindrical radius. Bonds are drawn for atoms which lie closer to each other than 0.6 * (sum of VanderWaals radii). 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 the file setup.matrix (if it exists), or to the Eulerian angles contained in the file setup.angles (if it exists). no cap.

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 receive default CPK colors: C=grey, O=red, N=blue, S=yellow, P=green, other=magenta. iconic defaults, honestly.

Raster3D uses a pseudo-PDB record type with the same basic layout as the above, but with COLO in the first 4 columns. Here's the column tea β˜•:

  • Columns 1 - 4 β€” COLO
  • Columns 7 - 30 β€” Mask (described below)
  • Columns 31 - 38 β€” Red component
  • Columns 39 - 46 β€” Green component
  • Columns 47 - 54 β€” Blue component
  • Columns 55 - 60 β€” van der Waals radius in Angstroms
  • Columns 61 - 80 β€” Comments

Note that the Red, Green, and Blue components sit 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. yes that's a hard requirement, not a suggestion πŸ™ˆ

The Mask field is used in the matching process like this: 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. first come, first served, periodt.

So 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 used as a wildcard. I.e. a # in a COLO record matches any character in the corresponding column in an ATOM or HETA record. All other characters must match literally to count as a match. 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 β€” that's your catch-all bestie, don't skip it πŸ’€ This idea of matching masks for colour specifications is due to Colin Broughton. king behaviour πŸ‘‘


πŸ¦‹ ENVIRONMENT πŸ¦‹

The files setup.matrix and setup.angles, if they exist, affect the header records produced by rods. yes, they can just... show up and change things. main character energy.


⭐ SOURCE ⭐

web URL:

http://www.bmsc.washington.edu/raster3d/raster3d.html

contact:

Ethan A Merritt
University of Washington, Seattle WA 98195
merritt@u.washington.edu

🌸 SEE ALSO 🌸

render(l), ribbon(l), balls(l) β€” the whole friend group 🫢


πŸŽ€ AUTHORS πŸŽ€

     Ethan A Merritt

and that's the whole page, bestie!! πŸ’œ this one's Raster3D, dated 8 May 1999, so it's vintage and we love her for it. slay, stay rendered, and always match your masks. πŸ’…βœ¨