Tim and others,

Regarding the depiction of protein cavities as per:

http://www.biochem.ucl.ac.uk/~roman/surfnet/examples/3dfr_site.html

Good news! I tried a bunch of ideas this weekend, and then this morning 
I hit on the solution: The way solvent surfaces are generated in Jmol is 
probably unlike any other program. A grid of values is calculated just 
like for a molecular orbital, and then that grid is processed for the 
isosurface through the value 0. So values on the inside of the surface 
are < 0 and values on the outside are > 0. After quite some trial and 
error, I finally realized this morning that the key is those positive 
"outside" values. What we need to do to render cavities is (a) identify 
all grid points that have positive values AND are within the overall 
"envelope" of the protein and (b) use the value that is there for the 
RADIUS of a sphere at that point. That's your "foam filling"! Since each 
value measures the distance from the grid point to the nearest surface 
point, placing a sphere of that radius at that point perfectly "fits" 
the hole. It isn't important to fill a cavity with the perfect sphere -- 
the end goal is to turn around and use these grid-based spheres for 
ANOTHER solvent-surface calculation, this time as though we were trying 
to find the solvent surface around those "cavity" points.

So then the other trick is how to identify just the cavity points and 
not all the other points far out from the molecule. The solution here 
uses the geosurface business that I set up. Actually, I sat down and 
cleaned up dots and geosurfaces so that their calculation could be used 
more generally.  Here's how we identify the "envelope" of a protein:  
First we create a "dot surface" 10 angstroms out from all atoms. What 
you find is that only the outer atoms contribute to this -- all the 
other atoms are hidden. Then the distance from each "foam cavity sphere" 
to the nearest surface dot is measured. If this distance is < 10, then 
we can throw out the point, because the point must be "outside" the 
molecule. But if the distance is > 10, then that point must be "within" 
the molecule. We keep it.

What do you know? Perfect rendering of cavities as if they themselves 
were atoms. Or, at least I hope you think so. Here's a jpg to get your 
appetite whetted:

http://www.stolaf.edu/academics/chemapps/jmol/docs/misc/3dfr-a.jpg
http://www.stolaf.edu/academics/chemapps/jmol/docs/misc/3dfr-b.jpg

The first was done using:

load =1dfr;select protein;spacefill off;wireframe on;color (ndp) 
blue;color (mtx) red

isosurface select(protein) ignore(not protein) cavity 10 1.4
color isosurface translucent 4
write image 800 800 1dfr-a.jpg

The second focuses on the two ligands and uses:

isosurface isosurface1 select(protein and within(4.0, not protein)) 
ignore(not protein) cavity 10 1.2
color isosurface translucent 6 yellow
write image 800 800 1dfr-b.jpg

The two parameters  are the envelope radius (10 effectively defines the 
radius of the outer "pores" that define a cavity) and the minimum cavity 
radius (1.2 Angstroms about the size of a water molecule). These 
parameters can be tweaked. Maybe Tim, you can help me settle on some 
reasonable defaults.


Bob


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Jmol-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/jmol-developers

Reply via email to