・お題:遺伝子発現をR studio serverで構築するsifを作成するのが面倒なので、sifを構するdefファイルを作りたい。
・私は素人なので、間違っていても生暖かく見守ってほしい。
・apptainerでは、sifファイルから環境を立ち上げる。sifファイルはdocker imageから落としてきてsifにすれば良い。。。のだけれど、ベースファイルは最低限のパッケージが入っているだけなので、自分好みにカスタマイズして使うことになる。
・自分のローカル環境にRパッケージを入れていくのでも良いし、sifをsandboxにして弄ってからsifにするのでも良い。
・defファイルはsifを作成するプロセスをずらっと記載してあるファイルで、これを実行するとdockerイメージをカスタマイズしたイメージを作れる。
・例えば、rocker/verseをベースイメージとして、少し解析用パッケージを加えた解析環境を構築したい場合、以下みたいな感じで作成し、test.defと名前をつけて保存する。
Bootstrap: docker
From: rocker/verse
%post
# 環境を構築するために実行するコマンドを記載する。
apt-get update && apt-get install -y libglpk-dev
R -e "install.packages('BiocManager')"
R -e "BiocManager::install('DESeq2')"
%labels
Author choron
Version v1.0
Description "解析用のイメージ"
%runscript
exec /init
・次に、defファイルがあるディレクトリでターミナルを開き、singularity(apptainer)でsifファイルをdefファイルからbuildする。
singularity build --fakeroot XXXX.sif test.def
・あとは、できたsifファイルを起動して、ブラウザ上でlocalhost:8787またはIPアドレス:8787にアクセスする。適当な実行ファイルを作っておいてterminalから起動するのが楽と思う。
#! /bin/bash
PASSWORD='xxxx' singularity exec \
--bind /etc/passwd:/etc/passwd,/etc/group:/etc/group,run:/run,var-lib-rstudio-server:/var/lib/rstudio-server,database.conf:/etc/rstudio/database.conf \
XXXX.sif \
/usr/lib/rstudio-server/bin/rserver --auth-none=0 --auth-pam-helper-path=pam-helper --server-user=choron --www-port=8787
・permissionで弾かれたら、必要に応じて、ファイルに実行権限を付与すると良いかも。
おわり