MAC Install: Difference between revisions

From PyMOLWiki
Jump to navigation Jump to search
(→‎With xquartz intalled: This is untested, but just updating the flags to the current syntax listed in the homebrew/homebrew-science/pymol.rb formula.)
(→‎Pre-compiled: Make Homebrew the recommended package manager)
 
(13 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[Category:Installation|Mac]]
This page describes how to install PyMOL on Mac OS X.
 
== Incentive PyMOL ==
 
[http://www.schrodinger.com Schrödinger] provides pre-compiled PyMOL to paying sponsors. The bundle also includes ready-to-use [[APBS]], [[morph|RigiMOL]], an MPEG encoder for movie export, and a small molecule energy minimization engine.
 
Download: https://pymol.org/


__TOC__
Installation: Drag '''PyMOL.app''' on the '''/Applications''' shortcut. (In principle, you could drag it into any Finder window and run it from there, it doesn’t have to live in /Applications).


=Installing MacPyMOL=
Uninstallation: Move '''/Applications/PyMOL.app''' to Trash
==Essentials==
The [http://pymol.org/dsc 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, [http://www.apple.com/mightymouse/ scrollbutton mouse] that works well with pymol and permits horizontal scrolling.  Most other mice will also work well.


== X11 Hybrid ==
=== Launching from Command Line ===


MacPyMOL comes with a native OSX interface which doesn't require X11 ([http://xquartz.macosforge.org/ XQuartz]). However, some features, like the '''Plugin''' menu, are only available in the X11 interface of PyMOL. There are two ways to launch the X11 interface:
The unix executable resides at '''/Applications/PyMOL.app/Contents/MacOS/PyMOL'''
# rename '''/Applications/MacPyMOL.app''' to '''/Applications/MacPyMOLX11Hybrid.app'''
# launch the unix executable with the '''-m''' flag: '''/Applications/MacPyMOL.app/Contents/MacOS/MacPyMOL -m'''


==Warning on Mouse Drivers==
=== X11 Hybrid ===
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


I ([[User:Wgscott|Bill Scott]]) wrote a cheezy [http://xanana.ucsc.edu/Library/init/zsh/local-functions/xtal/pymol pymol] shell script (and zsh function) to invoke this on the command line. It uses mdfind to find the executable.  I also use [[MacOSX-specific .pymolrc file|this ~/.pymolrc]] file.
''Applies to PyMOL 1.x, not to PyMOL 2.x''


Additional invokation options and further details are discussed under [[Launching_PyMOL#MacOS_X:]]
MacPyMOL can optionally run with the same two-window GUI which PyMOL uses on Windows and Linux. This GUI has some additional features, like the [[Plugins|Plugin]] menu and the [[Builder]].


==Extras==
Requires [http://xquartz.macosforge.org/ XQuartz].
You don't need any of these to use MacPyMOL.  But you didn't really '''need''' a Mac either.  Face it: You need these.
===Stereo===
http://images.apple.com/powermac/images/graphicspymol20051018.jpg


The [http://www.apple.com/powermac/upgrade.html latest Macs] finally support [http://www.apple.com/powermac/graphics.html stereo in a window].  There is more information in the [[Monitors Hardware Options]] section.
There are two ways to launch the X11 interface:
# Rename or copy/duplicate '''/Applications/MacPyMOL.app''' to '''/Applications/MacPyMOLX11Hybrid.app''' or to '''/Applications/PyMOLX11Hybrid.app'''
# Launch the unix executable with the '''-m''' flag: '''/Applications/MacPyMOL.app/Contents/MacOS/MacPyMOL -m'''


===Second Monitor===
=== Stereo on Second Monitor ===
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.
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.
<source lang="python">
<source lang="python">
Line 36: Line 34:
</source>
</source>


'''Source:''' ''Warren DeLano; PyMOL Users Archive''
'''Source:''' [https://sourceforge.net/p/pymol/mailman/message/11671952/ Warren DeLano; PyMOL Users Archive]


=PyMOL and Fink=
== Open-Source PyMOL ==
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 [http://fink.sourceforge.net/ fink].  This usually takes a while, but is straightforward.


Once fink is installed, you have two options: (1) use the PyMOL package setup by [[User:wgscott|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.
=== Package managers ===
 
Open-Source PyMOL is available [https://github.com/schrodinger/pymol-open-source/blob/master/LICENSE free of charge] and may be readily installed via the [http://brew.sh/ Homebrew] (recommended), [https://www.macports.org/ MacPorts], or [http://www.finkproject.org/ Fink] package managers.


== PyMOL Directly from Fink ==
To install PyMOL directly from fink, type:
<source lang="bash">
<source lang="bash">
# Homebrew (recommended)
brew install brewsci/bio/pymol
# Fink
fink install pymol-py27
fink install pymol-py27
# MacPorts
sudo port install pymol
</source>
</source>


This will install python2.7 in fink, along with an X-windows based tkinter. There are also versions that permit you to install PyMOL to interact with python2.6 and older (as of Mar-12-2013).  Fink uses its own unix-type python installation. For other versions list up pymol packages using '''fink list pymol*''' on command line.
You may need to make sure that the dependencies are installed with the required flags, e.g. for MacPorts:


===Notes and Possible Issues ===
* The [http://pdb.finkproject.org/pdb/package.php/pymol-py25 fink pymol package] currently exists in the [http://fink.sourceforge.net/faq/usage-fink.php#unstable unstable branch of fink], so you will either have to [http://xanana.ucsc.edu/~wgscott/xtal/wiki/index.php/How_to_Activate_the_Unstable_Branch activate the unstable branch] or make the following symbolic links:
<source lang="bash">
<source lang="bash">
sudo ln -s /sw/fink/dists/unstable/main/finkinfo/sci/pymol-py.* /sw/fink/dists/local/main/finkinfo/.
# MacPorts
</source>
sudo port install tcl -corefoundation
You might need to create the latter directory if it doesn't already exist, i.e., issue the command
sudo port install tk -quartz
<source lang="bash">
sudo mkdir -p /sw/fink/dists/local/main/finkinfo
</source>
</source>
* 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:
<source lang="bash">
export DISPLAY=":0.0"
</source>
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 ([[User:wgscott|wgscott]]) have put a whole lot of further information on how to use fink to install crystallographic software on my own [http://xanana.ucsc.edu/~wgscott/xtal/wiki/index.php/Main_Page wiki] and [http://chemistry.ucsc.edu/~wgscott/xtal/ website], including instructions on [http://xanana.ucsc.edu/~wgscott/xtal/wiki/index.php/Getting_your_fink_installation_to_use_packages_that_I_have_pre-compiled how to install precompiled binary packages using fink].


* The [http://pdb.finkproject.org/pdb/search.php?summary=pymol fink pymol package] is currently maintained by Jack Howarth.
If PyMOL complains that it wasn't able to find X11, try starting xquartz first, then run pymol from the console.
 
=== Install from Source ===
 
If you want the latest PyMOL code (warning: might include experimental changes), then follow the [[Linux_Install#Install_from_source|Linux installation instructions]]. You will need an environment like Fink, MacPorts or Homebrew to install the dependencies. Make sure you use the appropriate python interpreter (e.g. '''/sw/bin/python2.7''' when using Fink).


= PyMOL Install from Source, Using Fink =
To run PyMOL with a native PyQt library (linked against macOS OpenGL framework, not against XQuartz), it needs to be built with the <code>--osx-frameworks</code> option:
If the above didn't work, or 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,
<source lang="bash">
/sw/bin/python setup.py install
</source>


==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,
<source lang="bash">
<source lang="bash">
# These command are commented out to stop people from copy/pasting b/c
python setup.py --osx-frameworks install
# 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
</source>
</source>
* 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 with Fink==
=== Install APBS with Fink ===


To use the electrostatics plugin, you will need [http://apbs.sourceforge.net/ APBS] and its dependencies.  These are also available as Fink packages, and include [http://pdb.finkproject.org/pdb/package.php/apbs APBS], [http://pdb.finkproject.org/pdb/package.php/maloc maloc] and [http://pdb.finkproject.org/pdb/package.php/pdb2pqr pdb2pqr]. If you have multiple processors available, you might wish to install the [http://pdb.finkproject.org/pdb/package.php/apbs-mpi-openmpi MPI version of APBS].
To use the electrostatics plugin, you will need [http://apbs.sourceforge.net/ APBS] and its dependencies.  These are also available as Fink packages, and include [http://pdb.finkproject.org/pdb/package.php/apbs APBS], [http://pdb.finkproject.org/pdb/package.php/maloc maloc] and [http://pdb.finkproject.org/pdb/package.php/pdb2pqr pdb2pqr]. If you have multiple processors available, you might wish to install the [http://pdb.finkproject.org/pdb/package.php/apbs-mpi-openmpi MPI version of APBS].
Line 107: Line 83:
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.
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.


=PyMOL in MacPorts=
=== Stereo issues ===
Recent versions of [http://www.macports.org/ MacPorts] include a hybrid PyMOL. It can be installed with:
sudo port install pymol
 
Make sure that the Tk and Tcl packages are installed with the required flags:
sudo port -f uninstall tcl
sudo port -f uninstall tk
sudo port install tcl -corefoundation
sudo port install tk -quartz
 
==Troubleshooting==
; 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 [https://trac.macports.org/ticket/24895]: If you don't need stereo then start PyMOL in mono mode with <pre>pymol -M</pre>If you need stereo then you probably need to wait for a fix in the graphics driver.
 
=Installing PyMOL with Homebrew=
== General Procedure ==
====1. Install [http://brew.sh/ homebrew].====
At a Terminal prompt, copy and paste the following command and follow the on-screen instructions.
<nowiki>ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"</nowiki>
You will be prompted to install the the Xcode Command Line Tools if you don't already have them.  After installation finishes, it is probably a good idea to run
brew doctor
to make sure there are no issues with your setup.
 
====2. Install Xquartz.====
Tcl/Tk requires X11, but since 10.7, Mac OS X no longer comes with X11 by default.  Download and install [http://xquartz.macosforge.org Xquartz] to satisfy this requirement.  This can also be done with [https://github.com/caskroom/homebrew-cask Homebrew Cask]:
 
brew install caskroom/cask/brew-cask
brew cask install xquartz
 
====3. Install PyMOL.====
brew install homebrew/science/pymol
You should now have a working PyMOL installation, and be able to launch the program in a Terminal window from any directory with the command <code>pymol</code>.
 
=====Troubleshooting=====
If you get this error
Traceback (most recent call last):
  File "/usr/local/Cellar/pymol/1.7.4.0/libexec/lib/python2.7/site-packages/pymol/__init__.py", line 71, in <module>
    import pymol
  File "/usr/local/Cellar/pymol/1.7.4.0/libexec/lib/python2.7/site-packages/pymol/__init__.py", line 533, in <module>
    import pymol._cmd
ImportError: dlopen(/usr/local/Cellar/pymol/1.7.4.0/libexec/lib/python2.7/site-packages/pymol/_cmd.so, 2): Library not loaded: /usr/local/lib/libGLEW.1.11.0.dylib
  Referenced from: /usr/local/Cellar/pymol/1.7.4.0/libexec/lib/python2.7/site-packages/pymol/_cmd.so
  Reason: image not found
You could try this, linking another libGLEW library to the one who is asked for
ln -s /usr/local/lib/libGLEW.1.12.0.dylib /usr/local/lib/libGLEW.1.11.0.dylib
 
== Stereo issues ==
Some older Macs seem to crash with stereo graphics. If this happens to you, a workaround is to launch PyMOL explicitly in Mono mode with `pymol -M`.  You can also set up an alias in your ~/.profile:
Some older Macs seem to crash with stereo graphics. If this happens to you, a workaround is to launch PyMOL explicitly in Mono mode with `pymol -M`.  You can also set up an alias in your ~/.profile:


  alias pymol='pymol -M'
  alias pymol='pymol -M'


== With previously brew-installed python or tcl/tk ==
== See Also ==
Brewed PyMOL requires python compiled with the --with-tcl-tk option and tcl-tk compiled with the --with-threads and --with-x11 options.  If you've already brew-installed either of these packages without these options, you'll have to uninstall and reinstall them as follows, then proceed to install PyMOL (assuming you've already either attempted to `brew install homebrew/science/pymol` or run `brew tap homebrew/science`).


brew update  # just to keep things current
* [[pymolrc]]
brew uninstall python
* [[Linux Install]]
brew uninstall tcl-tk
* [[Windows Install]]
brew install tcl-tk --with-threads --with-x11
* [[MovieSchool_6#Exporting_your_Movie|FreeMOL installation for MPEG movie export]]
brew install python --with-tcl-tk
* [[User:Wgscott|Bill Scott’s]] [[MacOSX-specific .pymolrc file]] and his crystallographic software [http://xanana.ucsc.edu/~wgscott/xtal/wiki/index.php/Main_Page wiki] and [http://chemistry.ucsc.edu/~wgscott/xtal/ website], including instructions on [http://xanana.ucsc.edu/~wgscott/xtal/wiki/index.php/Getting_your_fink_installation_to_use_packages_that_I_have_pre-compiled how to install precompiled binary packages using fink].
brew install pymol
* [[Launching_PyMOL#MacOS_X]]
 
=Miscellaneous installation=
===Exporting MPG movies===
See [[MovieSchool_6#Exporting_your_Movie|MovieSchool 6]] for freemol installation.<BR>


[[Category:Installation|Mac]]
[[Category:Nucleic_Acids|MAC Install]]
[[Category:Nucleic_Acids|MAC Install]]
[[Category:Technical Issues|MAC Install]]
[[Category:Technical Issues|MAC Install]]
[[Category:Mac|MAC Install]]
[[Category:Mac|MAC Install]]

Latest revision as of 12:05, 8 October 2018

This page describes how to install PyMOL on Mac OS X.

Incentive PyMOL

Schrödinger provides pre-compiled PyMOL to paying sponsors. The bundle also includes ready-to-use APBS, RigiMOL, an MPEG encoder for movie export, and a small molecule energy minimization engine.

Download: https://pymol.org/

Installation: Drag PyMOL.app on the /Applications shortcut. (In principle, you could drag it into any Finder window and run it from there, it doesn’t have to live in /Applications).

Uninstallation: Move /Applications/PyMOL.app to Trash

Launching from Command Line

The unix executable resides at /Applications/PyMOL.app/Contents/MacOS/PyMOL

X11 Hybrid

Applies to PyMOL 1.x, not to PyMOL 2.x

MacPyMOL can optionally run with the same two-window GUI which PyMOL uses on Windows and Linux. This GUI has some additional features, like the Plugin menu and the Builder.

Requires XQuartz.

There are two ways to launch the X11 interface:

  1. Rename or copy/duplicate /Applications/MacPyMOL.app to /Applications/MacPyMOLX11Hybrid.app or to /Applications/PyMOLX11Hybrid.app
  2. Launch the unix executable with the -m flag: /Applications/MacPyMOL.app/Contents/MacOS/MacPyMOL -m

Stereo on Second Monitor

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

Open-Source PyMOL

Package managers

Open-Source PyMOL is available free of charge and may be readily installed via the Homebrew (recommended), MacPorts, or Fink package managers.

# Homebrew (recommended)
brew install brewsci/bio/pymol

# Fink
fink install pymol-py27

# MacPorts
sudo port install pymol

You may need to make sure that the dependencies are installed with the required flags, e.g. for MacPorts:

# MacPorts
sudo port install tcl -corefoundation
sudo port install tk -quartz

If PyMOL complains that it wasn't able to find X11, try starting xquartz first, then run pymol from the console.

Install from Source

If you want the latest PyMOL code (warning: might include experimental changes), then follow the Linux installation instructions. You will need an environment like Fink, MacPorts or Homebrew to install the dependencies. Make sure you use the appropriate python interpreter (e.g. /sw/bin/python2.7 when using Fink).

To run PyMOL with a native PyQt library (linked against macOS OpenGL framework, not against XQuartz), it needs to be built with the --osx-frameworks option:

python setup.py --osx-frameworks install

Install APBS 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.

Stereo issues

Some older Macs seem to crash with stereo graphics. If this happens to you, a workaround is to launch PyMOL explicitly in Mono mode with `pymol -M`. You can also set up an alias in your ~/.profile:

alias pymol='pymol -M'

See Also