[Chimera-users] Using Surfnet tool in a per-frame python script

Elaine Meng meng at cgl.ucsf.edu
Thu Aug 1 14:05:41 PDT 2013

Hi William,
Thanks for your kind words!

I'd like to suggest an alternative approach: accumulate occupancy for the ligand over the whole trajectory and then show an isosurface for that occupancy map.  You'd have to contour at a low level (e.g. 1 for everywhere the ligand has been during at least 1 frame), but in my mind at least, this produces a nice blob showing everywhere the ligand has been.  I don't know how successful it would be on this specific data, but it should be relatively easy to try (no scripting involved).  It may depend on how flexible everything is and how much it moves around… you can hold steady based on some set of atoms, but there may still be residual "motion blur." 

See the "Occupancy Analysis" section of the MD Movie man page:

You would have to first indicate atoms to "hold steady" (if an appropriate set exists, or maybe your trajectory is already pre-processed to keep the structure in the same place and orientation as possible), select the ligand, and then in the occupancy calculation dialog choose appropriate settings.   Sounds like you would turn off  (set to false) "limit data collection to within cutoff…" and "collect data separately…", maybe decrease "volume grid spacing" to get a less chunky final result, and adjust anything else as you see fit.

As for pruning, you can hide disconnected bits of surface using Hide Dust and/or erase parts of a volume dataset using Volume Eraser (both in menu under Tools… Volume Data).

Just an idea, but maybe worth a try…
Elaine C. Meng, Ph.D. 
UCSF Computer Graphics Lab (Chimera team) and Babbitt Lab
Department of Pharmaceutical Chemistry
University of California, San Francisco

> 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.

More information about the Chimera-users mailing list