Ribbons and Other Image Issues (May-Aug 2015)
Disclaimer: Pymol descriptions below are based on its wiki and other
online information, including published images, as opposed to actual usage.
2016 update below.
Integration of ribbons with related representations and measurements
Ribbons would ideally be integrated with tubes,
pipes and planks, and perhaps axes.
In Chimera1, worms are already specialized ribbons.
By integration I mean that cylindrical pipes should be
alternative representations of the protein helical secondary structure
elements (SSEs), and planks are
alternative representations of protein strand SSEs, and they both
replace ribbons for those SSEs rather than being shown independently of them,
which is confusing.
It would be preferable to allow for planks with (smoothed) curvature,
as twisted sheets with curved strands are the rule rather than the exception.
Further, it has been suggested
that cylinders could also be curved; I have less of an opinion on that,
but supercoiled helical bundles are also not uncommon.
Integration with axes means that SSE axes could be used in distance
and angle measurements, at least in the case of noncurved representations.
If curved-cylinder and curved-plank representations are allowed,
coexisting straight-line axes would be needed for such measurements.
Pymol uses the term cartoon, and in such representations,
cylinders and ribbons are alternative displays of protein helices:
Chimera's ring fill and abstracted nucleotide representations
could also fall within the cartoon terminology, as in Pymol, or maybe
nucleotides slabs/tubes/ladders should remain a distinct set of options,
and ring fill and bond multiplicity display (e.g. aromatic)
lumped with atom/bond representations rather than ribbons/cartoons.
Then only the items suggested for integration above would be
lumped together as cartoon.
Our current implementation of pipes/planks and nucleotides as VRML models is
limiting in several ways, such as subpart selection and transparency rendering.
I would also like to see the Chimera1 concepts of ribbon representation
(cross-section) and scaling (secondary-structure-specific dimensions)
combined into a single concept of style in Chimera2.
The separation is confusing. See Chimera2 command-structure thoughts.
Ribbon path and smoothing
We also want the sidechains to connect nicely to the ribbon, but there
is a tradeoff with making the ribbon path look smooth. If the ribbon path
is smooth, it deviates from the real positions of the backbone atoms and
the sidechain attachments can be too long or too short. There will need
to be options for smoothing or not smoothing. We already have these in
Chimera, but surely there are many different ways of splining and smoothing.
In Chimera, cardinal spline with strand-smoothing is a reasonable compromise,
but I often see weird kinks and candy-wrapper-like twists
(top right and far right; far right molecule is 4r0b from
example 2).
This twisting has been fixed (b40549 30 Apr 2015, bottom right, ticket
13919),
but it's still not possible to get the strands very smooth.
I might like for strands to look like B-spline and helix/coil to look like
cardinal spline. Currently the spline is set for a whole molecule model.
Pymol has options to (independently) smooth or not smooth
loops, strands, and helices:
See also:
User Oliver Clarke's ribbon/cartoon suggestions:
Pymol popularity for images
I see a huge number of Chimera citations where Chimera is used for some
analysis but Pymol is used for most or all of the images.
Most Pymol ribbon images I see have non-smoothed loops but smoothed strands.
I'm not particularly crazy about the fancy (beaded-edge) ribbons, which seem
to be gradually decreasing in prevalence.
I believe the popularity of Pymol vs. Chimera for image purposes arises from:
- good connection of sidechains to (default) ribbon path;
our cardinal spline option is recent and not well known. Chimera
ribspline and ribbackbone settings can't be applied
only to certain residues, whereas Pymol's
sidechain helper allows suppressing cartoon-smoothing
for specific residues.
[example 1]
- crisp appearance of boundaries, as if there were thin silhouettes,
but faded out by depth-cuing mist and seemingly less quirky
(Chimera silhouettes are subject to maximum effective linewidth, are not
depth-cued, and sometimes show up in weird places)
[example 2]
- apparently it's easy to make all kinds of representations transparent
without otherwise changing their colors, to de-emphasize them without
removing the structural context of the parts one wishes to emphasize
(Chimera can do this now, but except for surfaces, only with the relatively
recent transparency command)
(examples: Fig 5B in
Nguyen et al. 2015,
Fig 3B,D,E in
Schaefer et al. 2015)
- other transparency problems in Chimera, especially if not using
single-layer, which is also relatively new (although default)
- good high-res rendering of dotted and dashed lines including 3D balls
and capsules (Chimera pseudobond rendering has maximum effective linewidth,
no 3D dots or dashes, and its raytracing is not WYSIWYG in dot/dash appearance)
[example 4]
- built-in raytracing; Chimera's interactive shadows are recent,
and its connection to Povray is not only slow but doesn't produce good results
(too much contrast IMO, and probably several other factors); based on
their Pymol experience, people often think the Chimera-to-raytracing
approach will give them the nicest images, when they'd be a lot better off
just using the interactive shadows, or no shadows
- especially with shadows on,
the Chimera default lighting is harsher and more contrast-y
than what I see in most Pymol images, but it is difficult to optimize
by fiddling with our current parameters; decreasing the contrast helps,
but tends to make everything look washed out
[examples 1-3]
- Pymol has aesthetically pleasing molecular surfaces that are smoothed
relative to the Richards/Connolly molecular surface
(Chimera surfaces sometimes look like marbles stuffed into an elastic sack,
whereas Pymol surfaces look slightly melted); maybe Pymol has the Connolly
surfaces too, or the amount of smoothing is tunable, but I don't know;
there is probably a similar tradeoff as with ribbon smoothing,
since occasionally I'll see Chimera used for some
molecular surface images even though Pymol is used for the ribbon ones
[example 3]
- many nice plugins for Pymol visualization of results from
other analysis software such as
CAVER
(shows tunnels and pockets as nice enclosed surface blobs, see
example images;
you don't get that with our CASTp interface, which shows patches of the
existing molecular surface, unless the pocket is completely enclosed by
molecular surface). The high number of plugins is due at least partly
to Pymol's popularity, and maybe their plugin API documentation is better.
- obviously Chimera, VMD, Pymol etc. each has things the others
do not, but below are some graphical features
of Pymol that are not available in Chimera; I don't know how big a factor
these are in its popularity
- ...and not to be underestimated, historical contingency: that is,
origins of the program and entrenchment in the crystallography community,
members of which are able to judge what is an accurate yet esthetically pleasing
representation (as opposed to people who just want to run docking and
say they have designed a drug, or who have isolated a functionally important
mutation by genetics and then need to show it on a structure... especially
from the “drug designers,” we see some cringeworthy images
in which the original image has been stretched, changing its aspect ratio).
It is certainly possible to make a bad Pymol image, but structural biologists
know better.
Look at any issue of Structure or Acta Cryst from the last few years and the
vast majority of atomic-structure images will be Pymol.
Examples
Example 1. Detached sidechains in Chimera.
Left: Pymol Fig 3 in
Ben-David et al., JMB 427:1359 (2015),
middle: Chimera B spline (default,
session)
showing detached sidechains, right: Chimera cardinal spline.
Apparently they hand-labeled the figure, since the top two distances are
swapped. There are some differences in secondary structure assignments
even though I used the structure deposited by the authors.
Backbone atoms of residues 166,185,186 are shown along with ribbon,
so I had to use ribbackbone in Chimera
(applies to whole model, not individual residues).
Note some sidechains, especially the Asn near the bottom right,
are floating away from the ribbon with B spline (middle).
I colored the distance monitors black; I tried using dotted lines,
but there was too much space between the “dots.”
Another nondefault setting is shadows, but I don't recommend them for
ribbons/sticks anyway. They seem more distracting in
Chimera than in Pymol. I didn't use silhouettes in Chimera;
the frontmost items may be a bit more clearly demarcated in Pymol.
|
|
|
|
Example 2. Another ribbon spline example, plus interaction
of depth-cuing and silhouettes. Left: Pymol Fig 2 in
Schiefner et al. Biochem J 266:95 (2015),
top middle Chimera thin silhouettes with depth mist,
default lighting, default ribbon spline,
top right: same as previous except shininess reflectivity set to 0
(session),
bottom middle: same as previous except cardinal spline,
bottom right: same as previous except cardinal spline smooth strand.
It was hard to reproduce the views with the slightly different ribbon path
than in Pymol, and slightly differing secondary structure assignments** and
different residue at top left even though I used the PDB structure deposited
by the authors.
I also tried to get similar colors but they aren't exactly
the same. Probably a lot of lighting things are different, but I didn't mess
with it other than to turn off reflectivity. The Pymol image probably has
more ambient lighting (less contrast).
Note Chimera silhouettes are not faded by the depth-cuing mist.
If I were just making a ribbon/stick figure in Chimera instead of trying
to reproduce a Pymol figure, I'd turn off both shadows and depth-cuing, and
probably also decrease the contrast in addition to reflectivity (example).
It is a matter of taste and artistic judgement, however.
** Later discovered that what Pymol shows as broader ribbon segments are
shortened on either end from the corresponding SSE residue ranges in the
input PDB file (details...).
|
|
|
|
|
|
Example 3. Molecular surface and lighting.
Left: Pymol (albeit uncited) Fig 6A in
Ahuja et al. Structure 23:713 (2015),
molecular surface of 4nnp chain A,
right: Chimera molecular surface, vertex density 10, shadows,
lighting defaults (session).
Note the increased ruggedness of the true (or true-ish)
Connolly surface in Chimera compared to the smooth molecular
surfaces I usually see in Pymol images. Even in the best case (vertex
density high enough to avoid obvious pointiness and angles) it is obvious
that there are many more specular highlights on the Chimera surface.
I didn't bother with trying to match colors or lighting directions.
Again, the lighting seems a bit more harsh in Chimera.
|
|
|
Examples of things not in Chimera1
More Cartoon Thoughts & Issues (Aug 2016 onward)
- The following ribbon-style presets would be very convenient:
- default - the initial defaults of all style parameters.
We could continue to adjust what those values should be, however.
- licorice - width and thickness 1.0, no arrows,
no cylinders, all xsect oval/round (facet false sides 12).
If my earlier idea of simply giving a preset name
as an argument to cartoon style won't work, we could have
a separate cartoon preset subcommand to list and apply presets.
Still, something like:
cartoon style model-spec save presetname
could be used to save the cartoon style settings of a model to define a preset.
- Perhaps the orientation (C=O) of the C-terminal residue in a helix
should be ignored since its C=O is beyond the SSE anyway, i.e.
its participation in helix H-bonding is from its N-H.
Examples: 2gbp :58,225,274; 3fx2 :147,148; 5chz :485
Analogous situations can occur at the end of a strand or at a bulge within a strand, where the C=O (actually the CONH unit forming the subsequent peptide bond) is not participating in the sheet H-bonding.
Examples: 2gbp :9,61,176,147,210,234,251; 3fx2 :122-124; 3cla :176-179
- Testing cartoon orientation methods...
compared to the guides method (default),
- curvature method slightly improves twists at helix ends,
e.g. 2gbp 58,
but some other helix ends may be a bit worse, e.g. 2gbp 95, and it definitely
gives very bad strand orientation and increases strand ripples, with twists
at 2gbp 206, 254
- atoms method improves twists at helix ends, e.g. 2gbp 58, but some
other helix ends may be a bit worse, e.g. 2gbp 95, and it increases strand
ripples and twists (2gbp 173, 253) compared to the guides method, bad
orientation especially for short strands, e.g. 2gbp 296-298
- peptide method looks like it might be better for strands, but
still flips at beta-bulges like the 3fx2 example mentioned above
(strand :120-129 has an obvious twist).
The helices seem to have basically the same problems, mostly at the ends;
guide and peptide both produce tilts away from the idealized cylinder,
but in opposite directions. The image below (click to enlarge) shows
guide orientation in tan, peptide orientation in light blue,
STL helix axes from Chimera1 gray:
Alas, guide looks better than peptide for most of the short
helices in 1a0s, which are essentially all ends. See also 2xsx.
It may be that the only way to get really nice idealized helix ribbon is to
calculate an axis and then define the ribbon plane as normal to that axis.
Maybe this would work for your bendy-cylinder axes as well as straight
cylindrical ones (such as from Chimera1). 2gbp helix axes from Chimera1:
2gbp-axes.stl
2gbp-axes-25.stl (fatter)
- For nucleic acids, I believe most programs use P as the trace and
ribbon-defining atom, with provisions to use another atom at terminal
residues lacking P... is this something we should consider?
- looks like Pymol has
cartoon nucleic acid mode
options of which atoms define the ribbon path; default is apparently
P plus O3' on the 3' end
- ...although this discussion
from 2005 suggests it originally used only P
- 3DNA image shows use of P
Cartoon-related bugs:
- gaps at ends of tethers - fixed Aug 12 or thereabouts by TG
- #348 1a0s no ribbon, runtime error: unsupported transition (also 1ejg)
- fixed
... revealing other issues:
- 1ejg example of "microheterogeneity" diff residues in same position
- 1a0s some residues marked as both helix and strand (/R:316)
- will show as coil
- #392 round ribbon normals not interpolated for oval shape and thus look
too fat and bulgy - fixed