From: John Stone (
Date: Tue Feb 07 2017 - 16:02:12 CST

  If this is for an interactive simulation, the logical thing would
be to extend the IMD protocol to allow updates to a time-varying
volumetric map. If it is intended for some other purely analytical purpose,
then implementing it with scripting-accessible interfaces would
make sense.

  John Stone

On Tue, Feb 07, 2017 at 09:51:32PM +0000, Vermaas, Joshua wrote:
> Hi Karl,
> It sounds like you want to interact with volume maps already loaded into VMD. When I needed to do this for my own purposes, I dug into VMD internals and wrote something to access volumetric datasets and make it accessible to VMD's python interface (this is now in the VMD CVS as molecule.get_volumetric). From there, you can access the data itself in python and do whatever you want. This does not expose a pointer to VMD's internal data structure directly (which isn't even useful, since its stored out of order as far as numpy is concerned), however since the copy never went to disk, it was fast enough to be efficient.
> -Josh
> On 02/07/2017 02:15 PM, Karl Decker wrote:
> Is it possible to share memory between two processes, one of which is VMD? I'm aware this is generally messy and dangerous, but it's one way to avoid writing large files to disk and slowing down the execution of the plugin we're designing. It would obviously take some effort to write the code for sharing the memory between two processes, but first I want to know: can VMD even be made to share its memory with another process?
> Alternatively, we are considering implementing a python plugin to VMD. Can VMD be made to share memory with a plugin?
> The memory we want to share is from VolMap, specifically a distance map generated in VolMap. The idea is to sidestep writing the map to disk because it takes too long.
> Thanks,
> Karl

NIH Center for Macromolecular Modeling and Bioinformatics
Beckman Institute for Advanced Science and Technology
University of Illinois, 405 N. Mathews Ave, Urbana, IL 61801           Phone: 217-244-3349