LoginSignup
1
0

More than 1 year has passed since last update.

condaでLEfSeを導入するときに注意すること

Posted at

前回、QIIME2をjupyterhub上で動かす記事を書いてから早いもので約10ヶ月が経過しました。QIIME2の更新も(そして我々の解析も)順調に進んでおり、前回の記事のバージョンも古くなっています。今回、2つのサンプルグループの違いを検出する解析が必要になったため、LEfSeの作業環境を追加することにしました。この件に触れた記事も見当たらないので、記事化しておきます。誰かの役に立つといいのですが、主に自分へのメモ書きです。

インストールで問題だった点

LEfSeについては公式サイトをご覧ください。GUIで利用するのであればGalaxyでネット越しに利用すれば、なんの問題もありません。統合TVyoutube等が参考になるのではないでしょうか。自分は前述のように開設したjupyterhub上で実行したいので、ローカルに実行環境を作ることにしました。公式にもgithubにも
$ conda install -c bioconda lefse
とだけ書かれています。しかしこれだけでは上手くインストール出来ませんでした。
上記の環境で試しても、新規に作成したconda環境でも、仮想マシンに新規インストールしたOS環境でも、さらっとエラーになりますので、conda環境の中の問題と推定しました。しばらく悩みましたが、以下のようにすると解消します。
まずLEfSeが要求するパッケージの準備
$ conda search -c bioconda lefse --info
で表示される依存するパッケージのうち、biom-formatとrpy2の2つ以外はmainチャンネルのもので構いませんが、biom-formatとrpy2の2つはconda-forgeチャンネルのものを指定する必要がありました。

$ conda install -c conda-forge biom-format rpy2
$ conda install -c bioconda lefse==1.1.2

これで最新のLEfSe 1.1.2となります。
注意点としては、LEfSe 1.1.2のpython要求性が >=3.7 のため、QIIME2-2021.2以前ではLEfSeのバージョンを下げる必要があります。

QIIME2のアップデート

仕方ないので、せっかくなのでQIIME2をアップデートします。conda環境を新たに作ってサービスの設定を修正するだけの簡単(?)な作業です。
まずSSH等でサーバにログインし、rootに権限昇格したところから始めます。

(base) # wget https://data.qiime2.org/distro/core/qiime2-2021.8-py38-linux-conda.yml
(base) # conda env create -n qiime2-2021.8 --file ./qiime2-2021.8-py38-linux-conda.yml
(base) # conda activate qiime2-2021.8
(qiime2-2021.8) # conda install -c conda-forge jupyterhub jupyterlab biom-format rpy2
(qiime2-2021.8) # conda install -c bioconda lefse==1.1.2
(qiime2-2021.8) # vim /usr/local/sbin/jupyterhub-startup.sh
/usr/local/sbin/jupyterhub-startup.sh
#!/bin/bash

QIIME=qiime2-2021.8

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

cd /var/local/jupyterhub
conda activate $QIIME
/opt/miniconda3/envs/$QIIME/bin/jupyterhub -f /etc/jupyterhub/jupyterhub_config.py
(qiime2-2021.8) # systemctl restart jupyterhub.service

これで終了となります。

終わりに

今回はLEfSeの導入とQIIME2の更新を行いました。教訓としてエラーの内容はよく読む必要があるということです。特にスクロールで流れてしまうようなエラーは注意深く最初の方の出力まで確認しないと、今回のようにしばらく悩むハメになります。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0