[Chimera-users] need coordinates from volume data
Tom Goddard
goddard at sonic.net
Wed Feb 23 10:36:38 PST 2011
Hi Terry,
The problem here is that the "pockets" found by CASTp are generally
not completely enclosed -- they have holes to the outside. Elaine talks
about this in another chimera-users message
http://plato.cgl.ucsf.edu/pipermail/chimera-users/2010-March/004961.html
So how do you define what points are inside the pocket? Elaine suggests
you can use the Surfnet tool in Chimera as an alternative to CASTp.
If you had a surface completely enclosing the pocket you could then
use the Chimera "mask" command to set to zero all volume data values
outside that surface.
http://www.cgl.ucsf.edu/chimera/docs/UsersGuide/midas/mask.html
Then with that masked volume you could use a script like the one I gave
you to sum up the volume values. I've updated the script readvol.py
illustrating that on the Chimera scripts web page:
http://plato.cgl.ucsf.edu/trac/chimera/attachment/wiki/Scripts/readvol.py
If you do try surfnet to get the bounding it will usually give
several blobs but they are all part of one surface. To split each blob
so it can be separately selected use keyboard shortcut "Sc" (split
connected) which can be run as Chimera command "ac Sc". The appearance
of the surfnet surfaces won't change but then you'll be able to select
just the blob you want with a ctrl-click of the mouse and then use the
mask command
mask #3 sel
to mask volume #3 to that selected surface.
Other trickery to get the enclosing surfaces is possible. You could
compute the solvent excluded molecular surface for the molecule (Actions
/ surface / show) then mask the volume, setting only points inside that
surface to zero
mask #3 #0 full true invert true
here with #3 being the volume and #0 the surface. You could then mask
that volume to say another surface that is a low resolution surface of
the molecule (obtained using the molmap command), including only the
volume points inside that low resolution surface. Then you could use
Volume Eraser to selectively erase anything that is not in your pocket
of interest, defining the pocket bounds how you like.
The possibilities are endless, but you see the main problem is that
pockets or voids generally aren't fully enclosed.
Tom
> Hey Tom,
>
> Thanks! That worked perfectly :O) Have a new, similar issue.
> I am now interested in getting the electron density contained within a
> void. In particular, I have analyzed a favorite structure using castp.
> I am now interested in finding out the electron density (integrated or
> summed) within the surface that describes the void. Is that possible as
> well?
>
> Terry
>
> On 2/16/2011 1:56 PM, Tom Goddard wrote:
>> Hi Terry,
>>
>> I've attached some example Python code to find the (x,y,z)
>> coordinates of volume grid points. The output after opening this
>> file in Chimera (shown in the Reply Log (menu Favorites / Reply Log)
>> looks like
>>
>> read map 1a0m.omap
>> data size 91 95 82
>> xyz for index 15 7 13 is 2.96 -7.4 -1.46875
>> data value at ijk 15 7 13 is -0.381388
>>
>> I put this example on the Chimera Python scripts page as readvol.py.
>>
>> http://plato.cgl.ucsf.edu/trac/chimera/wiki/Scripts
>>
>> Tom
>>
>>> Hey Everyone,
>>>
>>> I'm am trying to do some unorthodox analysis of volume data
>>> using a script. As part of the analysis, I need to access the x,y,z
>>> coordinates of each of the points of a ccp4 map. How would I go about
>>> that in Chimera scripting once the data is read in?
>>>
>>> Thanks,
>>> Terry
>>>
>>
More information about the Chimera-users
mailing list