A set of docker containers and scripts for pharmacometrics workflows that work on local and cloud solutions
This repository houses files for 4 different container builds based on your needs:
image | description | size |
---|---|---|
nonmem | NONMEM installed on Ubuntu | |
psn | Adds Perl-speaks-NONMEM to above | |
piranajs | Adds PiranaJS to above | |
rocker | Rocker full rstudio (rocker/verse) with NONMEM and PSN |
The Dockerfiles in various folders in this repo are modifications of Pharmacometrics-Docker project created by Bill Denny of HumanPredictions.
The main goals of this project are:
- Improve the setup of the current docker images for pharmacometrics
- Add new software in the containers, such as Phoenix, Monolix, SimCyp, GastroPlus, PdXPop etc.
- Provide two deployment solutions:
- as local installs on Windows/Mac/Linux Servers
- as cloud based solutions
- In both instances above, develop an easy to use web interface that will allow users to select software required, computing power required, in the case of cloud solutions an easy way to setup systems etc.
- Add provisions for data volumes
- Clone this repo e.g.
git clone https://github.com/osmosisfoundation/pmx-docker.git
- If using nonmem, copy your license file to
./license
- nonmem:
./license/nonmem.lic
- psn: (requires nonmem license above)
- piranajs:
./license/piranajs.lic
- nonmem:
- Place any working data you want to use with these tools in
./data
and it'll be shared (via bind mount) with app in its container - Install the latest Docker for your OS from store.docker.com. (your built-in package manager likely doesn't have latest, so always use install steps from store.docker.com)
- Windows 10 Pro/Enterprise: "Docker for Windows"
- Windows 7/8/10 Home: "Docker Toolbox"
- macOS Yosemite (10.10) or above: "Docker for Mac"
- macOS 10.9 and older: "Docker Toolbox"
- Linux: Find your distribution specific steps at store.docker.com
- These tools are meant to use
docker-compose
command line tool by default, which makes them much easier to use. - Verify
docker
anddocker-compose
work by tryingdocker version
anddocker-compose version
. Latest (July 2017) is 17.06 and 1.14 - From the root of this project (pmx-docker) you can run nonmem:
docker-compose run nonmem <nonmem options>
- assuming data files are in the
./data
directory, you might usedocker-compose run nonmem controlfile output.res
- You can run PsN the same way:
docker-compose run psn <psn options>
- To launch a rocker or piranajs server, use the
up
command:docker-compose up rocker
ordocker-compose up piranajs
- To run them in background add
-d
after theup
- Default rocker install will be accessible at
http://localhost:8787
- Default piranajs install will be accessible at
http://localhost:8000
- If using Docker Toolbox, replace
localhost
with192.168.99.100
- If you want to build your own images rather then use our prebuilt ones, you can use the alternate compose file like so:
docker-compose -f docker-compose-build.yml run nonmem <options>
and it will build theDockerfile
in the nonmem directory. - Would you like to override settings in
docker-compose.yml
without changing files in this repo (makes it easier to update withgit pull
), then create a copy asdocker-compose.override.yml
and delete everything except what you want to change (e.g. volume bind mount location), that file name is ignored by this git repo, and will automatically be used when runningdocker-compose
. More information at the Docker Docs.