hi Michael,

I finally got the APBS plugin to work (http://mccammon.ucsd.edu/~cmura/PYMOL_examples/apbs_plugin.html).
I'm not sure what I did differently this time, but I did rebuilt PyMOL from scratch and re-downloaded your python modules and modified source files.  The only catch was that I had to make the following changes near line 500 of your layer4/Cmd.c in order to build the CVS version of PyMOL:

[cmura@chemcca35 pymol]# diff -uNr /u1/cmura/PYMOL/MGLerner_APBSplugin/Cmd.c layer4/Cmd.c
--- /u1/cmura/PYMOL/MGLerner_APBSplugin/Cmd.c   2004-05-13 14:18:02.000000000 -0700
+++ layer4/Cmd.c        2004-05-14 09:49:26.000000000 -0700
@@ -501,12 +501,12 @@
   int ok=true;
   char *str1;
   OrthoLineType s1;
-  int int1,int2,int3,int4,int5;
-  ok = PyArg_ParseTuple(args,"siiiii",&str1,&int1,&int2,&int3,&int4,&int5);
+  int int1,int2,int3,int4,int5,int6;
+  ok = PyArg_ParseTuple(args,"siiiii",&str1,&int1,&int2,&int3,&int4,&int5,&int6);
   if(ok) {
     SelectorGetTmp(str1,s1);
     APIEntry();
-    ok = ExecutiveSmooth(s1,int1,int2,int3,int4,int5);
+    ok = ExecutiveSmooth(s1,int1,int2,int3,int4,int5,int6);
     APIExit();
     SelectorFreeTmp(s1);
   }

Thanks again,
    Cameron



=== Michael George Lerner wrote (on 05/14/2004 07:01 AM): ===
Hi,

  
(1) fresh, clean install of the pymol-0.95-1.rh90.py22 RPM, downloading
the various electrostatics.py, dx.py, etc. modules from your website and
then using the load_dx() function with DX maps already calculated in a
standalone APBS run...
    

This won't work.  For now, PyMOL needs to be recompiled for my DX-related
code to work.

  
(2) rebuilding PyMOL 0.95 from CVS version, incorporating the new and
modified source such as ObjectMap.{h,c}, PMGApp.py, etc. exactly as
described on your website (the recompiled PyMOL works fine)...
    

(I think you mean the current CVS version of PyMOL .. the code on my
webpage is synchronized with that, rather than 0.95)

This, on the other hand, should work.  The fact that the recompiled PyMOL
works is a good sign.

  
(3) both of the above steps with either a pre-calculated dx map or for
one generated on-the-fly in PyMOL via the apbs_tools wizard, for both a
small protein and a large one

Based on the ~60-sec delay and increased processor usage after issuing a
PyMOL command like 'load_dx("some_file.dx","mapa")', I think the DX file
is actually being read.
    

I think you're right.

  
However, the process invariably dies with the following error stream:

    
PyMOL>load_dx some_file.dx
Traceback (most recent call last):
  File "modules/pymol/parser.py", line 139, in parse
    result=apply(kw[nest][0],args[nest],kw_args[nest])
  File "/usr/lib/python2.2/site-packages/pymol/modules/pymol/dx.py",
line 1034, in load_dx
    importing.load_object(importing.loadable.DX, thing, mapName)
AttributeError: class loadable has no attribute 'DX'
      

This is very strange.  I know you said that you installed all of the files
I listed, but are you *sure* that you installed my version of importing.py
as modules/pymol/importing.py?  The error here is that it can't find
importing.loadable.DX, but if you have my version of importing.py, that
shouldn't be a problem.

If really do have an up-to-date version of my code, we should probably
figure out what's wrong off-list.

Thanks,

-michael

  
The "line 139" parser.py error sometimes shows up as line 255, and this
error behavior also results if I perform more explicit function calls
such as 'load_dx("some_file.dx","mapa")'.

If anyone has any ideas about solving this problem, please let me know....

Thanks,

        Cameron


PS.  This is all on a Red Hat 9 Linux PC utilizing the following Python
packages:

    
CHEMCCA35:NFkB[8] rpm -qa | egrep -i python
python-2.2.2-26
python-optik-1.4-2
rpm-python-4.2-1
python-devel-2.2.2-26
gnome-python2-canvas-1.99.14-5
gnome-python2-gtkhtml2-1.99.14-5
gnome-python2-bonobo-1.99.14-5
python-numeric-devel-22.0-2mdk
libxml2-python-2.5.4-3.rh9
gnome-python2-1.99.14-5
python-numeric-22.0-2mdk
      

  

-- 
Cameron Mura
UCSD