python使用環境構築

(2013/3/2) 科学計算用にpythonを使用することは結構流行の兆しがあり、環境構築されつつある。Pythonの特徴は比較的プログラミングが容易であること、モジュールをインストールすることにより多彩な既存プログラミングが利用可能であることである。またプログラミングの際に使用するインターフェースも多様にそろっており、対話型のものもある。

自分としては化学情報学の土台として利用したいという考えがある。化学の土台としてpythonを使用しようとするとopenbabelが使用できることが必要である。今回研究室のwin7(32bit)および自宅のwin7(64bit)上に構築したPython環境につい以下に説明する。

  • Python本体のバージョンは2.6.6.2である。
  • 使用環境であるPython(x,y)と一体化した状態で頒布されているので、それをインストールする。
  • OpenBabel の本体バージョンはOpenBabel2.3.2a_Windows_Installerである
  • インターフェースとなるpythonモジュールはopenbabel-python-1.8.py26
  • またその他モジュールがインストールされていない場合があるので確認する(oasa, pyemf)。
  • Windows上でパスが通っていない事があるのでデスクトップ>コンピュータを右クリックでプロパティをチェック、システムの詳細設定で環境変数を確認する(詳細はリンク6で確認のこと)


化学計算・化学情報学ベースとなるようなpythonのために必要なものは以下

  • python
  • openbabel
  • PIL
  • 一般的な数学系モジュール

これらのなかで実際に使用可能なモジュールの世代は

  • python本体 2X系は2.7まで、3X系は3.3まで
  • openbabel 実装は3.3や2.7でも出来るらしい(未検証;理由は以下)
  • PIL 2X系までサポート

これに加えてプログラミング言語ベース、プログラミングインターフェース

  • eclipseごく一般的なスクリプト開発キット、全python対応(python世代横断、Rubyなども横断して開発できる)
  • i-python対話型開発が可能
  • spyder(python(x,y))科学計算における必要なモジュールが網羅されている、対話型、マトラボに近い

などが使用するインターフェースの候補としてあげられる。ただしこのインターフェースによっては実行後に図が描像する場面もあったりする。その場合には各モジュールがインストールされていることが必須となる。その観点で言うと、やはり科学計算において必要なモジュールがほとんど一括でインストールされるpython(x,y)がもっとも便利であると考えられる。インターフェイスは数種類用意され、一般的にはi-pythonで対話型の探索で使用するのが良いと考えられる。なおspyderはpythonインターフェイスの中でもっともmatlabに近い様である。自分にとってはマトラボに近い方が科学計算の探索においては使いやすい(その意味ではRもR-studioが使いやすい)

さて、この中で自分のやろうとしている化学情報学に関して必須なモジュールはopenbabelである。このopenbabel、本来はpython用に作成されたものではないようである。おそらく本来はCで書かれており、rubyでもハンドリングが出来、windows用においては試しに使用しやすいGUIも用意されている。限定されたいくつかのバージョンのみがpythonインターフェースに適合するようモジュール化されている。それが“pybel”であるようだ(もう少し勉強したらわかるのだろうがちょっと放置)。最新バージョンを取得するためには、検索時には“pybel”という名前と“openbabel + python”という名前両面で検索することが必要である。

Python本体のバージョンは2.6.6.2である。Python(x,y)と一体化した状態で頒布されているのでインストールする。詳細は上述の通りである。また要注意な点としてはpython、Python(x,y)のインストールで、Python(x,y)においては一体型となっているので、それまでに同バージョンのpythonをインストール済みの場合はアンインストールする必要があるかもしれない。加えてPython(x,y)の2.6.6.2はパッチで完成するので、まずはPython(x,y)2.6.2.0のインストールを完了させ、そこからパッチの上書きでPython(x,y)2.6.5.6.2までアップする。その後python2.6.6(Python(x,y)ではない)をインストール。これに再びPython(x,y)2.6.6.1、Python(x,y)2.6.6.2のパッチを当てて完成させる。動作、モジュールの接続の確認はspyderから行うことが出来る。Python(x,y)には複数のpythonバージョンを切り替える機能がないようなので、2.6.6.2で固定して動かすイメージを持っていた方が良い。その際にそれ以外のバージョンでのプログラムを動かせる環境が必要であれば、別途eclipseなどの環境を整えるほかないようである。

動作確認はweb上に転がっている

インストール方法(セットアップの仕方)とか基礎知識系
1.OpenBabel - Wikipedia
2.Install Open Babel — Open Babel v2.3.1 documentation
3.python(x,y) - Python for Scientists
4.OASAoasa
5.pyemf Information - SourceForge.JP pyemf
6.Pharmaceutical Developer's Note: PythonでOpenBabelを使うこれを元にセットアップした
*.Pybel: a Python wrapper for the OpenBabel chemin... [Chem Cent J. 2008] - PubMed - NCBI
*.OpenBabel2.3.0 (Windows) — Cheminformist
例題とか、試行スクリプト例とか
7.イヌダイスキ: Pythonのインストール(Python xy)・・・Pythonねた
8.Pythonで心理実験 - 例題10-3
9.科学計算のための楽々環境 python(x,y) - 傀儡師の館.Python - 楽天ブログ(Blog)
10.科学計算ごっこ 試行スクリプト例_数学計算
11.化合物の描画をしたい - ケモインフォクックブック 試行スクリプト例_化学
12.量子化学計算ビギナーズマニュアル化学情報学以外も視野に入る?

コメントを残す