8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CentOS6 on Google Compute EngineにDockerを入れ、Genome解析ツールをセットアップする

Last updated at Posted at 2014-08-10

CentOS6 on Google Compute EngineにDockerを入れ、Genome解析ツールをセットアップする

Genome解析ツールをGCE上で動かせる環境を構築します。
(次のツールをDockerコンテナ上にChefでインストールします)

  • bwa
  • samtools
  • bowtie
  • bowtie2
  • VICUNA

1. GCEインスタンスに永続ディスクを追加します。

ncbi toolsのbuildに大きな領域(42GBくらい)が必要になるので、
500GBの永続ディスクを追加します。

1.1.コンソールの[COMPUTE ENGINE]-[ディスク]-[New disk]で追加します。

例:disk-1

アタッチするインスタンスと同じゾーンに作成する必要があります。

1.2.インスタンスにアタッチします。

インスタンス作成時に詳細設定を表示をクリックし、ディスクを追加で作成したdisk-1を選択します。

1.3.インスタンスにログインします。

1.4.mountしたい場所を作成します。

sudo mkdir /data

1.5.フォーマットかつマウントします。

デフォルトでは/dev/disk/by-id/google-xxxxに作成されています。

sudo /usr/share/google/safe_format_and_mount -m "mkfs.ext4 -F" /dev/disk/by-id/google-disk-1 /data

フォーマットせずマウントのみであれば次を実行します。

sudo /usr/share/google/safe_format_and_mount /dev/disk/by-id/google-disk-1 /data

1.6.mountされたことを確認します。

sudo df -h

Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.9G 1.1G 8.3G 12% /
tmpfs 3.5G 0 3.5G 0% /dev/shm
/dev/sdb 493G 198M 467G 1% /data

2. GCE側に/data/tmpを作成します。

Dockerのワーク領域として作成します。

sudo mkdir /data/tmp

3. CentOS6 on GCEにDockerをインストールします。

sudo yum -y install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
sudo yum -y install docker-io
sudo service docker start
sudo chkconfig docker on

4. Docker用のtmpディレクトリを/data/tmpに設定します

Dockerコンテナが大きくなるので、追加した永続ディスクに変更しないと
Error: write /tmp/docker-build199553949/xxx: no space left on device
といったエラーが発生します。

/etc/sysconfig/dockerに1行追加します。

/etc/sysconfig/docker
export TMPDIR=/data/tmp

dockerを再起動します。

sudo service docker restart

5. コンテナ用の自前のDockerfileと初期化用ファイルを取得します。

(Ubuntu 14.04にruby+chefをインストールするお試し設定)

cd /data/
sudo yum install curl
sudo curl -o Dockerfile https://raw.githubusercontent.com/t-oginogin/dockerfiles/master/ubuntu/Dockerfile_chef

6. Dockerfileをビルドします。

sudo docker build -t t.oginogin/chef .

7. Dockerコンテナを起動します。

Dockerコンテナ側にも追加した永続ディスクをマウントします。
/data/ngsを作成してコンテナ側の/ngsにマウントします。

sudo mkdir /data/ngs
sudo docker run -it --name chef -v /data/ngs:/ngs t.oginogin/chef /bin/bash

8. rootでbashが起動するので、ユーザーubuntuでシェルを起動します。

su - ubuntu

9. ChefでGenome解析ツールをインストールします。

9.1. VICUNAをインストールする場合は、まずvicuna.zipをダウンロードし、GCE側のにアップロードしておきます。

注:作業はローカルマシンで行います。

vicuna.zipは次のサイトからダウンロードします。
ダウンロードにはユーザー登録が必要です。

ダウンロードしたvicuna.zipをGGE側にアップロードするには次のコマンドを実行します。
(TYPE-GOOGLE-COMPUTE-ENGINE-PUBLIC-IP-HEREはターゲットのIPアドレスに置き換えてください)

scp -o UserKnownHostsFile=/dev/null -o CheckHostIP=no -o StrictHostKeyChecking=no -i $HOME/.ssh/google_compute_engine vicuna.zip $USER@TYPE-GOOGLE-COMPUTE-ENGINE-PUBLIC-IP-HERE:/home/$USER

recipeでは/ngs/tmp/vicuna.zipに配置されていることを想定しているので、
移動しておきます。

sudo mkdir /data/ngs/tmp
sudo mv ~/vicuna.zip /data/ngs/tmp/

9.2. recipeを取得します。

Dockerコンテナ上での作業に戻ります。

sudo git clone https://github.com/t-oginogin/ngs_recipes.git /ngs/ngs_recipes

9.3. localhost.json内のパラメータ(user,passwordなど)を適宜変更します。

9.4. solo.rb内のcookbook_pathを適宜変更します。

取得したrecipeではworkに/ngs/chef-soloを使うことにしているので作成しておきます。

sudo mkdir /ngs/chef-solo

9.5. recipeを実行します。

cd /ngs/ngs_recipes
sudo chef-solo -c solo.rb -j ./localhost.json

10. recipe実行が終わればツールインストールが終わったので、Ubuntuから抜けます。

exit
exit

11. Dockerイメージを保存します。

sudo docker commit chef t.oginogin/ngs

12. 保存したイメージからコンテナを起動します。

sudo docker run -it --name ngs  -v /data/ngs:/ngs t.oginogin/ngs /bin/bash

13. セットアップしたユーザーに切り替えます。

su - ubuntu

14. 各ツールが使えるようになっているか確認します。

bwa
bowtie
bowtie2
samtools
vicuna-omp-v1.0
8
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?