介紹如何在 Ubuntu Linux 系統上以 Anaconda 安裝 QIIME2 微生物組分析流程軟體,並結合 JupyterLab 與 R 打造整合分析環境。
本篇的測試環境為 Ubuntu Linux 18.04,並已安裝好 Anaconda 的基本環境。
QIIME2 官方文件中建議的安裝方式是透過 Miniconda 來安裝,不過當我們需要將 QIIME2 與其他的環境整合(例如 Jupyter 與 R)在一起時,使用 Anaconda 可能會更方便一些。
以 Anaconda 安裝 QIIME2 的方法其實跟 Miniconda 幾乎一樣,先下載套件定義檔:
# 下載套件定義檔
wget https://data.qiime2.org/distro/core/qiime2-2019.10-py36-linux-conda.yml
然後建立一個 QIIME2 專用的 conda 環境,命名為 qiime2-2019.10
:
# 建立 QIIME2 的 Conda 環境 conda env create -n qiime2-2019.10 --file qiime2-2019.10-py36-linux-conda.yml
載入剛建立好的 QIIME2 conda 環境:
# 載入 QIIME2 的 Conda 環境
conda activate qiime2-2019.10
載入了 QIIME2 的 conda 環境後,即可開始使用 QIIME2 的各種指令工具進行微生物組的相關分析了。
若要卸載 QIIME2 的 conda 環境,可以執行:
# 卸載目前的 Conda 環境
conda deactivate
如果希望一般的環境下執行 QIIME2 相關的指令,可以使用 conda
將 QIIME2 的指令包裝起來執行,透過這樣的方式就可以將任何 QIIME2 的指令稿整合至其他環境中:
# 在 qiime2-2019.10 環境中執行 qiime conda run --name=qiime2-2019.10 qiime --version
建立一個 jupyterlab
專用的 conda 環境:
# 建立新的 Conda 環境 conda create --name myjupyterlab python=3.7
在這個 myjupyterlab
環境中安裝 JupyterLab 套件:
# 在 myjupyterlab 環境中安裝 JupyterLab 套件 conda install --name myjupyterlab --channel conda-forge jupyterlab
安裝好之後,就可以在 myjupyterlab
環境中啟動 JupyterLab 的伺服器了:
# 以 myjupyterlab 環境執行 JupyterLab conda run --name myjupyterlab jupyter lab
也可以在載入 myjupyterlab
conda 環境之後,再啟動 JupyterLab 的伺服器:
# 載入 myjupyterlab Conda 環境 conda activate myjupyterlab # 執行 JupyterLab jupyter lab
若要在 JupyterLab 環境中執行 QIIME2 相關的指令,最直接的方式就是在終端機中執行指令:
另一種方式是直接在 Jupyter Notebook 中執行外部指令,在 Jupyter Notebook 中可以用驚嘆號(!
)執行單一行指令:
! conda run --name=qiime2-2019.10 qiime --version
或是以 %%bash
執行 bash shell 指令稿:
%%bash date conda run --name=qiime2-2019.10 qiime --version
除了直接以呼叫外部指令的方式之外,Jupyter 也可以透過伺服器擴充功能(server extension)來使用 QIIME2 的 Python 模組。
首先建立一個 QIIME2 + JupyterLab 用的 conda 環境,並將 QIIME2 所需套件安裝至其中:
# 建立 QIIME2 + JupyterLab 用的 Conda 環境 conda env create --name qiime2jupyter --file qiime2-2019.10-py36-linux-conda.yml
在這個 conda 環境中,加裝 JupyterLab 相關套件:
# 安裝 JupyterLab conda install --name qiime2jupyter --channel conda-forge jupyterlab
載入此 conda 環境:
# 載入 QIIME2 + JupyterLab 的 Conda 環境
conda activate qiime2jupyter
啟用 QIIME2 的 Jupyter 伺服器擴充功能:
# 啟用 QIIME2 的 Jupyter 伺服器擴充功能 jupyter serverextension enable --py qiime2 --sys-prefix
Jupyter 伺服器擴充功能只需要設定一次,設定好之後,即可按照正常的方式啟動 JupyterLab:
# 啟動 JupyterLab
jupyter lab
在此環境之下,我們就可以直接引入 qiime2
這個 Python 模組,透過 QIIME2 的 Artifact API 使用各種分析工具了。
較詳盡的範例可以參考 Moving Pictures 教學範例的 Python API 版本。