Eigenstate/vmd-python

Integration with VMD

pd15ms089 opened this issue · 9 comments

Dear Developers,
How does the display function/module work? Do we have any kind of Display out from this module? The Actual VMD app is not integrated with this module. While installing via conda I didn't find it to install any other VMD app. Please suggest something...
Thanks,
Pallab

Hi Pallab,
You're right that without the usual VMD GUI the display module and others (molrep, etc) aren't of much use. This interface is in the process of being integrated into the main VMD codebase-- if you need these features you can check out the main VMD CVS tree and compile it yourself.

I'm working on getting offscreen rendering to an EGL buffer working so you can do everything from the module, but this is a low priority right now.

It has been a while, but I believe it is whichever interpreter it was hooked up to at compile time. One could check via the contents of sys.version

Right, since it is using either the system python (ldd of the VMD executable links to a system python library) or a barebones python installation bundled in with the executable via static linkage. I think the default is the latter, so there isn't an easy way to replace your python library without a reinstall, which is why vmd-python is so awesome, as it takes alot of the guesswork out of building VMD on new systems.

vmd-python is a Python module that exposes the molecular manipulation functions present in the main VMD program. It's not a full-featured VMD implementation or standalone program, and won't affect the interpreter used in VMD. It doesn't provide a vmd command or a vmd-python command---all it lets you do is run import vmd in Python.

If you want a VMD installation with a Python interpreter, you'll have to compile VMD yourself and link against the python you want to use. Here's how I do it:

  1. Set the environment variables the build will use with a script. Here's mine. It builds against a conda installation of Python. See the comments for which lines to change. Then source it: source source_me.sh

  2. In your VMD source directory $VMDDIR:

cd $VMDDIR/plugins
make LINUXAMD64
make distrib
  1. Symlink the plugins installed directory into the main source directory, then build cmd.
cd $VMDDIR/vmd
ln -s $PLUGINDIR plugins
cat "LINUXAMD64 OPENGL FLTK TK IMD NETCDF COLVARS TCL PYTHON PTHREADS NUMPY LP64 GCC" > configure.options
./configure
cd src
make
make install

Hopefully this works. If not, let me know how I can help as I wrote this up pretty quickly. You'll probably want to get access to the VMD developer CVS tree for all the python functionality to be present. I'm also working on getting binary releases of these to be made available, but that won't be for a while.

vmd-python is a Python module that exposes the molecular manipulation functions present in the main VMD program. It's not a full-featured VMD implementation or standalone program, and won't affect the interpreter used in VMD. It doesn't provide a vmd command or a vmd-python command---all it lets you do is run import vmd in Python.

If you want a VMD installation with a Python interpreter, you'll have to compile VMD yourself and link against the python you want to use. Here's how I do it:

  1. Set the environment variables the build will use with a script. Here's mine. It builds against a conda installation of Python. See the comments for which lines to change. Then source it: source source_me.sh
  2. In your VMD source directory $VMDDIR:
cd $VMDDIR/plugins
make LINUXAMD64
make distrib
  1. Symlink the plugins installed directory into the main source directory, then build cmd.
cd $VMDDIR/vmd
ln -s $PLUGINDIR plugins
cat "LINUXAMD64 OPENGL FLTK TK IMD NETCDF COLVARS TCL PYTHON PTHREADS NUMPY LP64 GCC" > configure.options
./configure
cd src
make
make install

Hopefully this works. If not, let me know how I can help as I wrote this up pretty quickly. You'll probably want to get access to the VMD developer CVS tree for all the python functionality to be present. I'm also working on getting binary releases of these to be made available, but that won't be for a while.

please check this.
when I enter
make LINUXAMD64,
after sourcing my environmental variable file. I mentioned tcl8.6 in my
vmd_me.sh file, but still the compiler is searching for tcl8.5. I had sent you an screenshot via mail.