バイオインフォマティクス

Docker をインストールして使えるようにする

当サイトでは、バイオインフォマティクスの解析方法を、初心者向けにわかりやすく解説していきます。最初に、Docker のインストール方法、および基礎的な使用方法を解説します。Docker を利用することで、バイオインフォマティクスの解析に必要な、他のツールの導入がかなり簡単になります。

目次
  1. Docker とは何か
  2. Docker のインストール
  3. 試しに使ってみる

Docker とは何か

Docker は、コンテナ仮想化を用いてアプリの開発をすることができるオープンプラットフォームです。
以下に、ChatGPT による初心者向けの解説を書きました。

-- ChatGPT --
Docker(ドッカー)は、アプリケーションを動かすための環境を「コンテナ」という箱にまとめて、どこでも同じように実行できるようにする技術です。

Dockerは「お弁当箱」のようなものです。
・お弁当箱の中には、アプリ(おかず)だけでなく、それを動かすのに必要なソフト(ご飯や道具)も一緒に詰められています。
・このお弁当をどこに持って行っても(他のPCやサーバーでも)、同じように動きます。
(以下略)
----

バイオインフォマティクスで使用するツールには、依存ツールが多く、導入するのにかなり手間がかかるものがあります。Docker を利用することで、使用したいツールと、そのツールの依存ツールをまとめてインストールすることができるため、初心者でも簡単に解析ツールを使用できるようになります。

Docker のインストール

実際に、Docker のインストールを進めていきます。
最初に、Docker Hub のアカウントを作成します。Docker Hub を利用することで、他の人が作った開発環境をコピーして、さまざまなツールを楽に使えるようになります。

Docker Hub のサイトから Sign up をクリックして、ID やメールアドレスを入力してください。ID は Docker Hub の URL の一部になりますが、個人の研究では Docker Hub に何かをアップロードすることはほとんどないはずなので、あまり気にしなくて大丈夫です。

その後、名前や組織名などを入力するページになります。研究や勉強目的であれば無料で使えるはずなので、自分の目的に合わせて入力してください。

最後に、メールが届くのでメールの指示に従って、Verify すればアカウントの作成が完了します。
次に、Docker Desktop をインストールします。Docker Hub のアカウントを作成した後に、ダウンロードのページに飛べるはずですが、もしできなかった場合は、公式サイトに手動でアクセスして、自分の OS に合ったインストーラーをダウンロードしてください。ダウンロードができたら、インストーラーの指示に合わせてインストールしてください。

私の場合、M4 Mac を使用しているので、Apple silicon に対応したインストーラーを使用しました。Mac の場合は、Docker.dmg というファイルがダウンロードされるので、それを起動して Docker.app を Applications に移せばインストールできます。

試しに使ってみる

インストールできたら、実際に使ってみましょう。
Docker では、Dockerfile というテキストファイルを利用して、作成するコンテナの中に必要なツールを定義します。適当なフォルダを作成して、Dockerfile という空のテキストファイルを作成してください。
Mac の場合は、ターミナルから以下のコマンドでフォルダ、ファイルを作成できます。

# 空のフォルダを作成
mkdir dir_name

# 空のテキストファイルを作成
touch file_name

# Dockerfile の場合
touch Dockerfile

Dockerfile を作成したら、以下の内容をコピペしてください。左上のボタンを押すとコピーできます。

FROM --platform=linux/amd64 ubuntu:22.04

# 基本パッケージのインストール
RUN apt-get update && apt-get install -y \
build-essential \
zlib1g-dev \
libncurses5-dev \
libncursesw5-dev \
libbz2-dev \
liblzma-dev \
libboost-all-dev \
wget \
curl \
git \
perl \
python3 \
python3-pip \
unzip \
nano \
sudo \
&& apt-get clean

# 非rootユーザー作成
RUN useradd -ms /bin/bash trinityuser && \
echo 'trinityuser ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
USER trinityuser
WORKDIR /home/trinityuser

# Miniconda x86_64 のインストールと Trinity のセットアップ
ENV PATH="/home/trinityuser/miniconda3/bin:$PATH"
RUN curl -LO https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh && \
bash Miniconda3-latest-Linux-x86_64.sh -b -p /home/trinityuser/miniconda3 && \
rm Miniconda3-latest-Linux-x86_64.sh && \
/home/trinityuser/miniconda3/bin/conda config --set always_yes yes --set changeps1 no && \
/home/trinityuser/miniconda3/bin/conda install -c bioconda -c conda-forge trinity

# 作業ディレクトリ
WORKDIR /data

# デフォルトのCMD(引数なしで使えるように)
CMD ["bash"]

コピペしたら、ファイルを保存して、ターミナルで以下のコマンドを実行してください。

docker build -t trinity-rnaseq .

しばらく待っていると、ビルドが終わってターミナルが入力画面になります。実際に Trinity が使えることを確かめるために、以下のコマンドを実行してください。

docker run -it --rm \
-v "$(pwd)":/data \
trinity-rnaseq \
Trinity

ビルドがうまくいっていれば、Trinity のヘルプが表示され、Trinity が使用可能になっていることがわかります。今回は Docker のインストールが目的なので Trinity の実行はしません。実際の解析手法などについては、他の記事で紹介します。以上です。


補足: ビルドでエラーが出た場合について。

Docker は OS に依存せずにさまざまなツールを使用できるようになりますが、ビルドに使用する Dockerfile は、OS に依存して書き方が変わる場合があります。
上記のファイルは M4 Mac 用に書いたものなので、他の OS を使っているとエラーが出る場合があります。
エラーが出た場合は、ChatGPT に Dockerfile, コマンド, エラーの内容を入力すると、原因や対策などを教えてくれます。
どうしても解決できない場合は、こちらにある私のメールアドレスにご連絡ください。できる限り協力します。