いろいろ倉庫

KNIME、EXCEL、R、Pythonなどの備忘録

【ubuntu】解析環境のsifを作るdefファイルを作りたい

・お題:遺伝子発現を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で弾かれたら、必要に応じて、ファイルに実行権限を付与すると良いかも。

 

 

おわり