1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

オフライン環境下でのバイオインフォマティクス環境構築

Last updated at Posted at 2021-12-09

目的

オフライン環境下でバイオインフォマティクス解析を行うときの備忘録。
今回はR環境とその環境で動くPackageをインストールしたので、その時の状況で記す。

必要なもの

  • インターネットにつながるPC(開放環境)
    • Dockerインストール済み
    • Mac (10.15.7)
  • 閉鎖環境
    • singularityインストール済み
    • Linux系マシン

方法

1. 開放環境(Mac)でdocker image作成

1-1. RStudio Serverを起動

# Base imageとなるrocker/tidyverseをpull
docker pull rocker/tidyverse:latest

# とりあえず立ち上げる
docker run --rm -p 8787:8787 -v (MacのマウントしたいDir):/home/rstudio/var rocker/tidyverse

1-2. 起動したRStudio Serverにアクセス

localhost:8787からRStudio Serverにアクセスする。
Username, Passwordはいずれも「rstudio」でOK
(追記)The password is set to "xxxxxxxxx"とターミナルに表示されるので、Passwordは表示されたものを使う

1-3. 必要なパッケージをインストール

1-4. 別のターミナルからdocker imageをcommit

# idを確認
docker ps

# commit
docker commit docker_id hogehoge:latest

1-5. USBにdocker imageを出力

docker save hogehoge -o USB/path/hogehoge.tar

2. 閉鎖環境で.sif作成

2-1. USB経由で閉鎖環境にhogehoge.tarを入れる

2-2. singularityで.sifを作成

# ~/docker_images/hogehoge.tarを基に、~/singularity/hogehoge.sifを作成
singularity build singularity/hogehoge.sif docker-archive:docker_images/hogehoge.tar

3. singularityで実行

# 共有ディレクトリ(/Data)をマウントした状態で実行する
singularity shell --bind /Data:Data singularity/hogehoge.sif

その他

  • 誰かに環境を渡すときは、2で作成したhogehoge.sifをそのまま渡せばOK
  • RStudio Serverは閉鎖環境では動かなかった(おそらくジョブシステムとか、Port制限が原因)
  • Rと使いたかったPackagesは使えたのでOK(CUIでの作業になるからちょっと使いにくいけど)
  • sifファイルへの変換をMacでそのままやろうとしたが、うまくいかなかった。Macでbuildするには、Remote builderを使ったり、VirtualBoxとVagrantをインストールしたりする必要があるらしい(リンク)ので、閉鎖環境でbuildした。Macではなく、dockerとsingularityいれたLinuxマシンで構築すれば、docker → singularity → 閉鎖環境へとできるはず(docker挟む意味もあんまりないかも...)
  • docker commitのときに、ENTYPOINTが変更されて少し躓いた。rocker/tidyverseではENTYPOINTが/initになっていたが、これがbashに変更されてしまっていたようだった。docker run --rm -p 8787:8787 hogehoge /initした状態で再度commitすることで解決した。もっとスマートな方法が多分あると思う(が解決したのでOK)
  • ちなみにdockerのENTYPOINTは、docker inspect rocker/tidyverse --format='{{.Config.Cmd}}'で確認した。
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?