2017年11月20日月曜日

MS/MSフラグメンテーションの正規表現を用いた代謝物アノテーション

日本化学会情報化学部会の「Journal of Computer Aided Chemistry」<岡田孝先生・西岡孝明先生の退職記念号>へ、「MS/MSフラグメンテーションの正規表現を用いた代謝物アノテーション」をいう原稿を寄稿する機会をいただきました。西岡孝明京都大学名誉教授、金谷重彦奈良先端科学技術大教授に心より御礼申し上げます。メタボロミクスにおける化合物同定を正攻法でやる気だけは全くない、場合のアプローチについての思弁がやや暴走気味に語られております。ただFDRだとかオントロジーだとかぶつぶつ言っているとこんなんとかこんなんとか出てくるのですから(10年遅いよという突込みはぐっとこらえて)書いておくことできっとどこかに届くこともあるのかもしれません。それから、最初と最後のあたりの文章は愛読する網野善彦先生の「異形の王権」あたりの影響が色濃く出ています。一度真似してみたかったのであります。

2017年11月2日木曜日

Anaconda環境でのpyOptの使用

pyOptとはPython用最適化ソルバツールボックスである。バージョンが1.2.0になったあと、更新が止まっている点が気になるが、SLSQPもSciPyデフォルトより根性がある(ようなきがする)上に、SDPENなど最新のソルバが使える点に魅力がある。またParallel pythonは関数レベルでお気楽に並列分散処理ができるので、これまた魅力的である。どちらも現在開発中のpython版13C代謝フラックス解析用ツールボックスで活用している。一方、最近のPythonのトレンドはAnacondaであろう。仮想環境+パッケージ管理システム+有用てんこ盛りなため、最近のWindows+Python環境構築のファーストチョイスになっている。話題のTensorFlowとかもAnacondaが前提らしい。そこでWindows+AnacondaでpyOptを動かす方法を調べてみたので忘備録として記す。


1. windowsのユーザー名(フォルダ名)は1 byteアルファベット、スペースなしであること
× 松田
× Fumio Matsuda
〇 fumiomatsuda
2. Anaconda 64bitをインストール (ver 5.0.1だった)
3. 仮想環境 pyflux を構築 Anaconda promptを起動
> conda create -n pyflux python=2.7 numpy=1.10 scipy=0.17 matplotlib=1.5
Anaconda用pyOptはnumpyのバージョン依存。1.9では低すぎ、最新版ではnumpyの仕様変更でエラーが出る。

4. 仮想環境を起動
> activate pyflux

4. mingw64_dllをダウンロード
ファイルを解凍して、
libgcc_s_seh-1.dll
libgfortran-3.dll
libquadmath-0.dll
を仮想環境のLibrary/binにコピー

5. pyOptをインストール
> conda install -c mutirri pyopt
mpi4pyで何やらエラーが出るが無視

6. pyOptの動作確認
> python
でpythonの起動
>>> import pyOpt
>>> pyOpt.SLSQP()
<pyOpt.pySLSQP.pySLSQP.SLSQP object at 0x00000000035A21D0>
という感じでエラーが出なければOK
>>> quit()
で終了

7. parallel pythonのインストール
http://www.parallelpython.com/から pp-1.6.5.zip をダウンロードする。
解凍したフォルダで
>python setup.py install

8. parellelpythonの動作確認
> python
でpythonの起動
>>> import pp
で確認

9. spyderのインストール
> conda install spyder

10. pyflux環境でのspyderの起動
pyfluxをactivateした状態で
> spyder

numpyはバージョンごとにちょこちょこと仕様が変わるなぁ。