Well, it works. I am so delighted with this Marching Cubes algorithm! It turns out that the rendition of solvent-accessible surfaces using isosurfaces is almost trivial. I just don't want to think how much time first Miguel and then later I spent trying to do this other ways!
see <http://www.stolaf.edu/people/hansonr/jmol/test/proto/isosurface.htm> One of the very nice consequences of doing solvent surfaces this way is that they can then be colored using exactly the same methods being used for any other isosurfaces. Examples: # First, just the surface. load ch3cl.mol;isosurface solvent;show isosurface # Now mapped using electrostatic potential from a CUBE file load ch3cl.mol;isosurface solvent color "ch3cl-esp.cub.gz";show isosurface (Note that the "show isosurface" command gives you the JVXL equivalent. # And the JVXL equivalent (19.5K) load ch3cl.mol;isosurface "ch3cl-solvent.jvxl" # The color mapping can be adjusted to your liking isosurface delete;isosurface solvent color absolute -0.01 0.01 "ch3cl-esp.cub.gz" # solvent probe radius is set using the "set radius" command load ch3cl.mol;set radius 3.0;isosurface solvent color "ch3cl-esp.cub.gz" # back to the default: load ch3cl.mol;set radius 1.2;isosurface solvent color "ch3cl-esp.cub.gz" # more examples load C6H6.smol;isosurface _benzene mesh nofill solvent load caffeine.xyz;isosurface _caffeine mesh nofill solvent load 1crn.pdb;select 1-3;isosurface _pdb mesh nofill solvent --------------- I'm sure this will all see a bit of refinement as people express their desires, but this is basically it. For those interested in the technical side of it, basically the key to success was realizing that voxels can take values that express the distance (positive or negative) to the nearest solvent-surface point, and those points can be easily determined using simple geometry. Then, with that "cube" data, the Marching Cube algorithm can interpolate essentially perfectly to deliver the actual surface. The ones I am seeing have a bit of bumpiness to them; this could be a bug. I'll play some more with the algorithm to see if I overlooked something. (I can think of one thing right now....) For now I'll call it a bit of "texture". :) Bob _______________________________________________ Jmol-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/jmol-developers
