[Chimera-users] Question about "Color Zone" and "Render by Attribute"
meng at cgl.ucsf.edu
Tue Feb 4 09:41:58 PST 2014
One correction to Tom's excellent answer. The workaround example command had the zone keyword omitted, should be:
scolor #0 zone protein range 5 autoUpdate false
And just to repeat what he said, you would have to re-apply the Render by Attribute (or "rangecolor") coloring to the rest of the molecular surface after that.
On Feb 3, 2014, at 3:11 PM, Tom Goddard <goddard at sonic.net> wrote:
> Hi Heige,
> The main thing that makes color zone look different from render-by-attribute when coloring by hydrophobicity is accidentally including waters or ions in the color zone. Waters and ions will not be used to color the molecular surface by render-by-attribute but they will be used by color zone if you mistakenly include them. To avoid this mistake use command "select protein" (or menu Select / Structure / Protein) to select only the protein and not the solvent before using color zone. Or if you are doing the color zone by command use "scolor #0 zone protein range 5". There will still be small differences in the coloring because the surface points associated with each atom used by render by attribute is not based on nearest atom. The torroidal regions of the surface between two atoms are assigned to those two atoms even if a third atom is closer. As the two images I attached show (one with color zone, one with render by attribute) the differences are small. Another factor is how small the triangles are that make up the surface. I set the surface vertex density to 10 instead of the default 2 for these images to give smoother boundaries between color patches (used Selection Inspector, MSMS Surface, vertex density 10).
> The only way to color the clipped surface is to use color zone. The render by attribute association of atoms to surface points does not apply to clip surfaces. I used the surface capping dialog (Tools / Depiction / Surface Capping) to increase the subdivision on the cap (to 5) to get smoother boundaries.
> If you want the clip surface colored using color zone and the rest of the surface by render by attribute there is a trick that will do that. Color the whole surface with color zone using the command "scolor #0 protein range 5 autoUpdate false". The key option here is "autoUpdate false". The color the surface using render-by-attribute. It will leave the cap colored as before. If you leave out the autoUpdate option it will default true and then the render-by-attribute coloring will clear the coloring on the cap. This is because render by attribute sends a message saying it has taken over coloring the entire surface and if autoUpdate is true for color zone then it gets that message and clears its coloring. This is a pain. Basically Chimera does not allow you to color different parts of a surface (clip plane and non-clip) using different methods without this kind of trickery.
More information about the Chimera-users