M1 Macでde novoアセンブリがうまくいかない?
ついにMacにプロセッサーが搭載されました!
速い速いと巷で話題らしいので、早速研究活動に使ってみようと試みました。
ゲノムファイルのde novoアセンブリに使おうとしたのですが・・・
「Biopythonツール(spadesなど)がうまくcondaでインストールできない??」
「なんかspadesがうまく動かない・・・」
なんて事が起こったのです。
本記事では、その試行錯誤した後の解決策(応急処置的なものが多いですが)を紹介します。
今回はcondaによるインストールに関して説明します。
ご参考になれば幸いです。
目次
- Rossetaをインストールしよう
- Mac用conda(miniconda3)を導入しよう
- Biopythonツールをインストールしよう
Rossetaをインストールしよう
condaでインストールするspadesは、intelプロセッサで動きます。
そのため、M1 Macでは本プログラムは動かせません。
そこで、Rossetaを使いましょう!
RossetaはM1チップ搭載Macでもintelプロセッサ搭載Mac用のアプリケーションを動かせる(変換できる)ようにするものです。まずはRossetaをインストールしましょう。
Rossetaインストール
Rossetaのインストールは、intelプロセッサ用プログラムを実行しようとするとできます。
まずは、intel用アプリをインストールします。私は、アセンブリ評価プログラムbandageを用いました。Intel用アプリをインストール後、アプリケーション上のアイコンをクリックすると、以下の表示が出ます。
ここで「インストール」をクリック
これで導入完了しました。
ターミナルをRossetaで開けるようにする
「Finder」→「アプリケーション」→「ユーティリティ」→「ターミナルを右クリック」→「情報を見る」→「『Rossetaを使用して開く』にチェック」
下の画像の様にすればOK
Mac用conda(miniconda3)を導入しよう
公式サイトでMiniconda3 macOS Intel x84 64-bit bashをダウンロードし、ターミナル上のzsh
でminicondaをインストールします。
なんでM1 Mac用のファイルじゃないの?
M1 Mac用のminiconda(以下M1minicondaとします)ではspadesなどがconda installできないためです。
conda installでは、condaが使用されたplatform内のプログラムが検索されます。M1ならosx-arm64、macならosx-64のplatfromです。
しかし、spadesはosx-arm64には登録されていないのです。パッケージ情報はAnaconda.orgから確認できますが、spadesの検索結果をみると、osx-arm64にspadesがないことがわかります。
そのため、Mac用のminiconda3が適切なのです。
M1 Macに通常Mac用のminiconda3が使えるの?
ここで、Rossetaが活きてきます。
Mac用minicondaはIntel向けプログラムです。
Rossetaでターミナルを使用すれば、利用できます。
Biopythonツールをインストールしよう
spadesをインストールしてみよう
de novoアセンブリではspades
、ゲノムデータの編集・確認にfastp
やseqkit
がよく使われます。
実際にインストールしてきます。
まず、conda create
で環境構築し、conda activate
で環境に移動します。
そして、conda install
でインストールします。spades
・fastp
・seqkit
はチャネル「bioconda」に入ってます。インストールの流れは以下の通りになります。
#環境構築
conda create -n myenv
#環境に移動
conda activate myenv
#チャネル追加
conda config --add channels bioconda
#インストール
conda install spades fastp seqkit
roary・prokkaをインストールしてみよう
de novoアセンブリ後に使うプログラムとして、アノテーションツールprokka、パンゲノム解析ツールroaryがあります。
なぜか、conda install
ではインストールできないのです。
ただ、成功した例はあるので紹介します。
conda create --no-channel-priority -c conda-forge -c bioconda/label/cf201901 -n myenv prokka
conda create
と同時にインストールする方法です。これによってprokkaとroary(上記コマンドのprokkaをroaryに変えれば)を導入できます。どのようなメカニズムであるのかはまだわかっていないので、判明次第更新します。
終わりに
既存のプログラムにはM1 Macと互換性を持たないものがあるはずです。
特にバイオインフォマティクス分野のものに顕著に見られる感じがします。
今後も対処策を紹介していきます。同じ悩みに直面した方々の力になれれば幸いです。