OK, I got it! The secondary inner surface is removed automatically based on the idea that it has negative volume. (It is inside out.)

Jmol 12.1.27, to be released, will have very fast

isosurface molecular FULL
isosurface solvent 1.4 FULL

on my computer (Dell Inspiron dual core)

1crn: 1.5 seconds
1d66: 2.7 seconds

I think it is a fair approximation of MSMS. Here's a nice little script that lets you display the MSMS faces and vertices in Jmol for comparison.

Who's interested in helping me test this?

Bob

# -------------drawMsMs.spt--------------------

// draws MsMs .vert/.face surface with red/white/blue coloration
// mainly for testing
// Bob Hanson, 5:57 AM 12/26/2010

function drawMsMs(fileroot, doShowPoints) {

    draw $msp* delete
    draw $msf* delete
    var colors = ["red","white","blue"]

    var fname = fileroot + ".vert"
    var t = load(fname).lines
    print "vertices: " + fname
     var nv = 0
    var len = t.length
    for (var i = 1; i <= len; i++) {
        var line = t[i]
        if (line[1] == "#" || line.length < 30) {
            print line
            continue
        }
        var x = 0.0 + line[1][10]
        var y = 0.0 + line[11][20]
        var z = 0.0 + line[21][30]
        var pt = point(x, y, z)
        nv++
        if (doShowPoints) {
            draw ID @{"msp" + nv} @pt
        } else {
            draw ID @{"msp" + nv} @pt off
        }
    }
    refresh
    var fname = fileroot + ".face"
    var t = load(fname).lines
    print "faces: " + fname
    var nf = 0
    var len = t.length
    for (var i = 1; i <= len; i++) {
        var line = t[i]
        var code = 0 + line[23]
        if (line[1] == "#" || code == 0) {
            print line
            continue
        }
        var a = "msp" + line[1][7].trim()
        var b = "msp" + line[8][14].trim()
        var c = "msp" + line[15][21].trim()
        var color = colors[code]
        nf++
        if (i % 100 == 0) {
//            print "" + i + ": " +     line
            refresh
        }
        draw ID @{"msf" + nf} $@a $@b $@c color @color
    }
    print "done -- " + nv + " vertices and " + nf + " faces"
   
}

message drawMsMs(fileroot,doShowPoints) is loaded

#---------------------------------------------------------------------------


On Sat, Dec 25, 2010 at 11:42 PM, Robert Hanson <hansonr@stolaf.edu> wrote:
The latest upload of http://chemapps.stolaf.edu/jmol/docs/examples-12/Jmol-12.zip has a completely new calculation for solvent-excluded surface. It sort-of follows the MSMS idea, except it uses Marching Cubes to calculate the actual surface in the end. It is very fast. Has a secondary "inner" surface that I'm not totally sure how to get rid of. Still thinking about that. But this is a start. To my eye it matches the MSMS surface very closely, but because of the Marching Cubes business, it has a slightly different volume and area. I would say, if you want accurate volume and area, you should stick with MSMS. To get this version, you must use the FULL option with isosurface SOLVENT:

isosurface solvent 1.5 FULL

at least for now.

Bob



On Fri, Dec 10, 2010 at 3:12 PM, Robert Hanson <hansonr@stolaf.edu> wrote:
I think I need to read that article. Currently there is no way to do that, but it might not be too terribly hard to implement it. You color an SAsurface based on atom properties, so I know the basic aspect is in there. How would you plan on identifying the point on the surface beneath which you want the atom?

Bob

On Fri, Dec 10, 2010 at 2:47 PM, vldr rm <raimvi@gmail.com> wrote:
Is there any way to select atoms of the molecules right below SA isosurface?
For example, one of the steps in SA generation algorithm by Sanner/Olson ("Reduced surface: an efficient way to compute molecular surfaces", 1996, Biopolymers, vol 37) is to find these surface atoms.
Can I do this task in JMol?

Thanks!

------------------------------------------------------------------------------
Oracle to DB2 Conversion Guide: Learn learn about native support for PL/SQL,
new data types, scalar functions, improved concurrency, built-in packages,
OCI, SQL*Plus, data movement tools, best practices and more.
http://p.sf.net/sfu/oracle-sfdev2dev
_______________________________________________
Jmol-users mailing list
Jmol-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jmol-users




--
Robert M. Hanson
Professor of Chemistry
St. Olaf College
1520 St. Olaf Ave.
Northfield, MN 55057
http://www.stolaf.edu/people/hansonr
phone: 507-786-3107


If nature does not answer first what we want,
it is better to take what answer we get.

-- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900



--
Robert M. Hanson
Professor of Chemistry
St. Olaf College
1520 St. Olaf Ave.
Northfield, MN 55057
http://www.stolaf.edu/people/hansonr
phone: 507-786-3107


If nature does not answer first what we want,
it is better to take what answer we get.

-- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900



--
Robert M. Hanson
Professor of Chemistry
St. Olaf College
1520 St. Olaf Ave.
Northfield, MN 55057
http://www.stolaf.edu/people/hansonr
phone: 507-786-3107


If nature does not answer first what we want,
it is better to take what answer we get.

-- Josiah Willard Gibbs, Lecture XXX, Monday, February 5, 1900