
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