[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