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

#はじめに
ひょんなことから[pitagora-galaxy](http://wiki.pitagora-galaxy.org/wiki/index.php/Events#Meetup_.E3.81.AE.E9.81.8E.E3.81.94.E3.81.97.E6.96.B9.E3.82.AC.E3.82.A4.E3.83.89)のみなさまとIIBMP2018でスライド発表してきました。
では、そちらをご紹介させていただきます。
※大会のスライドをちょっと変更しました。

---
![つるおか_ページ_05.jpg](https://qiita-image-store.s3.amazonaws.com/0/241094/ffebe478-325a-42da-ac8c-7f437aea1c9a.jpeg)
・[NCBI](https://www.ncbi.nlm.nih.gov/)などの公共データからダウンロードしたデータ。[vsearch](https://www.ncbi.nlm.nih.gov/pmc/articles/PMC5075697/)を利用して解析します。

---
![つるおか_ページ_07.jpg](https://qiita-image-store.s3.amazonaws.com/0/241094/9721795c-87a2-4a35-bc1b-86edec75f317.jpeg)
・解析ツールを構築するためには様々なソフト、パッケージが必要なんです。大変！

---
![つるおか_ページ_09.jpg](https://qiita-image-store.s3.amazonaws.com/0/241094/9d9e0a13-98b4-c384-9dce-9ef4b6394401.jpeg)
・出来た！動いた！　共同研究者よ、君にもどうぞ！
・・・あれ動かない。。。

---
![つるおか_ページ_10.jpg](https://qiita-image-store.s3.amazonaws.com/0/241094/d75a03b7-13a9-dd65-0b97-6c1aac7bb945.jpeg)
・[Docker様](https://www.docker.com/)の登場です。

---
![つるおか_ページ_12.jpg](https://qiita-image-store.s3.amazonaws.com/0/241094/9582b300-6069-67b7-3fe6-6f0663915760.jpeg)
・Dockerのいいところを並べてみました。

---
![つるおか_ページ_15.jpg](https://qiita-image-store.s3.amazonaws.com/0/241094/c6e5c5c6-7cd4-2347-8450-b0ef202b247d.jpeg)
・dockerイメージの説明です。いろんなイメージをダウンロードできるのです。おなじみの[Ubuntu](https://hub.docker.com/_/ubuntu/)や[Python](https://hub.docker.com/_/python/)などの公式イメージもありますよ。

---
![つるおか_ページ_18.jpg](https://qiita-image-store.s3.amazonaws.com/0/241094/7532f90f-5417-b7ec-6f82-a3d9f472f93f.jpeg)
・自分でも作れます！Dockerfileを作成し、ビルドするとDockerイメージになります。

---
###たとえばこんな感じに書きます。
###※簡単に省略してます。
→完全版はこちら：[petadimensionlab/docker_16s_vsearchのDockerfile](https://hub.docker.com/r/petadimensionlab/docker_16s_vsearch/~/dockerfile/)

---

```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　#動作確認済みのバージョンを指定

```

---
![つるおか_ページ_21.jpg](https://qiita-image-store.s3.amazonaws.com/0/241094/4319359c-849a-9777-1c5c-11c38ae377be.jpeg)
・DockerfleはDockerhubにアップロードします。
・共同研究者や使用したい人がDockerイメージをダウンロードして各々で使用してもらえます！

---
###アップロード（build）方法は・・・・？？

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


---
![つるおか_ページ_22.jpg](https://qiita-image-store.s3.amazonaws.com/0/241094/228bbbf3-7d74-3987-d2ab-d594bebbb8dd.jpeg)
・はい、みんな幸せ！！

---

[細菌叢解析ツールの共有〜Dockerコンテナで幸せになる方法②〜](https://qiita.com/petadimensionlab/items/7fd05a617d8fdcc30082)に続きます！

---
##参考URL
[効率的に安全な Dockerfile を作るには](https://qiita.com/pottava/items/452bf80e334bc1fee69a)

[大会スライドのフルバージョン（pitagora-galaxy公式Twitter）](
https://twitter.com/pitagora_meetup/status/1042608132344565762)

[細菌叢解析ツールの共有〜Dockerコンテナ〜](https://qiita.com/petadimensionlab/items/6393f07ef85f8b7a3743)
※本記事ですが、こちらをちょこっと変えただけだったりして・・・

・過去の記事リンク
[RstudioCloudの使い方](https://qiita.com/petadimensionlab/items/ea164445e455d2c52b66)
[Docker for Mac 勉強メモ〜インストール〜](https://qiita.com/petadimensionlab/items/76bb169723e57bdc0133)
[Docker for Mac 勉強メモ〜コマンド集〜](https://qiita.com/petadimensionlab/items/328c546b06fd073fe409)
[超新人プログラマー(見習)がまず手にした本と参考にしたWEBサイト〜Docker編〜](https://qiita.com/petadimensionlab/items/4963adf9fb882c05fc5e)