[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


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.


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:


   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.


> 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