pitagora-network.github.io

今まで、Tool Shed にそれぞれのツールの wrapper と package を登録することで Galaxy API を使ってインストールしていました。今後、Docker を使う場合には、wrapper は Docker 版に修正して今まで通りに Tool Shed に登録しますが、 package は登録せずに代わりに Docker コンテナを作成することになります。このため、Galaxy ツールをコンテナ化するためには次の二つの作業が必要です。

  1. ツール本体を含む Docker コンテナの作成
  2. 既存 Galaxy ツールの Docker 版の作成

ツール本体を含む Docker コンテナの作成手順

準備するもの

手順

やってみよう

簡単な例として cmatrix を例にして説明します

create git repository

cd ~/repos
mkdir cmatrix
git init
echo “# Dockerfile for cmatrix” > README.md
git add README.md
git commit -m ‘initial commit'

github.com で “+New Repository” しておく

git remote add origin <github repository url>
git push origin master

create Dockerfile

以下のような具合で Dockerfile を作成する

# Docker container for cmatrix, mainly for introduction of docker
#
# VERSION 0.1

# Pull base image.
FROM ubuntu

# maintainer info
MAINTAINER Tazro Inutano Ohta, inutano@gmail.com

# Install packages.
RUN apt-get update && \
    apt-get install -y cmatrix && \
    rm -rf /var/lib/apt/lists/*

# Define default command.
CMD ["cmatrix"]

以下解説

push repository to github

Dockerfileを記述したら git push origin master などで Dockerfile を github に push する

git add Dockerfile
git commit -m 'create dockerfile'
git push origin master

create automated build

hub.docker.com にアクセスしてログイン、ナビゲーションバーの Create メニューから Create Automated Build を選択し、 github を選択。Dockerfile をアップしたレポジトリを選択して、Docker image にアクセスするための namespace を設定する。Dockerfileがレポジトリのサブディレクトリに入っている場合は Dockerfile の場所を指定すること。”When Active, new pushes will trigger automatic builds” にチェックを入れておいて Create するとできあがり。まもなく build が始まって完了すると docker image をpull できるようになる。

testing

docker run -it /: などやってみる。たとえば

docker run -it inutano/cmatrix

のようにバージョンとコマンドを指定しないで実行することもできる。この場合、バージョンは自動的に latest が、コマンドはDockerfile内の CMD で指定された cmatrix コマンドになる。-i はインタラクティブモード、-t は tty の割当。コンテナをバックグラウンドで動かす場合以外はこれらを指定しないと実行結果が表示されない。Dockerの実行の仕方については docker –help などで参照されたし。

Dockerfile作成にあたってのメモ

既存 Galaxy ツールの Docker 版の作成手順

Docker 版の Wrapper XML を作成し、登録して動作確認、その後、Tool Shed に登録します。

Wrapper XML の作成

Tool Shed からインストールした現行の tophat2 をベースに Docker 用 tophat2 を作成するため、新しいディレクトリに全てのファイルをコピーする。

$ mkdir ~/galaxy-dist/tools/tophat2_docker/ $ cp -r shed_tools/toolshed.g2.bx.psu.edu/repos/devteam/tophat2/81f97e12e573/tophat2/* ~/galaxy-dist/tools/tophat2_docker/

tool_dependencies.xml は使わないのでもう要らない、やったね!(shed_upload.tar.gz も Tool Shed にアップしたときのゴミのようなので削除)

$ rm tool_dependencies.xml

tophat2_wrapper.xml の タグだけを変更すればよい。

$ vi ~/galaxy-dist/tools/tophat2_docker/tophat2_wrapper.xml

<tool id="tophat2_docker" name="Tophat Docker" version="0.7">
...
    <requirements>
        <container type="docker">nasuno/tophat2:2.0.9</container>
        <!--
        <requirement type="package" version="0.1.18">samtools</requirement>
        <requirement type="package" version="2.1.0">bowtie2</requirement>
        <requirement type="package" version="2.0.9">tophat2</requirement>
        -->
    </requirements>

ツールの登録

tool_conf.xml にツールを追加する。この記載は Tool Shed に登録後は必要なくなる。

 $ vi ~/galaxy-dist/config/tool_conf.xml

  <section id="docker" name="Docker Tools">
    <tool file="tophat2_docker/tophat2_wrapper.xml" />
  </section>

job_conf.xml にも tool id の明記が必要? 要確認

 $ vi ~/galaxy-dist/config/job_conf.xml

    <tools>
        <tool id="tophat2_docker" destination="docker_local" />
    </tools>

動作確認

再起動

$ sudo service galaxy restart

Galaxy UI から実行して、正常に結果が得られることを確認

Tool Shed への登録

Galaxy サーバー側で設定しておくべきこと

この設定は Pitagora-Galaxy の 0.3.x で反映される予定です。

ロケールのエラー対処(これは Mac からログインしたときの問題、あとでちゃんと対処する)

Last login: Wed Sep 30 14:34:21 2015 from 192.168.56.1 -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory $ export LC_CTYPE=

ここを参考に Docker をインストール(http://qiita.com/zwirky/items/991f61a231f4e198a320)

$ sudo rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6 $ 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

Docker 自動起動設定

$ sudo service docker start $ sudo chkconfig docker on

job_conf.xml を作成して起動できることを確認

$ cd ~/galaxy-dist/config $ cp job_conf.xml.sample_basic job_conf.xml $ sudo service galaxy restart $ tail -f ~/galaxy-dist/paster.log

job_conf.xml に Docker の設定を追加

$ vi ~/galaxy-dist/confnig/job_conf.xml
    <destinations default="docker_local">
        <destination id="local" runner="local"/>
        <destination id="docker_local" runner="local">
            <param id="docker_enabled">true</param>
        </destination>
    </destinations>

$ cd ~/galaxy-dist/config $ cp tool_conf.xml.sample tool_conf.xml $ sudo service galaxy restart $ tail -f ~/galaxy-dist/paster.log

tool_conf.xml にツール追加

 $ vi ~/galaxy-dist/config/tool_conf.xml
  <section id="aurora" name="Aurora Job Tools">
    <tool file="aurora/tophat2_wrapper.xml" />
    <tool file="aurora/cufflinks_wrapper.xml" />
    <tool file="aurora/cuffdiff_wrapper.xml" />
    <tool file="aurora/cuffmerge_wrapper.xml" />
  </section>

Galaxy 再起動

$ sudo service galaxy restart

tty なしで sudo ができるように /etc/sudoers から requiretty をコメントアウトする

$ sudo visudo #Defaults    requiretty

関連ドキュメント

Galaxy Wiki から辿れるドキュメントは 2014 年のものが多い

Dev メーリングリスト には新しい記事も少しある

過去ログ

Pitagora VM でコンテナ実行 〜 失敗(2015-09-25 山中)

まずは、RNA-seq 01 をコンテナ実行できるようにする。ここでは、ひとまず、Tool Shed は用いないでインストールする。

Docker のインストール

ロケールのエラー対処(これは Mac からログインしたときの問題、あとでちゃんと対処する)

Last login: Wed Sep 30 14:34:21 2015 from 192.168.56.1 -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory $ export LC_CTYPE=

ここを参考に Docker をインストール(http://qiita.com/zwirky/items/991f61a231f4e198a320)

$ sudo rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6 $ 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

Docker 自動起動設定

$ sudo service docker start $ sudo chkconfig docker on

Galaxy ツールのインストール

ここからは 那須野さんの資料 を参考にする

galaxy.ini は変更なし

job_conf.xml を作成して起動できることを確認

$ cd ~/galaxy-dist/config $ cp job_conf.xml.sample_basic job_conf.xml $ sudo service galaxy restart $ tail -f ~/galaxy-dist/paster.log

job_conf.xml に Docker の設定を追加

$ vi ~/galaxy-dist/confnig/job_conf.xml
    <destinations default="docker_local">
        <destination id="local" runner="local"/>
        <destination id="docker_local" runner="local">
            <param id="docker_enabled">true</param>
        </destination>
    </destinations>
    <tools>
        <tool id="tophat2_docker" destination="docker_local" />
    </tools>

$ cd ~/galaxy-dist/config $ cp tool_conf.xml.sample tool_conf.xml $ sudo service galaxy restart $ tail -f ~/galaxy-dist/paster.log

tool_conf.xml にツール追加

 $ vi ~/galaxy-dist/config/tool_conf.xml
  <section id="aurora" name="Aurora Job Tools">
    <tool file="aurora/tophat2_wrapper.xml" />
    <tool file="aurora/cufflinks_wrapper.xml" />
    <tool file="aurora/cuffdiff_wrapper.xml" />
    <tool file="aurora/cuffmerge_wrapper.xml" />
  </section>

注)上記で空の tool_conf.xml を作成して新しいツールのみを記載すると、ファイルのアップロードができなくなる(Get Data > Upload Files などのツールがなくなるからだろうか?)

galaxy-dist/tools/ にツール群(aurora/ ディレクトリ)を置く

Galaxy 再起動

$ sudo service galaxy restart

Galaxy ツールの実行

試しに、Tophat2 を実行してみる(まだ、リファレンスはダウンロードしていないのでエラーになるはずだが、その前にコンテナがダウンロードされる様子が見られるはず?)

galaxy.jobs.handler DEBUG 2015-10-02 16:43:24,294 (19) Dispatching to local runner
192.168.56.1 - - [02/Oct/2015:16:43:24 +0900] "GET /api/histories/e85a3be143d5905b/contents HTTP/1.1" 200 - "http://192.168.56.10:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36"
galaxy.jobs DEBUG 2015-10-02 16:43:24,797 (19) Persisting job destination (destination id: docker_local)
galaxy.jobs.handler INFO 2015-10-02 16:43:24,849 (19) Job dispatched
galaxy.jobs.runners DEBUG 2015-10-02 16:43:25,899 (19) command is: sudo docker inspect nasuno/tophat2:2.0.9 > /dev/null 2>&1
[ $? -ne 0 ] && sudo docker pull nasuno/tophat2:2.0.9 > /dev/null 2>&1

sudo docker run -e "GALAXY_SLOTS=$GALAXY_SLOTS" -v /home/galaxy/galaxy-dist:/home/galaxy/galaxy-dist:ro -v /home/galaxy/galaxy-dist/tools/aurora:/home/galaxy/galaxy-dist/tools/aurora:ro -v /home/galaxy/galaxy-dist/database/job_working_directory/000/19:/home/galaxy/galaxy-dist/database/job_working_directory/000/19:rw -v /home/galaxy/galaxy-dist/database/files:/home/galaxy/galaxy-dist/database/files:rw -w /home/galaxy/galaxy-dist/database/job_working_directory/000/19 --net none --rm -u 500 nasuno/tophat2:2.0.9 /home/galaxy/galaxy-dist/database/job_working_directory/000/19/container.sh; return_code=$?; if [ -f /home/galaxy/galaxy-dist/database/job_working_directory/000/19/tophat_out/align_summary.txt ] ; then cp /home/galaxy/galaxy-dist/database/job_working_directory/000/19/tophat_out/align_summary.txt /home/galaxy/galaxy-dist/database/files/000/dataset_38.dat ; fi; if [ -f /home/galaxy/galaxy-dist/database/job_working_directory/000/19/tophat_out/insertions.bed ] ; then cp /home/galaxy/galaxy-dist/database/job_working_directory/000/19/tophat_out/insertions.bed /home/galaxy/galaxy-dist/database/files/000/dataset_39.dat ; fi; if [ -f /home/galaxy/galaxy-dist/database/job_working_directory/000/19/tophat_out/deletions.bed ] ; then cp /home/galaxy/galaxy-dist/database/job_working_directory/000/19/tophat_out/deletions.bed /home/galaxy/galaxy-dist/database/files/000/dataset_40.dat ; fi; if [ -f /home/galaxy/galaxy-dist/database/job_working_directory/000/19/tophat_out/junctions.bed ] ; then cp /home/galaxy/galaxy-dist/database/job_working_directory/000/19/tophat_out/junctions.bed /home/galaxy/galaxy-dist/database/files/000/dataset_41.dat ; fi; if [ -f /home/galaxy/galaxy-dist/database/job_working_directory/000/19/tophat_out/accepted_hits.bam ] ; then cp /home/galaxy/galaxy-dist/database/job_working_directory/000/19/tophat_out/accepted_hits.bam /home/galaxy/galaxy-dist/database/files/000/dataset_42.dat ; fi; cd /home/galaxy/galaxy-dist; /home/galaxy/galaxy-dist/set_metadata.sh ./database/files /home/galaxy/galaxy-dist/database/job_working_directory/000/19 . /home/galaxy/galaxy-dist/config/galaxy.ini /home/galaxy/galaxy-dist/database/tmp/tmplmMNkR /home/galaxy/galaxy-dist/database/job_working_directory/000/19/galaxy.json /home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_in_HistoryDatasetAssociation_38_YtvRvd,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_kwds_HistoryDatasetAssociation_38_nJJIcR,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_out_HistoryDatasetAssociation_38_8gkr7W,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_results_HistoryDatasetAssociation_38_Vk75zx,,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_override_HistoryDatasetAssociation_38_cWzzbx /home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_in_HistoryDatasetAssociation_39_ThzdCK,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_kwds_HistoryDatasetAssociation_39_tTdYLd,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_out_HistoryDatasetAssociation_39_sOkIfj,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_results_HistoryDatasetAssociation_39_EA6Czb,,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_override_HistoryDatasetAssociation_39_LA2dWu /home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_in_HistoryDatasetAssociation_40_wKAlxQ,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_kwds_HistoryDatasetAssociation_40_YhN86X,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_out_HistoryDatasetAssociation_40_LCyXX4,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_results_HistoryDatasetAssociation_40_BO9Thy,,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_override_HistoryDatasetAssociation_40_KFfImW /home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_in_HistoryDatasetAssociation_41_YKkt0h,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_kwds_HistoryDatasetAssociation_41_YZDs3d,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_out_HistoryDatasetAssociation_41_oDTWLy,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_results_HistoryDatasetAssociation_41_x5YiCp,,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_override_HistoryDatasetAssociation_41_QeIKVN /home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_in_HistoryDatasetAssociation_42_319oJf,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_kwds_HistoryDatasetAssociation_42_MxUOfS,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_out_HistoryDatasetAssociation_42_NwAOj4,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_results_HistoryDatasetAssociation_42__5nYBh,,/home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_override_HistoryDatasetAssociation_42_n74S5F; sh -c "exit $return_code"
galaxy.jobs.runners.local DEBUG 2015-10-02 16:43:25,901 (19) executing job script: /home/galaxy/galaxy-dist/database/job_working_directory/000/19/galaxy_19.sh
galaxy.jobs DEBUG 2015-10-02 16:43:26,045 (19) Persisting job destination (destination id: docker_local)
192.168.56.1 - - [02/Oct/2015:16:43:28 +0900] "GET /api/histories/e85a3be143d5905b/contents HTTP/1.1" 200 - "http://192.168.56.10:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36"
galaxy.jobs.runners.local DEBUG 2015-10-02 16:43:30,335 execution finished: /home/galaxy/galaxy-dist/database/job_working_directory/000/19/galaxy_19.sh
galaxy.jobs.output_checker INFO 2015-10-02 16:43:30,403 Job 19: Log: tool progress
galaxy.jobs.output_checker INFO 2015-10-02 16:43:30,417 Job 19: Log: tool progress
galaxy.jobs DEBUG 2015-10-02 16:43:30,897 job 19 ended
galaxy.datatypes.metadata DEBUG 2015-10-02 16:43:30,897 Cleaning up external metadata files
galaxy.datatypes.metadata DEBUG 2015-10-02 16:43:30,971 Cleaning up abandoned MetadataTempFile file: /home/galaxy/galaxy-dist/database/job_working_directory/000/19/metadata_temp_file_OBVT1e

sudo docker run となっているけど、コンテナはダウンロードされていない。一方で、従来の tophat2 は実行できたことから、job_conf.xml の destinations default が考慮されていない気もする。

Pitagora VM でコンテナ実行 〜 再チャレンジ(2015-10-13 山中)

戴いた Aurora 用のツールを使っていたので、切り分けができない。そこで、Docker 用 Galaxy ツールを作るところから試す。

Docker 用 Galaxy ツールの作成

Tool Shed からインストールした現行の tophat2 から Docker 用 tophat2 を作成する。

$ mkdir ~/galaxy-dist/tools/tophat2_docker/ $ cp -r shed_tools/toolshed.g2.bx.psu.edu/repos/devteam/tophat2/81f97e12e573/tophat2/ ~/galaxy-dist/tools/tophat2_docker/

tophat2_wrapper.xml の以下の部分だけ変更すればいいはず

$ vi ~/galaxy-dist/tools/tophat2_docker/tophat2_wrapper.xml

<tool id="tophat2_docker" name="Tophat Docker" version="0.7">
...
    <requirements>
        <container type="docker">nasuno/tophat2:2.0.9</container>
        <!--
        <requirement type="package" version="0.1.18">samtools</requirement>
        <requirement type="package" version="2.1.0">bowtie2</requirement>
        <requirement type="package" version="2.0.9">tophat2</requirement>
        -->
    </requirements>

もろもろ設定して実行

 $ vi ~/galaxy-dist/config/tool_conf.xml

  <section id="docker" name="Docker Tools">
    <tool file="tophat2_docker/tophat2_wrapper.xml" />
  </section>

そして、今回は job.conf に tool id も明記する。

    <destinations default="docker_local">
        <destination id="local" runner="local"/>
        <destination id="docker_local" runner="local">
            <param id="docker_enabled">true</param>
        </destination>
    </destinations>
    <tools>
        <tool id="tophat2_docker" destination="docker_local" />
    </tools>

再起動

$ sudo service galaxy restart

UI から実行 〜 前回同様、正常実行されず

galaxy.jobs DEBUG 2015-10-02 18:01:51,051 (32) Persisting job destination (destination id: docker_local)
galaxy.jobs.handler INFO 2015-10-02 18:01:51,090 (32) Job dispatched
galaxy.jobs.runners DEBUG 2015-10-02 18:01:51,746 (32) command is: sudo docker inspect nasuno/tophat2:2.0.9 > /dev/null 2>&1
[ $? -ne 0 ] && sudo docker pull nasuno/tophat2:2.0.9 > /dev/null 2>&1

sudo docker run -e "GALAXY_SLOTS=$GALAXY_SLOTS" -v /home/galaxy/galaxy-dist:/home/galaxy/galaxy-dist:ro -v /home/galaxy/galaxy-dist/tools/tophat2_docker:/home/galaxy/galaxy-dist/tools/tophat2_docker:ro -v /home/galaxy/galaxy-dist/database/job_working_directory/000/32:/home/galaxy/galaxy-dist/database/job_working_directory/000/32:rw -v /home/galaxy/galaxy-dist/database/files:/home/galaxy/galaxy-dist/database/files:rw -w /home/galaxy/galaxy-dist/database/job_working_directory/000/32 --net none --rm -u 500 nasuno/tophat2:2.0.9 /home/galaxy/galaxy-dist/database/job_working_directory/000/32/container.sh; return_code=$?; if [ -f /home/galaxy/galaxy-dist/database/job_working_directory/000/32/tophat_out/align_summary.txt ] ; then cp /home/galaxy/galaxy-dist/database/job_working_directory/000/32/tophat_out/align_summary.txt /home/galaxy/galaxy-dist/database/files/000/dataset_99.dat ; fi; if [ -f /home/galaxy/galaxy-dist/database/job_working_directory/000/32/tophat_out/insertions.bed ] ; then cp /home/galaxy/galaxy-dist/database/job_working_directory/000/32/tophat_out/insertions.bed /home/galaxy/galaxy-dist/database/files/000/dataset_100.dat ; fi; if [ -f /home/galaxy/galaxy-dist/database/job_working_directory/000/32/tophat_out/deletions.bed ] ; then cp /home/galaxy/galaxy-dist/database/job_working_directory/000/32/tophat_out/deletions.bed /home/galaxy/galaxy-dist/database/files/000/dataset_101.dat ; fi; if [ -f /home/galaxy/galaxy-dist/database/job_working_directory/000/32/tophat_out/junctions.bed ] ; then cp /home/galaxy/galaxy-dist/database/job_working_directory/000/32/tophat_out/junctions.bed /home/galaxy/galaxy-dist/database/files/000/dataset_102.dat ; fi; if [ -f /home/galaxy/galaxy-dist/database/job_working_directory/000/32/tophat_out/accepted_hits.bam ] ; then cp /home/galaxy/galaxy-dist/database/job_working_directory/000/32/tophat_out/accepted_hits.bam /home/galaxy/galaxy-dist/database/files/000/dataset_103.dat ; fi; cd /home/galaxy/galaxy-dist; /home/galaxy/galaxy-dist/set_metadata.sh ./database/files /home/galaxy/galaxy-dist/database/job_working_directory/000/32 . /home/galaxy/galaxy-dist/config/galaxy.ini /home/galaxy/galaxy-dist/database/tmp/tmpvunv2d /home/galaxy/galaxy-dist/database/job_working_directory/000/32/galaxy.json /home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_in_HistoryDatasetAssociation_99_maUvQ4,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_kwds_HistoryDatasetAssociation_99_ILJ6TU,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_out_HistoryDatasetAssociation_99_PIEhAD,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_results_HistoryDatasetAssociation_99_dIzREA,,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_override_HistoryDatasetAssociation_99_aaC9xe /home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_in_HistoryDatasetAssociation_100_yanMn6,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_kwds_HistoryDatasetAssociation_100_O7F4Zk,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_out_HistoryDatasetAssociation_100_rDEKrb,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_results_HistoryDatasetAssociation_100_8I9YYV,,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_override_HistoryDatasetAssociation_100_FXBkyA /home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_in_HistoryDatasetAssociation_101_dp_kwZ,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_kwds_HistoryDatasetAssociation_101_BJogM9,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_out_HistoryDatasetAssociation_101_NoqTk0,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_results_HistoryDatasetAssociation_101_3_Rj1j,,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_override_HistoryDatasetAssociation_101_HAvyr0 /home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_in_HistoryDatasetAssociation_102_v8QWr0,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_kwds_HistoryDatasetAssociation_102_zLIIFT,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_out_HistoryDatasetAssociation_102_sQ9PEO,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_results_HistoryDatasetAssociation_102_lNaQ58,,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_override_HistoryDatasetAssociation_102_H39XE_ /home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_in_HistoryDatasetAssociation_103_T2nF6O,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_kwds_HistoryDatasetAssociation_103_Fimw3u,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_out_HistoryDatasetAssociation_103_6KDNN6,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_results_HistoryDatasetAssociation_103_FY8r_6,,/home/galaxy/galaxy-dist/database/job_working_directory/000/32/metadata_override_HistoryDatasetAssociation_103_78EPuc; sh -c "exit $return_code"
galaxy.jobs.runners.local DEBUG 2015-10-02 18:01:51,747 (32) executing job script: /home/galaxy/galaxy-dist/database/job_working_directory/000/32/galaxy_32.sh
galaxy.jobs DEBUG 2015-10-02 18:01:51,832 (32) Persisting job destination (destination id: docker_local)

Docker の動作確認

docker pull はできている

$ sudo docker pull nasuno/tophat2:2.0.9 $ sudo docker images REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE nasuno/tophat2      2.0.9               13f0339af9c0        9 weeks ago         879.3 MB

Galaxy のバージョン

その後、Galaxyを最新にアップしてみたが、それでも状況変わらず

Pitagora VM でコンテナ実行 〜 解決(2015-10-22 山中)

実行されているように見えて実行されていないのはなぜか、遂に解決

実行されたスクリプトを見てみる

galaxy.ini で cleanup_job = never を指定すれば、実行されたスクリプトが ~/galaxy-dist/database/job_working_directory に残る。このスクリプトを手動で実行してみると、正常に実行される。

/etc/sudoers 設定変更

tty なしで sudo ができるように /etc/sudoers から requiretty をコメントアウトする

$ sudo visudo #Defaults    requiretty

これで Galaxy の UI から実行できることが確認できた。

Docker を実行するのに sudo を使用していない場合には、job_conf.xml に false</param> を設定する。参考