Docker上のnlmixrを使ってpopulation pharmacokinetics解析
2022.11.3追記
最近リリースされた nlmixr2 を使用すれば、Pythonをインストールすることなくpopulation pharmacokinetics解析を行うことができます。
Nonlinear Mixed Effects Models in Population PK/PD • nlmixr2
オープンソースの母集団薬物動態解析ソフトウェアであるnlmixr (https://ascpt.onlinelibrary.wiley.com/doi/full/10.1002/psp4.12445)を少し使ってみたのですが、Rとpythonを連携する必要があったりと立ち上げに少し手間取ったので、Dockerを使った環境設定について備忘録を残しておきます。
基本的には GitHub - yoshidk6/nlmixr.docker: docker for nlmixr に書いてある通りです。
目次
事前準備その1
まずはDockerのインストールが必要です。 Windowsの場合ここも結構面倒ですが、pythonとRの設定を色々いじるよりは楽かと思います。 特に手元にあるWindows環境がHome版だけだったので、Docker自体のインストールにも大分手間取りました。
以下のページを参考にし、まずはWSL2を導入します。 Windows 10 Home で WSL 2 + Docker を使う - Qiita
途中で確か
0x80070003
か0x80370102
のエラーがでて進めなくなったので、下を参考にBIOSの設定をいじったら無事WSL2を入れることができました。 Install WSL | Microsoft Learn
事前準備その2
ローカル環境内の作業用フォルダを用意します。
以下の例では C:\Users\USERID\Documents\test_nlmixr
とします。
USERID
は自分のユーザー名で置き換えて下さい。
Docker imageを動かす
Docker Hub上にアップロードされているDockerイメージ (https://hub.docker.com/r/yoshidk6/nlmixr) を、以下のコマンドで起動します。
docker run -v C:/Users/USERID/Documents/test_nlmixr:/home/rstudio/docs -d -p 8787:8787 -e PASSWORD=nlmixr yoshidk6/nlmixr
ここでは-v
オプションを使って、ローカル上のtest_nlmixr
フォルダにDocker上からアクセス出来るように設定しています。
再び、USERID
は自分のユーザー名で置き換えて下さい。
下の様に、特にエラーなしで進めば成功しているはずです。
RStudio Serverに接続し、nlmixrを実行
localhost:8787
にブラウザから接続し、上で設定したパスワードを使ってログインします。
RStudioが無事起動したら、examplesフォルダ内にある example.R を開いて、コマンドを上から順に実行してみてください。29行目ではsaemによる推定結果が表示されるはずです。
また、44行目以降を実行すると、shinyMixR
が起動し、GUI上でモデルファイルの操作などが出来ます。
Dockerの終了
本来はコマンドを使って操作すべきところですが、僕は怠惰なのでGUIに頼ってしまいます。
右下のメニュー内にあるクジラのアイコンを右クリックし、Dashboardを選ぶと、
こんな感じで起動したコンテナを停止もしくは削除することが出来ます。