#floatcontents
* PyMOL &Vine5;&Vine4;&CentOS5; [#x7fbe6f9]
PyMOLは有料サポートになってしまったので、実行ファイルは自分でビルドする必要があります。しかも新版のソースコードは通常ファイルの形式ではダウンロードできなくなってしまったので少々複雑な手順が必要になります(ろくなドキュメントもありません)。最近ますますフリーのダウンロードはわかりにくくなってます…~
が、Fedora (10以降) ユーザは
# yum install pymol
で、CentOS 5ユーザは
# rpm -i http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm
で、[[EPEL:http://fedoraproject.org/wiki/EPEL]]リポジトリを追加した後、
# yum install pymol
で、簡単にインストールできます。
バイナリが入手できない方は、以下の手順に従ってソースコードの取得、ビルド、インストールに挑戦してみて下さい。
- 0.99rc6はLegacyとしてバイナリが配布されています(2010-12-09確認) -- http://sourceforge.net/projects/pymol/
** Windows版のインストール(Ver.1.4.1) [#i7cc4292]
#anno2(2011-09-02)
Python 2.6または2.7インストール環境で使用可能なPyMOLのWindows版バイナリを公開しているサイトがあります。2011年9月現在で1.4.1も公開されています。
** Windows版のインストール(Ver.1.5) [#i7cc4292]
#anno2(2012-04-05)
Python 2.6または2.7インストール環境で使用可能なPyMOLのWindows版バイナリを公開しているサイトがあります。2012年3月現在で1.5.0も公開されています。
- Unofficial Windows Binaries for Python Extension Packages -- http://www.lfd.uci.edu/~gohlke/pythonlibs/#pymol
インストールは簡単。
+ [[PyJUGのダウンロードページ>http://www.python.jp/Zope/download/pythoncore]]からPython 2.7.xを取得
+ ダウンロードした''python-2.7.x.msi''を実行してインストール
+ このとき、インストールオプションのTcl/Tkは最低限インストールすること(他はインストールしなくてもよい)
+ 上記のページから''pymol-1.4.1.win32-py2.7.exe''をダウンロード
+ ダウンロードしたファイルを実行するとインストールが完了します
PyMOL実行ファイルは'''''Pythonインストールディレクトリ'''\PyMOL\PyMOL.exe''です。~
お試し下さい。
#classdiv(box-yellow)
&color(red){''ひょっとしたら以下も必要かも''};
> Many binaries depend on Numpy-MKL 1.6.1 and the Microsoft Visual C++ 2008 redistributable package, which may need to be installed separately for x64 and x86 architectures.
ということですので以下のモジュールのインストールが必要かも
- NumPy -- http://www.lfd.uci.edu/~gohlke/pythonlibs/#numpy
- Microsoft Visual C++ 2008再配布可能パッケージ(MS社ページ内) --
[[32bit版>http://www.microsoft.com/downloadS/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&displaylang=ja-nec]],
[[64bit版>http://www.microsoft.com/downloadS/details.aspx?familyid=BA9257CA-337F-4B40-8C14-157CFDFFEE4E&displaylang=ja-nec]]
#classdiv(end)
** ソースコードの取得とビルド(Ver.1.4.1) [#v48e7f0c]
Ver.1.4.1からtar.bz2アーカイブで取得できるようになったみたいです。PyMOLのサイトから取得します。
- http://sourceforge.net/projects/pymol/
1.3以前のようにSubversionなどでの取得は不要になりました。pymol-v1.4.1.tar.bz2ファイルを取得したらビルドを行います。
- [[1.3以前のソースが必要な場合>./1.3以前のソースの入手]]
続いてPyMOLをビルドします。ビルドは取得したディレクトリに入ってから作業します。~
ビルドに必要になるパッケージをapt(Vine)またはyum(CentOS5)でインストールしておいてください。freetype2-devel以外は共通のパッケージ名です。
*** aptでインストール &Vine5;&Vine4; [#mf2c41e6]
- &Vine5;
-- freetype''2''-devel
-- python-devel
-- tkinter -- PythonのTkモジュール
-- glut-devel
-- glew-devel -- PyMOL 1.4.1で必要
-- libpng-devel
-- mesa-libGLU-devel
-- mesa-libGL-devel
- &Vine4;
-- freetype''2''-devel
-- python-devel
-- tkinter -- PythonのTkモジュール
-- XOrg-gl-devel
-- glut-devel
-- libpng-devel
*** yumでインストール &CentOS5; [#ze62e9d3]
- freetype-devel <-- Vineのfreetype2-develに相当します
- python-devel
- tkinter
- XOrg-gl-devel
- glut-devel
- libpng-devel
*** PyMOLのインストール [#e64260b8]
必要なプログラムをインストールした後、コマンドを実行します。ビルド以降はrootで行います。~
CCP4 6.0を使っている場合は後述の理由(distutils.coreがない)があるためpythonは/usr/bin/pythonを明示しましょう。
% cd pymol-1.2r2
% /usr/bin/python setup.py build
# /usr/bin/python setup.py install
# /usr/bin/python setup2.py install
# cp pymol /usr/local/bin
でPyMOL本体のインストールは完了です。必要なファイルは''pymol''だけなので、インストールが完了したら使用したpymol-1.2r2ディレクトリごと削除しても問題ないようです。続いて必要なツールキットをインストールします。
*** Python Megawidgetsのインストール [#rc2d56cf]
通常はPython Megawidgets(Pmw)というツールキットがインストールされてませんのでPmwをインストールします。
- [[Python Megawidgets>http://pmw.sourceforge.net/]]
このサイトからPmw.1.3.2.tar.gzを取得します。
% tar zxvf Pmw.1.3.2.tar.gz
% cd Pmw.1.3.2/src
# /usr/bin/python setup.py install
以上でPmwがインストールされ、利用可能になります。
*** APBSおよびPDB2PQRのインストール [#h00ec115]
表面電荷の図を書きたい場合はAPBSおよびPDB2PQRをインストールします。
- PyMOLを使ってみよう/表面電荷を描く
*** CAVERのインストール [#nf637d23]
必要ならキャビティの表示プラグインのCAVERをインストールします。
- CAVER
*** PyMOLのアンインストール [#k1747ec0]
PyMOLをアンインストールしたい場合はスクリプトを使って行います。インストール時のディレクトリが残っていればそこで、存在しない場合はもう一度アーカイブを展開します。
% cd pymol-1.2r2
# /usr/bin/python setup2.py uninstall
これでアンインストールされます。
#classdiv(box-blue)
&color(blue){''Column:PyMOL本体はどこに?''};~
インストール時に/usr/local/binディレクトリにコピーするのはpymolという名前のファイルですが、これは
#!/bin/sh
/usr/bin/python /usr/lib/python2.5/site-packages/pymol/__init__.py "$@"
という起動スクリプトに過ぎません。一体、本体はどこにあるのでしょうか?~
起動スクリプトをよく見てみると''/usr/lib/python2.5/site-packages/pymol/__init__.py''というファイルを読み込んでいます。結局のところ、PyMOLはPythonモジュールとしてインストールされているわけですね。1.2r2の場合、関連しているディレクトリは以下のようです。
- /usr/lib/python2.5/site-packages/pymol -- PyMOL本体
- /usr/lib/python2.5/site-packages/pmg_tk -- PyMOLスキンとプラグインモジュール
- /usr/lib/python2.5/site-packages/pmg_wx -- 今のところ使ってない?(将来的にはwxPythonを使うってことでしょう)
- /usr/lib/python2.5/site-packages/chempy -- AMBERなどが使えるのか?(調べてないです)
プラグインを一般ユーザーでインストールしたい場合は''pmg_tk/startup/''ディレクトリに書き込み属性を付ければOKです。
#classdiv(end)
** 起動 [#m9921859]
/usr/local/binへのパスが通っていれば
% pymol
で起動するはずです。
** トラブル [#q02d0cba]
インストール時に遭遇したトラブルをメモしておきます。
*** distutils.coreがない(CCP4 6.0) [#cfcf45d7]
インストール時のpython setup.py installを実行したときに以下のメッセージが出て停止しました。
'import site' failed; use -v for traceback
Traceback (most recent call last):
File "setup.py", line 8, in ?
from distutils.core import setup, Extension
ImportError: No module named distutils.core
これはCCP4 6.0(CCP4 6.1以降なら多分問題なし)と一緒にインストールされたpythonが使用されたため起こると考えられます((2.3よりも古いと問題が出るようです))。
% which python
で、/usr/bin/python以外のファイル名が表示されたら(私の場合は/usr/local/ccp4/ccp4mg-1.1.1/bin/pythonでした)、それが原因です。使用するpythonを指定することで解決します。
% /usr/bin/python setup.py build
で実行されます。これ以降の操作も/usr/bin/pythonを使用します。
*** セグメンテーション違反が発生して起動しない [#nadad899]
セグメンテーション違反(Segmentation fault)が発生するのにはさまざまな要因が絡みますが、nVidiaのグラフィックカードを使用している場合はドライバに問題があるのかもしれません。~
わたしの環境(たぶんGeForce7600GSあたり)ではバージョン''173.14.12''では起動しませんでしたが、バージョン''169.12''をインストールしなおしたところ解消しました。その時の手順を以下に示します。
+ インストールしたPyMOLを削除します
# cd <PyMOLをビルドしたディレクトリ>
# /usr/bin/python setup2.py uninstall
+ [[nVidiaのサイト>http://www.nvida.com/]]のArchived driversの中から必要なバージョンを取得します。
+ そのドライバをインストールします。
+ もう一度PyMOLのビルドからやり直してインストールします
ドライバを入れ替えるだけでなく、PyMOLをビルドし直さなければ適切なバージョンでも解決しません。苦労した〜・・・~
なお、そのドライバが使用可能かそうでないかは、起動した瞬間にセグメンテーション違反がでるか、一瞬ウィンドウが表示されるかで判断できます。一瞬ウィンドウが表示された後のセグメンテーション違反ならおそらく大丈夫です。PyMOLを再構築しましょう。
#br
nVidiaのドライバはこのような問題(OpenGLがらみ)が発生することがあるので覚えておくと、はまらなくていいかもしれませんね(nVidiaのドライババージョン17xを使ったとき、COOTでも同様の事象が発生しました)⌣。~
ただ、カーネルバージョンが新しいと(2.6.27とか)、nVidiaの古いドライバはコンパイルできないので悩ましいところかも・・・
*** TclError: Can't find a usable init.tcl [#d9f2012a]
CCP4 6.1.0をインストールした後、以下のようなエラーが出てExternal GUIが表示されなくなった。
TclError: Can't find a usable init.tcl in the following directories:
/home/fr45/tcltk++/Linux/lib/tcl8.4 /usr/lib/tcl8.4 /lib/tcl8.4 /usr/library
/library /tcl8.4.18/library /home/fr45/tcltk++/Linux/lib/tcl8.4
これは、init.tclファイルをPyMOLが見付けられなかったことが原因のようです。これを解決するには環境変数''TCL_LIBRARY''をセットします。方法は二つあり1)環境変数としてセットしてしまう、2)PyMOL起動ファイルを書き換える、ということです。
+ ''環境変数としてセットしてしまう''~
tcshでは、
setenv TCL_LIBRARY $CCP4I_TCLTK/../lib/tcl8.4 -- CCP4の付属ライブラリを使う場合
または
setenv TCL_LIBRARY /usr/share/tcl8.4 -- Vine 4.2標準
のように指定します(shならexport TCL_LIBRARY=/usr/share/tcl8.4など)。''.cshrc''ファイルに記述してしまえばいいと思います。~
CCP4環境ではTclがCCP4パッケージに付属していたものが使われますのでバージョンをあわせるために''$CCP4I_TCLTK''付属のライブラリにしたほうがいい気がします。
+ ''PyMOL起動ファイルを書き換える''~
もし環境変数でいちいち影響されるのがイヤな場合は、起動ファイルである''/usr/local/bin/pymol''を修正してしまうのも手です。
#!/bin/sh
export TCL_LIBRARY=/usr/share/tcl8.4 <-- これを追加
/usr/bin/python /usr/lib/python2.4/site-packages/pymol/__init__.py $*
こんな感じですね。これならCCP4の環境に影響されないと思います。/usr/share/tcl8.4の場所はシステムによって異なるかもしれませんので確認してください。