Howdy, So, I got PyMOL+APBS working over the holidays. It's not quite ready for prime time, though, as you have to recompile PyMOL first. I also made a wizard that guides you through the electrostatics calculations and makes it easy to visualize the results. If you want to see it now, check out http://www.umich.edu/~mlerner/Pymol for the details. I'll post again when you can use this without recompiling PyMOL. Please let me know if you try it out!
This was a lot of fun, but it left me with a few questions and comments. I'll just put them all in this message instead of sending lots of little messages. General questions/comments: - I want to draw a surface 10A away from a protein. Is there an easy way to do this in PyMOL? Right now, I'm cheating by looping through all of the atoms in the protein and adding something to the vdw radii, but this doesn't work when the vdw radii get above 6, and it starts to look ugly when you add more than 2 or 3A. - I want to iterate across every point on a surface to do something like find the point with the electrostatic potential. Any easy way to do this? - Transparency seems a little strange .. if I have an inner surface and an outer surface, and I set the transparency on the outer surface to 0.8 and the transparency on the inner surface to 0.0, I can still see through the inner surface. This problem goes away when I ray-trace things. - Anyone have any scripts to let PyMOL read/write PQR files? I hacked some stuff together, but only enough to get by. I don't know how to read in files that want to change the charge and radius of each atom. - How do I make PyMOL update the colors on a surface? I have a ramp that controls the surface coloring, and if I change the max,medium,min values on the ramp, it seems that I have to either middle-click and drag the ramp or type 'sort' to get the surface to actually update (actually, what I do is make a new ramp each time the values change and use cmd.set to set the surface color, followed by a 'sort' to get the colors to update on the screen). (I have some stuff in my Wizard that sets the ramp parameters and I'd like it to work instantly .. is 'sort' really the way to go?). - It would be nice if I could just drop wizards into modules/pymol/wizard and have them work automatically. Maybe something could iterate through every .py (or .so) file there and load them as wizards. I tried doing that (I gave each wizard a WizardName attribute that I used as the label), but I kept getting security warnings. This isn't a big deal, but I thought I'd mention it before I forgot it. - PyMOL seems to work just fine with more recent versions of Python (2.3). That's what I compiled all of this with. Also, the ext library is out of sync with the PyMOL sources, as I mentioned in a previous email. Not-so-general questions: - Warren: any chance of folding the changes to the PyMOL source into PyMOL proper? I can give it to you under the PyMOL license (the only licensing questions are about the dx reading and writing code, which lives in apbs_electrostatics.py). The versions on my webpage are up to date with the current CVS, but I can send you diffs, etc. - I'm still not sure what ObjectMapState-Field->Points is exactly. In particular, I don't understand why ndim is 4. - I'm still not sure what's supposed to go into ObjectMapState->Dim. As I mentioned before, it looks to me like maps generated with cmd.map_new("map","gaussian","0.1","methanol") have random values there. My code seems to work just fine even though I don't know what this is supposed to be. - It looks like I have to make a Crystal for things to work, so I do. I can't reproduce the kinds of Crystals PyMOL generates for gaussian maps (like above), though. In particular, Norm and RecipDim look like they have nonsense values in them and making a Crystal from a PyList doesn't let me set RealToFrac and FracToReal to anything interesting. None of this seems to actually matter, though. Thanks, -michael -- This isn't a democracy;| _ |Michael Lerner it's a cheer-ocracy. | ASCII ribbon campaign ( ) | Michigan -Torrence, Bring It On| - against HTML email X | Biophysics | / \ | mler...@umich