BioDockerthon day4
- Docker
国内版Biohackathon(BH14.14)4日目。昨日までのhmmerとは打って変わってより実際的なNGS解析のそれをということで、RNAseqにおけるspliced read mapperとしてデファクト・スタンダードのtophatを実行するそれに挑戦。 tophatのパッケージがdebianにはないらしいということで、ubuntuベースに。昨日まで作っていたhmmsearch用のDockerfileと同様に実行部分はシェルスクリプトに分けて実装。DockerhubのAutomated Buildを利用しているため、ファイル自体はgithubにあるが、再掲。Dockerfileはこんな感じ。
#Docker container for tophat
FROM ubuntu
MAINTAINER Hidemasa Bono, bonohu@gmail.com
# copy run script
ADD tophat.sh /usr/local/bin/run.sh
# Install packages
RUN apt-get update &&
apt-get install -y tophat &&
apt-get install -y samtools &&
apt-get install -y wget &&
apt-get install -y zip &&
apt-get install -y bzip2 &&
rm -rf /var/lib/apt/lists/*
ENTRYPOINT ["/usr/local/bin/run.sh"]
依存関係があるからsamtoolsは自動的に入るのかとおもいきや、入らず。明示的にインストールするように。このようなトライ・アンド・エラーを繰り返すのが現状必要なのだろう。この中から呼び出しているtophat.shは以下の通り。 [shell]
!/bin/sh
get reference genome
wget -O db.zip ftp://ftp.ccb.jhu.edu/pub/data/bowtie2_indexes/$1.zip unzip db.zip rm db.zip
get run files
wget -O seq.fastq.bz2 $2 bzip2 -cd seq.fastq.bz2 > seq.fastq rm seq.fastq.bz2
run tophat with parameters
tophat $1 seq.fastq [/shell] これでquery(FASTQ)のファイルサイズが小さい場合、問題なく動くはずだが、現状の設定ではメモリが足りない模様で以下のようなエラーが出る。
Out of memory allocating the ebwt[] array for the Bowtie index. Please try again on a computer with more memory.
また、最近のHiseqによるNGSデータではファイルサイズが大きく、結果としてデータ量が大きすぎるため、現状
bzip2: No space left on device
となってうまく動かない。そこでファイルシステムの容量を大きくする方策を調べているところ。
なおtophatを実行するDockerfileは、Dockerhubにありそうでなかった模様。