[chimerax-users] Setting the same sdLevel threshold for several volumes
Tom Goddard
goddard at sonic.net
Fri Apr 8 11:44:05 PDT 2022
Great! Thanks for reporting the problem. I fixed it in Chimera today too. But I encourage everyone to use ChimeraX. Usually we don't do fixes to Chimera anymore unless they are critical, but it only needed a few lines of code changed just like in ChimeraX so I fixed Chimera too.
Tom
> On Apr 8, 2022, at 8:49 AM, Moisés Maestro López <mmaestro at cnb.csic.es> wrote:
>
> 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 at sonic.net <mailto:goddard at 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 at cgl.ucsf.edu <mailto:chimerax-users at 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 at cgl.ucsf.edu <mailto:ChimeraX-users at cgl.ucsf.edu>
>>> Manage subscription:
>>> https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users <https://www.rbvi.ucsf.edu/mailman/listinfo/chimerax-users>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.rbvi.ucsf.edu/pipermail/chimerax-users/attachments/20220408/7941d59c/attachment.html>
More information about the ChimeraX-users
mailing list