[Chimera-users] Showing/Hiding/Fading
Elaine Meng
meng at cgl.ucsf.edu
Tue Jun 12 10:31:05 PDT 2018
Hi Gustaf,
Chimera uses some default rules as to what set of atoms is enclosed in the same surface, but you can specify different sets to enclose without using “split”. E.g.
surfcat blob #0:17.het
surface blob
… where “blob” is just the name you gave it. Surface categories and “surfcat” command explained here:
<http://www.rbvi.ucsf.edu/chimera/docs/UsersGuide/midas/surface.html#surfcats>
<http://www.rbvi.ucsf.edu/chimera/docs/UsersGuide/midas/msms.html>
Splitting and combining creates and removes models, which may result in atoms no longer “knowing” which surface they go with, which may be the problem. I wouldn’t use that approach simply to control the display. I’d try using “surfcat” as mentioned above, or you could simply open your structure twice and delete everything except :17.het from one copy. Then hide and show parts or all of model #0 or model #1 as needed.
I don’t really understand your script. Seems like if you combine #0.1 and #0.2 and then close them, you would no longer have a model #0.1. You can see what models you have by looking in the Model Panel (open from Favorites menu). Also you can just hide/show the surface with
~surface
surface blob
~surface
surface #0:17.het
… rather than trying to make it 100% transparent. “~surface” does not delete the model, it just hides the surface of the specified set of atoms.
You can also hide/show the model as a whole, same as using the “S”hown checkbox in the Model Panel. It is a little trickier to hide a molecular surface but not the atomic model since they have the same model number, but the fancy command to do it is something like:
~modeldisp #0 & ~ @*
(undisplay model #0 that doesn’t have any atoms)
I hope this helps,
Elaine
-----
Elaine C. Meng, Ph.D.
UCSF Chimera(X) team
Department of Pharmaceutical Chemistry
University of California, San Francisco
> On Jun 12, 2018, at 1:07 AM, Gustaf Olsson <gustaf.olsson at lnu.se> wrote:
>
>
> Hello Chimera users and developers, I’m back again.
>
> So my movie rendering is progressing though I have of course run into more problems. I have one PDB file open, I need to create a surface around one molecule that is close to other molecules so running the surface command directly does not work as intended. I therefore have to split the PDB file and calculate a surface around a single molecule. All is well, however after this I run into some problems trying to clean up the script. I assume that I am defining the modelID incorrectly though I cannot figure out how.
>
> The following works:
>
> split #0 atoms :17.het
> surface probeRadius 0.5 vertexDensity 20.0 :17.het
> coulombic -5 red 0 white 5 blue :17.het
> wait
> combine #0.1-2 modelId 0 close true
> surftransparency 100 #0.1
>
> This splits the model putting one residue (17) in a separate model, I calculate the surface without issue, color it by coulombic charges. I then have to combine the models (the single residue (17) and the rest of the residues) and close the old “residue 17” model. I then need to hide the newly created surface to display it at a later point in the movie. The script above works, however this does not seem very neat.
>
> I have experimented with different other commands, including transparency
>
> transp 100,s #0.1
>
> Which also works well, as long as I split and combined the models. However, I have to combine the model for this to work!
>
> split #0 atoms :17.het
> surface probeRadius 0.5 vertexDensity 20.0 :17.het
> coulombic -5 red 0 white 5 blue :17.het
> wait
> combine #0.1-2 modelId 0 close true
> surftransparency 100 #0.1
>
> Everything but hiding the surface works.
>
> transp 100,s #0.1
>
> This does not work either in this case. I am assuming that I am not defining the model ID correctly for the surface and this is why I cannot hide it? I also tried using surfcat:
>
> surfcat templ :17.het
> surf probeRadius 0.5 vertexDensity 20.0 templ
> coulombic -5 red 0 white 5 blue templ
> wait
> surftransparency 100 templ
>
> or any of the following:
>
> surftransparency 100 #0
> surftransparency 100 :17.het
> surftransparency 100 #0:17.het
> transp 100,s #0
>
> Hides the created surface, what am I doing wrong in defining the surface to hide it and show it again?
>
> Thank you for any input and best regards
> // Gustaf
More information about the Chimera-users
mailing list