- 1 Installing MacPyMOL
- 2 Installing X-windows based pymol on Mac OS X
- 2.1 Why would you want to do this?
- 2.2 PyMOL and Fink
- 2.3 PyMOLX11Hybrid
- 2.4 PyMOL in MacPorts
- 2.5 Troubleshooting
The download is about as straightforward as it gets, and you can install it wherever it makes you happy. You need a 3 button mouse (clickable scroll wheel = middle button). Apple has finally come to its senses and designed a proper, ergonomically pleasant, scrollbutton mouse that works well with pymol and permits horizontal scrolling. Most other mice will also work well.
Warning on Mouse Drivers
One word of warning: Do not install 3rd party drivers for multi-button mice if you can avoid it. These often mess with the mapping of the middle button or have other horrific side effects. Fortunately, with OS X, you should not need to.
Invoking pymol from the unix command line
The unix executable resides at MacPyMOL.app/Contents/MacOS/MacPyMOL
Additional invokation options and further details are discussed under Launching_PyMOL#MacOS_X:
You don't need any of these to use MacPyMOL. But you didn't really need a Mac either. Face it: You need these.
A 3-button mouse is essential. Apple's Mighty Mouse is an extra treat.
The Mighty Mouse was superseded in late 2009 by the Magic Mouse. Although a great mouse with scrolling capability, the magic mouse is a 2-button mouse with gesture-enabled surface, and so lacks a middle button. To use it choose a 2 button mode in the Mouse menu.
The trick to getting MacPyMOL to work in stereo on the second monitor is to force it to initially open on that display by providing an appropriate "-X #" (and perhaps -Y #) option on launch. That way the OpenGL context will be created with stereo support.
./MacPyMOL.app/Contents/MacOS/MacPyMOL -X -1000 ./MacPyMOL.app/Contents/MacOS/MacPyMOL -X -1000 -Y 100
Source: Warren DeLano; PyMOL Users Archive
Installing X-windows based pymol on Mac OS X
Why would you want to do this?
- You want to run a free, guilt-free, open-source version of pymol
- You just happen to prefer the tkinter menu
- You want to use plugins, for example, the apbs plugin for free grasp-like electrostatic calculations.
PyMOL and Fink
Fink is a subsystem that was created to bring the full power of Linux open-source to the Darwin (Apple) platform. It is essentially a full working Linux system integrated with the Apple OS. Even X11 applications can be run. To use PyMOL with fink, you will first need to install fink. This usually takes a while, but is straightforward.
Once fink is installed, you have two options: (1) use the PyMOL package setup by wgscott, which might be old, but easier to install; or, download the PyMOL source and build. As usual, it comes down to ease of install vs. new features.
PyMOL Directly from Fink
To install PyMOL directly from fink, type:
fink install pymol-py25
This will install python2.5 in fink, along with an X-windows based tkinter. There are also versions that permit you to install PyMOL to interact with python2.4 and even python2.3. Fink uses its own unix-type python installation.
Notes and Possible Issues
- The fink pymol package currently exists in the unstable branch of fink, so you will either have to activate the unstable branch or make the following symbolic links:
sudo ln -s /sw/fink/dists/unstable/main/finkinfo/sci/pymol-py.* /sw/fink/dists/local/main/finkinfo/.
You might need to create the latter directory if it doesn't already exist, i.e., issue the command
sudo mkdir -p /sw/fink/dists/local/main/finkinfo
- 10.4 ONLY: Be sure to set your display environment in your start up shell script to use pymol. For example in your home directory, the .bashrc (or .bash_profile) file should contain:
Do NOT set the DISPLAY variable for 10.5+, as God does this for you automatically. If for some reason you don't want to set DISPLAY, launch X11 manually (Applications/Utilities) then start a login shell with 'xterm -ls' (note default xterm is not a login shell so will not read .bashrc) and finally issue 'pymol'
- Fink pymol also reads ~/.pymolrc in your home directory.
- I (wgscott) have put a whole lot of further information on how to use fink to install crystallographic software on my own wiki and website, including instructions on how to install precompiled binary packages using fink.
- The fink pymol package is currently maintained by Jack Howarth.
PyMOL Install from Source, Using Fink
If the above didn't work, of you really want the latest PyMOL code, then
- Download the latest PyMOL source and unpack it.
- Ensure that you have installed, in Fink:
- python-2.5 pmw-py25
- mesa mesa-shlibs
- libpng3 libpng3-shlibs
- freetype2 freetype2-deve
- freeglut freeglut-shlibs
- Change directory into the new PyMOL dir, eg. cd pymol
- Then, install PyMOL with,
/sw/bin/python setup.py install
Notes and Possible Issues
- If you get an error about -Wno-long-double then your gcc is mismatched. I fixed this by pointing the symbolic link /usr/bin/gcc from /usr/bin/gcc-4.2 to /usr/bin/gcc-4.0. Or, in code,
# These command are commented out to stop people from copy/pasting b/c # these are possibly dangerous for your system. Ensure that /usr/bin/gcc # is a symbolic link and not a real binary. If so, I used the following # to fix the -Wno-long-double error. # sudo rm /usr/bin/gcc # sudo ln -s /usr/bin/gcc-4.0 /usr/bin/gcc
- If you get an error about something like GL_PALETTE_TEXTURE then you need to comment out those few lines in the code that throws the error. Read the output.
Install APBS and friends with fink
To use the electrostatics plugin, you will need APBS and its dependencies. These are also available as fink packages, and include apbs, maloc and pdb2pqr. If you have multiple processors available, you might wish to install the mpi version of apbs.
Issuing the command
fink install apbs
will install apbs and its required dependencies for you. The fink pymol package is already preconfigured to do the right thing to use apbs as a plugin. Here is a big screenshot of the fink APBS package being invoked via the pymol plugin.
Nucleic acids may prove problematic for the apbs plugin. If so, use the pdb2pqr command-line tool to create a pqr file manually, instead of using the plugin to generate it.
MacPyMOL for Tiger now includes a hybrid X11 mode. Assuming that X11 is already installed, simply duplicate MacPyMOL.app and rename it "PyMOLX11Hybrid.app" and launch.
PyMOL in MacPorts
Recent versions of MacPorts (at least 1.8.2) also include a hybrid PyMOL and also apbs. One can install it with
sudo port install pymol apbs apbs-mpi
Pymol from MacPorts using simple GUI approach
- Install MacPorts, including Xcode Tools and X11 if necessary
- Install a MacPorts GUI client, for example Porticus. Do a Selfupdate.
- Search for Pymol via gui and install
- Launch Terminal app and execute pymol
- If you already have a .bash_profile, you may need to copy the lines which macports installation puts in .profile into .bash_profile
- Pymol installation in macports uses the subversion repository so you may need to configure the svn command line client config file for your proxy settings in ~/.subversion/servers
- If the menu/control window does not appear when launching pymol and the terminal window reports "ImportError: No module named _tkinter", macports python may have installed without tkinter even if the no_tkinter option was not selected in the gui. To fix, uninstall python26 via gui then execute the following at the command line to force ignoring of no_tkinter.
sudo port install python26 -no_tkinter
- When selecting atoms with the mouse, no matter how well one aims, the atoms selected are actually those far from the ones wanted
- This is a known problem. Select "Millions of Colors" in System Preferences->Display.
- There seems to be a race condition between the Tk window and the openGL window. (The focus for the windows are very quickly flashing back and forth.)
- This is a well-known problem. The blame here is circular: Apple blames developers, developers blame Apple. Regardless, it appears to have been fixed with the latest Mac OS X (10.6) release. Upgrade to 10.6 and this problem goes away.
- When using multiple displays, the OpenGL window flickers; moving the window between displays crashes the whole session 
- If you don't need stereo then start PyMOL in mono mode with
pymol -MIf you need stereo then you probably need to wait for a fix in the graphics driver.