This is a call for those interested in molecular surfaces.
I've had some great success lately redesigning the way Jmol creates solvent-excluded surfaces, and I need some help. What I'm interested in doing is comparing Jmol's surface creation with both PyMOL and the MSMS program (http://mgltools.scripps.edu/packages/MSMS/). I think this might be significant enough to consider publication. It is not MSMS, but it reproduces the result of MSMS VERY closely and perhaps better than MSMS itself. I have no idea how PyMOL generates these surfaces -- it may just be a straight implementation of MSMS, but I don't know. (I think not, because I see there's an MSMS plug-in for PyMOL. In the course of transferring to a new laptop, I haven't gotten PyMOL set up, so I haven't checked that out.)
I'm interested in testing cases with cavities and various other oddities, comparing Jmol, PyMOL, and MSMS.
Nico has released Jmol 12.1.27, which introduces this new way of creating surfaces, and tweaks today I have made make some subtle changes -- see http://chemapps.stolaf.edu/jmol/docs/examples-12/Jmol-12.zip
Here's a sample output that I created: http://chemapps.stolaf.edu/jmol/docs/misc/msmsTest.png
In this image, the green is Jmol. The orange is MSMS triangulation. The reason the image is so patchy is that the surfaces are almost identical. The tent-like tripods are Jmol's calculated analytical solution to the problem. The tripods are places where the solvent probe sits on three atoms. Green means the solvent probe is well above the plane connecting the three atoms; red means the solvent probe intersects that plane. The white/green or white/red boundaries are at the solvent probe radius.
The surfaces are almost identical. Interestingly, though, MSMS and Jmol generate the surfaces in two totally different ways --
MSMS creates a "reduced surface" and uses that to generate a network of
triangles representing the solvent-excluded surface directly from the
analytical solution, stitching them together as needed; Jmol never creates a reduced surface and never has to do any "stitching." Instead, Jmol
identifies all edges and faces that are required for the generation of
the surface (like MSMS), then generates a grid of point-values representing distances
from the surface, and then uses the Marching Cube algorithm to generate
the surface from that. The starting point is the same, but Jmol's
process is quite different. Also, Jmol's measure of the
surface area, 2269 A^2, is closer to the analytical solution reported by
MSMS, 2258 A^2, than the MSMS triangulation (2214 A^2). Even if I
increase the triangulation for MSMS more than two fold, it still doesn't
get as close to the analytical result as Jmol's. Thus, I think we
really have something here. Besides, this is open source....
If you are interested in participating in this test and in writing a paper about it, let me know. Just for future reference, I'm adding some more information below, before I forget what I did. The command sequence for comparison is given below.
## creating the MSMS surface:
set defaultVDW babel
[ then used the following command:
msms -probe_radius 1.5 -density 3 -if 1crn.xyzrn -of 1crn
to create the MSMS surface -- density 5 is probably more appropriate for comparison.]
isosurface s1 color orange 1crn.vert
# creating the Jmol surface, with the tripods:
set logfile "msms.log" # logging ON generates a file of draw commands for the tripods
isosurface s2 color green solvent 1.5 FULL
Robert M. Hanson
Professor of Chemistry
St. Olaf College
1520 St. Olaf Ave.
Northfield, MN 55057
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