BioDockerthon day3

- Docker

国内版Biohackathon(BH14.14)3日目。今日もDockerチームにて。昨日作成したhmmsearchを実行するDockerfileの汎用化。引数としてprofile HMMと検索対象DBを指定できるように。最後の行でしか引数指定できないようなので、別にシェルスクリプト(hmmsearch.sh)を作成するやり方で。ファイル自体は例によってgithubにあるが、再掲。Dockerfileはこんな感じ。

#Docker container for hmmsearch
FROM debian
MAINTAINER Hidemasa Bono, bonohu@gmail.com
# copy run script
ADD hmmsearch.sh /usr/local/bin/run.sh
# Install packages
RUN apt-get update && 
    apt-get install -y hmmer &&
    apt-get install -y wget &&
    rm -rf /var/lib/apt/lists/*
ENTRYPOINT ["/usr/local/bin/run.sh"]

一番最後の行が苦労したところ。そして、準備したシェルスクリプト(hmmsearch.sh)の中身は以下のとおり。

[shell]

!/bin/sh

get hmm

wget -O hmm.hmm http://pfam.xfam.org/family/$1/hmm

get DB

wget -O db.fa.gz $2

run hmmsearch with parameters

hmmsearch hmm.hmm db.fa.gz [/shell]

注意点はこのファイルに実行権をつけておくということ。すなわち、

[shell] chmod +x hmmsearch [/shell]

しておけということ。

ただ、使うだけなら以下のようなコマンドで実行可能。

[shell] docker run -it bonohu/debian-hmmsearch2 PF00081 ftp://ftp.ensemblgenomes.org/pub/metazoa/release-25/fasta/bombyx_mori/pep/Bombyx_mori.GCA_000151625.1.25.pep.all.fa.gz [/shell]

docker runの最後にprofileHMMのPfamのIDと検索したい対象のアミノ酸配列のかたまり(multi-FASTA形式)のURL(gzip圧縮されていたものでok)を指定するだけ。

当初「これがやれたら」、と思っていたものができた感。次はNGS系をやっていきたい。


Written by bonohu in misc on 水 04 2月 2015.