2020/05/03 公開
2020/05/14 インストールするプログラム等の解説を追記

解析環境の構築

データ解析など、研究の現場ではキーボードからコマンドを入力して操作するソフトウエアが多く使われる。macOSはUNIXをベースとしているので、コマンドライン操作が行えるターミナルアプリが標準で付属するため、解析環境を構築するためのハードルが低いのでお薦めである。

このマニュアルでは、コマンド入力をするところという意味で「:>」という記号を行頭につける。この記号は除いて、後のコマンドを改行せずに一行で入力する。
 

Macの選び方

Mac miniやiMacといった一般向けの機種で計算性能は十分ではあるが、メモリーは多い方が良い。MacBook Proなどノート型でも大抵の解析作業は行えるが、計算負荷が大きくなると冷却ファンの音が煩くなる可能性があるので、デスクトップ型が良いのではないかと思う。個人的には、最大限のメモリーを積んだMac miniがお薦めである。
 

必要なソフトウエアをインストールする

  • MacPorts

ソフトウエアパッケージ管理環境のひとつ。何かソフトをインストールする際、依存関係がある別のソフトがある場合には一緒にインストールしてくれるなど、環境構築や管理を便利にしてくれる。同様の管理システムに Fink や HomeBrew があるが、個人的に MacPorts が最も'行儀が良い'と感じている。特にAnacondaと混在させる場合には最良の選択肢だと思われる。
 

  • Trinity

RNA-seqのリードデータから、転写産物の塩基配列を構築(アセンブル)するためのソフト。付属するツール群が優秀なので、Macの性能的にアセンブルが不可能であったとしても、解析環境として手元で動かせるのはメリットが大きい。
 

  • Anaconda

Python + データ解析パッケージ の環境を構築するのに人気の高い管理システム。最近はPythonの解析パッケージだけではなく、バイオインフォマティクスの各種ツールがAnacondaの中のBiocondaというチャンネル内で配布されており、生物学に関係する人には欠かせないシステム。
 

  • R

統計解析に特化したプログラミング言語。これも研究者には欠かせないシステムの一つで、トランスクリプトーム解析でも多様する。Rの環境を構築する方法は色々あるが、使用するパッケージをインストールしようとしてもコンパイルが通らないといったトラブルが起きることもあり、管理はやや面倒。Anacondaを使うとRのパッケージも簡単にインストールできるので、Anaconda内で環境構築することをお勧めする。
 

以下、順を追って解説する。
 

0 念のため、シェルを確認する

:> echo $SHELL

と入力して

/bin/zsh と出ればOK

違う場合は :> chsh -s /bin/zsh
 

シェルに好みがある場合はそれを使っても構わないが、ここではzshを使う前提で解説を行う。適宜、.zshrc を適切な環境設定ファイルに読み替える。例えば、bash を使いたい場合は .zshrc を .bashrc に変更して下記の作業を行う。
 

用語解説

シェル: コマンドラインでコンピューターを操作する際、人間とコンピューターの間を取り持つ役割の環境プログラム。tcsh, bash, zsh などがある。POSIX準拠のUNIXではtcsh、Linuxではbashが標準で使われることが多い。macOSでは、以前はbashが標準であったが、Catalina以降はzshが標準になった。どれを使ってもできることはほぼ一緒で、ちょっとした方言の違い程度なので好みのものを使えば良い。特に希望がなければ、macOS標準のzshにしておくのが無難である。

コンパイル: プログラムのソースコードから、ソフトウエアの実行形態に変換すること。
 

Mac App Store から CotEditor (無料のコード・テキストエディター)をインストール

(必須ではないが、コード作成等で便利なのでオススメ)

 

使い方 (環境設定ファイルを編集する場合)

:> open -a coteditor .zshrc
 

1 Xcode コマンドラインツールをインストール

Terminal.app を開いて、下記のコマンドを入力する。

:> xcode-select --install
 

2 MacPorts をインストール

UNIX系のソフトウエアパッケージ管理環境
https://www.macports.org/install.php

パッケージ管理環境にはいくつかあって、おそらくMac用としては HomeBrew が最も利用者多い。利用者が多い分、Google検索等で必要な情報を得やすいというメリットがあるものの、HomeBrew は Anaconda との相性に問題が生じることが多い。バイオインフォマティクスで利用するソフトウエアは、Anaconda のチャンネルの一つである Bioconda で管理されているものが多くて便利なので、Anaconda の使用は外せない。そこで、Anaconda との相性問題が生じない MacPorts をパッケージ管理環境として利用する。MacPorts のもう一つのメリットとして、Mac 用の Xwindow システムである Xorg のメンテナンスが継続されているので、長期的に見て安心感がある。
とは言っても、MacPorts を使ってインストールするものは、必要最小限になるのであまり使わない。

インストール完了後、

:> sudo port selfupdate

と入力して

The ports tree has been updated. To upgrade your installed ports, you should run port upgrade outdated

と表示されたらOK。

 

Trinityのコンパイルに必要なソフトを導入する。

:> sudo port install gcc9 cmake
 

ついでに、ファイルの加工に使うソフト等もインストール

:> sudo port install gsed xorg-server
 

3 Trinity をコンパイルする

後の手順でインストールするAnacondaの環境が、Trinityのコンパイルの阻害になるので先にこちらを行う。
※既に Anaconda 環境を構築して利用している場合は、一時的に無効化する必要がある。下記「おまけ1」を参照。

MacPorts の gcc が使われるようにセットする

:> port select --list gcc (インストールされたgccを確認)

:> sudo port select gcc mp-gcc9

 

Trinityの最新版のソースコードをダウンロードする。

https://github.com/trinityrnaseq/trinityrnaseq/releases
 

ホームディレクトリーなど、分かりやすいところにファイルを置いて、展開する。展開したフォルダーの名前もわかりやすいものに変更する。
例: Analysis/Trinity-v2.10.0

ソースコードから実行形式にコンパイルする。
(次の項目のAnacondaをインストールする前に行う)

:> cd ~/Analysis/Trinity-v2.10.0

:> make && make plugins

 

終了したら、Trinityの場所を設定する。

:> echo 'export TRINITY_HOME=$HOME/Analysis/Trinity-v2.10.0' >> ~/.zshrc

 

起動するか確認する。

:> $TRINITY_HOME/Trinity


こんな画面が出たらOK!
 

gcc を標準のものに戻す

:> sudo port select gcc none
 

4 Anaconda をインストール

公式サイトからダウンローダーを入手して、通常の操作でインストール。
https://www.anaconda.com/distribution/

グラフィカルユーザーインターフェースが必要ない場合、最小構成の Miniconda をインストールしても良い。その後の conda コマンドの利用については同じなので、ほとんど困ることはない。

Anaconda にチャンネルを追加する(下記の順番を守ること)

:> conda config --add channels anaconda
:> conda config --add channels bioconda
:> conda config --add channels conda-forge


Python 3.8 環境を作る(Rも一緒にインストール)

Anaconda Navigator を起動する
Envronments で「Create」をクリック
py38 など、わかりやすい短い名前をつけて新規環境を作成
python のリストから 3.8 を選択
r も一緒にインストールする
:> echo 'conda activate py38' >> .zshrc
ターミナルの新しいウインドーを立ち上げる

(オプション)Rstudio と spyder をインストール

:> conda install rstudio spyder


必要なソフトのインストール
  • bowtie(bowtie2より先にインストールする)
  • bowtie2
  • kmer-jellyfish
  • salmon
  • samtools
  • blat
  • perl-threaded


例: インストール可能な最新版

:> conda install bowtie


ソフト名をスペースでつなげて、まとめてインストールすることもできる

:> conda install salmon kmer-jellyfish bowtie2 samtools blat perl-threaded
:> conda install ipython numpy scipy matplotlib pandas scikit-learn scikit-image

 

発現量解析で必要になるソフトをまとめてインストールする

  • kallisto
  • eXpress
  • trimmomatic
  • transdecoder
  • seqkit
  • fastqc
  • trinotate
  • biopython
 

:> conda install kallisto eXpress trimmomatic transdecoder seqkit fastqc trinotate rsem biopython
(めっちゃ時間がかかる)
 

5 Rに必要なパッケージをインストール

発現量解析などで使うパッケージ。これはR内でインストールするとコンパイルエラーが出たり何かと面倒なのだが、conda でインストールすると簡単に終わる。

 

:> conda install r-gplots r-ape r-argparse r-fastcluster
:> conda install bioconductor-seqlogo bioconductor-edger bioconductor-deseq2 bioconductor-ctc bioconductor-biobase bioconductor-qvalue bioconductor-goseq


ターミナルで「R」を実行し、問題なく実行できることを確認する

:> R
:> q()


以後、何か実行して「○○が足りない」というエラーが出て止まった場合、その名前で conda を検索してヒットしたものをインストールすると解決する。


 library(goseq) でエラー:
   ‘goseq’ という名前のパッケージはありません
 実行が停止されました
 

:> conda search goseq
:> conda install bioconductor-goseq

 

6 テストアセンブルを実行1 簡易版

:> cd $TRINITY_HOME/sample_data/test_Trinity_Assembly
:> ./runMe.sh

 

7 おまけ1

新しいバージョンのTrinityが出たり、解析環境構築後にTrinityのコンパイルを行う必要があるときは、Anacondaの環境を無効化する必要がある。そのためには、Anacondaのインストーラーがシェルの環境設定ファイルに書き込んだ設定部分を、一時的に削除(またはコメントアウト)する。

.zshrc を開いて

 

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/Users/名前/opt/anaconda3/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/Users/名前/opt/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/Users/名前/opt/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/Users/名前/opt/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

conda activate py38
 

の部分を削除(またはコメントアウト)して保存し、新しいターミナルのウインドーを開いてTrinityをコンパイルする。
コンパイルが完了したら.zshrcを元に戻してAnacondaが使える状態にし、新しいターミナルのウインドーを開いてcondaコマンドを動かしてみるなど動作確認を行う。
 

Trinity のコンパイルに戻る
 

8 おまけ2

発現量解析で使うRの統計解析アルゴリズム「DESeq2」を読み込むとき、下記のエラーが出る場合がある(2020/05/01現在)。
 

共有ライブラリ '/Users/名前/opt/anaconda3/envs/py38/lib/R/library/DESeq2/libs/DESeq2.dylib' を読み込めません: 
dlopen(/Users/名前/opt/anaconda3/envs/py38/lib/R/library/DESeq2/libs/DESeq2.dylib, 6): Library not loaded: @rpath/libopenblasp-r0.3.7.dylib
Referenced from: /Users/名前/opt/anaconda3/envs/py38/lib/R/library/DESeq2/libs/DESeq2.dylib


これはDESeq2が必要とする openblas のライブラリーがインストールされてはいるものの、読み込もうとしている version 0.3.7 より新しいものになっている場合に起きる。openblasのバージョンを下げれば解決するので、

 

:> conda install openblas=0.3.7

とバージョンを指定してインストールし直すことで解決する。

Anaconda で管理するソフトウエアやパッケージは、依存関係があるソフトを一緒にインストールしてくれるものの、バージョンが合わないということが時々あるので、この方法を覚えておくと解決が早くなる可能性がある。

 

目次

  1. 環境構築
  2. リードのクオリティチェックとアセンブル
  3. Transdecoder による遺伝子予測とアノテーション
  4. リード数のカウント
  5. カウントマトリクスの作成
  6. リードカウントのQC解析
  7. DE解析
  8. DEG取り出し
  9. おまけ1: Transdecoderの自動化
  10. おまけ2: 発現量解析の自動化

Q&A

皆様からいただいた質問と回答など、こちらへ掲載します。
 

質問やご意見はこちらへ

※ボタンのリンク先は、皆で語り合う生命誌研究館の掲示板「みんなの広場」です。ご投稿いただいたご質問やご意見、館員からのお返事は公開されますのでご了承ください。