Palmsonntagmorgen

NGSデータを使った解析と、その周辺。

pyenvでPython環境を構築する

ざっくりですが。

Pythonツールのインストール

最近はPythonで書かれたツール類が増えてきています。 pip や conda でツールをインストールできるのはエラーも少なく、大変便利ですね。
ただ、pythonは2系と3系があり、python2.xでしか動かないツール、python3.xでしか動かないツールがあります。 違うバージョンで動かそうとするとエラーになったりして、ローカルPCなら適宜使い分ければいいのですが、 共有サーバ上で使い分けたりする場合はなかなかしんどいです。 (今そういう状態になっている)

ここでは、python2系と3系を使い分ける方法を簡単に記載します。
ここに書かれている内容は以下のエントリをベースにしていますので、 anaconda, pyenvとは何ぞや?という人はまず以下のエントリを参照ください。

データサイエンティストを目指す人のpython環境構築 2016 - Qiita

Win, MACのローカルPCの場合

Anacondaを直接インストールするのが一番簡単だと思います。
Anacondaも2系と3系がありますが、3系をインストールし、必要があれば中で2系の環境を構築するのがよいでしょう。
(構築方法は上記エントリを参照)

pyenvで環境構築

Linuxのターミナル上で動かす場合は、pyenvが一番良いのではないかと今のところ思っています。
システムにインストールされているpythonを色々いじるのはリスクが大きいことと、 pyenv内であれば、よくわからない状態になってしまった場合に新規入れ直しが簡単なためです。
anaconda3の中でpy2環境を構築するのでも良いのですが、一部のいけてないツールはpy2環境のbinを読みに行ってくれなかったりするので、pyenvで切り替える方がエラーが少なく済むかもしれません。
ただ、pyenvの環境設定は基本的にユーザ単位のようなので、共有サーバ上で使う場合、各ユーザが個別にpyenvをインストールし、設定作業をする必要があるようです。

pyenvのインストール

git がインストールされている前提です。

 $ git clone https://github.com/yyuu/pyenv.git ~/.pyenv
 $ echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
 $ echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
 $ echo 'eval "$(pyenv init -)"' >> ~/.bashrc
 $ source ~/.bashrc

pyenvでanacondaのインストール

ここではpyenv localを使う前提でanacondaの2系と3系をインストールしています。内部でpy2 環境を構築する場合はanaconda 3のみインストールします。

 $ pyenv install anaconda2-4.4.0
 $ pyenv install anaconda3-4.4.0
 $ pyenv rehash
 $ pyenv global anaconda3-4.4.0

ツール類のインストール

何しろnumpyとscipyは必ず必要になりますので最初に入れておきましょう。

 $ conda install -y numpy scipy

例えばDeepToolsをインストールしたい場合は以下のようにします。

 $ conda install -c bioconda deeptools

biocondaには色々とツールが入っているのですが、バージョンが古かったりエラーがあったりしますので、注意してください。

Python 2.x でしか動かないもの

  • MACS2 及び 内部でMACS2を動かすツール(Mangoなど)
  • Segway 2.0
  • Hi-C pro
  • RSeQC
  • qiime

など

Python 3.x で動くもの

  • DeepTools
  • HiClib
  • mageck-vispr
  • Snakemake

など