Hi Tom, 

Thanks for the response. I have downloaded the daily build and now it works. 
As far as I know the problem also happens in chimera (that is why I had to use my script). 

Best regards

Moisés

El 7 abr 2022, a las 21:17, Tom Goddard <goddard@sonic.net> escribió:

Hi Moisés,

  That is a bug in ChimeraX.  It will be fixed in tomorrow's ChimeraX daily build.  Both of the following should work

volume all sdLevel 2
volume #1-3 sdLevel 3

but the code processed each volume in turn and due to a bug remembered some of the level parameters from the previous volume.

  Thanks for reporting the problem!

Tom


On Apr 7, 2022, at 2:03 AM, Moisés Maestro López via ChimeraX-users <chimerax-users@cgl.ucsf.edu> wrote:

Good morning, 

I would like to set the threshold of multiple CryoEM Volumes (10-20) at the same time, and I would like to put all of them at the same sdlevel.

I use the command:

volume #1 sdLevel 2

But this only work for one volume, if I use 

volume all sdLevel 2, or volume #1 #2 #3 sdLevel 2

It does not work and the threshold are random. 

In chimera I had a script that I use for doing that but I have not found the way to do it in ChimeraX. In Chimera, I normally called the script with an alias. 



alias ^allsd runscript ~/chimeraScriptSD.py

allsd 3

And the script (chimeraScriptSD.py) was:

import sys
import chimera  
from VolumeViewer import Volume

mlist = chimera.openModels.list(modelTypes=[Volume])

sdlevel = 2

if len(sys.argv)>1:
    sdlevel = sys.argv[1] 

for m in mlist:
chimera.runCommand('volume '+str(m)+' sdlevel '+ str(sdlevel))


But I do not know how to do this in ChimeraX. The key point I do not know how to do is to do a loop that say “for any volume in all the opened volumes”.

Thanks for your help

Moisés



_______________________________________________
ChimeraX-users mailing list
ChimeraX-users@cgl.ucsf.edu
Manage subscription:
https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users