Docker をインストールして使えるようにする
当サイトでは、バイオインフォマティクスの解析方法を、初心者向けにわかりやすく解説していきます。最初に、Docker のインストール方法、および基礎的な使用方法を解説します。Docker を利用することで、バイオインフォマティクスの解析に必要な、他のツールの導入がかなり簡単になります。
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, コマンド, エラーの内容を入力すると、原因や対策などを教えてくれます。
どうしても解決できない場合は、こちらにある私のメールアドレスにご連絡ください。できる限り協力します。