[chimera-dev] adjust contour to mass

Tom Goddard goddard at sonic.net
Mon Nov 25 13:03:55 PST 2013


Hi Martin,

  Thanks for the script.  This is something others have requested.  So I added it to Chimera today, in tonight's daily builds.  

	volume #0 encloseVolume 150000

Uses bisection of the density value until the enclosed volume differs from the target volume by less than 1e-5 of the target volume. Uses at most 30 bisection steps.  Can set the level for multiple maps at once

	volume #0-5 encl 250000

Can specify multiple volume values to get multiple surfaces, for example

	volume #0 enclose 150000,300000

The enclosed volume is in cubic Angstroms if your map grid spacing is in Angstroms.  You can report the current enclosed volume with the "measure volume" command

	measure volume #0

Thanks for figuring out code to do this.  I used a slight variation of what you did.

  Tom



On Nov 23, 2013, at 8:41 AM, Martin Turk  wrote:

> Hi,
> 
> added another step for fine tunning and reduced number of steps, now it works much faster. Maybe there is a better way of doing the threshold steps. I overshoot up, down then up again, but it works :)
> 
> Best,
> Martin
> 
> 
> 
> On 23.11.2013 16:29, Martin Turk wrote:
>> Hi Shawn, Tom, Eric,
>> 
>> thanks a lot for the help and for pointing me in the right direction. Finally I had some time and I've come up with a script that adjusts the volume level threshold from the active model to all opened models. For one model it's not a problem, but when one wants to adjust the levels for a series of volumes (for example after a 3d classification run in relion), it becomes cumbersome to do so for the ~50 models/run. Maybe other EM users find it handy, that's why I'd like to share it.
>> It took me quite some time to find the right functions, which do the actual measurement. Got lost in the OpenModels.h, volume.py, volumedialog.py, and the gui scripts. The rest was easy :-) Thanks again for your help!
>> 
>> Best,
>> Martin Turk
>> 
>> Beckmann Lab
>> LMU Gence Center Munich
>> 
>> 
>> On 18.11.2013 20:49, Eric Pettersen wrote:
>>> To supplement Shawn and Tom's answers, obviously it would be best if everything were documented, but in the absence of that if there is a command that implements something similar to what you want to do, you can chase it down in the code base by:
>>> 
>>>  a) looking at Midas/__init__.py and see if it's one of the functions in there (they're arranged approximately alphabetically by command name), and if it's not in there…
>>>  b) grep share/*/ChimeraExtension.py for the command name to find which module defines the command.  Then look in that module's ChimeraExtension.py to see what file/method in the module implements the command.
>>> 
>>> --Eric
>>> 
>>>  Eric Pettersen
>>>  UCSF Computer Graphics Lab
>>> 
>>> On Nov 18, 2013, at 9:06 AM, Shawn Waldon <swaldon at cs.unc.edu> wrote:
>>> 
>>>> Hi Martin,
>>>> 
>>>> I am not aware that there is a python library reference.  If there is, I would appreciate a pointer to it as well.  Here are a few links I have found helpful when writing python code for Chimera:
>>>> 
>>>> This shows how to execute command line commands, it may be what you want:
>>>> http://www.cgl.ucsf.edu/chimera/data/downloads/1.8/docs/ProgrammersGuide/basicPrimer.html
>>>> 
>>>> This goes through how to make plugins and such, but is helpful since the examples show more of the API:
>>>> http://www.cgl.ucsf.edu/chimera/docs/ProgrammersGuide/Examples/index.html
>>>> 
>>>> HTH,
>>>> Shawn Waldon
>>>> 
>>>> 
>>>> On Mon, Nov 18, 2013 at 9:10 AM, Martin Turk <turk at lmb.uni-muenchen.de> wrote:
>>>> Hi,
>>>> 
>>>> I am trying to write a simple python script that will iterate over opened volumes and adjust the contour level to a certain mass. This shouldn't be more than ~10 lines. However, I can't find chimera's python library reference to look up the class structure and operator names.
>>>> 
>>>> Does someone know how, for example, set volume level to 0.01 would look like in python?
>>>> in the command line it would be for all models: volume #0-99 level 0.01
>>>> 
>>>> for models I've found chimera.openModels and then you can list over them, but that's about it.
>>>> 
>>>> Thanks,
>>>> Martin Turk
>>>> _______________________________________________
>>>> Chimera-dev mailing list
>>>> Chimera-dev at cgl.ucsf.edu
>>>> http://www.rbvi.ucsf.edu/mailman/listinfo/chimera-dev
>>>> 
>>>> 
>>>> 
>>>> -- 
>>>> Shawn Waldon
>>>> Graduate Research Assistant
>>>> Department of Computer Science
>>>> University of North Carolina at Chapel Hill
>>>> swaldon at cs.unc.edu
>>>> _______________________________________________
>>>> Chimera-dev mailing list
>>>> Chimera-dev at cgl.ucsf.edu
>>>> http://www.rbvi.ucsf.edu/mailman/listinfo/chimera-dev
>>> 
>> 
> 
> <chimera-volbymass3.py>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://plato.cgl.ucsf.edu/pipermail/chimera-dev/attachments/20131125/b32180e0/attachment.html>


More information about the Chimera-dev mailing list