解析ツールの共有〜Dockerコンテナで幸せになる方法《2019》

#はじめに
ひょんなことから今年も[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)のみなさまと[IIBMP2019](https://iibmp2019.tokyo/)でスライド発表してきました。
では、そちらをご紹介させていただきます。
※大会のスライドをちょっと変更しました。

---
![おおおかやま_ページ_04.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/5245a579-a37d-10a7-b096-ff5477e79045.jpeg)
・解析ツールを作成する際、自前のPCへ様々なパッケージとソフトをインストールしないといけません。
※今回はRNAseqという解析を例にしております。

---
![おおおかやま_ページ_05.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/3490b742-a9f7-a7a6-cc78-ea8d902bf0be.jpeg)
・動作確認してうまくいったら完成！

---
![おおおかやま_ページ_06.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/0c4c149f-d25f-1e0c-8b06-7b94e8d51d4b.jpeg)
・使いやすい〜！

---
![おおおかやま_ページ_07.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/87b271ac-aa58-98b9-ee2b-2fab7e6bed39.jpeg)
・（じぶんだけ）

---
![おおおかやま_ページ_09.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/cb826959-2586-7b49-0739-8cc942e2b826.jpeg)
・共有したい時にいろいろ面倒・・・

---
![おおおかやま_ページ_10.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/ebb2464c-2419-4a49-0b01-279df8d09747.jpeg)
・[Docker様](https://www.docker.com/)の登場です。

---
![おおおかやま_ページ_12.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/c7b0ec76-7ead-ab18-ad6f-b335058133f0.jpeg)
・Dockerのいいところを並べてみました。

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

---

・・・・・・・・・
（あれ、これって去年と一緒じゃね？）

---
![おおおかやま_ページ_16.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/0167fdaa-4caf-d351-79f9-a8eb3445e5ba.jpeg)
・今年は簡単な操作方法とデモ動画をご紹介①
去年との差別化や！！！

---
![おおおかやま_ページ_17.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/108aab91-29e2-be02-6b1c-003b764d6dad.jpeg)
・今年は簡単な操作方法とデモ動画をご紹介②

---
![おおおかやま_ページ_18.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/d91d3cee-c089-9629-50b7-cdc1a3d743c1.jpeg)
・必要なイメージが存在してたらラッキー！！（だいたいあります。）

---
![おおおかやま_ページ_19.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/5dfdae81-d4a6-ab0f-c2e2-670d195229e5.jpeg)
・理想を追い求めたい時もあります。

---
![おおおかやま_ページ_20.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/d2bf5cb1-299d-0982-d63c-77fda8eedc1d.jpeg)
・自分でも作れます！Dockerfileを作成し、ビルドするとDockerイメージになります。

---

###たとえばこんな感じに書きます。
###IGV用のbatchスクリプトを作成するDockerイメージです。
参考URL：
[筆者のひとりごと・IGV①](https://hackmd.io/W8jDO1W6ScCl5ICins5VBQ)
[筆者のひとりごと・IGV②](https://hackmd.io/YmIxXo29TJKdpug6W35VdQ)
[筆者のひとりごと・IGV③](https://hackmd.io/s2bTIqzgTS-7Mj7-ZFKXKg)
[筆者のひとりごと・IGV④](https://hackmd.io/AJsaY999R1yH3Z5rHhs91A)
[筆者のひとりごと・IGV⑤](https://hackmd.io/jZ8kVKRZQI-2wnIjU4V7NQ)
※いつかQiitaに載せたい。
→ほんまもんはこちら：[petadimensionlab/docker_16s_vsearchのDockerfile](https://hub.docker.com/r/petadimensionlab/docker_igv_batch/dockerfile)

---

```dockerfile:dockerfile
FROM alpine:3.10
MAINTAINER petadimensionlab

ENV SAMTOOLS_VERSION 1.9

RUN apk --update add --no-cache build-base zlib-dev bzip2-dev xz-dev ncurses-dev ca-certificates wget; \
wget -q https://github.com/samtools/samtools/releases/download/${SAMTOOLS_VERSION}/samtools-${SAMTOOLS_VERSION}.tar.bz2; \
tar xjvf samtools-${SAMTOOLS_VERSION}.tar.bz2; \
cd /samtools-${SAMTOOLS_VERSION}/ && make; \
mv /samtools-${SAMTOOLS_VERSION}/samtools /bin/; \
rm -rf /samtools*; \
apk del build-base zlib-dev ca-certificates wget

RUN apk --update add --no-cache \
    python3 \
    python3-dev \
    nano \
    curl \
&& pip3 install --upgrade pip 

COPY igv_samtools_docker.py /tmp
COPY igv_batch_docker.py /tmp

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

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

---
![おおおかやま_ページ_22.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/73e40280-72c9-168a-caab-393f931ab046.jpeg)
・DockerHubとは。

---
![おおおかやま_ページ_25.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/53eea443-e0ef-9e79-c6b9-d5de97c3a92d.jpeg)
・DockerfleはDockerhubにアップロードします。
・共同研究者や使用したい人がDockerイメージをダウンロードして各々で使用してもらえます！

---
![おおおかやま_ページ_26.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/16446d20-0980-c946-5565-6e028c090dbd.jpeg)
・はい、2019年もみんな幸せ！！

---

気になる点・問題点については2018年を振り返ってみましょう！

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

---
![おおおかやま_ページ_30.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/59d786b7-aea0-1543-bea7-91221dda6826.jpeg)
・Dockerむずいよ〜
・もっとお手軽に環境構築・共有したいよ〜

---
![おおおかやま_ページ_31.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/16ceef27-5c94-8cdf-202f-d0e4a55d68c8.jpeg)
・みんな大好き？グーグル先生から提供されております。

---
![おおおかやま_ページ_32.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/5acd637e-3df5-8b86-7ee9-08c1ea8a3142.jpeg)
・おてがる。

---
![おおおかやま_ページ_34.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/168b0ba4-b1d0-e511-70aa-c938404299e7.jpeg)
・ちょうおてがる。

---
![おおおかやま_ページ_33.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/aa68b3c8-4f2d-271c-2702-3ecbd50fc7c6.jpeg)
・Rstudiocloudはだいぶ重たいけど。。。けっこう軽かったですよ。

---
![おおおかやま_ページ_35.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/ef788869-9e12-3be8-e30e-9a32f651d526.jpeg)
・もっと気になになるかたはグーグル先生に聞いてみよう！

---
おわり。




とみせかけて、おまけのおまけ。


---
![おおおかやま_ページ_37.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/241094/2381289c-b0f8-d4bc-50e6-1ac245483e34.jpeg)
Galaxy Advent Calendar 12月11日・12日にDocker-composeをご紹介！！
Dockerをもっと手軽に使えるツールをご紹介。（※作成する側は・・・うん、まあ。。。）

---
おわり。

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

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

・過去の記事リンク
[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)
[細菌叢解析ツールの共有〜Dockerコンテナで幸せになる方法①〜](https://qiita.com/petadimensionlab/items/a51b4e42b2b886160b9b)
[細菌叢解析ツールの共有〜Dockerコンテナで幸せになる方法②〜](https://qiita.com/petadimensionlab/items/7fd05a617d8fdcc30082)