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自体のインストールにも大分手間取りました。

事前準備その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を選ぶと、

こんな感じで起動したコンテナを停止もしくは削除することが出来ます。