細菌叢解析ツールの共有〜Dockerコンテナで幸せになる方法①〜


はじめに

ひょんなことからpitagora-galaxyのみなさまとIIBMP2018でスライド発表してきました。
では、そちらをご紹介させていただきます。
※大会のスライドをちょっと変更しました。



NCBIなどの公共データからダウンロードしたデータ。vsearchを利用して解析します。



・解析ツールを構築するためには様々なソフト、パッケージが必要なんです。大変!



・出来た!動いた! 共同研究者よ、君にもどうぞ!
・・・あれ動かない。。。



Docker様の登場です。



・Dockerのいいところを並べてみました。



・dockerイメージの説明です。いろんなイメージをダウンロードできるのです。おなじみのUbuntuPythonなどの公式イメージもありますよ。



・自分でも作れます!Dockerfileを作成し、ビルドするとDockerイメージになります。


たとえばこんな感じに書きます。

※簡単に省略してます。

→完全版はこちら:petadimensionlab/docker_16s_vsearchのDockerfile


ex._dockerfile
#利用するUbuntuのイメージ
FROM ubuntu:16.04

# ワークディレクトリを設定
WORKDIR /

# いろいろインストール
RUN apt-get update -y && \
    apt-get update --fix-missing && \
    apt-get install -y wget bzip2 ca-certificates curl git tar nano zlib1g-dev && \

# minicondaインストール
RUN wget --quiet https://repo.anaconda.com/miniconda/Miniconda3-4.5.4-Linux-x86_64.sh -O ~/miniconda.sh && \
    /bin/bash ~/miniconda.sh -b -p /opt/conda && \
    rm ~/miniconda.sh && \
    /opt/conda/bin/conda clean -tipsy && \
    ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh && \
    echo ". /opt/conda/etc/profile.d/conda.sh" >> ~/.bashrc && \
    echo "conda activate base" >> ~/.bashrc

# ファイル、フォルダをコピー
ADD vsearch_ubuntu /vsearch_ubuntu  #自作したPythonスクリプトフォルダ
ADD ./ref.tar.bz2 /  #リファレンス類(自動で解凍してくれます)

# condaでいろいろインストール
RUN conda config --add channels defaults && \
    conda config --add channels conda-forge && \
    conda config --add channels r && \
    conda config --add channels bioconda && \
    conda install -y conda-forge::openjdk fastqc=0.11.7 trimmomatic==0.36=5 vsearch==2.7 mothur=1.39.5 #動作確認済みのバージョンを指定



・DockerfleはDockerhubにアップロードします。
・共同研究者や使用したい人がDockerイメージをダウンロードして各々で使用してもらえます!


アップロード(build)方法は・・・・??

command
# dockerfileのあるディレクトへ移動
$ cd dockerfile/ 
# buildコマンド
$ docker build -t vsearh:1.0 .
(  docker build -t イメージ名:タグ名 .  )


・はい、みんな幸せ!!


細菌叢解析ツールの共有〜Dockerコンテナで幸せになる方法②〜に続きます!


参考URL

効率的に安全な Dockerfile を作るには

大会スライドのフルバージョン(pitagora-galaxy公式Twitter)

細菌叢解析ツールの共有〜Dockerコンテナ〜
※本記事ですが、こちらをちょこっと変えただけだったりして・・・

・過去の記事リンク
RstudioCloudの使い方
Docker for Mac 勉強メモ〜インストール〜
Docker for Mac 勉強メモ〜コマンド集〜
超新人プログラマー(見習)がまず手にした本と参考にしたWEBサイト〜Docker編〜