[chimera-dev] adjust contour to mass

Martin Turk turk at lmb.uni-muenchen.de
Tue Nov 26 03:26:40 PST 2013


Hi Tom,

that's great! and bisectioning is the way to go :)

Best,
Martin


On 25.11.2013 22:03, Tom Goddard wrote:
> 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 
>>>> <mailto: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 <mailto: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 <mailto: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 <mailto:swaldon at cs.unc.edu>
>>>>> _______________________________________________
>>>>> Chimera-dev mailing list
>>>>> Chimera-dev at cgl.ucsf.edu <mailto: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/20131126/0a04059e/attachment.html>


More information about the Chimera-dev mailing list