Hi William,
I'm happy you find Chimera useful!  You certainly are using it in inventive ways. :-)  That said, unfortunately I don't think the approach you outlined will ultimately work very well.  Besides the issue of combining the surfaces, there is also the issue that a Surfnet surface isn't "attached" to the atoms underneath in any way -- it is fixed in space (though it rotates/translates with the associated model).  So, as the protein moves during the simulation, surfaces generated during early frames will either float away or into the atoms that they "surface".
My suggestion would be to use the Find Clashes/Contacts tool to select the swath of protein atoms contacted during the simulation and then surface those atoms afterward (molecular surface, not Surfnet surface).  One possible recipe for that would be:

1) Select your ligand
2) Open the Find Clashes/Contacts tool (in Structure Analysis)
3) Designate the ligand atoms for checking against all other atoms
4) Use default contact criteria
5) Click 'Select' (only) as the treatment for contact atoms
6) Change frequency of checking to "continuously"
7) Change selection mode (in Select menu) to "append"
8) Run the simulation
9) Close Find Clash dialog
10) Unselect ligand ("sel sel & ~ligand")
11) Surface the selected atoms (Actions->Surface->show)

There is a fly in the ointment in that Find Clash doesn't honor the selection mode.  I have committed a change so that it does, so assuming the nightly build works tonight you should be able to download a build tomorrow that does honor the selection mode (look for builds dated July 31 or later).

--Eric

On Jul 31, 2013, at 4:12 PM, William McDonald wrote:

Dear Chimera Developers,

First, thank you all for such a wonderful program! Also, thanks to the users' list for such quick, thorough, and always-helpful answers!

Second, a little background: I have a gromacs MD simulation (well several, actually) of a small ligand diffusing through a protein. Because the ligand requires the entire simulation to traverse the protein cavity, I was thinking of using the Surfnet tool to accumulate or "build-up" the cavity interface between the ligand and protein using a per-frame python script a la Eric's suggestion in the Dec 2009 [Chimera-users] Surfnet command line thread on this mailing list. I was thinking I could then "prune" the accumulated SurfaceModel using the surfvol.py script available on the http://plato.cgl.ucsf.edu/trac/chimera/wiki/Scripts download page.

Now, I can generate a Surfnet surface easily (as Eric points out) for each MD frame using the python commands

from Surfnet import interface_surfnet
interface_surfnet("LigandAtoms","ProteinAtoms")

But how, if possible, can I combine all the individual SurfaceModels into one surface? Also, and not secondarily, does this seem like a reasonable approach to obtain the ligand-protein cavity surface?

Thanks again for all your generous support.
--
William J. McDonald
Postdoctoral Scholar
Department of Chemistry and Biochemistry
University of California, Santa Cruz
_______________________________________________
Chimera-users mailing list
Chimera-users@cgl.ucsf.edu
http://plato.cgl.ucsf.edu/mailman/listinfo/chimera-users